Универсальный язык поисковых запросов
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) следуют такие его свойства, как:     Процедура поиска / метапоиска может выглядеть следующим образом.
    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
Дата последнего редактирования 07.10.2021
© Кузнецов Сергей Валентинович


Сайты (Сергей Кузнецов / Кузнецов С.В.):
Всепроникающее обучение
Исследование рисков и поиск возможностей через Интернет
Невидимый Интернет для бизнеса
Юридические исследования через Интернет
Средства автоматизации веб-поиска:
Мастер поиска
Заполнитель поисковых запросов на основе Мастера
Конструктор поисковых запросов на основе Мастера
Сценарий поиска через Яндекс: Рыночные ниши
Сценарий поиска через Яндекс: Выявление проблем
Сценарий поиска через Яндекс: Определения
Услуги (Сергей Кузнецов / Кузнецов С.В.):
Тематический мониторинг открытых источников
Поиск и мониторинг ниш на рынках
Технологические исследования через Интернет
Очные компьютерные тренинги
Дистанционное обучение
Об авторе: Резюме Сергея Кузнецова
Фотогалерея Сергея Кузнецова
Публикации и работы Сергея Кузнецова
Правила Сергея Кузнецова
Мифы о Сергее Кузнецове
Технологические работы Сергея Кузнецова
В разработке