Область техники, к которой относится изобретение
[001] Настоящая технология относится в целом к алгоритмам машинного обучения и, в частности к способу и системе для формирования обучающего набора для алгоритма машинного обучения.
Уровень техники
[001] Алгоритмы машинного обучения (MLA, Machine Learning Algorithm) используются для удовлетворения разнообразных потребностей в компьютерных технологиях. Обычно алгоритмы MLA применяются для формирования прогноза, связанного с взаимодействием пользователя и компьютерного устройства. В качестве примера сферы, где требуется такой прогноз, можно привести действия пользователя в отношении контента, доступного в сети Интернет.
[002] Объем информации, доступной на различных Интернет-ресурсах, в течение последних двух лет растет экспоненциально. Для помощи типичному пользователю в поиске необходимой информации было разработано несколько решений. Одним из примеров таких решений является поисковая система. В качестве примера можно привести поисковые системы GOOGLE™, YANDEX™, YAHOO!™ и т.д. Пользователь может получать доступ к интерфейсу поисковой системы и отправлять поисковый запрос, связанный с информацией, которую требуется найти в сети Интернет. В ответ на поисковый запрос поисковая система выдает ранжированный список результатов поиска. Ранжированный список результатов поиска формируется на основе различных алгоритмов ранжирования, применяемых конкретной поисковой системой, используемой пользователем для поиска. Общая цель таких алгоритмов ранжирования заключается в представлении наиболее релевантных результатов поиска в верхней части ранжированного списка, тогда как менее релевантные результаты поиска могут располагаться в ранжированном списке на менее заметных местах (т.е. наименее релевантные результаты поиска находятся в нижней части ранжированного списка).
[003] Обычно поисковые системы обеспечивают хороший инструментарий для обработки поискового запроса, когда пользователь заранее знает, что требуется найти. Иными словами, если пользователь заинтересован в получении информации о наиболее популярных местах в Италии (т.е. если известна тема поиска), он может отправить поисковый запрос: «Наиболее популярные места в Италии?». В ответ поисковая система выдает ранжированный список Интернет-ресурсов, потенциально релевантных поисковому запросу. Затем пользователь может просмотреть ранжированный список результатов поиска, чтобы получить требуемую информацию, касающуюся мест для посещения в Италии. Если пользователь по какой-либо причине не удовлетворен полученными результатами поиска, он может выполнить повторный поиск, например, с более точным поисковым запросом, таким как «Наиболее популярные места в Италии летом?», «Наиболее популярные места на юге Италии?», «Наиболее популярные места для романтического отпуска в Италии?».
[004] В примере поисковой системы для формирования ранжированных результатов поиска используется алгоритм MLA. Когда пользователь отправляет поисковый запрос, поисковая система формирует список релевантных веб-ресурсов (на основе анализа просмотренных обходчиком веб-ресурсов, указания на которые хранятся в базе данных обходчика в виде списков вхождений (posting lists) и т.п.). Затем поисковая система использует алгоритм MLA для ранжирования сформированного таким образом списка результатов поиска. Алгоритм MLA ранжирует список результатов поиска на основе их релевантности поисковому запросу. Такой алгоритм MLA «обучен» прогнозировать степень соответствия результата поиска поисковому запросу на основе большого количества «признаков», связанных с этим результатом поиска, и указаний на прошлые действия пользователей с результатами поиска при отправке подобных поисковых запросов в прошлом.
[002] Перед использованием алгоритма MLA для прогнозирования релевантности результатов поиска отправленному пользователем запросу этот алгоритм MLA должен быть обучен. В зависимости от реализации алгоритма MLA, обучение может выполняться различными способами, такими как обучение с учителем, обучение без учителя и т.д. В случае типового подхода к обучению алгоритму MLA предоставляется несколько обучающих примеров (размеченных обучающих наборов), которые используются для обучения алгоритма MLA делать выводы в рамках поставленной задачи (такой как прогнозирование релевантности документов поисковому запросу). Обычно алгоритму MLA предоставляются положительные примеры (в данном случае релевантные документы) и отрицательные примеры (в данном случае нерелевантные документы).
[003] В патенте US 8655868 (eBay Inc., выдан 18 февраля 2014 г.) описано определение взаимосвязи между запросами. В одном примере запросы связываются на основе определения общих терминов в запросах. В другом примере запросы связываются на основе определения их связи с одним сеансом поиска. В еще одном примере взаимосвязь определяется на основе определения взаимосвязей между атрибутами элементов, полученными из отправленных запросов.
[004] В патенте US 8612367 (Microsoft Corp., выдан 17 декабря 2013 г.) описаны способы определения запросов, подобных редким запросам. Определено пространство n-грамм для представления запросов и определена функция подобия для измерения сходства запросов. Функция подобия обучена с использованием обучающих данных, полученных на основе данных о поведении пользователей и формализованных в виде задачи оптимизации, с использованием способа метрического обучения. Кроме того, функция подобия может быть определена в пространстве n-грамм, что эквивалентно близости косинусов углов в преобразованном пространстве n-грамм. Для эффективного получения схожих запросов из большого репозитория запросов может использоваться локально-чувствительное хеширование (locality sensitive hashing). Этот способ может использоваться, чтобы повысить точность расчета сходства запросов для редких запросов, способствовать получению сходных запросов и значительному повышению релевантности поиска.
[005] В патенте US 9720904 (IBM Corp., выдан 1 августа 2013 г.) описан способ формирования обучающих данных для устранения неоднозначности элемента, содержащего слово или строку слов, относящуюся к теме, подлежащей анализу, который включает в себя: получение отправленных пользователем сообщений, каждое из которых содержит по меньшей мере один элемент в наборе элементов; упорядочивание сообщений и получение наборов, каждый из которых содержит сообщения, отправленные каждым пользователем; определение набора сообщений, содержащего различные элементы, количество которых не меньше первого порогового значения, и назначение пользователя, соответствующего определенному набору в качестве активного пользователя; получение команды, указывающей на объект, для которого требуется устранить неоднозначность; определение вероятности совместного появления каждого ключевого слова и объекта в наборах сообщений, отправленных активными пользователями; и определение обучающих данных для объекта на основе вероятности совместного появления каждого ключевого слова и объекта в наборах сообщений, отправленных активными пользователями.
Раскрытие изобретения
[006] Разработчики настоящей технологии обнаружили по меньшей мере одну техническую проблему, связанную с известными решениями.
[007] Настоящая технология относится к алгоритмам машинного обучения в целом, и в частности, к способам и системам для формирования обучающего набора для алгоритма машинного обучения. Как описано выше, при обучении различных основанных на обучении с учителем алгоритмов MLA, таких как основанный на дереве решений алгоритм MLA или нейронные сети (NN, Neural Network), алгоритму MLA предоставляются обучающие наборы. Обучающие наборы представляют собой размеченные примеры, иллюстрирующие как положительные ответы, так и отрицательные ответы. Положительные примеры при обучении алгоритма MLA соответствуют наличию целевых выходных данных, отрицательные примеры при обучении алгоритма MLA соответствуют отсутствию целевых выходных данных.
[008] В общем случае, положительные примеры легко сформировать. Например, примеры для пар поисковых запросов и документов можно получить с использованием журналов поисковых запросов сервера поисковой системы, при этом «клики» пользователей представляют собой хороший показатель релевантности прошлого документа прошлому пользовательскому запросу. Формирование отрицательных примеров может оказаться более сложным.
[009] Типовая система обучения алгоритма MLA использует случайные отрицательные примеры, исходя из предположения, что большинство случайных примеров будет совершенно отличаться от положительных примеров, а следовательно, они будут представлять собой удовлетворительные отрицательные примеры. Тем не менее, на практике эффективность отрицательных примеров не равна 100% (этот показатель составляет приблизительно 80%).
[0010] Согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии, вместо случайного формирования отрицательных примеров настоящая технология направлена на формирование отрицательных обучающих примеров с использованием способа на основе близости запросов. Согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии, способ на основе близости запросов используется с целью определения оценки сходства запросов в паре путем анализа сходных результатов поиска, предоставленных в ответ на запросы из этой пары, и (опционально) действий пользователя с результатами поиска.
[0011] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии способ на основе близости запросов используется с целью определения запросов в паре, которые (а) имеют высокую степень текстового совпадения, но отличаются друг от друга предварительно заданным параметром различия; и (б) имеют низкую степень совпадения результатов поиска.
[0012] В общем случае, низкая степень совпадения результатов для двух страниц результатов поисковой системы (SERP, Search Engine Result Page), связанных с двумя прошлыми запросами, может проявляться следующим образом: (а) на двух страницах SERP отсутствуют совпадающие документы; (б) на двух страницах SERP отсутствуют совпадающие выбранные документы; (в) на двух страницах SERP совпадает заранее заданное максимальное количество документов; или (г) на двух страницах SERP совпадает заранее заданное количество из максимального количества выбранных документов.
[0013] Высокая степень текстового совпадения двух прошлых запросов может, например, проявляться в виде сходства терминов двух прошлых запросов. Иными словами, два запроса могут рассматриваться как имеющие высокую степень текстового совпадения, если запросы отличаются лишь одним термином (но, тем не менее, имеют различные значения, как показано в примере ниже).
[0014] В качестве примера можно рассмотреть следующие два прошлых поисковых запроса, отправленных поисковой системе прошлыми пользователями:
[0015] Запрос 1 - [restaurant on Queen Street]
[0016] Запрос 2 - [Queen Street gas-station]
[0017] Эти два прошлых запроса отличаются одним термином (т.е. «restaurant» и «gas-station»). Если страницы SERP, ранее предоставленные в ответ на эти два запроса, отличаются или действия пользователей с этими прошлыми страницами SERP указывают на то, что этим двум прошлым запросам релевантны несовпадающие документы (т.е. отсутствуют совпадения результатов поиска на страницах SERP или отсутствуют совпадения выбранных сходных результатов поиска на страницах SERP), эти запросы могут быть определены как сильно отличающиеся запросы и могут быть использованы в качестве отрицательных обучающих примеров.
[0018] В общем случае, согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии, близость или сходство прошлых поисковых запросов может определяться путем использования вектора запроса, т.е. вектора, содержащего информацию о документах, которые были представлены на страницах SERP и/или с которыми взаимодействовали пользователи на страницах SERP, предоставленных прошлым пользователям в ответ на запросы, отправленные поисковой системе.
[0019] Например, каждый запрос из пары связан с набором документов (Di), которые были предоставлены в качестве страницы SERP в ответ на этот запрос:
[0020] Запрос 1=[D1, _, _, D4, _, _, D7]
[0021] Запрос 2=[D1, _, D3, D4, _, _, D7]
[0022] Эти запросы могут рассматриваться как близкие запросы вследствие совпадения документов D1, D4 и D7.
[0023] Другой пример:
[0024] Запрос 1=[D1, _, _, D4, _, _, D7]
[0025] Запрос 2=[_, _, D3, _, _, D6, _]
[0026] Эти два прошлых запроса могут рассматриваться как запросы с несовпадающей историей выбора документов и, в этом смысле, без совпадающих документов (что должна определять настоящая технология).
[0027] Согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии, векторы документов для поискового запроса могут быть рассчитаны с использованием документов, представленных на странице SERP, документов, представленных на странице SERP и выбранных прошлыми пользователями, или некоторого сочетания этих двух подходов (т.е. совпадения документа, совпадения выбранного документа и т.д.).
[0028] В других не имеющих ограничительного характера вариантах осуществления настоящей технологии два запроса могут рассматриваться как близкие, если они имеют заранее заданное количество совпадающих результатов поиска. В этих не имеющих ограничительного характера альтернативных вариантах осуществления настоящей технологии низкая степень совпадения результатов определяется, если совпадающих результатов мало (т.е. меньше заранее заданного порога) или они располагаются на низких позициях (т.е. имеют ранг ниже заранее заданного порога).
[0029] Например, можно рассмотреть следующие два случая.
[0030] Пара 1
[0031] Запрос 3=[D10, _, _, D15, _, _, D17]
[0032] Запрос 4=[D10, _, D13, D14, _, _, D18]
[0033] Пара 2
[0034] Запрос 5=[D21, _, D23, D24, _, _, D27]
[0035] Запрос 6=[D22, _, D23, D24, _, _, D27]
[0036] В представленном выше примере пара 1 и пара 2 могут рассматриваться как содержащие близкие запросы, если заранее заданное количество совпадающих результатов поиска равно по меньшей мере одному. В случае пары 1 совпадает один результат поиска, а в случае пары 2 совпадают три результата поиска.
[0037] В этом примере можно предложить, чтобы низкая степень совпадения результатов определялась максимальным количеством совпадающих результатов поиска, равным двум (независимо от ранга совпадающих результатов поиска). В этом случае считается, что пара 1 имеет низкую степень совпадения, поскольку в поисковых запросах пары 1 совпадает только один результат поиска.
[0038] При этом считается, что поисковые запросы пары 2 не удовлетворяют критерию низкой степени совпадения результатов, поскольку они имеют три совпадающих результата поиска.
[0039] В другом примере можно предложить, чтобы низкая степень совпадения результатов определялась любым количеством совпадающих результатов поиска, если они не занимают высокую позицию. Например, можно предложить, чтобы высокая позиция соответствовала рангу номер один и рангу номер два. В таком случае пара 1 не может рассматриваться как имеющая низкую степень совпадения, поскольку совпадающие результаты поиска имеют ранг номер один.
[0040] Результаты поиска пары 2 рассматриваются как имеющие низкую степень совпадения результатов, поскольку они имеют три совпадающих результата поиска, но ни один из них не имеет высокого ранга (они имеют ранги номер три, четыре и семь).
[0041] В некоторых из этих альтернативных не имеющих ограничительного характера вариантах осуществления настоящей технологии рассматривается лишь заранее заданное количество результатов с высшими позициями из пары страниц SERP, например, десять результатов с высшими позициями и т.п.
[0042] В некоторых альтернативных не имеющих ограничительного характера вариантах осуществления настоящей технологии может считаться, что по меньшей мере один общий результат поиска из множества результатов поиска соответствует низкой степени совпадения результатов для пары страниц SERP.
[0043] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии десять результатов с высшими позициями дополнительно сравниваются с использованием следующей формулы:
POSITION_COMMON_URL(query1)*POSITION_COMMON_URL(query2)>const
[0044] Где POSITION_COMMON_URL(query) - средняя позиция, связанная с совпадающим результатом поиска, const - постоянное значение, выбранное эмпирически. Например, const может соответствовать значению 50.
[0045] Представленная выше формула (в случае ее истинности) соответствует результатам поиска, недостаточно релевантным каждому поисковому запросу в паре.
[0046] Иными словами, в вариантах осуществления настоящей технологии используется известное разработчикам преимущество, которое заключается в том, что операторам поисковых систем, таких как Google™, Yandex™, Bing™, Yahoo™ и т.д., доступно большое количество данных о действиях пользователей, связанных с результатами поиска, предоставленными в ответ на пользовательские запросы, которые могут быть использованы для формирования параметров близости запросов для прошлых запросов с целью выбора конкретных пар прошлых поисковых запросов, которые могут быть использованы для отрицательных обучающих примеров с целью обучения или повторного обучения алгоритма MLA, который после обучения должен использоваться на этапе использования с целью определения релевантности документа поисковому запросу.
[0047] Варианты осуществления настоящей технологии относятся к способу и системе для формирования обучающих наборов для обучения алгоритма MLA и, в частности, для формирования отрицательных примеров для обучающих наборов. Некоторые не имеющие ограничительного характера варианты осуществления настоящей технологии также предусматривают классификацию отрицательных примеров на простые и сложные примеры и выбор конкретных простых или сложных отрицательных примеров на основе поставленной цели обучения (т.е. конкретной целевой функции, например, предназначенной для обучения алгоритма MLA).
[0048] Согласно первому аспекту настоящей технологии реализован компьютерный способ формирования набора обучающих объектов для обучения выполняемого сервером алгоритма MLA с целью определения сходства запросов на основе их текстового контента. Способ выполняется сервером и включает в себя: получение из базы данных журнала поиска на сервере первого запроса, отправленного серверу и связанного с первым набором результатов поиска, каждый из которых связан с параметром действий пользователя; получение из базы данных журнала поиска на основе терминов первого запроса набора запросов, каждый из которых ранее был отправлен серверу и отличается от первого запроса заранее заданным количеством терминов; получение из базы данных журнала поиска для каждого другого запроса из набора запросов другого набора результатов поиска, каждый из которых связан с параметром действий пользователя, при этом каждый другой набор результатов поиска содержит часть результатов поиска, отличающихся от результатов поиска в первом наборе результатов поиска; расчет сервером оценки сходства первого запроса и другого запроса из набора запросов на основе первого набора результатов поиска и другого набора результатов поиска, а также на основе параметров действий пользователя в первом наборе результатов поиска и в другом наборе результатов поиска; определение сервером подмножества запросов из набора запросов на основе оценки сходства, меньшей заранее заданного порога сходства; и формирование набора обучающих объектов для использования в качестве отрицательных обучающих примеров для обучения алгоритма MLA, при этом каждый обучающий объект содержит первый запрос, другой запрос из подмножества запросов и оценку сходства первого запроса и другого запроса.
[0049] В некоторых вариантах осуществления способа заранее заданное количество отличающихся терминов равно одному термину.
[0050] В некоторых вариантах осуществления способа часть результатов поиска, отличающихся от результатов поиска в первом наборе результатов поиска, содержит все результаты поиска для всех подмножеств запросов, не совпадающие с результатами поиска для первого запроса.
[0051] В некоторых вариантах осуществления способа часть результатов поиска, отличающихся от результатов поиска в первом наборе результатов поиска, содержит подмножество результатов поиска для всех подмножеств запросов с параметрами действий пользователя, не совпадающими с параметрами действий пользователя с результатами поиска для первого запроса.
[0052] В некоторых вариантах осуществления способа несовпадающие параметры действий пользователя указывают на то, что прошлые пользователи выбирали различные результаты поиска в первом наборе результатов поиска и в другом наборе результатов поиска.
[0053] В некоторых вариантах осуществления способа часть результатов поиска, отличающихся от результатов поиска в первом наборе результатов поиска, содержит заранее заданное количество несовпадающих результатов поиска.
[0054] В некоторых вариантах осуществления способа обучающие объекты, представляющие собой отрицательный обучающий пример, способны обучать алгоритм MLA фокусироваться на различии результатов поиска в том, что первый запрос и другой запрос отличаются одним термином.
[0055] В некоторых вариантах осуществления способа расчет оценки сходства первого запроса и другого запроса из набора запросов включает в себя: формирование первого вектора запроса для первого запроса; формирование второго вектора запроса для каждого другого запроса из этого набора; при этом оценка сходства рассчитывается на основе умножения косинусов углов для первого вектора запроса и для второго вектора запроса.
[0056] В некоторых вариантах осуществления способа формирование первого вектора запроса включает в себя формирование первого вектора запроса на основе первого набора результатов поиска и параметров действий пользователей в первом наборе результатов поиска.
[0057] В некоторых вариантах осуществления способа формирование второго вектора запроса включает в себя формирование второго вектора запроса на основе другого набора результатов поиска, связанных с этим запросом, и параметров действий пользователей с другим набором результатов поиска.
[0058] В некоторых вариантах осуществления способа заранее заданный порог сходства основан на результате умножения косинусов углов, указывающем на сходство первого вектора запроса и второго вектора запроса.
[0059] В некоторых вариантах осуществления способа второй обученный алгоритм MLA способен формировать первый вектор запроса и второй вектор запроса.
[0060] В некоторых вариантах осуществления способа параметр действий пользователя содержит по меньшей мере одно из следующего: количество «кликов», коэффициент «кликов» (CTR), время пребывания, глубину «кликов», коэффициент «ненужных просмотров» и среднее время, затраченное на документ.
[0061] В некоторых вариантах осуществления способа он дополнительно включает в себя классификацию каждого подмножества запросов из множества запросов на сложные отрицательные примеры на основе оценки сходства, меньшей заранее заданного порога сходства, и на простые отрицательные примеры на основе оценки сходства, большей заранее заданного порога сходства.
[0062] В некоторых вариантах осуществления способа он дополнительно включает в себя выбор простого отрицательного примера или сложного отрицательного примера на основе целевой функции, предназначенной для обучения алгоритма MLA.
[0063] Согласно другому аспекту настоящей технологии реализован выполняемый сервером компьютерный способ формирования набора обучающих объектов для обучения выполняемого сервером алгоритма MLA с целью определения сходства запросов на основе их текстового контента. Способ включает в себя: получение из базы данных журнала поиска на сервере первого запроса, отправленного серверу и связанного с первым набором результатов поиска, каждый из которых связан с параметром действий пользователя; получение из базы данных журнала поиска на основе терминов первого запроса набора запросов, каждый из которых ранее был отправлен серверу и отличается от первого запроса заранее заданным количеством терминов; получение из базы данных журнала поиска для каждого другого запроса из набора запросов другого набора результатов поиска, каждый из которых связан с параметром действий пользователя, при этом каждый другой набор результатов поиска содержит часть результатов поиска, отличающихся от результатов поиска в первом наборе результатов поиска; определение сервером подмножества запросов из набора запросов так, чтобы для пары в подмножестве запросов, содержащей первый запрос и другой запрос из подмножества запросов, различие запросов было минимизированным, а различие результатов поиска было максимизированным; формирование набора обучающих объектов для использования в качестве отрицательных обучающих примеров для обучения алгоритма MLA, при этом каждый обучающий объект содержит первый запрос, другой запрос из подмножества запросов и указание на различие соответствующих результатов поиска.
[0064] В некоторых вариантах осуществления способа различие запросов считается минимизированным, если запросы отличаются лишь заранее заданным небольшим количеством терминов запроса, а различие результатов считается максимизированным, если результаты поиска отличаются заранее заданным большим количеством результатов поиска.
[0065] В некоторых вариантах осуществления способа первый запрос и другой запрос из подмножества запросов дополнительно выбираются на основе действий пользователей с совпадающими результатами поиска так, чтобы различие соответствующих результатов поиска дополнительно максимизировалось.
[0066] В некоторых вариантах осуществления способа различие запросов определяется на основе количества совпадающих результатов поиска, большего первого заранее заданного порога, а различие результатов определяется на основе количества совпадающих результатов поиска, меньшего второго заранее заданного порога.
[0067] Согласно еще одному аспекту настоящей технологии реализована выполняющая второй алгоритм MLA система для формирования множества векторов аннотаций для документа, предназначенных для использования первым алгоритмом MLA в качестве признаков для извлечения информации. Система содержит: процессор и машиночитаемый физический носитель информации, содержащий команды, при этом процессор выполнен с возможностью выполнения следующих действий при выполнении команд: получение из базы данных журнала поиска на сервере первого запроса, отправленного серверу и связанного с первым набором результатов поиска, каждый из которых связан с параметром действий пользователя; получение из базы данных журнала поиска на основе терминов первого запроса набора запросов, каждый из которых ранее был отправлен серверу и отличается от первого запроса заранее заданным количеством терминов; получение из базы данных журнала поиска для каждого другого запроса из набора запросов другого набора результатов поиска, каждый из которых связан с параметром действий пользователя, при этом каждый другой набор результатов поиска содержит часть результатов поиска, отличающихся от результатов поиска в первом наборе результатов поиска; расчет сервером оценки сходства первого запроса и другого запроса из набора запросов на основе первого набора результатов поиска и другого набора результатов поиска, а также на основе параметров действий пользователя в первом наборе результатов поиска и в другом наборе результатов поиска; определение сервером подмножества запросов из набора запросов на основе оценки сходства, меньшей заранее заданного порога сходства; и формирование набора обучающих объектов для использования в качестве отрицательных обучающих примеров для обучения алгоритма MLA, при этом каждый обучающий объект содержит первый запрос, другой запрос из подмножества запросов и оценку сходства первого запроса и другого запроса.
[0068] Согласно еще одному аспекту настоящей технологии реализован выполняемый сервером компьютерный способ формирования набора обучающих объектов для обучения выполняемого сервером алгоритма MLA с целью определения сходства запросов на основе их текстового контента. Способ включает в себя: получение из базы данных журнала поиска на сервере первого запроса, отправленного серверу и связанного с первым набором результатов поиска, каждый из которых связан с параметром действий пользователя; получение из базы данных журнала поиска на основе терминов первого запроса набора запросов, каждый из которых ранее был отправлен серверу и содержит совпадающие с результатами поиска первого запроса результаты поиска, количество которых больше заранее заданного первого порога; получение из базы данных журнала поиска для каждого другого запроса из набора запросов другого набора результатов поиска, каждый из которых связан с параметром действий пользователя, при этом каждый другой набор результатов поиска содержит совпадающие результаты поиска, количество которых меньше заранее заданного второго порога; определение сервером подмножества запросов из набора запросов так, чтобы для пары в подмножестве запросов, содержащей первый запрос и другой запрос из подмножества запросов, различие запросов было минимизированным, а различие результатов поиска было максимизированным; формирование набора обучающих объектов для использования в качестве отрицательных обучающих примеров для обучения алгоритма MLA, при этом каждый обучающий объект содержит первый запрос, другой запрос из подмножества запросов и указание на различие соответствующих результатов поиска.
[0069] В некоторых вариантах осуществления способа заранее заданный второй порог представляет собой число.
[0070] В некоторых вариантах осуществления способа заранее заданный второй порог представляет собой позицию в наборе результатов поиска.
[0071] В некоторых вариантах осуществления способа заранее заданный первый порог меньше заранее заданного второго порога.
[0072] В некоторых вариантах осуществления способа количество совпадающих результатов поиска определяется только для N результатов с высшими позициями из набора результатов поиска.
[0073] В некоторых вариантах осуществления способа N результатов с высшими позициями соответствуют 10 результатам с высшими позициями.
[0074] В некоторых вариантах осуществления способа различие результатов поиска, предназначенных для использования в качестве отрицательных обучающих примеров для обучения алгоритма MLA, может быть определено путем объединения вариантов с низкой степенью совпадения результатов и с нулевой степенью совпадения результатов.
[0075] В некоторых вариантах осуществления способа минимизация различия запросов обеспечивается за счет использования заранее заданного первого порога, равного по меньшей мере одному, а максимизация различия результатов поиска обеспечивается за счет использования заранее заданного второго порога, соответствующего (а) достаточно малому числу или (б) низкой позиции в результатах поиска.
[0076] В контексте настоящего описания термин «сервер» означает компьютерную программу, выполняемую соответствующими аппаратными средствами и способную принимать запросы (например, от электронных устройств) через сеть и выполнять эти запросы или инициировать их выполнение. Аппаратные средства могут представлять собой один физический компьютер или одну компьютерную систему, что не существенно для настоящей технологии. В настоящем контексте выражение «сервер» не означает, что каждая задача (например, принятая команда или запрос) или некоторая определенная задача принимается, выполняется или запускается одним и тем же сервером (т.е. одними и теми же программными и/или аппаратными средствами). Это выражение означает, что любое количество программных средств или аппаратных средств может принимать, отправлять, выполнять или инициировать выполнение любой задачи или запроса либо результатов любых задач или запросов. Все эти программные и аппаратные средства могут представлять собой один сервер или несколько серверов, причем оба эти случая подразумеваются в выражении «по меньшей мере один сервер».
[0077] В контексте настоящего описания термин «электронное устройство» означает любое компьютерное аппаратное средство, способное выполнять программы, подходящие для решения поставленной задачи. Таким образом, некоторые (не имеющие ограничительного характера) примеры электронных устройств включают в себя персональные компьютеры (настольные, ноутбуки, нетбуки и т.п.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует отметить, что в данном контексте устройство, функционирующее как электронное устройство, также может функционировать как сервер в отношении других электронных устройств. Использование выражения «электронное устройство» не исключает использования нескольких электронных устройств для приема, отправки, выполнения или инициирования выполнения любой задачи или запроса либо результатов любых задач или запросов, либо шагов любого описанного здесь способа.
[0078] В контексте настоящего описания термин «база данных» означает любой структурированный набор данных, независимо от его конкретной структуры, программного обеспечения для управления базой данных или компьютерных аппаратных средств для хранения этих данных, их применения или обеспечения их использования иным способом. База данных может располагаться в тех же аппаратных средствах, где реализован процесс, обеспечивающий хранение или использование информации, хранящейся в базе данных, либо база данных может располагаться в отдельных аппаратных средствах, таких как специализированный сервер или множество серверов.
[0079] В контексте настоящего описания выражение «информация» включает в себя информацию любого рода или вида, допускающую хранение в базе данных. Таким образом, информация включает в себя аудиовизуальные произведения (изображения, фильмы, звукозаписи, презентации и т.д.), данные (данные о местоположении, числовые данные и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, электронные таблицы и т.д., но не ограничивается ими.
[0080] В контексте настоящего описания выражение «пригодный для использования в компьютере носитель информации» означает носители любого рода и вида, включая ОЗУ, ПЗУ, диски (CD-ROM, DVD, гибкие диски, жесткие диски и т.д.), USB-накопители, твердотельные накопители, накопители на магнитных лентах и т.д.
[0081] В контексте настоящего описания, если специально не указано другое, в качестве указания на информационный элемент может выступать сам информационный элемент, а также указатель, ссылка, гиперссылка или другое косвенное средство, с помощью которого получатель данных может найти место в сети, памяти, базе данных или на другом машиночитаемом носителе информации, откуда можно извлечь этот информационный элемент. Например, указание на документ может включать в себя сам документ (т.е. его содержимое) или это указание может представлять собой уникальный дескриптор документа, указывающий на файл в определенной файловой системе, или какие-либо другие средства для указания получателю данных места в сети, адреса памяти, таблицы в базе данных или другого места, где можно получить доступ к файлу. Специалисту в данной области должно быть очевидно, что степень точности, требуемая для такого указания, зависит от объема предварительных пояснений относительно интерпретации информации, которой обмениваются отправитель и получатель данных. Например, если перед началом обмена данными между отправителем и получателем известно, что указание на информационный элемент представляет собой ключ базы данных для элемента в определенной таблице заранее заданной базы данных, содержащей этот информационный элемент, то для эффективной передачи этого информационного элемента получателю достаточно оправить ключ базы данных, даже если сам информационный элемент не передается между отправителем и получателем данных.
[0082] В контексте настоящего описания числительные «первый» «второй», «третий» и т.д. используются лишь для указания различия между существительными, к которым они относятся, но не для описания каких-либо определенных взаимосвязей между этими существительными. Например, должно быть понятно, что использование терминов «первый сервер» и «третий сервер» не подразумевает какого-либо определенного порядка, типа, хронологии, иерархии или классификации, в данном случае, серверов, а также что их использование (само по себе) не подразумевает наличие «второго сервера» в любой ситуации. Кроме того, как встречается в настоящем описании в другом контексте, ссылка на «первый» элемент и «второй» элемент не исключает того, что эти два элемента в действительности могут быть одним и тем же элементом. Таким образом, например, в некоторых случаях «первый» сервер и «второй» сервер могут представлять собой одно и то же программное и/или аппаратное средство, а в других случаях - различные программные и/или аппаратные средства.
[0083] Каждый вариант осуществления настоящей технологии относится к по меньшей мере одной из вышеупомянутых целей и/или аспектов, но не обязательно ко всем ним. Должно быть понятно, что некоторые аспекты настоящей технологии, связанные с попыткой достижения вышеупомянутой цели, могут не соответствовать этой цели и/или могут соответствовать другим целям, явным образом здесь не упомянутым.
[0084] Дополнительные и/или альтернативные признаки, аспекты и преимущества вариантов осуществления настоящей технологии содержатся в дальнейшем описании, в приложенных чертежах и в формуле изобретения.
Краткое описание чертежей
[0085] Дальнейшее описание приведено для лучшего понимания настоящей технологии, а также других аспектов и их признаков, и должно использоваться совместно с приложенными чертежами.
[0086] На фиг. 1 представлена схема системы, реализованной согласно вариантам осуществления настоящей технологии, не имеющим ограничительного характера.
[0087] На фиг. 2 приведено схематическое представление системы машинного обучения, реализованной согласно вариантам осуществления настоящей технологии.
[0088] На фиг. 3 приведено схематическое представление третьего алгоритма MLA, реализованного согласно вариантам реализации настоящей технологии.
[0089] На фиг. 4 приведена блок-схема способа формирования набора обучающих объектов для обучения алгоритма MLA, соответствующего некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии и выполняемого в представленной на фиг. 1 системе.
[0090] На фиг. 5 приведена блок-схема способа формирования набора обучающих объектов для обучения алгоритма MLA, соответствующего некоторым другим не имеющим ограничительного характера вариантам осуществления настоящей технологии и выполняемого в представленной на фиг. 1 системе.
Осуществление изобретения
[0091] Представленные в данном описании примеры и условный язык предназначены для обеспечения лучшего понимания принципов настоящей технологии, а не для ограничения ее объема до таких специально приведенных примеров и условий. Очевидно, что специалисты в данной области техники способны разработать различные способы и устройства, которые явно не описаны и не показаны, но реализуют принципы настоящей технологии в пределах ее существа и объема.
[0092] Кроме того, чтобы способствовать лучшему пониманию, последующее описание может содержать упрощенные варианты реализации настоящей технологии. Специалистам в данной области должно быть понятно, что различные варианты осуществления данной технологии могут быть значительно сложнее.
[0093] В некоторых случаях также приводятся полезные примеры модификаций настоящей технологии. Они способствуют пониманию, но также не определяют объем или границы настоящей технологии. Представленный перечень модификаций не является исчерпывающим и специалист в данной области может разработать другие модификации в пределах объема настоящей технологии. Кроме того, если в некоторых случаях модификации не описаны, это не означает, что они невозможны и/или что описание содержит единственно возможный вариант реализации того или иного элемента настоящей технологии.
[0094] Более того, описание принципов, аспектов и вариантов реализации настоящей технологии, а также их конкретные примеры, предназначены для охвата их структурных и функциональных эквивалентов, независимо от того, известны они в настоящее время или будут разработаны в будущем. Например, специалистам в данной области техники должно быть очевидно, что любые описанные здесь структурные схемы соответствуют концептуальным представлениям иллюстративных принципиальных схем, реализующих принципы настоящей технологии. Также должно быть очевидно, что любые блок-схемы, схемы процессов, диаграммы изменения состояния, псевдокоды и т.п. соответствуют различным процессам, которые могут быть представлены на машиночитаемом физическом носителе информации и могут выполняться компьютером или процессором, независимо от того, показан такой компьютер или процессор явно или нет.
[0095] Функции различных элементов, показанных на чертежах, включая любой функциональный блок, обозначенный как «процессор» или «графический процессор», могут быть реализованы с использованием специализированных аппаратных средств, а также с использованием аппаратных средств, способных выполнять соответствующее программное обеспечение. Если используется процессор, эти функции могут выполняться одним выделенным процессором, одним совместно используемым процессором или множеством отдельных процессоров, некоторые из которых могут использоваться совместно. В некоторых вариантах осуществления настоящей технологии процессор может представлять собой процессор общего назначения, такой как центральный процессор (CPU), или специализированный процессор, такой как графический процессор (GPU). Кроме того, явное использование термина «процессор» или «контроллер» не должно трактоваться как указание исключительно на аппаратные средства, способные выполнять программное обеспечение, и может подразумевать, помимо прочего, аппаратные средства цифрового сигнального процессора (DSP), сетевой процессор, специализированную интегральную схему (ASIC), программируемую вентильную матрицу (FPGA), ПЗУ для хранения программного обеспечения, ОЗУ и энергонезависимое ЗУ. Также могут подразумеваться другие аппаратные средства, общего назначения и/или заказные.
[0096] Программные модули или просто модули, реализация которых предполагается в виде программных средств, могут быть представлены здесь как любое сочетание элементов блок-схемы или других элементов, указывающих на выполнение шагов процесса и/или содержащих текстовое описание. Такие модули могут выполняться аппаратными средствами, показанными явно или подразумеваемыми.
[0097] Учитывая вышеизложенные принципы, далее рассмотрены некоторые не имеющие ограничительного характера примеры, иллюстрирующие различные варианты реализации аспектов настоящей технологии.
[0098] На фиг. 1 представлена система 100, реализованная согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии. Система 100 содержит первое клиентское устройство 110, второе клиентское устройство 120, третье клиентское устройство 130 и четвертое клиентское устройство 140, соединенные с сетью 200 связи соответствующими линиями 205 связи. Система 100 содержит сервер 210 поисковой системы, сервер 220 анализа и сервер 230 обучения, соединенные с сетью 200 связи соответствующими линиями 205 связи.
[0099] Например, первое клиентское устройство 110 может быть реализовано в виде смартфона, второе клиентское устройство 120 может быть реализовано в виде ноутбука, третье клиентское устройство 130 может быть реализовано в виде смартфона, а четвертое клиентское устройство 140 может быть реализовано в виде планшета. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сеть 200 связи может представлять собой сеть Интернет. В других вариантах осуществления настоящей технологии сеть 200 связи может быть реализована иначе, например, в виде произвольной глобальной сети связи, локальной сети связи, частной сети связи и т.д.
[00100] На реализацию линии 205 связи не накладывается каких-либо особых ограничений, она зависит от реализации первого клиентского устройства 110, второго клиентского устройства 120, третьего клиентского устройства 130 и четвертого клиентского устройства 140. В качестве примера, не имеющего ограничительного характера, в тех вариантах реализации настоящей технологии, где по меньшей мере одно из клиентских устройств, таких как первое клиентское устройство 110, второе клиентское устройство 120, третье клиентское устройство 130 и четвертое клиентское устройство 140, реализовано в виде беспроводного устройства связи (такого как смартфон), линия 205 связи может быть реализована в виде беспроводной линии связи (такой как канал сети связи 3G, канал сети связи 4G, Wireless Fidelity или сокращенно WiFi®, Bluetooth® и т.п.). В тех примерах, где по меньшей мере одно из клиентских устройств, таких как первое клиентское устройство 110, второе клиентское устройство 120, третье клиентское устройство 130 и четвертое клиентское устройство 140, реализовано в виде ноутбука, смартфона или планшетного компьютера, линия 205 связи может быть как беспроводной (такой как Wireless Fidelity или кратко WiFi®, Bluetooth® и т.п.), так и проводной (такой как соединение на основе Ethernet).
[00101] Должно быть очевидно, что варианты реализации первого клиентского устройства 110, второго клиентского устройства 120, третьего клиентского устройства 130, четвертого клиентского устройства 140, линии 205 связи и сети 200 связи приведены только для иллюстрации. Специалистам в данной области должны быть очевидными и другие конкретные детали реализации первого клиентского устройства 110, второго клиентского устройства 120, третьего клиентского устройства 130, четвертого клиентского устройства 140, линии 205 связи и сети 200 связи. Представленные выше примеры никак не ограничивают объем настоящей технологии.
[00102] Несмотря на то, что на фиг. 1 показаны лишь четыре клиентских устройства 110, 120, 130 и 140, предполагается, что к системе 100 может быть подключено любое количество клиентских устройств 110, 120, 130 и 140. Также предполагается, что в некоторых вариантах осуществления к системе 100 могут быть подключены десятки или сотни тысяч клиентских устройств 110, 120, 130 и 140.
[00103] К сети 200 связи также подключен вышеупомянутый сервер 210 поисковой системы. Сервер 210 поисковой системы может быть реализован в виде традиционного компьютерного сервера. В примере осуществления настоящей технологии сервер 210 поисковой системы может быть реализован в виде сервера Dell™ PowerEdge™, работающего под управлением операционной системы Microsoft™ Windows Server™. Сервер 210 поисковой системы может быть реализован с применением любых других подходящих аппаратных средств и/или программного обеспечения и/или встроенного программного обеспечения либо их сочетания. В представленном не имеющем ограничительного характера варианте осуществления настоящей технологии сервер 210 поисковой системы представляет собой один сервер. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии функции сервера 210 поисковой системы могут быть распределены между несколькими серверами. В некоторых вариантах осуществления настоящей технологии сервер 210 поисковой системы управляется и/или администрируется оператором поисковой системы. В качестве альтернативы, сервер 210 поисковой системы может управляться и/или администрироваться поставщиком услуг.
[00104] В целом сервер 210 поисковой системы (а) осуществляет поиск, (б) анализирует и ранжирует результаты поиска, (в) группирует результаты и формирует страницу результатов поиска (SERP) для отправки электронному устройству (такому как первое клиентское устройство 110, второе клиентское устройство 120, третье клиентское устройство 130 и четвертое клиентское устройство 140).
[00105] На сервер 210 поисковой системы, предназначенный для выполнения поиска, не накладывается каких-либо особых ограничений. Специалистам в данной области известен ряд способов и средств выполнения поиска с использованием сервера 210 поисковой системы, поэтому различные структурные элементы сервера 210 поисковой системы описаны в общем виде. Сервер 210 поисковой системы может поддерживать базу 212 данных журнала поиска.
[00106] В некоторых вариантах осуществления настоящей технологии сервер 210 поисковой системы может выполнять несколько поисков, включая общий поиск и вертикальный поиск, но не ограничиваясь ими.
[00107] Как известно специалистам в данной области, сервер 210 поисковой системы способен выполнять общие веб-поиски. Сервер 210 поисковой системы также способен выполнять один или несколько вертикальных поисков, таких как вертикальный поиск изображений, вертикальный поиск музыкальных произведений, вертикальный поиск видеоматериалов, вертикальный поиск новостей, вертикальный поиск карт и т.д. Как известно специалистам в данной области, сервер 210 поисковой системы также способен выполнять алгоритм обходчика, согласно которому сервер 210 поисковой системы выполняет обход сети Интернет и индексирует посещенные веб-сайты в одной или нескольких индексных базах данных, таких как база 212 данных журнала поиска.
[00108] Сервер 210 поисковой системы способен формировать ранжированный список результатов поиска, включающий в себя результаты общего веб-поиска и вертикального веб-поиска. Известно множество алгоритмов ранжирования результатов поиска, которые могут быть реализованы на сервере 210 поисковой системы.
[00109] В качестве примера, не имеющего ограничительного характера, некоторые известные способы ранжирования результатов поиска по степени соответствия сделанному пользователем поисковому запросу основаны на некоторых или всех следующих критериях: (а) популярность поискового запроса или соответствующего ответа при выполнении поисков; (б) количество результатов; (в) наличие в запросе определяющих терминов (таких как «изображения», «фильмы», «погода» и т.п.); (г) частота использования другими пользователями данного поискового запроса с определяющими терминами; (д) частота выбора другими пользователями, выполняющими аналогичный поиск, определенного ресурса или определенных результатов вертикального поиска, когда результаты были представлены с использованием страницы SERP. Сервер 210 поисковой системы может рассчитывать и назначать коэффициент релевантности (основанный на различных представленных выше критериях) для каждого результата поиска, полученного по сделанному пользователем поисковому запросу, а также формировать страницу SERP, где результаты поиска ранжированы согласно их коэффициентам релевантности. В настоящем варианте осуществления изобретения сервер 210 поисковой системы может выполнять множество алгоритмов машинного обучения для ранжирования документов и/или формировать признаки для ранжирования документов.
[00110] Сервер поисковой системы обычно поддерживает вышеупомянутую базу 212 данных журнала поиска.
[00111] В общем случае, база 212 журнала поиска может содержать индекс 214, журнал 216 запросов и журнал 218 действий пользователей.
[00112] Индекс 214 предназначен для индексирования документов, таких как веб-страницы, изображения, файлы в формате PDF, документы Word™, документы PowerPoint™, которые были просмотрены (или обнаружены) обходчиком сервера 210 поисковой системы. Когда пользователь первого клиентского устройства 110, второго клиентского устройства 120, третьего клиентского устройства 130 или четвертого клиентского устройства 140 вводит запрос и выполняет поиск на сервере 210 поисковой системы, сервер 210 поисковой системы анализирует индекс 214 и извлекает документы, содержащие термины запроса, а затем ранжирует их согласно алгоритму ранжирования.
[00113] Журнал 216 запросов предназначен для регистрации поисков, выполненных с использованием сервера 210 поисковой системы. В частности, в журнале 216 запросов хранятся термины поисковых запросов (т.е. искомые слова) и связанные с ними результаты поиска. Следует отметить, что журнал 216 запросов может поддерживаться в обезличенной форме, при этом поисковые запросы невозможно соотнести с пользователями, отправившими эти поисковые запросы.
[00114] В частности, журнал 216 запросов может содержать список запросов с терминами, с информацией о документах, предоставленных сервером 210 поисковой системы в ответ на запрос, и с отметкой времени, а также может содержать список пользователей, идентифицируемых с использованием анонимных идентификаторов (или вообще без идентификаторов), и документы, выбранные ими после отправки запроса. В некоторых вариантах осуществления изобретения журнал 216 запросов может обновляться при каждом выполнении нового поиска на сервере 210 поисковой системы. В других вариантах осуществления изобретения журнал 216 запросов может обновляться в заранее заданные моменты времени. В некоторых вариантах осуществления изобретения может существовать множество копий журнала 216 запросов, каждая из которых соответствует журналу 216 запросов в различные моменты времени.
[00115] Журнал 218 действий пользователей может быть связан с журналом 216 запросов и содержать параметры действий пользователей, отслеживаемых сервером 220 анализа после того, как пользователь отправил запрос и выбрал один или несколько документов на странице SERP на сервере 210 поисковой системы. В не имеющем ограничительного характера примере журнал 218 действий пользователей может содержать ссылку на документ, который может быть идентифицирован с использованием идентификационного номера или универсального указателя ресурсов (URL, Uniform Resource Locator), и список запросов, каждый из которых связан с множеством параметров действий пользователей, как более подробно описано ниже. В общем случае, множество параметров действий пользователей может отслеживаться и объединяться сервером 220 анализа и, в некоторых вариантах осуществления изобретения, оно может включаться в список для каждого отдельного пользователя.
[00116] Не имеющие ограничительного характера примеры действий пользователей, отслеживаемых с использованием журнала 218 действий пользователей, включают в себя (в числе прочего):
- успех/неудача: был или не был выбран документ из ответа на поисковый запрос;
- время пребывания: время, затраченное пользователем на документ до возврата на страницу SERP;
- длинный/короткий клик: было действие пользователя с документом длинным или коротким по сравнению с действием пользователя с другими документами на странице SERP.
[00117] Разумеется, что представленный выше список не является исчерпывающим и может включать в себя другие виды действий пользователей без выхода за границы настоящей технологии. В некоторых вариантах осуществления изобретения сервер 220 анализа может объединять данные о действиях пользователей (которые в не имеющем ограничительного характера примере могут включать в себя действия пользователей для каждого часа) и формировать данные о действиях пользователей для сохранения в журнале 218 действий пользователя в подходящем для реализации настоящей технологии формате (которые в не имеющем ограничительного характера примере могут относиться к действиям пользователей для заранее заданного периода времени длительностью 3 месяца). В других вариантах осуществления изобретения в журнале 218 действий пользователей могут храниться данные о действиях пользователей в необработанном виде так, чтобы они могли извлекаться и объединяться сервером 210 поисковой системы и/или сервером 220 анализа и/или сервером 230 обучения и/или другим сервером (не показан) в формате, подходящем для реализации настоящей технологии.
[00118] В некоторых вариантах осуществления изобретения журнал 216 запросов и журнал 218 действий пользователей могут быть реализованы в виде единого журнала.
[00119] К сети 200 связи также подключен вышеупомянутый сервер 220 анализа. Сервер 220 анализа может быть реализован в виде традиционного компьютерного сервера. В примере осуществления настоящей технологии сервер 220 анализа может быть реализован в виде сервера Dell™ PowerEdge™, работающего под управлением операционной системы Microsoft™ Windows Server™. Очевидно, что сервер 220 анализа может быть реализован с использованием любых других подходящих аппаратных средств и/или прикладного программного обеспечения и/или встроенного программного обеспечения либо их сочетания. В представленном не имеющем ограничительного характера варианте осуществления настоящей технологии сервер 220 анализа представляет собой один сервер. В альтернативных не имеющих ограничительного характера вариантах осуществления настоящей технологии функции сервера 220 анализа могут быть распределены между несколькими серверами. В других вариантах осуществления изобретения функции сервера 220 анализа могут полностью или частично выполняться сервером 210 поисковой системы. В некоторых вариантах осуществления настоящей технологии сервер 220 анализа управляется и/или администрируется оператором поисковой системы. В качестве альтернативы, сервер 220 анализа может управляться и/или администрироваться другим поставщиком услуг.
[00120] В общем случае, сервер 220 анализа предназначен для отслеживания действий пользователей с результатами поиска, предоставленными сервером 210 поисковой системы по запросам пользователей (например, выполненным пользователями первого клиентского устройства 110, второго клиентского устройства 120, третьего клиентского устройства 130 или четвертого клиентского устройства 140), на основе данных, хранящихся в журнале 218 действий пользователей.
[00121] Не имеющие ограничительного характера примеры параметров действий пользователей, сформированных сервером 220 анализа, включают в себя (в числе прочего):
- коэффициент «кликов» (CTR): количество случаев выбора элемента, деленное на количество показов элемента;
- время сеанса: средняя продолжительность сеанса в секундах;
- логарифмическое время сеанса: среднее логарифмическое значение продолжительности сеанса;
- запросы: количество запросов, отправленных пользователем;
- «клики»: количество переходов, выполненных пользователем;
- количество «кликов» на запрос: среднее количество переходов в расчете на один на запрос для пользователя;
- суточное количество активных пользователей (DAU, Daily Active Users): количество уникальных пользователей, взаимодействующих с сервисом в течение суток;
- средне количество сеансов в сутки на пользователя (S/U): u S(u) |u|, где S(u) - количество сеансов пользователя и в сутки, |u| - общее количество пользователей за сутки;
- среднее количество уникальных запросов на сеанс (UQ/S): s UQ(s) |s|, где UQ(s) - количество уникальных запросов в сеансе s, |s| - общее количество сеансов за эти сутки;
- средняя продолжительность сеанса на пользователя (SL/U): общее количество запросов в сеансе, усредненное по каждому пользователю;
- доля в процентах навигационных запросов на пользователя (%-Nav-Q/U) для позиции переходов: если свыше n% всех переходов для запроса фокусируются на трех первых URL-адресах, этот запрос рассматривается как навигационный, в противном случае он обрабатывается как информационный; значение n может быть установлено равным 80;
- средняя длина запроса на пользователя (QL/U): количество слов в запросе пользователя;
- средняя доля успешных попыток на пользователя (QSuccess/U): запрос пользователя считается успешным, если пользователь выбирает один или несколько результатов и остается на любом из них более 30 секунд;
- средний интервал между запросами на пользователя (QI/U): средний интервал времени между двумя последовательными запросами пользователя в течение сеанса пользователя;
- время пребывания: время, затраченное пользователем на документ до возврата на страницу SERP.
[00122] Разумеется, что представленный выше список не является исчерпывающим и что он может включать в себя другие виды параметров действий пользователей без выхода за границы настоящей технологии.
[00123] Сервер 220 анализа может отправлять отслеженные параметры действий пользователей серверу 210 поисковой системы для хранения в журнале 218 действий пользователей. В некоторых вариантах осуществления изобретения сервер 220 анализа может хранить параметры действий пользователей и связанные с ними результаты поиска локально в журнале действий пользователей (не показан). В других не имеющих ограничительного характера вариантах реализации настоящей технологии функции сервера 220 анализа и сервера 210 поисковой системы могут быть реализованы в одном сервере.
[00124] К сети 200 связи также подключен вышеупомянутый сервер 230 обучения. Сервер 230 обучения может быть реализован как традиционный компьютерный сервер. В примере осуществления настоящей технологии сервер 230 обучения может быть реализован в виде сервера Dell™ PowerEdge™, работающего под управлением операционной системы Microsoft™ Windows Server™. Очевидно, что сервер 230 обучения может быть реализован с использованием любых других подходящих аппаратных средств и/или прикладного программного обеспечения и/или встроенного программного обеспечения либо их сочетания. В представленном не имеющем ограничительного характера варианте осуществления настоящей технологии сервер 230 обучения представляет собой один сервер. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии функции сервера 230 обучения могут быть распределены между несколькими серверами. В контексте настоящей технологии описанные здесь способы и система могут быть частично реализованы на сервере 230 обучения. В некоторых вариантах осуществления настоящей технологии сервер 230 обучения управляется и/или администрируется оператором поисковой системы. В качестве альтернативы, сервер 230 обучения может управляться и/или администрироваться другим поставщиком услуг.
[00125] В общем случае, сервер 230 обучения предназначен для обучения одного или нескольких алгоритмов MLA. Например, обученный таким образом алгоритм MLA может быть использован сервером 210 поисковой системы. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии обученный таким образом алгоритм MLA может быть использован сервером 220 анализа и/или другими серверами (не показаны), связанными с оператором поисковой системы.
[00126] Сервер 230 обучения может, например, обучать один или несколько алгоритмов MLA, связанных с сервером 210 поисковой системы и предназначенных для оптимизации общих и вертикальных веб-поисков, предоставления рекомендаций, прогнозирования итогов и других целей. Обучение и оптимизация алгоритмов MLA могут выполняться через заранее заданные промежутки времени или когда поставщик услуг поисковой системы сочтет это необходимым.
[00127] В представленных вариантах осуществления изобретения сервер 230 обучения может быть способным обучать (1) первый алгоритм MLA для ранжирования документов на сервере 210 поисковой системы, (2) второй алгоритм MLA для формирования признаков, предназначенных для использования первым алгоритмом MLA, и (3) третий алгоритм MLA для формирования обучающих наборов для обучения первого алгоритма MLA.
[00128] Первый алгоритм MLA, второй алгоритм MLA и третий алгоритм MLA более подробно описаны ниже. Несмотря на то, что это описание относится к общим веб-поискам документов, таких как веб-страницы, настоящая технология также может, по меньшей мере частично, применяться для вертикальных поисков и в отношении документов других видов, таких как результаты поиска изображений, видеоматериалы, музыка, новости, а также для поисков других видов.
[00129] На фиг. 2 представлена система 300 машинного обучения, соответствующая не имеющим ограничительного характера вариантам осуществления настоящей технологии. Система 300 машинного обучения содержит первый алгоритм 320 MLA, второй алгоритм 350 MLA и третий алгоритм 380 MLA.
[00130] В общем случае, первый алгоритм 320 MLA может быть использован для ранжирования результатов поиска на сервере поисковой системы и может реализовывать алгоритм градиентного бустинга дерева решений (GBRT, Gradient Boosted Decision Tree). Вкратце, алгоритм GBRT основан на деревьях решений, с использованием которых формируется прогнозирующая модель в виде ансамбля деревьев. Ансамбль деревьев строится поэтапно. Каждое последующее дерево решений в ансамбле деревьев решений фокусирует обучение на тех итерациях предыдущего дерева решений, которые были «слабыми учениками» на предыдущей итерации (или нескольких итерациях) построения ансамбля деревьев решений (т.е. были связанны с неудовлетворительным прогнозом или с большой ошибкой). Бустинг представляет собой способ, нацеленный на повышение качества прогнозирования алгоритмом MLA. В этом случае система использует прогноз не одного обученного алгоритма (одного дерева решений), а большого количества обученных алгоритмов (ансамбля деревьев решений) и принимает окончательное решение на основе нескольких результатов прогнозирования этими алгоритмами.
[00131] При бустинге деревьев решений первый алгоритм 320 MLA сначала строит первое дерево, затем второе дерево, улучшающее результат прогнозирования первым деревом, затем третье дерево, улучшающее результат прогнозирования первыми двумя деревьями, и т.д. Таким образом, первый алгоритм 320 MLA, в известном смысле, создает ансамбль деревьев решений, где каждое последующее дерево лучше предыдущего, в частности, ориентируясь на «слабых учеников» предыдущих итераций построения деревьев решений. Иными словами, каждое дерево строится на том же обучающем наборе обучающих объектов, тем не менее, обучающие объекты, для которых первое дерево допустило «ошибки» при прогнозировании, имеют приоритет при построении второго дерева и т.д. Эти «проблемные» обучающие объекты (для которых на предыдущих итерациях деревьев решений получались менее точные прогнозы) взвешиваются с весовыми коэффициентами по сравнению с объектами, для которых предыдущее дерево обеспечило удовлетворительный прогноз.
[00132] Таким образом, первый алгоритм 320 MLA может быть использован сервером 210 поисковой системы для сортировки и/или для регрессии и/или для ранжирования. Первый алгоритм 320 MLA может представлять собой основной алгоритм ранжирования сервера 210 поисковой системы или часть алгоритма ранжирования сервера 210 поисковой системы.
[00133] В общем случае, второй алгоритм 350 MLA предназначен для формирования признаков документа и/или запроса так, чтобы эти признаки могли быть использованы первым алгоритмом 320 MLA для ранжирования документов на основе коэффициента релевантности или третьим алгоритмом 380 MLA для формирования наборов обучающих объектов с целью обучения или повторного обучения первого алгоритма 320 MLA. В общем случае, признаки, сформированные вторым алгоритмом 350 MLA, могут быть использованы для сопоставления запросов и документов, для сравнения запросов и документов, для прогнозирования действий пользователя с документом, для сравнения двух запросов и определения их сходства и т.п.
[00134] В общем случае, третий алгоритм 380 MLA предназначен для формирования наборов обучающих объектов для использования при обучении первого алгоритма 320 MLA и/или второго алгоритма 350 MLA. Третий алгоритм 380 MLA способен формировать обучающий набор обучающих объектов, по меньшей мере частично, на основе признаков документа и/или запроса, сформированных первым алгоритмом 320 MLA и/или вторым алгоритмом 350 MLA, как более подробно описано ниже.
[00135] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии некоторые или все алгоритмы из числа первого алгоритма 320 MLA, второго алгоритма 350 MLA и третьего алгоритма 380 MLA могут быть реализованы в виде единого алгоритма MLA (не показан), выполняемого одним или несколькими серверами. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии один или несколько алгоритмов из числа первого алгоритма 320 MLA, второго алгоритма 350 MLA и третьего алгоритма 380 MLA могут быть реализованы распределенным образом.
[00136] На фиг. 3 представлен второй алгоритм 350 MLA, соответствующий не имеющим ограничительного характера вариантам осуществления настоящей технологии. Второй алгоритм 350 MLA может выполняться сервером 230 обучения.
[00137] Второй алгоритм 350 MLA включает в себя формирователь 420 векторов запросов и формирователь 450 параметров сходства. В общем случае, формирователь 420 векторов запросов второго алгоритма 350 MLA может быть способным получать, объединять, фильтровать и связывать вместе запросы, документы и параметры действий пользователей прошлых запросов, связанные с прошлыми поисками.
[00138] Формирователь векторов запросов
[00139] В общем случае, формирователь 420 векторов запросов может быть способным извлекать поисковые запросы, результаты поиска, представленные в ответ на поисковые запросы, и действия пользователей, связанные с каждым результатом поиска, чтобы формировать для каждого запроса вектор, содержащий информацию о результатах поиска и действиях пользователей, связанных с результатами поиска. В некоторых вариантах осуществления изобретения формирователь 420 векторов запросов может формировать такой вектор для каждого запроса на основе только результатов поиска.
[00140] Формирователь 420 векторов запросов может получать из журнала 216 запросов базы 212 данных журнала поиска указание на множество 402 поисковых запросов. В общем случае, каждый поисковый запрос 404 в указании на множество 402 поисковых запросов представляет собой поисковый запрос, ранее отправленный серверу 210 поисковой системы. В некоторых вариантах осуществления изобретения каждый поисковый запрос 404 в указании на множество 402 поисковых запросов может представлять собой ссылку на поисковый запрос, числовое представление поискового запроса или текст поискового запроса. Указание на множество 402 поисковых запросов может содержать заранее заданное количество поисковых запросов. Количество поисковых запросов 404 в указании на множество 402 поисковых запросов не ограничено. В не имеющем ограничительного характера примере указание на множество 402 поисковых запросов может содержать 10000000 наиболее популярных поисковых запросов, ранее отправленных пользователями (такими как пользователи первого клиентского устройства 110, второго клиентского устройства 120, третьего клиентского устройства 130 и четвертого клиентского устройства 140) серверу 210 поисковой системы.
[00141] В некоторых вариантах осуществления изобретения каждый поисковый запрос 404 в указании на множество 402 поисковых запросов может быть выбран на основе конкретных критериев, таких как популярность запроса на сервере 210 поисковой системы, лингвистические признаки поискового запроса 404, результаты поиска, связанные с поисковым запросом 404, и т.д. В других вариантах осуществления изобретения каждый поисковый запрос 404 в указании на множество 402 поисковых запросов может быть выбран случайным образом.
[00142] Формирователь 420 векторов запросов может получать из журнала 216 запросов и/или из журнала 228 действий пользователей указание на множество 406 результатов поиска. Это указание на множество 406 результатов поиска для каждого поискового запроса 404 в указании на множество 402 поисковых запросов содержит набор 408 результатов поиска, предоставленных в ответ на поисковый запрос 404.
[00143] Каждый результат 410 поиска из набора 408 результатов поиска может быть связан с одним или несколькими действиями 412 пользователей. В общем случае, каждое из одного или нескольких действий 412 пользователей может указывать на поведение одного или нескольких пользователей после отправки поискового запроса 404 серверу 210 поисковой системы, при этом один или несколько пользователей могли выбирать или иным образом действовать в отношении одного или нескольких результатов поиска в наборе 408 результатов поиска в течение сеанса поиска на сервере 210 поисковой системы, например, с использованием одного из первого клиентского устройства 110, второго клиентского устройства 120, третьего клиентского устройства 130 и четвертого клиентского устройства 140. В некоторых вариантах осуществления изобретения формирователь 420 векторов запросов может извлекать одно или несколько конкретных действий пользователей, подходящих для решения конкретной задачи, но не обязательно все действия пользователей, отслеженные и сохраненные в журнале 228 действий пользователей базы 212 данных журнала поиска.
[00144] В общем случае, одно или несколько действий 412 пользователей могут представлять собой обобщения действий множества пользователей (например, сколько раз в общей сложности был выбран результат 410 поиска) и могут не быть действиями отдельного пользователя (т.е. действиями, связанными с конкретным пользователем).
[00145] Затем формирователь 420 векторов запросов для каждого поискового запроса 404, связанного с набором 408 результатов поиска, рассчитывает вектор 442 запроса.
[00146] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии вектор 442 запроса для поискового запроса 404 содержит информацию из каждого набора 408 результатов поиска, включая результат 410 поиска и действие 412 пользователя. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии вектор 442 запроса для поискового запроса 404 содержит информацию из каждого набора 408 результатов поиска, включая результат 410 поиска (но без действия 412 пользователя). Иными словами, вектор 442 запроса для поискового запроса 404 содержит информацию из каждого набора 408 результатов поиска, включая результат 410 поиска и, опционально, действие 412 пользователя.
[00147] На способ представления каждого вектора 442 запроса не накладывается каких-либо ограничений. В общем случае, вектор 442 запроса содержит информацию о результатах поиска и, опционально, о действиях пользователей, отслеженных в связи с запросом, таким образом, чтобы его можно было сравнить с другим вектором и чтобы сходство двух запросов можно было оценить с использованием векторов запросов в качестве «посредников» при сравнении сходных поисковых запросов, сходных результатов поиска и пользовательских действий.
[00148] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии каждая строка или столбец вектора 442 запроса может быть связана с поисковым запросом 404 и может соответствовать результату 410 поиска из набора 408 результатов поиска, а каждый элемент может соответствовать наличию действия 412 пользователя. Например, элемент может быть равен 1, если имеется действие пользователя или если действие пользователя превышает заранее заданный порог, и равен 0, если действие пользователя отсутствует или если действие пользователя ниже заранее заданного порога. В других вариантах осуществления изобретения элемент вектора может иметь значение действия 412 пользователя, связанного с результатом 410 поиска. Вектор 442 запроса также может быть представлен в двоичном виде.
[00149] В некоторых вариантах осуществления изобретения, когда для результата 410 поиска учитывается несколько видов действий пользователей, каждый вектор 442 запроса может быть представлен в виде матрицы или может быть сформировано несколько векторов 442 запроса для каждого поискового запроса 404 (соответствующих разным видам действий пользователей).
[00150] В других не имеющих ограничительного характера вариантах осуществления настоящей технологии каждая строка или столбец вектора 442 запроса может быть связана с поисковым запросом 404 и может соответствовать результату 410 поиска из набора 408 результатов поиска. Иными словами, вектор 442 запроса может представлять (а) результат 410 поиска или (б) результат 410 поиска с указанием на наличие действия 412 пользователя.
[00151] Затем формирователь 420 векторов запросов может выдать множество 440 векторов запросов, в котором каждый вектор 442 запроса связан с поисковым запросом 404 в указании на множество 402 поисковых запросов.
[00152] В некоторых вариантах осуществления изобретения множество 440 векторов запросов может быть сохранено в базе данных обучения (не показана) сервера 230 обучения для последующего использования.
[00153] Формирователь параметров сходства
[00154] Формирователь 450 параметров сходства может в качестве входных данных принимать множество 440 векторов запросов и выдавать набор 460 параметров сходства, в котором каждый параметр 462 сходства содержит пару 464 запросов и значение 466 сходства, указывающее на степень сходства двух запросов в паре 464 запросов. Набор 460 параметров сходства рассматривается как оценка сходства двух поисковых запросов.
[00155] В общем случае, формирователь 450 параметров сходства предназначен для расчета значения 466 сходства для каждой возможной пары 464 запросов в указании на множество 402 поисковых запросов. Значение 466 сходства указывает на степень сходства запросов в паре 464 запросов на основании по меньшей мере одного из: (а) сходных результатов поиска, полученных в ответ на запросы из пары 464 запросов; и (б) действий пользователей со сходными результатами поиска. Степень сходства может быть оценена путем сравнения векторов запросов, связанных с каждым запросом в паре запросов.
[00156] В не имеющем ограничительного характера примере настоящего варианта осуществления изобретения значение 466 сходства для пары 464 запросов может быть получено путем скалярного умножения векторов 442 запросов из набора 440 векторов запросов. Значение 466 сходства может непосредственно указывать на сходство запросов на основе их результатов поиска и действий пользователей.
[00157] В не имеющем ограничительного характера примере значение 466 сходства, равное 10, может указывать на то, что два поисковых запроса в паре 464 запросов имеют по меньшей мере 10 сходных результатов поиска и что для 10 сходных результатов имеются действия пользователей, например, выраженные в виде коэффициента CTR (в качестве не имеющего ограничительного характера примера, для результата поиска наличие коэффициента CTR свыше заранее заданного порога 0,6 соответствует значению 1 в векторе запроса, а наличие коэффициента CTR ниже заранее заданного порога 0,6 соответствует значению 0).
[00158] В некоторых вариантах осуществления изобретения значение сходства может быть относительным, например, если имеется 10 сходных результатов поиска, имеющих коэффициент CTR, из общего количества результатов поиска, равного 20, то значение 466 сходства может быть равно 10/20=0,5 или 50%. В некоторых вариантах осуществления изобретения значение 466 сходства может быть взвешено на основе различных критериев. В других вариантах осуществления изобретения, где вектор 422 запроса содержит такие значения для каждого действия пользователя, значение 466 сходства может представлять собой результат скалярного умножения этих значений. В не имеющем ограничительного характера примере для пары 464 значений, имеющих 3 сходных результата поиска, с первым вектором запроса из пары 464 запросов, имеющим значения CTR (0,2 0,5 0,7) для 3 результатов поиска, и вторым вектором запроса из пары 464 запросов, имеющим значения CTR (0,65 0,2 0,4), для 3 результатов поиска, значение 466 сходства может быть рассчитано следующим образом: 0,2×(0,65)+0,5×(0,2)+0,7×(0,4)=0,51 (при этом несходные результаты могут игнорироваться).
[00159] В тех вариантах осуществления изобретения, где с каждым результатом поиска связаны действия пользователей нескольких видов, может быть предусмотрено несколько значений 466 сходства для каждой пары запросов (соответствующих разным видам действий пользователей) или значение 466 сходства может представлять собой сумму значений сходства.
[00160] В других вариантах осуществления изобретения для количественной оценки сходства запросов на основе сходных результатов поиска и действий пользователей могут использоваться другие известные способы, такие как близость косинусов углов, двудольные графы, коэффициент корреляции Пирсона и т.д.
[00161] Набор 460 параметров сходства может быть сохранен в базе данных обучения сервера 230 обучения. Следует отметить, что в других не имеющих ограничительного характера вариантах осуществления настоящей технологии набор 460 параметров сходства может быть сформирован в реальном времени, если набор 460 параметров сходства требуется для сравнения запросов, что более подробно описано ниже.
[00162] Описанная выше архитектура позволяет выполнять способ формирования набора обучающих объектов для обучения алгоритма MLA с целью определения сходства запросов на основе их текстового контента. В частности, не имеющие ограничительного характера варианты осуществления способа могут быть реализованы сервером 230 обучения с целью формирования обучающих наборов для обучения первого алгоритма 250 MLA, используемого сервером 210 поисковой системы для ранжирования результатов поиска, и/или второго алгоритма 350 MLA для формирования признаков, используемых первым алгоритмом 250 MLA.
[00163] Общее описание способа
[00164] В частности, не имеющие ограничительного характера варианты осуществления настоящей технологии относятся к формированию отрицательных обучающих примеров с использованием способа на основе близости запросов. Согласно некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии, способ на основе близости запросов используется для определения оценки сходства запросов в паре путем анализа сходных результатов поиска, предоставленных в ответ на запросы из этой пары.
[00165] В некоторых других не имеющих ограничительного характера вариантах осуществления настоящей технологии способ на основе близости запросов используется для определения оценки сходства запросов в паре путем анализа сходных результатов поиска, предоставленных в ответ на запросы из этой пары, и действий пользователя со сходными результатами поиска. В не имеющих ограничительного характера вариантах осуществления настоящей технологии способ на основе близости запросов используется для определения запросов в паре, которые (а) имеют высокую степень текстового совпадения, но отличаются друг от друга заранее заданным параметром различия, и (б) имеют низкую степень совпадения результатов поиска.
[00166] В по меньшей мере некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии близость запросов в паре определяется на основе высокой степени текстового совпадения (например, два поисковых запроса, отличающихся лишь одним словом или термином). В этих не имеющих ограничительного характера вариантах осуществления настоящей технологии различие двух запросов определяется на основе низкой степени совпадения результатов поиска (например, в случае отсутствия совпадения результатов или заранее заданной достаточно низкой степени совпадения результатов).
[00167] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии близость запросов в паре определяется на основе совпадения результатов поиска (независимо от наличия действий с ними). Например, два поисковых запроса могут рассматриваться как близкие, если они имеют по меньшей мере один совпадающий результат поиска (независимо от того, выбирался он пользователем или нет).
[00168] В этих не имеющих ограничительного характера вариантах осуществления настоящей технологии различие двух запросов определяется на основе малого количества совпадающих результатов поиска. Согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии, «малое» количество совпадающих результатов поиска может означать (а) достаточно малое заранее заданное количество совпадающих результатов (например, один, два, три и т.д.) и/или (б) то, что совпадающие результаты поиска находятся на низких позициях на страницах SERP (например, на второй странице, на десятой странице, на N-й странице и т.д.).
[00169] Таким образом, в общем случае, низкая степень совпадения результатов для двух страниц SERP, связанных с двумя прошлыми запросами, может проявляться следующим образом: (а) на двух страницах SERP отсутствуют совпадающие документы; (б) на двух страницах SERP отсутствуют совпадающие выбранные документы; (в) на двух страницах SERP совпадает заранее заданное максимальное количество документов; или (г) на двух страницах SERP совпадает заранее заданное количество из максимального количества выбранных документов.
[00170] Высокая степень текстового совпадения двух прошлых запросов может, например, проявляться в виде сходства терминов двух прошлых запросов. Иными словами, два запроса могут рассматриваться как имеющие высокую степень текстового совпадения, если запросы отличаются лишь одним термином (но, тем не менее, имеют различное значение, как показано в примере ниже).
[00171] В качестве примера можно рассмотреть следующие два прошлых поисковых запроса, отправленных поисковой системе прошлыми пользователями:
[00172] Запрос 1 - [restaurant on Queen Street]
[00173] Запрос 2 - [Queen Street gas-station]
[00174] Эти два прошлых запроса отличаются одним термином (т.е. «restaurant» и «gas-station»). Если страницы SERP, ранее предоставленные в ответ на эти два запроса, отличаются или если действия пользователей с этими прошлыми страницами SERP указывают на то, что этим двум прошлым запросам релевантны несовпадающие документы (т.е. отсутствуют совпадения результатов поиска на страницах SERP или отсутствуют совпадающие выбранные сходные результаты поиска на страницах SERP), эти запросы могут быть определены как сильно отличающиеся запросы и могут быть использованы в качестве отрицательных обучающих примеров.
[00175] В общем случае, согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии, близость или сходство прошлых поисковых запросов может быть определено за счет использования вектора запроса, т.е. вектора, содержащего информацию о документах, которые были представлены на страницах SERP и/или с которыми взаимодействовали пользователи на странице SERP, предоставленной прошлым пользователям в ответ на запрос, отправленный поисковой системе.
[00176] Например, каждый запрос из пары может быть связан с набором документов (Di), которые были предоставлены в качестве страницы SERP в ответ на этот запрос:
[00177] Запрос 1=[D1, _, _, D4, _, _, D7]
[00178] Запрос 2=[D1, _, D3, D4, _, _, D7]
[00179] Эти запросы могут рассматриваться как близкие запросы вследствие совпадения документов D1, D4 и D7.
[00180] В другом примере:
[00181] Запрос 1=[D1, _, _, D4, _, _, D7]
[00182] Запрос 2=[_, _, D3, _, _, D6, _]
[00183] Эти два прошлых запроса могут рассматриваться как запросы с несовпадающей историей выбора документов и, в этом смысле, без совпадающих документов (что должна определять настоящая технология).
[00184] Согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии, векторы документов для поискового запроса могут быть рассчитаны с использованием документов, представленных на странице SERP, документов, представленных на странице SERP и выбранных прошлыми пользователями, или некоторого сочетания этих двух подходов (т.е. совпадения документа, совпадения выбранного документа и т.д.).
[00185] В других не имеющих ограничительного характера вариантах осуществления настоящей технологии два запроса могут рассматриваться как близкие, если они имеют заранее заданное количество совпадающих результатов поиска. Например, можно рассмотреть следующие два случая.
[00186] Пара 1
[00187] Запрос 3=[D10, _, _, D15, _, _, D17]
[00188] Запрос 4=[D10, _, D13, D14, _, _, D18]
[00189] Пара 2
[00190] Запрос 5=[D21, _, D23, D24, _, _, D27]
[00191] Запрос 6=[D22, _, D23, D24, _, _, D27]
[00192] В представленном выше примере пара 1 и пара 2 могут рассматриваться как содержащие близкие запросы, если заранее заданное количество совпадающих результатов поиска равно по меньшей мере одному. В случае пары 1 совпадает один результат поиска, а в случае пары 2 совпадают три результата поиска.
[00193] В этом примере можно предложить, чтобы низкая степень совпадения результатов определялась максимальным количеством совпадающих результатов поиска, равным двум (независимо от ранга совпадающих результатов поиска). В этом случае считается, что пара 1 имеет низкую степень совпадения, поскольку в поисковых запросах пары 1 совпадает только один результат поиска.
[00194] При этом считается, что поисковые запросы пары 2 не удовлетворяют критерию низкой степени совпадения результатов, поскольку они имеют три совпадающих результата поиска.
[00195] В другом примере можно предложить, чтобы низкая степень совпадения результатов определялась любым количеством совпадающих результатов поиска, если они не занимают высокую позицию. Например, можно предложить, чтобы высокая позиция соответствовала только рангу номер один и рангу номер два. В этом случае пара 1 не может рассматриваться как имеющая низкую степень совпадения, поскольку совпадающие результаты поиска имеют ранг номер один.
[00196] При этом результаты поиска пары 2 будут рассматриваться как имеющие низкую степень совпадения результатов, поскольку они имеют три совпадающих результата поиска, но ни один из них не имеет высокого ранга (они имеют ранг номер три, четыре и семь).
[00197] Иными словами, в вариантах осуществления настоящей технологии используется известное разработчикам преимущество, заключающееся в том, что операторам поисковых систем, таких как Google™, Yandex™, Bing™, Yahoo™ и т.д., доступно большое количество данных о действиях пользователей, связанных с результатами поиска, предоставленными в ответ на пользовательские запросы, которые могут быть использованы для формирования параметров близости запросов для прошлых запросов с целью выбора конкретных пар прошлых поисковых запросов, которые могут быть использованы в качестве отрицательных обучающих примеров для обучения или повторного обучения алгоритма MLA, который после обучения должен использоваться на этапе использования с целью определения релевантности документа поисковому запросу.
[00198] Варианты осуществления настоящей технологии относятся к способу и системе для формирования обучающих наборов для обучения алгоритма MLA и, в частности, для формирования отрицательных примеров для обучающих наборов. Некоторые не имеющие ограничительного характера варианты осуществления настоящей технологии также предусматривают классификацию отрицательных примеров на простые и сложные примеры и выбор конкретных простых или сложных отрицательных примеров, в зависимости от поставленной цели обучения (т.е. конкретной целевой функции, например, предназначенной для обучения алгоритма MLA).
[00199] Способ (первый не имеющий ограничительного характера вариант осуществления)
[00200] На фиг. 4 представлена блок-схема способа 500, реализуемого согласно вариантам осуществления настоящей технологии, не имеющим ограничительного характера.
[00201] Шаг 502: получение из базы данных журнала поиска на сервере первого запроса, отправленного серверу и связанного с первым набором результатов поиска, где каждый результат поиска связан с параметром действий пользователя.
[00202] Способ 500 начинается с шага 502, на котором сервер 230 обучения получает из базы 212 данных журнала поиска первый запрос, отправленный серверу 210 поисковой системы и связанный с первым набором результатов поиска, каждый из которых связан с параметром действий пользователя.
[00203] Как описано выше, параметр действий пользователя указывает на то, взаимодействовал ли пользователь с результатом поиска (например, путем выбора результата поиска). Как описано выше, указание на параметр действий пользователя может быть отслежено сервером 220 анализа и сохранено в журнале 218 действий пользователей.
[00204] Шаг 504: получение из базы данных журнала поиска на основе терминов первого запроса набора запросов, каждый из которых ранее был отправлен серверу и отличается от первого запроса заранее заданным количеством терминов.
[00205] На шаге 504 сервер 230 обучения на основе терминов первого запроса получает из базы 212 данных журнала поиска набор запросов, каждый из которых ранее был отправлен серверу и отличается от первого запроса заранее заданным количеством терминов.
[00206] Определение сервером 230 обучения набора запросов, каждый из которых ранее был отправлен серверу и отличается от первого запроса заранее заданным количеством терминов, может выполняться на основе набора эвристических правил и лингвистического анализа поисковых запросов. Например, сервер 230 обучения может сравнивать любое сочетание пар поисковых запросов (пословно) с целью определения количества отличающихся слов в паре из двух поисковых запросов.
[00207] Шаг 506: получение из базы данных журнала поиска для каждого другого запроса из набора запросов другого набора результатов поиска, каждый из которых связан с параметром действий пользователя, при этом каждый другой набор результатов поиска содержит часть результатов поиска, отличающихся от результатов поиска в первом наборе результатов поиска.
[00208] На шаге 506 сервер 230 обучения получает из базы 212 данных журнала поиска для каждого другого запроса из набора запросов другой набор результатов поиска, каждый из которых связан с параметром действий пользователя, при этом каждый другой набор результатов поиска содержит часть результатов поиска, отличающихся от результатов поиска в первом наборе результатов поиска.
[00209] Шаг 508: расчет сервером оценки сходства первого запроса и другого запроса из набора запросов на основе первого набора результатов поиска и другого набора результатов поиска, а также на основе параметров действий пользователя в первом наборе результатов поиска и в другом наборе результатов поиска.
[00210] На шаге 508 сервер 230 обучения рассчитывает оценку сходства первого запроса и другого запроса из набора запросов на основе первого набора результатов поиска и другого набора результатов поиска, а также на основе параметров связанных с ними действий пользователя в первом наборе результатов поиска и в другом наборе результатов поиска.
[00211] Шаг 508 может быть выполнен с использованием формирователя 420 векторов запросов и формирователя 450 параметров сходства.
[00212] Шаг 510: определение сервером подмножества запросов из набора запросов на основе оценки сходства, меньшей заранее заданного порога сходства.
[00213] На шаге 510 сервер 230 обучения определяет подмножество запросов из набора запросов на основе оценки сходства, меньшей заранее заданного порога сходства.
[00214] Шаг 512: формирование набора обучающих объектов для использования в качестве отрицательных обучающих примеров для обучения алгоритма MLA, при этом каждый обучающий объект содержит первый запрос, другой запрос из подмножества запросов и оценку сходства первого запроса и другого запроса.
[00215] На шаге 512 сервер 230 обучения формирует набор обучающих объектов для использования в качестве отрицательных обучающих примеров для обучения алгоритма MLA, при этом каждый обучающий объект содержит первый запрос, другой запрос из подмножества запросов и оценку сходства первого запроса и другого запроса.
[00216] Согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии, сформированный таким образом набор обучающих объектов может быть использован, например, в качестве отрицательных примеров для обучения первого алгоритма 320 MLA. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сервер 230 обучения в качестве части способа 500 также может выполнять классификацию отрицательных примеров на простые и сложные примеры и выбор конкретных простых или сложных отрицательных примеров, в зависимости от поставленной цели обучения (т.е. конкретной целевой функции, например, предназначенной для обучения алгоритма MLA).
[00217] Способ (второй не имеющий ограничительного характера вариант осуществления)
[00218] На фиг. 5 представлена блок-схема способа 600, реализуемого согласно другим вариантам осуществления настоящей технологии, не имеющим ограничительного характера.
[00219] Шаг 602: получение из базы данных журнала поиска на сервере первого запроса, отправленного серверу и связанного с первым набором результатов поиска, каждый из которых связан с параметром действий пользователя.
[00220] Способ 600 начинается с шага 602, на котором сервер 230 обучения получает из базы 212 данных журнала поиска первый запрос, отправленный серверу 210 поисковой системы и связанный с первым набором результатов поиска, каждый из которых связан с параметром действий пользователя.
[00221] Как описано выше, параметр действий пользователя указывает на то, взаимодействовал ли пользователь с результатом поиска (например, путем выбора результата поиска). Как описано выше, указание на параметр действий пользователя может быть отслежено сервером 220 анализа и сохранено в журнале 218 действий пользователей.
[00222] Шаг 604: получение из базы данных журнала поиска на основе терминов первого запроса набора запросов, каждый из которых ранее был отправлен серверу и отличается от первого запроса заранее заданным количеством терминов.
[00223] На шаге 604 сервер 230 обучения получает из базы 212 данных журнала поиска на основе терминов первого запроса набор запросов, каждый из которых ранее был отправлен серверу и отличается от первого запроса заранее заданным количеством терминов.
[00224] Определение сервером 230 обучения набора запросов, каждый из которых ранее был отправлен серверу и отличается от первого запроса заранее заданным количеством терминов, может выполняться на основе набора эвристических правил и лингвистического анализа поисковых запросов. Например, сервер 230 обучения может сравнивать любое сочетание пар поисковых запросов (пословно) с целью определения количества отличающихся слов в паре из двух поисковых запросов.
[00225] Шаг 606: получение из базы данных журнала поиска для каждого другого запроса из набора запросов другого набора результатов поиска, каждый из которых связан с параметром действий пользователя, при этом каждый другой набор результатов поиска содержит часть результатов поиска, отличающихся от результатов поиска в первом наборе результатов поиска.
[00226] На шаге 606 сервер 230 обучения получает из базы 212 данных журнала поиска для каждого другого запроса из набора запросов другой набор результатов поиска, каждый из которых связан с параметром действий пользователя, при этом каждый другой набор результатов поиска содержит часть результатов поиска, отличающихся от результатов поиска в первом наборе результатов поиска.
[00227] Шаг 608: определение сервером подмножества запросов из набора запросов так, чтобы для пары в подмножестве запросов, содержащей первый запрос и другой запрос из подмножества запросов, различие запросов было минимизированным, а различие результатов поиска было максимизированным.
[00228] На шаге 608 сервер 230 обучения определяет подмножество запросов из набора запросов так, чтобы для пары в подмножестве запросов, содержащей первый запрос и другой запрос из подмножества запросов, различие запросов было минимизированным, а различие результатов поиска было максимизированным.
[00229] Шаг 608 может быть выполнен с использованием формирователя 420 векторов запросов и формирователя 450 параметров сходства.
[00230] Шаг 610: формирование набора обучающих объектов для использования в качестве отрицательных обучающих примеров для обучения алгоритма MLA, при этом каждый обучающий объект содержит первый запрос, другой запрос из подмножества запросов и указание на различие соответствующих результатов поиска.
[00231] На шаге 610 сервер 230 обучения формирует набор обучающих объектов для использования в качестве отрицательных обучающих примеров для обучения алгоритма MLA, при этом каждый обучающий объект содержит первый запрос, другой запрос из подмножества запросов и указание на различие соответствующих результатов поиска.
[00232] Способ (третий не имеющий ограничительного характера вариант осуществления)
[00233] В дополнительных не имеющих ограничительного характера вариантах осуществления настоящей технологии, в качестве альтернативы способу 500 или способу 600, вместо определения наиболее сложных примеров пар запросов на основе количества отличающихся слов в двух поисковых запросах, соответствующие шаги способа могут быть реализованы следующим образом.
[00234] В других, не имеющих ограничительного характера вариантах осуществления настоящей технологии два запроса могут рассматриваться как близкие, если они имеют заранее заданное количество совпадающих результатов поиска. В этих не имеющих ограничительного характера альтернативных вариантах осуществления настоящей технологии низкая степень совпадения результатов определяется, если совпадающих результатов мало (т.е. меньше заранее заданного порога) или они располагаются на низких позициях (т.е. результат ранжирования ниже заранее заданного порога).
[00235] Например, можно рассмотреть следующие два случая.
[00236] Пара 1
[00237] Запрос 3=[D10, _, _, D15, _, _, D17]
[00238] Запрос 4=[D10, _, D13, D14, _, _, D18]
[00239] Пара 2
[00240] Запрос 5=[D21, _, D23, D24, _, _, D27]
[00241] Запрос 6=[D22, _, D23, D24, _, _, D27]
[00242] В представленном выше примере пара 1 и пара 2 могут рассматриваться как содержащие близкие запросы, если заранее заданное количество совпадающих результатов поиска равно по меньшей мере одному. В случае пары 1 совпадает один результат поиска, а в случае пары 2 совпадают три результата поиска.
[00243] В этом примере можно предложить, чтобы низкая степень совпадения результатов определялась при максимальном количестве совпадающих результатов поиска, равном двум (независимо от ранга совпадающих результатов поиска). В этом случае считается, что пара 1 имеет низкую степень совпадения, поскольку в поисковых запросах пары 1 совпадает только один результат поиска.
[00244] При этом считается, что поисковые запросы пары 2 не удовлетворяют критерию низкой степени совпадения результатов, поскольку они имеют три совпадающих результата поиска.
[00245] В другом примере можно предложить, чтобы низкая степень совпадения результатов определялась при любом количестве совпадающих результатов поиска, если они не занимают высокую позицию. Например, можно предложить, чтобы высокая позиция соответствовала лишь рангу номер один и рангу номер два. В этом случае пара 1 не может рассматриваться как имеющая низкую степень совпадения, поскольку совпадающие результаты поиска имеют ранг номер один.
[00246] При этом результаты поиска пары 2 рассматриваются как имеющие низкую степень совпадения результатов, поскольку они имеют три совпадающих результата поиска, но ни один из них не имеет высокого ранга (они имеют ранг номер три, четыре и семь).
[00247] В некоторых из этих альтернативных не имеющих ограничительного характера вариантов осуществления настоящей технологии рассматривается лишь заранее заданное количество результатов с высшими позициями из пары страниц SERP, например, десять результатов с высшими позициями и т.п.
[00248] В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии десять результатов с высшими позициями дополнительно сравниваются с использованием следующей формулы:
POSITION_COMMON_URL(query1)*POSITION_COMMON_URL(query2)>const,
[00249] где POSITION_COMMON_URL(query) - средняя позиция, связанная с совпадающим результатом поиска, const - постоянное значение, выбранное эмпирически. Например, const может соответствовать значению 50.
[00250] Представленная выше формула (в случае ее истинности) соответствует результатам поиска, недостаточно релевантным каждому поисковому запросу в паре.
[00251] Настоящая технология позволяет обеспечить более эффективное формирование отрицательных примеров для обучения алгоритма MLA.
[00252] Очевидно, что не все упомянутые в данном описании технические эффекты должны присутствовать в каждом варианте осуществления настоящей технологии. Например, возможны варианты осуществления настоящей технологии, когда пользователь не получает некоторые из этих технических эффектов, или другие варианты реализации, когда пользователь получает другие технические эффекты либо технический эффект отсутствует.
[00253] Некоторые из этих шагов и передаваемых или принимаемых сигналов хорошо известны в данной области техники и по этой причине опущены в некоторых частях описания для упрощения. Сигналы могут передаваться или приниматься с использованием оптических средств (таких как волоконно-оптическое соединение), электронных средств (таких как проводное или беспроводное соединение) и механических средств (например, основанных на давлении, температуре или любом другом подходящем физическом параметре).
[00254] Для специалиста в данной области могут быть очевидными возможные изменения и усовершенствования описанных выше вариантов осуществления настоящей технологии. Предшествующее описание приведено исключительно в иллюстративных целях, а не для ограничения объема изобретения. Объем охраны настоящей технологии определяется исключительно объемом приложенной формулы изобретения.
название | год | авторы | номер документа |
---|---|---|---|
СПОСОБ И СИСТЕМА ДЛЯ РАСШИРЕНИЯ ПОИСКОВЫХ ЗАПРОСОВ С ЦЕЛЬЮ РАНЖИРОВАНИЯ РЕЗУЛЬТАТОВ ПОИСКА | 2018 |
|
RU2720905C2 |
СИСТЕМА И СПОСОБ ФОРМИРОВАНИЯ ОБУЧАЮЩЕГО НАБОРА ДЛЯ АЛГОРИТМА МАШИННОГО ОБУЧЕНИЯ | 2017 |
|
RU2711125C2 |
СПОСОБ И СИСТЕМА ГЕНЕРИРОВАНИЯ ПРИЗНАКА ДЛЯ РАНЖИРОВАНИЯ ДОКУМЕНТА | 2018 |
|
RU2733481C2 |
СПОСОБ И СЕРВЕР ДЛЯ ПОВТОРНОГО ОБУЧЕНИЯ АЛГОРИТМА МАШИННОГО ОБУЧЕНИЯ | 2019 |
|
RU2743932C2 |
СПОСОБ И СИСТЕМА ВЫБОРА ДЛЯ РАНЖИРОВАНИЯ ПОИСКОВЫХ РЕЗУЛЬТАТОВ С ПОМОЩЬЮ АЛГОРИТМА МАШИННОГО ОБУЧЕНИЯ | 2018 |
|
RU2731658C2 |
СПОСОБ И СИСТЕМА СОЗДАНИЯ ВЕКТОРОВ АННОТАЦИИ ДЛЯ ДОКУМЕНТА | 2017 |
|
RU2720074C2 |
Система и способ для формирования обучающего набора для алгоритма машинного обучения | 2020 |
|
RU2790033C2 |
СПОСОБ И СЕРВЕР ДЛЯ ОБУЧЕНИЯ АЛГОРИТМА МАШИННОГО ОБУЧЕНИЯ РАНЖИРОВАНИЮ ОБЪЕКТОВ | 2020 |
|
RU2782502C1 |
СПОСОБ И СИСТЕМА ПОСТРОЕНИЯ ПОИСКОВОГО ИНДЕКСА С ИСПОЛЬЗОВАНИЕМ АЛГОРИТМА МАШИННОГО ОБУЧЕНИЯ | 2018 |
|
RU2720954C1 |
СПОСОБ И СЕРВЕР ГЕНЕРИРОВАНИЯ МЕТА-ПРИЗНАКА ДЛЯ РАНЖИРОВАНИЯ ДОКУМЕНТОВ | 2018 |
|
RU2721159C1 |
Изобретение относится к способам и системе формирования набора обучающих объектов для обучения выполняемого сервером алгоритма машинного обучения (MLA). Технический результат заключается в повышении эффективности обучения MLA. В способе выполняют получение первого запроса, отправленного серверу и связанного с первым набором результатов поиска, связанных с параметром действий пользователя; получение на основе терминов первого запроса набора запросов, ранее отправленных серверу, отличающихся от первого запроса заданным количеством терминов; получение для набора запросов набора результатов поиска, отличающихся от результатов поиска в первом наборе результатов поиска; расчет оценки сходства первого запроса и запросов из набора запросов на основе первого набора результатов поиска, других наборов результатов поиска и параметров действий пользователя в первом и в других наборах результатов поиска; определение подмножества запросов из набора запросов на основе оценки сходства, меньшей заранее заданного порога сходства; формирование набора обучающих объектов для использования в качестве отрицательных обучающих примеров для обучения MLA, при этом каждый обучающий объект содержит первый запрос, другой запрос из подмножества запросов и оценку сходства первого запроса и другого запроса. 4 н. и 23 з.п. ф-лы, 5 ил.
1. Компьютерный способ формирования набора обучающих объектов для обучения выполняемого сервером алгоритма машинного обучения (MLA) с целью определения сходства запросов на основе их текстового контента, выполняемый сервером, включающий в себя:
- получение из базы данных журнала поиска на сервере первого запроса, отправленного серверу и связанного с первым набором результатов поиска, каждый из которых связан с параметром действий пользователя;
- получение из базы данных журнала поиска на основе терминов первого запроса набора запросов, каждый из которых ранее был отправлен серверу и отличается от первого запроса заранее заданным количеством терминов;
- получение из базы данных журнала поиска для каждого другого запроса из набора запросов другого набора результатов поиска, каждый из которых связан с параметром действий пользователя, при этом каждый другой набор результатов поиска содержит часть результатов поиска, отличающихся от результатов поиска в первом наборе результатов поиска;
- расчет сервером оценки сходства первого запроса и каждого другого запроса из набора запросов на основе первого набора результатов поиска и каждого другого набора результатов поиска, а также на основе параметров действий пользователя в первом наборе результатов поиска и в каждом другом наборе результатов поиска;
- определение сервером подмножества запросов из набора запросов на основе оценки сходства, меньшей заранее заданного порога сходства; и
- формирование набора обучающих объектов для использования в качестве отрицательных обучающих примеров для обучения алгоритма MLA, при этом каждый обучающий объект содержит первый запрос, другой запрос из подмножества запросов и оценку сходства первого запроса и другого запроса.
2. Способ по п. 1, отличающийся тем, что заранее заданное количество отличающихся терминов равно одному термину.
3. Способ по п. 2, отличающийся тем, что часть результатов поиска, отличающихся от результатов поиска в первом наборе результатов поиска, содержит все результаты поиска для всех подмножеств запросов, не совпадающие с результатами поиска для первого запроса.
4. Способ по п. 2, отличающийся тем, что часть результатов поиска, отличающихся от результатов поиска в первом наборе результатов поиска, содержит
подмножество результатов поиска для всех подмножеств запросов с параметрами действий пользователя, не совпадающими с параметрами действий пользователя с результатами поиска для первого запроса.
5. Способ по п. 4, отличающийся тем, что несовпадающие параметры действий пользователя указывают на то, что прошлые пользователи выбирали различающиеся результаты поиска в первом наборе результатов поиска и в другом наборе результатов поиска.
6. Способ по п. 2, отличающийся тем, что часть результатов поиска, отличающихся от результатов поиска в первом наборе результатов поиска, содержит заранее заданное количество несовпадающих результатов поиска.
7. Способ по п. 3, отличающийся тем, что обучающие объекты, представляющие собой отрицательный обучающий пример, способны обучать алгоритм MLA фокусироваться на различии результатов поиска в том, что первый запрос и другой запрос отличаются одним термином.
8. Способ по п. 1, отличающийся тем, что расчет оценки сходства первого запроса и другого запроса из набора запросов включает в себя:
- формирование первого вектора запроса для первого запроса;
- формирование второго вектора запроса для каждого другого запроса из этого набора; при этом расчет оценки сходства основан на умножении косинусов углов для первого вектора запроса и для второго вектора запроса.
9. Способ по п. 8, отличающийся тем, что формирование первого вектора запроса включает в себя формирование первого вектора запроса на основе первого набора результатов поиска и параметров действий пользователей в первом наборе результатов поиска.
10. Способ по п. 8, отличающийся тем, что формирование второго вектора запроса включает в себя формирование второго вектора запроса на основе другого набора результатов поиска, связанных с этим запросом, и параметров действий пользователей в другом наборе результатов поиска.
11. Способ по п. 8, отличающийся тем, что заранее заданный порог сходства основан на результате умножения косинусов углов, указывающем на сходство первого вектора запроса и второго вектора запроса.
12. Способ по п. 8, отличающийся тем, что второй обученный алгоритм MLA способен формировать первый вектор запроса и второй вектор запроса.
13. Способ по п. 1, отличающийся тем, что параметр действий пользователя содержит по меньшей мере одно из следующего: количество «кликов», коэффициент «кликов» (CTR), время пребывания, глубину «кликов», коэффициент «ненужных просмотров» и среднее время, затраченное на документ.
14. Способ по п. 1, отличающийся тем, что он дополнительно включает в себя классификацию каждого подмножества запросов из множества запросов на:
- сложные отрицательные примеры на основе оценки сходства, меньшей заранее заданного порога сходства; и
- простые отрицательные примеры на основе оценки сходства, большей заранее заданного порога сходства.
15. Способ по п. 1, отличающийся тем, что он дополнительно включает в себя выбор простого отрицательного примера или сложного отрицательного примера на основе целевой функции, предназначенной для обучения алгоритма MLA.
16. Компьютерный способ формирования набора обучающих объектов для обучения выполняемого сервером алгоритма машинного обучения (MLA) с целью определения сходства запросов на основе их текстового контента, выполняемый сервером и включающий в себя:
- получение из базы данных журнала поиска на сервере первого запроса, отправленного серверу и связанного с первым набором результатов поиска, каждый из которых связан с параметром действий пользователя;
- получение из базы данных журнала поиска на основе терминов первого запроса набора запросов, каждый из которых ранее был отправлен серверу и отличается от первого запроса заранее заданным количеством терминов;
- получение из базы данных журнала поиска для каждого другого запроса из набора запросов другого набора результатов поиска, каждый из которых связан с параметром действий пользователя, при этом каждый другой набор результатов поиска содержит часть результатов поиска, отличающихся от результатов поиска в первом наборе результатов поиска;
- определение сервером подмножества запросов из набора запросов так, чтобы для пары в подмножестве запросов, содержащей первый запрос и другой запрос из подмножества запросов, различие запросов было минимизированным, а различие результатов поиска было максимизированным;
- формирование набора обучающих объектов для использования в качестве отрицательных обучающих примеров для обучения алгоритма MLA, при этом каждый обучающий объект содержит первый запрос, другой запрос из подмножества запросов и указание на различие результатов поиска.
17. Способ по п. 16, отличающийся тем, что различие запросов минимизировано, если запросы отличаются лишь заранее заданным небольшим количеством терминов запроса, а различие результатов максимизировано, если результаты поиска отличаются заранее заданным большим количеством результатов поиска.
18. Способ по п. 17, отличающийся тем, что первый запрос и другой запрос из подмножества запросов дополнительно выбираются на основе действий пользователей с совпадающими результатами поиска так, чтобы различие результатов поиска дополнительно максимизировалось.
19. Способ по п. 16, отличающийся тем, что различие запросов определяется на основе количества совпадающих результатов поиска, большего первого заранее заданного порога, а различие результатов определяется на основе количества совпадающих результатов поиска, меньшего второго заранее заданного порога.
20. Система для формирования набора обучающих объектов для обучения выполняемого сервером алгоритма машинного обучения (MLA), содержащая процессор и машиночитаемый физический носитель информации, содержащий команды, при этом процессор выполнен с возможностью выполнения следующих действий при выполнении команд:
- получение из базы данных журнала поиска на сервере первого запроса, отправленного серверу и связанного с первым набором результатов поиска, каждый из которых связан с параметром действий пользователя;
- получение из базы данных журнала поиска на основе терминов первого запроса набора запросов, каждый из которых ранее был отправлен серверу и отличается от первого запроса заранее заданным количеством терминов;
- получение из базы данных журнала поиска для каждого другого запроса из набора запросов другого набора результатов поиска, каждый из которых связан с параметром действий пользователя, при этом каждый другой набор результатов поиска содержит часть результатов поиска, отличающихся от результатов поиска в первом наборе результатов поиска;
- расчет сервером оценки сходства первого запроса и каждого другого запроса из набора запросов на основе первого набора результатов поиска и каждого другого набора результатов поиска, а также на основе параметров действий пользователя в первом наборе результатов поиска и в каждом другом наборе результатов поиска;
- определение сервером подмножества запросов из набора запросов на основе оценки сходства меньшей заранее заданного порога сходства; и
- формирование набора обучающих объектов для использования в качестве отрицательных обучающих примеров для обучения алгоритма MLA, при этом каждый обучающий объект содержит первый запрос, другой запрос из подмножества запросов и оценку сходства первого запроса и другого запроса.
21. Компьютерный способ формирования набора обучающих объектов для обучения выполняемого сервером алгоритма машинного обучения (MLA) с целью определения сходства запросов на основе их текстового контента, выполняемый сервером и включающий в себя:
- получение из базы данных журнала поиска на сервере первого запроса, отправленного серверу и связанного с первым набором результатов поиска, каждый из которых связан с параметром действий пользователя;
- получение из базы данных журнала поиска на основе терминов первого запроса набора запросов, каждый из которых ранее был отправлен серверу и содержит совпадающие с результатами поиска первого запроса результаты поиска, количество которых больше заранее заданного первого порога;
- получение из базы данных журнала поиска для каждого другого запроса из набора запросов другого набора результатов поиска, каждый из которых связан с параметром действий пользователя, при этом каждый другой набор результатов поиска содержит совпадающие результаты поиска, количество которых меньше заранее заданного второго порога;
- определение сервером подмножества запросов из набора запросов так, чтобы для пары в подмножестве запросов, содержащей первый запрос и другой запрос из подмножества запросов, различие запросов было минимизированным, а различие результатов поиска было максимизированным;
- формирование набора обучающих объектов для использования в качестве отрицательных обучающих примеров для обучения алгоритма MLA, при этом каждый обучающий объект содержит первый запрос, другой запрос из подмножества запросов и указание на различие результатов поиска.
22. Способ по п. 21, отличающийся тем, что заранее заданный второй порог представляет собой число.
23. Способ по п. 21, отличающийся тем, что заранее заданный второй порог представляет собой позицию в наборе результатов поиска.
24. Способ по п. 21, отличающийся тем, что заранее заданный первый порог меньше заранее заданного второго порога.
25. Способ по п. 21, отличающийся тем, что количество совпадающих результатов поиска определяется только для N результатов с высшими позициями из другого набора результатов поиска.
26. Способ по п. 25, отличающийся тем, что N результатов с высшими позициями соответствуют 10 результатам с высшими позициями.
27. Способ по п. 21, отличающийся тем, что минимизация различия запросов обеспечивается за счет использования заранее заданного первого порога, равного по меньшей мере одному, а максимизация различия результатов поиска обеспечивается за счет использования заранее заданного второго порога, соответствующего (а) достаточно малому числу или (б) низкой позиции в результатах поиска.
Устройство для закрепления лыж на раме мотоциклов и велосипедов взамен переднего колеса | 1924 |
|
SU2015A1 |
US 6418432 B1, 09.07.2002 | |||
Способ приготовления лака | 1924 |
|
SU2011A1 |
Приспособление для суммирования отрезков прямых линий | 1923 |
|
SU2010A1 |
СПОСОБ СОЗДАНИЯ ОБУЧАЮЩЕГО ОБЪЕКТА ДЛЯ ОБУЧЕНИЯ АЛГОРИТМА МАШИННОГО ОБУЧЕНИЯ | 2016 |
|
RU2637883C1 |
СПОСОБЫ И СИСТЕМЫ ДЛЯ ОЦЕНКИ ОБУЧАЮЩИХ ОБЪЕКТОВ ПОСРЕДСТВОМ АЛГОРИТМА МАШИННОГО ОБУЧЕНИЯ | 2017 |
|
RU2672394C1 |
Авторы
Даты
2021-03-02—Публикация
2018-12-29—Подача