Файл: Белоногов Г.Г. Автоматизированные информационные системы.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 11.04.2024
Просмотров: 164
Скачиваний: 3
дому слову словосочетания назначается однозначная грамматическая информация, необходимая для форми рования его буквенного кода при декодировании; 3) структура словосочетания приводится к каноническо му виду.
Исходными данными для синтаксического анализа служат результаты работы алгоритма отождествления слов. Если слова отождествляются с помощью словаря словоформ, то для. каждого слова наименования поня тия указывается помер канонической формы слова (по словарю словоформ), набор переменной грамматической информации (по табл. 7.3), соответствующий данной форме слова, и постоянная грамматическая информация. В качестве постоянной грамматической информации для существительных, прилагательных, предлогов, сочини тельных союзов и наречий указывается признак принад лежности к соответствующему синтаксическому классу (С, П, Р, & и II). Кроме того, для существительных ука зывается признак рода, а для предлогов — перечни па дежей, которыми они могут управлять.
Если слова отождествляются с помощью словаря основ; то для каждого. слова-наименования понятия ука зывается помер канонической формы основы, номер флективного класса н набор переменной грамматической информации. При это.м постоянная информация к сло вам определяется по номерам их флективных классов. Это оказывается возможным благодаря тому, что систе ма классификации слов отражена в нумерации флектив ных классов (см. табл. 7.1).
Первым этапом синтаксического анализа словосочета ний является выявление схемы связей между словами, входящими в их состав. Это делается с помощью табли цы сочетаемости классов слов (табл. 9.2). Входы в таб лицу обозначены символами синтаксических классов слов, а па пересечении строк я столбцов стрелками ука зано направление связей уежду словами (от управляю щего слова к управляемому). При необходимости в клет ке таблицы оговаривается условие, при котором слова могут считаться связанными друг с другом. Отсутствие в клетке таблицы какой-либо информации указывает на отсутствие связи между соответствующими классами слов. Анализ сочетаемости пары слов производится пу тем обращения к табл. 9.2, так ч.то строка таблицы вы бирается по символу синтаксического класса слова, стоя-
167
|
|
|
Т а б л и ц а |
9.2 |
|
|
Т а бл и ц а |
сочет аемост и классов слов |
|
|
|
|
|
Классы последующих слов |
|
& |
|
предшест |
с |
п |
|
н |
|
вующих |
Р |
||||
слов |
|||||
с |
- |
(при совпадении |
• —¥ |
|
|
|
|
рода и падежа) |
|
|
|
п(при совпадении рода и падежа)
р-
н |
- |
|
& |
||
• |
щего в парном сочетании слева, а столбец — по символу класса слова, стоящего справа.
Ниже приводится алгоритм автоматического выявле ния схемы связей между словами (алгоритм построения дерева словосочетания). В этом алгоритме используют ся следующие условные обозначения:
Пі\ |
N — количество |
слов в словосочетании; |
щ1, Vi1— порядковые |
номера слов, стоящих в левой |
|
|
части парных словосочетаний; |
|
tij2 , |
U j 2 , V j 2 — порядковые номера слов, стоящих в правой |
|
|
части парных словосочетаний; |
х— признак выполнения процедуры поиска субстантивированных прилагательных.
Алгоритм автоматического выявления схемы связей
1. |
|
между словами в именных словосочетаниях4321 |
|
|
||||||||||
хПересчитать и перенумеровать |
|
слова в |
словосочетании, поло |
|||||||||||
жить |
= 0 . |
Перейти к п. 2. |
|
|
|
|
N = |
|
|
|
|
|
||
2. |
Проверить |
выполнение |
условия |
|
1. |
Если |
условие |
выпол |
||||||
нено— конец работы алгоритма,і |
если |
не выполнено — к п. |
3. |
|
||||||||||
3. |
Положить |
nii = N |
— 1 и |
n2j=N. |
Перейти к п. 4. |
|
на- |
|||||||
4. |
Проверить |
слова |
п 1 |
и |
n 2j |
на сочетаемость |
и определить |
|||||||
|
|
|
|
161?
правление связи |
между ними. Если |
слова связаны, перейти к п. §, |
|
в противном случае перейти к о . 11. |
результаты анализа, полученные |
||
5. Занести в |
ответный |
массив |
|
в п. 4. Перейти к п. 6. |
ли слово с номером я23управляющим |
||
6. Проверить, |
является |
в паре слов, рассмотренной в п. 4. Если слово я23управляющее — перейти к п. 7, в противном случае — к п. 15.
7. Уменьшить я1, на единицу. Перейти к п. 8.
8. Проверить выполнение условия яП = 0. Если условие выпол нено, то перейти к п. 17, если не выполнено — к п. 9.
9.Проверить наличие признака наречия у слова я 1;- Если такой признак имеется, то замкнуть связь от слова nU+i к слову я*4 и перейти к п. 10; в противном случае перейти к п. 16.
10.Занести в ответный массив информацию о связи между
словами, полученную в п. 9. Перейти к п. 7.
|
|
11. Проверить наличие признака сочинительного союза у слова |
п 1 |
і - |
При наличии указанного признака перейти к п. 12, при отсут |
|
ствии — к п . 15.
12.Уменьшить я '. на единицу. Перейти к п. 13.
13.Проверить (выполнение условия я Н = 0 . Если условие выпол нено, то перейти к п. 17, если не выполнено — к п. 14.
14.Проверить наличие признака прилагательного у слова яЧ.
Если такой признак имеется, то перейти к п. 16, если отсутствует —
кп. 15.
15.Положить я2з = п1г, после чего уменьшить яЧ на единицу. Перейти к п. 16.
16.Проверить выполнение условия «*1=0. Если условие выпол
няется, то перейти к п. 17, если не выполняется — к п. 4.
17.Положить п 1і = 1. Перейти к п. 18.
18.Проверить выполнение условия яЧ = Л/+1. Если условие вы
полняется — конец работы алгоритма, если не выполняется — перейти к п. 19.
19. Проверить, является ли слово с номером яЧ управляемым. Если слово я 1» управляемое, то перейти к п. 20, если нет, то перейти
кп. 21.
20.Увеличить яЧ на единицу. Перейти к п. 18.
21.Проверить наличие признака сочинительного союза у слова я1і . При наличии указанного признака перейти к п. 22, при отсут
ствии — к п. 34.
22. Проверить выполнение -условия я Ч = 1 . Если условие выпол няется, то перейти к п. 20, если не выполняется — к п. 23.
23. Проверить наличие признака прилагательного у слова я Ч -ь При наличии этого признака перейти к п, 20, при отсутствии—к п. 24.
24. Положить ц1і= я 1і — 1 и uzj = nli+l. Перейти к п. 25.
25.Проверить наличие признака существительного у слова u2j. При положительном результате проверки перейти к п. 28, при от рицательном — к п. 26.
26.Проверить выполнение условия u ? j = N . Если условие выпол
няется— конец работы алгоритма, если не выполняется — перейти
кп. 27.
27.Увеличить я23 на единицу. Перейти к п. 25.
28.Проверить наличие признака существительного у слова «Ч-
169
Если |
указанный признак имеется, |
то |
перейти |
к п. 31, |
если |
нет — |
|||||
к п. |
29. |
Проверить |
|
не |
|
и Ч = |
1. |
Если |
условие |
выпол |
|
29. |
выполнение условия |
|
|||||||||
няется, |
то перейти |
к п. 20, если |
|
выполняется — к |
п. |
30. |
|
30.Уменьшить и 1і па единицу. Перейти к п. 31.
31.Проверить информацию к словам и '{ и u2j на совпадение падежей. При положительном результате проверки перейти к п. 32, при отрицательном — к п. 29.
32.Проверить по ранее установленным связям наличие управ ляющего слова у слова и1,-. При положительном результате провер
ки замкнуть связь от |
найденного управляющего |
слова |
к слову u2j |
и перейти к п. 33, при |
отрицательном — перейти |
к ті. 33 |
без выпол |
нения каких-либо операций. |
|
|
33. Проверить по ранее установленным связям наличие у слова uzj подчиненного ему существительного. Если такое существитель ное имеется, то замкнуть связь от іг1, к этому существительному и перейти к п. 20. В противном случае перейти к п. 20 без выполнения указанного действия.
34. Проверить наличие признака прилагательного у слова и1;. При положительном результате проверки перейти к п. 35, при отри
цательном— к п. 20. |
п 'і |
и |
|
1 = |
|
Перейти к и. 36. |
||||
35. |
Положить |
V2}= |
|
ѵ |
і |
|
п 1і ^ 1. |
|||
36. |
Проверить |
выполнение |
условия н Е = 0 . Если |
условие выпол |
||||||
няется, |
то перейти |
к п. 40, если |
не выполняется — к |
п. 37. |
37.Проверить наличие признака существительного у слова и1,- При положительном результате проверки перейти к п. 38, при отри цательном — к п. 39.
38.Проверить слова и1,- и v 2j па сочетаемость. Если результат проверки положительный, то замкнуть связь между словами и перей ти к п. 20, если отрицательный, то перейти к п. 40.
39.Уменьшить и1; на единицу. Перейти к п. 36.
40. |
Положить |
ѵІ.і = п і і и v 2j = n 1i +i- |
Перейти к п. 41. |
условие |
вы |
|||
41. |
Проверить |
выполнение |
условия |
y2j = ,V + l. Если |
||||
полняется, то перейти к п. 45, |
если |
не выполняется — к |
п. |
42. |
v2j. |
|||
42. |
Проверить |
наличие признака |
существительного |
у |
слова |
|
При положительном результате проверки перейти к п. 43, при отри
цательном — к. п. |
44. |
|
|
у 1,- |
и v 2j |
на сочетаемость. При положитель |
|||||||||
ном |
43. |
Проверить |
слова |
|
|
||||||||||
результате |
проверки замкнуть |
связь |
между словами и перейти |
||||||||||||
к п. 20, при отрицательном — перейти к п. 44. |
|
|
|||||||||||||
|
44. |
Увеличить |
v 2j |
на единицу и перейти к п. 41. |
|
||||||||||
|
45. |
Проверить |
выполнение |
условия |
х = 1 . |
Если |
условие выпол |
||||||||
няется— конец |
работы |
|
алгоритма, |
если |
|
не выполняется — перейти |
|||||||||
к п. |
46. |
|
|
х== \ |
|
|
|
|
|
|
|
|
|
|
|
|
46. |
Положить |
0 |
|
и «4 = 1. Перейти к п. 47. |
прилагательного. |
|||||||||
|
47. |
Проверить |
наличие |
у |
слова |
м1; |
|
признака |
При положительном результате проверки перейти к п. 48, |
при от |
||
рицательном-— к п. |
50. |
списке субстантивированных |
|
48. Произвести |
поиск слова и‘ г в |
||
прилагательных. При положительном |
результате поиска |
перейти |
|
к п. 49, при отрицательном — к п. 50. |
|
|
170
49. |
Приписать |
nсловуl |
«Ц |
признак |
существительного. Перейти |
||
к п. 50. |
Увеличить |
|
на единицу. Перейти к и. 51. |
|
|||
50. |
t |
|
|||||
51. |
Проверить |
выполнение |
условия |
гг' г- = УѴ 4- 1. |
Если условие вы |
полняется, то стереть все результаты анализа, исключая пп. 1, 46, и перейти к и. 3; если условие не выполняется, то перейти к п. 47.
Вприведенном алгоритме анализ словосочетания на чинается с его конца іи выполняется, как правило, за два прохода. При первом проходе (пп. 1—16) связи между словами устанавливаются путем последовательного про смотра элементов словосочетания справа налево. Во вто ром проходе (пп. 17—45) просмотр производится слева направо и здесь выявляются дополнительные связи, ко торые не были выявлены при первом проходе.
Втех случаях, когда в процессе анализа словосоче
таний встречаются прилагательные, не согласованные с находящимися справа и слева От них существитель ными, производится просмотр всех элементов словосо четания с целью поиска субстантивированных прилага тельных и замены в постоянной грамматической инфор мации этих слов признака прилагательного на признак существительного (пп. 46—51). После этого весь анализ словосочетания повторяется. Субстантивированные при лагательные (слова типа «мастерская», «столовая» и т. п.), ищутся по специальному списку, где они пред ставлены номерами слов.
Результаты первого этапа синтаксического анализа фиксируются путем указания для каждого слова слово сочетания перечней порядковых номеров подчиненных ему слов и номеров слов, его подчиняющих. С этой целью все слова в словосочетании нумеруются (см. п. 1 алгоритма).
Известно, что схема связей между словами в имен ном словосочетании не всегда может быть правильно построена без привлечения смысла. Но такие случаи очень редки, а неверное построение схем связей обычно не мешает правильному отождествлению понятий. По следнее возможно благодаря тому, что грамматические структуры сравниваемых понятий являются результатом работы одного и того же алгоритма.
Вторым этапом синтаксического анализа наименова ний понятий является определение однозначной грамма тической информации к каждому слову. Прежде всего главному слову словосочетания (первому слева сущест
171