Большакова Е.И. и др. - Автоматическая обработка текстов на естественном языке и компьютерная лингвистика (1027379), страница 44
Текст из файла (страница 44)
В связи с этим в шаблоне поиска слова необходимо добавитьфлаг, который будет показывать, должно ли значение быть единственным.Следует заметить, что распространенной является ситуация, когда к одному итому же месту в предложении подходят сразу несколько имеющихся шаблоновпоиска фрагментов. При этом шаблоны могут пересекаться или один может включатьв себя другой. Подобную ситуацию следует учитывать при работе с шаблонами.Шаблон поиска фрагмента только ищет необходимый нам фрагмент.
Второйчастью задачи является преобразование найденного фрагмента. Для этого потребуется шаблон формирования фрагмента. Данный шаблон будет показывать, какиенайденные слова требуется включить в выходной фрагмент и какие новые слова внего вставить. Так, например, нам может потребоваться найти несколько слов и слитьих в одну лексическую единицу.
В этом случае шаблон формирования фрагментабудет включать единственный элемент, полностью формирующий новое слово.Элементы шаблона формирования фрагмента – шаблоны формирования слов –будут показывать, откуда следует взять нормальную форму слова и его часть речи,параметры слова (ввести новое, взять из слова входного предложения, из какогоименно слова). Кроме того, нам могут потребоваться метки для синтаксическогоанализа.
Формат меток будет существенно зависеть от методики проведениясинтаксического анализа. Не нарушая общности рассуждений, возьмем метки началаи конца правил синтаксического анализа, разбирающих некоторые синтаксическиеконструкции.Правило синтаксической сегментации будет состоять из шаблона поискафрагмента, шаблона формирования фрагмента и списка исключений. Исключенияпоказывают, какие правила необходимо исключить из исполнения в случае, если ихшаблоны сравнятся с уже найденным фрагментом. Такая ситуация возможна,например, когда у нас есть два шаблона, один из которых описывает более частнуюситуацию.Синтаксическая сегментация будет работать по следующему алгоритму.
Вовходном предложении ищутся места, попадающие под хранимые в правилах шаблоныпоиска фрагментов. Далее анализируется список исключений, и при нахождениипересекающихся исключаемых правил мы выбрасываем их из рассмотрения. Еслипосле этого остались пересекающиеся фрагменты, необходимо создать несколькокопий входных данных и разнести найденные шаблоны по копиям таким образом,чтобы исключить пересечения. При этом непересекающиеся шаблоны должны бытьвключены во все копии. Далее для всех полученных копий по шаблонам138формирования фрагмента производится формирование новых слов и замена слов,подошедших под шаблон, на вновь сформированные.Приведем пример работы синтаксической сегментации.Пусть у нас имеется следующий набор правил.<«»; прил.; род +, число +, падеж +><«»; однозначно сущ.; род +, число +,падеж +> ⇒ <однозначно прилагательное><не изменяется><«,»; знак; ><«который»; мест.;> ⇒ с первого слова начинаетсясложноподчиненное предложениеПусть на вход поступает следующее предложение: «Я увидел человека скрасным лицом, который быстро бежал по улице».Слово «красный» может быть как прилагательным, так и существительным(«Борьба красных и белых в ходе гражданской войны…»).
По первому правилувариант существительного будет отсеян. По второму правилу мы заранее определим,что фрагмент «…, который бежал по улице» является сложноподчиненнымпредложением, и не будем разбирать другие варианты, например, перечисление «…лицом, … улице».Уровень омонимии может быть снижен на этапе синтаксической сегментации засчет поиска часто употребляющихся конструкций, оборотов и словосочетаний. Так,например, в научной литературе часто употребляются такие конструкции, как «Под… будем понимать …», «Допустим, что …» и т.д. При этом в первой фразеопределяемое слово должно находиться в творительном падеже, а основное словоопределения и согласуемые с ним слова (обычно прилагательные и местоимения) – ввинительном. Найдя подобную конструкцию можно с большой долей вероятностиутверждать, что определяемое слово является существительным, а определяющаяконструкция отвечает конкретным требованиям.
Исходя из этого, можно отброситьчасть омонимов, не подходящих под указанный шаблон.Используя подобные положения, на ВМК МГУ был разработан язык лексикосинтаксических шаблонов (http://lspl.ru/), служащий, правда, для несколько иныхцелей. Язык шаблонов позволяет на основе отдельных слов и отношений между нимиописывать целые конструкции. Отдельное слово описывается следующим образом:часть речи <нормальная форма; список параметров через запятую>. Параметрызаписываются в формате имя=значение. При необходимости нормальная форма ипараметры могут опускаться. Приведем несколько примеров записи отдельных слов.A<важный; c=nom, g=fem> - описывает формы «важная» и «важна», так какпоказатель формы не указан.A<важный> - описывает все формы слова «важный».V<t=pres, p=3, n=plur> - описывает любой глагол в настоящем времени, третьемлице множественного числа.Каждый шаблон обладает именем и в него может входить несколько шаблоновдля слов. При совпадении части речи у слов шаблона проводится их нумерация.N1 N2 – два последовательно идущих произвольных прилагательных.Полная итерация (ноль и более употреблений) некоторой конструкцииобозначается при помощи фигурных скобок.
При этом имеется возможность указать втреугольных скобках количество повторений этой конструкции.{A}<1,3> N - от одного до трех прилагательных, после которых идетсуществительное.Конструкция, заключенная в квадратные скобки, считается факультативной.139{A} N ["не"] V – существительное, перед которым может идти произвольноеколичество прилагательных, за которым следует глагол, перед которым может стоять«не».Шаблон позволяет задавать альтернативы одной конструкции с использованиемсимвола |. Также язык позволяет задавать согласование параметров междуотдельными словами конструкции.A<тяжелый> N <A.g=N.g, A.n=N.n, A.c=N.c>A<тяжелый> N <A=N> - прилагательное «тяжелый» в произвольной форме, закоторым идет существительное, согласующееся с данным прилагательным.Для шаблонов задается главное слово, от которого берутся все лексическиепараметры конструкции.
Имя конструкции может быть использовано в прочихшаблонах.AP = A|Pa – шаблон AP задает последовательность из одного прилагательногоили причастия.AN = {AP} N <AP=N> (N) – шаблон AN задает полную итерацию AP(прилагательных или причастий), за которой следует существительное, являющеесяглавным словом конструкции, согласующееся с первой конструкцией.ACT = AN V <AN=V> - шаблон ACT задает последовательность из конструкцииAN и согласующего с ней глагола.NP = AN1 {AN2<c=gen>} (AN1) – существительное с подчиненной ей группойсуществительных.DT = NP1<c=acc> ["мы"] «назовем» NP2<c=ins> <NP1.n = NP2.n> конструкция вида «… мы назовем …».Используя подобные шаблоны можно как проводить упрощенныйсинтаксический анализ, так и снимать омонимию в определенных конструкциях.140ЧАСТЬ IV.ИНСТРУМЕНТАЛЬНЫЕ СИСТЕМЫРАЗРАБОТКИ ПРИЛОЖЕНИЙ ПОАВТОМАТИЧЕСКОЙ ОБРАБОТКЕ ТЕКСТОВ НАЕСТЕСТВЕННОМ ЯЗЫКЕ(НОСКОВ А.А.)Глава 1.ВведениеВ настоящее время в связи с быстрым ростом количества текстовойинформации, в том числе в сети Интернет, возникает необходимость в быстройразработке прикладных программных систем (приложений) для автоматической илиавтоматизированной обработки текстов на естественном языке (ЕЯ-текстов).Примерами такой обработки является сбор и фильтрация данных из различныхисточников, извлечение знаний [33], реферирование, аннотирование и т.п.Разработка приложений для решения такого рода задач имеет ряд сложностей, впервую очередь - необходимость интеграции большого числа программныхкомпонентов, реализующих алгоритмы обработки ЕЯ-текста, работающие наразличных его уровнях (обработка слов, предложений, абзацев и т.п.).Например, задача выделения сущностей и отношений [27] из ЕЯ-текстов требуетграфематического анализа (разбиения текста на слова и предложения),морфологического анализа, выделения определенных конструкций естественногоязыка на синтаксическом уровне, последующей семантической обработкирезультатов, а также преобразования текстовых данных между различнымиформатами и представлениями.Другую сложность составляет организация внутреннего представленияобрабатываемого ЕЯ-текста, поскольку оно должно поддерживать две его важныеособенности: естественную иерархию составляющих текст элементов (абзацев,предложений, слов) и свойственную естественному языку множественностьинтерпретаций на каждом уровне (например, словоформа “мыла” наморфологическом уровне имеет 2 интерпретации: существительное или как глагол).Кроме того, сложность обеспечивается тем, что для достижения успешноговыполнения поставленных задач системы по обработке ЕЯ-текстов должны решатьследующие проблемы [18]:1.