Предложения запроса на основе данных поиска

Иллюстрации

Показать все

Изобретение относится к системам, принимающим запрос и определяющим тематические подсказки на основе данных поиска. Техническим результатом является уменьшение вводимых пользователем данных и вероятности дрейфа темы, предоставление предложений, с большей вероятностью удовлетворяющих информационным потребностям пользователей, более быстрое направление пользователей к результатам поиска. Способ определения тематических подсказок на основе данных поиска включает этапы: определяют уточнения запроса; генерируют кластеры уточнений, каждый из которых соответствует конкретной теме, включенной в запросы в этом кластере уточнения и не включенной в первый запрос; оценивают каждый из кластеров, используя количество уникальных n-грамм, связанных с конкретной темой этого кластера уточнения; ранжируют кластеры уточнений на основе оценок; выбирают кластер уточнения, который является самым высоким по рангу относительно других, в качестве первого кластера уточнения поиска для первого запроса; и генерируют первые данные тематической подсказки на основе темы, связанной с первым кластером уточнения поиска, которые описывают вопрос, содержащий запрашивание первого пользовательского ввода n-граммы, которая является подтемой упомянутой темы. 3 н. и 16 з.п. ф-лы, 4 ил.

Реферат

Уровень техники изобретения

[0001] Это описание относится к системам, принимающим запрос и определяющим тематические подсказки на основе запроса.

[0002] Сеть Интернет предоставляет доступ к самым разнообразным ресурсам, таким как, например, видеофайлы, файлы изображений, звуковые файлы или веб-станицы, включая контент для конкретных тем, книжных статей или новостных статей. Поисковая система может выбрать один или несколько ресурсов в ответ на прием запроса поиска. Запрос поиска это данные, которые пользователь отправляет в поисковую систему, чтобы удовлетворить информационные потребности пользователя. Поисковые запросы обычно предоставляются в форме текста, например одно или более условий запроса, и могут также включать в себя транскрипции разговорных поисковых запросов. Система поиска выбирает и оценивает ресурсы на основе их значимости для поискового запроса и на основе их важности относительно других ресурсов для предоставления результатов поиска. Результаты поиска обычно упорядочиваются в соответствии с упомянутыми оценками и представляются в соответствии с этим порядком.

Сущность изобретения

[0003] В общем, один инновационный аспект изобретения, описываемого в этом описании, может осуществляться в способах, которые включают в себя следующие действия: прием, посредством одного или более компьютеров, первого запроса, определение уточнений запроса на основе первого запроса, генерирование, из уточнений запроса, кластеров уточнений, каждый кластер уточнения соответствует конкретной теме, и каждый кластер уточнения включает уточнения запроса, которые определяются принадлежащими конкретной теме, которой соответствует упомянутый кластер уточнения, ранжирование кластеров уточнений, выбор кластера уточнения, который является самым высоким по рангу относительно других кластеров уточнений при ранжировании, в качестве первого кластера уточнения поиска для первого запроса, и генерирование первых данных тематической подсказки на основе темы, связанной с первым кластером уточнения поиска, упомянутые первые данные тематической подсказки описывают запрос первого пользовательского ввода n-граммы, которая относится к теме, связанной с первым кластером уточнения поиска. Другие варианты осуществления этого аспекта включают в себя соответствующие системы, устройство и компьютерные программы, конфигурируемые для выполнения действий способов, кодированных на компьютерных устройствах хранения.

[0004] Конкретные варианты осуществления изобретения, описанного в данном описании, могут осуществляться, чтобы реализовать одно или более из следующих преимуществ. В некоторых осуществлениях, поисковая система получает доступ к журналу запросов и определяет тематическую подсказку для принятого запроса на основе предыдущих запросов или последовательностей запросов, которые соответствуют пороговому уровню сходства с упомянутым запросом, таким образом уменьшая количество вводимых пользователем данных на пользовательском устройстве. В некоторых осуществлениях, поисковая система ограничивает тематической подсказки чтобы уменьшить вероятность дрейфа темы, таким образом предоставляя предложения, которые более вероятны, чтобы удовлетворить информационные потребности пользователей. Упомянутые предложения могут представляться в диалоговом контексте, связанном с темой, вместо конкретного предложения запроса. В некоторых осуществлениях этот диалог может содержать изображения или идеограммы для выбора, или группы результатов поиска для различных выборов уточнения запроса. Возможность уточнения запроса с использованием тематической подсказки в таком диалоговом контексте позволяет пользователю вводить запросы более плавным, разговорным способом, который в свою очередь приводит к облегчению использования поисковой системы посредством пользователей и может направить пользователя к результатам поиска, требуемым пользователем, более быстро. Это может обеспечить полностью автоматическую работу поисковой системы в ситуациях или на устройствах, где ввод исправлений запросов является невозможным или нецелесообразным.

[0005] Подробности одного или более вариантов осуществления изобретения, описанного в этом описании, излагаются в прилагаемых чертежах и описании ниже. Другие функциональные возможности, аспекты и преимущества изобретения будут очевидны из описания, чертежей и формулы изобретения.

Краткое описание чертежей

[0006] Фигуры 1A-B являются блок-схемой примерной среды для определения подсказок тем на основе запроса.

[0007] Фиг.2 является блок-схемой процесса для предоставления тематической подсказки в ответ на прием запроса.

[0008] Фиг.3 является блок-схемой процесса для выбора тематической подсказки на основе оценки, связанной с тематической подсказкой.

[0009] Подобные ссылочные номера и обозначения на различных чертежах указывают подобные элементы.

Подробное описание

§ 1.0 Обзор

[0010] Иногда, когда пользователь вводит запрос поиска, результаты поиска, представляемые для пользователя, не являются теми, какие пользователь искал, и пользователь должен пересмотреть поисковый запрос. Например, пользователь может запросить "Рестораны в Сан-Франциско", просмотреть результаты поиска, и затем запросить "Итальянские рестораны в Сан-Франциско". Редакция последнего запроса может быть особенно трудной для ввода, когда пользователь взаимодействует с помощью голосовых запросов или текстовых запросов на мобильной платформе, поскольку способы ввода часто ограничены на таких устройствах.

[0011] Системы и способы, описанные ниже, облегчают уточнение запросов плавным и интуитивно понятным способом. Когда поисковая система принимает первый запрос от пользовательского устройства, система поиска извлекает другие запросы из журнала, где другие запросы соответствуют пороговому уровню сходства с первым запросом, определяет уточнения запроса для первого запроса, где уточнения запроса поступают от других запросов, делит на кластеры уточнения запроса, где каждый кластер уточнения связывается с темой уточнения, и выбирает один или более тем кластеров уточнений на основе кластеров уточнений. Система поиска может предоставлять темы кластеров уточнений на основе выбранных тем кластеров уточнений как подсказки тем для пользователя, чтобы позволить пользователю уточнить результаты поиска, которые предоставляются для пользовательского устройства.

[0012] Например, когда пользователь запрашивает "Рестораны в Сан-Франциско", система поиска может определить, что предыдущие запросы ресторанов, часто включаемые в тип кухни (например, на основе кластеров), предоставляют результаты поиска для пользователя, и подсказывают пользователю "Какой тип кухни вы ищете?" Когда пользователь отвечает на подсказку системы с помощью "Я ищу французский тип кухни", система предоставляет пользователю результаты поиска отвечающие "Французские рестораны в Сан-Франциско", и могут включать в себя дополнительное уточнение запроса, такое как подсказывание пользователю конкретного местоположения в Сан-Франциско.

§ 1.1 Пример операционной среды

[0013] Фиг.1 является блок-схемой примерной среды 100 для определения тематических подсказок на основе запроса. Ответ пользователя на тематическую подсказку позволяет пользователю уточнить запрос без ввода нового запроса и предоставляет пользователю результаты поиска, отвечающие как запросу, так и ответу на тематическую подсказку.

[0014] Компьютерная сеть 102, такая как локальная сеть (local area network, LAN), глобальная сеть (WAN), сеть Интернет или их сочетание, соединяет издательские веб-сайты 104, пользовательские устройства 106 и поисковую систему 110. Онлайн среда 100 может включать в себя многие тысячи издательских веб-сайтов 104 и пользовательских устройств 106.

[0015] Издательский веб-сайт 104 включает в себя один или более ресурсов 105, связанных с доменом и организуемых посредством одного или более серверов в одном или более местоположений. В общем, веб-сайт является совокупностью веб-страниц, форматированных на языке гипертекстовой разметки (HTML), которые могут содержать текст, изображения, мультимедийный контент и элементы программирования, например, сценарии. Каждый издательский веб-сайт 104 поддерживается посредством издателя контента, который является объектом, который контролирует, управляет и/или владеет издательским веб-сайтом 104.

[0016] Ресурс является любыми данными, которые могут предоставляться посредством издательского веб-сайта 104 через сеть 102 и которые имеют адрес ресурса, например, унифицированный указатель информационного ресурса (URL). Ресурсы 105 могут быть HTML-страницами, электронными документами, файлами изображений, видеофайлами, аудиофайлами и источниками питания, чтобы назвать только несколько. Упомянутые ресурсы могут включать в себя встроенную информацию, например, метаинформацию и гиперссылки, и/или встроенные инструкции, например, сценарии стороны клиента.

[0017] Пользовательское устройство 106 является электронным устройством, которое находится под управлением пользователя и способно запрашивать и принимать ресурсы через сеть 102. Пример пользовательских устройств 106 включает в себя персональные компьютеры, мобильные коммуникационные устройства и другие устройства, которые могут передавать и принимать данные через сеть 102. Пользовательское устройство 106 обычно включает в себя пользовательское приложение, например, веб-браузер, чтобы облегчить передачу и прием данных через сеть 102. Веб-браузер может позволить пользователю отобразить и взаимодействовать с текстом, изображениями, видео, музыкой и другой информацией, обычно размещаемой на веб-странице на веб-сайте на Всемирной паутине (World Wide Web) или локальной сети.

[0018] Для облегчения поиска этих ресурсов 105, поисковая система 110 идентифицирует ресурсы посредством искателя издательских веб-сайтов 104 и индексирования ресурсов 105, предоставляемых посредством издательских веб-сайтов 104. Упомянутые ресурсы 105 индексируются, и индексные данные хранятся в индексе 112.

[0019] Пользовательские устройства 106 представляют поисковые запросы 109 для поисковой системы 110. Поисковые запросы 109 представляются в форме запроса поиска, который включает в себя поисковый запрос и, опционально, уникальный идентификатор, который идентифицирует пользовательское устройство 106, которое подает запрос. Уникальный идентификатор может быть данными от объекта, хранящегося на пользовательском устройстве, или идентификатором учетной записи пользователя, если пользователь поддерживает учетную запись с поисковой системой 110, или некоторый другой идентификатор, который идентифицирует пользовательское устройство 106 или пользователя, использующего пользовательское устройство.

[0020] В ответ на поисковый запрос, поисковая система 110 использует индекс 112, чтобы идентифицировать ресурсы, которые имеют отношение к запросам. Поисковая система 110 идентифицирует ресурсы в форме результатов поиска и возвращает результаты поиска для пользовательских устройств 106 в ресурсе 111 страницы результатов поиска. Результат поиска является данными, генерируемыми посредством поисковой системы 110, которая идентифицирует ресурс или предоставляет информацию, которая удовлетворяет конкретному запросу поиска. Результат поиска ресурса может включать в себя заголовок веб-страницы, фрагмент текста, извлеченного из веб-страницы, и указатель ресурса для ресурса, например, указатель URL веб-страницы.

[0021] Результаты поиска ранжируются на основе оценок, связанных с ресурсами, идентифицируемыми посредством результатов поиска, таких как оценки извлечения информации ("IR"), опционально отдельного ранжирования каждого ресурса относительно других ресурсов (например, оценка полномочий). Результаты поиска упорядочиваются в соответствии с этими оценками предоставляются для пользовательского устройства в соответствии с упомянутым порядком.

[0022] Пользовательские устройства 106 принимают страницы 111 результатов поиска и визуализируют упомянутые страницы для представления для пользователей. В ответ на выбор пользователем результата поиска на пользовательском устройстве 106, пользовательское устройство 106 запрашивает ресурс 105, идентифицируемый посредством указателя ресурса, включенного в выбранный результат поиска. Издатель издательского веб-сайта 104, размещающего ресурс 105, принимает запрос ресурса от пользовательского устройства 106 и предоставляет ресурс 105 запрашивающему пользовательскому устройству 106.

[0023] В некоторых осуществлениях, поисковые запросы 109, принимаемые от пользовательских устройств 106, хранятся в журналах 114 запросов. Данные для выбора для запросов и веб-страницы, ссылка на которые осуществляется посредством результатов поиска и выбранные пользователями, хранятся в журналах 116 выборов. Журналы 114 запросов и журналы 116 выборов определяют данные 117 истории поиска, которые включают в себя данные из и связанные с предыдущими поисковыми запросами, связанными с уникальными идентификаторами. Журналы выборов представляют действия, предпринятые в ответ на результаты поиска, предоставляемые посредством поисковой системы 110. Журналы 114 запросов и журналы 116 выборов могут использоваться для отображения запросов, поданных пользовательскими устройствами, для ресурсов, которые были идентифицированы в результатах поиска, и действий, предпринятых пользователями, когда им были представлены результаты поиска в ответ на упомянутые запросы. В некоторых осуществлениях, данные являются связанными с идентификаторами из запросов поиска так, что может быть доступна история поиска для каждого идентификатора. Журналы 116 выборов и журналы 114 запросов могут таким образом использоваться посредством поисковой системы для определения соответствующих последовательностей запросов, поданных посредством пользовательских устройств 106, действий, предпринятых в ответ на упомянутые запросы, и как часто упомянутые запросы были поданы.

[0024] Поисковая система 110 использует журналы запросов и последовательности запросов для определения уточнений запроса, выполняемых в отношении поисковых запросов в течение сеансов поиска. Например, поисковая система 110 определяет, что пользователь может уточнить первоначальный запрос поиска типом кухни, таким как французская кухня или итальянская кухня, либо диапазоном цен и т.п.

§ 1.2 Тематической подсказки

[0025] Поисковая система 110 использует эти уточнения запроса для определения тематических подсказок для более поздних сеансов поиска. Например, в момент времени T1 пользователь вводит запрос поиска "Рестораны в Сан-Франциско", и пользовательское устройство 106 подает этот запрос поиска в поисковую систему 110.

[0026] Генератор 118 уточнений выбирает уточнения запроса для данного запроса с использованием данных 117 истории поиска, таких как журналы 114 запросов, где уточнения запросов соответствуют пороговому уровню схожести с упомянутым запросом. Например, генератор 118 уточнений выбирает уточнения запроса "Итальянские рестораны в Сан-Франциско", "Французские рестораны в Сан-Франциско", "Японские рестораны в Сан-Франциско", "Рестораны в Сан-Франциско рядом с Юнион-сквером" и "Японские рестораны в Сан-Франциско у причала".

[0027] В момент времени T2 генератор 118 уточнений определяет кластеры уточнений для уточнения запроса, где каждый кластер уточнения связывается с темой из уточнений запроса. Например, генератор 118 уточнений делит на кластеры уточнения запроса по типу и выбирает кластер уточнения "кухня" на основе n-грамм "Итальянская", "Французская" и "Японская" в уточнениях запроса и кластер уточнения "местоположение" на основе n-грамм "рядом с Юнион-сквером" и "у причала". Здесь, кластер уточнения кухни включает в себя уточнения запроса "Итальянские рестораны в Сан-Франциско", "Французские рестораны в Сан-Франциско", "Японские рестораны в Сан-Франциско" и "Японские рестораны в Сан-Франциско у причала", и кластер уточнения местоположения включает в себя уточнения запроса "Рестораны в Сан-Франциско рядом с Юнион-сквером" и "Японские рестораны в Сан-Франциско у причала".

[0028] Упомянутые n-граммы могут быть непрерывной последовательностью из n элементов из заданной последовательности текста. Каждый из n элементов могут быть фонемами, слогами, буквами, словами, цифрами или базовыми парами, чтобы назвать несколько примеров. Значение n может изменяться, таким образом, как одно для юниграммы, два для биграммы и так далее.

[0029] Генератор 118 уточнений подает кластеры уточнений в систему 120 оценки кластеров, которая оценивает каждый из кластеров уточнений. Например, система 120 оценки кластеров связывает кластер уточнения кухни с наиболее высокой оценкой и кластер уточнения местоположения с наиболее низкой оценкой на основе количества появлений n-грамм в уточнениях запроса, которые являются связанными с соответствующими темами кластеров.

[0030] Селектор 122 кластера выбирает кластер уточнения с наиболее высокой оценкой и генерирует тематической подсказки на основе кластера уточнения. Например, селектор 122 кластера выбирает кластер уточнения кухни и генерирует тематическую подсказку "Какую кухню вы предпочитаете?". Альтернативно, набор из n кластеров с наиболее высокой оценкой может быть выбран, и тематическая подсказка для каждого кластера может генерироваться.

[0031] Поисковая система 110 принимает тематическую подсказку от селектора 122 кластера и, в момент времени T3, предоставляет тематическую подсказку для пользовательского устройства 106. Например, пользовательское устройство 106 предоставляет словесную подсказку для пользователя, спрашивающего "Какую кухню вы предпочитаете?".

[0032] В некоторых осуществлениях, в момент времени T3, поисковая система предоставляет пользовательскому устройству результаты поиска, отвечающие упомянутому запросу. Например, поисковая система 110 выбирает результаты поиска, отвечающие запросу "Рестораны в Сан-Франциско", и предоставляет результаты поиска для пользовательского устройства 106 с тематической подсказкой "Какую кухню вы предпочитаете?".

[0033] Поисковая система 110, в момент времени T4, принимает выбор темы, связанной с тематической подсказкой, от пользовательского устройства 106. Например, пользователь ответил на тематическую подсказку с помощью "Я предпочитаю французские рестораны" и поисковая система 110 принимает ответ пользователя "Я предпочитаю французские рестораны". В некоторых осуществлениях, когда ввод пользователя является разговорным вводом, поисковая система 110 принимает транскрипцию пользовательского ввода от воспроизводящего устройства. Альтернативно или в дополнение, выбор подтем может быть показан пользователю. Например, в примере Фиг.1, выборы "Французская", "Японская" и т.д. могут быть показаны.

[0034] Поисковая система 110 определяет результаты поиска, отвечающие упомянутому запросу и ответу пользователя и, в момент времени T5, предоставляет результаты поиска для пользовательского устройства 106. Например, поисковая система 110 выбирает результаты поиска, отвечающие пересмотренному запросу "Французские рестораны в Сан-Франциско," включающие в себя результаты поиска "Кафе взятия Бастилии", "Ла Фоли" и "Удивительный французский ресторан", и предоставляет результаты поиска для пользовательского устройства 106.

§ 2.0 Примерный ход работы системы

[0035] Фиг.1B является более подробной иллюстрацией для рабочего процесса тематической подсказки. Пока некоторые из операций, описанные ниже, описаны как происходящие до получения запроса от пользовательского устройства 106a, в некоторых осуществлениях, все из упомянутых операций могут выполняться после приема запроса от пользовательского устройства 106a и в ответ на запрос. Например, поисковая система 110 может принимать запрос от пользовательского устройства 106a, выбирать уточнения запроса на основе запроса, определять одну или более тематических подсказок для запроса, и предоставлять тематическую подсказку для пользовательского устройства 106a. Однако, в иллюстративных целях, большинство из процессов ниже описаны как происходящие перед приемом запроса от пользовательского устройства 106a. Например, для конкретных запросов, которые отвечают порогу частоты (например, популярные запросы), кластеры уточнений могут генерироваться заранее и т.д.

[0036] На Фиг.1B, генератор 118 уточнений в момент времени t1 выбирает первый запрос Q1. Например, генератор 118 уточнений выбирает обычно происходящий запрос Q1 из журнала запросов 114. В одном примере, генератор 118 уточнений выбирает "Рестораны в Сан-Франциско" как первый запрос Q1.

[0037] Альтернативно, генератор 118 уточнений выбирает запрос из журналов 114 запросов, которые часто уточняются (например, соответствует порогу частоты уточнений) посредством пользователя в течение сеанса поиска. Например, на основе предыдущих сеансов поиска, которые имеют первоначальный запрос "Рестораны в Сан-Франциско" и уточнения запроса "Итальянские рестораны в Сан-Франциско", "Французские рестораны в Сан-Франциско", "Японские рестораны в Сан-Франциско", "Рестораны в Сан-Франциско рядом с Юнион-сквером" и "Японские рестораны в Сан-Франциско у причала" в течение того же сеанса поиска, генератор 118 уточнений выбирает "Рестораны в Сан-Франциско" как первый запрос Q1.

[0038] В момент времени t2, генератор 118 уточнений извлекает звуковые запросы Qm из журналов запросов 114, где каждый запрос во вторых запросах Qm соответствует уровню порога сходства с первым запросом. Разнообразие соответствующих процессов может использоваться, чтобы определять, подобны ли вторые запросы Qm первому запросу Q1. Например, генератор 118 уточнений может определять сходство на основе первого запроса Q1 и вторых запросов Qm, имеющих подобную классификацию, такую как связанные с технологиями запросы или запросы для конкретных типов магазинов, таких как магазины розничной торговли или рестораны. Сходство может быть на основе поисковой системы 110, принимающей вторые запросы Qm в течение того же сеанса поиска как первый запрос Q1; или поисковой системы 110, принимающей упомянутые запросы от того же пользовательского устройства в течение различных сеансов поиска, чтобы назвать несколько.

[0039] Например, генератор 118 уточнений выбирает упомянутые запросы "Рестораны в Нью-Йорке", "Рестораны в Сан-Франциско", "Мексиканские рестораны в Нью-Йорке", "Итальянские рестораны в Сан-Франциско", "Французские рестораны в Сан-Франциско", "Японские рестораны в Сан-Франциско", "Рестораны в Сан-Франциско рядом с Юнион-сквером" и "Японские рестораны в Сан-Франциско у причала" из журналов 114 запроса как вторые запросы Qm, где все из упомянутых запросов связаны с подобной классификацией запросов для ресторанов. Далее, первый запрос "Рестораны в Сан-Франциско" включается во вторые запросы Qm.

[0040] Генератор 118 уточнений определяет в момент времени t3 уточнения запроса Rm для каждого из вторых запросов Qm. Например, на основе вторых запросов Qm выше, генератор уточнений выбирает "Итальянские рестораны в Сан-Франциско", "Французские рестораны в Сан-Франциско", "Японские рестораны в Сан-Франциско", "Рестораны в Сан-Франциско рядом с Юнион-сквером" и "Японские рестораны в Сан-Франциско у причала" как уточнения запроса Rm, где упомянутые запросы для "Рестораны в Нью-Йорке" не включаются в уточнения запроса Rm на основе n-граммы "Нью-Йорк". Альтернативные способы могут включать в себя запрос "Мексиканские рестораны в Нью-Йорке" как уточнение запроса как обсуждается более подробно ниже.

[0041] В момент времени t4, генератор 118 уточнений делит на кластеры уточнения запроса Rm на основе тем, связанных с уточнениями запроса Rm, чтобы создать кластеры уточнений RCm. Каждое из уточнений запроса R в кластерах уточнений RCm получается из уточнений запроса Rm, и для каждого уточнения запроса R в конкретном одном из кластеров уточнений, одна из тем уточнения запроса R является такой же, как тема конкретного кластера уточнения. Разнообразие соответствующих алгоритмов деления на кластеры может использоваться, чтобы создать кластеры.

[0042] Например, генератор 118 уточнений создает кластер уточнения "кухня" с темой "кухня" и уточнения запроса "Итальянские рестораны в Сан-Франциско", "Французские рестораны в Сан-Франциско", "Японские рестораны в Сан-Франциско" и "Японские рестораны в Сан-Франциско у причала" на основе n-грамм "Итальянская", "Французская" и "Японская", где все из уточнений запроса в упомянутом кластере уточнения кухни имеют шаблон подобный "$тип_кухни рестораны в Сан-Франциско." Генератор 118 уточнений также создает кластер уточнения "местоположение" с темой "местоположение" и уточнения запроса "Рестораны в Сан-Франциско рядом с Юнион-сквером" и "Японские рестораны в Сан-Франциско у причала" на основе n-грамм "рядом с Юнион-сквером" и "у причала", где все из уточнений запроса в упомянутом кластере уточнения местоположение имеют шаблон подобный "Рестораны в Сан-Франциско возле $местоположение". Типы кластеров могут, в некоторых осуществлениях, быть возникающими, например, кластеры не являются предварительно определенными. Переменная типа кластера выбирается на основе имени кластера, например, для кухни, переменная является переменной $тип_кухни и так далее. Уточнение запроса может генерироваться на основе типа переменной и соответствующих естественных языковых процессов. Например, значение для "$тип_кухни" является прилагательным, которое изменяет "рестораны" и таким образом естественный языковой процесс генерирует уточнение "$тип_кухни рестораны в Сан-Франциско".

[0043] Система 120 оценки кластеров оценивают каждый из кластеров уточнений RCm в момент времени t5, так что набор оценок Sm включает в себя оценку для каждого кластера уточнения R в кластерах уточнений RCm. Например, система 120 оценки кластеров оценивает кластеры уточнений RCm на основе количества появлений n-грамм в уточнениях запроса, которые связаны с конкретной темой кластера. В этом примере, система 120 оценки кластеров связывает кластер уточнения кухни с оценкой четыре на основе одного появления как "Итальянская", так "Французская" и двух появлений "Японская" и кластер уточнения местоположения с оценкой два на основе одного появления как "рядом с Юнион-сквером", так и "у причала".

[0044] Альтернативно, система 120 оценки кластеров может оценивать кластеры уточнений RCm на основе уникального появления n-грамм. Например, система 120 оценки кластеров связывает кластер уточнения кухни с оценкой три на основе n-грамм "Итальянская", "Французская" и "Японская" и кластер уточнения местоположения с оценкой два на основе n-грамм "рядом с Юнион-сквером" и "у причала". В других осуществлениях, система 120 оценки кластеров используют другой способ для оценивания кластеров уточнений RCm.

[0045] Селектор 122 кластера ранжирует кластеры уточнений RCm на основе оценок Sm, связанных с кластерами уточнений RCm, определяет в момент времени t6 кластер уточнения RCn из кластеров уточнений RCm, которые имеет оценку больше, чем оценки для других кластеров уточнений R в кластерах уточнений RCm, и, в момент времени t7, выбирает кластер уточнения RCn как первое уточнение поиска SRn для первого запроса Q1. Например, селектор 122 кластера определяет, что кластер уточнения кухни имеет оценку четыре и кластер уточнения местоположения имеет оценку два и выбирает "тип кухни" как первое уточнение поиска SRn. Поисковая система 110 может затем выполнить операцию поиска, на основе первого запроса Q1, используя первое уточнение поиска SRn.

[0046] В некоторых осуществлениях, операция поиска включает в себя предоставление тематической подсказки для пользовательского устройства. Например, в момент времени t8, поисковая система 110 принимает третий запрос Q3 от пользовательского устройства 106a. Поисковая система 110, в момент времени t9, определяет, что третий запрос Q3 является таким же, как первый запрос Q1, и предоставляет, в момент времени t10, предложение поиска SSn как тематическую подсказку для пользовательского устройства 106a, где предложение поиска SSn предлагается на основе первого уточнения поиска SRn. Например, поисковая система 110 принимает запрос Q2 "Рестораны в Сан-Франциско" от пользовательского устройства 106a, определяет, что первое уточнение поиска SRn типа кухни связано с запросом Q2 на основе того, что Q2 является таким же, как и Q1, и предоставляет предложение поиска "Какую кухню вы предпочитаете?" для пользовательского устройства 106a.

[0047] В конкретных осуществлениях, поисковая система 110 ранжирует подтемы, связанные с темой кластера уточнения, и предоставляет верхние ранжированные подтемы для пользовательского устройства 106a как потенциальные уточнения поиска для тематической подсказки. Например, селектор 122 кластера определяет n-граммы, включаемые в уточнения запроса в кластере уточнения кухни, которые связаны с темой кухни, кластеры схожих n-грамм на основе схожих подтем (например, Японская, Итальянская, Французская и т.д.), ранжирует подтемы и выбирает подтемы с самым высоким рангом как категории выбора, которые поисковая система 110 может предоставить для пользовательского устройства 106a.

[0048] В одном примере, для кластера уточнения кухни, селектор 122 кластера выбирает подтемы из Японская, Итальянская и Французская, ранжирует подтемы на основе появления n-грамм, связанных с конкретной подтемой, появляющейся в кластере уточнения кухни, и предоставляет одну или более из верхних ранжированных подтем для поисковой системы 110. Когда селектор 122 кластера определяет, что Японская, Французская и Итальянская являются подтемами с наиболее высоким рангом для кластера уточнения кухни, поисковая система 110 может предоставлять пользовательскому устройству 106a тематическую подсказку "Какую кухню вы предпочитаете - Японская, Французская, Итальянская или некоторый другой тип кухни?" Пользовательское устройство 106a может представлять тематической подсказки для пользователя в графическом интерфейсе пользователя (например, где каждая подтема связана с опцией выбора подтемы) или как словесную подсказку. Разнообразие соответствующих алгоритмов деления на кластеры может использоваться, чтобы создавать кластеры подтем, и разнообразие соответствующих алгоритмов ранжирования может использоваться, чтобы ранжировать подтемы.

§ 3.0 Примерные потоки процесса сервера запроса

[0049] Фиг.2 является блок-схемой процесса 200 для предоставления данных тематической подсказки в ответ на прием запроса. Процесс 200 может использоваться поисковой системой 110 Фиг.1A-B, чтобы предоставить данные тематической подсказки для пользовательского устройства 106a.

[0050] Процесс 200 принимает первый запрос (202). Например, поисковая система определяет запросы, которые появляются наиболее часто в журналах запросов, и выбирает первый запрос из запросов, которые появляются наиболее часто в журналах запросов. Например, поисковая система выбирает запрос "Рестораны в Сан-Франциско" из журналов запросов, где выбор осуществляется независимо от поисковой системы, принимающей первый запрос от пользователя.

[0051] Процесс 200 определяет вторые запросы на основе первого запроса (204). Каждый из вторых запросов является запросом, который соответствует уровню порога сходства с первым запросом. Например, сходство может быть основано на запросах, которые включают в себя все из n-грамм из первого запроса, или запросы, которые имеют главную тему, которая является такой же, как первый запрос (например, запросы ресторанов, запросы конкретного типа технологии и т.д.), чтобы назвать несколько.

[0052] Процесс 200 определяет уточнения запроса на основе запросов во вторых запросах (206). Для каждого из вторых запросов, генератор уточнений определяет уточнения запроса на основе второго запроса. Например, генератор уточнений выбирает уточнения запроса Rm, которые являются уточнениями первого запроса Q1 из вторых запросов Qm. Каждый запрос при уточнении запроса Rm может быть запросом, который был введен как уточнение для первого запроса Q1 в предыдущем сеансе пользователя или который включает в себя все из n-грамм из первого запроса Q1 или подобные n-граммы, чтобы назвать несколько. В некоторых осуществлениях, каждый запрос в уточнениях запроса Rm является запросом, который был введен после первого запроса Q1 и без промежуточного запроса в течение сеанса пользователя.

[0053] Альтернативно, генератор уточнений выбирает уточнения запроса Rm на основе первого запроса Q1, когда процесс не включает в себя этап 204. Например, когда генератор уточнений определяет, что журнал запросов включает в себя более, чем пороговое количество уточнений запроса для первого запроса Q1, генератор уточнений использует уточнения запроса первого запроса как уточнения запроса Rm вместо уточнений запроса вторых запросов.

[0054] Процесс 200 генерирует кластеры уточнений (208). Кластеры уточнений генерируются из уточнений запроса, каждый кластер уточнения соответствует конкретной теме, и каждый кластер уточнения включает в себя уточнения запроса, которые определяются принадлежащими конкретной теме, которой соответствует упомянутый кластер уточнений. Например, генератор уточнений создает кластеры уточнений RCm на основе различных тем, связанных с запросами в уточнениях запроса Rm, так что индивидуальное уточнение запроса может включаться в более, чем один из кластеров уточнений RCm.

[0055] В некоторых осуществлениях, генератор уточнений выбирает темы для кластеров уточнений RCm, где нет n-грамм, связанных с какими-либо из тем, которые также включаются в первый запрос Q1. Например, генератор уточнений выбирает уточнение запроса "Французские рестораны в Сан-Франциско", определяет, что тема "кухня" не связана с n-граммой в первом запросе "Рестораны в Сан-Франциско", в то время как темы "город" (например, Сан-Франциско) и "тип услуги" (например, ресторан) включаются в первый запрос Q1, и создает кластер уточнения кухни.

[0056] Процесс 200 ранжирует кластеры уточнений (210). Например, система оценивания кластеров связывает оценку с каждым из кластеров уточнений RCm на основе уточнений запроса, включаемых в соответствующий кластер уточнения. Например, система оценивания кластеров связывает наиболее высокую оценку с кластером уточнения кухни.

[0057] Процесс 200 выбирает кластер уточнения, который является наиболее высоким при ранжировании относительно других кластеров уточнений при ранжировании как первый кластер уточнения поиска для запроса (212). Например, селектор кластеров определяет, что первый кластер уточнения поиска SRn связан с наиболее высокой оценкой кластеров в кластерах уточнений RCm, и поисковая система выполняет операцию поиска, используя первый кластер уточнения поиска SRn и на основе первого запроса Q1 посредством продолжения процесса 200. Например, селектор кластеров определяет, что кластер уточнения кухни связан с наиболее высокой оценкой и выбирает кластер уточнения кухни как первый кластер уточнения поиска SRn.

[0058] Селектор кластеров хранит данные, связанные с первым запросом Q1 и первым кластером уточнения поиска SRn в памяти для последующего использования. Например, поисковая система выполняет этапы с 202 по 212 используя журналы запросов перед приемом первого запроса Q1 от пользовательского устройства в течение сеанса поиска и предоставлением первого кластера уточнения поиска SRn для пользовательского устройства в течение того же сеанса поиска. Поисковая система может выполнять этапы с 202 по 212 и хранить первый кластер уточнения поиска SRn в памяти, чтобы уменьшить вычисления для запросов, которые часто принимаются поисковой системой. Альтернативно, поисковая система может выполнять этапы с 202 по 212 в ответ на прием первого запроса Q1 от пол