Большакова Е.И. и др. - Автоматическая обработка текстов на естественном языке и компьютерная лингвистика (1027379), страница 39
Текст из файла (страница 39)
При этом, например, для слова «оставшийся» после удаленияаффикса основы найдено не будет, а слово «делавшийся» будет успешно разобрано(если предположить, что ни того, ни другого нет в словаре). Заметим, что запускатьподобный алгоритм имеет смысл лишь после того, как выяснится, что пришедшееслово целиком отсутствует в словаре. Заметим также, что подобная операция можетбыть проведена средствами предсинтаксического анализа, в котором могут бытьпредусмотрены соответствующие средства.§ 2.4.Коррекция орфографических ошибокНебольшая модификация алгоритма морфологического анализа может помочьраспознавать слова, написанные с ошибками.
Для этого используется расстояниеЛевенштейна – минимальное количество ошибок, исправление которых приводитодно слово к другому. Считается, что существуют ошибки трех видов: ошибкавставки, ошибка замены и ошибка пропуска. Ошибка вставки – это случай, когда вслово вставлена лишняя буква; ошибка пропуска – когда буква была пропущена; иошибка замены – когда одна буква заменена другой. При поиске слова с ошибкой нампридется поочередно пытаться пропускать буквы то во входном слове (в случаеошибки вставки), то в дереве (в случае ошибки пропуска), или и там, и там (в случаеошибки замены). При этом если пропуск буквы во входной строке являетсядействием тривиальным, то пропуск вершины в дереве ведет к тому, что мы не знаем,122какого именно потомка данной вершины следует выбрать.
В связи с этим приходитсяосуществлять перебор всех потомков и отбирать все успешные варианты.Ошибка в ходе морфологического анализа может проявляться один из двухспособов. При анализе слова мы можем дойти до места, когда переход по текущейбукве будет отсутствовать. Ошибка может быть совершена в одной из предыдущихбукв, поэтому разбор слова следует начать сначала. Еще одним вариантомопределения ошибки в слове будет тот факт, что множество парадигм, привязанных кнайденным префиксам, не будет пересекаться с множеством парадигм, найденныхдля постфиксов.Кроме того, следует вводить ограничение на количество ошибок, которые мыпозволяем допустить. Как говорит поговорка: «Если в слове хлеб допустить всегочетыре ошибки, то получится слово пиво».
Если мы фиксируем число ошибок, то длякоротких слов оно может оказаться избыточным. Так, с одной ошибкой слово «быть»сводится к словам «быт», «мыть», «выть», «бить». С двумя ошибками мы ужеполучаем «плыть», «забыть», «ять», «зять» и множество других слов, уже гораздоменее похожих на оригинал. Аналогично в длинных словах нельзя применятьпроцентное соотношение, так как, например, 25% букв от слова «великолепнейший»дает нам 3 ошибки, которые позволяют свести данное слово ко всем егословоформам. В связи с этим верхнюю границу числа ошибок обычно ограничиваюткак процентным соотношением, так и фиксированным числом.
Например, не более30% букв входного слова, но не более 3. При этом все равно стараются найти слова сминимальным количеством ошибок. Т.е., если для слова «великолепнейший»(предположим, что именно этой словоформы у нас нет в словаре) мы найдем слово«великолепнейшая» (2 ошибки), то слово «великолепнейшего» (3 ошибки)рассматриваться уже не будет.Также могут вводиться специфические варианты ошибок. Так, при ручномнаборе текста вариантом ошибки замены является смена порядка следования двухбукв (транспозиция): «рпивет» вместо «привет». При распознавании текста могутрассматриваться специфичные замены: «ю» → «iо» и т.д.Компанией «Диктум» был предложен следующий вариант алгоритма коррекцииошибок при анализе текстов. В качестве основных берутся ошибки вставки, пропуска,замены и транспозиции.
Кроме того рассматриваются ошибки следующего вида.1. клавиатурная близость клавиш: «анеудот – анекдот»;2. ошибки в безударных гласных: «аностасия – анастасия»;3. фонетическая похожесть букв: «брюnetка – брюнетка»;4. парные буквы: «автограв – автограф»;5. вставка лишнего пробела: «сло во – слово»;6. отсутствие пробела или дефиса: «футбольныйклуб – футбольный клуб»;7. схожесть написания цифр и букв (ч-4, о-0, з-3): «4естно – честно»;8. идентичное написание букв в разных раскладках: «XP0M0C0MA – хромосома»;9. буквы и символы в разных раскладках: «<лизнец – близнец»;10. ошибки после шипящих и ц: «жолтый – желтый»;11. перепутывание и смещение рук при слепой печати: «инвнжае – телефон»;12.
перевод транслитерации на русское написание: «kartinki – картинки»;13. исправление неправильной раскладки клавиатуры как для целого, так и для частислова: «jlyjrkfccybrb – одноклассники».123Для указанных ошибок расстояние Левенштейна берется из интервала [0;1], таккак их вероятность выше замен другими буквами. Для хранения весов расстоянияЛевенштейна используются квадратные матрицы, определенные для всего алфавита.Формально задача ставится следующим образом.
Пусть дан алфавит A, наданном алфавите определен словарь языка L⊂A+. Тогда для слова w ∈ A+ требуетсянайти множество слов {w’}, таких, что dist(w, w’) ≤ σ и F(w’) = max(v), где v ∈ L иdist(w, v) ≤ σ. При вычислении функции dist используются значения из матриц. Еслизанчение не найдено, вес ошибки принимается равным единице.Однако для устранения части ошибок требуется учесть лексический контекст.Так, например, одной из широко распространенных ошибок является вставка мягкогознака в глаголы в третьем лице (в этом случае получается нормальная форма глагола):«нравиться» vs «нравится».
Подобное слово содержится в словаре, но написано сошибкой, которая не позволяет провести синтаксический анализ. Кроме того,коррекция ошибок в слове может дать несколько вариантов написания. Дляустранения подобных ситуаций следует учитывать контекст слова. Например, «белыйгрип» – «белый гриб», но «птичий грип» – «птичий грипп», или «очень нравитьсятелефон» при правильном «очень нравится телефон».Для исправления подобных ошибок могут использоваться синтаксическийанализ с коррекцией или метод n-грамм. При ошибке, изменяющей форму слова, в ихбазе n-грамм не будет обнаружено соответствующего сочетания.
При этом придетсяпредложить варианты замены для всех слов в n-грамме. Так, например, фраза «оченьнравиться телефон» может быть истолкована и как «очень нравиться телефону».Однако в полной фразе «Мне очень нравиться телефон» последний вариантпредставляется маловероятным и будет отсеян. Отсев будет проведен либо на этапеустранения омонимии, либо на синтаксическом анализе, так как фраза не содержитсубъекта.124Глава 3.§ 3.1.Постморфологический и предсинтаксический анализАвтоматизированное снятие омонимииВ некоторых задачах оказывается возможным автоматическое обучение побольшому корпусу текстов. Т.е. имеется возможность собрать статистическуюинформацию, которая потом будет использоваться для вероятностного определенияхарактеристик текстов.
К подобным подходам относится метод n-грамм. Суть методасостоит в следующем. На большом размеченном корпусе текстов со снятойомонимией подсчитывается частота встречаемости для всех имеющихся в текстекомбинаций из n последовательно идущих слов. При этом обычно опускаетсянормальная форма слова, т.е. в расчет принимаются лишь часть речи и лексическиепараметры. В ходе разбора текста подобная информация может использоваться длявероятностного снятия омонимии. Мы можем предположить, что первые n-1 слово вn-грамме определяют нам вероятность появления n-го слова. Таким образом, знаяпервые n-1 слово мы можем выбрать наиболее вероятный вариант последнего. В рядеслучаевиспользуютлинейнуюкомбинациювероятностейнесколькихсокращающихся последовательностей слов.Другим способом применения данного метода является отсечение наименеевероятных вариантов, т.е. частичное снятие омонимии.
Так, если в корпусе текстовнам ни разу не встретилась определенная комбинация слов, то можно считать, что онавообще не должна встречаться в текстах. Таким образом, если мы встретили ее вреальном тексте, то часть входящих в нее омонимов может быть отброшена.Значение n обычно принимается равным трем, так как биграммы обладаютслишком малой историей и в дальнейшем не дают хороших результатов, а 4-граммыпорождают слишком большое количество вариантов.