суббота, 11 апреля 2009 г.

Триграммы русского языка

Что такое триграмма?
Триграммой я называю любую комбинацию из трёх букв или пробела. Идею триграмм я почерпнул у Джо Армстронга (книга Programming Erlang).

В чём состоит идея?
Задача: предсказать может ли произвольная комбинация букв являться английским словом. Для решения Джо предлагает взять полный список английских слов. Добавить в начало и в конец каждого слова символ пробела и собрать все реально существующие триграммы. Например, для слова love будут следующие триграммы " lo", "lov", "ove" и "ve ". В принципе, идея довольно очевидна, триграмма qqq не может существовать ни в одном английском слове. Для русского языка можно аналогично сказать, что триграмма ттт не может встретиться ни в одном русском слове.

Исходный материал
Для исследования выбраны тексты из электронной библиотеки Мошкова.
Л.Н.Толстой Анна Каренина
А. и Б. Стругацкие Страна багровых туч
А. и Б. Стругацкие Страна багровых туч (другая редакция)
А. и Б. Стругацкие Путь на Амальтею
А. и Б. Стругацкие Стажеры
А. и Б. Стругацкие Хищные вещи века
А. и Б. Стругацкие Шесть спичек
А. и Б. Стругацкие Забытый эксперимент

Толстой выбран из-за обилия материала, а также из-за наличия в тексте некоторого числа устаревших слов. Стругацкие же были выбраны как авторы писавшие на относительно современном русском языке, а также из-за моего пристрастия к фантастике.

Стоит также отметить особенность электронных текстов. В них огромное количество ошибок. Большая часть этих ошибок - ошибки распознавания текста. В некоторых случаях на эти ошибки можно не обращать внимания. Однако стоит иметь их в виду.

Статистические данные по текстам
Зависимость количества триграмм от числа слов
книгавсего словуникальных словколичество триграмм
books/0270110328306835
books/177341189606452
books/270566180456378
books/31933758524752
books/458204133256052
books/548237127585969
books/6518023293286
books/7596725123478


Зависимость количества триграмм от количества слов

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

Комментариев нет: