количество токенизированных предложений не соответствует количеству предложений в тексте

У меня есть некоторые проблемы с функцией nltk.sent_tokenize.

Мой текст (который я хочу токенизировать) состоит из 54116 предложений, разделенных точкой. Я удалил другие знаки препинания.
Я хочу маркировать свой текст на уровне предложения с помощью nltk.sent_tokenize.

Однако, если я применю tokenized_text = sent_tokenize(mytext), длина tokenized_text составит всего 51582 вместо 54116.

Любые идеи, почему это могло произойти?

С уважением


person Katharina Baur    schedule 04.08.2020    source источник


Ответы (1)


Обычно это происходит из-за того, что модель определения границ предложений не может правильно определить все границы предложений — обычно она ограничена своей точностью, которая составляет порядка 97–99 %. Тем не менее, поскольку вы утверждаете, что в корпусе есть предложения, строго разделенные точкой, вы можете просто разделить его на «.», при условии, что нет сокращений, таких как «проф.», «доктор», «старший» и т. д. Вы можете сослаться на https://www.aclweb.org/anthology/C12-2096.pdf для получения дополнительной информации.

person sks    schedule 06.08.2020