4.4. Языковой компонент

We use cookies. Read the Privacy and Cookie Policy

4.4. Языковой компонент

Увеличению эффективности ИПС в большой степени помогает более детальная обработка текста документа. Так, существуют системы, которые для простоты в качестве поискового образа документа принимают его название, однако оно в силу разных обстоятельств не всегда формально отражает содержание текста. Например, при подготовке данного материала была использована статья "А глаз как у орла", не имеющая никакого отношения ни к орнитологии, ни к окулистам. Также большое значение имеет применение программ, производящих лингвистически содержательную обработку текстов на естественном языке (учитывающую морфологию, синтаксис). Только с их помощью можно установить, являются ли похожие слова (почти все буквы одинаковые) формами одного слова или же это совершенно разные слова, в соответствие которым поставлены разные семантические единицы.

Более примитивные, лежащие на поверхности приемы могут подвести разработчика ИПС. Так, если система не учитывает никакие правила русского языка и работает с шаблонами (типа var*, text*.exe), то при поиске для Золушки кавалера, интересующегося бальными танцами, в качестве ключевого слова-шаблона придется выбрать бал* (чтобы не было потери информации, иначе можно пропустить эту характеристику, высказанную словами люблю танцевать на балах). Тогда в результате поиска ей может быть предложено познакомиться со всеми любителями балета, балыка, Бальмонта, Бальзака, со всеми, живущими около Балтийского моря, в домах с балконом, а также со всевозможными баловниками и баловнями судьбы.

Все эти претенденты будут отсеяны, если в качестве ключевого слова будет задано прилагательное бальный и система сможет распознавать его во всех его формах (применение морфологического анализа слов также дает возможность уменьшить объем тезауруса, избавив его от избыточной информации - иначе все формы одного слова приходится определять как синонимы). Еще один способ уменьшения шума и повышения точности - введение в информационно-поисковый язык аппарата работы с однокоренными словами. В нашем примере при задании ключа-корня бал выданными оказались бы только документы, содержащие разные формы слов бал и бальный. Однако и в этом случае письмо желанного принца затеряется между сообщениями о салонах бального платья, владельцах бальных залов, музыкантах и официантах, обслуживающих балы. С помощью синтаксического анализа можно более точно определять словосочетания (например, распознавать их не только когда слова стоят друг за другом, но и когда они разделены рядом других слов). В приведенном примере в системе с синтаксическим компонентом можно было бы вести поиск документов со словосочетаниями бальный танец и танцевать на балу. Конечно, и это не обеспечивает 100% точности (например, ничто не запрещает выдачу сообщений об учителях бальных танцев), однако понятно, что количество выданных документов значительно сократится, и Золушка уже не превратится в старую деву, просматривая предложенную ей системой информацию.

Развитые информационно-поисковые языки допускают использование логических связок: дурак=NOT(умный), добрый молодец=(мужчина) AND (молодой). В перспективе - возможность описания на информационно-поисковом языке смысла целой фразы (который не всегда складывается из смыслов входящих в нее слов) и возможность формулировки соответствующих семантически сложных запросов.

[1] Отметим, что в рекламе или обзорах поисковых средств часто можно встретить слова "индексирование" или "индексация". Там эти термины означают создание общего глоссария по всему массиву для увеличения скорости поиска. Для всей текстовой базы составляется список встречающихся в ней терминов, и каждому из них ставится в соответствие некоторый индекс (координаты в текстовой базе); чаще всего это номер документа и номер слова в документе. При поступлении запроса слово сначала ищется в этом списке, и по найденным координатам выдаются нужные документы. Если слов в запросе несколько, над их координатами производится операция пересечения. Именно так организован поиск статей, включающих заданное слово, в подсистемах помощи Windows.