greenadine: (Default)
[personal profile] greenadine
Алгоритм семантического анализа Арисема - для [livejournal.com profile] smilga и всех интересующихся.
(Речь идёт об алгоритме, разработанном и использующемся нашей фирмой Арисем. Эта довольно техническая заметка написана в дополнение к старой популярной статье о моей работе, незнакомым с сюжетом рекомендуется сначала прочитать её.)
Цель программы - выбрать из некоего набора документы (текстовые файлы различных форматов), посвящённые определённой тематике, релевантные (pertinents) по отношению к запросу пользователя, выраженному естественным языком.
Программа определяет релевантность, сравнивая запрос и документ. Это сравнение необходимо в 3х случаях:
  1. при поиске информации в интернете (crawling) для подбора совокупности текстов на определённую тему,

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

  3. и при полнотекстовом семантическом поиске в каком-то наборе документов (например, в одном из деревьев).
Когда документ попадает в систему, для него создается так называемый метатекст. Для этого используется база знаний (knowledge base), о которой необходимо сказать пару слов. Она входит в более глобальную базу SQL и содержит концепты, связи между концептами и лексику для каждого концепта. На сегодняшний день поддерживаются 5 языков (фр., анг., нем., исп. и итал.). Сеть концептов общая, лексика, соответственно, своя для каждого языка + флексии и правила их генерации. Концепты, в отличие от слов, недвусмыслены (для многозначных слов используются другие концепты в качестве контекста, дабы программа могла выбрать нужное значение), для каждого концепта можно определять неограниченное число лексикализаций (слов и выражений, выражающих его в тексте). Связи бывают, по сути, 2-х типов (гиперонимическая и ассоциативная) и служат для более полного учёта контекста (например, чтобы на запрос "собака" найти текст со словом "пудель", и для разрешения многозначности). База открытая, каждый клиент изменяет и дополняет её "под себя".
Когда возникает необходимость определить релевантность документа по отношению к запросу, программа сравнивает метатексты запроса и документа, рассчитывает их пересечение и выводит "оценку релевантности". В зависимости от порогов, определённых человеком, документ проходит семантический фильтр (запроса) или нет.

Date: 2003-04-28 11:28 am (UTC)
From: [identity profile] alekro.livejournal.com
Статью прочитал, очень интересно. Мне Грин рассказывал в том году летом об этой ноледж базе с семантическими прибамбасами.
Забавно, я пришел в одном своем проекте (домашнем) к аналогичным вещам, только называл их чуть по другому (у меня то задачи проще, так что необессудьте ;).Вроде получается: вместо концептов классификаторы/рубрики, именованные (типовые) связи между ними и т.д.).
Я также встречал описания семантических баз данных, точно описанных в статье.
Интерсено, а что там в интерфейсе значат якори? :)
Посмотрев еще с минуту/другую, понял, что можно эти диаграммки рисовать на УМЛ со стереотипами (сем связи, да и объекты-понятия тоже можно).
Усе, чего то руки зачесались заимлементить сей алгоритм :))

Profile

greenadine: (Default)
greenadine

December 2025

S M T W T F S
 123456
78910111213
141516 17181920
21222324252627
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 11th, 2026 09:04 am
Powered by Dreamwidth Studios