Основной задачей, возникающей при работе с электронными коллекциями, является задача поиска документов по их содержанию. Основная проблема заключается в сложности точной формулировки запроса — подбора ключевых слов, которые предстоит искать в тедах документов.
Для эффективного семантического поиска необходима информация о предметной области, свойственных ей понятиях и отношениях между ними, ограничениях свойственным этим отношениям. Какую информацию принято называть онтологией. Формально определим онтологию как множество
0=(L,C,F,Rb),
где —- словарь терминов предметной области L={(Wj,x!)}j=ItN-; Wi— термин, возможно более одного слова; х,- — его рейтинг относительно других терминов в концепции; С — набор понятий (концепций), С={сх}^1М; F— функция интерпретацииF(L)—*C, которая сопоставляет набору терминов из словаря подмножество концепций;
F1— обратная функция интерпретации Fl(c^-^L, которая сопоставляет одной концепции набор терминов из словаря, с рейтингом больше среднего для данной концепции;
Rh— отношения иерархии между концепциями [1]. Функция интерпретации возвращает список концепций /с^/.л, у которых вероятность выбора максимальная в случае запроса и.
Поисковый запрос и обрабатывается онтологией следующим образом:
1. и = с1, т. е. поисковый запрос совпадает с названием концепции сLв онтологии О, в этом случае расширяем поисковый запрос по следующей формуле U= иUF'l(ct).
- wiс L, wfeм — поисковый запрос или его часть совпадает fподмножеством словаря онтологии, тогда расширяем запрос по формуле ^ = w U ^U F~l
- На основе запроса U производим контекстный поиск по коллекции документов.
В результате алгоритм семантического поиска свелся к определению наиболее релевантных концепций онтологии. Данный алгоритм был реализован на языке PL/SQL(серверная часть),VBSCRIPT(клиентская часть).
Например, по запросу «вирусы и бактерии» будут найдены ресурсы, содержащие термины микробиология, микроорганизмы, бактериальные клетки, микроб, возбудители болезней, инфекция, иммунология, вирусология.