Как разбрать текста на русском на предложения с сохранением всех знаков препинания?
Да, таких вопросов было уже много, но практически все они работали или плохо, или вообще не работали. Например: любой текст из первого тома войны и мира, текст будет написан без ошибок и в стандартном стиле. Но старые обработчики не справлялись с сокращениями наподобие "т.д.".
Был отличный вариант с NLTK, но он работает только на английском, а мне нужен только на русском.
Посоветуйте, чем можно воспользоваться?
Ответы (1 шт):
Автор решения: MaxU
→ Ссылка
https://github.com/Mottl/ru_punkt
Russian language support for NLTK's PunktSentenceTokenizer
ru_punktis a part ofnltk_datasince 2019-07-04
Пример:
import nltk
nltk.download('punkt')
text = """Л.Н. Толстой "Война и мир" и т.д. и т.п. и другие сокращения. Следующее предложение."""
sentences = nltk.sent_tokenize(text, language="russian")
результат:
In [27]: sentences
Out[27]:
['Л.Н. Толстой "Война и мир" и т.д. и т.п. и другие сокращения.',
'Следующее предложение.']