- •1. Основные определения теории формальных грамматик (продолжение)
- •2. Виды формальных грамматик
- •3. Пример грамматики, описывающей часть естественного языка (ея)
- •3. Пример грамматики, описывающей часть ея (продолжение)
- •4. Семантические сети. Ассоциативная сеть
- •5. Семантические сети. Определения
- •6. Семантические сети. Пример падежного фрейма
- •7. Семантические сети. Классификация семантических отношений
- •8. Семантические сети. Пример
- •9. Фреймовые структуры. Основные понятия. Описание объекта/некоторой ситуации во фреймовых представлениях
- •10. Фреймовые структуры. Пример сети фреймов
- •10. Фреймовые структуры. Пример сети фреймов (продолжение)
- •11. Фреймовые структуры. Атрибуты структуры данных фрейма
- •11. Фреймовые структуры. Атрибуты структуры данных фрейма (продолжение)
- •12. Фреймовые структуры. Типы фреймов. Преимущества, недостатки фреймов как модели представления знаний
Методы и системы искусственного интеллекта
Лекция 3
Формальные грамматики и семантические сети. Фреймы
1. Основные определения теории формальных грамматик
Словарь (алфавит) (V) – конечное непустое множество символов (элементов). Элементы – буквы, слова, образы, математические знаки и др.
Морфема – элементарная единица слова.
Цепочка w (предложение) – конечная последовательность символов. Цепочки образуются с помощью конкатенаций (объединений). |w| - длина цепочки.
Язык над данным алфавитом – произвольное (возможно, бесконечное) множество предложений в этом алфавите.
Формальная грамматика – это четверка G = (VT, VN, P, S), где:
VT – алфавит терминальных (основных) символов, из этих символов строятся языковые цепочки;
VN – алфавит нетерминальных (вспомогательных) символов, конечное непустое множество, вспомогательные символы обозначают классы слов или словосочетаний, причем
VN ∩ VT = ; VN VT = V – алфавит грамматики G;
P – множество правил подстановки (или продукций);
S – начальный/корневой символ (цель грамматики, аксиома), выделенный нетерминальный символ, который означает класс языковых объектов, для которых предназначена данная грамматика, SVN.
Длина вывода – число применений правил вывода.
Законченный вывод цепочки – не существуют никакой другой, выводимой из неё.
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 → большие}
