Универсальный язык поисковых запросов
Universal search query language (USQL)
Введение.
При использовании сервиса "Тематический метапоиск" или оригинальной поисковой системы (базовые требования в нем см. в статье "Технологическая основа базы знаний") пользователю могут предоставляться несколько вариантов описания решаемой проблемы / цели поиска (в вероятном порядке убывания частоты использования):
В любом случае для ведения качественного параллельного поиска по многим открытым источникам нужны конверторы (трансляторы) запросов с языка одной поисковой системы на язык другой поисковой системы. На первых порах можно вручную писать такие конверторы для каждой пары используемых в конкретном сервисе метапоиска поисковых систем (например, в первом пилотном проекте "Тематический метапоиск"). При выходе на динамические (формируемые на лету под задачу) реестры открытых источников (второй пилотной проект "Тематический метапоиск") такой подход (подготовка парных конверторов) уже в принципе не реализуем.
Что же выполнимо?
1. Многоязычные тезаурусы, такие как Интерактивная терминология Европы (24 языка) развивались от базового языка (французского, FR) через систему парных трансляторов (FR<->BG, FR<->CS, FR<->DA, ..., FR<->SV, приведены двухбуквенные коды европейских стран по ISO 3161). Таким образом, перевод термина с болгарского (BG) на шведский (SV) ведется через транзитный французский язык по следующией упрощенной схеме: BG -> FR ->SV. Число парных трансляторов для такой системы транзитного перевода будет равно числу языков минус единица, т.е. всего 23. А количество парных трансляторов для системы перевода без транзитного языка будет равно числу сочетаний из числа языков по два, т.е. 24!/(2!*22!)=276. Создание и поддержание в рабочем состоянии такого количества трансляторов нереально. Таким образом, без транзитного языка поисковых запросов в метапоиске по многим поисковым системам не обойтись. Условно назовем такой язык "Универсальным языком поисковых запросов" / Universal search query language (далее - "USQL").
2. Для снижения числа парных конверторов языки запросов поисковых систем и баз данных Интернет группируются в многомерную систему функциональных классов (фасетно-иерархическую функциональную классификацию поисковых систем, разнообразие поисковых возможностей можно очень поверхностно оценить по авторскому определению понятия "поисковая система" из словаря терминов брошюры "Исследование рисков и поиск возможностей через Интернет". Это позволяет кардинально уменьшить число парных трансляторов между функциональными классами при повышении качества конкретного транслятора и его быстродействия. Примеры функциональных классов: поисковая система работает или не работает со словоизменениями немецкого языка; поисковая система может искать или не может фразы (упорядоченные последовательности заданных слов без лишних терминов между ними) и т.п. Некоторые функциональные классы просматриваются в 3 и последующих разделах компактного описания поисковой системы Яндекс.
Определение понятий.
Язык поисковых запросов (search query language) состоит из лексических единиц, модификаторов и шаблонов лексических единиц, операторов, логических скобок, регулярных выражений, сравнений, диапазонов и иных конструкций.
Назовем универсальным языком поисковых запросов язык поисковых запросов, позволяющий простой заменой операторов и других конструкций языка запросов любой известной поисковой системы получить эквивалентный запрос, а также пригодный для реализации абстрактных идей поиска. Проще говоря, универсальный язык содержит в себе эквиваленты всех конструкции всех известных поисковых систем. Универсальный язык поисковых запросов включает в форме операторов и других конструкций все рубрики фасетно-иерархической функциональной классификации поисковых систем (см. выше). С технологической точки зрения это означает, что преобразование запроса конкретной поискововой системы в синтаксис универсального языка запросов сводится к банальной операции поиска и замены.
Абстрактная идея поиска - представление пользователя о возможных целях и границах поиска, сформулированное в виде свободного описания его неудовлетворенности или желания. Примеры абстрактных идей поиска: "Хочу найти партнера для продвижения товара или услуги в странах Азиатско-Тихоокеанского региона" или "Что делать, если меня мучают головные боли утром по понедельникам?".
Концепция.
Из определения универсального языка поисковых запросов (USQL) следуют такие его свойства, как:
- открытость, т.е. язык постоянно развивается
- вместе с проектом "Тематический метапоиск" по мере исчерпания известных поисковых систем конкретного сегмента Интернет (например, доменной зоны RU, аккредитованной для Российской Федерации) и иных значимых доменных зон,
- по мере развития известных поисковых систем,
- по желаниям пользователей / заказчиков / инвесторов,
- по мере развития и реализации методов исполнения абстрактных идей поиска
- и в меру фантазий и прогнозов разработчиков.
- высокая функциональность, т.е. языком можно реализовать любую задачу поиска, например, искать с опечатками в заголовках "киев" или в ссылках "дядька", причем сумма более 300000 евро должна упоминаться в русскоязычных документах любых форматов, опубликованных везде, кроме сайтов Дальневосточного Федерального округа РФ;
- командный характер (язык запросов состоит из команд и использует булеву логику);
- объектно-ориентированность, т.е. имеется возможность создавать абстрактные типы данных, например, персональные данные или денежные суммы, и методы или функции, например, "искать аналитику", объединяя их в классы (произвольную комбинацию данных заданных типов и методов их обработки) для реализации поисковых формул, поисковых шаблонов и иных абстрактных поисковых операций, фильтров, вплоть до изменения логики вывода;
- локализуемость, т.е. предназначенность для работы с использованием любого национального языка и с текстами на любом языке
- и другие свойства.
Процедура поиска / метапоиска может выглядеть следующим образом.
1. Запрос пользователя любой формы преобразуется (подходящим конвертором или классом) в один или группу запросов в синтаксисе USQL.
2. Если сформирована собственная база текстов и с ее использованием получен ненулевой результат, тут же выдается результат поиска. В противном случае или по требованию пользователя "Нужно всё!" выполняется тематический метапоиск.
2. Исходя из структуры и лексики запроса пользователя из известных поисковых систем подбираются наиболее содержательно интересные открытые источники (возможные критерии такого отбора см. в п.3.1.2. статьи "Невидимый Интернет...").
3. Для каждой содержательно интересной поисковой системы с учетом ее класса функциональности формируется USQL-запрос приемлемой сложности (класса функциональности конкретной внешней поисковой системы). Следует особо отметить трудность качественного понижения класса функциональности профессиональных (сложных) запросов (см. примеры). Например, запрос с конструкцией "искать фразу со словоизменениями" за минимальное время и практически без потери полноты и точности поиска и заметного усложнения результирующего запроса нужно привести к запросу с конструкцией "искать фразу без словоизменений". Для решения подобной задачи без обращения к внешним сервисам нужно сформировать собственный представительсный корпус текстов (базу данных) и желательно использовать собственную поисковую систему. На первых порах возможно использование для поиска по собственной базе данных поисковую систему одного из сторонних производителей, но ее функциональность должна быть не ниже самой высокофункциональной поисковой системы из используемых в проекте "Тематический метапоиск".
4. USQL-запрос приемлемой сложности поиском и заменой конструкций преобразуется в синтаксис языка запросов конкретной внешней поисковой системы.
5. С каждым внешним поисковым сервером открывается сеанс работы (например, загрузкой страницы "Расширенный поиск"), после чего направляется один или группа поисковых запросов для сбора достаточного количества требуемого пользователю материала.
6. Собранный со всех содержательно интересных источников материал рафинируется (удаляются дубли, учитываются все ограничения, возможно загружаются полные тексты, сортируются по заданным критериям и, возможно, упаковываются) и выдается пользователю.
Развитие USQL может идти по следующим направлениям.
1. Диалоговые помощники формирования поисковых запросов документируют знания пользователей в синтаксисе USQL. Это позволит избежать транзитного конвертирования и повысить быстродействие системы поиск и метапоиска.
2. В случае любых затруднений при формулировании стоящей проблемы (неудобства или желания) пользователю может предлагаться помощник целеполагания (уточнения и, возможно, переформулирования проблемы и, возможно, выбора цели поиска). Помощник целеполагания способен удовлетворить пользователя вообще без поиска (снять проблему в результате ее переформулирования) и в любом случае сделает поиск более продуктивным (т.е. достижение цели поиска будет реально способствовать снятию проблемы пользователя и/или профилактике ее рецидивов). Представляется перспективным развитие системы диалоговых помощников в направлении анализа собранного материала и синтеза нестандартных решений.
Области применения.
Возможные сферы применения универсального языка поисковых запросов (USQL):
1. Открытая спецификация USQL может стать техническим заданием для развития оригинальной полнотекстовой поисковой системы и любых связанных продуктов (полнотекстовая система управления базами данных, система документооборота, база знаний...) в виде различных версий (сетевая, локальная, портативная, мобильная, версия для CD...) для основных платформ (Unix, Linux, Android, Windows, Mac...).
2. Объектно-ориентированный характер USQL позволяет его использовать для документирования знаний высокого уровня абстрактности в форме сложных поисковых запросов, использующих соответствующие классы. Это позволяет позиционировать USQL и соответствующие виртуальные помощники в качестве предельно простого инструментария для формирования систем классифицирования текстов, систематизации и документирования знаний, публичного доступа к социально значимой и официальной информации (официальные проекты типа "Электронное правительство"). Также уместно говорить о создании библиотек запросов USQL для поиска и систематизации в конкретной области знаний, отрасли промышленности, сфере управления или технологий.
3. На основе подмножества USQL можно разработать открытый стандарт процедуры документирования знаний, обеспечивающий возможность потоковой систематизации корпусов текстов и баз данных с целью практической реализации концепции "Семантического Интернет / Semantic Web".
Опубликовано по адресу: http://www.knowbase.ru/usql.htm
Дата последнего редактирования 23.04.2025
© Кузнецов Сергей Валентинович