Файл: Белоногов Г.Г. Автоматизированные информационные системы.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