Исправление опечаток. Понимание подходов

Недавно, заинтересовавшись темой опечаток, искал материалы исследований по этой теме. Мне на глаза попался документ исследования по исправлению опечаток в географических названиях и по словарю http://rcdl2007.pereslavl.ru/papers/paper_25_v1.pdf и ряд зарубежных на ту же тему в основном использующие метод N-Gram для этих целей.

Подход любопытный, интересный для узкой области, но, в который раз меня не покидает ощущение или, если угодно, интуиция того что в исключительно статистических подходах нехватает анализа природы рассматриваемых объектов. Нехватает как с точки зрения смыслового определения первопричин явления (возникновения ошибок), так и в расширении информационной модели в последующем их анализе.

Первый вопрос который у меня возникает в этой области — отсутствие корпусов и первичных данных опечаток для анализа. 99% спеллчекеров работают по принципу потери данных после исправления ошибки или опечатки они нигде её не фиксируют хотя бы в форме того что на что было исправлено, а, в идеальном случае, ещё и по какому правилу это было сделано. Как ни странно, использование поисковых систем вроде Google является лучшим корпусом чем большие массивы текстов.

Ранее я уже публиковал свои размышления — Слова и буквы в контексте информационной модели и сейчас я всё больше убеждаюсь что именно подобная модель с охватом всех возможных правил отношений между буквами алфавита позволит создать основу для решения проблемы исправления ошибок в общем случае. Другой составной частью решения будет коллекция стат. таблиц, как общих, так и предметных сведенных к данной онтологической модели.

Некоторые размышления тезисами:

1. Характер и частота ошибок зачастую зависит от социо-лингвистических факторов. Возраст автора текста, пол и, даже место проживания, могут играть свою роль. Вопрос: какие дополнительные знания о авторе могут помочь?

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

3. Различные типы ошибок: замена букв, перестановка букв, пропуск букв и так далее, отличаются различными дополнительными характеристиками. В частности необходимо учитывать не только факт ошибки, но и её месторасположение, частоту для данного слова, для данных букв и другие критерии. Первичные данные плюс извлечение дополнительных знаний из исправленных слов может дать ответы на многие ещё незаданные вопросы.

4. В зависимости от подхода к исправлению опечаток алгоритмы могут быть разбиты на множество правил с различными областями охвата и производительностью. Формирование дерева решений (Decision Tree) на основе этих правил может позволить значительно повысить производительность уже существующих алгоритмов. Вопрос лишь в правилах извлечения критериев для построения этого дерева решений.

5. Использование гибридных алгоритмов. Сочетание статистического подхода, использование биграмм и словарных алгоритмов. Вопрос: обязательно ли тематическое

6. Вопрос: есть ли зависимость характера опечаток от тематической области?

7. Вопрос: какова зависимость числа и характера опечаток от длины слова?

В общем же случае тема очень плотно пересекается с моими предыдущими размышления по выявлению платных ссылок. Главное — это предварительное формирование информационной модели или модели связности и дальнейшая обработка накапливаемых статистических данных в соответствии с ней.

Финального решения у меня нет, равно как это пока только на уровне общих размышлений, но смысл в том что взаимосвязи рассматриваемых объектов имеют значение и немалое.

И ещё один важный фактор это переносимость подхода. Более чем активное и успешное использование WordNet в различных проектах анализа текста — это не только подтверждение его необходимости, это ещё и демонстрация того как однократно сформированная онтологическая модель может изменить сам подход к анализу связанных с ней явлений.

About This Author

Яндекс.Метрика