Я помню, как давно просмотрел раздел сегментации предложений на сайте NLTK.
Я использую грубую текстовую замену «точки» «пробел» на «точку» «перенос строки вручную», чтобы добиться сегментации предложения, например, с заменой Microsoft Word (.
-> .^p
) или расширения Chrome:
https://github.com/AhmadHassanAwan/Sentence-Segmentation
https://chrome.google.com/webstore/detail/sentence-segmenter/jfbhkblbhhigbgdnijncccdndhbflcha
Это вместо метода NLP, такого как токенизатор Punkt в NLTK.
Я сегментирую, чтобы мне было легче находить и перечитывать предложения, что иногда помогает с пониманием прочитанного.
Как насчет устранения неоднозначности границ независимых предложений и сегментации независимых предложений? Есть ли какие-нибудь инструменты, которые пытаются это сделать?
Ниже приведен пример текста. Если в предложении можно выделить независимое предложение, это означает разделение. Начиная с конца предложения, он перемещается влево и жадно разделяется:
E.g.
Разрешение границ предложения (SBD), также известное как разрыв предложения, является проблемой при обработке естественного языка при определении того, где
предложения начинаются и заканчиваются.
Часто инструменты обработки естественного языка
требуют, чтобы их вклад был разделен на предложения по ряду причин.
Однако определить границы предложения сложно, потому что знаки препинания
оценки часто бывают неоднозначными.
Например, точка может
обозначают сокращение, десятичную точку, многоточие или адрес электронной почты, а не конец предложения.
Примерно 47% периодов в корпусе Wall Street Journal
обозначают сокращения. [1]
Также вопросительные и восклицательные знаки могут
появляются во встроенных цитатах, смайликах, компьютерном коде и сленге.
Другой подход - автоматическое
узнать набор правил из набора документов, где предложение
перерывы предварительно отмечены.
Языки, например японский и китайский.
иметь однозначные маркеры окончания предложения.
Стандартный "ванильный" подход к
найдите конец предложения:
(а) Если
это период,
он заканчивает предложение.
(б) Если предыдущее
токен находится в моем списке сокращений, составленном вручную, тогда
это не конец предложения.
(c) Если следующее
токен пишется с заглавной буквы, тогда
он заканчивает предложение.
Это
стратегия дает около 95% правильных предложений. [2]
Решения основаны на модели максимальной энтропии. [3]
Архитектура SATZ использует нейронную сеть для
устраняет неоднозначность границ предложения и достигает точности 98,5%.
(Я не уверен, правильно ли я разделил.)
Если нет возможности сегментировать независимые предложения, есть ли какие-либо условия поиска, которые я могу использовать для дальнейшего изучения этой темы?
Спасибо.