[go: up one dir, main page]

RU2733481C2 - Способ и система генерирования признака для ранжирования документа - Google Patents

Способ и система генерирования признака для ранжирования документа Download PDF

Info

Publication number
RU2733481C2
RU2733481C2 RU2018144177A RU2018144177A RU2733481C2 RU 2733481 C2 RU2733481 C2 RU 2733481C2 RU 2018144177 A RU2018144177 A RU 2018144177A RU 2018144177 A RU2018144177 A RU 2018144177A RU 2733481 C2 RU2733481 C2 RU 2733481C2
Authority
RU
Russia
Prior art keywords
past
query
document
request
search
Prior art date
Application number
RU2018144177A
Other languages
English (en)
Other versions
RU2018144177A (ru
RU2018144177A3 (ru
Inventor
Александр Валерьевич Сафронов
Василий Владимирович Завьялов
Original Assignee
Общество С Ограниченной Ответственностью "Яндекс"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Общество С Ограниченной Ответственностью "Яндекс" filed Critical Общество С Ограниченной Ответственностью "Яндекс"
Priority to RU2018144177A priority Critical patent/RU2733481C2/ru
Priority to US16/571,870 priority patent/US11194878B2/en
Publication of RU2018144177A publication Critical patent/RU2018144177A/ru
Publication of RU2018144177A3 publication Critical patent/RU2018144177A3/ru
Application granted granted Critical
Publication of RU2733481C2 publication Critical patent/RU2733481C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3349Reuse of stored results of previous queries
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9532Query formulation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9536Search customisation based on social or collaborative filtering
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9538Presentation of query results
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/211Selection of the most significant subset of features
    • G06F18/2113Selection of the most significant subset of features by ranking or filtering the set of features, e.g. using a measure of variance or of feature cross-correlation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0499Feedforward networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Medical Informatics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Изобретение относится к извлечению информации, а точнее, к способу и системе генерирования признака для ранжирования по меньшей мере одного документа в ответ на запрос. Технический результат - улучшение ранжирования набора результатов поиска. Способ и система ранжирования документа в ответ на запрос, причем документ не имеет значения для признака относительно запроса. Генерируется набор документов, релевантных запросу. Документ выбирается, и набор прошлых запросов, которые представляли документ в качестве результата поиска, извлекается. Извлекаются соответствующие значения для упомянутого признака для документа относительно набора прошлых запросов. Соответствующий параметр сходства определяется между запросом и каждым из набора прошлых запросов. Значение упомянутого признака для документа генерируется на основе, по меньшей мере частично, соответствующего параметра сходства и соответствующего значения для упомянутого признака по меньшей мере одного прошлого запроса. Набор документов, в том числе упомянутый документ, ранжируется, основываясь, по меньшей мере частично, на упомянутом признаке. 2 н. и 18 з.п. ф-лы, 7 ил.

Description

ОБЛАСТЬ ТЕХНИКИ
[1] Настоящая технология в общем относится к извлечению информации, а точнее, к способу и системе генерирования признака для ранжирования по меньшей мере одного документа в ответ на запрос.
УРОВЕНЬ ТЕХНИКИ
[001] Алгоритмы машинного обучения (MLA) используются для удовлетворения многочисленных потребностей в реализуемых компьютером технологиях. Как правило, MLA используются для генерирования прогноза, связанного с пользовательским взаимодействием с компьютерным устройством. Одним примером области, где такой прогноз требуется, является пользовательское взаимодействие с содержимым, доступным в Интернете (как пример).
[002] Объем доступной через различные Интернет-ресурсы информации вырос за последние пару лет экспоненциально. Было разработано несколько решений, чтобы позволить обычному пользователю находить информацию, которую этот пользователь ищет. Одним примером такого решения является поисковая система. Примерами поисковых систем являются поисковая система GOOGLE™, поисковая система YANDEX™, поисковая система YAHOO!™ и подобные. Пользователь может осуществить доступ к интерфейсу поисковой системы и отправить поисковый запрос, связанный с информацией, местоположение которой в Интернете этот пользователь желает определить. В ответ на поисковый запрос поисковая система предоставляет ранжированный список результатов поиска. Ранжированный список результатов поиска генерируется на основе различных алгоритмов ранжирования, используемых конкретной поисковой системой, которая используется пользователем, выполняющим поиск. Общая цель таких алгоритмов ранжирования состоит в том, чтобы представить наиболее релевантные результаты поиска в верхней части ранжированного списка, в то время как менее релевантные результаты поиска располагаются в менее заметных положениях в ранжированном списке результатов поиска (с наименее релевантными результатами поиска, располагаемыми ближе к нижней части ранжированного списка результатов поиска).
[003] Поисковые системы обычно предоставляют хороший инструмент поиска на предмет поискового запроса, в отношении которого пользователь знает априори, что поиск по нему он хочет выполнить. Другими словами, если пользователь заинтересован в получении информации о самых популярных направлениях в Италии (т.е. известном предмете поиска), пользователь может отправить поисковый запрос: "Самые популярные направления в Италии?" Тогда поисковая система представит ранжированный список Интернет-ресурсов, которые являются потенциально релевантными такому поисковому запросу. Затем пользователь может просмотреть ранжированный список результатов поиска, чтобы получить интересующую его информацию, поскольку она связана с местами для посещения в Италии. Если пользователь по какой-либо причине не удовлетворен раскрытыми результатами поиска, пользователь может запустить поиск повторно, например, с более узконаправленным поисковым запросом, таким как: "Самые популярные направления в Италии этим летом?", "Самые популярные направления на юге Италии?", "Самые популярные направления для романтической поездки в Италию?".
[004] В примере поисковой системы MLA используется для генерирования ранжированных результатов поиска. Когда пользователь отправляет поисковый запрос, поисковая система генерирует список соответствующих веб-ресурсов (на основе анализа веб-ресурсов, по которым выполнен обход и указание на которые хранится в базе данных обходчика в форме списков публикаций или подобного). Затем поисковая система исполняет MLA, чтобы ранжировать сгенерированный таким образом список результатов поиска. MLA ранжирует список результатов поиска на основе их релевантности поисковому запросу. Такой MLA "обучают" прогнозировать релевантность данного результата поиска поисковому запросу на основе изобилия "признаков", связанных с данным результатом поиска, а также указаний взаимодействий прошлых пользователей с результатами поиска при отправке аналогичных поисковых запросов в прошлом.
[005] Патент США №9,009,146 В1, выданный 14 апреля 2014 года компании Google LLC и озаглавленный "Ranking search results based on similar queries" раскрывает реализуемый компьютером способ обеспечения ввода в процесс ранжирования документов для ранжирования множества документов, причем процесс ранжирования документов принимает в качестве ввода качество статистического результата для отдельного документа из множества документов, причем множество документов идентифицировано в ответ на запрос, а качество статистического результата предназначено для запроса и отдельного документа. Этот способ обеспечения ввода может включать в себя, для первого документа, идентифицированного в качестве результата поиска по отправленному пользователем запросу, оценку одного или нескольких других запросов, основываясь на сходстве с отправленным пользователем запросом, причем каждый из одного или нескольких других запросов отличается от отправленного пользователем запроса.
[006] Патент США №8,452,758 В2, выданный 28 мая 2013 года компании Google LLC и озаглавленный "Methods and systems for improving a search ranking using related queries" раскрывает системы и способы, которые улучшают поисковые ранжирования для поискового запроса с использованием данных, ассоциированных с запросами, связанными с упомянутым поисковым запросом. В одном аспекте принимают поисковый запрос, определяют связанный запрос, связанный с упомянутым поисковым запросом, определяют статью (например, веб-страницу), ассоциированную с поисковым запросом, и показатель ранжирования для этой статьи определяют на основе, по меньшей мере частично, данных, ассоциированных со связанным запросом. Описаны несколько алгоритмов и типов данных, ассоциированных со связанными запросам, которые являются полезными при выполнения таких систем и способов.
[007] Патент США №6,185,558 В1, выданный 6 февраля 2001 года компании Amazon.com Inc и озаглавленный "Identifying the items most relevant to a current query based on items selected in connection with similar queries" раскрывает программное средство для идентификации элементов, наиболее релевантных текущему запросу, на основе элементов, выбранных в связи с аналогичными запросами. В предпочтительных вариантах осуществления изобретения упомянутое средство принимает запрос, определяющий один или несколько терминов запроса. В ответ упомянутое средство генерирует результат запроса, идентифицирующий множество элементов, которые удовлетворяют запросу. Затем средство получает значение ранжирования для по меньшей мере части элементов, идентифицированных в результате запроса, объединяя относительные частоты, с которыми пользователи выбирали данный элемент из результатов запроса, сгенерированных из запросов, определяющих каждый из терминов, определенных упомянутым запросом. Средство идентифицирует в качестве наиболее релевантных те элементы, которые имеют наивысшие значения ранжирования.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
[2] Целью настоящей технологии является устранение по меньшей мере некоторых неудобств, имеющихся в предшествующем уровне техники. Варианты осуществления настоящей технологии могут обеспечить и/или расширить сферу применения подходов и/или способов достижения целей и задач настоящей технологии.
[3] Разработчик(и) настоящей технологии определили по меньшей мере одну техническую проблему, связанную с подходами в предшествующем уровне техники.
[4] Разработчик(и) признали, что учет ориентированных на пользователя факторов, таких как прошлые пользовательские взаимодействия с документами, для ранжирования документов в ответ на запрос, улучшает качество ранжирования. В целом качество ранжирования может, среди прочего, оцениваться путем отслеживания пользовательских взаимодействий с документами, предоставленными в ответ на упомянутый запрос, которые были изначально ранжированы на основе их релевантности упомянутому запросу. Таким образом, документ более высокого ранга в SERP должен принимать больше взаимодействий со стороны пользователей (например, кликов), чем документ более низкого ранга, из-за его более высокой релевантности упомянутому запросу, которая спрогнозирована сервером поисковой системы. Однако, поскольку на ранжирование документов влияет целый ряд факторов, это может быть так не в каждом случае. Следовательно, MLA, используемый сервером поисковой системы, может быть "отрегулирован" таким образом, чтобы документы более низкого ранга, принимающие больше пользовательских взаимодействий, чем документы более высокого ранга, «продвигались» при ранжировании в будущем, и такая процедура может повторятся с предопределенными интервалами времени для учета изменений в пользовательских взаимодействиях. Кроме того, MLA также может быть обучен прогнозировать будущие пользовательские взаимодействия для некоторого документа, у которого их нет, на основе других признаков запроса и/или документа.
[5] Разработчик(и) настоящей технологии также осознали, что в некоторых ситуациях документ из набора документов может не иметь значений для одного или нескольких признаков, поскольку, как пример, MLA не может генерировать значения для одного или нескольких признаков из-за недостаточной информации. Следовательно, это может помешать ранжированию MLA ранжировать один или несколько документов, или ранжировать один или нескольких документов настолько хорошо, насколько это возможно, из-за такого полного отсутствия значений для одного или нескольких определенных признаков.
[6] Таким образом, разработчик(и) предполагает, что документ, релевантный некоторому запросу и не имеющий значений для одного или нескольких признаков, может иметь такие значения для одного или нескольких признаков для других запросов, в ответ на которые данный документ представлялся. Разработчик(и) также понял, что степень сходства между одним или несколькими другими запросами и имеющимся запросом может быть оценена количественно, и такая информация могла бы использоваться, по меньшей мере частично, для генерирования отсутствующих значений для одного или нескольких определенных признаков в ответ на данный запрос.
[7] Таким образом, варианты осуществления настоящей технологии направлены на способ и систему для генерирования признака для ранжирования документа.
[8] Такой подход может предоставить пользователю более удовлетворительные ответы, что сводит к минимуму необходимость для пользователя просматривать несколько SERP или выполнять повторную отправку запросов для нахождения информации, которую он ищет, что, в свою очередь, может сэкономить вычислительные ресурсы как на клиентском устройстве, связанном с пользователем, так и на сервере поисковой системы.
[9] В соответствии с первым обширным аспектом настоящей технологии, предусмотрен реализуемый компьютером способ ранжирования по меньшей мере одного документа в ответ на запрос с использованием алгоритма машинного обучения (MLA), исполняемого сервером, при этом способ исполняется сервером, причем сервер подключен к базе данных журнала поиска. Упомянутый запрос принимается и набор документов, релевантных упомянутому запросу, генерируется, причем набор документов имеет множество признаков. По меньшей мере один документ выбирается из набора документов, причем упомянутый по меньшей мере один документ не имеет соответствующего значения для признака из множества признаков. Набор прошлых запросов, которые были отправлены на сервер, извлекается из базы данных журнала поиска, причем каждый прошлый запрос из набора прошлых запросов представлял по меньшей мере один документ в качестве соответствующего результата поиска на соответствующей странице результатов поиска (SERP). Для каждого соответствующего прошлого запроса соответствующее значение упомянутого признака для по меньшей мере одного документа извлекается из базы данных журнала поиска. Определяется соответствующий параметр сходства между упомянутым запросом и каждым соответствующим прошлым запросом из набора прошлых запросов. Соответствующее значение упомянутого признака для по меньшей мере одного документа генерируется на основе, по меньшей мере частично: соответствующего параметра сходства по меньшей мере одного прошлого запроса из набора прошлых запросов и соответствующего значения упомянутого признака по меньшей мере одного прошлого запроса из набора прошлых запросов. MLA ранжирует набор документов для получения ранжированного списка документов, при этом ранжирование основано на множестве признаков, и при этом упомянутый по меньшей мере один документ ранжируется на основе, по меньшей мере частично, соответствующего значения упомянутого признака, и ранжированный список документов, подлежащих представлению в качестве SERP, передается на электронное устройство.
[10] В некоторых вариантах осуществления способа каждый соответствующий документ из набора документов, релевантных упомянутому запросу, имеет соответствующую аннотацию, при этом соответствующая аннотация включает в себя: по меньшей мере один соответствующий прошлый поисковый запрос, который был использован для доступа к соответствующему документу на сервере поисковой системы. Набор прошлых запросов извлекается на основе соответствующей аннотации по меньшей мере одного документа.
[11] В некоторых вариантах осуществления способа, способ дополнительно содержит, до определения соответствующего параметра сходства: извлечение из базы данных журнала поиска соответствующего набора прошлых документов для каждого соответствующего прошлого запроса из набора прошлых запросов, причем соответствующий набор прошлых документов был представлен в качестве соответствующих результатов поиска в ответ на соответствующий прошлый запрос. Соответствующий параметр сходства между упомянутым запросом и каждым соответствующим прошлым запросом из набора прошлых запросов определяется на основе: набора документов, релевантных упомянутому запросу, и соответствующего набора документов соответствующего прошлого запроса.
[12] В некоторых вариантах осуществления способа, по меньшей мере подмножество набора документов связано с соответствующими параметрами пользовательских взаимодействий, и каждый соответствующий документ из соответствующего набора прошлых документов для каждого соответствующего запроса связан с соответствующими прошлыми параметрами пользовательских взаимодействий. Соответствующий параметр сходства определяется дополнительно на основе: соответствующих параметров пользовательских взаимодействий для соответствующего запроса подмножества документов и соответствующих параметров пользовательских взаимодействий для соответствующего набора прошлых документов.
[13] В некоторых вариантах осуществления способа сервер исполняет второй MLA, причем второй MLA был обучен для определения параметра сходства между запросами на основе их текстового содержимого. Соответствующий параметр сходства определяется вторым MLA.
[14] В некоторых вариантах осуществления способа, способ дополнительно содержит, во время фазы обучения: извлечение из базы данных журнала поиска множества поисковых запросов, отправленных на сервер поисковой системы, причем каждый из множества поисковых запросов связан с соответствующим набором результатов поиска, при этом каждый соответствующий результат поиска из соответствующего набора результатов поиска связан с по меньшей мере одним соответствующим параметром пользовательского взаимодействия. Для каждого запроса из множества поисковых запросов, соответствующий вектор запроса генерируется на основе по меньшей мере одного соответствующего параметра пользовательского взаимодействия, связанного с каждым результатом поиска из соответствующего набора результатов поиска. Для каждой возможной пары запросов в пределах множества поисковых запросов, соответствующий параметр сходства генерируется на основе соответствующих векторов запросов для каждого запроса из пары запросов, причем соответствующий параметр сходства указывает степень сходства между запросами в паре запросов. Генерируется набор обучающих объектов, причем каждый обучающий объект из набора обучающих объектов включает в себя указание соответствующей одной из каждой возможной пары запросов и соответствующего параметра сходства. Второй MLA обучается на наборе обучающих объектов для определения параметра сходства новой пары запросов на основе текстового содержимого каждой новой пары запросов, причем по меньшей мере один запрос из новой пары запросов не был включен в набор обучающих объектов.
[15] В некоторых вариантах осуществления способа, способ дополнительно содержит, до генерирования соответствующего значения упомянутого признака: выбор по меньшей мере одного соответствующего прошлого запроса на основе того, что соответствующий параметр сходства превышает предопределенный порог.
[16] В некоторых вариантах осуществления способа, извлечение соответствующего значения упомянутого признака по меньшей мере одного документа для каждого соответствующего прошлого запроса дополнительно содержит: извлечение соответствующего показателя релевантности по меньшей мере одного документа соответствующему прошлому запросу. Соответствующее значение упомянутого признака генерируется дополнительно на основе соответствующего показателя релевантности.
[17] В некоторых вариантах осуществления генерирование соответствующего значения упомянутого признака для по меньшей мере одного документа дополнительно основано на: соответствующем значении по меньшей мере одного другого признака из множества признаков для упомянутого документа.
[18] В некоторых вариантах осуществления способа упомянутый признак является одним из: зависящего от запроса признака и параметра пользовательского взаимодействия.
[19] В соответствии со вторым обширным аспектом настоящей технологии, предусмотрена система ранжирования по меньшей мере одного документа в ответ на запрос с использованием алгоритма машинного обучения (MLA), исполняемого системой, при этом система подключена к базе данных журнала поиска и система подключена к электронному устройству. Система содержит: процессор, долговременный считываемый компьютером носитель, содержащий инструкции, при этом процессор, при исполнении упомянутых инструкций, сконфигурирован с возможностью: приема упомянутого запроса и генерирования набора документов, релевантных упомянутому запросу, при этом набор документов имеет множество признаков. Процессор сконфигурирован с возможностью выбора по меньшей мере одного документа из набора документов, причем упомянутый по меньшей мере один документ не имеет соответствующего значения для признака из множества признаков. Процессор сконфигурирован с возможностью извлечения из базы данных журнала поиска набора прошлых запросов, которые были отправлены на сервер, причем каждый прошлый запрос из набора прошлых запросов представлял по меньшей мере один документ в качестве соответствующего результата поиска на соответствующей странице результатов поиска (SERP). Процессор сконфигурирован с возможностью извлечения из базы данных журнала поиска, для каждого соответствующего прошлого запроса, соответствующего значения упомянутого признака для по меньшей мере одного документа, и определения соответствующего параметра сходства между упомянутым запросом и каждым соответствующим прошлым запросом из набора прошлых запросов. Процессор сконфигурирован с возможностью генерирования соответствующего значения упомянутого признака для по меньшей мере одного документа на основе, по меньшей мере частично: соответствующего параметра сходства по меньшей мере одного прошлого запроса из набора прошлых запросов и соответствующего значения для упомянутого признака по меньшей мере одного прошлого запроса из набора прошлых запросов. Процессор сконфигурирован с возможностью побуждения MLA к ранжированию набора документов для получения ранжированного списка документов, причем ранжирование основано на множестве признаков, упомянутый по меньшей мере один документ ранжируется на основе, по меньшей мере частично, соответствующего значения упомянутого признака, и передачи на электронное устройство ранжированного списка документов, подлежащего представлению в качестве SERP.
[20] В некоторых вариантах осуществления системы, каждый соответствующий документ из набора документов, релевантных упомянутому запросу, имеет соответствующую аннотацию, при этом соответствующая аннотация включает в себя: по меньшей мере один соответствующий прошлый поисковый запрос, который был использован для доступа к соответствующему документу на сервере поисковой системы. Набор прошлых запросов извлекается на основе соответствующей аннотации по меньшей мере одного документа.
[21] В некоторых вариантах осуществления системы, процессор дополнительно сконфигурирован с возможностью, до определения соответствующего параметра сходства: извлекать из базы данных журнала поиска соответствующий набор прошлых документов для каждого соответствующего прошлого запроса из набора прошлых запросов, причем соответствующий набор прошлых документов был представлен в качестве соответствующих результатов поиска в ответ на соответствующий прошлый запрос. Процессор сконфигурирован с возможностью определения соответствующего параметра сходства между упомянутым запросом и каждым соответствующим прошлым запросом из набора прошлых запросов на основе: набора документов, релевантных упомянутому запросу, и соответствующего набора документов соответствующего прошлого запроса.
[22] В некоторых вариантах осуществления системы, по меньшей мере подмножество набора документов связано с соответствующими параметрами пользовательских взаимодействий, и каждый соответствующий документ из соответствующего набора прошлых документов для каждого соответствующего запроса связан с соответствующими прошлыми параметрами пользовательских взаимодействий. Соответствующий параметр сходства определяется дополнительно на основе: соответствующих параметров пользовательских взаимодействий для соответствующего запроса подмножества документов и соответствующих параметров пользовательских взаимодействий для соответствующего набора прошлых документов.
[23] В некоторых вариантах осуществления системы, система исполняет второй MLA, причем второй MLA был обучен для определения параметра сходства между запросами на основе их текстового содержимого, причем соответствующий параметр сходства определяется вторым MLA.
[24] В некоторых вариантах осуществления системы, процессор дополнительно сконфигурирован с возможностью, во время фазы обучения: извлечения из базы данных журнала поиска множества поисковых запросов, отправленных на сервер поисковой системы, причем каждый из множества поисковых запросов связан с соответствующим набором результатов поиска, при этом каждый соответствующий результат поиска из соответствующего набора результатов поиска связан с по меньшей мере одним соответствующим параметром пользовательского взаимодействия. Для каждого запроса из множества поисковых запросов, соответствующий вектор запроса генерируется на основе по меньшей мере одного соответствующего параметра пользовательского взаимодействия, связанного с каждым результатом поиска из соответствующего набора результатов поиска. Для каждой возможной пары запросов в пределах множества поисковых запросов, соответствующий параметр сходства генерируется на основе соответствующих векторов запросов для каждого запроса из пары запросов, причем соответствующий параметр сходства указывает степень сходства между запросами в паре запросов. Генерируется набор обучающих объектов, причем каждый обучающий объект из набора обучающих объектов включает в себя указание соответствующей одной из каждой возможной пары запросов и соответствующего параметра сходства. Второй MLA обучается на наборе обучающих объектов для определения параметра сходства новой пары запросов на основе текстового содержимого каждой новой пары запросов, причем по меньшей мере один запрос из новой пары запросов не был включен в набор обучающих объектов.
[25] В некоторых вариантах осуществления системы, процессор дополнительно сконфигурирован с возможностью, до генерирования соответствующего значения упомянутого признака: выбора по меньшей мере одного соответствующего прошлого запроса на основе того, что соответствующий параметр сходства превышает предопределенный порог.
[26] В некоторых вариантах осуществления системы, для извлечения соответствующего значения упомянутого признака по меньшей мере одного документа для каждого соответствующего прошлого запроса, процессор дополнительно сконфигурирован с возможностью: извлечения соответствующего показателя релевантности по меньшей мере одного документа для соответствующего прошлого запроса, и соответствующее значение данного признака генерируется дополнительно на основе соответствующего показателя релевантности.
[27] В некоторых вариантах осуществления системы, генерирование соответствующего значения упомянутого признака для по меньшей мере одного документа дополнительно основано на: соответствующем значении по меньшей мере одного другого признака из множества признаков для упомянутого документа.
[28] В некоторых вариантах осуществления системы, упомянутый признак является одним из: зависящего от запроса признака и параметра пользовательского взаимодействия.
[29] В контексте настоящего описания "сервер" представляет собой компьютерную программу, которая работает на надлежащем аппаратном обеспечении и способна принимать запросы (например, от электронных устройств) по сети, а также выполнять эти запросы или вызывать выполнение этих запросов. Аппаратное обеспечение может быть одним физическим компьютером или одной физической компьютерной системой, но ни то, ни другое не не является обязательным для настоящей технологии. В настоящем контексте использование выражения "сервер" не предполагает, что каждая задача (например, принятые инструкции или запросы) или какая-либо конкретная задача будут приняты, выполнены или вызваны для выполнения одним и тем же сервером (т.е. тем же самым программным обеспечением и/или аппаратным обеспечением); данное выражение предполагает, что любое количество программных элементов или аппаратных устройств может быть задействовано в приеме/отправке, выполнении или вызове для выполнения любой задачи или запроса, или последствий любой задачи или запроса; и все это программное обеспечение и аппаратное обеспечение может быть одним сервером или многочисленными серверами, причем оба данных случая включены в выражение "по меньшей мере один сервер".
[30] В контексте настоящего описания "электронное устройство" представляет собой любое компьютерное оборудование, которое способно выполнять программное обеспечение, которое является надлежащим для соответствующей поставленной задачи. Таким образом, некоторые (не ограничивающие) примеры электронных устройств включают в себя персональные компьютеры (настольные, ноутбуки, нетбуки и т.д.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует отметить, что устройство, выступающее в качестве электронного устройства в данном контексте, не исключается из возможности выступать в качестве сервера для других электронных устройств. Использование выражения "электронное устройство" не исключает использования многочисленных электронных устройств при приеме/отправке, выполнении или вызове для выполнения какой-либо задачи или запроса, или последствий любой задачи или запроса, или этапов любого описанного в данном документе способа.
[31] В контексте настоящего описания "база данных" представляет собой любую структурированную совокупность данных, независимо от ее конкретной структуры, программное обеспечение для администрирования базы данных, или компьютерное оборудование, на котором данные хранятся, реализуются или их делают доступными для использования иным образом. База данных может находиться на том же оборудовании, что и процесс, который хранит или использует информацию, хранящуюся в базе данных, или она может находиться на отдельном оборудовании, например на выделенном сервере или множестве серверов.
[32] В контексте настоящего описания выражение "информация" включает в себя информацию любого характера или вида, который способен храниться в базе данных любым образом. Таким образом, информация включает в себя, но без ограничения, аудиовизуальные произведения (изображения, фильмы, звуковые записи, презентации и т.д.), данные (данные о местоположении, численные данные и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, электронные таблицы и т.д.
[33] В контексте настоящего описания предполагается, что выражение "используемый компьютером носитель хранения информации" включает в себя носители любого характера и вида, в том числе RAM, ROM, диски (CD-ROM, DVD, дискеты, накопители на жестких дисках и т.д.), USB-ключи, твердотельные накопители, ленточные накопители и т.д.
[34] В контексте настоящего описания, если прямо не предусмотрено иное, "указание" информационного элемента может быть самим информационным элементом или указателем, ссылкой, гиперссылкой или другим опосредованным механизмом, позволяющим получателю такого указания найти местоположение в сети, памяти, базе данных или другом считываемом компьютером носителе, из которого информационный элемент может быть извлечен. Например, указание документа может включать в себя сам документ (т.е. его содержимое), или оно может быть уникальным дескриптором документа, идентифицирующим файл относительно некоторой конкретной файловой системы, или некоторым другим средством направления получателя такого указания в местоположение в сети, таблицу базы данных или иное местоположение, в котором можно осуществить доступ к файлу. Специалист в данной области поймет, что степень точности, требуемая в указании, зависит от степени какого-либо предварительного понимания того, какая интерпретация будет дана информации, обмениваемой во взаимодействии между отправителем и получателем такого указания. Например, если до связи между отправителем и получателем понимается, что указание информационного элемента будет иметь форму ключа базы данных для записи в некоторой конкретной таблице предопределенной базы данных, содержащей информационный элемент, то отправка ключа базы данных является всем, что требуется для эффективной передачи информационного элемента получателю, даже если сам информационный элемент не был передан во взаимодействии между отправителем и получателем такого указания.
[35] В контексте настоящего описания слова "первый", "второй", "третий" и т.д. используются в качестве прилагательных только для того, чтобы позволить отличать существительные, которые они модифицируют, друг от друга, а не для описания какой-либо особой взаимосвязи между такими существительными. Таким образом, например, следует понимать, что использование терминов "первый сервер" и "третий сервер" не подразумевает какого-либо конкретного порядка, типа, хронологии, иерархии или ранжирования (например) таких серверов, равно как и их использование (само по себе) не означает, что какой-либо "второй сервер" должен обязательно существовать в любой определенной ситуации. Кроме того, как обсуждается в других контекстах данного документа, ссылка на "первый" элемент и "второй" элемент не исключает того, что эти два элемента фактически являются одним и тем же элементом реального мира. Таким образом, например, в некоторых случаях "первый" сервер и "второй" сервер могут быть одним и тем же программным обеспечением и/или аппаратным обеспечением, в других случаях они могут представлять собой разное программное обеспечение и/или аппаратное обеспечение.
[36] Каждая из реализаций настоящей технологии обладает по меньшей мере одним из вышеупомянутых аспектов и/или цели, но не обязательно имеет их все. Следует понимать, что некоторые аспекты настоящей технологии, которые возникли в попытке достичь вышеупомянутой цели, могут не удовлетворять этой цели и/или удовлетворять другим целям, которые не описаны в данном документе явным образом.
[37] Дополнительные и/или альтернативные признаки, аспекты и преимущества реализаций настоящей технологии станут очевидными из нижеследующего описания, сопроводительных чертежей и приложенной формулы изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[38] Для лучшего понимания настоящей технологии, а также других аспектов и ее дополнительных признаков, ссылка приводится на нижеследующее описание, которое должно использоваться в сочетании с сопроводительными чертежами, на которых:
[39] Фигура 1 иллюстрирует схему системы, реализуемой в соответствии с неограничивающими вариантами осуществления настоящей технологии.
[40] Фигура 2 иллюстрирует схематичное представление множества алгоритмов машинного обучения, реализуемых сервером поисковой системы с Фигуры 1 в соответствии с вариантами осуществления настоящей технологии.
[41] Фигура 3 иллюстрирует схематичное представление процедуры генерирования аннотаций в соответствии с вариантами осуществления настоящей технологии.
[42] Фигура 4 иллюстрирует схематичное представление процедуры генерирования первого параметра сходства в соответствии с вариантами осуществления настоящей технологии.
[43] Фигура 5 иллюстрирует схематичное представление процедуры генерирования второго параметра сходства в соответствии с вариантами осуществления настоящей технологии.
[44] Фигура 6 иллюстрирует схематичное представление процедуры генерирования значения признака в соответствии с вариантами осуществления настоящей технологии.
[45] Фигура 7 иллюстрирует блок-схему способа генерирования признака для ранжирования документов, причем способ является исполняемым в рамках системы с Фигуры 1 в соответствии с вариантами осуществления настоящей технологии.
ПОДРОБНОЕ ОПИСАНИЕ
[46] Приведенные в данном документе примеры и условные формулировки призваны главным образом помочь читателю понять принципы настоящей технологии, а не ограничить ее объем такими конкретно приведенными примерами и условиями. Должно быть понятно, что специалисты в данной области смогут разработать различные механизмы, которые, хоть и не описаны в данном документе явным образом, тем не менее воплощают принципы настоящей технологии и включаются в ее суть и объем.
[47] Кроме того, нижеследующее описание может описывать реализации настоящей технологии в относительно упрощенном виде для целей упрощения понимания. Специалисты в данной области поймут, что различные реализации настоящей технологии могут иметь большую сложность.
[48] В некоторых случаях также могут быть изложены примеры модификаций настоящей технологии, которые считаются полезными. Это делается лишь для содействия понимаю и, опять же, не для строгого определения объема или очерчивания границ настоящей технологии. Эти модификации не являются исчерпывающим списком, и специалист в данной области может осуществлять другие модификации, все еще оставаясь при этом в рамках объема настоящей технологии. Кроме того, случаи, когда примеры модификаций не приводятся, не следует толковать так, что никакие модификации не могут быть осуществлены и/или что описанное является единственным способом реализации такого элемента настоящей технологии.
[49] Кроме того, все содержащиеся в данном документе утверждения, в которых указываются принципы, аспекты и реализации настоящей технологии, а также их конкретные примеры, призваны охватить как структурные, так и функциональные эквиваленты, вне зависимости от того, известны ли они в настоящее время или будут разработаны в будущем. Таким образом, например, специалисты в данной области осознают, что любые блок-схемы в данном документе представляют концептуальные виды иллюстративной схемы, воплощающей принципы настоящей технологии. Аналогичным образом, будет понятно, что любые блок-схемы, схемы последовательности операций, схемы изменения состояний, псевдокоды и подобное представляют различные процессы, которые могут быть по сути представлены на считываемых компьютерам носителях и исполнены компьютером или процессором вне зависимости от того, показан такой компьютер или процессор явным образом или нет.
[50] Функции различных элементов, показанных на фигурах, в том числе любого функционального блока, помеченного как "процессор" или "графический процессор", могут быть обеспечены с помощью специализированного аппаратного обеспечения, а также аппаратного обеспечения, способного исполнять программное обеспечение и связанного с надлежащим программным обеспечением. При обеспечении процессором функции могут быть обеспечены одним выделенным процессором, одним совместно используемым процессором или множеством отдельных процессоров, некоторые из которых могут быть совместно используемыми. В некоторых вариантах осуществления настоящей технологии процессор может быть процессором общего назначения, таким как центральный процессор (CPU) или процессор, выделенный для конкретной цели, например графический процессор (GPU). Кроме того, явное использование термина "процессор" или "контроллер" не должно истолковываться как относящееся исключительно к аппаратному обеспечению, способному исполнять программное обеспечение, и может в неявной форме включать в себя, без ограничений, аппаратное обеспечение цифрового сигнального процессора (DSP), сетевой процессор, интегральную схему специального назначения (ASIC), программируемую пользователем вентильную матрицу (FPGA), постоянную память (ROM) для хранения программного обеспечения, оперативную память (RAM) и энергонезависимое хранилище. Другое аппаратное обеспечение, традиционное и/или специализированное, также может быть включено в состав.
[51] Программные модули, или просто модули, в качестве которых может подразумеваться программное обеспечение, могут быть представлены в настоящем документе как любая комбинация элементов блок-схемы последовательности операций или других элементов, указывающих выполнение этапов процесса и/или текстовое описание. Такие модули могут выполняться аппаратным обеспечением, которое явно или неявно показано.
[52] Учитывая эти основополагающие вещи, рассмотрим некоторые неограничивающие примеры, чтобы проиллюстрировать различные реализации аспектов настоящей технологии.
[53] Со ссылкой на Фигуру 1 иллюстрируется система 100, причем система 100 реализована в соответствии с неограничивающими вариантами осуществления настоящей технологии. Система 100 содержит множество клиентских устройств 102, причем множество клиентских устройств 102 включает в себя первое клиентское устройство 104, второе клиентское устройство 106, третье клиентское устройство 108 и четвертое клиентское устройство 110, подключенные к сети 112 связи через соответствующую линию 114 связи (на фигуре 1 данный номер присвоен только двум). Система 100 содержит сервер 120 поисковой системы, сервер 130 отслеживания и сервер 140 обучения, подключенные к сети 112 связи через соответствующую им линию 114 связи.
[54] Только в качестве примера, первое клиентское устройство 104 может быть реализовано как смартфон, второе клиентское устройство 106 может быть реализовано как ноутбук, третье клиентское устройство 108 может быть реализовано как смартфон, а четвертое клиентское устройство 110 может быть реализовано как планшет. В некоторых неограничивающих вариантах осуществления настоящей технологии сеть 112 связи может быть реализована как Интернет. В других вариантах осуществления настоящей технологии сеть 112 связи может быть реализована иначе, например как какая-либо глобальная сеть связи, локальная сеть связи, частная сеть связи и тому подобное.
[55] То, как реализована определенная линия 114 связи, конкретным образом не ограничено и будет зависеть от того, как реализовано связанное одно из первого клиентского устройства 104, второго клиентского устройства 106, третьего клиентского устройства 108 и четвертого клиентского устройства 110. Просто как пример, а не как ограничение, в тех вариантах осуществления настоящей технологии, в которых по меньшей мере одно из первого клиентского устройства 104, второго клиентского устройства 106, третьего клиентского устройства 108 и четвертого клиентского устройства 110 реализовано как устройство беспроводной связи (например как смартфон), связанная одна из линии 114 связи может быть реализована как линия беспроводной связи (такая как, но без ограничения, линия сети связи 3G, линия сети связи 4G, Wireless Fidelity или WiFi® для краткости, Bluetooth® и тому подобные). В тех примерах, в которых по меньшей мере одно из первого клиентского устройства 104, второго клиентского устройства 106, третьего клиентского устройства 108 и четвертого клиентского устройства 110 реализованы соответственно как ноутбук, смартфон, планшетный компьютер, связанная линия 114 связи может быть либо беспроводной (например, Wireless Fidelity или WiFi® для краткости, Bluetooth® и тому подобные), либо проводной (например, Ethernet-соединение).
[56] Следует четко понимать, что реализации для множества клиентских устройств 102, включающего в себя первое клиентское устройство 104, второе клиентское устройство 106, третье клиентское устройство 108, четвертое клиентское устройство 110, линии 114 связи и сети 112 связи предусмотрены лишь для иллюстративных целей. Таким образом специалисты в данной области без труда распознают другие конкретные детали реализации для первого клиентского устройства 104, второго клиентского устройства 106, третьего клиентского устройства 108, четвертого клиентского устройства 110, а также линии 114 связи и сети 112 связи. Как таковые, примеры, представленные в настоящем документе выше, никоим образом не предназначены для ограничения объема настоящей технологии.
[57] Хотя проиллюстрированы только четыре клиентских устройства 104, 106, 108 и 110 (все показаны на Фигуре 1), предполагается, что любое количество клиентских устройств во множестве клиентских устройств 102 может быть подключено к системе 100. Кроме того, предполагается, что в некоторых реализациях количество клиентских устройств во множестве клиентских устройств 102, включенных в систему 100, может исчисляться десятками или сотнями тысяч.
[58] Сервер поисковой системы
[59] С сетью 112 связи также соединен вышеупомянутый сервер 120 поисковой системы. Сервер 120 поисковой системы может быть реализован как традиционный компьютерный сервер. В примере варианта осуществления настоящей технологии сервер 120 поисковой системы может быть реализован как сервер Dell™ PowerEdge™, работающий под управлением операционной системы Microsoft™ Windows Server™. Само собой разумеется, сервер 120 поисковой машины может быть реализован в любом другом подходящем аппаратном и/или программном обеспечении и/или микропрограммном обеспечении или их комбинации. В проиллюстрированном неограничивающем варианте осуществления настоящей технологии сервер 120 поисковой системы является единственным сервером. В альтернативных неограничивающих вариантах осуществления настоящей технологии функциональные возможности сервера 120 поисковой системы могут быть распределены и могут быть реализованы через многочисленные серверы. В некоторых вариантах осуществления настоящей технологии сервер 120 поисковой системы находится под управлением и/или администрированием оператора поисковой системы. Альтернативно, сервер 120 поисковой системы может находиться под управлением и/или администрированием поставщика услуг.
[60] Сервер 120 поисковой машины поддерживает базу 122 данных журнала поиска, причем база 122 данных журнала поиска включает в себя индекс 124.
[61] Вообще говоря, назначением сервера 120 поисковой системы является: (i) обнаружение и индексирование документов, доступных в Интернете; (ii) выполнение поиска в ответ на некоторый поисковый запрос; (iii) выполнение анализа документов и выполнение ранжирования документов в ответ на упомянутый поисковый запрос; (iv) группировка упомянутых документов и составление страницы результатов поиска (SERP) для вывода на клиентское устройство (например одно из первого клиентского устройства 104, второго клиентского устройства 106, третьего клиентского устройства 108 и четвертого клиентского устройства 110), причем данное клиентское устройство использовалось для отправки упомянутого поискового запроса, который обеспечил в результате данную SERP.
[62] То, как сервер 120 поисковой системы сконфигурирован для обнаружения и индексации документов, выполнения поисков, анализа и ранжирования документов, конкретным образом не ограничено. Специалисты в данной области техники поймут несколько способов и средств реализации сервера 120 поисковой системы, и поэтому некоторые структурные компоненты сервера 120 поисковой системы будут описаны лишь на высоком уровне.
[63] Сервер 120 поисковой системы сконфигурирован с возможностью исполнения процедуры обнаружения документов (не проиллюстрирована), которая обычно используется сервером 120 поисковой системы для обнаружения документов, доступных по сети 112 связи. Например, сервер 120 поисковой системы сконфигурирован с возможностью исполнения «обходчика», который «посещает» сетевые ресурсы, доступные по сети 112 связи, и загружает их для дальнейшей обработки.
[64] Характер документов, которые сервер 120 поисковой системы сконфигурирован посещать и загружать, конкретным образом не ограничен, но, только в целях иллюстрации, описываемые здесь документы могут представлять веб-страницы, изображения, PDF-файлы, документы Word™, документы PowerPoint™, которые доступны по сети 112 связи.
[65] Сервер 120 поисковой системы также может быть сконфигурирован с возможностью исполнения процедуры индексации (не проиллюстрирована), которая обычно используется сервером 120 поисковой системы для построения и/или поддержания структур индексации, используемых данной поисковой системой для выполнения поисков. Например, сервер 120 поисковой системы сконфигурирован с возможностью построения и/или поддержания инвертированного индекса, который будет упоминаться как индекс 124.
[66] То, как индекс 124 реализован в настоящей технологии, конкретным образом не ограничено, но, в качестве примера, индекс 124 содержит некоторое число списков публикаций, каждый из которых связан с соответствующим «искомым термином». Некоторая публикация в списке публикаций включает в себя данные некоторого типа, которые указывают некоторый документ, который включает в себя искомый термин, связанный с упомянутым списком публикаций, и, необязательно, включает в себя некоторые дополнительные данные (например, где в документе искомый термин появляется, количество появлений в документе и т.п.). Таким образом, каждый список публикаций соответствует искомому (поисковому) термину и содержит ряд публикаций, ссылающихся на каждый из обнаруженных документов, которые содержат по меньшей мере одно вхождение этого соответствующего искомого термина (или его части).
[67] Следует отметить, что дополнительные данные, такие как признаки проиндексированных документов, также могут быть найдены в некоторой публикации; например, число вхождений некоторого искомого термина в некоторый документ; встречается ли этот поисковый термин в названии упомянутого документа и т.д. Естественно, эти дополнительные данные могут отличаться в зависимости от конкретной поисковой системы и, в частности, от различных реализаций настоящей технологии.
[68] Искомые термины, как правило, но не исключительно, являются словами или другими строками символов. Определенная поисковая система обычно может иметь дело практически с каждым словом на разных языках, а также с правильными наименованиями, числами, символами и т.д. Очень часто используемое слово может иметь список публикаций вплоть до одного миллиарда публикаций (или даже больше).
[69] Сервер 120 поисковой системы также может быть сконфигурирован с возможностью исполнения процедуры обеспечения запросов (не проиллюстрирована), которая обычно используется сервером 120 поисковой системы для идентификации документов, которые могут содержать некоторую часть запроса, отправленного в упомянутую поисковую систему. Например, когда сервер 120 поисковой системы принимает некоторый запрос (например, текущий запрос пользователя первого клиентского устройства 104), сервер 120 поисковой системы может осуществлять разбор упомянутого запроса на множество искомых терминов. Затем сервер 120 поисковой системы может осуществить доступ к индексу 124 и идентифицировать списки публикаций, которые связаны с по меньшей мере одним из множества искомых терминов. В результате сервер 120 поисковой системы может осуществить доступ к по меньшей мере некоторым публикациям в идентифицированных таким образом списках публикаций и идентифицировать по меньшей мере некоторые документы, которые могут содержать по меньшей мере некоторые из множества искомых терминов упомянутого запроса.
[70] Сервер 120 поисковой системы сконфигурирован с возможностью исполнения ранжирования идентифицированных документов в индексе 124, которые содержат по меньшей мере некоторые из множества искомых терминов упомянутого запроса.
[71] Просто в качестве примера, а не ограничения, некоторые из известных методик ранжирования результатов поиска по релевантности отправленному пользователем запросу основаны на некотором или всем из: (i) насколько популярен данный поисковый запрос или ответ на него в поисках; (ii) сколько результатов было возвращено; (iii) содержит ли поисковый запрос какие-либо определяющие термины (такие как «изображения», «фильмы», «погода» или тому подобное), (iv) как часто некоторый конкретный поисковый запрос обычно используется с определяющими терминами другими пользователями; и (v) как часто другие пользователи, выполняющие подобный поиск, выбирали некоторый конкретный ресурс или конкретные результаты вертикального поиска, когда результаты представлялись с использованием SERP. Таким образом, сервер 120 поисковой системы может вычислить и назначить показатель релевантности (на основе различных критериев, перечисленных выше) для каждого результата поиска, полученного в ответ на отправленный пользователем запрос, а также сгенерировать SERP, где результаты поиска ранжированы согласно их соответствующим показателям релевантности. Предполагается, что ранжирование документов в качестве результатов поиска может быть исполнено более чем за один этап.
[72] В варианте осуществления, проиллюстрированном в данном документе, сервер 120 поисковой машины исполняет множество алгоритмов 200 машинного обучения (MLA) для ранжирования документов в ответ на некоторый запрос. Множество MLA 200 будет описано более подробно ниже.
[73] В некоторых вариантах осуществления настоящей технологии сервер 120 поисковой системы может исполнять ранжирование для поисков нескольких типов, в том числе, но без ограничения, общего поиска и вертикального поиска.
[74] Сервер отслеживания
[75] С сетью 112 связи также соединен вышеупомянутый сервер 130 отслеживания. Сервер 130 отслеживания может быть реализован как традиционный компьютерный сервер. В примере варианта осуществления настоящей технологии сервер 130 отслеживания может быть реализован как сервер Dell™ PowerEdge™, работающий под управлением операционной системы Microsoft™ Windows Server™. Само собой разумеется, сервер 130 отслеживания может быть реализован в любом другом подходящем аппаратном и/или программном обеспечении и/или микропрограммном обеспечении или их комбинации. В проиллюстрированном неограничивающем варианте осуществления настоящей технологии сервер 130 отслеживания является единственным сервером. В альтернативных неограничивающих вариантах осуществления настоящей технологии функциональные возможности сервера 130 отслеживания могут быть распределены и могут быть реализованы через многочисленные серверы. В других вариантах осуществления функциональные возможности сервера 130 отслеживания могут выполняться сервером 120 поисковой системы полностью или частично. В некоторых вариантах осуществления настоящей технологии сервер 130 отслеживания находится под управлением и/или администрированием оператора поисковой системы. Альтернативно, сервер 130 отслеживания может находиться под управлением и/или администрированием другого поставщика услуг.
[76] Вообще говоря, сервер 130 отслеживания сконфигурирован с возможностью отслеживания пользовательских взаимодействий с результатами поиска, предоставленными сервером 120 поисковой системы в ответ на пользовательские запросы (например, сделанные пользователями одного из первого клиентского устройства 104, второго клиентского устройства 106, третьего клиентского устройства 108 и четвертого клиентского устройства 110). Сервер 130 отслеживания может отслеживать пользовательские взаимодействия (такие как, например, данные по кликам), когда пользователи выполняют общие веб-поиски и вертикальные веб-поиски на сервере 120 поисковой системы, и сохранять эти пользовательские взаимодействия в базе 132 данных отслеживания.
[77] Сервер 130 отслеживания также может быть сконфигурирован с возможностью автоматического определения параметров пользовательских взаимодействий на основе отслеживаемых пользовательских взаимодействий с результатами поиска. В качестве неограничивающего примера сервер 130 отслеживания может вычислять показатель кликабельности (CTR), с предопределенными интервалами времени или после приема указания, на основе количества кликов по элементу и количества раз, когда элемент был показан (представлений) в SERP.
[78] Неограничивающие примеры пользовательских взаимодействий, отслеживаемых сервером 130 отслеживания, включают в себя:
- Потери/Приобретения (Loss/Win): кликнули ли документ в ответ на поисковый запрос или нет.
- Просмотры: сколько раз документ был показан.
- Время пребывания: время, затрачиваемое пользователем на документ перед возвратом к SERP.
- Длинный/короткий клик: было ли пользовательское взаимодействие с документом длинным или коротким по сравнению с пользовательским взаимодействием с другими документами в SERP.
[79] Естественно, приведенный выше список не является исчерпывающим и может включать в себя пользовательские взаимодействия других типов, не выходя за рамки настоящей технологии. В некоторых вариантах осуществления сервер 130 отслеживания может компилировать данные пользовательских взаимодействий (которые могут, в качестве неограничивающего примера, включать в себя пользовательские взаимодействия за каждый час) и генерировать пользовательские взаимодействия, которые подлежат сохранению в базе 132 данных отслеживания в подходящем формате для реализации настоящей технологии (что, в качестве неограничивающего примера, может представлять собой пользовательские взаимодействия за предопределенного периода времени в 3 месяца). В других вариантах осуществления сервер 130 отслеживания может сохранять данные пользовательских взаимодействий в необработанной форме в базе 132 данных отслеживания, так что они могут быть извлечены и скомпилированы по меньшей мере одним из сервера 120 поисковой системы, сервера 140 обучения или другого сервера (не проиллюстрирован) в подходящем формате для реализации настоящей технологии.
[80] Сервер 130 отслеживания обычно поддерживает вышеупомянутую базу 132 данных отслеживания, причем база 132 данных отслеживания включает в себя журнал 136 запросов и журнал 138 пользовательских взаимодействий.
[81] Назначение журнала 136 запросов состоит в том, чтобы регистрировать поиски, которые были выполнены с использованием сервера 120 поисковой системы. Более конкретно, журнал 136 запросов поддерживает термины поисковых запросов (то есть связанных поисковых слов) и связанные результаты поиска. Следует отметить, что журнал 136 запросов может поддерживаться анонимным образом, то есть поисковые запросы не отслеживаются относительно пользователей, которые отправили поисковый запрос.
[82] Более конкретно, журнал 136 запросов может включать в себя список запросов с их соответствующими терминами, с информацией о документах, которые были включены в список сервером 120 поисковой системы в ответ на соответствующий запрос, временную метку, а также может содержать список пользователей, идентифицированных по анонимным ID (или вообще без ID), и соответствующие документы, по которым они кликнули после отправки запроса. В некоторых вариантах осуществления журнал 136 запросов может обновляться каждый раз, когда новый поиск выполняется на сервере 120 поисковой системы. В других вариантах осуществления журнал 136 запросов может обновляться с предопределенными интервалами времени. В некоторых вариантах осуществления может быть множество копий журнала 136 запросов, каждая из которых соответствует журналу 136 запросов в разные моменты времени.
[83] Журнал 138 пользовательских взаимодействий может быть связан с журналом 136 запросов и может перечислять пользовательские взаимодействия, отслеживаемые сервером 130 отслеживания после того, как пользователь отправил запрос и кликнул по одному или нескольким документам в SERP на сервере 120 поисковой системы. В качестве неограничивающего примера журнал 138 пользовательских взаимодействий может содержать ссылку на документ, который может быть идентифицирован по ID-номеру или URL, список запросов, где каждый запрос из списка запросов использовался для доступа к данному документу, и соответствующие пользовательские взаимодействия, связанные с документом для соответствующего запроса из списка запросов (если с данным документом взаимодействовали), что будет описано более подробно в данном документе ниже. Множество пользовательских взаимодействий, как правило, могут отслеживаться и компилироваться сервером 130 отслеживания, а в некоторых вариантах осуществления могут быть включены в список для каждого отдельного пользователя.
[84] В некоторых вариантах осуществления сервер 130 отслеживания может отправлять отслеживаемые запросы, результат поиска и пользовательские взаимодействия на сервер 120 поисковой системы, который может сохранять отслеживаемые запросы, пользовательские взаимодействия и связанные результаты поиска в базе 122 данных журнала поиска. В альтернативных неограничивающих вариантах осуществления настоящей технологии функциональные возможности сервера 130 отслеживания и сервера 120 поисковой системы могут быть реализованы посредством единого сервера.
[85] Сервер обучения
[86] С сетью связи также соединен вышеупомянутый сервер 140 обучения. Сервер 140 обучения может быть реализован как традиционный компьютерный сервер. В примере варианта осуществления настоящей технологии сервер 140 обучения может быть реализован как сервер Dell™ PowerEdge™, работающий под управлением операционной системы Microsoft™ Windows Server™. Само собой разумеется, сервер 140 обучения может быть реализован в любом другом подходящем аппаратном и/или программном обеспечении и/или микропрограммном обеспечении или их комбинации. В проиллюстрированном неограничивающем варианте осуществления настоящей технологии сервер 140 обучения является единственным сервером. В альтернативных неограничивающих вариантах осуществления настоящей технологии функциональные возможности сервера 140 обучения могут быть распределены и могут быть реализованы через многочисленные серверы. В контексте настоящей технологии сервер 140 обучения может частично реализовать способы и систему, описанные в данном документе. В некоторых вариантах осуществления настоящей технологии сервер 140 обучения находится под управлением и/или администрированием оператора поисковой системы. Альтернативно, сервер 140 обучения может находиться под управлением и/или администрированием другого поставщика услуг.
[87] Вообще говоря, сервер 140 обучения сконфигурирован с возможностью обучения множества MLA 200, используемых сервером 120 поисковой системы, сервером 130 отслеживания и/или другими серверами (не проиллюстрированными), связанными с оператором поисковой системы. Сервер 140 обучения может, в качестве примера, обучать один или несколько MLA, связанных с поставщиком поисковой системы, для оптимизации общих веб-поисков, вертикальных веб-поисков, предоставления рекомендаций, прогнозирования результатов и других приложений. Обучение и оптимизация MLA могут исполняться в предопределенные периоды времени или когда поставщик поисковой системы считает это необходимым.
[88] В контексте настоящей технологии сервер 140 обучения сконфигурирован с возможностью: (i) генерирования векторов аннотаций для документов в индексе 214; (ii) генерирования векторов запросов для прошлых запросов на основе прошлых результатов поиска и прошлого пользовательского взаимодействия, и вычисления сходства между прошлыми запросами на основе этих векторов запросов; и (iii) обучения MLA во множестве MLA 200 для определения сходства на основе текстового содержимого новых запросов (запросов, не имевших прошлых пользовательских взаимодействий или результатов поиска). Однако неограничивающие варианты осуществления настоящей технологии также могут быть применены к новому запросу, который либо схож с одним из прошлых запросов, либо является тем же самым.
[89] Сервер 140 обучения может поддерживать базу 142 данных обучения для хранения векторов аннотаций и/или обучающих объектов и/или другой информации, которая может использоваться сервером 120 поисковой системы, сервером 130 отслеживания и/или другими серверами (не проиллюстрированными), связанными с оператором поисковой системы.
[90] Теперь обратимся к ФИГ. 2, на которой проиллюстрировано множество MLA 200 в соответствии с неограничивающими вариантами осуществления настоящей технологии. Множество MLA 200 включает в себя первый MLA 220, второй MLA 240, третий MLA 260 и четвертый MLA 280.
[91] Первый MLA 220 обычно может быть сконфигурирован с возможностью ранжирования результатов поиска на сервере 120 поисковой системы и может реализовывать алгоритм дерева решений с градиентным бустингом (GBRT). Вкратце, GBRT основан на деревьях решений, в результате чего генерируется модель прогнозирования в форме ансамбля деревьев. Ансамбль деревьев строится постадийным образом. Каждое последующее дерево решений в ансамбле деревьев решений фокусирует обучение на тех итерациях предыдущих деревьев решений, которые были «слабо обучаемыми» на предыдущей итерации(ях) ансамбля деревьев решений (то есть тех, которые связаны с плохим прогнозом/высокой ошибкой). Бустинг является способом, направленным на повышение качества прогнозирования MLA. В этом сценарии, вместо того, чтобы полагаться на прогноз единственного обученного алгоритма (то есть единственного дерева решений), система использует множество обученных алгоритмов (то есть ансамбль деревьев решений) и принимает окончательное решение на основе многочисленных результатов прогнозирования этих алгоритмов.
[92] При бустинге деревьев решений, первый MLA 220 сначала строит первое дерево, затем второе дерево, которое улучшает результат прогнозирования первого дерева, затем третье дерево, которое улучшает результат прогнозирования первых двух деревьев и так далее. Таким образом, первый MLA 220 в некотором смысле создает ансамбль деревьев решений, где каждое последующее дерево лучше, чем предыдущее, особо фокусируясь на слабо обучаемых с предыдущих итераций деревьев решений. Иными словами, каждое дерево строится на одном и том же обучающем наборе обучающих объектов, однако обучающие объекты, в которых первое дерево допустило «ошибки» в прогнозировании, имеют приоритет при построении второго дерева и т.д. Эти «грубые» обучающие объекты (те, которые предыдущие итерации деревьев решений предсказывают менее точно) взвешиваются с более высокими весовыми коэффициентами, чем те, в которых предыдущее дерево сделало удовлетворительный прогноз.
[93] Таким образом, первый MLA 220 может использоваться сервером 120 поисковой системы для классификации и/или регрессии и/или ранжирования. Первый MLA 220 может быть основным алгоритмом ранжирования сервера 120 поисковой системы или может быть частью алгоритма ранжирования сервера 120 поисковой системы.
[94] Второй MLA 240 может исполнять модифицированную глубоко структурированную семантическую модель (DSSM). Как правило, назначение второго MLA 240 состоит в том, чтобы обогатить признаки документа так, чтобы эти признаки могли использоваться первым MLA 320 для ранжирования документов на основе показателя релевантности. Второй MLA 240 сконфигурирован с возможностью обучения модифицированной DSSM на по меньшей мере поисковом запросе и наименовании документа. Модифицированная DSSM обычно принимает в качестве входа словесные униграммы (целые слова), словесные биграммы (пары слов) и словесные триграммы (последовательности из трех слов). В некоторых вариантах осуществления модифицированная DSSM также может принимать в качестве входа словесные n-граммы, где n больше 3. Модифицированная DSSM также обучается параметрам пользовательских взаимодействий, таким как, но без ограничения: клик/отсутствие клика, который может быть взвешен по времени пребывания или log (время пребывания), глубина клика, отказ от клика, количество уникальных кликов за сеанс, CTR и т.д. Выход второго MLA 240 может использоваться в качестве входа первым MLA 220. В некоторых вариантах осуществления настоящей технологии первый MLA 220 и второй MLA 240 могут быть реализованы одним MLA.
[95] Третий MLA 260 может быть в общем сконфигурирован с возможностью сравнения части поисковых запросов пары поисковых запросов и генерирования параметров сходства, которые указывают уровень сходства между запросами упомянутой пары. Третий MLA 260, после обучения, также может быть сконфигурирован с возможностью определения прошлого запроса, который схож с отправленным в настоящее время запросом, на основе по меньшей мере анализа сходства прошлого запроса и отправленного в настоящее время запроса.
[96] Третий MLA 260 может быть обучен на наборе обучающих объектов для обучения взаимосвязям между запросами некоторой пары и параметром сходства, которые были сгенерированы на основе схожих результатов поиска, полученных в ответ на запросы, и связанных параметров пользовательских взаимодействий. В качестве неограничивающего примера, третий MLA 260 может использовать текстовое содержимое и признаки запросов, которые являются частью пары, для установления взаимосвязи между запросами и параметром сходства. После обучения третий MLA 260 может затем выбрать схожий запрос, когда ему представлен новый и невиданный запрос, и спрогнозировать параметр сходства, который может использоваться в качестве признака первым MLA 220 и/или вторым MLA 240. В вариантах осуществления, проиллюстрированных в данном документе, третий MLA 260 может быть реализован как нейронная сеть.
[97] Со ссылкой на Фигуру 3 иллюстрируется процедура 300 генерирования аннотаций в соответствии с неограничивающими вариантами осуществления настоящей технологии.
[98] Сервер 140 обучения сконфигурирован с возможностью исполнения процедуры 300 генерирования аннотаций. Процедура 300 генерирования аннотаций может исполняться автономно сервером 140 обучения.
[99] Процедура генерирования аннотаций
[100] Вообще говоря, назначение процедуры 300 генерирования аннотаций состоит в том, чтобы сгенерировать аннотацию для документа, доступного в индексе 124 сервера 120 поисковой системы. Аннотация для документа, как правило, представляет собой представление одного или нескольких запросов, использованных для доступа к документу на сервере 120 поисковой системы, которое может быть представлено в форме вектора аннотации. В некоторых вариантах осуществления настоящей технологии вектор аннотации может дополнительно включать в себя соответствующие параметры пользовательских взаимодействий для одного или нескольких запросов, причем соответствующие параметры пользовательских взаимодействий указывают прошлые пользовательские взаимодействия с документом, предоставленным в ответ на соответствующий один или несколько запросов. В альтернативных вариантах осуществления настоящей технологии вектор аннотации для документа также может включать в себя признаки документа и/или соответствующие параметры запроса, а также другие параметры ранжирования, такие как соответствующие показатели релевантности документа в ответ на соответствующий один или несколько запросов, например.
[101] В контексте настоящей технологии вектор аннотации документа позволяет определить, каким запросам документ является по меньшей мере частично релевантным, и указывает для каждого из этих запросов интерес пользователя к документу.
[102] Сервер 140 обучения извлекает набор документов 302 из индекса 124. То, как сервер 140 обучения выбирает документы, которые будут частью упомянутого набора документов 302, не ограничено. В качестве неограничивающего примера, сервер 140 обучения может выбирать документы, связанные с большинством отправленных запросов, документы, получившие большинство пользовательских взаимодействий, документы из предопределенных «популярных» источников (таких как, например, страница Wikipedia™) или может выбирать документы случайным образом. Следует понимать, что набор документов 302 может быть указанием каждого из документов, векторов признаков документов или любым другим представлением документов, позволяющим их идентификацию в базе 122 данных журнала поиска.
[103] Сервер 140 обучения извлекает из журнала 136 запросов для каждого соответствующего документа 304 из набора документов 302 соответствующий набор запросов 312, причем каждый соответствующий запрос 314 в соответствующем наборе запросов 312 использовался для доступа к соответствующему документу 304 одним или несколькими из множества пользователей (не проиллюстрированы), причем соответствующий документ был представлен в SERP в ответ на соответствующий запрос 314.
[104] В некоторых вариантах осуществления настоящей технологии сервер 140 обучения извлекает из журнала 138 пользовательских взаимодействий набор параметров 322 пользовательских взаимодействий, причем каждый соответствующий параметр 324 пользовательского взаимодействия связан с соответствующим запросом 314 из набора прошлых запросов 312, причем соответствующий параметр 324 пользовательского взаимодействия указывает взаимодействие(я) пользователя с соответствующим документом 304 в ответ на соответствующий запрос 314. Предполагается, что сервер 140 обучения может получить данные пользовательских взаимодействий в необработанном виде и генерировать соответствующий параметр 322 пользовательского взаимодействия для каждого соответствующего запроса 314, например, сервер 140 обучения может получить количество кликов по документу 304 в ответ на соответствующий запрос 314 и получить количество представлений (т.е. число, которое документ 304 был показан в ответ на соответствующий запрос 314), и сгенерировать соответствующий CTR. В других вариантах осуществления сервер 140 обучения может непосредственно получать каждый соответствующий параметр 322 пользовательского взаимодействия, который мог быть сгенерирован ранее, например, сервером 130 отслеживания, и сохранен в журнале 138 пользовательских взаимодействий.
[105] Сервер 140 обучения генерирует соответствующий вектор 344 аннотации для документа 304 на основе соответствующего набора запросов 312. В некоторых вариантах осуществления настоящей технологии соответствующий вектор 344 аннотации генерируется на основе соответствующего набора прошлых запросов 312 и соответствующего набора параметра 322 пользовательского взаимодействия. Кроме того, в некоторых вариантах осуществления настоящей технологии соответствующий вектор 344 аннотации может быть сгенерирован дополнительно на основе признаков документа собственно документа 304 и/или соответствующих признаков запроса из соответствующего набора запросов 312, а также соответствующих показателей релевантности документа 304 в ответ на каждый соответствующий запрос 314. В некоторых вариантах осуществления настоящей технологии соответствующий вектор 344 аннотации может включать в себя только запросы из соответствующего набора прошлых запросов 312, имеющих соответствующий параметр 322 пользовательского взаимодействия выше некоторого предопределенного порога. Дополнительно или в качестве альтернативы, количество запросов в соответствующем векторе 344 аннотации может быть предопределенно, а сервер 140 обучения может включать в себя только предопределенное количество запросов, имеющих наибольшее значение соответствующего параметра 324 пользовательского взаимодействия.
[106] То, как сервер 140 обучения генерирует каждый соответствующий вектор 344 аннотации в соответствии с некоторыми вариантами осуществления настоящей технологии, описано в заявке на патент Российской Федерации №2017146890, озаглавленной «СПОСОБ И СИСТЕМА СОЗДАНИЯ ВЕКТОРОВ АННОТАЦИИ ДЛЯ ДОКУМЕНТА», и поданной 29 декабря 2017 года, содержимое которой включено в настоящий документ посредством ссылки в полном объеме и, следовательно, не будет описываться более подробно в данном документе. Достаточно сказать, что соответствующий вектор 344 аннотации, связанный с документом 304, обеспечивает по меньшей мере указание по меньшей мере части набора прошлых запросов 312, использованных для доступа к этому документу 304. Сервер 140 обучения генерирует набор векторов 342 аннотаций, где каждый соответствующий вектор 344 аннотации связан с соответствующим документом 304 в наборе документов 302.
[107] Сервер 140 обучения сохраняет набор векторов 342 аннотаций в базе 142 данных обучения. Сервер 140 обучения может повторять процедуру 300 генерирования аннотаций с предопределенными интервалами времени для генерирования новых векторов аннотаций для документов в индексе 124 и обновления набора векторов 342 аннотаций (то есть для отражения изменений в каждом соответствующем документе 304, добавления новых запросов, ведущих к соответствующему документу 304, а также обновления набора параметров 322 пользовательских взаимодействий).
[108] Со ссылкой на Фигуру 4 иллюстрируется процедура 400 генерирования первого параметра сходства в соответствии с неограничивающими вариантами осуществления настоящей технологии.
[109] Параметр сходства, основанный на пересекающихся результатах поиска
[110] Процедура 400 генерирования первого параметра сходства исполняется сервером 140 обучения.
[111] Вообще говоря, назначение процедуры 400 генерирования первого параметра сходства состоит в том, чтобы определить уровень сходства между двумя поисковыми запросами, используя в качестве представительной переменной (proxy) пересекающиеся результаты поиска, которые были представлены в ответ на упомянутые поисковые запросы, которые могут быть взвешены соответствующими параметрами пользовательских взаимодействий, указывающими прошлые пользовательские взаимодействия с соответствующими результатами поиска. Для реализации данного назначения сервер 140 обучения сконфигурирован с возможностью: (ii) получения набора запросов и соответствующих результатов поиска, которые были представлены в ответ на каждый из запросов в упомянутом наборе запросов; (ii) генерирования соответствующего вектора запроса для каждого запроса из набора запросов, причем соответствующий вектор запроса включает в себя указание того, что соответствующие результаты поиска были представлены в ответ на соответствующий запрос; (iii) определения параметра сходства для некоторой пары запросов путем сравнения их соответствующих векторов запросов, причем параметр сходства указывает степень сходства между запросами в упомянутой паре; и (iv) сохранения соответствующего параметра сходства в связи с указанием пары запросов.
[112] В некоторых вариантах осуществления настоящей технологии процедура 400 генерирования первого параметра сходства может исполняться автономно, а результаты (то есть соответствующие первые параметры сходства) могут сохраняться в базе 142 данных обучения и/или в базе 122 данных журнала поиска. Соответствующие параметры сходства для пар запросов могут использоваться непосредственно одним или несколькими из множества MLA 200 сервера 120 поисковой системы для, среди прочего, генерирования признаков для документов. Соответствующие параметры сходства для пар запросов также могут использоваться сервером 140 обучения для обучения третьего MLA 260 для генерирования второго параметра сходства для невиданных запросов на основе их текстового содержимого, что будет более подробно объяснено ниже в данном документе.
[113] Сервер 140 обучения извлекает набор запросов 402 из журнала 136 запросов, причем каждый соответствующий запрос 404 из набора запросов 402 был ранее отправлен на сервер 120 поисковой системы одним или несколькими пользователями через множество клиентских устройств 102. В некоторых вариантах осуществления настоящей технологии сервер 140 обучения извлекает набор запросов 402 из сервера 120 поисковой системы после приема указания.
[114] То, как сервер 140 обучения выбирает запросы, которые будут частью упомянутого набора запросов 402, не ограничено. В качестве неограничивающего примера, сервер 140 обучения может выбирать некоторое предопределенное количество наиболее часто отправляемых запросов на сервере 120 поисковой системы, наиболее часто отправляемых последних запросов на сервере 120 поисковой системы (то есть запросов, имеющих наибольшее количество отправлений за предопределенный период времени до текущего времени), запросы, связанные с документами, имеющими большое количество пользовательских взаимодействий на сервере 120 поисковой системы, запросы, имеющие предопределенное количество или предопределенный тип поисковых терминов, и тому подобное.
[115] В некоторых вариантах осуществления настоящей технологии запросы в наборе запросов 402 могут быть извлечены сервером 140 обучения после приема указания некоторого вектора аннотации, связанного с некоторым документом (не проиллюстрирован), и набор запросов 402 может включать в себя некоторый запрос и запросы в упомянутом векторе аннотации (запросы, который были использованы для доступа к данному документу).
[116] Сервер 140 обучения извлекает из журнала 136 запросов для каждого соответствующего запроса 404 из набора запросов 402 соответствующий набор документов 412, связанных с соответствующим запросом 404, причем соответствующий набор документов 412 был представлен в качестве результатов поиска множеству пользователей (не проиллюстрированы) в ответ на соответствующий запрос 404 на сервере 120 поисковой системы. Соответствующий набор документов 412, как правило, включает в себя предопределенное количество документов, таких как наиболее релевантные документы в самом верху 100, которые были представлены в SERP в ответ на соответствующий запрос 404. В других вариантах осуществления набор документов 412 может включать в себя все документы, которые были представлены в качестве результатов поиска в ответ на соответствующий запрос.
[117] В некоторых вариантах осуществления настоящей технологии сервер 140 обучения извлекает для каждого соответствующего набора документов 412, связанных с соответствующим запросом 404, соответствующий набор параметров 422 пользовательских взаимодействий, причем каждый соответствующий параметр 424 пользовательского взаимодействия указывает прошлые взаимодействия со стороны пользователей с соответствующим документом 414 в ответ на соответствующий запрос 404. Предполагается, что сервер 140 обучения может получить данные пользовательских взаимодействий в необработанном виде и сгенерировать соответствующий параметр 424 пользовательского взаимодействия для каждого соответствующего документа 414, например, сервер 140 обучения может получить количество кликов по соответствующему документу 414 в ответ на соответствующий запрос 404 и получить количество представлений (т.е. число, которое соответствующий документ 414 был показан в ответ на соответствующий запрос 404), и сгенерировать соответствующий CTR. В других вариантах осуществления сервер 140 обучения может непосредственно получить каждый соответствующий параметр 322 пользовательского взаимодействия, который мог быть вычислен ранее, в качестве примера сервером 130 отслеживания, и сохранен в журнале 138 пользовательских взаимодействий.
[118] Сервер 140 обучения генерирует для каждого запроса 404 из набора запросов 402 на основе соответствующего набора документов 412 соответствующий вектор 434 запроса. В некоторых вариантах осуществления настоящей технологии сервер 140 обучения генерирует соответствующий вектор 434 запроса на основе соответствующего набора документов 412 и набора параметров 422 пользовательских взаимодействий.
[119] То, как сервер 140 обучения генерирует каждый соответствующий вектор 434 запроса в соответствии с некоторыми вариантами осуществления настоящей технологии, описано в заявке на патент Российской Федерации №2018122689, озаглавленной «СПОСОБ И СИСТЕМА РАНЖИРОВАНИЯ РЕЗУЛЬТАТОВ ПОИСКА С ИСПОЛЬЗОВАНИЕМ АЛГОРИТМА МАШИННОГО ОБУЧЕНИЯ», поданной 21 июня 2017 года, содержимое которой включено в настоящий документ посредством ссылки в полном объеме и, следовательно, не будет описываться более подробно в данном документе. Достаточно сказать, что назначение соответствующего вектора 434 запроса состоит в том, чтобы представлять информацию о результатах поиска и, необязательно, параметрах пользовательских взаимодействий, полученных в ответ на соответствующий запрос 404, в векторе таким образом, чтобы его можно было сравнить с другим соответствующим вектором, связанным с другим запросом, и чтобы сходство между этими запросами могло оцениваться по соответствующим векторам запросов как представительная переменная.
[120] Сервер 140 обучения выводит набор векторов 432 запросов, причем каждый соответствующий вектор 434 запроса связан с соответствующим запросом 404 из набора запросов 402.
[121] В некоторых вариантах осуществления настоящей технологии сервер 140 обучения сохраняет в базе 142 данных обучения набор векторов 432 запросов в связи с набором 402 запросов, причем каждый соответствующий вектор 434 запроса связан с соответствующим запросом 404.
[122] Сгенерировав соответствующие векторы 434 запросов, сервер 140 обучения сравнивает соответствующие запросы 404 в наборе запросов 402 на основе соответствующих векторов 434 запросов.
[123] Сервер 140 обучения генерирует соответствующий первый параметр 442 сходства между первым некоторым запросом и вторым некоторым запросом (не проиллюстрирован) на основе первого вектора 444 запроса (представляющего упомянутый первый запрос) и второго вектора 446 запроса (представляющего упомянутый второй запрос). Соответствующий первый параметр 442 сходства указывает степень сходства между упомянутым первым запросом и упомянутым вторым запросом, используя соответствующие результаты поиска упомянутого первого запроса и упомянутого второго запроса (не проиллюстрирован) в качестве представительной переменной. Таким образом, вообще говоря, чем больше общих результатов поиска имеют упомянутый первый запрос и упомянутый второй запрос, тем выше первый параметр 442 сходства, и наоборот. В некоторых вариантах осуществления настоящей технологии аналогичные результаты поиска могут быть взвешены соответствующими связанными параметрами 424 пользовательских взаимодействий.
[124] В качестве неограничивающего примера, первый параметр 442 подобия может быть сгенерирован посредством определения косинусного сходства между первым вектором 444 запроса и вторым вектором 446 запроса.
[125] Сервер 140 обучения генерирует соответствующий обучающий объект 474, причем соответствующий обучающий объект 474 включает в себя указание первого запроса 484, указание второго запроса 486 и соответствующий первый параметр 482 сходства.
[126] Сервер 140 обучения может генерировать соответствующий первый параметр 482 сходства для каждой возможной пары запросов в наборе 402 запросов на основе соответствующих векторов 434 запросов в наборе векторов 432 запросов аналогичным образом, описанным выше, чтобы получить набор обучающих объектов 472.
[127] Сервер 140 обучения сохраняет набор обучающих объектов 472 в базе 142 данных обучения.
[128] Со ссылкой на Фигуру 5 иллюстрируется процедура 500 обучения третьего MLA 260 и процедура 550 генерирования второго параметра сходства, исполняемая третьим MLA 260, в соответствии с неограничивающими вариантами осуществления настоящей технологии.
[129] Процедура 500 обучения исполняется сервером 140 обучения.
[130] Параметр сходства на основе текстового содержимого
[131] Сервер 140 обучения сконфигурирован с возможностью исполнения процедуры 500 обучения для обучения третьего MLA 260 для определения параметра сходства между двумя запросами на основе текстового содержимого запросов. Третий MLA 260 обучается на наборе обучающих объектов 472, ранее сгенерированных во время процедуры 400 генерирования первого параметра сходства.
[132] Сервер 140 обучения извлекает из базы 142 данных обучения набор обучающих объектов 472, причем некоторый соответствующий обучающий объект 474 из набора обучающих объектов включает в себя: указание некоторого первого запроса 484, указание некоторого второго запроса 486 и соответствующий первый параметр 482 сходства, причем соответствующий первый параметр 482 сходства был вычислен в ходе процедуры 400 генерирования первого параметра сходства, причем соответствующий первый параметр 482 сходства указывает степень сходства между упомянутым первым запросом 484 и упомянутым вторым запросом 486.
[133] Сервер 140 обучения генерирует на основе указания упомянутого первого запроса 484 и указания упомянутого второго запроса 486 в обучающем объекте 474, первый вектор 514 слов и второй вектор 516 слов, соответственно. Первый вектор 514 слов и второй вектор 516 слов генерируются посредством исполнения алгоритма вложения (векторного представления) слов (не проиллюстрирован).
[134] Как правило, назначение алгоритма вложения слов состоит в том, чтобы представить слово как вектор действительных чисел, используя набор языкового моделирования и методик обучения признаков в обработке естественного языка (NLP). Тип алгоритма вложения слов не ограничен и некоторые примеры включают в себя, но без ограничения: word2vec или латентное размещение Дирихле (LDA). Выбранный один или несколько алгоритмов вложения слов сконфигурирован с возможностью создания вектора слов для некоторого запроса, так что запросы могут сравниваться через их векторы слов. Предполагается, что в некоторых вариантах осуществления настоящей технологии алгоритм вложения слов может исполняться другим обученным MLA (не проиллюстрирован).
[135] Сервер 140 обучения обучает третий MLA 260 на наборе обучающих объектов 472, чтобы определить соответствующий второй параметр 532 сходства, причем соответствующий второй параметр 532 сходства указывает для каждого обучающего объекта 474 степень сходства между первым запросом 484 и вторым запросом 486 на основе первого вектора 514 слов и второго вектора 516 слов. Для реализации этого назначения сервер 140 обучения выдает в качестве ввода первый вектор 514 слов (представляющий первый запрос 484) и второй вектор 516 слов (представляющий второй запрос 486) и в качестве метки соответствующий первый параметр 482 сходства между упомянутым первым запросом 484 и упомянутым вторым запросом 486, причем соответствующий первый параметр 482 сходства был вычислен на основе пересекающихся результатов поиска в ходе процедуры 400 генерирования первого параметра сходства.
[136] Третий MLA 260 обучается генерировать соответствующий второй параметр 532 сходства на основе векторов слов, которые были сгенерированы с помощью алгоритма вложения слов. Как сервер 140 обучения генерирует соответствующий второй параметр 532 сходства на основе векторов слов в соответствии с некоторыми вариантами осуществления настоящей технологии, описано в заявке на патент Российской Федерации №2018122689, озаглавленной «СПОСОБ И СИСТЕМА РАНЖИРОВАНИЯ РЕЗУЛЬТАТОВ ПОИСКА С ИСПОЛЬЗОВАНИЕМ АЛГОРИТМА МАШИННОГО ОБУЧЕНИЯ», поданной 21 июня 2017 года, содержимое которой включено в настоящий документ посредством ссылки в полном объеме и, следовательно, не будет описываться более подробно в данном документе.
[137] Вообще говоря, соответствующий второй параметр 532 сходства, сгенерированный на основе текстового содержимого запросов (то есть соответствующих векторов слов), должен быть гомологичен первому параметру 482 сходства, вычисленному на основе соответствующих результатов поиска запросов. Кроме того, после процедуры 500 обучения третий MLA 260 может генерировать второй параметр 532 сходства для двух запросов исключительно на основе соответствующих векторных представлений слов, что может позволить оценить степень сходства между этими запросами, которые не были отправлены на сервер 120 поисковой системы в прошлом или для которых отсутствуют результаты поиска и/или пользовательские взаимодействия.
[138] После процедуры 500 обучения третий MLA 260 сервера 120 поисковой системы исполняет процедуру 550 генерирования второго параметра сходства.
[139] Третий MLA 260 принимает первый текущий запрос 554, для которого необходимо оценить сходство с по меньшей мере одним другим прошлым запросом. Третий MLA 260 принимает второй прошлый запрос 556, который является прошлым запросом, ранее отправленным на сервер 120 поисковой системы. Второй прошлый запрос 556 мог быть извлечен сервером 120 поисковой системы из базы 122 данных журнала поиска например на основе анализа вектора аннотации (не проиллюстрирован).
[140] Третий MLA 260 генерирует посредством алгоритма вложения слов первый текущий вектор 564 слов и второй текущий вектор 566 слов. Следует отметить, что первый текущий запрос 554 и/или второй прошлый запрос 556 ранее могли на «рассматриваться» третьим MLA 260, т.е. третий MLA 260 не обучался на первом текущем запросе 552 и/или втором прошлом запросе 556.
[141] Третий MLA 260 вычисляет второй параметр 572 сходства между первым текущим запросом 552 и вторым прошлым запросом 556 на основе первого текущего вектора 562 слов и второго текущего вектора 566 слов.
[142] Затем третий MLA 260 может сохранять и/или передавать второй параметр 572 сходства на сервер 120 поисковой системы.
[143] Пояснив, со ссылкой на Фигуры 3-5, то, как векторы аннотаций генерируются и сходство между запросами определяется, далее со ссылкой на Фигуру 6 будет описана процедура 600 генерирования значения признака в соответствии с неограничивающими вариантами осуществления настоящей технологии.
[144] Процедура 600 генерирования значения признака исполняется сервером 120 поисковой системы. Процедура 600 генерирования значения признака может исполняться в режиме реального времени при приеме нового запроса 602 от одного из множества клиентских устройств 102. В альтернативных вариантах осуществления настоящей технологии процедура 600 генерирования значения признака может быть исполнена в автономном режиме, в качестве примера сервером 140 обучения, до приема нового запроса 602 от одного из множества клиентских устройств 102.
[145] Сервер 120 поисковой системы принимает новый запрос 602 от электронного устройства, такого как первое клиентское устройство 104.
[146] Сервер 120 поисковой системы извлекает из индекса 124 на основе терминов нового запроса 602 набор текущих документов 610, релевантных новому запросу 602, причем каждый текущий документ 612 из набора текущих документов 610 имеет первое множество признаков 622.
[147] Сервер 120 поисковой системы или первый MLA 220 выбирает документ 614 (который будет упоминаться как выбранный документ 614) в наборе текущих документов 610, причем выбранный документ 614 не имеет соответствующего значения для некоторого признака 624 из первого множества признаков 622. Упомянутый признак 624 может быть признаком, непосредственно используемым первым MLA 220 для ранжирования выбранного документа 614, или может быть признаком, который используется вторым MLA 240 для генерирования другого признака (не проиллюстрирован), который может быть, в качестве неограничивающего примера, прогнозируемым признаком, который может использоваться первым MLA 220 для ранжирования выбранного документа 614. В качестве еще одного неограничивающего примера, второй MLA 240 может быть неспособен генерировать значение для упомянутого признака 624 на основе, по меньшей мере частично, прошлых пользовательских взаимодействий, поскольку прошлые пользовательские взаимодействия ниже некоторого порога (например, прошлых пользовательских взаимодействий не достаточно). Упомянутый признак 624 может быть зависимым от запроса признаком или прогнозируемым параметром пользовательского взаимодействия.
[148] Достаточно сказать, что из-за отсутствия значения для упомянутого признака 624, в первом MLA 220 может отсутствовать информация для ранжирования выбранного документа 614 в ответ на новый запрос 602. Кроме того, в других вариантах осуществления настоящей технологии упомянутый признак 624 может быть показателем релевантности выбранного документа 614.
[149] Сервер 120 поисковой системы извлекает из базы 142 данных обучения на основе выбранного документа 614 вектор 632 аннотации, связанный с выбранным документом 614. Вектор 632 аннотации был сгенерирован в ходе процедуры 300 генерирования аннотаций и включает в себя: указание одного или нескольких прошлых запросов 634, которые были использованы для доступа к выбранному документу 614 на сервере 120 поисковой системы, и в некоторых вариантах осуществления настоящей технологии соответствующие параметры 636 пользовательских взаимодействий для каждого из одного или нескольких прошлых запросов 634.
[150] В альтернативных вариантах осуществления настоящей технологии, в которых векторы аннотаций ранее не были сгенерированы, сервер 120 поисковой системы извлекает из журнала 136 запросов один или несколько прошлых запросов 634, которые были использованы для доступа к выбранному документу 614 на сервере поисковой системы, и, необязательно, получает из журнала 138 пользовательских взаимодействий соответствующие параметры пользовательских взаимодействий для одного или нескольких прошлых запросов 634, связанных с выбранным документом 614.
[151] Сервер 120 поисковой системы генерирует: (i) новый вектор 642 запроса для нового запроса 602 и (ii) соответствующие векторы 644 запросов для каждого из одного или нескольких прошлых запросов 634, которые были использованы для доступа к выбранному документу 614 на основе одного или нескольких прошлых запросов 634 в векторе 632 аннотации и (iii) соответствующие параметры 646 сходства между новым запросом 602 и одним или несколькими прошлыми запросами 634 на основе упомянутого вектора 642 запроса и соответствующих векторов 644 запросов.
[152] В некоторых вариантах осуществления настоящей технологии сервер 120 поисковой системы может извлечь по меньшей мере часть соответствующих векторов 644 запросов и новый вектор 642 запроса из базы 142 данных обучения, если соответствующие векторы 644 запросов, новый вектор 642 запроса были ранее сгенерированы сервером 140 обучения в ходе процедуры 400 генерирования первого параметра сходства. Дополнительно или альтернативно, сервер 120 поисковой системы может побудить сервер 140 обучения к исполнению процедуры 400 генерирования первого параметра сходства, чтобы сгенерировать соответствующие векторы 644 запросов и новый вектор 642 запроса.
[153] Сервер 120 поисковой системы может затем определить соответствующие параметры 646 сходства между новым запросом 602 и одним или несколькими прошлыми запросами 634 на основании упомянутого вектора 642 запроса и соответствующих векторов 644 запросов, в качестве неограничивающего примера, путем определения косинусного сходства.
[154] В других вариантах осуществления настоящей технологии сервер 120 поисковой системы может использовать третий MLA 260, который был обучен в ходе процедуры 500 обучения, для генерирования соответствующих векторов 644 запросов и нового вектора 642 запроса путем исполнения алгоритма вложения слов, и генерирования соответствующих параметров 646 сходства между новым запросом 602 и одним или несколькими прошлыми запросами 634 на основе упомянутого вектора 642 запроса и соответствующих векторов 644 запросов путем исполнения процедуры 550 генерирования второго параметра сходства.
[155] Затем сервер 120 поисковой системы выбирает по меньшей мере один прошлый запрос (которые будут упоминаться как выбранные прошлые запросы 648) на основе соответствующих параметров 650 сходства. В некоторых вариантах осуществления настоящей технологии выбранные прошлые запросы 648 могут быть выбраны на основе того, что их соответствующие параметры 650 сходства превышают некоторый предопределенный порог. Дополнительно или в качестве альтернативы сервер 120 поисковой системы может выбирать выбранные прошлые запросы 648 на основе того, что соответствующие параметры 650 сходства превышают все другие соответствующие параметры 646 сходства. Количество прошлых запросов в выбранных прошлых запросах 648 может быть предопределено или может включать в себя единственный прошлый запрос. В последнем примере этот единственный прошлый запрос мог быть выбран на основе того, что его соответствующий параметр сходства с новым запросом 602 превышает другие соответствующие параметры сходства.
[156] Сервер 120 поисковой системы извлекает, основываясь на выбранных прошлых запросах 648, соответствующие значения 652 упомянутого признака 624 для выбранного документа 614. Следует отметить, что в некоторых вариантах осуществления настоящей технологии соответствующие значения 652 упомянутого признака 624 для выбранного документа 614 могут быть извлечены до генерирования соответствующих параметров 646 сходства.
[157] Затем MLA 126 может сгенерировать значение упомянутого признака 624 для выбранного документа 614 в ответ на новый запрос 602 на основе: соответствующих параметров 650 сходства и соответствующих значений 652 упомянутого признака 624 для выбранного документа 614.
[158] В качестве неограничивающего примера, первый MLA 220 и/или второй MLA 240 могут усреднять соответствующие значения 652 упомянутого признака 624, взвешенного соответствующими параметрами 650 сходства. В качестве другого неограничивающего примера, первый MLA 220 может непосредственно использовать соответствующие значения 652 упомянутого признака 624 в качестве значения упомянутого признака 624 для выбранного документа 614 в ответ на новый запрос 602. В качестве другого неограничивающего примера, первый MLA 220 и/или второй MLA 240 могут применять функцию другого типа или использовать другой MLA для генерирования значения упомянутого признака 624 для выбранного документа 614 на основе: соответствующих параметров 650 сходства и соответствующих значений 652 упомянутого признака 624 для выбранного документа 614.
[159] Первый MLA 220 затем ранжирует набор текущих документов 610 на основе первого множества признаков 622, причем выбранный документ 614 ранжируется, основываясь, по меньшей мере частично, на значении упомянутого признака 624, которое было сгенерировано на основе соответствующих параметров 650 сходства и соответствующих значений 652 упомянутого признака 624, чтобы получить окончательный ранжированный список документов 662.
[160] Затем сервер 120 поисковой системы генерирует SERP 664, включающую в себя окончательный ранжированный список документов 662, и передает SERP 664 первому клиентскому устройству 104.
[161] Следует отметить, что более чем один документ может не иметь значений для определенного признака, а другие документы могут не иметь значений для других признаков. Процедура 600 генерирования значения признака может быть исполнена аналогичным образом для каждого из отсутствующих значений.
[162] На Фигуре 7 проиллюстрирована блок-схема способа 700 для генерирования некоторого признака для ранжирования документа в ответ на некоторый запрос, причем документ не имеет значения для упомянутого признака для данного запроса, причем способ 700 исполняется в соответствии с неограничивающими вариантами осуществления настоящей технологии.
[163] Способ 700 исполняется сервером 120 поисковой системы и сервером 140 обучения.
[164] Способ 700 начинается с этапа 702.
[165] ЭТАП 702: прием некоторого запроса
[166] На этапе 702 сервер 120 поисковой системы принимает новый запрос 602 от электронного устройства, такого как первое клиентское устройство 104.
[167] Способ 700 затем переходит на этап 704.
[168] ЭТАП 704: генерирование набора документов, релевантных упомянутому запросу, причем набор документов имеет множество признаков
[169] На этапе 704 сервер 120 поисковой системы извлекает из индекса 124 на основе терминов нового запроса 602 набор текущих документов 610, релевантных новому запросу 602, причем каждый текущий документ 612 из набора текущих документов 610 имеет первое множество признаков 622.
[170] Способ 700 затем переходит на этап 706.
[171] ЭТАП 706: выбор по меньшей мере одного документа из набора документов, причем упомянутый по меньшей мере один документ не имеет соответствующего значения для некоторого признака из множества признаков;
[172] На этапе 706 сервер 120 поисковой системы выбирает документ 614 (который будет упоминаться как выбранный документ 614) в наборе текущих документов 610, причем выбранный документ 614 не имеет соответствующего значения для некоторого признака 624 из первого множества признаков 622. Упомянутый признак 624 может быть признаком, непосредственно используемым первым MLA 220 для ранжирования выбранного документа 614 или может быть признаком, который используется вторым MLA 240 для генерирования другого признака (не проиллюстрирован), который затем может использоваться первым MLA 220 для ранжирования выбранного документа 614.
[173] Способ 700 затем переходит на этап 708.
[174] ЭТАП 708: извлечение набора прошлых запросов, которые были отправлены на сервер, причем каждый прошлый запрос из набора прошлых запросов представлял по меньшей мере один документ в качестве соответствующего результата поиска на соответствующей странице результатов поиска (SERP)
[175] На этапе 708 сервер 120 поисковой системы извлекает из базы 142 данных обучения на основе выбранного документа 614 вектор 632 аннотации, связанный с выбранным документом 614. Вектор 632 аннотации был сгенерирован в ходе процедуры 300 генерирования аннотаций и включает в себя: указание одного или нескольких прошлых запросов 634, которые были использованы для доступа к выбранному документу 614 на сервере 120 поисковой системы, и в некоторых вариантах осуществления настоящей технологии соответствующие параметры 636 пользовательских взаимодействий для каждого из одного или нескольких прошлых запросов 634.
[176] В альтернативных вариантах осуществления настоящей технологии, в которых векторы аннотаций ранее не были сгенерированы, сервер 120 поисковой системы извлекает из журнала 136 запросов один или несколько прошлых запросов 634, которые были использованы для доступа к выбранному документу 614 на сервере поисковой системы, и, необязательно, получает из журнала 138 пользовательских взаимодействий соответствующие параметры пользовательских взаимодействий для одного или нескольких прошлых запросов 634.
[177] Способ 700 затем переходит на этап 710.
[178] ЭТАП 710: определение соответствующего параметра сходства между упомянутым запросом и каждым соответствующим прошлым запросом из набора прошлых запросов
[179] На этапе 710 сервер 120 поисковой системы генерирует: (i) новый вектор 642 запроса для нового запроса 602 и (ii) соответствующие векторы 644 запросов для каждого из одного или нескольких прошлых запросов 634, которые были использованы для доступа к выбранному документу 614 на основе одного или нескольких прошлых запросов 634 в векторе 632 аннотации.
[180] В некоторых вариантах осуществления настоящей технологии сервер 120 поисковой системы может извлечь по меньшей мере часть соответствующих векторов 644 запросов и новый вектор 642 запроса из базы 142 данных обучения, если соответствующие векторы 644 запросов, новый вектор 642 запроса были ранее сгенерированы сервером 140 обучения в ходе процедуры 400 генерирования первого параметра сходства. Дополнительно или альтернативно, сервер 120 поисковой системы может побудить сервер 140 обучения к исполнению процедуры 400 генерирования первого параметра сходства, чтобы сгенерировать соответствующие векторы 644 запросов и новый вектор 642 запроса.
[181] Сервер 120 поисковой системы может затем определить соответствующие параметры 646 сходства между новым запросом 602 и одним или несколькими прошлыми запросами 634 на основании упомянутого вектора 642 запроса и соответствующих векторов 644 запросов, в качестве примера, путем определения косинусного сходства.
[182] В других вариантах осуществления настоящей технологии сервер 120 поисковой системы может использовать третий MLA 260, который был обучен в ходе процедуры 500 обучения, для генерирования соответствующих векторов 644 запросов и нового вектора 642 запроса путем исполнения алгоритма вложения слов, и вычисления соответствующих параметров 646 сходства между новым запросом 602 и одним или несколькими прошлыми запросами 634 на основе упомянутого вектора 642 запроса и соответствующих векторов 644 запросов путем исполнения процедуры 550 генерирования второго параметра сходства.
[183] Способ 700 затем переходит на этап 712.
[184] ЭТАП 712: извлечение для по меньшей мере одного прошлого запроса из набора прошлых запросов соответствующего значения упомянутого признака для упомянутого по меньшей мере одного документа
[185] На этапе 712 сервер 120 поисковой системы выбирает по меньшей мере один прошлый запрос на основе соответствующих параметров 650 сходства в качестве части выбранных прошлых запросов 648. В некоторых вариантах осуществления настоящей технологии выбранные прошлые запросы 648 могут быть выбраны на основе того, что их соответствующие параметры 650 сходства превышают некоторый предопределенный порог. Дополнительно или в качестве альтернативы сервер 120 поисковой системы может выбирать выбранные прошлые запросы 648 на основе того, что соответствующие параметры 650 сходства превышают все другие соответствующие параметры 646 сходства. Количество прошлых запросов в выбранных прошлых запросах 648 может быть предопределено или может включать в себя единственный прошлый запрос.
[186] На этапе 710 сервер 120 поисковой системы извлекает соответствующие значения 652 упомянутого признака 624 для выбранного документа 614 относительно выбранных прошлых запросов 648.
[187] Способ 700 затем переходит на этап 714.
[188]
[189] ЭТАП 714: генерирование соответствующего значения упомянутого признака для по меньшей мере одного документа, основываясь, по меньшей мере частично, на:
соответствующем параметре сходства по меньшей мере одного прошлого запроса из набора прошлых запросов, и
соответствующем значении для упомянутого признака по меньшей мере одного прошлого запроса из набора прошлых запросов.
[190] Затем MLA 126 может сгенерировать значение упомянутого признака 624 для выбранного документа 614 в ответ на новый запрос 602 на основе: соответствующих параметров 650 сходства и соответствующих значений 652 упомянутого признака 624 для выбранного документа 614.
[191]
[192] Способ 700 затем переходит на этап 716.
[193] ЭТАП 716: ранжирование набора документов для получения ранжированного списка документов, причем ранжирование основано на множестве признаков, упомянутый по меньшей мере один документ ранжируется на основе, по меньшей мере частично, соответствующего значения упомянутого признака
[194] На этапе 716 первый MLA 220 затем ранжирует набор текущих документов 610 на основе первого множества признаков 622, причем выбранный документ 614 ранжируется, основываясь, по меньшей мере частично, на значении упомянутого признака 624, которое было сгенерировано на основе соответствующих параметров 650 сходства и соответствующих значений 652 упомянутого признака 624, чтобы получить окончательный ранжированный список документов 662.
[195] Способ 700 затем переходит на этап 718.
[196] ЭТАП 718: передача на электронное устройство ранжированного списка документов, подлежащего представлению в качестве SERP.
[197] На этапе 718 сервер 120 поисковой системы затем генерирует SERP 664, включающую в себя окончательный ранжированный список документов 662, и передает SERP 664 первому клиентскому устройству 104.
[198] Затем способ 700 завершается.
[199] Специалистам в данной области техники должно быть понятно, что по меньшей мере некоторые варианты осуществления настоящей технологии направлены на расширение арсената технических средств для решения конкретной технической задачи, а именно на улучшение ранжирования набора результатов поиска в ответ на некоторый запрос путем генерирования значения для некоторого признака для по меньшей мере одного документа, не имеющего соответствующего значения для упомянутого признака. Значение для упомянутого признака по меньшей мере одного документа относительно упомянутого запроса может быть сгенерировано на основе схожих запросов, которые были использованы для представления упомянутого по меньшей мере одного документа в качестве результата поиска, что может позволить улучшить ранжирование упомянутого по меньшей мере одного документа в наборе результатов поиска. Такие технические решения могут позволить сэкономить ресурсы, например, пространство хранения, пропускную способность и время, на клиентских устройствах, а также на сервере поисковой системы.
[200] Следует четко понимать, что не все технические эффекты, упомянутые в данном документе, должны обеспечиваться в каждом варианте осуществления настоящей технологии. Например, варианты осуществления настоящей технологии могут быть реализованы без обеспечения пользователю некоторых из упомянутых технических эффектов, в то время как другие варианты осуществления могут быть реализованы с обеспечением пользователю других технических эффектов или без обеспечения каких-либо технических эффектов.
[201] Некоторые из упомянутых этапов, а также прием/отправка сигналов хорошо известны в данной области техники и, как таковые, были опущены в некоторых частях этого описания для простоты. Сигналы могут отправляться/приниматься с использованием оптических средств (например, оптоволоконного соединения), электронных средств (например, проводного или беспроводного соединения) и механических средств (например, средств, основанных на давлении, на температуре, или любых других подходящих средств, основанных на некотором физическом параметре).
[202] Модификации и улучшения вышеописанных реализаций настоящей технологии могут стать очевидными для специалистов в данной области техники. Предшествующее описание предназначено для того, чтобы быть примерным, а не ограничивающим. Поэтому подразумевается, что объем настоящей технологии ограничен только объемом прилагаемой формулы изобретения.

Claims (101)

1. Реализуемый компьютером способ ранжирования по меньшей мере одного документа в ответ на запрос с использованием алгоритма машинного обучения (MLA), исполняемого сервером, при этом способ исполняется сервером, причем сервер подключен к базе данных журнала поиска, сервер подключен к электронному устройству по сети связи, причем способ содержит:
прием сервером упомянутого запроса;
генерирование сервером набора документов, релевантных упомянутому запросу, причем набор документов имеет множество признаков;
выбор сервером по меньшей мере одного документа из набора документов, причем по меньшей мере один документ не имеет соответствующего значения для некоторого признака из множества признаков;
извлечение из базы данных журнала поиска набора прошлых запросов, которые были обеспечены на сервер, причем каждый прошлый запрос из набора прошлых запросов представлял по меньшей мере один документ в качестве соответствующего результата поиска на соответствующей странице результатов поиска (SERP);
извлечение из базы данных журнала поиска для каждого соответствующего прошлого запроса соответствующего значения упомянутого признака для по меньшей мере одного документа;
определение сервером соответствующего параметра сходства между упомянутым запросом и каждым соответствующим прошлым запросом из набора прошлых запросов;
генерирование сервером соответствующего значения упомянутого признака для по меньшей мере одного документа, основываясь, по меньшей мере частично, на:
соответствующем параметре сходства по меньшей мере одного прошлого запроса из набора прошлых запросов, и
соответствующем значении для упомянутого признака по меньшей мере одного прошлого запроса из набора прошлых запросов;
ранжирование, посредством алгоритма машинного обучения, набора документов для получения ранжированного списка документов, причем ранжирование основано на множестве признаков, по меньшей мере один документ ранжируется на основе, по меньшей мере частично, соответствующего значения упомянутого признака; и
передачу на электронное устройство ранжированного списка документов, подлежащего представлению в качестве страницы результатов поиска.
2. Способ по п. 1, в котором
каждый соответствующий документ из набора документов, релевантных упомянутому запросу, имеет соответствующую аннотацию, причем соответствующая аннотация включает в себя:
по меньшей мере один соответствующий прошлый поисковый запрос, использованный для доступа к соответствующему документу на сервере поисковой системы; и в котором
извлечение набора прошлых запросов основано на соответствующей аннотации по меньшей мере одного документа.
3. Способ по п. 1, в котором
способ дополнительно содержит, до определения соответствующего параметра сходства:
извлечение из базы данных журнала поиска соответствующего набора прошлых документов для каждого соответствующего прошлого запроса из набора прошлых запросов, причем соответствующий набор прошлых документов был представлен в качестве соответствующих результатов поиска в ответ на соответствующий прошлый запрос; и при этом
определение соответствующего параметра сходства между упомянутым запросом и каждым соответствующим прошлым запросом из набора прошлых запросов основано на:
наборе документов, релевантных упомянутому запросу, и
соответствующем наборе документов соответствующего прошлого запроса.
4. Способ по п. 3, в котором
по меньшей мере подмножество набора документов связано с соответствующими параметрами пользовательских взаимодействий; и в котором
каждый соответствующий документ из соответствующего набора прошлых документов для каждого соответствующего запроса связан с соответствующими параметрами прошлых пользовательских взаимодействий; и в котором
определение соответствующего параметра сходства дополнительно основано на:
соответствующих параметрах пользовательских взаимодействий для соответствующего запроса подмножества документов и
соответствующих параметрах пользовательских взаимодействий для соответствующего набора прошлых документов.
5. Способ по п. 1, в котором
сервер исполняет второй алгоритм машинного обучения, причем второй алгоритм машинного обучения был обучен для определения параметра сходства между запросами на основе их текстового содержимого; и
определение соответствующего параметра сходства исполняется вторым алгоритмом машинного обучения.
6. Способ по п. 5, при этом способ дополнительно содержит,
во время фазы обучения:
извлечение из базы данных журнала поиска множества поисковых запросов, обеспеченных на сервер поисковой системы, причем каждый из множества поисковых запросов связан с соответствующим набором результатов поиска, каждый соответствующий результат поиска из соответствующего набора результатов поиска связан с по меньшей мере одним соответствующим параметром пользовательского взаимодействия;
генерирование, для каждого запроса из множества поисковых запросов, соответствующего вектора запроса, основанного на по меньшей мере одном соответствующем параметре пользовательского взаимодействия, связанном с каждым результатом поиска из соответствующего набора результатов поиска;
генерирование, для каждой возможной пары запросов в пределах множества поисковых запросов, на основе соответствующих векторов запросов для каждого запроса из пары запросов, соответствующего параметра сходства, причем соответствующий параметр сходства указывает степень сходства между запросами в паре запросов;
генерирования набора обучающих объектов, причем каждый обучающий объект из набора обучающих объектов включает в себя указание соответствующей одной из каждой возможной пары запросов и соответствующего параметра сходства;
обучение второго алгоритма машинного обучения на наборе обучающих объектов для определения параметра сходства новой пары запросов на основе текстового содержимого каждой новой пары запросов, причем по меньшей мере один запрос из новой пары запросов не был включен в набор обучающих объектов.
7. Способ по п. 1, при этом способ дополнительно содержит до генерирования соответствующего значения упомянутого признака:
выбор сервером по меньшей мере одного соответствующего прошлого запроса на основе того, что соответствующий параметр сходства превышает предопределенный порог.
8. Способ по п. 1, в котором
извлечение соответствующего значения упомянутого признака по меньшей мере одного документа для каждого соответствующего прошлого запроса дополнительно содержит:
извлечение соответствующего показателя релевантности по меньшей мере одного документа соответствующему прошлому запросу; и в котором
генерирование соответствующего значения упомянутого признака дополнительно основано на соответствующем показателе релевантности.
9. Способ по п. 8, в котором генерирование соответствующего значения упомянутого признака для по меньшей мере одного документа дополнительно основано на:
соответствующем значении по меньшей мере одного другого признака из множества признаков для данного документа.
10. Способ по п. 9, в котором данный признак является одним из:
зависящего от запроса признака, и
параметра пользовательского взаимодействия.
11. Система ранжирования по меньшей мере одного документа в ответ на запрос с использованием алгоритма машинного обучения (MLA), исполняемого системой, при этом система подключена к базе данных журнала поиска, система подключена к электронному устройству, причем система содержит:
процессор;
долговременный считываемый компьютером носитель, содержащий инструкции;
причем процессор, при исполнении инструкций, сконфигурирован с возможностью:
приема упомянутого запроса;
генерирования набора документов, релевантных упомянутому запросу, причем набор документов имеет множество признаков;
выбора по меньшей мере одного документа из набора документов, причем упомянутый по меньшей мере один документ не имеет соответствующего значения для признака из множества признаков;
извлечения из базы данных журнала поиска набора прошлых запросов, которые были обеспечены на сервер, причем каждый прошлый запрос из набора прошлых запросов представлял по меньшей мере один документ в качестве соответствующего результата поиска на соответствующей странице результатов поиска (SERP);
извлечения из базы данных журнала поиска для каждого соответствующего прошлого запроса, соответствующего значения упомянутого признака для по меньшей мере одного документа;
определения соответствующего параметра сходства между упомянутым запросом и каждым соответствующим прошлым запросом из набора прошлых запросов;
генерирования соответствующего значения упомянутого признака для по меньшей мере одного документа, основываясь, по меньшей мере частично, на:
соответствующем параметре сходства по меньшей мере одного прошлого запроса из набора прошлых запросов, и
соответствующем значении для упомянутого признака по меньшей мере одного прошлого запроса из набора прошлых запросов;
ранжирования, посредством алгоритма машинного обучения, набора документов для получения ранжированного списка документов, причем ранжирование основано на множестве признаков, по меньшей мере один документ ранжируется на основе, по меньшей мере частично, соответствующего значения упомянутого признака; и
передачи на электронное устройство ранжированного списка документов, подлежащего представлению в качестве страницы результатов поиска.
12. Система по п. 11, в которой
каждый соответствующий документ из набора документов, релевантных упомянутому запросу, имеет соответствующую аннотацию, причем соответствующая аннотация включает в себя:
по меньшей мере один соответствующий прошлый поисковый запрос, использованный для доступа к соответствующему документу на сервере поисковой системы; и
в которой извлечение набора прошлых запросов основано на соответствующей аннотации по меньшей мере одного документа.
13. Система по п. 11, в которой
процессор дополнительно сконфигурирован с возможностью, до определения соответствующего параметра сходства:
извлечения из базы данных журнала поиска соответствующего набора прошлых документов для каждого соответствующего прошлого запроса из набора прошлых запросов, причем соответствующий набор прошлых документов был представлен в качестве соответствующих результатов поиска в ответ на соответствующий прошлый запрос; и в которой
определение соответствующего параметра сходства между упомянутым запросом и каждым соответствующим прошлым запросом из набора прошлых запросов основано на:
наборе документов, релевантных упомянутому запросу, и
соответствующем наборе документов соответствующего прошлого запроса.
14. Система по п. 13, в которой
по меньшей мере подмножество набора документов связано с соответствующими параметрами пользовательских взаимодействий; и в которой
каждый соответствующий документ из соответствующего набора прошлых документов для каждого соответствующего запроса связан с соответствующими параметрами прошлых пользовательских взаимодействий; и в которой
определение соответствующего параметра сходства дополнительно основано на:
соответствующих параметрах пользовательских взаимодействий для соответствующего запроса подмножества документов и
соответствующих параметрах пользовательских взаимодействий для соответствующего набора прошлых документов.
15. Система по п. 11, в которой
система исполняет второй алгоритм машинного обучения, причем второй алгоритм машинного обучения был обучен для определения параметра сходства между запросами на основе их текстового содержимого; и
определение соответствующего параметра сходства исполняется вторым алгоритмом машинного обучения.
16. Система по п. 15, в которой процессор дополнительно сконфигурирован с возможностью,
во время фазы обучения:
извлечения из базы данных журнала поиска множества поисковых запросов, обеспеченных на сервер поисковой системы, причем каждый из множества поисковых запросов связан с соответствующим набором результатов поиска, каждый соответствующий результат поиска из соответствующего набора результатов поиска связан с по меньшей мере одним соответствующим параметром пользовательского взаимодействия;
генерирования, для каждого запроса из множества поисковых запросов, соответствующего вектора запроса, основанного на по меньшей мере одном соответствующем параметре пользовательского взаимодействия, связанном с каждым результатом поиска из соответствующего набора результатов поиска;
генерирования, для каждой возможной пары запросов в пределах множества поисковых запросов, на основе соответствующих векторов запросов для каждого запроса из пары запросов, соответствующего параметра сходства, причем соответствующий параметр сходства указывает степень сходства между запросами в паре запросов;
генерирования набора обучающих объектов, причем каждый обучающий объект из набора обучающих объектов включает в себя указание соответствующей одной из каждой возможной пары запросов и соответствующего параметра сходства;
обучения второго алгоритма машинного обучения на наборе обучающих объектов для определения параметра сходства новой пары запросов на основе текстового содержимого каждой новой пары запросов, причем по меньшей мере один запрос из новой пары запросов не был включен в набор обучающих объектов.
17. Система по п. 11, в которой процессор дополнительно сконфигурирован с возможностью, до генерирования соответствующего значения упомянутого признака:
выбора по меньшей мере одного соответствующего прошлого запроса на основе того, что соответствующий параметр сходства превышает предопределенный порог.
18. Система по п. 11, в которой
для извлечения соответствующего значения упомянутого признака по меньшей мере одного документа для каждого соответствующего прошлого запроса процессор дополнительно сконфигурирован с возможностью:
извлечения соответствующего показателя релевантности по меньшей мере одного документа соответствующему прошлому запросу; и в которой
генерирование соответствующего значения упомянутого признака дополнительно основано на соответствующем показателе релевантности.
19. Система по п. 18, в которой генерирование соответствующего значения упомянутого признака для по меньшей мере одного документа дополнительно основано на:
соответствующем значении по меньшей мере одного другого признака из множества признаков для данного документа.
20. Система по п. 19, в которой данный признак является одним из:
зависящего от запроса признака, и
параметра пользовательского взаимодействия.
RU2018144177A 2018-12-13 2018-12-13 Способ и система генерирования признака для ранжирования документа RU2733481C2 (ru)

Priority Applications (2)

Application Number Priority Date Filing Date Title
RU2018144177A RU2733481C2 (ru) 2018-12-13 2018-12-13 Способ и система генерирования признака для ранжирования документа
US16/571,870 US11194878B2 (en) 2018-12-13 2019-09-16 Method of and system for generating feature for ranking document

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2018144177A RU2733481C2 (ru) 2018-12-13 2018-12-13 Способ и система генерирования признака для ранжирования документа

Publications (3)

Publication Number Publication Date
RU2018144177A RU2018144177A (ru) 2020-06-15
RU2018144177A3 RU2018144177A3 (ru) 2020-06-15
RU2733481C2 true RU2733481C2 (ru) 2020-10-01

Family

ID=71072626

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2018144177A RU2733481C2 (ru) 2018-12-13 2018-12-13 Способ и система генерирования признака для ранжирования документа

Country Status (2)

Country Link
US (1) US11194878B2 (ru)
RU (1) RU2733481C2 (ru)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2829065C1 (ru) * 2023-12-12 2024-10-23 Ооо "Яндекс" Система и способ обучения моделей машинного обучения для ранжирования результатов поиска

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020047861A1 (zh) * 2018-09-07 2020-03-12 北京字节跳动网络技术有限公司 用于生成排序模型的方法和装置
JP7456137B2 (ja) * 2019-12-05 2024-03-27 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
US11526544B2 (en) * 2020-05-07 2022-12-13 International Business Machines Corporation System for object identification
CN113792225B (zh) * 2021-08-25 2023-08-18 北京库睿科技有限公司 一种多数据类型分层排序方法和装置
US12321387B2 (en) * 2023-03-10 2025-06-03 Equifax Inc. Automatically generating search indexes for expediting searching of a computerized database

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8452758B2 (en) * 2003-09-12 2013-05-28 Google Inc. Methods and systems for improving a search ranking using related queries
US9009146B1 (en) * 2009-04-08 2015-04-14 Google Inc. Ranking search results based on similar queries
RU2609079C2 (ru) * 2015-02-27 2017-01-30 Общество С Ограниченной Ответственностью "Яндекс" Способ и сервер обработки поискового предложения
US9898554B2 (en) * 2013-11-18 2018-02-20 Google Inc. Implicit question query identification

Family Cites Families (104)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6269368B1 (en) 1997-10-17 2001-07-31 Textwise Llc Information retrieval using dynamic evidence combination
US7124129B2 (en) 1998-03-03 2006-10-17 A9.Com, Inc. Identifying the items most relevant to a current query based on items selected in connection with similar queries
US6185558B1 (en) 1998-03-03 2001-02-06 Amazon.Com, Inc. Identifying the items most relevant to a current query based on items selected in connection with similar queries
US6189002B1 (en) 1998-12-14 2001-02-13 Dolphin Search Process and system for retrieval of documents using context-relevant semantic profiles
US8775396B2 (en) 1999-04-15 2014-07-08 Intellectual Ventures I Llc Method and system for searching a wide area network
US7567958B1 (en) 2000-04-04 2009-07-28 Aol, Llc Filtering system for providing personalized information in the absence of negative data
US6701311B2 (en) 2001-02-07 2004-03-02 International Business Machines Corporation Customer self service system for resource search and selection
US6738764B2 (en) 2001-05-08 2004-05-18 Verity, Inc. Apparatus and method for adaptively ranking search results
US7149732B2 (en) 2001-10-12 2006-12-12 Microsoft Corporation Clustering web queries
US20040249808A1 (en) 2003-06-06 2004-12-09 Microsoft Corporation Query expansion using query logs
US8086619B2 (en) 2003-09-05 2011-12-27 Google Inc. System and method for providing search query refinements
US7689585B2 (en) 2004-04-15 2010-03-30 Microsoft Corporation Reinforced clustering of multi-type data objects for search term suggestion
US8135698B2 (en) 2004-06-25 2012-03-13 International Business Machines Corporation Techniques for representing relationships between queries
US7958115B2 (en) 2004-07-29 2011-06-07 Yahoo! Inc. Search systems and methods using in-line contextual queries
US7716198B2 (en) * 2004-12-21 2010-05-11 Microsoft Corporation Ranking search results using feature extraction
US7698270B2 (en) 2004-12-29 2010-04-13 Baynote, Inc. Method and apparatus for identifying, extracting, capturing, and leveraging expertise and knowledge
US20060149710A1 (en) 2004-12-30 2006-07-06 Ross Koningstein Associating features with entities, such as categories of web page documents, and/or weighting such features
EP1875336A2 (en) 2005-04-11 2008-01-09 Textdigger, Inc. System and method for searching for a query
US20070005587A1 (en) * 2005-06-30 2007-01-04 Microsoft Corporation Relative search results based off of user interaction
US8832100B2 (en) 2005-09-14 2014-09-09 Millennial Media, Inc. User transaction history influenced search results
US20090234711A1 (en) 2005-09-14 2009-09-17 Jorey Ramer Aggregation of behavioral profile data using a monetization platform
US7620607B1 (en) 2005-09-26 2009-11-17 Quintura Inc. System and method for using a bidirectional neural network to identify sentences for use as document annotations
US7577643B2 (en) 2006-09-29 2009-08-18 Microsoft Corporation Key phrase extraction from query logs
US20080109285A1 (en) 2006-10-26 2008-05-08 Mobile Content Networks, Inc. Techniques for determining relevant advertisements in response to queries
US20080114750A1 (en) 2006-11-14 2008-05-15 Microsoft Corporation Retrieval and ranking of items utilizing similarity
JP2008181186A (ja) 2007-01-23 2008-08-07 Yahoo Japan Corp クエリーログを利用したキーワードとサイトの関連度を求める方法
US7603348B2 (en) 2007-01-26 2009-10-13 Yahoo! Inc. System for classifying a search query
US8321448B2 (en) 2007-02-22 2012-11-27 Microsoft Corporation Click-through log mining
US8645390B1 (en) 2007-08-31 2014-02-04 Google Inc. Reordering search query results in accordance with search context specific predicted performance functions
US7792813B2 (en) 2007-08-31 2010-09-07 Microsoft Corporation Presenting result items based upon user behavior
US8655868B2 (en) 2007-09-12 2014-02-18 Ebay Inc. Inference of query relationships based on retrieved attributes
US7877385B2 (en) 2007-09-21 2011-01-25 Microsoft Corporation Information retrieval using query-document pair information
US7895235B2 (en) 2007-12-19 2011-02-22 Yahoo! Inc. Extracting semantic relations from query logs
US8392436B2 (en) 2008-02-07 2013-03-05 Nec Laboratories America, Inc. Semantic search via role labeling
US7877404B2 (en) 2008-03-05 2011-01-25 Microsoft Corporation Query classification based on query click logs
US8965786B1 (en) 2008-04-18 2015-02-24 Google Inc. User-based ad ranking
US20090313286A1 (en) 2008-06-17 2009-12-17 Microsoft Corporation Generating training data from click logs
US7958158B2 (en) 2008-06-19 2011-06-07 International Business Machines Corporation Aggregating database queries
US8239370B2 (en) 2008-06-27 2012-08-07 Microsoft Corporation Basing search results on metadata of prior results
US9183323B1 (en) 2008-06-27 2015-11-10 Google Inc. Suggesting alternative query phrases in query results
US20100010895A1 (en) 2008-07-08 2010-01-14 Yahoo! Inc. Prediction of a degree of relevance between query rewrites and a search query
US8515950B2 (en) 2008-10-01 2013-08-20 Microsoft Corporation Combining log-based rankers and document-based rankers for searching
KR20100069118A (ko) 2008-12-16 2010-06-24 한국전자통신연구원 질의어 색인 데이터베이스 구축 방법과 그 질의어 색인 데이터베이스를 이용한 질의어 추천 방법
US8239334B2 (en) 2008-12-24 2012-08-07 Microsoft Corporation Learning latent semantic space for ranking
US8341095B2 (en) 2009-01-12 2012-12-25 Nec Laboratories America, Inc. Supervised semantic indexing and its extensions
US8156129B2 (en) 2009-01-15 2012-04-10 Microsoft Corporation Substantially similar queries
US20100198816A1 (en) 2009-01-30 2010-08-05 Yahoo! Inc. System and method for presenting content representative of document search
US8145623B1 (en) 2009-05-01 2012-03-27 Google Inc. Query ranking based on query clustering and categorization
CA2764496C (en) * 2009-06-05 2018-02-27 Wenhui Liao Feature engineering and user behavior analysis
US8606786B2 (en) 2009-06-22 2013-12-10 Microsoft Corporation Determining a similarity measure between queries
US20100332493A1 (en) 2009-06-25 2010-12-30 Yahoo! Inc. Semantic search extensions for web search engines
US8214363B2 (en) 2009-07-06 2012-07-03 Abhilasha Chaudhary Recognizing domain specific entities in search queries
US8543668B1 (en) 2009-11-24 2013-09-24 Google Inc. Click tracking using link styles
US9317613B2 (en) 2010-04-21 2016-04-19 Yahoo! Inc. Large scale entity-specific resource classification
US20120143790A1 (en) 2010-12-01 2012-06-07 Microsoft Corporation Relevance of search results determined from user clicks and post-click user behavior obtained from click logs
US9064007B1 (en) 2011-01-05 2015-06-23 Google Inc. Co-click based similarity score of queries and keywords
EP2479686B1 (en) 2011-01-24 2014-09-17 AOL Inc. Systems and methods for analyzing and clustering search queries
US8612367B2 (en) 2011-02-04 2013-12-17 Microsoft Corporation Learning similarity function for rare queries
US8719257B2 (en) 2011-02-16 2014-05-06 Symantec Corporation Methods and systems for automatically generating semantic/concept searches
US8898156B2 (en) 2011-03-03 2014-11-25 Microsoft Corporation Query expansion for web search
US20120253792A1 (en) 2011-03-30 2012-10-04 Nec Laboratories America, Inc. Sentiment Classification Based on Supervised Latent N-Gram Analysis
US9507861B2 (en) 2011-04-01 2016-11-29 Microsoft Technolgy Licensing, LLC Enhanced query rewriting through click log analysis
US8423547B2 (en) 2011-04-08 2013-04-16 Microsoft Corporation Efficient query clustering using multi-partite graphs
US8788477B1 (en) 2011-09-19 2014-07-22 Google Inc. Identifying addresses and titles of authoritative web pages by analyzing search queries in query logs
US20130110824A1 (en) 2011-11-01 2013-05-02 Microsoft Corporation Configuring a custom search ranking model
US9009148B2 (en) 2011-12-19 2015-04-14 Microsoft Technology Licensing, Llc Clickthrough-based latent semantic model
US8463595B1 (en) 2012-03-06 2013-06-11 Reputation.Com, Inc. Detailed sentiment analysis
US8775442B2 (en) 2012-05-15 2014-07-08 Apple Inc. Semantic search using a single-source semantic model
US20150248454A1 (en) 2012-09-28 2015-09-03 Nec Corporation Query similarity-degree evaluation system, evaluation method, and program
US9104733B2 (en) 2012-11-29 2015-08-11 Microsoft Technology Licensing, Llc Web search ranking
US9251292B2 (en) 2013-03-11 2016-02-02 Wal-Mart Stores, Inc. Search result ranking using query clustering
US9519859B2 (en) 2013-09-06 2016-12-13 Microsoft Technology Licensing, Llc Deep structured semantic model produced using click-through data
US9715660B2 (en) 2013-11-04 2017-07-25 Google Inc. Transfer learning for deep neural network based hotword detection
US9633017B2 (en) 2013-11-07 2017-04-25 Yahoo! Inc. Dwell-time based generation of a user interest profile
RU2556425C1 (ru) 2014-02-14 2015-07-10 Закрытое акционерное общество "Эвентос" (ЗАО "Эвентос") Способ автоматической итеративной кластеризации электронных документов по семантической близости, способ поиска в совокупности кластеризованных по семантической близости документов и машиночитаемые носители
US9818065B2 (en) 2014-03-12 2017-11-14 Microsoft Technology Licensing, Llc Attribution of activity in multi-user settings
US9477654B2 (en) 2014-04-01 2016-10-25 Microsoft Corporation Convolutional latent semantic models and their applications
US9535960B2 (en) 2014-04-14 2017-01-03 Microsoft Corporation Context-sensitive search using a deep learning model
US10642845B2 (en) 2014-05-30 2020-05-05 Apple Inc. Multi-domain search on a computing device
US20150356199A1 (en) 2014-06-06 2015-12-10 Microsoft Corporation Click-through-based cross-view learning for internet searches
US9846836B2 (en) 2014-06-13 2017-12-19 Microsoft Technology Licensing, Llc Modeling interestingness with deep neural networks
US10089580B2 (en) 2014-08-11 2018-10-02 Microsoft Technology Licensing, Llc Generating and using a knowledge-enhanced model
JP5957048B2 (ja) 2014-08-19 2016-07-27 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 曖昧性を解消する教師データの生成方法、生成システム、及び生成プログラム
RU2580516C2 (ru) 2014-08-19 2016-04-10 Общество С Ограниченной Ответственностью "Яндекс" Способ формирования персонализированной модели ранжирования, способ формирования модели ранжирования, электронное устройство и сервер
US9946799B2 (en) * 2015-04-30 2018-04-17 Microsoft Technology Licensing, Llc Federated search page construction based on machine learning
CA2985257A1 (en) * 2015-05-22 2016-12-01 Coveo Solutions Inc. System and method for ranking search results
US10606946B2 (en) 2015-07-06 2020-03-31 Microsoft Technology Licensing, Llc Learning word embedding using morphological knowledge
US10133729B2 (en) * 2015-08-28 2018-11-20 Microsoft Technology Licensing, Llc Semantically-relevant discovery of solutions
US20170060993A1 (en) 2015-09-01 2017-03-02 Skytree, Inc. Creating a Training Data Set Based on Unlabeled Textual Data
US10354182B2 (en) 2015-10-29 2019-07-16 Microsoft Technology Licensing, Llc Identifying relevant content items using a deep-structured neural network
US9659248B1 (en) 2016-01-19 2017-05-23 International Business Machines Corporation Machine learning and training a computer-implemented neural network to retrieve semantically equivalent questions using hybrid in-memory representations
US10740678B2 (en) 2016-03-31 2020-08-11 International Business Machines Corporation Concept hierarchies
RU2632143C1 (ru) 2016-04-11 2017-10-02 Общество С Ограниченной Ответственностью "Яндекс" Способ обучения модуля ранжирования с использованием обучающей выборки с зашумленными ярлыками
US10606847B2 (en) 2016-05-31 2020-03-31 Microsoft Technology Licensing, Llc Generation of training data for ideal candidate search ranking model
CN106095983B (zh) 2016-06-20 2019-11-26 北京百度网讯科技有限公司 一种基于个性化深度神经网络的相似度确定方法及装置
US10762439B2 (en) 2016-07-26 2020-09-01 International Business Machines Corporation Event clustering and classification with document embedding
US20180052853A1 (en) * 2016-08-22 2018-02-22 Salesforce.Com, Inc. Adjusting feature weights for ranking entity based search results
RU2637998C1 (ru) 2016-09-12 2017-12-08 Общество С Ограниченной Ответственностью "Яндекс" Способ и система создания краткого изложения цифрового контента
US9767182B1 (en) 2016-10-28 2017-09-19 Searchmetrics Gmbh Classification of search queries
US20180121550A1 (en) 2016-10-28 2018-05-03 Facebook, Inc. Ranking Search Results Based on Lookalike Users on Online Social Networks
RU2643466C1 (ru) 2017-04-14 2018-02-01 Алексей Валентинович Воронин Способ и система формирования результатов поисковой выдачи
US10915524B1 (en) 2017-06-27 2021-02-09 Amazon Technologies, Inc. Scalable distributed data processing and indexing
US20190205472A1 (en) * 2017-12-28 2019-07-04 Salesforce.Com, Inc. Ranking Entity Based Search Results Based on Implicit User Interactions
US11126630B2 (en) * 2018-05-07 2021-09-21 Salesforce.Com, Inc. Ranking partial search query results based on implicit user interactions

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8452758B2 (en) * 2003-09-12 2013-05-28 Google Inc. Methods and systems for improving a search ranking using related queries
US9009146B1 (en) * 2009-04-08 2015-04-14 Google Inc. Ranking search results based on similar queries
US9898554B2 (en) * 2013-11-18 2018-02-20 Google Inc. Implicit question query identification
RU2609079C2 (ru) * 2015-02-27 2017-01-30 Общество С Ограниченной Ответственностью "Яндекс" Способ и сервер обработки поискового предложения

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2831678C2 (ru) * 2021-11-22 2024-12-11 Общество С Ограниченной Ответственностью "Яндекс" Многоэтапное обучение моделей машинного обучения для ранжирования результатов
RU2829065C1 (ru) * 2023-12-12 2024-10-23 Ооо "Яндекс" Система и способ обучения моделей машинного обучения для ранжирования результатов поиска

Also Published As

Publication number Publication date
US11194878B2 (en) 2021-12-07
RU2018144177A (ru) 2020-06-15
RU2018144177A3 (ru) 2020-06-15
US20200192961A1 (en) 2020-06-18

Similar Documents

Publication Publication Date Title
US11113291B2 (en) Method of and system for enriching search queries for ranking search results
RU2731658C2 (ru) Способ и система выбора для ранжирования поисковых результатов с помощью алгоритма машинного обучения
RU2744029C1 (ru) Система и способ формирования обучающего набора для алгоритма машинного обучения
US11194848B2 (en) Method of and system for building search index using machine learning algorithm
US9594826B2 (en) Co-selected image classification
RU2733481C2 (ru) Способ и система генерирования признака для ранжирования документа
US11256991B2 (en) Method of and server for converting a categorical feature value into a numeric representation thereof
RU2720074C2 (ru) Способ и система создания векторов аннотации для документа
RU2664481C1 (ru) Способ и система выбора потенциально ошибочно ранжированных документов с помощью алгоритма машинного обучения
US9183312B2 (en) Image display within web search results
US11537674B2 (en) Method of and system for generating search query completion suggestion on search engine
RU2743932C2 (ru) Способ и сервер для повторного обучения алгоритма машинного обучения
US11874882B2 (en) Extracting key phrase candidates from documents and producing topical authority ranking
US11995519B2 (en) Method of and server for converting categorical feature value into a numeric representation thereof and for generating a split value for the categorical feature
US20250148301A1 (en) Methods and systems for training a decision-tree based machine learning algorithm (mla)
US11108802B2 (en) Method of and system for identifying abnormal site visits
US11816159B2 (en) Method of and system for generating a training set for a machine learning algorithm (MLA)
US11308097B2 (en) Method of and server for generating meta-feature for ranking documents
US11334559B2 (en) Method of and system for identifying abnormal rating activity
US12277481B2 (en) Method of and system for generating a training set for a machine learning algorithm (MLA)
US20240232710A1 (en) Methods and systems for training a decision-tree based machine learning algorithm (mla)