Pull to refresh

Comments 15

А чем вас не устроили Байес и вариации на тему fuzzy matching?
fuzzy matching, даже с расстоянием 1, очень затратная операция, а процент ошибок в тегах намного ниже, чем в обычном тексте.
Никак. Мы потеряем этот хештег. Тут уже надо определить что важнее: поймать ошибку в одном слове из тысячи или не потерять производительность.
>Теперь частота биграма in put в нашей модели нулевая.

Это вам потом будет доставлять проблемы (в частности, будет отсеивать очень хорошие разбиения слов, где встречаются не виденные ранее комбинации слов из-за умножения на ноль). Лучше, чтобы была маленькая вероятность, а не нулевая. Для этого надо делать сглаживание модели текста.
Я не вдавался в детали сглаживания, конечно же там add-one smoothing
OK, но фраза «теперь частота нулевая» немного смущает.
Поподробней и на русском это была бы, наверное, отдельная статья.
Такая задача предлагалась в книге Питера Норвига «Искусственный интеллект: современный подход».

Write a program to do segmentation of words without spaces. Given a string, such
as the URL «thelongcstlistofthelongeststuffatthelongestdornainnameatlonglast.corn,» return a
list of component words: [«the,» «longest,» «list,» ...]. This task is useful for parsing URLs,
for spelling correction when words =together, and for languages such as Chinese that do
not have spaces between words. It can be solved with a unigram or bigram word model and
a dynamic programming algorithm similar to the Viterbi algorithm.


Пример решения этой задачи на Python можно посмотреть здесь. См. классы UnigramTextModel, NgramTextModel и функцию viterbi_segment.
Я же могу понять что dwarfstealorcore это скорей всего «дварф крадет руду орков»

«dwarf steals orcs' ore» тогда. Или задача стоит с ошибками тоже справляться?
Нет, это я так чтоб идею показать.
Пускай будет «дварф красть орк руда»
Sign up to leave a comment.

Articles