Авт. обработка текстов на естественном языке и комп. лингвистика. Большакова (2014) (1185448), страница 44
Текст из файла (страница 44)
Так, в фразе «несколько искусственный интеллект» будетиметься в виду интеллект, обладающий свойством заполненности искусственнопридуманными знаниями. Приведенный пример и сам является искусственным,однако на практике подобная ситуация встречается довольно широко.Для анализа неразрывных неизменяемых словосочетаний необходимопредварительно провести морфологический анализ. Далее мы ищем требуемыесловоформы в заданном порядке. При этом может быть необходимо проверитьсогласование слов по параметрам: заданные параметры должны обладать одними итеми же значениями.
Как уже упоминалось, прилагательное и существительное врусском языке согласуются по ряду параметров. Следовательно, для словосочетаний,составленных из существительного и подчиненных ему прилагательных, необходимопроверить подобное согласование.Разрывные словосочетания – это связанные слова, между которыми могутвклиниваться другие слова. Как и в предыдущем случае, связка слов дает несколькоиное значение, чем просто сумма значений слов. В случае с разрывнымисловосочетаниям связь между словами либо очевидна, либо используемый видсогласования не требует того, чтобы слова стояли рядом. Более того, кромеподчиненного слова, образующего словосочетание, к главному слову могутприсоединяться и другие зависимые слова, являющиеся его неоднородными членами.В итоге все подчиненные члены имеют право идти вперемешку. Например, «отправкасамолетов», «прибытие самолетов» → «отправка и прибытие самолетов».136Так как слова в разрывных словосочетаниях могут быть разнесены попредложению, то сперва требуется провести синтаксический анализ предложения.Следовательно, работа с разрывными словосочетаниями не может быть отнесена кпредсинтаксическому анализу.§ 3.3.Синтаксическая сегментацияЕще до проведения синтаксического анализа есть возможность выдвинутьнекоторые предположения о структуре разбираемого предложения, выделить егофрагменты (сегменты), которые можно разобрать независимым образом.
Дальнейшийсинтаксический анализ будет опираться на эти предположения и получитвозможность сразу отбросить часть вариантов. Для использования этих возможностейвводится этап синтаксической сегментации.Первой задачей синтаксической сегментации является уменьшение количестваомонимов, соответствующих каждой словоформе. Так, например, если слово можетявляться как наречием, так и прилагательным, то следует проанализироватьследующее за ним слово. Если оно является однозначным глаголом, то слово будетнаречием. Если следующее слово является однозначным прилагательным илисуществительным, то данное слово будет прилагательным.
Подобных правилдостаточно много, но очень часто они могут служить лишь предположениями, так каксуществует альтернативный вариант прочтения данного фрагмента. Однако зачастуюдаже выделение нескольких альтернатив помогает сократить количество возможныхвариантов.Вторая задача – выделение синтаксических конструкций. Например, мы можемвыделить начало сложноподчиненного предложения, обнаружив ключевые слова «,который», «, потому что», «, когда» и т.д. Можно выделить деепричастные обороты,найдя место, где за существительным после запятой идет деепричастие.
Кроме того,можно попытаться определить связность и подчинение фрагментов. Так, например, вофразе «...когда на столе, покрытом скатертью, они расставили тарелки...» жирнымвыделен единый фрагмент, одному из слов которого (стол) подчинен вставленный внего в фрагмент.Для поиска фрагментов нам потребуется понятие шаблона поиска. Подшаблоном поиска слова будем понимать кортеж <N,S,P>, где N – нормальная формаискомого слова, S – часть речи и P={p} множество искомых параметров искомогослова. Нормальная форма слова может представлять собой строку с искомойнормальной формой, либо пустую строку, если нормальная форма нас не интересует.Аналогично описывается и часть речи.
Множество параметров может быть пустым,если параметры при поиске нас не интересуют. Искомые параметры, в отличие отобычных параметров, будут содержать дополнительный флажок, указывающий натип поиска. Предполагаются следующие типы поиска:• точный, когда сравнивается как имя, так и значение параметра;• по имени, когда проверяется наличие параметра у данного слова внезависимости от его значения;• совпадающий, когда значение параметра должно совпадать со значениямитаких же параметров у других шаблонов;• несовпадающий, когда значение параметра может принимать любое значение,кроме указанного.137Под шаблоном поиска фрагмента будем понимать упорядоченное множествошаблонов поиска слов.Приведем пример шаблона поиска фрагмента.<‘’,’прилагательное’, {[‘род’,совп.,’’],[ ‘число’,совп.,’’],[ ‘падеж’,точн.,’им’]}><‘’,’существительное’, {[‘род’,совп.,’’],[ ‘число’,совп.,’’],[ ‘падеж’,совп.,’’]}>Здесь мы пытаемся найти прилагательное и следующее за ним существительноевне зависимости от их нормальной формы, при этом у найденных слов должнысовпадать род, число и падеж, причем падеж должен быть именительным.Как уже упоминалось, нам может потребоваться найти слово, имеющееединственное значение.
В связи с этим в шаблоне поиска слова необходимо добавитьфлаг, который будет показывать, должно ли значение быть единственным.Следует заметить, что распространенной является ситуация, когда к одному итому же месту в предложении подходят сразу несколько имеющихся шаблоновпоиска фрагментов. При этом шаблоны могут пересекаться или один может включатьв себя другой. Подобную ситуацию следует учитывать при работе с шаблонами.Шаблон поиска фрагмента только ищет необходимый нам фрагмент.
Второйчастью задачи является преобразование найденного фрагмента. Для этого потребуется шаблон формирования фрагмента. Данный шаблон будет показывать, какиенайденные слова требуется включить в выходной фрагмент и какие новые слова внего вставить. Так, например, нам может потребоваться найти несколько слов и слитьих в одну лексическую единицу. В этом случае шаблон формирования фрагментабудет включать единственный элемент, полностью формирующий новое слово.Элементы шаблона формирования фрагмента – шаблоны формирования слов –будут показывать, откуда следует взять нормальную форму слова и его часть речи,параметры слова (ввести новое, взять из слова входного предложения, из какогоименно слова).
Кроме того, нам могут потребоваться метки для синтаксическогоанализа. Формат меток будет существенно зависеть от методики проведениясинтаксического анализа. Не нарушая общности рассуждений, возьмем метки началаи конца правил синтаксического анализа, разбирающих некоторые синтаксическиеконструкции.Правило синтаксической сегментации будет состоять из шаблона поискафрагмента, шаблона формирования фрагмента и списка исключений. Исключенияпоказывают, какие правила необходимо исключить из исполнения в случае, если ихшаблоны сравнятся с уже найденным фрагментом. Такая ситуация возможна,например, когда у нас есть два шаблона, один из которых описывает более частнуюситуацию.Синтаксическая сегментация будет работать по следующему алгоритму.
Вовходном предложении ищутся места, попадающие под хранимые в правилах шаблоныпоиска фрагментов. Далее анализируется список исключений, и при нахождениипересекающихся исключаемых правил мы выбрасываем их из рассмотрения. Еслипосле этого остались пересекающиеся фрагменты, необходимо создать несколькокопий входных данных и разнести найденные шаблоны по копиям таким образом,чтобы исключить пересечения.
При этом непересекающиеся шаблоны должны бытьвключены во все копии. Далее для всех полученных копий по шаблонам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.