История изменений
Исправление KivApple, (текущая версия) :
Нет смысла считать все возможные разбиения.
Ты себе представь, что ты взял «войну и мир» и вырвал оттуда одну случайную страницу и рассматриваешь её. Глубокий художественный замысел автора, быть может, и пройдёт мимо тебя, но даже на одной изолированной странице (минус два предложения оставшиеся без начала и без конца) есть вся необходимая информация для всего низкоуровневого - разбиения на слова, определения частей речи, грамматического разбора предложений и т д.
Так что надо брать окно на сколько то десятков символов и идти им. Строить все возможные разбиения в окне, выбирать самое вероятное (учитывать, что последнее слово, возможно, обрезано и надо его не учитывать) и брать оттуда первое слово. Затем сдвигать окно на конец этого слова и повторять алгоритм.
Потому что ну не будет такого, что у тебя простыня текста «Война и мир» и одна буква на последней странице меняет разбиение слов на первой. В текстах на естественном языке высокая локальность всех низкоуровневых эффектов, потому что иначе их было бы невозможно читать. В поле зрения попадает лишь несколько строк в каждый момент времени.
Исходная версия KivApple, :
Нет смысла считать все возможные разбиения.
Ты себе представь, что ты взял «войну и мир» и вырвал оттуда одну случайную страницу и рассматриваешь её. Глубокий художественный замысел автора, быть может, и пройдёт мимо тебя, но даже на одной изолированной странице (минус два предложения оставшиеся без начала и без конца) есть вся необходимая информация для всего низкоуровневого - разбиения на слова, определения частей речи, грамматического разбора предложений и т д.
Так что надо брать окно на сколько то десятков символов и идти им. Строить все возможные разбиения в окне, выбирать самое вероятное (учитывать, что последнее слово, возможно, обрезано и надо его не учитывать) и брать оттуда первое слово. Затем сдвигать окно на конец этого слова и повторять алгоритм.
Потому что ну не будет такого, что у тебя простыня текста «Война и мир» и одна буква на последней странице меняет разбиение слов на первой. В текстах на естественном языке высокая локальность всех низкоуровневых эффектов.