
- •Тема 1. Основные понятия искусственного интеллекта.
- •Основные понятия искусственного интеллекта.
- •Базы данных и знаний.
- •Основные области применения и задачи интеллектуальных систем
- •Тема 2. Проблема представления знаний
- •Тема 3. Продукционные системы. Фреймы. Исчисление предикатов. Нейронные сети. Генетические алгоритмы
- •3.1. Продукционные системы
- •3.2. Фреймы
- •3.3. Исчисление предикатов
- •3.4. Нейронные сети
- •3.5. Генетические алгоритмы
- •Тема 4. Языки искусственного интеллекта
- •Тема 5. Искусственный интеллект и естественный язык
- •5.1. Сущность проблемы обработки естественного языка
- •5.2. Основная проблема обработки естественного языка
- •5.3. Распознавание языка
- •Морфологический анализ.
- •Синтаксический анализ.
- •Семантический анализ.
- •Результат
- •Проблемный анализ.
- •Синтез текста.
- •Основные модели лингвистических систем.
- •Стратегия разбора и синтеза текстов в зависимости от типа языка.
- •2. Морфологический (лексико-грамматический) анализ.
- •3.Синтаксический анализ.
- •Модели синтаксического анализа, применяемые в зарубежных промышленных решениях.
- •1. Модели, основанные на Link Grammar.
- •2. Модели, использующие структуры уровня именных и глагольных групп.
- •Лингвистический процессор ю.Д. Апресяна, и.М. Богуславского и л.Л. Иомдина.
- •Другой вариант модели синтаксического анализатора рассмотрим на примере проекта «диалинг».
- •4. Семантический анализ. Реализация семантического анализа в системе диалинг
- •Реализация семантического анализа в лингвистическом процессоре ю.Д. Апресяна, и.М. Богуславского и л.Л. Иомдина.
- •Реализация семантического анализатора в системе MyLingvo.
- •5. Структуры хранения данных и знаний.
- •Исчисление предикатов. Общие понятия.
- •Приведение произвольной формулы к множеству дизъюнктов.
- •Унификация и ее алгоритм.
- •Правило резолюций и его применение.
Лингвистический процессор ю.Д. Апресяна, и.М. Богуславского и л.Л. Иомдина.
основан на модели языка «СМЫСЛ-ТЕКСТ». Процессор позиционируется как система пригодная для применения как минимум для всех индоевропейских языков. Блок-схема синтаксического анализа в этом процессоре выглядит так:
Пример морфологической структуры, описывающей предложение «Укажите соединения натрия.» выглядит следующим образом:
УКАЗЫВАТЬ – глаг., сов., пов., мн.
СОЕДИНЕНИЕ - сущ., сред, неод., ед., род.
СОЕДИНЕНИЕ - сущ., сред, неод., мн., им.
СОЕДИНЕНИЕ - сущ., сред, неод., мн., вин.
НАТРИЙ - сущ., муж, неод., ед., род.
Как видно, даже в таком простом предложении налицо морфологическая омонимия слова «соединения». Синтаксической структура – результат работы блока синтаксического анализа, представляет собой дерево, вершинами которого являются слова с набором их морфологических признаков, а ветвями – типы синтаксических связей между ними. Этап предсинтаксического анализа в этой модели подразумевает устранение морфологической омонимии и предварительную постройку синтаксических связей между словами. На этапе собственно синтаксического анализа строится окончательный вариант синтаксической структуры. Комбинаторный словарь представляет из себя совокупность команд на специальном языке. Эта совокупность представляет из себя некий набор правил. Каждое правило начинается с заголовка вида REG ИМЯ N где ИМЯ – имя совокупности правил, N – номер правила. Правила бывают двух видов: элементарные и обобщенные (альтернативные). Элементарное правило состоит из двух частей: зоны CHEK (проверить), содержащей список действий (инструкций). Если условия выполняются, то выполняются действия описанные в третьей части правила – зоне DO. Обобщенное правило состоит из зоны общих условий и нескольких элементарных подусловий. Если выполняются общие условия, то происходит проверка подусловий, являющихся альтернативными по отношению друг к другу. Если какое-то из условий выполняется, осуществляется выполнение действий из зоны DO этого подусловия. Все условия в зоне CHECK представляют собой выражения логики предикатов. Действия из зоны DO записываются в виде операторов. Предикаты делятся на элементарные и составные. Список элементарных предикатов можно разбить на 5 групп:
1) предикаты идентификации; Пример: =(Z,t1,…,tn) или EQU(Z,t1,…,tn) означает «словоформа Z обладает всеми характеристиками t1,…,tn (например, мужской род, единственное число, родительный падеж, прошедшее время и т.п.) 2) предикаты линейного порядка; Пример: M(Z,Z1,n) означает «слово Z отстоит от Z1 не более чем на n слов (влево или вправо)» R(Z,Z1,n) Означает «слово Z расположено правее Z1 и между ними находится не более чем n слов» 3) предикаты доминации; Пример: DOM(Z,Z1,r) Означает «узел Z является непосредственным родителем узла Z1 по отношению r». DEP(Z,Z1,r) Означает «узел Z является непосредственным ребенком узла Z1 по отношению r». 4) предикаты согласования; Пример: COCAS(Z1,Z2) Означает «обе словоформы Z1 и Z2» имеют характеристики падежа и эти характеристики совпадают CONMB(Z1,Z2) Означает «обе словоформы Z1 и Z2» имеют характеристики числа и эти характеристики совпадают 5) предикаты моделей управления; Пример составного предиката: R-DEP-EQU(X,Z,n,r,t1,t2,…,tn) Означает «справа от X на расстоянии не более n слов находится словоформа Z, обладающая характеристиками t1,t2,…,tn, для которой X является синтаксическим ребенком (синтаксически подчинено) по отношению r. Инструкции в зоне DO, в свою очередь, можно разбить на 7 групп по выполняемым ими фукциям: 1) работа с характеристиками слов (добавление, стирание, изменение , перенесение) Пример: DOBUZHAR:Z(t1,…,tn) Означает «добавить узлу Z характеристики t1,…,tn» STERUZHAR:Z(t1,…,tn) Означает «стереть у узла Z характеристики t1,…,tn» 2) инструкции, изменяющие синтаксическую структуру фразы Пример: SVUZOT:(Z,Z1,r) Означает «связать Z(родителя) и Z1(ребенка) отношением r» 3) инструкции, изменяющие линейный порядок слов и синтаксических групп во фразе 4) инструкции, изменяющие словарный состав фразы 5) инструкции, обрабатывающие знаки препинания 6) инструкции, работающие с кореферентностью 7) вспомогательная функция NIHIL: - «ничего не делать».
Как было сказано выше, результатом работы блока синтаксического анализа является построение дерева, вершины которого соответствуют словам фразы, а ветви – синтаксическим отношениям между ними. Все виды отношений в лингвистическом процессоре поделены на 4 группы (приводятся примеры только наиболее существенных видов отношений): 1. Актантные Примеры: Предикативное синтаксическое отношение (далее – СинтО) – связывает личную форму глагола или именную часть сказуемого при нулевой связке с именной группой, предложно-именной группой, наречием, инфинитивом, союзом или личной формой глагола придаточного предложения в качестве подлежащего: Человек (подчиненное-Y) родился (главное). Дела(Y) плохи(X). Агентивное СинтО – связывает предикатное слово с его первым аргументом – вершиной именной группы в творительном падеже: Дело рассматривается(X) областным судом (Y). Первое комплективное СинтО – связывает предикатное слово с его вторым синтаксическим актантом (кроме случаев, когда оно попадает под определение присвязочного СинтО, которе мы не рассматриваем): Изыскания(Y) продолжает(X) небольшая группа ученых. Есть мнение(X), что эта группа заслуживает поддержки(X). Второе комплективное СинтО – связывает предикатное слово с его третьим актантом: Такие действия мы не считаем(X) зазорными(Y). («мы считаем» - предикативное СинтО, «считаем действия» – первое комплективное СинтО, «считаем зазорными» - второе комплективное СинтО). 2. Атрибутивные (Собственно) атрибутивное СинтО – связывает существительное, порядковое числительное или прилагательное с его несогласованным определением: вопрос(X) времени(Y), хороший(X) по качеству(Y), тринадцатое(X) апреля(Y) Определительное СинтО – связывает существительное или прилагательное X с прилагательным Y, полностью или частично согласованным с X по роду, числу, падежу и одушевоенности: Главная(Y) цель(X), самый(Y) сильный(X) Релятивное СинтО – связывает вершину именной группы главной группы с вершиной группы сказуемого придаточного определительного предложения: Перечислите фамилии сотрудников(X) организации, которые зарабатывают(Y) более 40 тысяч рублей. Лучшее(X), что у нас есть(Y), мы отдаем людям. Обстоятельственное СинтО – связывает глагол в качестве вершинного элемента с обстоятельством, выраженным наречием, существительным в творительном, родительном или (изредка) винительном падеже, порядковым прилагательным(?), деепричастием, инфинитивом, предложно-именной группой, количественной беспредложной группой, придаточным, водимым союзом, или союзной группой: Конденсаторы включены(X) последовательно(Y). Плавать(X) кролем (Y). 3. Сочинительные Сочинительное СинтО – связывает первый (очередной) член сочиненной группы со вторым (последующими). В случае союзного сочинения в качестве зависимого члена выступает союз: Мы шли сквозь дым(X) и(Y) пожарища. 4. Служебные