НОВОСТИ   БИБЛИОТЕКА   ЮМОР   КАРТА САЙТА   ССЫЛКИ   О САЙТЕ  




предыдущая главасодержаниеследующая глава

2.2. Алгоритм распознавания лексического значения слова КОСА

Если раскрыть любой словарь русского языка, то можно обнаружить, что слово КОСА имеет три основных значения:

  1. Сплетенные вместе пряди волос.
  2. Сельскохозяйственное орудие для срезывания травы, злаков и т. п.
  3. Идущая от берега узкая полоса земли, отмель.

Спрашивается, как мы различаем эти значения? Если задать этот вопрос любому школьнику, то ответ будет один: "по контексту". Что же такое контекст? Для одних людей - это весь текст, для других - целое предложение или несколько предложений, для третьих - отдельные слова и т. д.

Чтобы как-то точнее определить, что такое контекст и как с опорой на него определить значение слова КОСА в конкретном предложении, рассмотрим следующую подборку предложений:

  1. Из-под шляпы виднелась коса с большим бантом.
  2. Коса украшала ее голову.
  3. Корабль миновал небольшую косу и вошел в бухту.
  4. Море здесь было мелкое, и берег переходил в узкую косу.
  5. Сенокосилка сломалась, и траву пришлось косить косой.
  6. Коса затупилась, и мы решили отдохнуть.

Анализируя 1-е предложение, мы без труда убеждаемся, что слово КОСА употреблено в первом из трех вышеупомянутых значений ("сплетенные вместе пряди волос"). На основании чего мы делаем такой вывод? Очевидно, об этом говорят слова ШЛЯПА, БАНТ, так как именно эти слова чаще всего входят в один контекст со словом КОСА, когда речь идет о женской голове и прическе.

Такой же вывод можно сделать и о значении слова КОСА во 2-м предложении. Здесь словом, выделяющим значение "сплетенные вместе пряди волос", является слово ГОЛОВА.

3-е и 4-е предложения дают нам примеры, когда слово КОСА употреблено в третьем значении. В 3-м предложении об этом свидетельствуют слова КОРАБЛЬ, БУХТА. Именно они в совокупности со словом КОСА образуют "морской фон". 4-е предложение само содержит слово МОРЕ, а в дополнение к нему слово БЕРЕГ. Ясно, что какое-то иное значение слова КОСА, кроме отмеченного выше, здесь узнать невозможно.

Наконец, в двух последних предложениях (5-е и 6-е) свидетельством того, что слово КОСА употреблено в значении "сельскохозяйственное орудие для срезывания травы, злаков и т. п." являются слова СЕНОКОСИЛКА, ТРАВА, КОСИТЬ (5-е предложение) и ЗАТУПИТЬСЯ (6-е предложение). В последнем предложении достаточно и одного определяющего слова, так как затупиться может только некоторый инструмент.

Таким образом, в результате проведенного анализа выделены так называемые дифференциальные признаков для определения значения слова КОСА" Представим их в виде "Таблицы дифференциальных признаков для определения значения слова КОСА (табл. 10), которая и служит основой для построения алгоритма распознавания значения слова КОСА.

Однако остается невыясненным еще один вопрос: на каком расстоянии от слова КОСА влево и вправо надо искать слова-определители? Если взять, например, поиск влево и вправо на два слова, то ЭВМ не распознает значения слова КОСА в 3-м предложении (здесь слово-определитель КОРАБЛЬ находится на третьем месте слева от слова КОСА, а слово-определитель БУХТА - на четвертом справа), в 4-м (здесь слово МОРЕ находится на девятом месте слева, а слово БЕРЕГ - на четвертом месте слева от слова КОСА) и в 5- м (здесь не будут найдены слова СЕНОКОСИЛКА и ТРАВА). Если взять диапазон достаточно большим, то может оказаться, что уже найденные слова-определители будут относиться не к слову КОСА, а к какому- то иному слову, и тем самым может произойти ошибка в определении значения слова КОСА.

Таблица 10
Таблица 10

Чтобы определить максимально возможное расстояние от слова КОСА до слов-определителей, проанализируем вновь взятые шесть предложений с этой точки зрения. В итоге анализа приходим к выводу, что максимальное расстояние слева от слова КОСА не должно составлять 10 слов (как для слова МОРЕ в 4-м предложении), а проверку справа надо проводить максимально на 4 слова (как для слова БУХТА в 3-м предложении).

Таблица 10 и только что полученные данные служат основой алгоритма распознавания значения слова КОСА. Суть его состоит в следующем. Для каждого слова предложения определяется, есть ли в нем слово КОСА (или его формы: КОСЫ, КОСЕ, КОСУ, КОС, КОСАМИ, КОСАХ и т. д.), и запоминается место, на котором находится это слово в предложении. Далее на основе таблицы 10 ищутся в предложении слова, стоящие влево или вправо от слова КОСА (или его форм). Если они найдены, делается вывод о значении слова КОСА, зафиксированный в средней части таблицы 10. Причем поиск влево не должен превосходить 10 слов, а поиск вправо - 4 слов.

Необходимо также отметить, что машина не может восстанавливать все формы слов из их канонического представления в словарях. Поэтому все слова, представленные в левой и правой частях таблицы 10 в алгоритме и программе, задаются во всех их возможных формах: ШЛЯПА, ШЛЯПЫ, ШЛЯПЕ, ШЛЯПАМИ, ШЛЯПАХ, КОСИТЬ, КОШУ, КОСИЛ, КОСИЛА, ..., НАКОШУ, ...

Если в процессе анализа предложения в нем не встречается ни одно из слов, зафиксированных в левой и правой частях таблицы 10, то машина делает вывод, что ей недостаточно лингвистической информации для того, чтобы сделать однозначный вывод о значении слова КОСА.

предыдущая главасодержаниеследующая глава








© Злыгостев А.С., 2001-2019
При использовании материалов сайта активная ссылка обязательна:
http://informaticslib.ru/ 'Библиотека по информатике'
Рейтинг@Mail.ru
Поможем с курсовой, контрольной, дипломной
1500+ квалифицированных специалистов готовы вам помочь