Область техники, к которой относится изобретение
[1] Настоящая технология относится к поисковым системам в целом и, в частности, к способу и системе для формирования подсказок по расширению поисковых запросов в поисковой системе.
Уровень техники
[2] Различные глобальные и локальные сети (Интернет, World Wide Web, локальные сети и т.д.) обеспечивают пользователю доступ к огромному объему информации. Информация включает в себя множество контекстно-зависимых тем, таких как новости и текущие события, карты, информация о компаниях, финансовая информация и ресурсы, информация о дорожном движении, информация об играх и развлечениях и т.д. Пользователи применяют разнообразные клиентские устройства (настольный компьютер, ноутбук, смартфон, планшет и т.д.) для получения доступа к богатому информационному содержимому (изображениям, аудиоматериалам, видеоматериалам, анимации и другому мультимедийному контенту из таких сетей).
[3] Пользователь может иметь доступ к ресурсу через сеть связи двумя основными способами. Пользователь может получать непосредственный доступ к конкретному ресурсу путем ввода адреса этого ресурса с клавиатуры либо путем перехода по ссылке в электронном сообщении или на другом веб-ресурсе. Пользователь также может выполнять поиск интересующего ресурса с использованием поисковой системы. Последний вариант особенно удобен, когда пользователю известна интересующая его тема, но не известен точный адрес представляющего интерес ресурса.
[4] Когда пользователь выполняет веб-поиск с использованием поисковой системы, он обычно преследует две основных цели. Ему нужно, чтобы поисковая система обнаружила наиболее релевантные результаты и чтобы это было выполнено относительно быстро. В настоящее время для по меньшей мере частичного решения этих задач пользователю, использующему поисковую систему, предлагаются варианты поискового запроса, также известные как «подсказки». Например, в ответ на ввод пользователем с клавиатуры поискового запроса «Molly» в поисковой системе Google™, пользователю в раскрывающемся меню предоставляется список подсказок, а именно, «Molly Ringwald», «Molly Maid» и т.д. Общая идея формирования подсказок заключается в обеспечении более удобного для пользователя поискового интерфейса и содействия пользователю в исследовании интересующего его вопроса. Например, пользователь может точно не знать, какой запрос обеспечит получение требуемой информации, а подсказки по поиску могут способствовать поиску пользователем необходимой или подходящей информации. Затем пользователь может просмотреть результаты поиска и выбрать требуемую ссылку для ознакомления.
[5] В представленном на фиг. 1 иллюстративном не имеющем ограничительного характера примере пользователь, который в веб-браузере 30 на клиентском устройстве ввел с клавиатуры в омнибокс 35 поисковой системы 235 часть запроса «John Doe», может получить различные подсказки, такие как «John Doe mayor of New York City», «John Douglas», «John does maths on monday wednesday thursday and friday». Обычно такие подсказки по расширению поискового запроса основаны на прошлой популярности суффиксов реальных прошлых поисковых запросов и зависят от введенных префиксов (т.е. части поискового запроса, введенной пользователем к этому моменту времени).
[6] Таким образом, для содействия выполняющему запрос человеку поисковая система может предложить ему дополнительные запросы. Существуют разнообразные технологии, которые поисковая система может использовать для определения таких дополнительных запросов и каждая из этих технологий обычно обеспечивает большой набор запросов, которые потенциально могут быть предложены поисковой системой. При этом поисковые системы опционально предлагают запросы, относящиеся к темам или событиям, ставшим популярными в течение короткого периода времени, которые могут заинтересовать пользователей поисковой системы.
[7] В патенте US 9081851 (Google Inc., опубликован 14 июля 2015 г.) описан набор упорядоченных прогнозируемых строк расширения, которые представляются пользователю по мере того, как он вводит текст в поле ввода текста (например, в браузере или в панели инструментов). Прогнозируемые строки расширения могут быть представлены в виде универсальных указателей ресурсов (URL, Universal Resource Locator) или в виде строк запроса. Упорядочение может основываться на любом количестве факторов (например, на частоте отправки запроса сообществом пользователей). URL-адреса могут ранжироваться на основе значения важности URL-адреса. Конфиденциальность обеспечивается несколькими способами, например, ранее отправленный запрос используется, только если этот запрос был отправлен несколькими уникальными инициаторами запросов, количество которых превышает заданное значение. Наборы упорядоченных прогнозируемых строк расширения формируются путем сопоставления значения цифрового отпечатка пользовательской строки ввода с табличной картой цифровых отпечатков, содержащей набор упорядоченных прогнозируемых строк расширения.
[8] В патенте US 8156109 (Google Inc., опубликован 10 апреля 2012 г.) описана система поиска, контролирующая ввод поискового запроса пользователем. До завершения ввода пользователем поискового запроса система поиска определяет и отправляет поисковой системе часть запроса в качестве частичного запроса. На основе частичного запроса поисковая система формирует набор прогнозируемых запросов. Этот процесс может учитывать прошлые запросы, отправленные сообществом пользователей, и профиль пользователя. Прогнозируемые запросы направляются пользователю для возможного выбора. Система поиска также может кэшировать результаты поиска, соответствующие одному или нескольким прогнозируемым запросам, в ожидании выбора пользователем одного из прогнозируемых запросов. Система поиска также может выдавать по меньшей мере часть результатов поиска, соответствующих одному или нескольким прогнозируемым запросам.
Раскрытие изобретения
[9] Разработчики настоящей технологии обнаружили по меньшей мере одну техническую проблему, связанную с известными решениями.
[10] В настоящее время, когда пользователь вводит поисковый запрос в поисковую систему, ему предоставляются подсказки по расширению поискового запроса или просто «подсказки». Например, если пользователь ввел с клавиатуры частичный поисковый запрос «cheap», система предоставляет несколько подсказок по расширению поискового запроса, таких как «cheap flights», «cheapoair», «cheap vacations», «cheap hotels» и т.п.
[11] Также известно обновление подсказок по расширению поискового запроса по мере того, как пользователь продолжает вводить с клавиатуры поисковый запрос. Иными словами, известно предоставление динамических подсказок по расширению поискового запроса, обновляемых по мере того, как пользователь продолжает вводить поисковый запрос. Например, если пользователь продолжает ввод и в некоторый момент времени ввел частичный поисковый запрос «cheap hotels», сервер поисковой системы может предоставить обновленный список подсказок по расширению поискового запроса, таких как «cheap hotels new york», «cheap hotels near me», «cheap hotels miami», «cheap hotels amsterdam» и т.д.
[12] Эта технология может рассматриваться как динамические подсказки для запроса, поскольку сервер поисковой системы по мере получения большего объема информации о цели поиска пользователя предоставляет более релевантные подсказки для поискового запроса.
[13] Для ускорения доставки результатов поиска известна предварительная выборка результатов поиска, например, путем формирования страницы результатов поисковой системы (SERP, Search Engine Results Page) для частичного поискового запроса до того, как пользователь отправит поисковый запрос, и отправки этой страницы SERP электронному устройству, связанному с пользователем, для хранения в локальном кэше с целью ускорения ее получения пользователем, если он действительно отправит частичный поисковый запрос, например, нажав клавишу ENTER или иным образом указав на свое желание выполнить поиск с использованием этого частичного поискового запроса.
[14] Процесс предварительного выбора страницы SERP включает в себя создание и загрузку данных страницы SERP для формирования страницы SERP в электронном устройстве и формирование (предварительное отображение) страницы SERP на электронном устройстве. В описанном выше сценарии с динамическими подсказками для запроса предполагается, что результаты поиска могут быть предварительно выбраны для по меньшей мере части динамических (т.е. промежуточных) подсказок для поискового запроса.
[15] Разработчики настоящей технологии обнаружили две проблемы, связанные с предварительным выбором страниц SERP в среде динамических подсказок по расширению запроса. С одной стороны, предварительный выбор страницы SERP для каждого динамического подсказки по расширению поискового запроса приводит к повышенным требованиям к пропускной способности. Более длинные поисковые запросы (и, следовательно, большее количество динамических подсказок по расширению поискового запроса) могут приводить к удорожанию услуг сети связи, увеличивать поток пользовательских данных (особенно в случае электронного устройства, реализованного в виде беспроводного электронного устройства), а также увеличивать нагрузку на сервер поисковой системы при формировании многочисленных промежуточных страниц SERP, которые в действительности могут не использоваться или не просматриваться пользователем электронного устройства.
[16] С другой стороны, формирование нескольких страниц SERP, не используемых или не просматриваемых пользователем, может создавать сложности при формировании статистики, связанной с релевантностью результата поиска и другими целями. С точки зрения сервера поисковой системы, пользовательское электронное устройство получило несколько страниц SERP, некоторые из которых не использовались или не просматривались. Это может привести к ошибочным данным обратной связи для алгоритма, используемого при ранжировании результатов поиска (вследствие искажения статистики пользовательских «кликов»).
[17] Поскольку пользователь может фактически не выбрать какие-либо результаты на промежуточных страницах SERP, сервер поисковой системы классифицирует их как имеющие неудовлетворительную релевантность промежуточному поисковому запросу. Другая проблема связана с тем, что промежуточные страницы SERP могут содержать таргетированные сообщения или рекламные объявления, при этом сервер поисковой системы, возможно, должен платить за показ рекламы, даже если рекламные объявления фактически не отображались (а выбирались лишь предварительно).
[18] В общем случае, не имеющие ограничительного характера варианты осуществления настоящей технологии относятся к способу определения того, должна ли информация предварительно выбранной страницы SERP формироваться или отправляться электронному устройству в среде динамических подсказок по расширению поискового запроса.
[19] Возможны подсказки по расширению поискового запроса нескольких видов: слово за словом, отдельные слова (мозаичный), полные фразы. Подсказки по расширению поискового запроса также содержат рекомендуемый суффикс поискового запроса, измененные формулировки поискового запроса и т.п.
[20] Эти не имеющие ограничительного характера варианты осуществления настоящей технологии основаны на предположении, что предварительно выбранная страница SERP должна соответствовать текущей подсказке по расширению поискового запроса вида «полная фраза» с наибольшим рангом.
[21] Для определения необходимости отправки предварительно выбранной страницы SERP сервер использует несколько факторов: весовые коэффициенты или вероятность выбора подсказки по расширению поискового запроса; длина подсказки по расширению поискового запроса (чем больше длина подсказки по расширению поискового запроса, тем выше вероятность предварительного выбора страницы SERP); языковые модели; персонализированные признаки пользователей (выполнял ли сервер предварительный выбор страниц SERP для пользователя и выбирал ли их пользователь фактически, т.е. признак, указывающий на определение сервером того, нужна ли предварительно выбранная страница SERP пользователю); вид соединения, используемого пользователем (например, требуется ли экономить сетевой трафик, если пользователь использует беспроводное соединение, и т.д.), и т.п.
[22] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер может обучать алгоритм машинного обучения (MLA, Machine Learning Algorithm) путем выполнения «повторов». Сервер может получать данные из пользовательских журналов поиска и использовать прошлые пользовательские действия со страницами SERP в качестве входных данных для обучения алгоритма MLA. В частности, сервер может анализировать фактический динамический ввод поисковых запросов пользователями (т.е. порядок их ввода пользователем) в сочетании с признаками пользователей и/или признаками действий со страницами SERP и создавать обучающий набор данных для обучения алгоритма MLA. Для конкретных введенных данных, например, известно, получал ли пользователь страницу SERP с подсказкой для поиска «Facebook». Это повтор, представляющий собой основанные на журнале шаги обучения. На основе таких повторов выполняется повторное обучение алгоритмов MLA.
[23] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии промежуточные предварительно выбранные страницы SERP помечаются флагом. В частности, помечаются флагом страницы SERP, которые были предварительно выбраны, но с которыми не выполнялись действия (они также могут называться фантомными страницами SERP). Таким образом, по меньшей мере некоторые варианты осуществления настоящей технологии относятся к концепции «счетчика показов» на основе особого флага, связанного с предварительно выбранными промежуточными страницами SERP. Иными словами, эти связанные с флагом страницы SERP исключаются из статистического анализа, например, когда пользовательские действия со страницей SERP используются для определения релевантности страницы SERP поисковому запросу (на основе ретроспективного коэффициента «кликов»).
[24] В частности, сервер при формировании данных о предварительном выборе для страницы SERP помечает их особым флагом. Когда клиентское электронное устройство получает такую помеченную флагом страницу SERP, оно контролирует пользовательские действия со страницей SERP и информирует сервер, если пользователем была фактически выбрана подсказка по расширению поискового запроса и, следовательно, пользователю была показана эта страница SERP. Таким образом, сервер получает информацию о количестве и идентификатор страниц SERP, фактически показанных пользователю, и страниц SERP, с которыми пользователь фактически взаимодействовал. Таким образом, сервер способен выявлять и игнорировать фантомные страницы SERP (которые были предварительно выбраны, но не показаны пользователю, и с которыми пользователь не взаимодействовал), например, при обработке информации о процессе формирования страницы SERP.
[25] В соответствии с первым аспектом настоящей технологии реализован компьютерный способ формирования реализованной на сервере поисковой системой подсказки по расширению поискового запроса. Способ выполняется сервером и включает в себя: прием сервером указания на по меньшей мере часть поискового запроса от электронного устройства, соединенного с сервером через сеть связи; формирование на основе этого указания ранжированного набора подсказок по расширению поискового запроса, связанных с частью поискового запроса; анализ первой подсказки из ранжированного набора подсказок по расширению поискового запроса с целью определения соответствия этой первой подсказки из ранжированного набора подсказок по расширению поискового запроса заранее заданному триггерному условию; при соответствии первой подсказки из ранжированного набора подсказок по расширению поискового запроса заранее заданному триггерному условию - формирование набора результатов поиска, соответствующих промежуточному поисковому запросу, содержащему по меньшей мере часть поискового запроса и первую подсказку из ранжированного набора подсказок по расширению поискового запроса; отправку электронному устройству ранжированного набора подсказок по расширению поискового запроса и страницы SERP, содержащей набор результатов поиска.
[26] В некоторых вариантах осуществления способа указание на по меньшей мере часть поискового запроса принимается до отправки пользователем поискового запроса серверу.
[27] В некоторых вариантах осуществления способа получение указания на по меньшей мере часть поискового запроса выполняется динамически по мере ввода пользователем части поискового запроса.
[28] В некоторых вариантах осуществления способа отправка электронному устройству инициирует отображение электронным устройством ранжированного набора: подсказок по расширению поискового запроса при отсутствии явно выраженного действия пользователя электронного устройства; страницы SERP при наличии явно выраженного действия пользователя с первой подсказкой из ранжированного набора подсказок по расширению поискового запроса.
[29] В некоторых вариантах осуществления способа сервер имеет доступ к базе данных журналов поиска, при этом формирование ранжированного набора подсказок по расширению поискового запроса, связанных с частью поискового запроса, включает в себя выбор сервером из базы данных журналов поиска набора подсказок по расширению поискового запроса на основе соответствующей частоты прошлого использования в прошлых поисках каждого промежуточного поискового запроса, связанного с соответствующей подсказкой по расширению поискового запроса из набора подсказок по расширению поискового запроса.
[30] В некоторых вариантах осуществления способа при несоответствии первой подсказки из ранжированного набора подсказок по расширению поискового запроса заранее заданному триггерному условию набор результатов поиска не формируется, а способ включает в себя лишь отправку ранжированного набора подсказок по расширению поискового запроса.
[31] В некоторых вариантах осуществления способа указание на по меньшей мере часть поискового запроса представляет собой первое указание на по меньшей мере часть поискового запроса, содержащую по меньшей мере один поисковый термин, а способ дополнительно включает в себя: прием сервером от электронного устройства второго указания на по меньшей мере часть поискового запроса, содержащую по меньшей мере один дополнительный символ по сравнению с первым указанием; формирование на основе второго указания второго ранжированного набора подсказок по расширению поискового запроса, связанных со вторым указанием на по меньшей мере часть поискового запроса; анализ первой подсказки из второго ранжированного набора подсказок по расширению поискового запроса с целью определения соответствия этой первой подсказки из второго ранжированного набора подсказок по расширению поискового запроса заранее заданному триггерному условию; при соответствии первой подсказки из второго ранжированного набора подсказок по расширению поискового запроса заранее заданному триггерному условию формирование второго набора результатов поиска, соответствующих второму промежуточному поисковому запросу, содержащему часть поискового запроса в момент времени до получения второго указания и первую подсказку из второго ранжированного набора подсказок по расширению поискового запроса; отправку электронному устройству второго ранжированного набора подсказок по расширению поискового запроса и второй страницы SERP, содержащей второй набор результатов поиска.
[32] В некоторых вариантах осуществления способа он дополнительно включает в себя получение указания на то, что пользователь не выбрал первую подсказку из второго ранжированного набора подсказок по расширению поискового запроса и что первая страница SERP не была отображена, а также маркировку первой страницы SERP флагом неиспользования.
[33] В некоторых вариантах осуществления способа он дополнительно включает в себя формирование на основе флага неиспользования статистического параметра использования страниц SERP, выполняемое без учета первой страницы SERP.
[34] В некоторых вариантах осуществления способа он дополнительно включает в себя получение указания на то, что пользователь выбрал первую подсказку из второго ранжированного набора подсказок по расширению поискового запроса и что вторая страница SERP была отображена.
[35] В некоторых вариантах осуществления способа упомянутое выше формирование выполняется с учетом второй страницы SERP и связанного с ней действия пользователя.
[36] В некоторых вариантах осуществления способа при несоответствии первой подсказки из второго ранжированного набора подсказок по расширению поискового запроса заранее заданному триггерному условию второй набор результатов поиска не формируется, а способ включает в себя лишь отправку второго ранжированного набора подсказок по расширению поискового запроса.
[37] В некоторых вариантах осуществления способа заранее заданное триггерное условие содержит параметр достоверности прогноза того, что первая подсказка из первого ранжированного набора подсказок по расширению поискового запроса представляет собой поисковый запрос.
[38] В некоторых вариантах осуществления способа заранее заданное триггерное условие содержит параметр достоверности прогноза того, что первая подсказка из второго ранжированного набора подсказок по расширению поискового запроса представляет собой поисковый запрос.
[39] В некоторых вариантах осуществления способа он дополнительно включает в себя формирование заранее заданного триггерного условия.
[40] В некоторых вариантах осуществления способа формирование заранее заданного триггерного условия основано на по меньшей мере одном из следующих факторов: прогнозируемая вероятность выбора пользователем первой подсказки из ранжированного набора подсказок по расширению поискового запроса; длина первой подсказки из ранжированного набора подсказок по расширению поискового запроса или промежуточного поискового запроса; лингвистическая модель; пользовательская история, связанная с данным пользователем.
[41] В некоторых вариантах осуществления способа он дополнительно включает в себя расчет параметра достоверности прогноза на основе оптимизации параметра издержек предварительного выбора (PFOP, Pre-Fetch Overhead Parameter).
[42] В некоторых вариантах осуществления способа он дополнительно включает в себя расчет параметра PFOP на основе формулы:
[43] PFOP=((PR+R-EP))/R-1,
[44] где:
[45] PR - количество предварительно выбранных страниц SERP;
[46] R - количество поисковых запросов, которые пользователь отправил бы без подсказок по расширению поискового запроса;
[47] EP - количество предварительно выбранных страниц SERP, с которыми осуществлялось взаимодействие.
[48] В некоторых вариантах осуществления способа параметр PFOP рассчитывается в автономном режиме.
[49] В некоторых вариантах осуществления способа оптимизация параметра PFOP включает в себя выбор оптимизированного количества предварительно выбранных страниц SERP, выполняемый так, чтобы параметр PFOP был меньше заранее заданного порога потребления ресурсов.
[50] В некоторых вариантах осуществления способа ранжированный набор подсказок по расширению поискового запроса содержит по меньшей мере одну подсказку по расширению поискового запроса.
[51] В соответствии с другим аспектом настоящей технологии реализован компьютерный способ формирования реализованной на сервере поисковой системой подсказки по расширению поискового запроса. Способ выполняется сервером и включает в себя: итеративный прием сервером от электронного устройства, связанного с сервером, текущего указания на по меньшей мере часть поискового запроса, которое представляет собой часть динамического набора указаний, каждое из которых содержит последовательно вводимые пользователем электронного устройства данные поискового запроса; формирование на основе этого указания ранжированного набора подсказок по расширению поискового запроса, связанных с текущим указанием на часть поискового запроса; анализ первой подсказки из ранжированного набора подсказок по расширению поискового запроса с целью определения соответствия этой первой подсказки из ранжированного набора подсказок по расширению поискового запроса заранее заданному триггерному условию; при соответствии первой подсказки из ранжированного набора подсказок по расширению поискового запроса заранее заданному триггерному условию, содержащему параметр достоверности прогноза того, что первая подсказка из ранжированного набора подсказок по расширению поискового запроса представляет собой поисковый запрос, формирование набора результатов поиска, соответствующих промежуточному поисковому запросу, содержащему по меньшей мере часть поискового запроса и первую подсказку из ранжированного набора подсказок по расширению поискового запроса; отправку электронному устройству ранжированного набора подсказок по расширению поискового запроса и страницы SERP, содержащей набор результатов поиска.
[52] В соответствии с еще одним аспектом настоящей технологии реализован сервер для формирования подсказки по расширению поискового запроса. Сервер способен: принимать указание на по меньшей мере часть поискового запроса от электронного устройства, соединенного с сервером через сеть связи; формировать на основе этого указания ранжированный набор подсказок по расширению поискового запроса, связанных с частью поискового запроса; анализировать первую подсказку из ранжированного набора подсказок по расширению поискового запроса с целью определения соответствия этой первой подсказки из ранжированного набора подсказок по расширению поискового запроса заранее заданному триггерному условию; при соответствии первой подсказки из ранжированного набора подсказок по расширению поискового запроса заранее заданному триггерному условию формировать набор результатов поиска, соответствующих промежуточному поисковому запросу, содержащему по меньшей мере часть поискового запроса и первую подсказку из ранжированного набора подсказок по расширению поискового запроса; отправлять электронному устройству ранжированный набор подсказок по расширению поискового запроса и страницу SERP, содержащую набор результатов поиска.
[53] В контексте настоящего описания термин «сервер» означает компьютерную программу, выполняемую соответствующими аппаратными средствами и способную принимать запросы (например, из электронных устройств) через сеть и выполнять эти запросы или инициировать их выполнение. Аппаратные средства могут представлять собой один физический компьютер или одну компьютерную систему, что не существенно для настоящей технологии. В настоящем контексте выражение «сервер» не означает, что каждая задача (например, принятая команда или запрос) или некоторая определенная задача принимается, выполняется или запускается одним и тем же сервером (т.е. одними и теми же программными и/или аппаратными средствами). Это выражение означает, что любое количество программных средств или аппаратных средств может принимать, отправлять, выполнять или инициировать выполнение любой задачи или запроса либо результатов любых задач или запросов. Все эти программные и аппаратные средства могут представлять собой один сервер или несколько серверов, причем оба эти случая подразумеваются в выражении «по меньшей мере один сервер».
[54] В контексте настоящего описания термин «электронное устройство» означает любое компьютерное аппаратное средство, способное выполнять программы, подходящие для решения поставленной задачи. Таким образом, некоторые (не имеющие ограничительного характера) примеры электронных устройств включают в себя персональные компьютеры (настольные, ноутбуки, нетбуки и т.п.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует отметить, что в данном контексте устройство, функционирующее как электронное устройство, также может функционировать как сервер в отношении других электронных устройств. Использование выражения «электронное устройство» не исключает использования нескольких электронных устройств для приема, отправки, выполнения или инициирования выполнения любой задачи или запроса либо результатов любых задач или запросов либо шагов любого описанного здесь способа.
[55] В контексте настоящего описания термин «база данных» означает любой структурированный набор данных, независимо от его конкретной структуры, программного обеспечения для управления базой данных или компьютерных аппаратных средств для хранения этих данных, их применения или обеспечения их использования иным способом. База данных может располагаться в тех же аппаратных средствах, где реализован процесс, обеспечивающий хранение или использование информации, хранящейся в базе данных, либо база данных может располагаться в отдельных аппаратных средствах, таких как специализированный сервер или множество серверов.
[56] В контексте настоящего описания выражение «информация» включает в себя информацию любого рода или вида, допускающую хранение в базе данных. Таким образом, информация включает в себя аудиовизуальные произведения (изображения, фильмы, звукозаписи, презентации и т.д.), данные (данные о местоположении, числовые данные и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, электронные таблицы и т.д., но не ограничивается ими.
[57] В контексте настоящего описания выражение «пригодный для использования в компьютере носитель информации» означает носители любого рода и вида, включая ОЗУ, ПЗУ, диски (CD-ROM, DVD, гибкие диски, жесткие диски и т.д.), USB-накопители, твердотельные накопители, накопители на магнитных лентах и т.д.
[58] В контексте настоящего описания, если явно не указано другое, в качестве указания на информационный элемент может выступать сам информационный элемент, а также указатель, ссылка, гиперссылка или другое косвенное средство, с помощью которого получатель данных может найти место в сети, памяти, базе данных или на другом машиночитаемом носителе информации, откуда можно извлечь этот информационный элемент. Например, указание на документ может включать в себя сам документ (т.е. его содержимое) или указание может представлять собой уникальный дескриптор документа, указывающий на файл в определенной файловой системе, или на какие-либо другие средства для указания получателю данных места в сети, адреса памяти, таблицы в базе данных или другого места, где можно получить доступ к файлу. Специалисту в данной области должно быть очевидно, что степень точности, требуемая для такого указания, зависит от объема предварительных пояснений относительно интерпретации информации, которой обмениваются отправитель и получатель данных. Например, если перед началом обмена данными между отправителем и получателем известно, что указание на информационный элемент представляет собой ключ базы данных для элемента в определенной таблице заранее заданной базы данных, содержащей информационный элемент, то для эффективной передачи этого информационного элемента получателю достаточно оправить ключ базы данных, даже если сам информационный элемент не передается между отправителем и получателем данных.
[59] В контексте настоящего описания числительные «первый» «второй», «третий» и т.д. используются лишь для указания на различие между существительными, к которым они относятся, но не для описания каких-либо определенных взаимосвязей между этими существительными. Например, должно быть понятно, что использование терминов «первый сервер» и «третий сервер» не подразумевает какого-либо определенного порядка, типа, хронологии, иерархии или классификации, в данном случае, серверов, а также что их использование (само по себе) не подразумевает наличие «второго сервера» в любой ситуации. Кроме того, как встречается в настоящем описании в другом контексте, ссылка на «первый» элемент и «второй» элемент не исключает того, что эти два элемента в действительности могут быть одним и тем же элементом. Таким образом, например, в некоторых случаях «первый» сервер и «второй» сервер могут представлять собой одно и то же программное и/или аппаратное средство, а в других случаях - различные программные и/или аппаратные средства.
[60] В контексте настоящей технологии поисковый запрос Qi может содержать один или несколько поисковых терминов t1, t2, …, tn, каждый из которых представляет собой отдельное слово. Таким образом, «часть поискового запроса» может соответствовать по меньшей мере одному из поисковых терминов t1, t2, …, tn, содержащихся в поисковом запросе Qi(t1, t2, …, tn). В не имеющем ограничительного характера примере запрос «Brad Pitt movies» содержит поисковые термины «Brad», «Pitt» и «movies», а часть запроса «Brad Pitt movies» может соответствовать строке «B», «Br», «Bra», «Brad Pi», «Brad Pitt mo» и т.д.
[61] В контексте настоящего описания выражение «множество результатов поиска» может означать набор из нескольких результатов, при этом результаты общего поиска (например, веб-поиска) и/или результаты вертикального поиска могут объединяться в наборе результатов поиска или на странице результатов поиска. Например, результаты вертикального поиска могут включаться в состав результатов общего поиска (например, веб-поиска) на странице результатов поиска или, напротив, результаты общего поиска могут включаться в состав результатов вертикального поиска на странице результатов поиска. Таким образом, в соответствии с некоторыми вариантами осуществления изобретения, результаты общего поиска и результаты вертикального поиска могут объединяться и взаимно упорядочиваться. В соответствии с другими вариантами осуществления изобретения, множество результатов поиска может содержать результаты только общего поиска или только вертикального поиска, например, результаты поиска из конкретной интересующей вертикальной предметной области.
[62] В контексте настоящего описания выражение «динамическая подсказка по расширению поискового запроса» представляет собой последовательность наборов подсказок по расширению поискового запроса, обновляемых по мере продолжения ввода пользователем поискового запроса. Иными словами, сервер поисковой системы по мере получения большего объема информации о цели поиска пользователя предоставляет более релевантные подсказки для поискового запроса.
[63] Каждый вариант осуществления настоящей технологии относится к по меньшей мере одной из упомянутых выше или ниже целей и/или аспектов, но не обязательно ко всем ним. Должно быть понятно, что некоторые аспекты настоящей технологии, связанные с попыткой достижения вышеупомянутой цели, могут не соответствовать этой цели и/или могут соответствовать другим целям, явным образом здесь не упомянутым.
[64] Дополнительные и/или альтернативные признаки, аспекты и преимущества вариантов осуществления настоящей технологии содержатся в дальнейшем описании, в приложенных чертежах и в формуле изобретения.
Краткое описание чертежей
[65] Дальнейшее описание приведено для лучшего понимания настоящей технологии, а также других аспектов и их признаков, и должно использоваться совместно с приложенными чертежами.
[66] На фиг. 1 представлен интерфейс поисковой системы, предоставляющий подсказки для поискового запроса согласно вариантам реализации известных систем.
[67] На фиг. 2 представлена схема системы, реализованной согласно вариантам осуществления настоящей технологии, не имеющим ограничительного характера.
[68] На фиг. 3 представлен реализованный в системе, представленной на фиг. 2, процесс формирования подсказки по расширению поискового запроса и селективного предварительного выбора данных страницы SERP для подсказки по расширению поискового запроса.
[69] На фиг. 4 приведена схема примера выполняемого в системе, представленной на фиг. 2, динамического ввода поискового запроса пользователем, использующим электронное устройство.
[70] На фиг. 5 приведена блок-схема способа формирования подсказок по расширению поискового запроса, реализованного согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии в системе, представленной на фиг. 2.
Осуществление изобретения
[71] Представленные здесь примеры и условный язык предназначены для обеспечения лучшего понимания принципов настоящей технологии, а не для ограничения ее объема до таких специально приведенных примеров и условий. Очевидно, что специалисты в данной области техники способны разработать различные способы и устройства, которые явно не описаны и не показаны, но реализуют принципы настоящей технологии в пределах ее существа и объема.
[72] Кроме того, чтобы способствовать лучшему пониманию, следующее описание может содержать упрощенные варианты реализации настоящей технологии. Специалистам в данной области должно быть понятно, что различные варианты осуществления настоящей технологии могут быть значительно сложнее.
[73] В некоторых случаях также приводятся полезные примеры модификаций настоящей технологии. Они способствуют пониманию, но также не определяют объем или границы настоящей технологии. Представленный перечень модификаций не является исчерпывающим и специалист в данной области может разработать другие модификации в пределах объема настоящей технологии. Кроме того, если в некоторых случаях модификации не описаны, это не означает, что они невозможны и/или что описание содержит единственно возможный вариант реализации того или иного элемента настоящей технологии.
[74] Более того, описание принципов, аспектов и вариантов реализации настоящей технологии, а также их конкретные примеры предназначены для охвата их структурных и функциональных эквивалентов, независимо от того, известны они в настоящее время или будут разработаны в будущем. Например, специалистам в данной области техники должно быть очевидно, что любые описанные структурные схемы соответствуют концептуальным представлениям иллюстративных принципиальных схем, реализующих принципы настоящей технологии. Также должно быть очевидно, что любые блок-схемы, схемы процессов, диаграммы изменения состояния, псевдокоды и т.п. соответствуют различным процессам, которые могут быть представлены на машиночитаемом физическом носителе информации и могут выполняться компьютером или процессором, независимо от того, показан такой компьютер или процессор явно или нет.
[75] Функции различных элементов, показанных на чертежах, включая любой функциональный блок, обозначенный как «процессор» или «графический процессор», могут быть реализованы с использованием специализированных аппаратных средств, а также с использованием аппаратных средств, способных выполнять соответствующее программное обеспечение. Если используется процессор, эти функции могут выполняться одним выделенным процессором, одним совместно используемым процессором или множеством отдельных процессоров, некоторые из которых могут использоваться совместно. В некоторых вариантах осуществления настоящей технологии процессор может представлять собой процессор общего назначения, такой как центральный процессор (CPU), или специализированный процессор, такой как графический процессор (GPU). Кроме того, явное использование термина «процессор» или «контроллер» не должно трактоваться как указание исключительно на аппаратные средства, способные выполнять программное обеспечение, и может подразумевать, помимо прочего, аппаратные средства цифрового сигнального процессора (DSP), сетевой процессор, специализированную интегральную схему (ASIC), программируемую вентильную матрицу (FPGA), ПЗУ для хранения программного обеспечения, ОЗУ и энергонезависимое ЗУ. Также могут подразумеваться другие аппаратные средства, общего назначения и/или заказные.
[76] Программные модули или просто модули, реализация которых предполагается в виде программных средств, могут быть представлены здесь как любое сочетание элементов блок-схемы или других элементов, указывающих на выполнение шагов процесса и/или содержащих текстовое описание. Такие модули могут выполняться аппаратными средствами, показанными явно или подразумеваемыми.
[77] С учетом изложенных выше принципов далее рассмотрены некоторые не имеющие ограничительного характера примеры, иллюстрирующие различные варианты реализации аспектов настоящей технологии.
[78] На фиг. 2 представлена система 200, реализованная согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии. Система 200 содержит первое клиентское устройство 202, второе клиентское устройство 204, третье клиентское устройство 206 и четвертое клиентское устройство 208, соединенные с сетью 220 связи через соответствующие линии 215 связи (только одна из них обозначена на фиг. 2). Система 200 содержит сервер 230 поисковой системы, сервер 250 анализа, и сервер 260 подсказок по расширению поискового запроса (или сокращенно сервер 260 подсказок), соединенные с сетью 220 связи соответствующими линиями 215 связи (также только одна из них обозначена на фиг. 2). В некоторых альтернативных вариантах осуществления настоящей технологии сервер 230 поисковой системы и/или сервер 250 анализа и/или сервер 260 подсказок могут быть реализованы в виде одного сервера.
[79] В частности, первое клиентское устройство 202 может быть реализовано в виде смартфона, второе клиентское устройство 204 может быть реализовано в виде ноутбука, третье клиентское устройство 206 может быть реализовано в виде смартфона, четвертое клиентское устройство 208 может быть реализовано в виде планшета. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сеть 220 связи может представлять собой сеть Интернет. В других вариантах осуществления настоящей технологии сеть 220 связи может быть реализована иначе, например, в виде произвольной глобальной сети связи, локальной сети связи, частной сети связи и т.д.
[80] На реализацию линии 215 связи не накладывается каких-либо особых ограничений, она зависит от реализации соответствующего первого клиентского устройства 202, второго клиентского устройства 204, третьего клиентского устройства 206 и четвертого клиентского устройства 208. Лишь в качестве примера, не имеющего ограничительного характера, в тех вариантах осуществления настоящей технологии, где первое клиентское устройство 202, второе клиентское устройство 204, третье клиентское устройство 206 или четвертое клиентское устройство 208, реализовано в виде беспроводного устройства связи (такого как смартфон), соответствующая линия 215 связи может быть реализована в виде беспроводной линии связи (такой как канал сети связи 3G, канал сети связи 4G, Wireless Fidelity или сокращенно WiFi®, Bluetooth® и т.п.). В тех примерах, где первое клиентское устройство 202, второе клиентское устройство 204, третье клиентское устройство 206 или четвертое клиентское устройство 208, реализовано в виде ноутбука, смартфона или планшетного компьютера, соответствующая линия 215 связи может быть беспроводной (такой как Wireless Fidelity или кратко WiFi®, Bluetooth® и т.п.) или проводной (такой как соединение на основе Ethernet).
[81] Должно быть очевидно, что варианты реализации первого клиентского устройства 202, второго клиентского устройства 204, третьего клиентского устройства 206, четвертого клиентского устройства 208, линии 215 связи и сети 220 связи приведены лишь для иллюстрации. Специалистам в данной области должны быть очевидными и другие конкретные детали реализации первого клиентского устройства 202, второго клиентского устройства 204, третьего клиентского устройства 206, четвертого клиентского устройства 208, линии 215 связи и сети 220 связи. Представленные выше примеры никак не ограничивают объем настоящей технологии.
[82] Несмотря на то, что на фиг. 2 показаны лишь четыре клиентских устройства 202, 204, 206 и 208, предполагается, что к системе 200 может быть подключено любое количество клиентских устройств 202, 204, 206 и 208. Также предполагается, что в некоторых вариантах осуществления к системе 200 могут быть подключены десятки или сотни тысяч клиентских устройств 202, 204, 206 и 208.
[83] К сети 220 связи также подключен упомянутый выше сервер 230 поисковой системы. Сервер 230 поисковой системы может быть реализован в виде традиционного компьютерного сервера. В примере осуществления настоящей технологии сервер 230 поисковой системы может быть реализован в виде сервера Dell™ PowerEdge™, работающего под управлением операционной системы Microsoft™ Windows Server™. Сервер 230 поисковой системы может быть реализован с применением любых других подходящих аппаратных средств и/или программного обеспечения, и/или встроенного программного обеспечения либо их сочетания. В представленном не имеющем ограничительного характера варианте осуществления настоящей технологии сервер 230 поисковой системы представляет собой один сервер. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии функции сервера 230 поисковой системы могут быть распределены между несколькими серверами. В некоторых вариантах осуществления настоящей технологии сервер 230 поисковой системы управляется и/или администрируется оператором поисковой системы. В качестве альтернативы, сервер 230 поисковой системы может управляться и/или администрироваться поставщиком услуг.
[84] В общем случае, сервер 230 поисковой системы предназначен для: (а) выполнения поиска; (б) предоставления подсказок по расширению поискового запроса пользователям (таким как пользователи первого клиентского устройства 202, второго клиентского устройства 204, третьего клиентского устройства 206 и четвертого клиентского устройства 208); (в) анализа результатов поиска и ранжирования результатов поиска в ответ на поисковый запрос; (г) группирования результатов и формирования страницы SERP для выдачи в электронное устройство (такое как одно из первого клиентского устройства 202, второго клиентского устройства 204, третьего клиентского устройства 206 и четвертого клиентского устройства 208), использованное для отправки поискового запроса, в результате выполнения которого сформирована страница SERP.
[85] На сервер 230 поисковой системы, предназначенный для выполнения поиска, не накладывается каких-либо особых ограничений. Специалистам в данной области известен ряд способов и средств для выполнения поиска с использованием сервера 230 поисковой системы, поэтому различные структурные элементы сервера 230 поисковой системы описаны в общем виде. Сервер 230 поисковой системы может поддерживать базу 240 данных журналов поиска.
[86] В некоторых вариантах осуществления настоящей технологии сервер 230 поисковой системы может с использованием поисковой системы 235 выполнять поиск нескольких видов, включая общий поиск и вертикальный поиск, но не ограничиваясь ими.
[87] Как известно специалистам в данной области, поисковая система 235 сервера 230 поисковой системы способна выполнять общий поиск. В частности, общий поиск не предназначен для поиска конкретной категории результатов, а обеспечивает все результаты, соответствующие поисковому запросу. Такой общий (не зависящий от категории) поиск, выполняемый поисковой системой 235, может обеспечивать результаты поиска, содержащие как не зависящий от категории цифровой контент, так и зависящий от категории цифровой контент, например, изображения, видеоматериалы, новости, информацию о товарах, блоги, книги, места, обсуждения, рецепты, билеты, биографическую информацию, патенты, акции, расписания и т.д., а также другой цифровой контент, относящийся к конкретному виду цифрового контента или связанный с ним. Например, общий поиск может представлять собой веб-поиск. Поиск, выполненный в общей предметной области, обеспечивает «результат общего поиска» или «элемент результата общего поиска». Такие результаты общего поиска здесь также называются веб-результатами. Обычно веб-результат содержит ссылку на веб-сайт и фрагмент с кратким изложением контента веб-сайта. Пользователь может выбрать ссылку на веб-сайт из веб-результата, чтобы перейти на веб-страницу, относящуюся к этому поисковому запросу пользователя. Термины «результат общего поиска» и «элемент результата общего поиска» используются здесь как синонимы, как и термины «результат поиска» и «элемент результата поиска».
[88] Поисковая система 235 сервера 230 поисковой системы также способна выполнять вертикальные поиски. Например, вертикальная предметная область может представлять собой информационную область, содержащую определенный контент, такой как контент одного вида (например, по виду представления информации, жанру контента, тематике и т.д.). Таким образом, вертикальная предметная область содержит конкретное подмножество большего набора данных, например, подмножество веб-данных. В частности, вертикальная предметная область может содержать определенную информацию, такую как изображения, видеоматериалы, новости, информация о товарах, блоги, книги, места, обсуждения, рецепты, билеты, биографическая информация, патенты, акции, расписания и т.д. Поиск, выполненный в вертикальной предметной области, обеспечивает «результат вертикального поиска» или «элемент результата вертикального поиска». Такие результаты вертикального поиска также называются здесь «вертикалями» или «вертикальными результатами». Термины «результат вертикального поиска» и «элемент результата вертикального поиска» используются здесь как синонимы.
[89] В некоторых вариантах осуществления настоящей технологии поисковая система 235 также может поддерживать «актуальную» вертикальную предметную область. Актуальная вертикальная предметная область может содержать недавние документы (т.е. обновленные или проиндексированные сервером 230 поисковой системы в течение заранее заданного периода времени, например, в течение последнего часа, суток, недели или месяца) из других вертикальных предметных областей и/или из общей предметной области. В других вариантах осуществления изобретения актуальная вертикальная предметная область может содержать только выбранное подмножество недавних документов из других вертикальных предметных областей. В других вариантах осуществления изобретения актуальная вертикальная предметная область может содержать недавние документы, которые могут не содержаться в других вертикальных предметных областях. Несмотря на то, что актуальная вертикальная предметная область может поддерживаться как отдельная предметная область, в альтернативных не имеющих ограничительного характера вариантах осуществления настоящей технологии информация об актуальных документах может храниться в соответствующей базе данных вертикальной предметной области или в базе данных общей предметной области, в зависимости от конкретного случая.
[90] Сервер 230 поисковой системы также способен выполнять алгоритм обходчика, согласно которому сервер 230 поисковой системы выполняет обход сети Интернет и индексирует посещенные веб-сайты в одной или нескольких индексных базах данных, таких как база 240 данных журналов поиска.
[91] Поисковая система 235 сервера 230 поисковой системы способна формировать ранжированный список результатов поиска, содержащий результаты общего поиска и вертикального поиска. Известно множество алгоритмов ранжирования результатов поиска, которые могут быть реализованы поисковой системой 235.
[92] В качестве примера, не имеющего ограничительного характера, некоторые известные способы ранжирования результатов поиска по релевантности отправленному пользователем поисковому запросу могут быть основаны на всех следующих критериях или на некоторых из них: (а) популярность поискового запроса при выполнении поисков; (б) количество выдаваемых результатов; (в) наличие в поисковом запросе определяющих терминов (таких как «изображения», «фильмы», «погода» и т.п.); (г) частота использования другими пользователями конкретного поискового запроса с определяющими терминами; (д) частота выбора другими пользователями, выполнявшими аналогичный поиск, конкретного ресурса или конкретных результатов вертикального поиска, когда эти результаты были представлены с использованием страницы SERP.
[93] Сервер 230 поисковой системы может рассчитывать и назначать коэффициент релевантности (основанный на различных представленных выше критериях, не имеющих ограничительного характера) для каждого результата поиска, полученного по сделанному пользователем поисковому запросу, а также формировать страницу SERP, где результаты поиска ранжированы согласно их коэффициентам релевантности. В данном варианте осуществления изобретения сервер 230 поисковой системы может выполнять множество алгоритмов машинного обучения для ранжирования документов и/или формировать признаки для ранжирования документов.
[94] Сервер 230 поисковой системы обычно поддерживает вышеупомянутую базу 240 данных журналов поиска. В общем случае база 240 данных журналов поиска может содержать индекс 244, журнал 246 поисковых запросов и журнал 248 действий пользователей.
[95] Индекс 244 предназначен для индексирования документов (или указаний на документы), таких как веб-страницы, изображения, видеоматериалы, документы в формате PDF, (Portable Document Format), документы Microsoft Word™, документы Microsoft PowerPoint™ и т.д., просмотренные (или обнаруженные) обходчиком сервера 230 поисковой системы. В некоторых вариантах осуществления настоящей технологии индекс 244 поддерживается в виде списков вхождений. Когда пользователь первого клиентского устройства 202, второго клиентского устройства 204, третьего клиентского устройства 206 или четвертого клиентского устройства 208 вводит поисковый запрос и выполняет поиск на сервере 230 поисковой системы, сервер 230 поисковой системы анализирует индекс 244 и извлекает документы, содержащие термины из запроса, а затем ранжирует их согласно алгоритму ранжирования.
[96] Журнал 246 поисковых запросов предназначен для хранения журнала поисковых запросов, отправленных поисковой системе 235. В частности, журнал 246 поисковых запросов может содержать список запросов, каждый из которых содержит соответствующие поисковые термины, документы, указанные сервером 230 поисковой системы в ответ на соответствующий поисковый запрос, количество отправок соответствующего запроса в течение некоторого времени (далее называется частотой прошлого использования), а также может содержать список пользователей (или групп пользователей), обозначенных анонимными идентификаторами (или вовсе без идентификаторов), и соответствующие документы, выбранные ими после отправки соответствующего поискового запроса.
[97] В некоторых вариантах осуществления изобретения журнал 246 поисковых запросов может обновляться при каждом выполнении нового поиска на сервере 230 поисковой системы. В других вариантах осуществления изобретения журнал 246 поисковых запросов может обновляться в заранее заданные моменты времени. В некоторых вариантах осуществления изобретения может существовать множество копий журнала 246 поисковых запросов, каждая из которых соответствует журналу 246 поисковых запросов в различные моменты времени.
[98] На способ структурирования журнала 248 действий пользователей не накладывается каких-либо ограничений. Журнал 248 действий пользователей может быть связан с журналом 246 поисковых запросов и содержать параметры действий пользователей, отслеживаемые сервером 250 анализа после того, как пользователь отправил поисковый запрос и выбрал один или несколько документов на странице SERP в поисковой системе 235. В не имеющем ограничительного характера примере журнал 248 действий пользователей может содержать: (а) ссылку на соответствующий документ или указание на него, где документ может быть обозначен идентификационным номером или URL-адресом; (б) соответствующий список запросов, каждый из которых связан с соответствующим документом и был использован одним или несколькими пользователями для доступа к соответствующему документу; (в) соответствующее множество параметров действий пользователей в отношении запроса (если выполнялись действия с документом), указывающих на действия с соответствующим документом тех пользователей, которые отправляли соответствующий запрос из списка запросов. Журнал 248 действий пользователей также может содержать соответствующие отметки времени, связанные с действиями пользователей, и другие статистические данные. В некоторых вариантах осуществления изобретения журнал 246 поисковых запросов и журнал 248 действий пользователей могут быть реализованы в виде единого журнала.
[99] В общем случае данные из базы 240 данных журналов поиска (включая данные из журнала 248 действий пользователей) могут быть получены или приняты сервером 230 поисковой системы и/или сервером 250 анализа и/или сервером 260 подсказок в синхронном режиме (т.е. через заранее заданные интервалы времени) или в асинхронном режиме (например, после получения указания).
[100] В этом варианте осуществления изобретения параметры действий пользователей из журнала 248 действий пользователей могут отслеживаться и объединяться сервером 250 анализа.
[101] К сети 220 связи также подключен упомянутый выше сервер 250 анализа. Сервер 250 анализа может быть реализован в виде традиционного компьютерного сервера. В примере осуществления настоящей технологии сервер 250 анализа может быть реализован в виде сервера Dell™ PowerEdge™, работающего под управлением операционной системы Microsoft™ Windows Server™. Очевидно, что сервер 250 анализа может быть реализован с использованием любых других подходящих аппаратных средств и/или прикладного программного обеспечения и/или встроенного программного обеспечения либо их сочетания. В представленном не имеющем ограничительного характера варианте осуществления настоящей технологии сервер 250 анализа представляет собой один сервер. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии функции сервера 250 анализа могут быть распределены между несколькими серверами. В других вариантах осуществления изобретения функции сервера 250 анализа могут быть полностью или частично реализованы сервером 230 поисковой системы. В некоторых вариантах осуществления настоящей технологии сервер 250 анализа управляется и/или администрируется оператором поисковой системы. В качестве альтернативы, сервер 250 анализа может управляться и/или администрироваться другим поставщиком услуг.
[102] В целом, сервер 250 анализа предназначен для отслеживания взаимодействия пользователей с поисковой системой 235 сервера 230 поисковой системы, например, поисковых запросов и терминов, введенных пользователями, а также документов, к которым пользователи в дальнейшем получали доступ. Сервер 250 анализа может отслеживать действия пользователей (например, коэффициент «кликов») при выполнении пользователями общих поисков и вертикальных поисков в поисковой системе 235 сервера 230 поисковой системы. Действия пользователей могут отслеживаться сервером 250 анализа в виде параметров действий пользователей.
[103] Не имеющие ограничительного характера примеры отслеживаемых или рассчитываемых сервером 250 анализа параметров взаимодействий пользователей включают в себя:
• успех/неудача: был или не был выбран документ из ответа на поисковый запрос;
• время пребывания: время, затраченное пользователем на документ до возврата на страницу SERP;
• длинный/короткий «клик»: было действие пользователя с документом длинным или коротким по сравнению с действием пользователя с другими документами на странице SERP;
• коэффициент «кликов» (CTR, Click-Through Rate): количество случаев выбора элемента, деленное на количество показов элемента (демонстраций).
[104] Разумеется, что представленный выше список не является исчерпывающим и он может включать в себя параметры действий пользователей других видов без выхода за границы настоящей технологии.
[105] Сервер 250 анализа может отправлять отслеживаемые параметры действий пользователей серверу 230 поисковой системы так, чтобы они могли сохраняться в журнале 246 поисковых запросов и журнале 248 действий пользователей базы 240 данных журналов поиска. В некоторых вариантах осуществления изобретения сервер 250 анализа может хранить параметры действий пользователей и соответствующие результаты поиска локально в журнале действий пользователей (не показан). В других не имеющих ограничительного характера вариантах осуществления настоящей технологии функции сервера 250 анализа и сервера 230 поисковой системы могут быть реализованы одним сервером.
[106] К сети связи также подключен упомянутый выше сервер 260 подсказок. Сервер 260 подсказок может быть реализован в виде традиционного компьютерного сервера. В примере осуществления настоящей технологии сервер 260 подсказок может быть реализован в виде сервера Dell™ PowerEdge™, работающего под управлением операционной системы Microsoft™ Windows Server™. Очевидно, что сервер 260 подсказок может быть реализован с использованием любых других подходящих аппаратных средств и/или прикладного программного обеспечения и/или встроенного программного обеспечения либо их сочетания. В представленном не имеющем ограничительного характера варианте осуществления настоящей технологии сервер 260 подсказок представляет собой один сервер. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии функции сервера 260 подсказок могут быть распределены между несколькими серверами. В контексте настоящей технологии описанные здесь способы и система могут быть частично реализованы на сервере 260 подсказок. В некоторых вариантах осуществления настоящей технологии сервер 260 подсказок управляется и/или администрируется оператором поисковой системы. В качестве альтернативы, сервер 260 подсказок может управляться и/или администрироваться другим поставщиком услуг. Функции сервера 260 подсказок также могут быть реализованы сервером 230 поисковой системы.
[107] В общем случае сервер 260 подсказок предназначен для формирования подсказок по расширению поискового запроса, относящихся к части поискового запроса, введенной пользователем в интерфейсе поисковой системы 235 (без обязательной «отправки» пользователем поискового запроса для обработки поисковой системой 235). Сервер 260 подсказок может пересылать подсказки по расширению поискового запроса серверу 230 поисковой системы, а поисковая система 235 может ранжировать и рекомендовать подсказки по расширению поискового запроса пользователю путем отправки подсказок по расширению поискового запроса соответствующему электронному устройству. В других вариантах осуществления изобретения сервер 260 подсказок может ранжировать подсказки для поискового запроса до отправки их серверу 230 поисковой системы. В некоторых вариантах осуществления изобретения функции сервера 230 поисковой системы и сервера 260 подсказок могут быть реализованы в одном сервере.
[108] Как упомянуто выше, подсказки по расширению поискового запроса могут быть сформированы на основе таких факторов, как общее или абсолютное количество отправок поисковых запросов в течение некоторого времени, прошлые действия пользователей со страницами SERP, предоставленными в ответ на эти поисковые запросы, и т.д.
[109] Сервер 260 подсказок также может поддерживать базу 262 данных подсказок. База 262 подсказок может содержать один или несколько прежних подсказок для поискового запроса и соответствующие параметры. Очевидно, что в некоторых вариантах осуществления изобретения база 262 данных подсказок является опциональной и ее функции могут быть реализованы базой 240 данных поисковых запросов сервера 230 поисковой системы или другой базой данных (не показана) на других серверах (не показаны).
[110] Известны различные способы и алгоритмы, которые могут быть использованы для ранжирования и/или персонализации подсказок по расширению поискового запроса. В не имеющем ограничительного характера примере некоторые способы и алгоритмы ранжирования подсказок по расширению поискового запроса по релевантности основаны на всех следующих факторах или некоторых из них: (а) популярность подсказки по расширению поискового запроса; (б) количество результатов, выданных для подсказки по расширению поискового запроса; (в) наличие определяющих терминов (таких как «изображения», «фильмы», «погода», «YouTube™» и т.п.) в подсказке по расширению поискового запроса; (г) типичная частота выбора или использования другими пользователями конкретной подсказки по расширению поискового запроса с определяющими терминами; (д) частота выбора другими пользователями, выполнявшими аналогичный поиск, конкретного ресурса или конкретного элемента результата поиска, когда результаты были представлены для конкретной подсказки по расширению поискового запроса.
[111] Такие ранжирования могут быть персонализированными или деперсонализированными, т.е. они могут основываться или не основываться на зависящем от пользователя атрибуте ранжирования. В некоторых вариантах осуществления изобретения такое ранжирование подсказок по расширению поискового запроса основано на известных универсальных способах ранжирования и не зависит от пользователя. В других вариантах осуществления изобретения ранжирование подсказок по расширению поискового запроса зависит от пользователя, т.е. основано на зависящих от пользователя атрибутах общего или вертикального ранжирования. Зависящие от пользователя атрибуты ранжирования основаны на личных данных пользователя, таких как признаки из истории поиска этого пользователя. Очевидно, что в контексте настоящей технологии могут использоваться любые такие способы ранжирования и/или персонализации.
[112] Лишь в качестве иллюстрации, подсказки по расширению поискового запроса в описанных здесь примерах могут быть реализованы в виде текстовых строк, фраз или слов. Тем не менее, должно быть понятно, что на вид формируемой подсказки по расширению поискового запроса не накладывается каких-либо ограничений. Например, подсказка по расширению поискового запроса может представлять собой изображение, аудиозапись, текст и т.д.
[113] Несмотря на то, что эти не имеющие ограничительного характера варианты осуществления изобретения относятся к пользователям, вводящим поисковые запросы с клавиатуры в интерфейсе поисковой системы 235, реализованной на сервере 230 поисковой системы, должно быть очевидно, что настоящая технология может быть реализована и в используемых для получения информации ресурсах, приложениях и/или интерфейсах других видов.
[114] На фиг. 3 представлен процесс 300 формирования подсказки по расширению поискового запроса и селективного предварительного выбора данных SERP для подсказки по расширению поискового запроса.
[115] Процесс 300 выполняется сервером 260 подсказок по расширению поискового запроса и включает в себя набор 303 процедур, содержащий процедуру 302 формирования подсказки по расширению поискового запроса (или сокращенно процедуру 302 формирования SQCS (Search Query Completion Suggestion)), процедуру 304 анализа триггера, процедуру 306 предварительного выбора страницы SERP и аналитическую процедуру 308.
[116] Процедура 302 формирования SQCS способна получать предоставленное сервером 230 поисковой системы указание 301 на по меньшей мере часть поискового запроса от электронного устройства (такого как одно из первого клиентского устройства 202, второго клиентского устройства 204, третьего клиентского устройства 206 и четвертого клиентского устройства 208), связанного с пользователем поисковой системы 235. В по меньшей мере некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии процедура 302 формирования SQCS способна непрерывно динамически принимать указание 301 на по меньшей мере часть поискового запроса по мере ввода пользователем поискового запроса с использованием соответствующего электронного устройства (такого как одно из первого клиентского устройства 202, второго клиентского устройства 204, третьего клиентского устройства 206 и четвертого клиентского устройства 208).
[117] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии процедура 302 формирования SQCS получает указание 301 на по меньшей мере часть поискового запроса до отправки пользователем поискового запроса серверу 230 поисковой системы. «Отправка» означает явно выраженное действие пользователя для отправки поискового запроса, такое как нажатие клавиши ENTER или иное указание на его желание отправить поисковый запрос (путем использования программируемой кнопки, жеста, речевой команды и т.п.).
[118] Как описано выше, процедура 302 формирования SQCS динамически получает указание 301 на по меньшей мере часть поискового запроса по мере того, как пользователь вводит (и продолжает вводить) часть поискового запроса.
[119] Процедура 302 формирования SQCS дополнительно способна формировать на основе полученного указания 301 на по меньшей мере часть поискового запроса, введенную в текущий момент времени обработки, ранжированный набор 310 подсказок по расширению поискового запроса, связанных с этой частью поискового запроса. В частности, процедура 302 формирования SQCS способна инициировать формирование ранжированного набора 310 подсказок по расширению поискового запроса сервером 260 подсказок. Ранжированный набор 310 подсказок по расширению поискового запроса содержит по меньшей мере одну подсказку по расширению поискового запроса.
[120] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 260 подсказок формирует ранжированный набор 310 подсказок по расширению поискового запроса на основе прошлых отправок поисковых запросов, выполненных различными пользователями поисковой системы 235.
[121] В частности, сервер 260 подсказок осуществляет доступ к базе 240 данных журналов поиска (в частности, к журналу 246 поисковых запросов и/или к журналу 248 действий пользователей). На основе указания на отправленные прошлые запросы (т.е. популярности различных суффиксов для полученной части поискового запроса, представляющей собой префикс) и/или действий пользователей с результатами поиска, представленными в ответ на эти запросы, сервер 260 подсказок формирует ранжированный набор 310 подсказок по расширению поискового запроса. Тем не менее, очевидно, что для формирования ранжированного набора подсказок по расширению поискового запроса могут быть использованы другие способы, отличные от статистического анализа ранее отправленных поисковых запросов или действий пользователей с результатами поиска, представленными в ответ на них.
[122] Таким образом, можно сказать, что сервер 260 подсказок выбирает из базы 240 данных журналов поиска набор 310 подсказок по расширению поискового запроса на основе соответствующей частоты прошлого использования каждого потенциального поискового запроса (т.е. промежуточного поискового запроса), связанного с соответствующей подсказкой по расширению поискового запроса из набора подсказок по расширению поискового запроса в прошлых поисках.
[123] Затем процедура 302 формирования SQCS отправляет набор 310 подсказок по расширению поискового запроса процедуре 304 анализа триггера (пакет 312 данных на фиг. 3).
[124] Затем процедура 304 анализа триггера может проанализировать первую подсказку из ранжированного набора 310 подсказок по расширению поискового запроса с целью определения соответствия этой первой подсказки из ранжированного набора 310 подсказок по расширению поискового запроса заранее заданному триггерному условию.
[125] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии заранее заданное триггерное условие содержит параметр достоверности прогноза, указывающий на уровень достоверности того, что прогнозируемая первая подсказка из ранжированного набора 310 подсказок по расширению поискового запроса представляет собой поисковый запрос (т.е. требующий выполнения поиска запрос, часть которого введена пользователем).
[126] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии процедура 304 анализа триггера также может формировать заранее заданное триггерное условие. В общем случае процедура 304 анализа триггера может формировать заранее заданное триггерное условие на основе по меньшей мере одного из следующих факторов: прогнозируемой вероятности выбора пользователем первой подсказки из ранжированного набора 310 подсказок по расширению поискового запроса; длины первой подсказки из ранжированного набора 310 подсказок по расширению поискового запроса или промежуточного поискового запроса; лингвистической модели, используемой для анализа первой подсказки из ранжированного набора 310 подсказок по расширению поискового запроса или промежуточного поискового запроса; пользовательской истории, связанной с пользователем, вводящим поисковый запрос. Пользовательская история может содержать: информацию о том, выполнял ли ранее сервер 260 подсказок предварительный выбор страниц SERP для этого пользователя и выбирал ли их пользователь фактически, т.е. признак, указывающий на то, правильно ли сервер 260 подсказок выполняет прогноз нужности пользователю предварительно выбранной страницы SERP; вид соединения, используемого пользователем (например, требуется ли экономить сетевой трафик, если пользователь использует беспроводное соединение, и т.п.), и т.д.
[127] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии процедура 304 анализа триггера также может формировать заранее заданное триггерное условие на основе расчета параметра достоверности прогноза с учетом оптимизации параметра PFOP. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии процедура 304 анализа триггера рассчитывает параметр PFOP в автономном режиме (т.е. до реализации описанных здесь способов). Например, процедура 304 анализа триггера может рассчитывать параметр PFOP один раз в сутки, один раз в неделю, один раз в месяц и т.п. Кроме того, следует отметить, что процедура 304 анализа триггера может рассчитывать параметр PFOP в непиковое время - когда потребление ресурсов системы 200 сравнительно невелико.
[128] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии процедура 304 анализа триггера может рассчитывать параметр PFOP на основе следующей формулы:
PFOP=((PR+R-EP))/R-1,
где:
PR - количество предварительно выбранных страниц SERP;
R - количество поисковых запросов, которые пользователь отправил бы без подсказок по расширению поискового запроса;
EP - количество предварительно выбранных страниц SERP, с которыми осуществлялось взаимодействие.
[129] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии процедура 304 анализа триггера может оптимизировать параметр PFOP путем выбора оптимизированного количества предварительно выбранных страниц SERP, выполняемого так, чтобы параметр PFOP был меньше заранее заданного порога потребления ресурсов.
[130] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии процедура 304 анализа триггера может оптимизировать параметр PFOP так, чтобы он был приблизительно равен 1, т.е. в целом соответствовал увеличению вычислительных ресурсов для случая одного дополнительного отправленного поискового запроса. Тем не менее, его значение может быть в диапазоне 1-3, 1-4, 1-5 или любом другом подходящем диапазоне в зависимости от доступности вычислительных ресурсов, типичного пользовательского соединения и т.п.
[131] Таким образом, можно сказать, что процедура 304 анализа триггера способна на основе параметра PFOP определять порог, с которым сравнивается заранее заданное триггерное условие. Например, в тех не имеющих ограничительного характера вариантах осуществления настоящей технологии, где триггерное условие содержит параметр достоверности прогноза, указывающий на уровень достоверности того, что прогнозируемая первая подсказка из ранжированного набора 310 подсказок по расширению поискового запроса представляет собой поисковый запрос (т.е. требующий поиска запрос, часть которого введена пользователем), порог может быть выражен конкретным значением. Если параметр достоверности прогноза больше такого значения, страница SERP предварительно выбирается. Если параметр достоверности прогноза меньше такого значения, страница SERP предварительно не выбирается.
[132] На фиг. 4 представлен пример 400 динамического ввода пользователем поискового запроса с использованием электронного устройства (т.е. одного из первого клиентского устройства 202, второго клиентского устройства 204, третьего клиентского устройства 206 и четвертого клиентского устройства 208) и обработки поискового запроса согласно вариантам осуществления настоящей технологии, не имеющим ограничительного характера. Следует отметить, что пример 400 представлен на фиг. 4 лишь для иллюстрации. Иными словами, такая информация не обязательно содержится в системе 200. Она приведена для иллюстрации различных процессов и процедур, выполняемых системой 200.
[133] В представленном примере 400 фактический поисковый запрос 401, для которого пользователь желает выполнить поиск, представляет собой фразу «Find length of arc». Пример 400 иллюстрирует процесс ввода пользователем с клавиатуры частичных поисковых запросов 402, включая «F», «FI», «FIN», «FIND», «FIND», «FIND L», «FIND LE» и «FIND LEN». Это иллюстрация динамического ввода пользователем поискового запроса с использованием электронного устройства (т.е. одного из первого клиентского устройства 202, второго клиентского устройства 204, третьего клиентского устройства 206 и четвертого клиентского устройства 208). Каждый частично введенный запрос представляет собой часть поискового запроса, обрабатываемую согласно вариантам осуществления настоящей технологии, не имеющим ограничительного характера.
[134] Пример 400 также иллюстрирует соответствующие подсказки 404 по расширению поискового запроса с наибольшим рангом из числа подсказок по расширению промежуточного поискового запроса, включая: «FLIGHTS», «FINANCIAL TIMES», «FIND MY PHONE», «FINDING NEMO», «FIND LINKS IN EXCEL», «FIND LENGTH OF TRIANGLE» и «FIND LENGTH OF ARC». Эти подсказки по расширению промежуточного поискового запроса формируются в системе 200 в ответ на каждый частично введенный поисковый запрос. Иными словами, в ответ на ввод пользователем буквы «F» формируется набор ранжированных подсказок по расширению поискового запроса, наивысший ранг среди которых имеет подсказка «FLIGHTS». Очевидно, что буква «F» является однобуквенным представителем фактического поискового запроса 410, при этом параметр достоверности прогноза того, что прогнозируемый поисковый запрос («FLIGHTS») представляет собой фактический поисковый запрос 401 («FIND LENGTH OF ARC»), ничтожно мал, поскольку имеется почти бесконечное количество возможных вариантов фактического поискового запроса 401, начинающегося с буквы «F».
[135] В примере 400 также представлен соответствующий параметр 406 достоверности прогноза. Например, в конкретной строке 408 частично введенный поисковый запрос представляет собой строку «FIN», соответствующая первая подсказка по расширению поискового запроса из ранжированного набора подсказок по расширению поискового запроса представляет собой фразу «FIND MY PHONE», а соответствующий параметр достоверности прогноза равен «-82,007». Точная шкала соответствующего параметра достоверности прогноза не важна. Тем не менее, в этом конкретном примере отрицательное число указывает на низкое значение соответствующего параметра достоверности прогноза.
[136] В примере 400 также представлен заранее заданный порог 410. В качестве иллюстрации этот порог задан равным нулевому значению соответствующего параметра 406 достоверности прогноза. Это лишь пример и значение порога может быть задано равным любому другому значению на основе описанных здесь способов оптимизации параметра PFOP.
[137] В представленном примере только две подсказки 412 и 414 по расширению поискового запроса с наибольшим рангом связаны с параметром 406 достоверности прогноза, превышающем заранее заданный порог 410. Согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии, две подсказки 412 и 414 по расширению поискового запроса с наибольшим рангом инициируют формирование предварительно выбранной страницы SERP, как описано здесь. Другие подсказки по расширению поискового запроса с наибольшим рангом не инициируют формирование предварительно выбранной страницы SERP.
[138] В этом иллюстративном примере 400 формируются две предварительно выбранные страницы SERP. С учетом того, что подсказка 412 по расширению поискового запроса с наибольшим рангом не соответствует фактическому поисковому запросу 401, а подсказка 414 по расширению поискового запроса с наибольшим рангом соответствует фактическому поисковому запросу 401, можно предположить, что пользователь взаимодействовал лишь с одной из двух предварительно выбранных страниц SERP, а другая страница представляет собой «издержки» - предварительно выбранную страницу SERP, которая была сформирована и отправлена, но действия с ней не выполнялись (т.е. затраты компьютерных ресурсов для формирования и передачи предварительного выбранной страницы SERP оказались бесполезными).
[139] Следует отметить, что фактическое количество обработанных частичных поисковых запросов, количество сформированных и предварительно выбранных страниц SERP и количество являющихся издержками предварительно выбранных страниц SERP могут быть другими, а фиг. 4 приведена лишь в качестве иллюстративного примера. Также следует отметить, что триггерное условие, значение триггерного условия и порядок формирования триггерного условия могут отличаться в различных альтернативных вариантах осуществления настоящей технологии, не имеющих ограничительного характера.
[140] Если первая подсказка из ранжированного набора подсказок по расширению поискового запроса соответствует заранее заданному триггерному условию, то процедура 304 анализа триггера отправляет ранжированный набор 310 подсказок по расширению поискового запроса (пакет 314 данных на фиг. 3) процедуре 306 предварительного выбора страницы SERP.
[141] Если первая подсказка из ранжированного набора подсказок по расширению поискового запроса не соответствует заранее заданному триггерному условию, то процедура 304 анализа триггера не отправляет ранжированный набор 310 подсказок по расширению поискового запроса процедуре 306 предварительного выбора страницы SERP. В последнем случае процесс 300 отправляет ранжированный набор 310 подсказок по расширению поискового запроса электронному устройству без формирования (и следовательно, без отправки) предварительно выбранной страницы SERP.
[142] Затем процесс 300 ожидает получения другого (дополнительного) указания на другую часть поискового запроса по мере продолжения ввода пользователем поискового запроса на соответствующем электронном устройстве (первом клиентском устройстве 202, втором клиентском устройстве 204, третьем клиентском устройстве 206 или четвертом клиентском устройстве 208).
[143] Процедура 306 предварительного выбора страницы SERP формирует набор 316 результатов поиска, соответствующих промежуточному поисковому запросу, содержащему по меньшей мере часть поискового запроса и первую подсказку из ранжированного набора подсказок по расширению поискового запроса.
[144] Процедура 306 предварительного выбора страницы также может отправлять электронному устройству, связанному с пользователем, который ввел поисковый запрос (т.е. одному из первого клиентского устройства 202, второго клиентского устройства 204, третьего клиентского устройства 206 и четвертого клиентского устройства 208), ранжированный набор 310 подсказок по расширению поискового запроса и страницу SERP, содержащую набор 316 результатов поиска.
[145] Эта отправка электронному устройству (т.е. одному из первого клиентского устройства 202, второго клиентского устройства 204, третьего клиентского устройства 206 и четвертого клиентского устройства 208) инициирует отображение электронным устройством ранжированного набора 310 подсказок по расширению поискового запроса при отсутствии явно выраженного действия пользователя электронного устройства, а также страницы SERP, содержащей набор 316 результатов поиска, при наличии явно выраженного действия пользователя с первой подсказкой из ранжированного набора 310 подсказок по расширению поискового запроса.
[146] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии аналитическая процедура 308 способна принимать указание на то, что пользователь не выбрал первую подсказку из ранжированного набора 310 подсказок по расширению поискового запроса и что первая страница SERP не была отображена, и в ответ на это выполнять маркировку страницы SERP флагом неиспользования.
[147] На получение такого указания не накладывается каких-либо особых ограничений. Например, перед отправкой предварительного выбранной страницы SERP электронному устройству аналитическая процедура 308 может выполнять маркировку предварительного выбранной страницы SERP флагом контроля. В ответ на получение предварительно выбранной страницы SERP с таким флагом контроля электронное устройство может контролировать взаимодействие пользователя с такой предварительного выбранной страницей SERP и, если пользователь не выбрал первую подсказку из ранжированного набора 310 подсказок по расширению поискового запроса и пользователю не была продемонстрирована предварительно выбранная страница SERP, то электронное устройство может отправить серверу 260 подсказок указание на неиспользование предварительного выбранной страницы SERP.
[148] Согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии, аналитическая процедура 308 рассматривает любую сформированную (т.е. предварительно выбранную) страницу SERP без явно выраженной отправки пользователем поискового запроса как предварительно выбранную страницу SERP, помеченную флагом использования или неиспользования.
[149] Таким образом, по меньшей мере в некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии аналитическая процедура 308 (или другой процесс, выполняемый в системе 200) на основе флага неиспользования может формировать статистический параметр использования страниц SERP без учета предварительного выбранной страницы (или страниц) SERP.
[150] В частности, можно сказать, что аналитическая процедура 308 (или другой процесс, выполняемый в системе 200) формирует статистический параметр использования страниц SERP только на основе тех предварительно выбранных страниц SERP (и страниц SERP, сформированных в ответ на фактическую отправку пользователем поискового запроса), которые были отображены и с которыми потенциально взаимодействовал (или не взаимодействовал) пользователь, в зависимости от релевантности такой страницы SERP поисковому запросу (т.е. промежуточному поисковому запросу, сформированному на основе подсказки по расширению поискового запроса, или фактическому поисковому запросу, отправленному пользователем).
[151] С учетом описанной выше архитектуры возможно выполнение способа формирования подсказок по расширению поискового запроса и селективного формирования предварительно выбранной страницы (или нескольких страниц) SERP, соответствующей промежуточным поисковым запросам (т.е. подсказкам по расширению поискового запроса). На фиг. 5 представлена блок-схема способа 500 формирования подсказок по расширению поискового запроса, реализованного согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии. Способ 500 выполняется в системе 200, например, сервером 260 подсказок и/или поисковой системой 235.
[152] Шаг 502: прием сервером указания на по меньшей мере часть поискового запроса от электронного устройства, соединенного с сервером через сеть связи.
[153] Способ 500 начинается с шага 502, на котором сервер 260 подсказок получает указание на по меньшей мере часть поискового запроса от электронного устройства (т.е. от одного из первого клиентского устройства 202, второго клиентского устройства 204, третьего клиентского устройства 206 и четвертого клиентского устройства 208), связанного с сервером 260 подсказок через сеть 220 связи.
[154] Шаг 504: формирование на основе этого указания ранжированного набора подсказок по расширению поискового запроса, связанных с частью поискового запроса.
[155] На шаге 504 сервер 260 подсказок формирует на основе указания, полученного на шаге 502, ранжированный набор 310 подсказок по расширению поискового запроса, связанных с частью поискового запроса.
[156] Шаг 506: анализ первой подсказки из ранжированного набора подсказок по расширению поискового запроса с целью определения соответствия первой подсказки из ранжированного набора подсказок по расширению поискового запроса заранее заданному триггерному условию.
[157] На шаге 506 сервер 260 подсказок анализирует первую подсказку из ранжированного набора 310 подсказок по расширению поискового запроса с целью определения соответствия этой первой подсказки из ранжированного набора 310 подсказок по расширению поискового запроса заранее заданному триггерному условию.
[158] Шаг 508: при соответствии первой подсказки из ранжированного набора подсказок по расширению поискового запроса заранее заданному триггерному условию - формирование набора результатов поиска, соответствующих промежуточному поисковому запросу, содержащему по меньшей мере часть поискового запроса и первую подсказку из ранжированного набора подсказок по расширению поискового запроса.
[159] На шаге 508 в случае соответствия первой подсказки из ранжированного набора 310 подсказок по расширению поискового запроса заранее заданному триггерному условию поисковая система 235 формирует набор результатов поиска, соответствующих промежуточному поисковому запросу, содержащему по меньшей мере часть поискового запроса и первую подсказку из ранжированного набора 310 подсказок по расширению поискового запроса.
[160] Например, если по меньшей мере часть поискового запроса содержит строку «cheap hotels», а первая подсказка из ранжированного набора 310 подсказок по расширению поискового запроса содержит строку «book online», то промежуточный поисковый запрос, используемый сервером подсказок для формирования набора результатов поиска, будет содержать строку «cheap hotels book online».
[161] Шаг 510: отправка электронному устройству ранжированного набора подсказок по расширению поискового запроса и страницы SERP, содержащей набор результатов поиска.
[162] На шаге 510 сервер 260 подсказок и/или поисковая система 235 отправляет электронному устройству (т.е. одному из первого клиентского устройства 202, второго клиентского устройства 204, третьего клиентского устройства 206 и четвертого клиентского устройства 208) ранжированный набор 310 подсказок по расширению поискового запроса и страницу SERP, содержащую набор 316 результатов поиска.
[163] Следует отметить, что согласно способу 500, продолжается отслеживание любых дополнительных данных, вводимых пользователем в качестве части вводимого поискового запроса. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии указание на по меньшей мере часть поискового запроса, полученное на шаге 502, представляет собой первое указание на по меньшей мере часть поискового запроса, содержащую по меньшей мере один поисковый термин, а способ 500 дополнительно включает в себя:
[164] - прием сервером от электронного устройства второго указания на по меньшей мере часть поискового запроса, содержащую по меньшей мере один дополнительный символ по сравнению с первым указанием;
[165] - формирование на основе второго указания второго ранжированного набора подсказок по расширению поискового запроса, связанных со вторым указанием на по меньшей мере часть поискового запроса;
[166] - анализ первой подсказки из второго ранжированного набора подсказок по расширению поискового запроса с целью определения соответствия этой первой подсказки из второго ранжированного набора подсказок по расширению поискового запроса заранее заданному триггерному условию;
[167] - в случае соответствия первой подсказки из второго ранжированного набора подсказок по расширению поискового запроса заранее заданному триггерному условию - формирование второго набора результатов поиска, соответствующих второму промежуточному поисковому запросу, содержащему часть поискового запроса в момент времени до получения второго указания и первую подсказку из второго ранжированного набора подсказок по расширению поискового запроса;
[168] - отправку электронному устройству второго ранжированного набора подсказок по расширению поискового запроса и второй страницы SERP, содержащей второй набор результатов поиска.
[169] Таким образом, в соответствии с не имеющими ограничительного характера вариантами осуществления настоящей технологии реализован компьютерный способ формирования подсказки по расширению поискового запроса. Способ включает в себя анализ динамического ввода пользователем поискового запроса и в ответ на него селективный предварительный выбор результатов поиска страницы SERP для промежуточного поискового запроса, содержащего первую из подсказок по расширению поискового запроса. В частности, способ включает в себя: итеративное получение от электронного устройства, связанного с сервером, текущего указания на по меньшей мере часть поискового запроса, которое представляет собой часть динамического набора указаний, каждое из которых содержит последовательно вводимые пользователем электронного устройства данные поискового запроса; формирование на основе этого указания ранжированного набора подсказок по расширению поискового запроса, связанных с текущим указанием на часть поискового запроса; анализ первой подсказки из ранжированного набора подсказок по расширению поискового запроса с целью определения соответствия этой первой подсказки из ранжированного набора подсказок по расширению поискового запроса заранее заданному триггерному условию; при соответствии первой подсказки из ранжированного набора подсказок по расширению поискового запроса заранее заданному триггерному условию, содержащему параметр достоверности прогноза того, что первая подсказка из ранжированного набора подсказок по расширению поискового запроса представляет собой поисковый запрос, формирование набора результатов поиска, соответствующих промежуточному поисковому запросу, содержащему по меньшей мере часть поискового запроса и первую подсказку из ранжированного набора подсказок по расширению поискового запроса; отправку электронному устройству ранжированного набора подсказок по расширению поискового запроса и страницы SERP, содержащей набор результатов поиска.
[170] Очевидно, что не все упомянутые в данном описании технические эффекты должны присутствовать в каждом варианте осуществления настоящей технологии. Например, возможны варианты осуществления настоящей технологии, когда пользователь не получает некоторые из этих технических эффектов, или другие варианты реализации, когда пользователь получает другие технические эффекты либо технический эффект отсутствует.
[171] Некоторые из этих шагов и передаваемых или принимаемых сигналов хорошо известны в данной области техники и по этой причине опущены в некоторых частях описания для упрощения. Сигналы могут передаваться или приниматься с использованием оптических средств (таких как волоконно-оптическое соединение), электронных средств (таких как проводное или беспроводное соединение) и механических средств (например, основанных на давлении, температуре или любом другом подходящем физическом параметре).
[172] Для специалиста в данной области могут быть очевидными возможные изменения и усовершенствования описанных выше вариантов осуществления настоящей технологии. Предшествующее описание приведено лишь в иллюстративных целях, а не для ограничения объема изобретения. Объем охраны настоящей технологии определяется исключительно объемом приложенной формулы изобретения.
название | год | авторы | номер документа |
---|---|---|---|
СПОСОБ И СИСТЕМА ДЛЯ РАСШИРЕНИЯ ПОИСКОВЫХ ЗАПРОСОВ С ЦЕЛЬЮ РАНЖИРОВАНИЯ РЕЗУЛЬТАТОВ ПОИСКА | 2018 |
|
RU2720905C2 |
Способ и система для рекомендации свежих саджестов поисковых запросов в поисковой системе | 2018 |
|
RU2692045C1 |
Способ и сервер для формирования расширенного запроса | 2021 |
|
RU2813582C2 |
СПОСОБ И СИСТЕМА ОБРАБОТКИ ПОИСКОВОГО ЗАПРОСА | 2015 |
|
RU2640639C2 |
Система и способ формирования обучающего набора для алгоритма машинного обучения | 2018 |
|
RU2744029C1 |
Система и способ для формирования обучающего набора для алгоритма машинного обучения | 2020 |
|
RU2790033C2 |
СЕРВЕР ДЛЯ ОПРЕДЕЛЕНИЯ ПОИСКОВОЙ ВЫДАЧИ НА ПОИСКОВЫЙ ЗАПРОС И ЭЛЕКТРОННОЕ УСТРОЙСТВО | 2013 |
|
RU2583739C2 |
СПОСОБ И СИСТЕМА ДЛЯ ОПРЕДЕЛЕНИЯ АНОМАЛЬНЫХ ПОСЕЩЕНИЙ ВЕБ-САЙТОВ | 2019 |
|
RU2775824C2 |
СПОСОБ И СИСТЕМА ДЛЯ ОБНОВЛЕНИЯ БАЗЫ ДАННЫХ ПОИСКОВОГО ИНДЕКСА | 2018 |
|
RU2733482C2 |
СПОСОБ И ПОИСКОВАЯ СИСТЕМА ПРЕДОСТАВЛЕНИЯ ПОИСКОВЫХ РЕЗУЛЬТАТОВ НА МНОЖЕСТВО КЛИЕНТСКИХ УСТРОЙСТВ | 2015 |
|
RU2632423C2 |
Изобретение относится к поисковым системам. Технический результат заключается в расширении арсенала средств за счет получения указания на по меньшей мере часть поискового запроса от электронного устройства, формирования на основе этого указания ранжированного набора подсказок по расширению поискового запроса, анализа первой подсказки из ранжированного набора подсказок по расширению поискового запроса с целью определения соответствия этой первой подсказки из ранжированного набора подсказок по расширению поискового запроса заранее заданному триггерному условию и при положительном результате формирования набора результатов поиска, соответствующих промежуточному поисковому запросу, содержащему по меньшей мере часть поискового запроса и первую подсказку из ранжированного набора подсказок по расширению поискового запроса, отправку электронному устройству ранжированного набора подсказок по расширению поискового запроса и страницы результатов поисковой системы, содержащей набор результатов поиска. 3 н. и 20 з.п. ф-лы, 5 ил.
1. Компьютерный способ формирования реализованной на сервере поисковой системой подсказки по расширению поискового запроса, выполняемый сервером и включающий в себя:
- прием сервером указания на по меньшей мере часть поискового запроса от электронного устройства, соединенного с сервером через сеть связи;
- формирование на основе этого указания ранжированного набора подсказок по расширению поискового запроса, связанных с частью поискового запроса;
- анализ первой подсказки из ранжированного набора подсказок по расширению поискового запроса с целью определения соответствия первой подсказки из ранжированного набора подсказок по расширению поискового запроса заранее заданному триггерному условию;
- формирование набора результатов поиска, соответствующих промежуточному поисковому запросу, содержащему по меньшей мере часть поискового запроса и первую подсказку из ранжированного набора подсказок по расширению поискового запроса, при соответствии первой подсказки из ранжированного набора подсказок по расширению поискового запроса заранее заданному триггерному условию;
- отправку электронному устройству ранжированного набора подсказок по расширению поискового запроса и страницы результатов поисковой системы (SERP), содержащей набор результатов поиска.
2. Способ по п. 1, отличающийся тем, что указание на по меньшей мере часть поискового запроса принимается до отправки пользователем поискового запроса серверу.
3. Способ по п. 2, отличающийся тем, что получение указания на по меньшей мере часть поискового запроса выполняется динамически по мере ввода пользователем части поискового запроса.
4. Способ по п. 1, отличающийся тем, что отправка электронному устройству инициирует отображение электронным устройством:
- ранжированного набора подсказок по расширению поискового запроса при отсутствии явно выраженного действия пользователя электронного устройства; и
- страницы SERP при наличии явно выраженного действия пользователя с первой подсказкой из ранжированного набора подсказок по расширению поискового запроса.
5. Способ по п. 1, отличающийся тем, что сервер имеет доступ к базе данных журналов поиска, при этом формирование ранжированного набора подсказок по расширению поискового запроса, связанных с частью поискового запроса, включает в себя выбор сервером из базы данных журналов поиска набора подсказок по расширению поискового запроса на основе соответствующей частоты прошлого использования в прошлых поисках каждого промежуточного поискового запроса, связанного с соответствующей подсказкой по расширению поискового запроса из набора подсказок по расширению поискового запроса.
6. Способ по п. 1, отличающийся тем, что при несоответствии первой подсказки из ранжированного набора подсказок по расширению поискового запроса заранее заданному триггерному условию набор результатов поиска не формируется, а способ включает в себя только отправку ранжированного набора подсказок по расширению поискового запроса.
7. Способ по п. 1, отличающийся тем, что указание на по меньшей мере часть поискового запроса представляет собой первое указание на по меньшей мере часть поискового запроса, содержащую по меньшей мере один поисковый термин, а способ дополнительно включает в себя:
- прием сервером от электронного устройства второго указания на по меньшей мере часть поискового запроса, содержащую по меньшей мере один дополнительный символ по сравнению с первым указанием;
- формирование на основе второго указания второго ранжированного набора подсказок по расширению поискового запроса, связанных со вторым указанием на по меньшей мере часть поискового запроса;
- анализ первой подсказки из второго ранжированного набора подсказок по расширению поискового запроса с целью определения соответствия первой подсказки из второго ранжированного набора подсказок по расширению поискового запроса заранее заданному триггерному условию;
- формирование второго набора результатов поиска, соответствующих второму промежуточному поисковому запросу, содержащему часть поискового запроса до получения второго указания и первую подсказку из второго ранжированного набора подсказок по расширению поискового запроса, при соответствии первой подсказки из второго ранжированного набора подсказок по расширению поискового запроса заранее заданному триггерному условию;
- отправку электронному устройству второго ранжированного набора подсказок по расширению поискового запроса и второй страницы SERP, содержащей второй набор результатов поиска.
8. Способ по п. 7, отличающийся тем, что он дополнительно включает в себя:
- получение указания на то, что пользователь не выбрал первую подсказку из второго ранжированного набора подсказок по расширению поискового запроса и что первая страница SERP не была отображена; и
- маркировку первой страницы SERP флагом неиспользования.
9. Способ по п. 8, отличающийся тем, что он дополнительно включает в себя формирование на основе флага неиспользования статистического параметра использования страниц SERP, выполняемое без учета первой страницы SERP.
10. Способ по п. 9, отличающийся тем, что он дополнительно включает в себя получение указания на то, что пользователь выбрал первую подсказку из второго ранжированного набора подсказок по расширению поискового запроса и что вторая страница SERP была отображена.
11. Способ по п. 10, отличающийся тем, что формирование выполняется с учетом второй страницы SERP и связанного с ней действия пользователя.
12. Способ по п. 7, отличающийся тем, что при несоответствии первой подсказки из второго ранжированного набора подсказок по расширению поискового запроса заранее заданному триггерному условию второй набор результатов поиска не формируется, а способ включает в себя только отправку второго ранжированного набора подсказок по расширению поискового запроса.
13. Способ по п. 1, отличающийся тем, что заранее заданное триггерное условие содержит параметр достоверности прогноза того, что первая подсказка из первого ранжированного набора подсказок по расширению поискового запроса представляет собой поисковый запрос.
14. Способ по п. 7, отличающийся тем, что заранее заданное триггерное условие содержит параметр достоверности прогноза того, что первая подсказка из второго ранжированного набора подсказок по расширению поискового запроса представляет собой поисковый запрос.
15. Способ по п. 1, отличающийся тем, что он дополнительно включает в себя формирование заранее заданного триггерного условия.
16. Способ по п. 15, отличающийся тем, что формирование заранее заданного триггерного условия основано на по меньшей мере одном из следующих факторов:
- прогнозируемая вероятность выбора пользователем первой подсказки из ранжированного набора подсказок по расширению поискового запроса;
- длина первой подсказки из ранжированного набора подсказок по расширению поискового запроса или промежуточного поискового запроса;
- лингвистическая модель;
- пользовательская история, связанная с пользователем.
17. Способ по п. 14, отличающийся тем, что он дополнительно включает в себя расчет параметра достоверности прогноза на основе оптимизации параметра издержек предварительного выбора (PFOP).
18. Способ по п. 15, отличающийся тем, что он дополнительно включает в себя расчет параметра PFOP на основе формулы
PFOP=((PR+R-EP))/R-1,
где PR - количество предварительно выбранных страниц SERP; R - количество поисковых запросов, которые пользователь отправил бы без подсказок по расширению поискового запроса; EP - количество предварительно выбранных страниц SERP, с которыми осуществлялось взаимодействие.
19. Способ по п. 18, отличающийся тем, что параметр PFOP рассчитывается в автономном режиме.
20. Способ по п. 18, отличающийся тем, что оптимизация параметра PFOP включает в себя выбор оптимизированного количества предварительно выбранных страниц SERP, выполняемый так, чтобы параметр PFOP был меньше заранее заданного порога потребления ресурсов.
21. Способ по п. 1, отличающийся тем, что ранжированный набор подсказок по расширению поискового запроса содержит по меньшей мере одну подсказку по расширению поискового запроса.
22. Компьютерный способ формирования реализованной на сервере поисковой системой подсказки по расширению поискового запроса, выполняемый сервером и включающий в себя:
- итеративный прием сервером от электронного устройства, связанного с сервером, текущего указания на по меньшей мере часть поискового запроса, которое представляет собой часть динамического набора указаний, каждое из которых содержит последовательно вводимые пользователем электронного устройства данные поискового запроса;
- формирование на основе этого указания ранжированного набора подсказок по расширению поискового запроса, связанных с текущим указанием на часть поискового запроса;
- анализ первой подсказки из ранжированного набора подсказок по расширению поискового запроса с целью определения соответствия первой подсказки из ранжированного набора подсказок по расширению поискового запроса заранее заданному триггерному условию;
- формирование набора результатов поиска, соответствующих промежуточному поисковому запросу, содержащему по меньшей мере часть поискового запроса и первую подсказку из ранжированного набора подсказок по расширению поискового запроса, при соответствии первой подсказки из ранжированного набора подсказок по расширению поискового запроса заранее заданному триггерному условию, содержащему параметр достоверности прогноза того, что первая подсказка из ранжированного набора подсказок по расширению поискового запроса представляет собой поисковый запрос;
- отправку электронному устройству ранжированного набора подсказок по расширению поискового запроса и страницы SERP, содержащей набор результатов поиска.
23. Сервер для формирования подсказки по расширению поискового запроса, выполненный с возможностью:
- приема указания на по меньшей мере часть поискового запроса от электронного устройства, соединенного с сервером через сеть связи;
- формирования на основе этого указания ранжированного набора подсказок по расширению поискового запроса, связанных с частью поискового запроса;
- анализа первой подсказки из ранжированного набора подсказок по расширению поискового запроса с целью определения соответствия первой подсказки из ранжированного набора подсказок по расширению поискового запроса заранее заданному триггерному условию;
- формирования набора результатов поиска, соответствующих промежуточному поисковому запросу, содержащему по меньшей мере часть поискового запроса и первую подсказку из ранжированного набора подсказок по расширению поискового запроса, при соответствии первой подсказки из ранжированного набора подсказок по расширению поискового запроса заранее заданному триггерному условию;
- отправки электронному устройству ранжированного набора подсказок по расширению поискового запроса и страницы SERP, содержащей набор результатов поиска.
US 9081851 B2, 14.07.2015 | |||
US 8156109 B2, 10.04.2012 | |||
СПОСОБ ФОРМИРОВАНИЯ ПОЛЬЗОВАТЕЛЬСКОГО ЗАПРОСА | 2016 |
|
RU2677379C2 |
RU 2015106797 A, 20.09.2016. |
Авторы
Даты
2021-03-02—Публикация
2019-06-19—Подача