Я хотел использовать spacy для сегментации предложений для немецкой википедии, но проблема в том, что она очень медленная.Википедия после некоторой очистки составляет около 55,00 файлов, каждый файл около 1 Мб.Потребовалось около 24 часов, чтобы обработать половину из них и записать сегментированный текст в новые файлы, и предложения также не сегментированы должным образом
nlp = spacy.load('de_core_news_sm')
for file in files:
file_path = join(rootdir, path, file)
new_file_name = join(output_dir, file + ".txt")
with open(file_path, 'r+', encoding='utf-8') as f:
with open(new_file_name, 'w', encoding='utf-8') as new_file:
content = f.readlines()
doc = ""
for i in range(len(content)):
doc = doc + content[i]
doc = nlp(doc)
sentences = list(doc.sents)
for i in range(len(sentences)):
new_file.write(sentences[i].string.strip() + '\n')
new_file.write('\n')
doc = ""
Есть проблемы с самой сегментацией, например: этот вводпараграф:
"Мария И. (Англия)
Мария И. Тюдор (), ау" Мария ди Католиш "или" Мария ди Блутиг "(* 18. Февраль 1516 в Гринвиче; †17. Ноябрь 1558 г. Дворец Святого Джеймса), война с 1553 г. по 1558 г. Кенигин фон Англии и Ирландии и Ирландия и Тюрьма. Война в Кохниге Генрихе VIII.vom englischen Klerus für nichtig erklären ließ und Anne Boleyn heiratete, wurde Maria dauerhaft von ihrer Mutter getrennt, zum königlichen Bastard erklärt und von der Thronfolge ausgeschlossen. "
* 101 *. (Англия) Мария I. Тудор
(), ау "Maria die Katholische" или "Maria
d"т.е. Blutige
"(*
февраль 1516 г. в Гринвиче;
† 17. ноябрь 1558 г. (Дворец святого Иакова), война с 1553 г. по 1558 г. Кенигин из Англии и Ирландии и Монастырь де Тузор.
Война за смерть Кохнига Генриха
VIII.und seiner ersten Фрау Катарина фон Арагон.
Als ihr Vater die Ehe vom englischen Klerus für nichtig erklären ließ und Anne Boleyn heiratete, wurde Maria dauerhaft von ihrer, Mutter getrennt, zum körgen et al.
Обратите внимание, что в выводе я пишу каждое предложение в новой строке