Я хочу решить проблему разделения слов (разбирать слова из длинной строки без пробелов).
Например, мы хотим извлечь слова из somelongword
в [some, long, word]
.
Мы можем добиться этого с помощью некоторого динамического подхода со словарем, но другая проблема, с которой мы сталкиваемся, — это разбор двусмысленности. т.е. orcore
=> или core
или orc ore
(Смысл словосочетания или часть речи не учитываются). Поэтому я думаю об использовании некоторого статистического подхода или подхода ML.
Я обнаружил, что для решения этой проблемы можно использовать наивный алгоритм Байеса и Витерби с набором поездов. Можете ли вы указать мне некоторую информацию о применении этих алгоритмов к проблеме разделения слов?
UPD: Я реализовал этот метод на Clojure, используя некоторые советы из кода Питера Норвига