Автозамена орфографических ошибок при вводе текста - PullRequest
3 голосов
/ 05 сентября 2011

Я пишу процессор на естественном языке на C #, который извлекает мнение (положительное / отрицательное) предложения. Тем не менее, есть некоторая проблема в том, что я могу различить мнение о слове с ошибкой - если его нет в словаре, я не могу ни пометить его, ни оценить!

Я знаю, что должен быть способ справиться с этим. Google постоянно дает точные предложения, мне просто нужно взять верхнее предложение из аналогичного алгоритма и поразить его базой данных. Проблема в том, что я не уверен, с чего начать с имен алгоритмов и так далее. Мне нужна помощь, чтобы выяснить это.

Я проверил на сайте похожие вопросы и нашел некоторые концепции, которые казались полезными, но основной способ обработки расстояния между орфографической ошибкой и реальным словом в основном основывался на попадании в каждое слово в вашем наборе данных, что выглядит ужасно неэффективен. Некоторая помощь с идеями по ускорению работы алгоритма также будет высоко оценена; Предполагается, что этот механизм анализа сможет обрабатывать несколько тысяч элементов в день.

Заранее спасибо.

Ответы [ 3 ]

4 голосов
/ 05 сентября 2011

Эта проблема не такая глупая.Norvig написал статью об этом.Вообще говоря, сложность зависит от точности.Самый простой способ сделать это - использовать дерево префиксов или trie , чтобы избежать изучения всех возможностей.В основном у вас есть что-то вроде этого:

enter image description here

и следуя по пути, по которому вы в основном идете.Как только вы достигнете точки, в которой вы застряли, вы должны проверить, как двигаться дальше, исходя из типа вашей ошибки.

Вы можете прочитать статью Норвиг для более глубокого анализа.

0 голосов
/ 06 сентября 2011

Префиксные деревья, упомянутые @dierre, чрезвычайно полезны, если вы хотите эффективно рассчитать расстояние редактирования между орфографической ошибкой и большим набором словарных слов. Brill и Moore (2000) описывают подход, использующий префиксные деревья, используя тот же общий подход, что и Norvig и многие другие средства проверки орфографии. Их статья доступна здесь: http://www.ldc.upenn.edu/acl/P/P00/P00-1037.pdf

0 голосов
/ 06 сентября 2011

Подход, предложенный dierre, включая статью Питера Норвига, безусловно, заслуживает дальнейшего рассмотрения.

Однако, для быстрого и грязного решения: если возможно слово с ошибкой не найдено в вашем собственном словаре, вы можете попытаться найти сопоставление в этом списке общих орфографических ошибок

...