Главная arrow книги arrow Копия Глава 23. arrow Вероятностные языковые модели
Вероятностные языковые модели

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

В одной и предыдущих глав было показано, что для решения задачи поиска наиболее вероятной последовательности прохождения через решетку вариантов выбора слова может использоваться уравнение Витерби (15.9). А в листинге 23.1 приведен вариант алгоритма Витерби, специально предназначенный для решения задачи сегментации. Этот алгоритм принимает в качестве входных данных распределение вероятностей однословных сочетаний, Ρ {word), и некоторую строку. Затем для каждой позиции i в данной строке это алгоритм сохраняет в переменной best [ i ] значение вероятности наиболее вероятной строки, которая охватывает участок от начала до позиции i. Кроме того, в этом алгоритме в переменной words [i] сохраняется слово, оканчивающееся в позиции i, которое получило наибольшую вероятность. После того как по методу динамического программирования будут сформированы массивы best и words, в алгоритме осуществляется обратный поиск через массив words для определения наилучшего пути. В данном случае при использовании модели однословных сочетаний, соответствующей оригиналу этой книги, наиболее приемлемая последовательность слов действительно принимает вид "It is easy to read words without spaces" с вероятностью. Сравнивая отдельные части этого предложения, можно обнаружить, что слово "easy" имеет вероятность однословного сочетания, а альтернативный вариант его прочтения, "е as у", имеет намного более низкую вероятность,, несмотря на тот факт, что слова (точнее, имена переменных) "е" и "у" довольно часто встречаются в уравнениях данной книги. Аналогичным образом, другая часть этого предложения характеризуется следующими данными:

Р("without") = 0.0004

PC'with") = 0.005

P("out") = 0.0008

P('with out") = 0.005 x 0.0008 = 0.000004

Листинг 23.1. Алгоритм сегментации строки на отдельные слова с помощью уравнения Витерби. Этот алгоритм восстанавливает наиболее вероятную сегментацию строки на слова после получения строки с удаленными пробелами

Поэтому слово "without" имеет в 100 раз более высокую вероятность, чем сочетание слов "with out", согласно применяемой модели однословных сочетаний.

В данном разделе рассматривались модели η-элементных сочетаний, элементами которых являются слова, но широкое применение находят также модели η-элементных сочетаний, применяемые к другим элементам текста, таким как символы или части речи.