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