Диссертация (1137159), страница 19
Текст из файла (страница 19)
изменения вдепартаменте разработок и внедрения Яндекса ...". Отсутствие слова-маркера"компания" не позволит корректно распознать второй запрос. Решениемпроблемы может послужить поддержание онтологической базы знаний окомпаниях, в которой содержится информация о том, что "Яндекс" – этокомпания.
Только лишь для выбранной предметной области возникаютпроблемы: с учетом постоянного изменения рынков, покупки, продажи,слияния и создания компаний, поддерживать данную базу в актуальномсостоянии представляется трудно автоматизируемой задачей, решение которойвыходит за рамки данной работы. Далее будем предполагать, что перед108названием сущности будет присутствовать маркер (например, для Яндекс – этокомпания, а для Спартак – команда (если речь не идет о каком-то другомзначении)). Более того, данный маркер необходим для того, чтобы связыватьрассматриваемое множество с элементами базы знаний об изменениях в составемножеств.
Нужно отметить и следующий момент: выражения "изменения вруководстве" и "изменения в составе руководства", а также "изменения вкомпании" и "изменения в структуре компании" не являются семантическиэквивалентными. Поэтому для того, чтобы распознать запрос, как относящийсяк вопросу изменения состава множеств, необходимо присутствие в текстемаркеров "состав" либо "структура".Далее будем рассматривать только два множества: «руководство» и«персонал компании», которые присутствуют в базе знаний, но длявыразительности дополним алгоритм возможностью выявления структур вида"департамент снабжения и внедрения".При анализе и разборе структуры запросов об изменениях составамножеств также используется принцип, основанный на использовании словарейспецифических слов-индикаторов, описанный в параграфе 2.7. Рассмотримзаписисловаря,соответствующиезапросамобизмененияхсоставамножеств(Таблица 3.8):Таблица3.8.Записисловарей,содержащихслова-участникиисоответствующие им типы индикаторов для запросов об изменениях составамножествТип индикатораМножество слов-участниковХС"изменение", "изменяться"ХС_2"структурный", "структура", "состав"ТР"иметь", "что", "как", "у", "за", "к", "быть", "в", "какой","каков", "касаться", "затрагивать", "происходить"ДОМ_С"компания","департамент","отдел","руководство",109"фирма", "предприятие"ДОП_УК"один","два", "три", "четыре", "пять", "шесть", "семь","восемь", "девять", "десять"ДОП_ТР"прошедший", "прошлый", "позапрошлый", "текущий"СТ_С"что","как"Из соображений целостности, определение типа данного запроса можетбыть интегрировано в алгоритм «Опр_ТЗ», описанный в параграфе 2.10.1.
Дляэтого необходимо дополнить список типов запросов, поступающих на входалгоритма, типом В_ИМ и добавить дополнительную проверку в главный циклалгоритма. Данный фрагмент будет выглядеть так:если Допуст_Типы(j) == В_ИМесли Вхождение_слова_в_словарь(Запрос(i)::Баз_Формы,Словарь::Получить_Словарь(В_ИМ, ХС))Тип_Запр := В_ИМвыход циклкесликеслиТаким образом, при наличии словаря, содержащего слова-индикаторы длязапросов достижения целей, происходит дополнение алгоритма «Опр_ТЗ»возможностью определять тип запроса об изменениях состава множеств .Для запросов данного типа также характерно присутствие в запросевременного интервала.
Пользователей интересуют изменения в составе какоголибо множества за конкретный период. Для этого будет использоваться подалгоритм «Определение_Даты», описание которого доступно в Приложении 4.Рассмотрим алгоритм получения объектов интереса запроса.Внешняя спецификация алгоритма«Разбор_Запроса_Изменения_Множеств»Назначение: Алгоритм предназначен для разбора запроса об измененияхсостава множеств. В алгоритме используется обращение к подалгоритму110«Определение_Даты», описанному выше. Передача входных параметров вданный подалгоритм будет производиться в скобках после названия алгоритмав том же порядке, в котором они описаны в его спецификации.Вход: Запрос - массив элементов типа Расш_Слово, представляющийвходной запрос; Словарь_Доп_Слов - словарь допустимых слов-индикаторов(СИ); Словарь_Доп_Слов_2 - словарь допустимых второстепенных СИ;Словарь_Домен_Слов - словарь допустимых доменных СИ; Словарь_Запр_Слов- словарь незначимых СИ, т.
е. продукций пустых цепочек.Выход: Отличит_Слово — слово-индикатор, по которому был определентип запроса. Имеет тип Расш_Слово; ОИ1 — массив элементов типаРасш_Слово, представляющий первый объект интереса. Объект интереса можетсостоять из нескольких слов, поэтому все они должны быть возвращены какзначимые; ОИ2 — массив элементов типа Расш_Слово, представляющийвторой объект интереса; Дата — массив элементов типа Расш_Слово,содержащий информацию о дате, относительно которой запрашиваетсяинформация по успехам либо неудачам.Внутренние переменные: Объект_1_Найден — индикатор ситуации, когдапервостепенный объект интереса найден; Объект_2_Найден — индикаторситуации, когда второстепенный объект интереса найден.Алгоритм «Разбор_Запроса_Изменения_Множеств»начОбъект_1_Найден := Объект_2_Найден := ложьi := f := 0пока Запрос(i) <> nil циклеслиВхождение_Слова_В_Словарь(Запрос(i)::Баз_Формы,Словарь_Доп_Слов)Отличит_Слово := Запрос(i)j := i+1пока Запрос(j) <> nil цикл111если ! Вхождение_Слова_В_Словарь(Запрос(i)::Баз_Формы, Словарь_Запр_Слов) И! Вхождение_Слова_В_Словарь(Запрос(i)::Баз_Формы, Словарь_Доп_Слов_2)если Объект_1_Найден И Вхождение_Слова_В_Словарь(Запрос(i)::Баз_Формы, Словарь_Домен_Слов)Объект_2_Найден := истинакеслиесли Вхождение_Слова_В_Словарь(Запрос(i)::Баз_Формы, Словарь_Домен_Слов)Объект_1_Найден := истинакеслиДата := Определение_Даты(Запрос, j, В_ИМ)если Дата <> nil выходесли Объект_1_Найден ИЛИ Объект_2_Найденвыходкеслиесли Объект_1_Найден И ! Объект_2_НайденОИ1(f) := Запрос(j)f := f+1иначеесли Объект_1_Найден И Объект_2_НайденОИ2(s) := Запрос(j); s:= s+1кесликесликесли; j := j+1кцикл; i := i+1кесликциклкон112Данный алгоритм позволяет определять объекты интереса запросов обизмененияхсоставамножеств,атакжедату,относительнокоторойзапрашивается информация.3.10.
Метод построения семантического расширения вопросов обизменениях в составе множествРассмотрим новый метод семантической трансформации вопроса обизменениях в составе множеств на основе предлагаемой модели.Естественным первым шагом будет являться анализ поступившего на входсемантического анализатора поискового запроса W для определения его типа иобъекта интереса. Определение типа запроса происходит при помощиалгоритма «Опр_ТЗ» . Так, поисковый запрос W = "Какие изменения были всоставе компании Газпром?" будет распознан как вопрос об изменениях составамножеств, и его объектом интереса будет являться ω1 = «компания Газпром».Элемент D, адресующий временной интервал, в данном запросе отсутствует.После того, как определено целевое множество поискового запроса W, атакже его название («Газпром»), можно приступать к генерации множествасемантическипреобразованныхзапросов,порождаемыхзапросомW.Результирующие запросы формируются на основании заполненной базы знанийоб изменениях множеств SetsKb вида (C, Comp, fdecomp, Ind, h).
Сначалапроисходит поиск по базе знаний элемента ω1[0] =" компания" с целью извлеченияинформации о составляющих элементах компании и индикаторов изменений.Значениефункцииfdecomp (ω1 [0]){создан,fdecompдляω1[0] =" компания"будетследующим:= {департамент, отдел, служба}, а функции h( fdecomp(ω1 [0]) i ) =объединен,расформирован,реорганизован,разделен},гдеfdecomp ( w1 [0]) i - один из компонентов целевого множества ω1 , полученный припомощи функции fdecomp.После того, как информация извлечена из базы знаний, необходимосгенерировать цепочки вида X+ fdecomp( w1 [0]) i + h( fdecomp(ω1 [0]) i ) j + D, где113X= ω1[1] , т.е. непосредственно название компании, i – это индекс элемента изfdecomp (ω1 [0]) , а j – индекс индикатора из множества индикаторов, полученногопри помощи функции h.
D – опциональный параметр, указывающий навременной интервал, в рамках которого необходимо анализировать изменения всоставе объекта X. Для генерации полного множества результирующихзапросов ExtSet необходимо сгенерировать все возможные сочетания элементовиз множествfdecomp (ω1 [0])и h( fdecomp(ω1 [0]) i ) .
Сгенерированный наборсловосочетаний затем передается на вход традиционной поисковой системы.На основе этого метода был разработан алгоритм построения множествапреобразованных запросов ExtSet для запросов об изменениях составамножеств.Рассмотримвнешнююспецификациюалгоритма«Расширение_В_ИМ», полное описание которого доступно в приложении 4.Внешняя спецификация алгоритма «Расширение_В_ИМ»Наначение: Алгоритм строит множество семантически преобразованныхзапросов ExtSet для запросов об изменениях состава множеств. Используетподалгоритм «Получить_Состав_Множества», обращающийся к базе знаний ипроизводящий выборку составляющих элементов для поданного на входпонятия, обозначающего множество.Вход: Отличит_Слово - слово-индикатор, по которому был определен типзапроса; ОИ — массив элементов типа Расш_Слово, представляющий объектинтереса; ОИ2 — массив элементов типа Расш_Слово, представляющий второйобъект интереса (уточняющее понятие в запросах данного типа); Доп_ОИ —дополнительный значимый объект интереса, влияющий на смысл запроса.Выход: ExtSet — множество семантически преобразованных запросовВнутренниесоставляющихпеременные:заданноеМас_Сост_Элмножество,каждый–массивэлементэлементов,содержитполе,являющееся массивом индикаторов изменений (ИндИзм) для данного элемента.Мас_Инд – промежуточный массив для хранения ИндИзм.Сгенерированный набор словосочетаний затем передается на входтрадиционной поисковой системы, чтобы определить документы, содержащие в114себе информацию об изменениях в составе компании.