Добавил:
natribu.org Все что нашел в интернете скидываю сюда Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Точно Не проект 2 / Не books / Источник_1

.pdf
Скачиваний:
10
Добавлен:
01.02.2024
Размер:
20.67 Mб
Скачать

500

Глава 9

 

 

Procedure PRED.1;

V:= определение текущего слова из словаря; If V.POS = глагол Then

Begin

PRED.V = V; PRED.NUMBER = V.NUMBER

End End;

Procedure PRED.2; Begin

NP:= структура, возвращаемая сетью NP; PRED.NP:=NP;

Возврат (PRED)

End;

Рисунок 9.10 – РСП группы сказуемого

Procedure NP.1; DET:=определение текущего

слова из словаря; If DET.POS = артикль Then

NP.DET:= DET

End;

Procedure NP.2;

N:= определение текущего слова из словаря; If (N.POS = существительное) and

(N.NUMBER согласуется с NP.DET.NUMBER) Then Begin

NP.N:= N;

NP.NUMBER:= N.NUMBER;

Возврат(NP)

End

Else Возврат (НЕУДАЧА)

End;

Рисунок 9.11 – РСП артикля и существительного

В качестве примера на рисунке 9.12 изображено дерево грамматического разбора предложения “He likes the dog” (Он любит собаку).

Сформированное дерево грамматического разбора используется в целях семантической интерпретации. Интерпретатор формирует внутреннее представление входного предложения в процессе обхода дерева грамматического разбора, начиная с его корня. В каждом узле дерева процедура интерпретации вызывается рекурсивно, обеспечивая интерпретацию дочерних вершин узла. Возвращаемые результаты рекурсивных вызовов комбинируются, образуя единый концептуальный граф. Рекурсивные вызовы прерываются на уровне листьев дерева грамматического разбора. Если листья представлены существительными, глаголами, местоимениями или прилагательными, то они ассоциируются с сущностями предметной области, извлекаемыми из базы знаний. В рассматриваемом примере база знаний должна содержать определения следующих понятий: dog (собака), man (мужчина), he (он), it (оно), like (любить), see (видеть). Возможная иерархия типов понятий рассматриваемого примера изображена на рисунке

Обработка естественного языка

501

 

 

9.13. Дополнительно к понятиям будем использовать лингвистические отношения: агент, субъект, объект, инструмент (см. § 3.4). Понятия, выражаемые глаголами, представляются в базе знаний с помощью падежных рамок (рисунок 9.14).

Рисунок 9.12 – Дерево грамматического разбора предложения

Рисунок 9.13 – Иерархия типов понятий примера

502

Глава 9

 

 

Рисунок 9.14 – Падежная рамка глагола “like”

Формирование внутреннего представления входного предложения выполняется с помощью приведенных ниже процедур интерпретатора, вызываемых в соответствие с деревом грамматического разбора:

Procedure SENTENCE(S);

Begin

Вызвать процедуру SUBJECT(S.SUB) для интерпретации подле-

жащего S.SUB;

Вызвать процедуру PREDICATE(S.PRED) для интерпретации сказуемого S.PRED;

Используя операции объединения и специализации связать поня-

тие, выраженное подлежащим, с субъектом (агентом) на концепту-

альном графе понятия, представленным сказуемым;

End;

Procedure SUBJECT(SUB);

Begin

If SUB.PS = ’PRON’ Then

Вызвать PRONOUN(SUB.SUBJECT) для интерпретации понятия,

выраженного местоимением;

Else

Вызвать P_NOUN(SUB.SUBJECT) для интерпретации понятия,

выраженного существительным с артиклем

End;

Procedure PREDICATE(PRED);

Begin

Вызвать процедуру VERB (PRED.V) с целью интерпретации глаго-

ла PRED.V;

Вызвать процедуру P_NOUN(PRED.NP) для интерпретации суще-

ствительного с предлогом; Используя операции объединения и специализации, связать объ-

ект концептуального графа глагола с существительным;

End;

Procedure VERB (X);

Begin

Извлечь из базы знаний падежную рамку глагола X;

End;

Обработка естественного языка

503

 

 

Procedure P_NOUN (NP); Begin

Вызвать процедуру NOUN (NP.N) для интерпретации существи-

тельного NP.N

If (NP.NUMBER = единственное) and (NP.DET.ROOT = a) Then

Представить понятие, выраженное существительным, в общей форме;

If (NP.NUMBER = единственное) and (NP.DET.ROOT = the) Then

Связать с понятием, представленным существительным, индивидный числовой маркер;

If(NP.NUMBER = множественное) Then

Связать с понятием, представленным существительным, метку множественного числа;

End;

Procedure NOUN (X);

Begin

Извлечь из базы знаний существительное X

End.

Procedure PRONOUN (X);

Begin

Извлечь из базы знаний местоимение X

End.

Артикли английского предложения не представляются в виде отдельных понятий на концептуальных схемах. В рассматриваемом примере они лишь определяют, является ли объект предметной области обобщенным или индивидным. Если объект обобщенный, то на концептуальной схеме он представляется общим понятием с учетом иерархии понятий, изображенной на рисунке 9.13. Если объект индивидный, то он снабжается специальным числовым или именным маркером, отделяющим данное понятие от аналогичных понятий, имеющихся в базе знаний. Указанные особенности интерпретации отражены в тексте процедуры P_NOUN.

На рисунке 9.15 изображен процесс интерпретации предложения “He likes the dog”, использующий дерево грамматического разбора (рисунок

9.12).

Анализаторы, построенные на основе рассмотренных принципов, оказываются чрезвычайно чувствительными к грамматике входного языка. Если некоторое предложение содержит отклонения от грамматики, что характерно для диалога между людьми, то ATN – анализатор терпит неудачу. Один из подходов преодоления указанного недостатка ATN-анализаторов заключается в параллельном применении нескольких грамматик и объединении результатов интерпретации.

504

Глава 9

 

 

Рисунок 9.15 – Интерпретация предложения “He likes the dog”

9.2.2. Эмпирический подход

Эмпирический подход к анализу ЕЯ первоначально был популярен в 50-х годах, когда К. Шеннон создал основы теории информации. В этот период разрабатывались методы автоматического извлечения лексической и синтаксической информации из текстов. Основная цель состояла в разработке алгоритмов, обеспечивающих определение структуры языка на основе анализа вероятностей распределения слов.

Работы в этом направлении были приостановлены после того, как Н.Хомский, в конце 50-х годов, определил новые задачи компьютерной лингвистики, заложив основы теории порождающих формальных грамматик. Эмпирический подход вновь получил распространение к концу 80-х годов. В это время были разработаны несколько программ индуктивного извлечения лексической и семантической информации из текстов, на основе которых Р. Гэрсайдом и коллегами был проведен вычислительный анализ английского языка. Кроме того, фирма IBM достигла значительных успехов в области распознавания речи, благодаря использованию статистических методов, в частности, скрытых марковских моделей (СММ). Параметры моделей определялись с помощью обучающих алгоритмов на ре-

Обработка естественного языка

505

 

 

альных речевых данных. Позже статистические методы обработки речи были распространены на другие области обработки естественного языка.

Одно из первых успешных применений обучающих алгоритмов в лингвистике связано с задачей распознавания частей речи (существительных, глаголов, артиклей, и пр.) в предложении. Современные технологии позволяют решать эту задачу с точностью близкой к точности, которая получается при анализе предложений людьми [61]. Распознавание частей речи – важная составляющая систем понимания высказываний. С появлением больших баз данных, содержащих предложения с соответствующими деревьями грамматического разбора, эмпирические методы распространились на задачу синтаксического анализа предложений. В настоящее время эмпирический подход применяется для установления смысла неоднозначных слов, сегментации дискурса, выделения анафор (повторение в разных частях предложения или текста одного и того же понятия, которое может представляться разными словами), семантического анализа.

Широкое использование в настоящее время эмпирического подхода объясняется различными причинами. Основная причина состоит в том, что эмпирический подход предлагает потенциальные решения давних проблем, связанных с обработкой естественного языка, как-то:

-автоматическое пополнение знаний;

-широту охвата понятий рассматриваемой предметной области;

-устойчивость соответствующих моделей по отношению к шуму и неполноте данных;

-простота расширения систем по отношению к новым данным

или новым предметным областям.

К иным причинам роста популярности эмпирического подхода в последнее время следует отнести:

-относительную доступность высокопроизводительных вычислительных средств для многих исследователей;

-разработку и создание больших баз лингвистических данных, необходимых для обучения и тестирования ЕЯ-систем;

-ориентацию на создание систем, работающих в реальных условиях.

Рассмотрим особенности эмпирического подхода на примере распознавания частей речи. Задача состоит в присвоении словам предложения меток: существительное, глагол, предлог, прилагательное и т.п. Кроме этого, необходимо определять некоторые дополнительные признаки существительных и глаголов, например, для существительного – число, а для глагола – форму.

Формализуем задачу. Представим предложение в виде последовательности слов W w1w2 wn , где w1,w2 , ,wn случайные переменные, каждая из которых получает одно из возможных значений, принадлежа-

x1,x2,...,xn

506

Глава 9

 

 

щих словарю языка. Последовательность меток, назначаемых словам предложения, представим последовательностью X x1x2 xn , где – случайные переменные, значения которых определены на множестве возможных меток. Тогда задача распознавания частей речи состоит в поиске наиболее вероятной последовательности меток x1x2...xn по заданной по-

следовательности слов w1w2 wn . Иными словами, необходимо найти та-

кую последовательность меток X* x1x2 xn , которая обеспечивает максимум условной вероятности P(x1,x2 , xn | w1w2 wn ), т.е.

X * arg max P(X |W ).

(9.1)

X

 

Перепишем P(X |W)в виде

P(X |W) P(X,W)/P(W).

Так как требуется найти максимум P(X |W)по переменной следует, что

X* argmaxP(X,W).

X

Совместную вероятность P(X |W)можно записать в дения условных вероятностей

(9.2)

X , то из (9.2)

(9.3)

виде произве-

P(X,W) P(x1)P(w1 | x1)P(x2 | x1w1)P(w1 | x1w1)P(x3 | x1x2 ,w1w2 )...=

n

P(xi | x1, ,xi 1,w1, wi 1)P(wi | x1, ,xi 1,w1, wi 1). (9.4)

i 1

Непосредственный поиск максимума выражения (9.4) представляет собой сложную задачу, так как при больших значениях n поисковое пространство становится очень большим. Поэтому вероятности P(xi | x1, ,xi 1,w1, wi 1P(wi | x1, ,xi 1,w1, wi 1) аппроксимируют более простыми условными вероятностями P(xi | xi 1P(wi | xi ). В этом случае полагают, что значение метки xi связано только с предыдущей мет-

кой xi 1 и не зависит от более ранних меток, а также, что вероятность слова wi определяется только текущей меткой xi . Указанные предположения на-

Обработка естественного языка

507

 

 

зывают марковскими. Для решения задачи (9.3) привлекают теорию марковских моделей (см.§ 9.3.5).

С учетом марковских предположений (9.3) запишется в виде

 

n

 

X* argmax P(xi | xi 1)P(wi | xi ),

(9.5)

x1, ,xn

i 1

 

где условные вероятности P(xi | xi 1)и P(wi | xi ) оцениваются на множестве

обучающих данных. Поиск последовательности меток X* осуществляют с помощью алгоритма динамического программирования Витерби.

Алгоритм Витерби может рассматриваться как вариант алгоритма поиска на графе состояний, где вершинам соответствуют метки слов. Характерно, что для любой текущей вершины множество дочерних вершин всегда одно и то же. Более того, для каждой дочерней вершины множества родительских вершин тоже совпадают. Это объясняется тем, что на графе состояний осуществляются переходы с учетом всех возможных сочетаний меток:

предлог предлог;

предлог глагол; … .

предлог существительное; … .

существительное предлог; … .

существительное существительное.

Если имеется n меток и P(xi | xi 1) 0 для всех значений i, то в каждую вершину-метку будут вести n путей. Наилучшим считается путь с наибольшим значением вероятности P(X1t |W1t ), где X1t x1,x2, ,xt и

W1t w1,w2, ,wt ,t n. Таким образом, на каждом шаге поиска продолжа-

ются n путей. На последнем шаге из n последовательностей (путей) выбирается одна с учетом (9.5). Подробнее алгоритм Витерби будет описан на примере задачи распознавания речи.

Предположения Маркова обеспечивают существенное упрощение задачи распознавания частей речи при сохранении высокой точности назначения меток словам. Так, при наличии 200 меток точность назначения меток примерно равна 97% [77]. Успешное определение частей речи предложения – ключ к решению задачи синтаксического анализа ЕЯпредложений.

Многие достижения в области синтаксического анализа предложений на основе эмпирического подхода стали возможны благодаря созда-

508

Глава 9

 

 

нию открытых банков грамматических данных. В качестве примера можно указать Пенн-банк, содержащий около 40000 предложений с деревьями грамматического разбора, и WORDNET – лексическую базу слов английского языка, связанных семантическими отношениями типа ako, part_of и другими [61]. Наличие таких банков данных обеспечивает тестирование и обучения систем обработки ЕЯ, разрабатываемых различными исследователями, на одних и тех же наборах данных.

Долгое время эмпирический анализ выполнялся с помощью стохастических контекстно-свободных грамматик (СКС - грамматик, англ. PCFG

– probabilistic context-free grammars). Однако для СКС-грамматик характе-

рен существенный недостаток. Он заключается в том, что различным грамматическим разборам могут назначаться одинаковые вероятности. Это происходит из-за того, что вероятность грамматического разбора представляется в виде произведения вероятностей правил, участвующих в разборе. Если в ходе разбора используются различные правила, характеризуемые одинаковыми вероятностями, то это и порождает указанную проблему.

Лучшие результаты даёт грамматика, учитывающая лексику языка. В этом случае в правила включаются необходимые лексические сведения, которые обеспечивают различные значения вероятности для одного и того же правила в разных лексических окружениях [61].

Взаключение отметим, что эмпирический синтаксический анализ в большей степени соответствует распознаванию образов, чем традиционному грамматическому разбору в его классическом понимании. Сравнительные исследования показали, что правильность эмпирического грамматического разбора предложений естественного языка оказывается выше, по сравнению с традиционным грамматическим разбором.

9.3.ЕЯ-интерфейс доступа к базам данных

Внастоящее время успешное применение технологий обработки естественного языка ограничивается узкоспециальными областями с хорошо определенной семантикой, к которым относятся базы данных (БД). Рассмотрим построение ЕЯ-интерфейса БД на основе рационального подхода,

входе которого выполняется анализ и интерпретация входных ЕЯзапросов средствами традиционных грамматик. Основная задача такого интерфейса – преобразование ЕЯ-запросов в запрос на внутреннем языке базы данных, например SQL.

Применение ЕЯ-интерфейса для доступа к базам данных характеризуется следующими достоинствами:

Обработка естественного языка

509

 

 

-пользователю не требуется изучать сложные искусственные языки доступа к БД;

-простота формулировки сложных запросов, содержащих отрицания и кванторы общности, которые весьма трудно сформировать при использовании традиционных “оконных” интерфейсов доступа к БД;

-возможность обработки запросов с учетом дискурса, что допускает ввод запросов, содержащих анафоры и эллипсисы.

Существующие ЕЯ-интерфейсы баз данных используют различные

подходы [59]: метод сопоставления с образцом, синтаксические грамматики, семантические грамматики, некоторый внутренний язык.

Интерфейсы, основанные на методе сопоставления с образцом, являются наиболее простыми. Обобщенный алгоритм сопоставления с образцом и пример его применения к ведению диалога на ограниченном ЕЯ рассмотрен в § 5.25. Уточним особенности анализа ЕЯ-запросов на основе процедуры сопоставления с образцом. Рассмотрим таблицу реляционной БД, содержащую сведения о странах (рисунок 9.16).

Страны

Страна

Столица

Язык

Франция

Париж

Французский

Германия

Берлин

Немецкий

Италия

Рим

Итальянский

Рисунок 9.16 – Таблица реляционной БД

В этом случае при ответе на запрос могут использоваться следующие правила:

образец: … “столиц&” … ?S;

действие: вывести значение поля Столица для строки таблицы, удовлетворяющей условию Страна = S;

образец: … “столиц&” … “стран&”;

действие: вывести значения полей Страна и Столица для каждой строки таблицы.

В соответствии с первым правилом, если в запросе пользователя после слова “столиц&” будет следовать название страны (т. е. одно из возможных значений поля Страна), то необходимо найти строку таблицы, для которой значение поля Страна сопоставимо со значением переменной образца S, и сообщить пользователю соответствующее значение поля Столица. Например, если пользователь введет запрос “Столица Германии ?”, то

Соседние файлы в папке Не books