Уровень техники изобретения
[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 от пользовательского устройства.
[0059] Процесс 200 принимает третий запрос, который соответствует первому запросу (214). Например, кластеры уточнений генерируются перед моментом запроса и хранятся в памяти, и в момент запроса поисковая система принимает третий запрос Q3 от пользовательского устройства, определяет, что третий запрос Q3 является таким же как первый запрос Q1, и извлекает кластеры уточнений из памяти.
[0060] Альтернативно, поисковая система может определить, что третий запрос Q3 по существу такой же как или похож на первый запрос Q1. Например, поисковая система определяет, что результаты поиска, отвечающие третьему запросу Q3, также отвечают первому запросу Q1 в том же порядке. В одном примере, поисковая система определяет, что запрос "Рестораны Сан-Франциско" по существу такие же, как запрос "Рестораны в Сан-Франциско."
[0061] Процесс 200 генерирует данные тематической подсказки на основе первого кластера уточнения поиска (216). Данные тематической подсказки могут быть на основе темы, связанной с первым кластером уточнения поиска, и могут описывать запрос первого пользовательского ввода n-граммы, которая относится к теме, связанной с первым кластером уточнения поиска. Например, поисковая система создает предложение поиска SSn как данные тематической подсказки, используя первый кластер уточнения поиска SRn и на основе первого запроса Q1. Здесь операция поиска, выполняемая поисковой системой, является генерированием данных тематической подсказки. Например, когда первый кластер уточнения поиска SRn является кластером уточнения кухни, поисковая система генерирует данные тематической подсказки "Какую кухню вы предпочитаете?".
[0062] Процесс 200 принимает цифровое представление речи на основе данных тематической подсказки (218). Например, поисковая система предоставляет данные тематической подсказки для системы генерирования речи, которая создает цифровое представление речи для данных тематической подсказки и предоставляет цифровое представление речи для поисковой системы.
[0063] Процесс 200 предоставляет цифровое представление речи в ответ на третий запрос (220). Например, поисковая система предоставляет цифровое представление речи для пользовательского устройства, и пользовательское устройство проигрывает цифровое представление речи для пользователя для представления пользователю данных тематической подсказки.
[0064] Порядок этапов в процессе 200, описанном выше, является только иллюстративным, и выбор и доставка данных тематической подсказки могут быть сделаны в различном порядке. Например, процесс 200 может принимать третий запрос перед определением вторых запросов на основе первого запроса. В другом примере, процесс может генерировать данные тематической подсказки на основе первого кластера уточнения перед приемом третьего запроса Q3.
[0065] В некоторых осуществлениях, процесс 200 может включать в себя дополнительные этапы, меньше этапов или некоторые из этапов могут делиться на несколько этапов. Например, поисковая система может выполнять этапы с 202 по 212 без выполнения одного или более из этапов с 214 по 220. Альтернативно, поисковая система может выполнять этапы 202 и с 206 по 212. Например, поисковая система определяет уточнения запроса на основе первого запроса вместо запросов во вторых запросах.
[0066] В одном примере, поисковая система может запросить цифровое представление речи от системы генерирования речи перед приемом цифрового представления речи.
[0067] В другом примере, операция поиска, выполняемая поисковой системой, включает в себя предоставление данных тематической подсказки для пользовательского устройства, где третий запрос и пользовательское устройство связаны с тем же сеансом пользователя. Например, поисковая система предоставляет предложение поиска "Какую кухню вы предпочитаете?" для пользовательского устройства.
[0068] Поисковая система принимает выбор n-граммы, которая относится к теме, связанной с первым кластером уточнения поиска, где выбор связан с тем же сеансом пользователя, как третий запрос, и выбор следует за третьим запросом без другого промежуточного пользовательского ввода для упомянутого сеанса пользователя. Например, упомянутый выбор указывает, что пользователь пользовательского устройства желает получить результаты поиска для Французских ресторанов.
[0069] Поисковая система затем предоставляет результаты поиска, отвечающие первому запросу, и выбор для пользовательского устройства. Например, поисковая система предоставляет результаты поиска, отвечающие "Французские рестораны в Сан-Франциско", для пользовательского устройства.
[0070] В некоторых осуществлениях, когда генератор уточнений определяет, что минимальное количество уточнений запроса не было определено на этапе 206, генератор уточнений повторяет этап 206. Например, если генератор уточнений сначала определяет уточнения запроса на основе первого запроса, где количество уточнений запроса не превышает минимальное количество уточнений запроса, то генератор уточнений может затем определять уточнения запроса на основе вторых запросов или других запросов, подобных вторым запросам. Генератор уточнений может повторять этап 206, с расширением на упомянутые запросы, используемые, чтобы идентифицировать уточнения запроса, пока минимальное количество уточнений запроса не будет определено.
[0071] В конкретных осуществлениях, минимальное количество уточнений запроса определяется на основе минимального числа уточнений запроса, требуемых для генерирования кластеров уточнений.
[0072] Фиг.3 является блок-схемой процесса 300 для выбора данных тематической подсказки на основе оценки, связанной с данными тематической подсказки. Процесс 300 может использоваться поисковой системой 110 фигур 1A-B для оценивания кластеров уточнений запроса и выбора кластера уточнения с наивысшей оценкой. Например, когда поисковая система 110 выполняет процесс 200, поисковая система 110 может выполнить процесс 300 вместо этапов 210 и 212.
[0073] Процесс 300 оценивает каждый кластер уточнения на основе количества раз появления n-граммы, связанной с конкретной темой кластера уточнения, в упомянутых запросах, включаемых в кластер уточнения (302). Например, для каждого уточнения запроса в конкретном одном из кластеров уточнений RCm, система оценивания кластеров анализирует n-граммы в уточнении запроса, чтобы определять, соответствует ли n-грамма теме конкретного кластера уточнения. Когда система оценивания кластеров размещает n-граммы в уточнениях запроса, которые соответствуют теме конкретного кластера уточнения, система оценивания кластеров повышает оценку для конкретного кластера уточнения.
[0074] Процесс 300 ранжирует кластеры уточнений на основе оценки, связанной с кластерами уточнений (304). Кластер уточнения, который является самым высоким при ранжировании относительно других кластеров уточнений, имеет наиболее высокую оценку из кластеров уточнений. Например, селектор кластеров выбирает кластера уточнения с наиболее высокой оценкой, который имеет наиболее высокую оценку из кластеров уточнений RCm.
[0075] Процесс 300 определяет, превышает ли наиболее высокая оценка кластеров уточнений пороговое значение (306). Например, селектор кластеров сравнивает наиболее высокую оценку для кластера уточнения с самой высокой оценкой с пороговым значением оценки и определяет, превышает ли наиболее высокая оценка пороговое значение оценки.
[0076] Если наиболее высокая оценка превышает пороговое значение, то процесс 300 выбирает кластер уточнения, связанный с наиболее высокой оценкой, как первый кластер уточнения поиска для первого запроса (308). Например, селектор кластеров определяет, что наиболее высокая оценка превышает пороговое значение оценки и выбирает кластер RCn уточнения с самой высокой оценкой.
[0077] В некоторых осуществлениях, процесс 300 может включать в себя дополнительные этапы, меньше этапов или некоторые из этапов могут делиться на несколько этапов. Например, поисковая система может предоставлять несколько тематических подсказок для пользовательского устройства после оценивания кластеров уточнений.
[0078] Особенно, после выбора кластера уточнения с самой высокой оценкой в качестве первого кластера уточнения поиска, поисковая система принимает третий запрос, который соответствует первому запросу и предназначен для сеанса пользователя, связанного с пользовательским устройством. Например, поисковая система принимает запрос "Рестораны в Сан-Франциско" от пользовательского устройства.
[0079] Поисковая система предоставляет пользовательскому устройству первые данные тематической подсказки для сеанса пользователя, где поисковая система генерирует упомянутые первые данные тематической подсказки на основе темы, связанной с первым кластером уточнения поиска, и упомянутые первые данные тематической подсказки описывают запрос первого пользовательского ввода n-граммы, которая относится к теме, связанной с первым кластером уточнения поиска. Например, поисковая система предоставляет первое предложение поиска "Какую кухню вы предпочитаете?" для пользовательского устройства, где первый кластер уточнения поиска является кластером уточнения кухни.
[0080] Поисковая система принимает первый выбор для сеанса пользователя, где это есть первый выбор n-граммы, которая относится к теме, связанной с первым кластером уточнения поиска. Например, поисковая система принимает выбор "Я предпочитаю французские рестораны" от пользовательского устройства.
[0081] Поисковая система предоставляет вторые данные тематической подсказки для пользовательского устройства и для сеанса пользователя, где поисковая система генерирует второе предложение поиска на основе темы, связанной со вторым кластером уточнения поиска, который имеет вторую наиболее высокую оценку из кластеров уточнений RCm, и вторые данные тематической подсказки описывают запрос второго пользовательского ввода n-граммы, которая относится к теме, связанной со вторым кластером уточнения поиска. Например, поисковая система определяет вторую наиболее высокую оценку второго кластера уточнения с самой высокой оценкой в кластерах уточнений RCm. Поисковая система сравнивает вторую наиболее высокую оценку с пороговым значением оценки, определяет, что вторая наиболее высокая оценка превышает пороговое значение, генерирует вторые данные тематической подсказки на основе второго кластера уточнения с самой высокой оценкой и предоставляет вторые данные тематической подсказки для пользовательского устройства. Здесь поисковая система может предоставлять пользовательскому устройству второе предложение поиска "Имеется ли конкретное местоположение, которые вы ищете?" на основе кластера уточнения местоположения, являющегося связанным со второй наиболее высокой оценкой.
[0082] Альтернативно, поисковая система выбирает вторые данные тематической подсказки на основе уточнения запроса, определяемого из сочетания первого запроса и первого выбора. Например, когда первым запросом является "Рестораны в Сан-Франциско" и первым выбором является "Я предпочитаю французские рестораны", поисковая система выбирает вторые данные тематической подсказки на основе самого высокого ранга уточнения запроса для запроса "Французские рестораны в Сан-Франциско".
[0083] Поисковая система принимает второй выбор n-граммы, которая относится к теме, связанной со вторым кластером уточнения поиска, где второй выбор принимается последовательно после первого выбора без какого-либо промежуточного пользовательского ввода и связан с сеансом пользователя. Например, поисковая система принимает второй выбор "рядом с Юнион-сквером."
[0084] Поисковая система определяет результаты поиска, отвечающие первому запросу, первому выбору и второму выбору и предоставляет результаты поиска для пользовательского устройства, связанного с сеансом пользователя. Например, поисковая система определяет результаты поиска, отвечающие запросу "Французские рестораны в Сан-Франциско рядом с Юнион-сквером" и предоставляет результаты поиска для пользовательского устройства.
[0085] Поисковая система может повторять процесс уточнения посредством предоставления дополнительных данных тематической подсказки для пользовательского устройства, пока поисковая система не определяет, что не имеется дополнительных тематических подсказок, которые соответствуют пороговому уровню релевантности либо для первого запроса или сочетания первого запроса и выборов, принимаемых от пользовательского устройства.
§ 3.1 Дополнительная оценка и подробности выбора
[0086] В некоторых осуществлениях, генератор уточнений определяет кластеры уточнений для запроса на основе запросов, которые схожи с первым запросом, но не содержат все из n-грамм из первого запроса. Например, когда первым запросом является "Рестораны в Сан-Франциско", генератор уточнений включает "Мексиканские рестораны в Нью-Йорке" и "Французские рестораны в Лос-Анджелесе" в уточнения запроса Rm. Здесь генератор уточнений идентифицирует базовый шаблон запроса "рестораны в $городе" где "$город" является переменной, которая представляет имя любого города, которое включается в запрос из журналов запросов. Когда генератор уточнений определяет, что запрос соответствует базовому шаблону запроса, генератор уточнений включает упомянутый запрос в уточнения запроса Rm и кластеры уточнений RCm для определения уточнения поиска SRn.
[0087] Это позволяет поисковой системе принимать любой первый запрос формы "рестораны в $городе" и выбирать тематической подсказки, используя уточнения запроса Rm. Например, поисковая система может принимать упомянутые запросы "Рестораны в Сан-Франциско" и "Рестораны в Нью-Йорке" и использовать те же тематической подсказки (например, предложения поиска SSn) для обоих запросов. В дальнейшем, когда конкретный запрос не имеет какие-либо уточнения запроса, поисковая система использует шаблон для этого конкретного запроса, чтобы разместить уточнения запроса для подобных запросов, которые могут также использоваться для конкретного запроса.
[0088] В некоторых осуществлениях, когда генератор уточнений использует базовый шаблон запроса, генератор уточнений оценивает кластеры уточнений RCm на основе того, подобно ли значение переменной в уточнениях запроса значению из первого запроса. Например, когда первым запросом является "Рестораны в Сан-Франциско", уточнение запроса "Французские рестораны в Сан-Франциско" будет связано со значением с большим весом, чем уточнения запроса "Французские рестораны в Лос-Анджелесе" и "Рестораны в Нью-Йорке рядом с Юнион-сквером", когда кластеры уточнений RCm ранжируются.
[0089] В некоторых осуществлениях, поисковая система оценивает каждый из кластеров уточнений RCm на основе уровня схожести между n-граммой в уточнении запроса и первым запросом Q1. Например, когда первым запросом является "Рестораны в Сан-Франциско", уточнение запроса "Французские рестораны в Сан-Франциско" связано со значением с большим весом, чем уточнение запроса "Французское кафе в Сан-Франциско" для кластера уточнения кухни.
[0090] В некоторых осуществлениях, система оценивания кластеров использует местоположение пользовательского устройства, когда осуществляется оценивание кластеров уточнений RCm. Например, уточнения запроса, которые принимаются от пользовательских устройств в той же области как пользовательское устройство, которое предоставило первый и второй запросы, могут быть связаны со значением с большим весом.
[0091] В некоторых осуществлениях, система оценивания кластеров использует историю поиска, связанную с пользовательским устройством и/или пользователем пользовательского устройства, когда осуществляется оценивание кластера уточнения RCm. Например, уточнения запроса, которые поисковая система ранее приняла от пользовательского устройства, или являющиеся подобными уточнениям запроса, принятым от пользовательского устройства, связаны со значением с большим весом, чем другие уточнения запроса.
[0092] В некоторых осуществлениях, когда поисковая система выбирает несколько тематических подсказок для предоставления пользовательскому устройству, если поисковая система принимает ответ на первую тематическую подсказку, которая отвечает второй тематической подсказке, поисковая система не предоставляет вторую тематическую подсказку для пользовательского устройства. Например, поисковая система выбирает предложения поиска "Какую кухню вы предпочитаете?" и "Имеется ли конкретное местоположение, которое вы ищете?" и предоставляет предложение поиска "Какую кухню вы предпочитаете?" для пользовательского устройства. Когда поисковая система принимает ответ от пользовательского устройства, такой как "Французские рестораны у причала" или "рестораны у причала", где пользователь определяет дополнительные ограничения поиска в ответе или ограничения поиска, которые не связаны с предложением поиска, соответственно, поисковая система сравнивает ограничения поиска со вторым предложением поиска "Имеется ли конкретное местоположение, которое вы ищете?", определяет, что данные, отвечающие предложению поиска, были приняты, и не предоставляет второе предложение поиска для пользовательского устройства. Поисковая система может затем предоставить дополнительные тематической подсказки (например, предложения поиска) для пользовательского устройства, в зависимости от того, соответствуют ли дополнительные тематической подсказки пороговому уровню релевантности для первого запроса (например, на основе порогового значения оценки) или сочетанию первого запроса и ответов, принятых от пользовательского устройства.
[0093] В некоторых осуществлениях, операция поиска, выполняемая поисковой системой с первым кластером уточнения поиска, включает в себя генерирование специального вопроса темы. Например, когда первый кластер уточнения поиска является кластером уточнения кухни, поисковая система может генерировать вопрос "Вы желаете Французские рестораны в Сан-Франциско?" как тематическую подсказку и предоставлять упомянутый вопрос для пользовательского устройства. Поисковая система может выбрать вопрос на основе предыдущих запросов, связанных с пользователем или пользовательским устройством, которое предоставило первый запрос для поисковой системы. Например, поисковая система использует данные истории поиска, чтобы определить, что упомянутый пользователь обычно ищет французские рестораны.
[0094] Выбор, принимаемый поисковой системой в ответ на вопрос, может быть кратким ответом да или ответом нет или может быть более подробным. Например, поисковая система принимает такой ответ как "Да, у причала" и использует дополнительную информацию местоположения, чтобы идентифицировать результаты поиска, отвечающие "Французские рестораны в Сан-Франциско у причала". В другом примере, когда поисковая система принимает ответ "Нет, ищу китайские рестораны," поисковая система идентифицирует результаты поиска, отвечающие "Китайские рестораны в Сан-Франциско".
§ 4.0 Дополнительные подробности осуществления
[0095] Варианты осуществления изобретения и операции, описанные в этом документе, могут осуществляться в цифровой электронной схеме или в компьютерном программном обеспечении, встроенном программном обеспечении или аппаратном обеспечении, включая в себя структуры, раскрываемые в этом документе и их структурные эквиваленты, или в сочетаниях из одного или более из них. Варианты осуществления изобретения, описанного в этом документе, могут осуществляться как одна или более компьютерные программы, то есть, один или более модулей инструкций компьютерной программы, кодированных на компьютерном носителе информации для выполнения посредством, или чтобы управлять работой, устройства обработки данных. Альтернативно или в дополнение, инструкции программы могут кодироваться на искусственно генерируемом распространяемом сигнале, например, генерируемом машиной электрическом, оптическом или электромагнитном сигнале, который генерируется для кодирования информации для передачи на подходящее приемное устройство для выполнения посредством устройства обработки данных. Компьютерный носитель информации может быть или быть включаемым в машиночитаемое запоминающее устройство, машиночитаемую подложку хранения, устройство или массив памяти со случайным доступом или последовательным доступом или сочетание одного или более из них. Более того, в то время как компьютерный носитель информации не является распространяющимся сигналом, компьютерный носитель информации может быть источником или пунктом назначения инструкций компьютерной программы, кодированных в искусственно генерируемом распространяемом сигнале. Компьютерный носитель информации может также быть или включаться в один или более отдельных физических компонентов или носителей (например, несколько компакт-дисков (CD), дисков или других устройств хранения).
[0096] Операции, описанные в этом документе, могут осуществляться как операции, выполняемые посредством устройства обработки данных над данными, хранящимися на одном или более машиночитаемых запоминающих устройствах или принимаемых от других источников.
[0097] Термин "устройства обработки данных" охватывает все виды устройств, устройства и машины для обработки данных, включающие в себя в качестве примера программируемый процессор, компьютер, систему на чипе или несколько из них или сочетания, из вышеперечисленного. Упомянутые устройства могут включать в себя логические схемы специального назначения, например, программируемые вентильные матрицы (FPGA) или специализированные интегральные схемы (ASIC). Упомянутые устройства могут также включать в себя, в дополнение к аппаратному обеспечению, код, который создает среду выполнения для данной компьютерной программы, например, код, который представляет встроенное программное обеспечение процессора, стек протокола, систему управления базой данных, операционную систему, кросс-платформенную среду выполнения, виртуальную машину или сочетание одного или более из них. Упомянутое устройство и среда выполнения могут осуществлять различные разнообразные инфраструктуры вычислительных моделей, такие как веб-службы, распределенные вычислительные и сетевые вычислительные инфраструктуры.
[0098] Компьютерная программа (также известная как программа, программное обеспечение, приложение программного обеспечения, сценарий или код) может быть написана в любой форме языка программирования, включая в себя компилируемые или интерпретируемые языки, декларативные или процедурные языки, и она может размещаться в любой форме, включая в себя как автономную программу или как модуль, компонент, подпрограмму, объект или другой блок, подходящий для использования в вычислительной среде. Компьютерная программа может, но не обязательно, соответствовать файлу в файловой системе. Программа может храниться в части файла, который содержит другие программы или данные (например, один или более сценариев, хранящихся в документе маркировочного языка), в отдельном файле, выделенном для данной программы, или в нескольких скоординированных файлах (например, файлы, которые хранят один или более модулей, подпрограмм или частей кода). Компьютерная программа может размещаться для выполнения на одном компьютере или на нескольких компьютерах, которые размещаются на одном сайте или распределены на нескольких сайтах и соединены между собой сетью связи.
[0099] Процессы и логические потоки, описанные в этом документе, могут выполняться посредством одного или более программируемых процессоров, выполняющих одну или более компьютерные программы, для выполнения действий посредством обработки входных данных и генерирования выходных данных. Процессы и логические потоки могут также выполняться посредством, и устройства могут также осуществляться как логические схемы специального назначения, например, программируемая вентильная матрица (FPGA) или специализированная интегральная схема (ASIC).
[0100] Процессоры, подходящие для выполнения компьютерной программы, включают в себя, в качестве примера, как микропроцессоры общего назначения, так и микропроцессоры специального назначения, и любой один или более процессоров любого вида цифрового компьютера. В общем, процессор будет принимать инструкции и данные от постоянного запоминающего устройства или оперативного запоминающего устройства или обоих. Основными элементами компьютера являются процессор для выполнения действий в соответствии с инструкциями и одно или более устройств памяти для хранения инструкций и данных. В общем, компьютер будет также включать в себя или быть оперативно связанным с для приема данных от или передачи данных к, или и то и другое, одним или более запоминающими устройствами для хранения данных, например, магнитными, магнитно-оптическими дисками или оптическими дисками. Однако, компьютер не обязательно должен иметь такие устройства. Более того, компьютер может быть встроен в другое устройство, например, мобильный телефон, персональный цифровой помощник (PDA), мобильный аудио или видео плеер, игровую консоль, приемник глобальной системы навигации (GPS) или портативное устройство хранения (например, флэш-накопитель универсальной последовательной шины (USB)), чтобы назвать только несколько. Устройства, подходящие для хранения данных и инструкций компьютерной программы включают в себя все формы энергонезависимой памяти, медиа устройства и устройства памяти, включающие в себя в качестве примера полупроводниковые устройства памяти, например, EPROM, EEPROM и устройства флэш-памяти; магнитные диски, например, внутренние жесткие диски или съемные диски; магнитно-оптические диски и диски CD-ROM и DVD-ROM. Процессор и память могут быть дополнены посредством, или включены в, логическую схему специального назначения.
[0101] Для обеспечения взаимодействия с пользователем, варианты осуществления изобретения, описанного в этом документе, могут осуществляться на компьютере, имеющем устройство дисплея, например, монитор катодной лучевой трубки (CRT) или монитор жидкокристаллического дисплея (LCD), для отображения информации для пользователя, и клавиатуру и указывающее устройство, например, мышь или трекбол, посредством которого пользователь может предоставлять ввод данных для компьютера. Другие виды устройств могут использоваться, чтобы также предоставить взаимодействие с пользователем; например, обратная связь, предоставляемая для пользователя, может быть любой формой сенсорной обратной связи, например, визуальная обратная связь, слуховая обратная связь или тактильная обратная связь; и ввод данных от пользователя может приниматься в любой форме, включая в себя звуковой, речевой или тактильный ввод данных. В дополнение, компьютер может взаимодействовать с пользователем посредством передачи документов к и приема документов от устройства, которое используется пользователем; например, посредством передачи веб-страниц на веб-браузер на пользовательском устройстве пользователя в ответ на запросы, принимаемые от веб-браузера.
[0102] Варианты осуществления предмета изобретения, описанного в этом документе, могут осуществляться в вычислительной системе, которая включает в себя фоновый компонент, например, такой, как сервер данных, или который включает в себя компонент промежуточного программного обеспечения, например сервер приложений, или который включает в себя передний компонент, например компьютер пользователя, имеющий графический интерфейс пользователя или веб-браузер, через который пользователь может взаимодействовать с осуществлением изобретения, описанного в этом документе, или любое сочетание одного или более таких компонентов, как фоновый компонент, компонент промежуточного программного обеспечения или передний компонент. Упомянутые компоненты системы могут взаимно соединяться посредством любой формы или среды цифровой передачи данных, например, сети связи. Примеры сетей связи включают в себя локальную сеть ("LAN") и глобальную сеть ("WAN"), интерсеть (например, сеть Интернет) и одноранговые сети (например, динамические (ad hoc) одноранговые сети).
[0103] Вычислительная система может включать в себя пользователей и серверы. Пользователь и сервер в общем удалены друг от друга и обычно взаимодействуют через сеть связи. Взаимосвязь между пользователем и сервером возникает в силу компьютерных программ, запускаемых на соответствующих компьютерах и имеющих взаимную связь пользователь-сервер друг с другом. В некоторых вариантах осуществления, сервер передает данные (например, HTML-страницу) для пользовательского устройства (например, для целей отображения данных для и приема вводимых пользователем данных от пользователя, взаимодействующего с пользовательским устройством). Данные, генерируемые на стороне пользовательского устройства (например, результат взаимодействия пользователя) могут приниматься от пользовательского устройства на стороне сервера.
[0104] В то время как эта спецификация содержит много конкретных деталей осуществления, они не должны быть истолкованы как ограничивающие объем любых изобретений или того, что может быть заявлено в формуле изобретения, но скорее как описания функциональных возможностей, характерных для конкретных вариантов осуществления конкретных изобретений. Конкретные функциональные возможности, которые описаны в этом документе в контексте отдельных вариантов осуществления, могут также осуществляться в сочетании в одном варианте осуществления. Наоборот, различные функциональные возможности, которые описаны в контексте одного варианта осуществления, могут также осуществляться в нескольких вариантах осуществления раздельно или в любом подходящем субсочетании. Более того, хотя функциональные возможности могут быть описаны выше как действующие в конкретных сочетаниях и даже первоначально заявленные как таковые, одна или более функциональных возможностей из заявленного сочетания могут в некоторых случаях быть вырезаны из упомянутого сочетания, и заявленное сочетание может быть направлено на субсочетание или вариацию субсочетания.
[0105] Подобным образом, в то время как операции изображаются на чертежах в конкретном порядке, это не следует понимать как требование того, чтобы такие операции выполнялись в изображенном конкретном порядке или в последовательном порядке, или что все иллюстрированные операции должны выполняться, чтобы получить требуемые результаты. При определенных обстоятельствах, многозадачность и параллельная обработка могут быть благоприятными. Более того, разделение различных компонентов системы в описанных выше вариантах осуществления не следует понимать как требование такого разделения во всех вариантах осуществления, и следует понимать, что описанные компоненты программы и системы могут в общем быть интегрированы вместе в одном продукте программного обеспечения или упакованы в несколько продуктов программного обеспечения.
[0106] Таким образом, описаны конкретные варианты осуществления изобретения. Другие варианты осуществления находятся в пределах объема, определяемого нижеследующей формулой изобретения. В некоторых случаях, действия, изложенные в формуле изобретения, могут выполняться в другом порядке и по-прежнему достигать требуемых результатов. В дополнение, процессы, изображенные на прилагаемых фигурах, не обязательно требуют конкретного изображенного порядка или последовательного порядка, чтобы достигнуть требуемых результатов. В конкретных осуществлениях, многозадачность и параллельная обработка могут быть благоприятными.
название | год | авторы | номер документа |
---|---|---|---|
ПРИОРИТИЗАЦИЯ КРИТЕРИЕВ ВЫБОРА ПОСРЕДСТВОМ ИНТЕЛЛЕКТУАЛЬНОГО АВТОМАТИЗИРОВАННОГО ПОМОЩНИКА | 2011 |
|
RU2546606C2 |
ПОДДЕРЖАНИЕ КОНТЕКСТНОЙ ИНФОРМАЦИИ МЕЖДУ ПОЛЬЗОВАТЕЛЬСКИМИ ВЗАИМОДЕЙСТВИЯМИ С ГОЛОСОВЫМ ПОМОЩНИКОМ | 2015 |
|
RU2653250C2 |
АКТИВНОЕ ЗАПРАШИВАНИЕ ВВОДА ИНТЕЛЛЕКТУАЛЬНЫМ АВТОМАТИЗИРОВАННЫМ ПОМОЩНИКОМ | 2011 |
|
RU2541208C2 |
ПЕРСОНАЛИЗИРОВАННЫЙ СЛОВАРЬ ДЛЯ ЦИФРОВОГО ПОМОЩНИКА | 2011 |
|
RU2541219C2 |
ОПРЕДЕЛЕНИЕ НАМЕРЕНИЯ ПОЛЬЗОВАТЕЛЯ НА ОСНОВЕ ОНТОЛОГИЙ ПРЕДМЕТНЫХ ОБЛАСТЕЙ | 2011 |
|
RU2541221C2 |
РАЗРЕШЕНИЕ НЕОДНОЗНАЧНОСТИ НА ОСНОВЕ АКТИВНОГО ЗАПРАШИВАНИЯ ВВОДА ИНТЕЛЛЕКТУАЛЬНЫМ АВТОМАТИЗИРОВАННЫМ ПОМОЩНИКОМ | 2011 |
|
RU2546605C2 |
ПОДДЕРЖАНИЕ КОНТЕКСТНОЙ ИНФОРМАЦИИ МЕЖДУ ПОЛЬЗОВАТЕЛЬСКИМИ ВЗАИМОДЕЙСТВИЯМИ С ГОЛОСОВЫМ ПОМОЩНИКОМ | 2018 |
|
RU2785950C2 |
ПЕРЕФРАЗИРОВАНИЕ ПОЛЬЗОВАТЕЛЬСКИХ ЗАПРОСОВ И РЕЗУЛЬТАТОВ ПОСРЕДСТВОМ ИНТЕЛЛЕКТУАЛЬНОГО АВТОМАТИЗИРОВАННОГО ПОМОЩНИКА | 2011 |
|
RU2541202C2 |
ИСПОЛЬЗОВАНИЕ ТЕКСТА ОПОВЕЩЕНИЯ О СОБЫТИИ В КАЧЕСТВЕ ВВОДА В АВТОМАТИЗИРОВАННЫЙ ПОМОЩНИК | 2011 |
|
RU2546604C2 |
ОРКЕСТРОВКА СЛУЖБ ДЛЯ ИНТЕЛЛЕКТУАЛЬНОГО АВТОМАТИЗИРОВАННОГО ПОМОЩНИКА | 2011 |
|
RU2556416C2 |
Изобретение относится к системам, принимающим запрос и определяющим тематические подсказки на основе данных поиска. Техническим результатом является уменьшение вводимых пользователем данных и вероятности дрейфа темы, предоставление предложений, с большей вероятностью удовлетворяющих информационным потребностям пользователей, более быстрое направление пользователей к результатам поиска. Способ определения тематических подсказок на основе данных поиска включает этапы: определяют уточнения запроса; генерируют кластеры уточнений, каждый из которых соответствует конкретной теме, включенной в запросы в этом кластере уточнения и не включенной в первый запрос; оценивают каждый из кластеров, используя количество уникальных n-грамм, связанных с конкретной темой этого кластера уточнения; ранжируют кластеры уточнений на основе оценок; выбирают кластер уточнения, который является самым высоким по рангу относительно других, в качестве первого кластера уточнения поиска для первого запроса; и генерируют первые данные тематической подсказки на основе темы, связанной с первым кластером уточнения поиска, которые описывают вопрос, содержащий запрашивание первого пользовательского ввода n-граммы, которая является подтемой упомянутой темы. 3 н. и 16 з.п. ф-лы, 4 ил.
1. Способ определения тематических подсказок на основе данных поиска, содержащий этапы, на которых:
определяют посредством одного или более компьютеров уточнения запроса для первого запроса;
генерируют исходя из уточнений запроса кластеры уточнений, причем каждый кластер уточнения соответствует конкретной теме, включенной в запросы в этом кластере уточнения и не включенной в первый запрос, и каждый кластер уточнения включает в себя уточнения запроса, которые определены как принадлежащие конкретной теме, которой соответствует данный кластер уточнения;
оценивают каждый из кластеров уточнений, используя количество уникальных n-грамм, связанных с конкретной темой этого кластера уточнения, которые имеют место в запросах, включенных в данный кластер уточнения, при этом, для каждого из кластеров уточнений, при подсчете оценки для этого кластера уточнения каждую из уникальных n-грамм учитывают однократно;
ранжируют кластеры уточнений на основе оценок, связанных с кластерами уточнений, при этом кластер уточнения, ранг которого является самым высоким при ранжировании относительно других кластеров уточнений, имеет наиболее высокую оценку из кластеров уточнений;
выбирают кластер уточнения, который является самым высоким по рангу относительно других кластеров уточнений при упомянутом ранжировании, в качестве первого кластера уточнения поиска для первого запроса; и
генерируют первые данные тематической подсказки на основе темы, связанной с первым кластером уточнения поиска, причем первые данные тематической подсказки описывают вопрос, который содержит запрашивание первого пользовательского ввода n-граммы, которая является подтемой темы, связанной с первым кластером уточнения поиска.
2. Способ по п.1, дополнительно содержащий этапы, на которых:
принимают для сеанса пользователя первый запрос;
предоставляют для сеанса пользователя первые данные тематической подсказки в ответ на прием первого запроса;
принимают для сеанса пользователя данные, указывающие конкретную n-грамму, которая является i) подтемой темы, связанной с первым кластером уточнения поиска, и ii) ответом на данные тематической подсказки, каковой прием данных указывает эту конкретную n-грамму вслед за приемом первого запроса без другого промежуточного пользовательского ввода для сеанса пользователя; и
предоставляют для сеанса пользователя результаты поиска, отвечающие первому запросу и упомянутой конкретной n-грамме.
3. Способ по п.1, дополнительно содержащий этапы, на которых:
определяют посредством одного или более компьютеров вторые запросы на основе первого запроса, причем каждый из вторых запросов является запросом, который удовлетворяет пороговому уровню сходства с первым запросом, при этом первый запрос является одним из вторых запросов; и
для каждого из вторых запросов определяют уточнения запроса на основе второго запроса.
4. Способ по п.1, дополнительно содержащий этап, на котором принимают цифровое представление речи на основе первых данных тематической подсказки, при этом при предоставлении для сеанса пользователя первых данных тематической подсказки в ответ на прием первого запроса предоставляют для сеанса пользователя это цифровое представление речи.
5. Способ по п.1, в котором упомянутый выбор кластера уточнения, который является самым высоким по рангу при ранжировании, содержит этапы, на которых:
определяют, превышает ли наиболее высокая оценка пороговое значение; и
выбирают на основе определения того, что наиболее высокая оценка превышает пороговое значение, кластер уточнения, ранг которого является самым высоким при ранжировании относительно других кластеров уточнений, в качестве первого кластера уточнения поиска для первого запроса.
6. Способ по п.2, дополнительно содержащий этапы, на которых:
предоставляют для сеанса пользователя вторые данные тематической подсказки на основе темы, связанной со вторым кластером уточнения поиска, который имеет вторую по величине оценку из кластеров уточнений, или с кластером уточнения, имеющим наиболее высокую комбинированную оценку для сочетания первого запроса и упомянутой конкретной n-граммы, где вторые данные тематической подсказки описывают запрашивание второго пользовательского ввода n-граммы, которая относится к теме, связанной со вторым кластером уточнения поиска;
принимают для сеанса пользователя данные, указывающие вторую конкретную n-грамму, которая относится к теме, связанной со вторым кластером уточнения поиска; и
предоставляют для сеанса пользователя результаты поиска, отвечающие первому запросу, упомянутой конкретной n-грамме и второй конкретной n-грамме.
7. Способ по п.6, в котором наиболее высокая оценка и вторая по величине оценка выше порогового значения.
8. Долговременный машиночитаемый носитель данных, на котором сохранены инструкции, исполняемые устройством обработки данных и при их исполнении предписывающие устройству обработки данных выполнять операции, содержащие:
определение уточнений запроса для первого запроса;
генерирование, исходя из уточнений запроса, кластеров уточнений, причем каждый кластер уточнения соответствует конкретной теме, включенной в запросы в этом кластере уточнения и не включенной в первый запрос, и каждый кластер уточнения включает в себя уточнения запроса, которые определены как принадлежащие конкретной теме, которой соответствует данный кластер уточнения;
оценивание каждого из кластеров уточнений с использованием количества уникальных n-грамм, связанных с конкретной темой этого кластера уточнения, которые имеют место в запросах, включенных в данный кластер уточнения, при этом, для каждого из кластеров уточнений, при подсчете оценки для этого кластера уточнения каждая из уникальных n-грамм учитывается однократно;
ранжирование кластеров уточнений на основе оценок, связанных с кластерами уточнений, при этом кластер уточнения, ранг которого является самым высоким при ранжировании относительно других кластеров уточнений, имеет наиболее высокую оценку из кластеров уточнений;
выбор кластера уточнения, который является самым высоким по рангу относительно других кластеров уточнений при упомянутом ранжировании, в качестве первого кластера уточнения поиска для первого запроса; и
генерирование первых данных тематической подсказки на основе темы, связанной с первым кластером уточнения поиска, причем первые данные тематической подсказки описывают вопрос, который содержит запрашивание первого пользовательского ввода n-граммы, которая является подтемой темы, связанной с первым кластером уточнения поиска.
9. Долговременный машиночитаемый носитель данных по п.8, при этом упомянутые операции дополнительно содержат:
прием, для сеанса пользователя, первого запроса;
предоставление, для сеанса пользователя, первых данных тематической подсказки в ответ на прием первого запроса;
прием, для сеанса пользователя, данных, указывающих конкретную n-грамму, которая является i) подтемой темы, связанной с первым кластером уточнения поиска, и ii) ответом на данные тематической подсказки, каковой прием данных указывает эту конкретную n-грамму вслед за приемом первого запроса без другого промежуточного пользовательского ввода для сеанса пользователя; и
предоставление, для сеанса пользователя, результатов поиска, отвечающих первому запросу и упомянутой конкретной n-грамме.
10. Долговременный машиночитаемый носитель данных по п.8, при этом упомянутые операции дополнительно содержат:
определение вторых запросов на основе первого запроса, причем каждый из вторых запросов является запросом, который удовлетворяет пороговому уровню сходства с первым запросом, при этом первый запрос является одним из вторых запросов; и
определение, для каждого из вторых запросов, уточнений запроса на основе второго запроса.
11. Долговременный машиночитаемый носитель данных по п.8, при этом упомянутый выбор кластера уточнения, который является самым высоким по рангу при ранжировании, содержит:
определение того, превышает ли наиболее высокая оценка пороговое значение; и
выбор, основываясь на определении того, что наиболее высокая оценка превышает пороговое значение, кластера уточнения, ранг которого является самым высоким при ранжировании относительно других кластеров уточнений, в качестве первого кластера уточнения поиска для первого запроса.
12. Долговременный машиночитаемый носитель данных по п.9, при этом упомянутые операции дополнительно содержат:
предоставление, для сеанса пользователя, вторых данных тематической подсказки на основе темы, связанной со вторым кластером уточнения поиска, который имеет вторую по величине оценку из кластеров уточнений, или с кластером уточнения, имеющим наиболее высокую комбинированную оценку для сочетания первого запроса и упомянутой конкретной n-граммы, где вторые данные тематической подсказки описывают запрашивание второго пользовательского ввода n-граммы, которая относится к теме, связанной со вторым кластером уточнения поиска;
прием, для сеанса пользователя, данных, указывающих вторую конкретную n-грамму, которая относится к теме, связанной со вторым кластером уточнения поиска; и
предоставление для сеанса пользователя результатов поиска, отвечающих первому запросу, упомянутой конкретной n-грамме и второй конкретной n-грамме.
13. Долговременный машиночитаемый носитель данных по п.12, при этом наиболее высокая оценка и вторая по величине оценка выше порогового значения.
14. Система для определения тематических подсказок на основе данных поиска, содержащая:
устройство обработки данных; и
долговременный машиночитаемый носитель данных, выполненный с возможностью обмена данными с устройством обработки данных и хранящий инструкции, исполняемые устройством обработки данных, которые при их исполнении предписывают устройству обработки данных выполнять операции, содержащие:
определение уточнений запроса для первого запроса;
генерирование, исходя из уточнений запроса, кластеров уточнений, причем каждый кластер уточнения соответствует конкретной теме, включенной в запросы в этом кластере уточнения и не включенной в первый запрос, и каждый кластер уточнения включает в себя уточнения запроса, которые определены как принадлежащие конкретной теме, которой соответствует данный кластер уточнения;
оценивание каждого из кластеров уточнений с использованием количества уникальных n-грамм, связанных с конкретной темой этого кластера уточнения, которые имеют место в запросах, включенных в данный кластер уточнения, при этом, для каждого из кластеров уточнений, при подсчете оценки для этого кластера уточнения каждая из уникальных n-грамм учитывается однократно;
ранжирование кластеров уточнений на основе оценок, связанных с кластерами уточнений, при этом кластер уточнения, ранг которого является самым высоким при ранжировании относительно других кластеров уточнений, имеет наиболее высокую оценку из кластеров уточнений;
выбор кластера уточнения, который является самым высоким по рангу относительно других кластеров уточнений при упомянутом ранжировании, в качестве первого кластера уточнения поиска для первого запроса; и
генерирование первых данных тематической подсказки на основе темы, связанной с первым кластером уточнения поиска, причем первые данные тематической подсказки описывают вопрос, который содержит запрашивание первого пользовательского ввода n-граммы, которая является подтемой темы, связанной с первым кластером уточнения поиска.
15. Система по п.14, в которой упомянутые операции дополнительно содержат:
прием, для сеанса пользователя, первого запроса;
предоставление, для сеанса пользователя, первых данных тематической подсказки в ответ на прием первого запроса;
прием, для сеанса пользователя, данных, указывающих конкретную n-грамму, которая является i) подтемой темы, связанной с первым кластером уточнения поиска, и ii) ответом на данные тематической подсказки, каковой прием данных указывает эту конкретную n-грамму вслед за приемом первого запроса без другого промежуточного пользовательского ввода для сеанса пользователя; и
предоставление, для сеанса пользователя, результатов поиска, отвечающих первому запросу и упомянутой конкретной n-грамме.
16. Система по п.14, в которой упомянутые операции дополнительно содержат:
определение вторых запросов на основе первого запроса, причем каждый из вторых запросов является запросом, который удовлетворяет пороговому уровню сходства с первым запросом, при этом первый запрос является одним из вторых запросов; и
определение, для каждого из вторых запросов, уточнений запроса на основе второго запроса.
17. Система по п.14, в которой упомянутый выбор кластера уточнения, который является самым высоким по рангу при ранжировании, содержит:
определение того, превышает ли наиболее высокая оценка пороговое значение; и
выбор, основываясь на определении того, что наиболее высокая оценка превышает пороговое значение, кластера уточнения, ранг которого является самым высоким при ранжировании относительно других кластеров уточнений, в качестве первого кластера уточнения поиска для первого запроса.
18. Система по п.15, в которой упомянутые операции дополнительно содержат:
предоставление, для сеанса пользователя, вторых данных тематической подсказки на основе темы, связанной со вторым кластером уточнения поиска, который имеет вторую по величине оценку из кластеров уточнений, или с кластером уточнения, имеющим наиболее высокую комбинированную оценку для сочетания первого запроса и упомянутой конкретной n-граммы, где вторые данные тематической подсказки описывают запрашивание второго пользовательского ввода n-граммы, которая относится к теме, связанной со вторым кластером уточнения поиска;
прием, для сеанса пользователя, данных, указывающих вторую конкретную n-грамму, которая относится к теме, связанной со вторым кластером уточнения поиска; и
предоставление для сеанса пользователя результатов поиска, отвечающих первому запросу, упомянутой конкретной n-грамме и второй конкретной n-грамме.
19. Система по п.18, при этом наиболее высокая оценка и вторая по величине оценка выше порогового значения.
US 8065316 B1, 22.11.2011 | |||
Способ приготовления лака | 1924 |
|
SU2011A1 |
Способ приготовления лака | 1924 |
|
SU2011A1 |
Колосоуборка | 1923 |
|
SU2009A1 |
Приспособление для суммирования отрезков прямых линий | 1923 |
|
SU2010A1 |
RU 2011122663 A, 10.12.2012. |
Авторы
Даты
2017-12-15—Публикация
2014-05-20—Подача