Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
презентация_Л3.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
416.19 Кб
Скачать

Методы и системы искусственного интеллекта

Лекция 3

Формальные грамматики и семантические сети. Фреймы

1. Основные определения теории формальных грамматик

Словарь (алфавит) (V) – конечное непустое множество символов (элементов). Элементы – буквы, слова, образы, математические знаки и др.

Морфема – элементарная единица слова.

Цепочка w (предложение) – конечная последовательность символов. Цепочки образуются с помощью конкатенаций (объединений). |w| - длина цепочки.

Язык над данным алфавитом – произвольное (возможно, бесконечное) множество предложений в этом алфавите.

Формальная грамматика – это четверка G = (VT, VN, P, S), где:

VT – алфавит терминальных (основных) символов, из этих символов строятся языковые цепочки;

VN – алфавит нетерминальных (вспомогательных) символов, конечное непустое множество, вспомогательные символы обозначают классы слов или словосочетаний, причем

VN ∩ VT = ; VN  VT = V – алфавит грамматики G;

P – множество правил подстановки (или продукций);

S – начальный/корневой символ (цель грамматики, аксиома), выделенный нетерминальный символ, который означает класс языковых объектов, для которых предназначена данная грамматика, SVN.

Длина вывода – число применений правил вывода.

Законченный вывод цепочки – не существуют никакой другой, выводимой из неё.

1. Основные определения теории формальных грамматик (продолжение)

V* – все возможные цепочки символов (предложения) алфавита V.

V+ – множество V*\{Λ, где Λ – пустая цепочка).

Правило подстановки (элемент множества P) будет иметь вид:

α → β, где α  V+, β  V*,

причем хотя бы один символ предложения α должен быть нетерминальным.

В любом предложении вхождение цепочки символов α может быть заменено цепочкой β:

(γ, δ  V*) γαδ  γβδ

В этом случае говорят, что β выводима из α.

Символ «→» применяется при записи правил вывода.

Символ «» используется для обозначения возможности вывода одного предложения из другого в результате применения некоторого количества (одного или нескольких) правил грамматики.

Вывод в грамматике начинается с корневого символа S и заключается в последовательном применении правил подстановки.

Предложение называется терминальным, если оно состоит только из терминальных символов.

Γ(G) – язык, порождаемый грамматикой G и содержащий все терминальные предложения (и только их), выводимые из начального символа S:

Γ(G) = {α| (α  VT*) & (S  α)}

2. Виды формальных грамматик

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

Порождающие – может построить любую правильную цепочку.

Преобразующие – для любой правильной цепочки строит её отображение в виде правильной цепочки.

Пример 1. Дано:

алфавиты VT = {a, b}, VN = {S, A, В};

правила подстановки P = {S → AS, S → SB, S → Λ, A → ab, B → ba}.

В грамматике с такими компонентами могут быть выведены любые цепочки вида ( ab )n ( ba )m.

Например: S  AS  AAS  AASB  AAB  abAB  ababB  ababba .

Выводы:

• На каждом шаге вывода может существовать выбор из нескольких возможностей применения грамматических правил. Смысл грамматики - символьное представление, задающее пространство структурированных объектов.

• Конечный набор правил может порождать язык, содержащий бесконечное количество предложений.

• Различные грамматики могут порождать одинаковые языки (такие грамматики называются слабо эквивалентными). Например, грамматика, состоящая из элементов

VT = {a, b}, VN = {S}, P = {S → abS, S → Sba, S → Λ},

порождает тот же язык, что и грамматика, рассмотренная выше.

3. Пример грамматики, описывающей часть естественного языка (ея)

Пример 2. Дано:

VT = {a, b, c, d, VN = {S, A, B},

правила подстановки: A → a, A → b и B → c, B → d,

A и B – соответствующие классы терминальных символов {a, b} и {c, d}.

Пример 3. Дано:

VT = {быстрый, быстрые, медленный, медленные, большой, большие, компьютер, компьютеры, калькулятор, калькуляторы, число, числа, величина, величины, умножает, умножают, складывает, складывают}

VN = {S – понятие правильно построенного предложения, C1 – существительное единственного числа, C2 – существительное множественного числа, Π1 – прилагательное единственного числа, Π2 – прилагательное множественного числа, Γ1 – глагол единственного числа, Γ2 – глагол множественного числа, C1′,C2′ – группы существительного, Γ1′, Γ2′ – группы глагола}.

P = {S → C1 ′ Γ1 ′, S → C2 ′ Γ2 ′,

C1 ′ → Π1 C1, C1 ′ → C1,

C2 ′ → Π2 C2, C2 ′ → C2,

Γ1 ′ → Γ1 C1′, Γ1′ → Γ1 C2′, Γ1′ → Γ1,

Γ2′ → Γ2 C1′, Γ2′ → Γ2 C2′, Γ2′ → Γ2,

C1 → компьютер, C1 → калькулятор, C1 → число, C1 → величина,

C2 → компьютеры, C2 → калькуляторы, C2 → числа, C2 → величины,

Γ1 → умножает, Γ1 → складывает,

Γ2 → умножают, Γ2 → складывают,

Π1 → быстрый, Π1 → медленный, Π1 → большой,

Π2 → быстрые, Π2 → медленные, Π2 → большие}