13.5.7. Средства лингвистической поддержки

Как уже отмечалось, при обработке полнотекстовых документов и пользовательских запросов в полнотекстовых системах текстового поиска приходится иметь дело с так называемыми средствами обработки естественного языка (NLP). Эти средства представляют собой довольно сложный и важный функциональный компонент таких систем.

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

Для выполнения указанных функций в большинстве систем рассматриваемого класса используются комплексы средств лингвистической поддержки. Такой комплекс может включать различные словари, тезаурусы, онтологические спецификации предметной области системы и т.д.

В системах текстового поиска, имеющих дело с обработкой естественного языка, могут поддерживаться словари общеязыковой лексики и лексики предметной области. Такие словари служат для морфологического анализа текста, для обеспечения отождествления слов в различных грамматических формах в процессе поиска, а также для построения некоторых видов представлений документов и запросов. В некоторых системах, например, оперирующих мультиязыковыми документами, используются также переводные словари.

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

В настоящее время применяется два способа создания тезаурусов - ручной и автоматический. Вручную, как правило создаются универсальные, независимые от конкретной коллекции документов тезаурусы. Однако, к сожалению, разработка тезауруса вручную является весьма дорогостоящим, кропотливым и трудоемким делом, требующим значительного времени. Поэтому на практике часто используют автоматическое создание тезаурусов. Методы решения этой задачи начали разрабатываться еще в начале 60-х годов прошлого века. Автоматическое создание тезаурусов осуществляется обычно для заданных коллекций текстовых документов. Поэтому такие тезаурусы предназначены для работы именно с этими коллекциями.

В системах, использующих тезаурус, он позволяет, например, при поиске по ключевым словам расширять запрос, включая в него синонимы первоначально заданных пользователем ключевых слов и обеспечивая тем самым более полный поиск. Могут быть отождествлены синонимы в документе и в запросе. Тезаурусы также часто используются в процессе ручного или автоматического индексирования документов.

Для адекватной интерпретации пользователем и/или системой содержания текстовых документов и поисковых запросов, представленных на естественном языке, система должна располагать контекстом, который определяет основные понятия предметной области и различного рода семантические связи между ними. Это описание не зависит от содержащихся в системных коллекциях конкретных документов и представляет собой спецификацию концептуализации предметной области системы. Такая спецификация, выраженная явным образом, называется онтологией предметной области.

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

Онтология предметной области может поддерживаться в системе с различной степенью формализованности. В простейшем случае она представляется в виде некоторого вербального описания. Тогда она предназначена для использования человеком на стадии индексирования документов и при формулировке запросов. В более сложном случае онтология представляется в формализованном виде на языках представления знаний, допускающих логический вывод. Такие системы называют интеллектуальными.

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

Другой, неформальный способ описания онтологии, который довольно широко применяется в системах текстового поиска, - это представление ее в форме тезауруса предметной области системы.

Для формального описания онтологий в развитых системах используются различные формальные языки, допускающие логический вывод. Большинство таких языков основано на логике первого порядка. Довольно широкое распространение получил для представления онтологий язык указанной категории KIF (Knowledge Interchange Format), разработанный в начале 90-х гг. в Лаборатории систем знаний (KSL) Стэнфордского университета.

Одной из последних разработок, посвященных созданию средств формального описания онтологий, является стандарт консорциума W3C языка определения онтологий (Web Ontology Language, OWL). Этот язык предназначен для Веб нового поколения. Но он, несомненно, найдет применения и в интеллектуальных системах текстового поиска.