Авт. обработка текстов на естественном языке и комп. лингвистика. Большакова (2014) (1185448), страница 39
Текст из файла (страница 39)
добавление новых слов в них уже невозможно. В связи с этим можноотсечь подобные парадигмы, запретив выдвижение гипотез на их основе. Для этогодостаточно подсчитать количество слов, относящихся к каждой из гипотез, ивыдвигать гипотезы только на основе парадигм, к которым принадлежит количествослов, большее заданного порога.121Еще один вариант отсеивания основывается на том, что у слов, принадлежащиходной парадигме, совпадает не только изменяемая часть, но и последние несколькосимволов неизменяемой.
Так, например, у слов «шествовать», «повествовать»,«любопытствовать» псевдооснова заканчивается на «-ств-». Соответственно, новоеслово, обладающее постфиксом «-ств-овать» (или в более общем случае «ств+постфикс парадигмы») должно быть предсказано именно по этой парадигме. Дляпредсказания может быть использовано от одной до трех букв с конца псевдоосновы.Три буквы позволяют получить статистически значимые результаты для частоповторяющихся длинных последовательностей.
Но так как одни и те жетрехбуквенные последовательности встречаются гораздо реже, чем единственнаябуква, то использование трех букв дает гораздо больше вариантов такихпоследовательностей, используемых для проверки.На практике подобный метод используется для некоторого разрешениянеоднозначности выдаваемых результатов, когда кроме стема требуется определить ихотя бы часть речи. В такой ситуации три предыдущие буквы позволяют с достаточновысокой точностью определить, к какой части речи должно относится слово. Дляэтого помимо псевдоокончания хранят и несколько последних букв.
Большееколичество букв псевдоосновы позволяет более точно определить параметры слова.При этом меньшее количество букв позволяет достичь большей скорости разбора исокращает объем словаря.Методы бессловарных морфологий используются также и для расширениясловаря. Так, например, очень многие существительные могут употребляться с «не-»в начале.
Введение всех существительных с «не-» значительно увеличит объемсловаря и снизит скорость его работы. В связи с этим при морфологическом анализеможно предварительно проверить наличие одного из префиксов («пере-», «при-» ит.д.) или аффиксов (например, «-ся» и «-сь»), а оставшуюся часть слова попытатьсянайти в словаре. При этом, например, для слова «оставшийся» после удаленияаффикса основы найдено не будет, а слово «делавшийся» будет успешно разобрано(если предположить, что ни того, ни другого нет в словаре).
Заметим, что запускатьподобный алгоритм имеет смысл лишь после того, как выяснится, что пришедшееслово целиком отсутствует в словаре. Заметим также, что подобная операция можетбыть проведена средствами предсинтаксического анализа, в котором могут бытьпредусмотрены соответствующие средства.§ 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 слово мы можем выбрать наиболее вероятный вариант последнего. В рядеслучаевиспользуютлинейнуюкомбинациювероятностейнесколькихсокращающихся последовательностей слов.Другим способом применения данного метода является отсечение наименеевероятных вариантов, т.е. частичное снятие омонимии.