Разработка библиотеки для осуществления адаптивного поиска в базах данных Web-приложений (бакалаврская работа) (544459), страница 2
Текст из файла (страница 2)
Рис. 1.1. Пример полнотекстового поиска в поисковой системе Google.
Первые версии программ полнотекстового поиска предполагали сканирование всего содержимого всех документов в поиске заданного слова или фразы. При использовании такой технологии поиск занимал бы очень много времени (в зависимости от размера базы), а в Интернете был бы невыполним. Современные алгоритмы заранее формируют для поиска так называемый полнотекстовый индекс – словарь, в котором перечислены все слова и указано, в каких местах они встречаются. При наличии такого индекса достаточно осуществить поиск нужных слов в нём и тогда сразу же будет получен список документов, в которых они встречаются. Наиболее распространённой технологией для индексов полнотекстового поиска являются инвертированные индексы.
Семантический поиск – процесс поиска документов по их содержанию. Для реализации механизма семантического поиска необходимо осуществить перевод содержания документов и запросов с естественного языка на информационно-поисковый язык и составление поисковых образов документа и запроса. При семантическом поиске находится множество документов без указания адресов. Пример результатов семантического поиска в поисковой системе Ask Jeeves представлен на рисунке 1.2. В Ask Jeeves пользователь задаёт вопрос на естественном языке, а система отвечает, как это делается при общении между людьми.
Рис. 1.2. Пример семантического поиска в поисковой системе Ask Jeeves.
Документальный поиск – процесс поиска в хранилище информационно-поисковой системы первичных документов или в базе данных вторичных документов, соответствующих запросу пользователя. Существуют два вида документального поиска: библиотечный, направленный на нахождение первичных документов, и библиографический, направленный на нахождение сведений о документах, представленных в виде библиографических записей. Пример результата документального поиска по электронному каталогу НТБ МЭИ можно увидеть на рисунке 1.3.
Рис. 1.3. Поиск по электронному каталогу НТБ МЭИ.
Фактографический поиск – процесс поиска фактов, соответствующих информационному запросу. К фактографическим данным относятся сведения, извлечённые из документов, как первичных, так и вторичных и получаемые непосредственно из источников их возникновения. Различают документально-фактографический и фактологический поиск. Документально-фактографический поиск осуществляет нахождение в документах фрагментов текста, содержащих факты. Фактологический поиск предполагает создание новых фактографических описаний в процессе поиска путём логической переработки найденной фактографической информации. Примером фактологической поисковой системы является Wolfram Alpha. Данная ИПС способная формировать результаты «на лету», решая различные математические задачи. На рисунке 1.4 можно увидеть результат решения квадратного уравнения в поисковой системе Wolfram Alpha.
Рис. 1.4. Решение квадратного уравнения, полученное
с помощью поисковой системы Wolfram Alpha.
Поиск по метаданным – это метод информационного поиска, при котором активно используются дополнительные данные объектов поиска (документов), поддерживаемые системой [2]. Метаданные – это дополнительная информация об используемых данных: название документа, дата создания, размер, автор и т. п. Метаданные используются для повышения качества поиска. Поисковые запросы, использующие метаданные, могут спасти пользователя от лишней ручной работы по фильтрации. Если известно, какие элементы данных связаны, и как эти связи учитывать, становится возможным осуществлять достаточно сложные операции по фильтрации и поиску. Например, если поисковой системе известно о том, что Ван Гог является голландским художником, то она может выдать в ответ на запрос о голландских художниках веб-страницу о Ван Гоге, даже если фраза «голландский художник» не встречается на этой странице. Такой подход, называемый представлением знаний, находится в сфере интересов Семантической паутины и искусственного интеллекта.
1.4. Адаптивный поиск информации
Адаптивный поиск – это поиск, при котором учитывается персональная информация пользователя, сделавшего запрос: его местоположение, история поисковых запросов и т. п. Впервые адаптивный поиск был запущен в сентябре 2011 года корпорацией Microsoft в своей поисковой системе Bing. А с 1 марта 2012 года поисковая система Google также начала использовать поисковые результаты пользователей сервисов Google+, Gmail и YouTube. Принципы, заложенные в идею адаптивного поиска, являются, бесспорно, очередным шагом в развитии информационного поиска как науки.
Адаптивный поиск не является полностью самостоятельным методом поиска информации, а представляет собой лишь общий принцип ранжирования результатов выполнения поискового запроса. Согласно этому принципу личные предпочтения пользователя выдвигаются на первый план. При этом все прочие критерии ранжирования либо вовсе отбрасываются, либо учитываются в меньшей степени.
Рассмотрим основные виды персональной информации пользователя, потенциально доступные поисковой системе.
Пол и возраст могут быть известны точно (указаны при регистрации) или приближённо (на основании анализа поисковых запросов). Использование подобной информации позволяет поисковым системам отбрасывать результаты, заведомо не интересующие данную категорию пользователей.
Местоположение – данные о конкретном географическом положении устройства, с которого был осуществлён поисковый запрос. В большинстве случаев имеется возможность определить местоположение пользователя с точностью до города. Данная информация может быть использована при выдаче территориально ориентированных поисковых результатов, например, при поиске близлежащих ресторанов, больниц и т. п.
История поисковых запросов – основной источник персональных предпочтений пользователя для поисковой системы. Основная проблема, возникающая при работе с данным видом персональной информации, заключается в его размере и постоянной пополняемости. Анализ поисковой истории пользователя может дать представление о поле, возрасте и местоположении пользователя.
1.5. Проблемы адаптивного поиска
Одной из ключевых и широко обсуждаемых проблем адаптивного поиска является так называемый «пузырь фильтров».
Пузырь фильтров (англ. «Filter bubble») – явление, при котором веб-сайты используют алгоритмы выборочного угадывания, какую информацию пользователь хотел бы увидеть, основываясь на информации о его месторасположении и истории поиска. В результате веб-сайты показывают только информацию, которая согласуется с прошлыми точками зрения данного пользователя. Вся иная информация, как правило, пользователю не выводится. Яркими примерами этого являются Google с персонализированными результатами поиска, а также Facebook с персонализированной лентой новостей. В итоге пользователи получают меньше точек зрения и становятся интеллектуально изолированными в своём собственном информационном пузыре.
Понятие «пузырь фильтров» было впервые использовано интернет-активистом Эли Парайзером и описанное в его книге с одноимённым названием. Эффект пузыря может иметь негативные последствия для формирования гражданского мнения [3].
От того, что интернет-компании стремятся подстроить свои услуги (включая новости и поисковые результаты) под наши индивидуальные вкусы, появилось опасное непреднамеренное последствие: мы оказываемся в плену у «пузырей фильтров» и не получаем информацию, которая могла бы поставить под сомнение или расширить наш взгляд на мир.
Парайзер Э. предупреждает, что потенциальным недостатком фильтрации поисковых запросов является то, что она закрывает нас от новых идей, предметов и важной информации и создаёт впечатление того, что наши узкие собственные интересы и есть всё, что существует и окружает нас [3]. Это приносит потенциальный вред, как для личности, так и для общества в целом. Согласно Парайзеру, «пузырь фильтров» оказывает вред обществу, так как он может подрывать формирование гражданского мнения и сделать людей более уязвимыми к пропаганде и манипуляциям.
Понятие «пузырь фильтров» похоже на явление, в котором люди и организации ищут информацию, которая изначально кажется им правильной, но она оказывается совершенно бесполезной, и избегают полезной информации. Проблема появляется, потому что реальная значимость конкретного факта или понятия в этих случаях очевидна только после того, как этот факт стал известен. До этого идея изучения была отклонена, потому что какой-либо факт был неправильно воспринят. Соответственно, пользователь, ищущий информацию, попадает в ловушку и не может узнать то, что ему действительно нужно, и попадает в информационное слепое пятно. Этот феномен был описан как «парадокс релевантности» [3], и это происходило во многих случаях на протяжении всего человеческого интеллектуального развития и является важной проблемой для науки и образования.
Решением данной проблемы, предоставляемым современными поисковыми системами, является полный или частичный отказ от механизма адаптации поисковых результатов. Поисковая система Google позволяет своим пользователям управлять поисковой историей запросов и тем самым влиять на работу механизма адаптивного поиска.
Ещё одной проблемой адаптивного поиска является эффект полного или частичного игнорирования любых попыток поисковой оптимизации сайта. Так как SEO (от англ. «Search Engine Optimization») – это комплекс мероприятий, целью которого является улучшение позиций сайта в выдаче поисковых систем по конкретным запросам, то в случае адаптивного поиска этот комплекс мероприятий должен быть направлен на улучшение позиции сайта в персональной выдаче каждого отдельно взятого пользователя поисковой системы. Решение данной проблемы заключается в поиске «золотой середины», позволяющей выдать одновременно и персонализированные, и оптимизированные результаты выполнения поискового запроса.
Выводы по главе 1
В данной главе были рассмотрены основные понятия, задачи и методы информационного поиска. Также дано понятие и описание идеи адаптивного поиска. Перечислены основные виды персональной информации пользователя, потенциально доступные поисковой системе.
Представленные сведения позволяют объективно рассмотреть проблему написания алгоритма адаптивного поиска в базах данных.
2. АЛГОРИТМ АДАПТИВНОГО ПОИСКА ИНФОРМАЦИИ
На момент написания данной работы алгоритмы осуществления адаптивного поиска не опубликованы и являются коммерческой тайной компаний, реализовавших идеи адаптивного поиска в своих поисковых системах. Поэтому непосредственно перед началом разработки программной библиотеки для осуществления адаптивного поиска в базах данных Web-приложений необходимо разработать и формально описать алгоритм адаптивного поиска.
Введём ряд ограничений на область действия алгоритма. Адаптивный поиск будет осуществляться для полнотекстового либо поиска по метаданным в массиве текстовых данных на основании поискового запроса пользователя. Адаптация результатов поисковой выдачи будет учитывать предпочтения пользователя, опираясь на поисковую историю.
Разработанный алгоритм адаптивного поиска представляет собой общее описание процесса получения, хранения и использования предпочтений пользователя, делающего запрос. Предпочтения представляют собой набор лексем, регулярно получаемых из поисковых запросов пользователя. Данный набор, привязанный к конкретному пользователю, хранится в таблице проиндексированных лексем базы данных. Каждая запись этой таблицы содержит идентификатор пользователя
, лексему
и счётчик лексемы
, определяющий число запросов лексемы
пользователем
. Предпочтения пользователя используются при упорядочивании результатов поиска, полученных любым из методов информационного поиска.
Приведём разработанный пошаговый алгоритм адаптивного поиска в базе данных.
1. Ввести исходные данные: поисковый запрос и идентификатор пользователя
. Идентификатор пользователя обычно представляет собой числовой номер, позволяющий однозначно отличить одного пользователя от другого.
2. Разбить запрос на лексемы, сформировав массив лексем
.
3. Удалить из массива повторяющиеся и заведомо неиндексируемые лексемы, например, местоимения, союзы и предлоги. Данный шаг необходим для уменьшения избыточности таблицы проиндексированных лексем и может быть пропущен.