Главная » Просмотр файлов » Диссертация

Диссертация (1137159), страница 22

Файл №1137159 Диссертация (Математическое моделирование и программная реализация семантического преобразования поисковых запросов) 22 страницаДиссертация (1137159) страница 222019-05-20СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 22)

Рассмотрим компоненты данной подсистемы болеедетально.База знаний для поддержки поиска содержит в себе словарь словиндикаторов, базу целей и базу множеств. Структура базы знаний представленана рисунке 4.6.Таблица GoalFact содержит в себе информацию о фактах достижения целейи привязанные к ним шаблоны семантических трансформаций (таблицаTransformationRule).ТаблицаSetEntityсодержитинформациюорассматриваемых множествах, их компонентах (таблица SetComponent) ииндикаторах изменений в составе множеств (таблица ChangeIndicator). ТаблицаIndicatorWord хранит в себе информацию о словах-индикаторах, являясь, посути, словарем.Рисунок 4.6. Структура базы знаний для поддержки поиска.Модуль анализа и расширения поисковых запросов содержит в себе логику,реализующую разработанные алгоритмы определения типа и объектов интересапоисковых запросов, а также алгоритмы построения расширенного множества130данных запросов.

При работе модуль использует базу знаний для поддержкипоиска, а также клиенты к веб-сервисам лингвистической базы знаний (ЛБЗ) иаспектно-ориентированной базы знаний (АОБЗ). Взаимодействие с вебсервисами происходит стандартными средствами выбранной платформыреализции.Модуль взаимодействия с поисковой системой является независимым иможет быть использован как компонент любой другой системы. В данномслучае в модуле реализована логика взаимодействия с поисковой системойЯндекс посредством Яндекс.XML API.

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

Стартовая страница поисковой системывыглядит следующим образом (рисунок 4.7):Рисунок 4.7. Стартовая страница AOS Engine.1314.1.2.5 Выбор платформы реализацииОсновываясь на разработанной архитектуре программного комплекса,определим список необходимых библиотек, компонентов и программныхрешений, позволяющих реализовать данную архитектуру.Требования к Лингвистической Базе Знаний: (1) поддержка взаимодействияс базой данных; (2) наличие системы ORM; (3) поддержка пула соединений сбазой данных; (4) поддержка сетевого взаимодействия; (5) поддержка работы сфайловой системой; (6) поддержка веб-сервисов.Требования к Аспектно-Ориентированной Базе Знаний: (1) поддержкавзаимодействия с базой данных; (2) наличие системы ORM; (3) поддержка пуласоединений с базой данных; (4) поддержка сетевого взаимодействия; (5)поддержка работы с форматом Microsoft Excel; (6) поддержка веб-сервисов; (7)наличие веб-интерфейса.Требования к подсистеме AOS Engine: (1) поддержка взаимодействия сбазой данных; (2) наличие системы ORM; (3) поддержка пула соединений сбазой данных; (4) поддержка сетевого взаимодействия; (5) поддержкавзаимодействия с веб-сервисами; (6) поддержка обработки формата XML; (7)наличие веб-интерфейса.Учитываяперечисленныетребованияитребованиеккросс-платформенности, а также принимая во внимание наличие разнообразных вебкомпонентов и нескольких баз данных, в качестве платформы реализации,удовлетворяющей разработанной архитектуре, была выбрана Java SE 6.Рассмотрим существующие решения для данной платформы, удовлетворяющиепоставленным требованиям (таблица 4.4).Таблица4.4.СоответствиепрограммныхрешенийпредъявляемымтребованиямТребованиеРешение Описание решенияВзаимодействия JDBCПлатформенно-независимыйс базой данныхстандартвзаимодействияпромышленныйJava-приложенийс132различными СУБД, реализованный в виде пакетаjava.sql, входящего в состав Java SE [69].Система ORMHibernate Библиотека для языка программирования Java,предназначенная для решения задач объектнореляционногопроецированияmappingORM).-(object-relationalДаннаябиблиотекапредоставляет лёгкий в использовании каркас(фреймворк)дляотображенияобъектно-ориентированной модели данных в традиционныереляционные базы данных [86].Пул соединений c3p0Простойс базой данныхинтегрированный с Hibernate [43].Сетевоевиспользованиипулсоединений,java.net.* Пакет для сетевого взаимодействия, входящий ввзаимодействиестандартный комплект поставки JDK.РаботаПакет для работы с файловой системой, входящийс java.io.*файловойв стандартный комплект поставки JDK.системойВеб-сервисыJAX-WS Прикладной программный интерфейс языка Javaдля создания веб-сервисов, являющийся частьюплатформыJava.JAX-WSпредоставляетдокументо-ориентированную модель сообщений иупрощаетразработкувеб-сервисовзасчётиспользования аннотаций [71].Работас POIНабор библиотек Apache Foundation, написанныхдокументамина Java и предназначенных для обработки иMicrosoft Excelсоздания файлов формата Microsoft Office, такихкак Word, PowerPoint и Excel [34].Обработка XML JDOMCвободнаяJava-реализацияDOMдляXML,133созданнаясучетомособенностейязыкаиплатформы Java.

JDOM интегрируется с DocumentObject Model (DOM) и Simple API for XML (SAX),поддерживает XPath и XSLT [70].Веб-интерфейсGWTGoogle Web Toolkit (GWT) - Java-фреймворк,который позволяет веб-разработчикам создаватьAjax-приложения на основе Java [66].Помимочастныхкомпонентов,необходимыхдляобеспеченияфункциональности подсистем программного комплекса, также необходимысервер баз данных и контейнер для обработки HTTP-запросов к компонентам,предоставляющим доступ по HTTP.

В качестве сервера баз данных был выбранMySQL Server [77], поскольку он является бесплатным и разрабатывается темже производителем, что и платформа Java. Помимо этого, сервер выдерживаетвысокие нагрузки и поддерживает различные модели репликации. В качествевеб-контейнера был выбран Apache Tomcat[35] в силу того, что данный продуктуспешно используется в промышленной эксплуатации и имеет простуюнастройку при больших возможностях.Впроцессеразработкибудетиспользоватьсяцентрализованныйрепозиторий исходного кода code.google.com с установленной системойконтроля версий Git[65].

Также при разработке программного комплекса будетиспользоваться система автоматизированной сборки приложений Maven [33]для обеспечения большей стабильности и переносимости исходного кода.Исходные коды подсистем Лингвистической Базы Знаний и AOS Engineдоступныпоадресуhttp://code.google.com/p/aosengine/.Исходныекодыподсистемы Аспектно-Ориентированая База Знаний доступны по адресуhttp://code.google.com/p/aokb/.4.2 Разработка итогового алгоритма построения расширенногомножества запросов и ранжирования результатовВ предыдущих главах упоминались алгоритмы извлечения данных из134аспектно-ориентированной базы знаний, лингвистической базы знаний, а такжеиз базы целей и базы множеств.

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

Ссылки на исходный код подалгоритмов извлечения данныхиз базы.АлгоритмСсылка на исходный кодПолучение аспектов для http://code.google.com/p/aokb/source/browse/server/srпонятияc/main/java/ru/agiledev/akb/ws/AKBServiceImpl.javaПолучениеhttp://code.google.com/p/aosengine/source/browse/wikiконцептуального/wikiservice/src/main/java/ru/agiledev/wikiservice/Wikокружения слова, а также tionaryServiceImpl.javaстемминг словаИзвлечение информации http://code.google.com/p/aosengine/source/browse/coreиз базы целей и базы /src/main/java/ru/agiledev/aos/analyzer/QueryExtender.множествjavaРассмотрим итоговый алгоритм анализа и расширения поисковых запросоваспектно-ориентированного типа, вопросов достижения целей и вопросовизменения состава множеств.Внешняя спецификация алгоритма «Анализ_и_Расш_Запр»Вход: Текст - Цепочка W ∈ Linput - входной запрос; Словарь_Старт_Слов— словарь стартовых слов, содержащий типы запросов, которые могутначинаться с того или иного слова; РассмТипы — массив, содержащий строки,соответствующие всем типам запросовВыход: ExtSet — множество семантически преобразованных запросов.135Внутренние переменные: Тип_Запр — тип запроса; Допустимые_Типы —массив,содержащийстроки,соответствующиетипамзапросов;Отличит_Слово — слово-индикатор, по которому был определен тип запроса;ОИ — массив элементов типа Расш_Слово, представляющий объект интереса;ОИ2 — массив элементов типа Расш_Слово, представляющий второй объектинтереса; Доп_ОИ — дополнительный значимый объект интереса, влияющийна смысл запроса.Алгоритм «Анализ_и_Расш_Запр»начПредОбр_Запр := Первичная_Обработка_Запроса(Текст)Доп_Типы := Опр_Тип_Запр_По_СТ_С(ПредОбр_Запр(0))Тип_Запр := nilесли Доп_Типы <> nil тоТип_Запр := Опр_ТЗ(ПредОбр_Запр, Доп_Типы, ХС)иначеТип_Запр := Опр_ТЗ(ПредОбр_Запр, РассмТипы, ХС)кеслиесли Тип_Запр == nil то выходОтличит_Слово := ОИ := ОИ2 := Доп_ОИ := nilесли Тип_Запр == В_ДЦРасширение_В_ДЦ(Отличит_Слово, ОИ, ОИ2, Доп_ОИ, ExtSet)иначе если Тип_Запр == В_ИМРасширение_В_ИМ(Отличит_Слово, ОИ, ОИ2, Доп_ОИ, ExtSet)иначеРасширение_АО_Запр(Тип_Запр, Отличит_Слово, ОИ, ОИ2, Доп_ОИ,ExtSet)кесликонРезультаты тестирования итогового алгоритма приведены в приложении 8 идемонстрируют высокое качество работы алгоритма на достаточно большом136объемеразличныхзапросов.Ссылкинаисходныйкодпрограммы,реализующий представленные алгоритмы, представлены в таблице 4.6.Таблица 4.6.

Ссылки на исходный код алгоритмовАлгоритмОпределениеСсылкатипа http://code.google.com/p/aosengine/source/browse/core/srзапросаc/main/java/ru/agiledev/aos/analyzer/QueryAnalyzer.javaОпределение объектов http://code.google.com/p/aosengine/source/browse/core/srинтереса запросаc/main/java/ru/agiledev/aos/analyzer/QueryParser.javaПостроениеhttp://code.google.com/p/aosengine/source/browse/core/srсемантическогоc/main/java/ru/agiledev/aos/analyzer/QueryExtender.javaрасширения запросовРанжированиеhttp://code.google.com/p/aosengine/source/browse/core/srрезультатовc/main/java/ru/agiledev/aos/core/ResultsRanker.javaАлгоритм ранжирования результатов в силу его простоты не приводится.Алгоритм определяет релевантность следующим образом: итерируя по массивувозвращенных поисковой системой документов, алгоритм сначала определяетналичие объектов интереса в представленном системой сниппете, а затемопределяет повторные вхождения одного и того же документа в выборку,используя в качестве уникального ключа URL страницы.

Если былообнаружено повторное вхождение, то повышается рейтинг документа, которыйуже содержится в выборке. После этого полученное множество сортируется позначению данного рейтинга.Разработанный программный комплекс в настоящее время развернут ифункционирует. Доступ к подсистемам можно получить по следующим URLадресам (таблица 4.7):Таблица 4.7. URL-адреса разработанных подсистемПодсистема/КомпонентURLAOS Enginewww.aosengine.ruЛингвистическая База Знаний (веб-сервис)www.aosengine.ru/wikiser137viceАспектно-ориентированная база знаний (интерфейс) www.aosengine.ru/akbАспектно-ориентированная база знаний (веб-сервис) www.aosengine.ru/akb/ws4.3 Исследование полученных результатовНеобходимо исследовать полученные результаты разработки методапреобразованияпоисковыхзапросовразличныхтипов(аспектно-ориентированные запросы, запросы о достижении целей, запросы обизменениях в составе множеств).

Характеристики

Список файлов диссертации

Математическое моделирование и программная реализация семантического преобразования поисковых запросов
Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6392
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее