ОБЛАСТЬ ТЕХНИКИ
[001] Настоящая технология относится к алгоритмам машинного обучения и, конкретнее, к способу и системе создания векторов аннотации для документа.
УРОВЕНЬ ТЕХНИКИ
[001] Алгоритмы машинного обучения (MLA) используются для различных задач в компьютерных технологиях. Обычно, MLA используются для создания прогнозов, связанных с пользовательским взаимодействием с компьютерным устройством. Примером сферы использования MLA является пользовательское взаимодействие с содержимым, доступным, например, в сети Интернет.
[002] Объем доступной информации на различных интернет-ресурсах экспоненциально вырос за последние несколько лет. Были разработаны различные решения, которые позволяют обычному пользователю находить информацию, которую он(а) ищет. Примером такого решения является поисковая система. Примеры поисковых систем включают в себя такие поисковые системы как GOOGLE™, YANDEX™, YAHOO!™ и другие. Пользователь может получить доступ к интерфейсу поисковой системы и подтвердить поисковый запрос, связанный с информацией, которую пользователь хочет найти в Интернете. В ответ на поисковый запрос поисковые системы предоставляют ранжированный список результатов поиска. Ранжированный список результатов поиска создается на основе различных алгоритмов ранжирования, которые реализованы в конкретной поисковой системе, и которые используются пользователем, производящим поиск. Общей целью таких алгоритмов ранжирования является представление наиболее релевантных результатов вверху ранжированного списка, а менее релевантных результатов - на менее высоких позициях ранжированного списка результатов поиска (а наименее релевантные результаты поиска будут расположены внизу ранжированного списка результатов поиска).
[003] Поисковые системы обычно являются хорошим поисковым инструментом в том случае, когда пользователю заранее известно, что именно он(а) хочет найти. Другими словами, если пользователь заинтересован в получении информации о наиболее популярных местах в Италии (т.е. поисковая тема известна), пользователь может ввести поисковый запрос: «Наиболее популярные места в Италии». Поисковая система предоставит ранжированный список интернет-ресурсов, которые потенциально являются релевантными по отношению к поисковому запросу. Пользователь далее может просматривать ранжированный список результатов поиска для того, чтобы получить информацию, в которой он заинтересован, в данном случае - о посещаемых местах в Италии. Если пользователь по какой-либо причине не удовлетворен представленными результатами, пользователь может произвести вторичный поиск, уточнив запрос, например «наиболее популярные места в Италии летом», «наиболее популярные места на юге Италии», «Наиболее популярные места в Италии для романтичного отдыха».
[004] В примере поисковой системы, алгоритм машинного обучения (MLA) используется для создания ранжированных поисковых результатов. Когда пользователь вводит поисковый запрос, поисковая система создает список релевантных веб-ресурсов (на основе анализа просмотренных веб-ресурсов, указание на которые хранится в базе данных поискового робота в форме списков словопозиций или тому подобного). Далее поисковая система выполняет MLA для ранжирования таким образом созданного списка поисковых результатов. MLA ранжирует список поисковых результатов на основе их релевантности для поискового запроса. Подобный MLA "обучается" для прогнозирования релевантности данного поискового результата для поискового запроса на основе множества "факторов", связанных с данным поисковым результатом, а также указаний на взаимодействия прошлых пользователей с поисковыми результатами, когда они вводили аналогичные поисковые запросы в прошлом.
[005] Нейронные сети и MLA, основанные на глубинном обучении, полезны для ранжирования веб-ресурсов в ответ на запросы. Вкратце, нейронные сети обычно организованы в слои, которые созданы из множества взаимосвязанных узлов, содержащих функции активации. Паттерны могут быть представлены сети с помощью слоя ввода, соединенного с невидимыми слоями, и обработка может осуществляться с помощью взвешенных связей узлов. Далее ответ выводится с помощью слоя вывода, соединенного с невидимыми слоями.
[002] Было разработано множество методик для улучшения различных MLA, включая нейронные сети, которые используются для ранжирования веб-ресурсов.
[003] Американская патентная заявка №7,895,235, озаглавленная "Извлечение семантических связей из журналов запросов''' и выданная 22 февраля 2011 года компании "Yahoo!", описывает способы, системы и устройства для связывания запросов из журнала запросов. Журнал запросов содержит список из множества запросов и набор URL для каждого запроса, по которому был совершен клик. Каждый запрос считается узлом из множества узлов. Определяется множество ребер. URL считается ребром для пары запросов, если считается, что по URL был совершен клик в наборах URL, по которым был совершен клик, для обоих запросов из пары. Узлы и ребра отображены в графе. Каждое ребро может отображаться в графе в виде линии, соединяющей пару узлов, которые соответствуют паре запросов пары узлов. Ребра могут классифицироваться. Кроме того, ребра и/или узлы могут быть взвешены. Ребра и/или узла могут быть отфильтрованы и не отображаться на основе их взвешенных коэффициентов и/или других критериев.
[004] Американская заявка №8,543,668, озаглавленная "Отслеживание кликов с помощью стилей ссылок''' и выданная 24 сентября 2013 компании "Google Inc.", описывает системы и устройства для отслеживания кликов по ссылкам на странице результатов поиска. Одним объектом настоящей технологии является способ, включающий в себя создание одной или нескольких веб-страниц, каждая из которых включает в себя ссылку на конечный документ; указание на стиль ссылки на каждой веб-странице в соответствии с языком таблицы стилей, причем стиль указывает на триггер поведения, указывающий на выбор пользователем ссылки и свойство отображения, которое вызывает извлечение ресурса с удаленного сервера, когда активируется триггер поведения; предоставление веб-страниц с конкретным стилем множеству клиентов; получение на удаленном сервере одного или нескольких запросов по меньшей мере от одного из множества клиентом для ресурса; и, в ответ на получение, запись счетчика для выбора пользователем конечного документа на основе ряда полученных запросов на ресурс.
[005] Американская патентная заявка №9,507,861, озаглавленная "Улучшенное переформулирование запросов с помощью анализа журнала кликов" и выданная 29 ноября, 2016 компании "Microsoft Technology Licensing LLC", описывает системы, способы и компьютерный носитель для идентификации связанных строк для переформулирования поискового запроса. Идентифицируются данные сессии для сессии с поисковыми запросами пользователя среди доступных данных журнала кликов. Определяется, связан ли первый дополнительный поисковый запрос в данных сессии с первым пользовательским поисковым запросом, на основе по меньшей мере одного из: времени пребывания; числа ссылок на поисковые результаты, по которым были совершены клики; и сходства между заголовками веб-страниц или едиными указателями ресурса (URL). В случае если они связаны, первый дополнительный поисковый запрос добавляется в список строк, относящихся к первому пользовательскому поисковому запросу. Также определяются одна или несколько дополнительных строк, которые связаны с первым пользовательским поисковым запросом. Определенные дополнительные строки также добавляются в список строк, связанных с первым пользовательским поисковым запросом.
РАСКРЫТИЕ ТЕХНОЛОГИИ
[006] Разработчики настоящего технического решения рассматривали по меньшей мере одну проблему, соответствующую известному уровню техники.
[007] Разработчики настоящей технологии разработали варианты осуществления настоящей технологии на основе класса моделей глубокого обучения, также известных как Deep Structured Semantic Model (DSSM). Коротко говоря, DSSM является глубокой нейронной сетью, которая получает вводимые запросы и документы, и проецирует их в общее пространство с низкой размерностью, где релевантность документа для запроса вычисляется как расстояние между ними. Подобный подход обычно сочетается с методиками хэширования слов, которые позволяют обращаться с большими словарями и масштабировать семантические модели, используемые DSSM. DSSM позволяет прогнозировать связи между двумя текстами на основе пользовательского поведения и может прогнозировать, среди прочего, был ли совершен клик на документ или нет.
[008] Настоящая технология выполнен с возможностью создавать свойства и обучающие данные для нейронной сети на основе модифицированной вариации DSSM, которая далее может использоваться алгоритмами ранжирования, такими как MatrixNet компанией YANDEX™, для ранжирования документов на основе их релевантности данному поисковому запросу в поисковой системе.
[009] Конкретнее, разработчики настоящей технологии обратили внимание, что операторы поисковых систем, такие как Google™, Yandex™, Bing™ и Yahoo™, среди прочего, обладают доступом к большому числу данных пользовательского взаимодействия в отношении поисковых результатов, отображающихся в ответ на пользовательские запросы, которые могут быть использованы для создания векторов аннотации для документа, доступного с помощью различных запросов. Подобные векторы аннотации могут предоставлять полезную информацию и свойства для обучения модифицированной модели DSSM, нейронных сетей и алгоритмов ранжирования.
[0010] Таким образом, варианты осуществления настоящей технологии направлены на способ и систему для создания векторов аннотации для документа.
[0011] Первым объектом настоящей технологии является способ создания множества векторов аннотации для документа, которые предназначены для использования в качестве факторов первым алгоритмом машинного обучения (MLA) для извлечения информации, причем способ используется вторым MLA на сервере, который соединен с базой данных поискового журнала, способ включает в себя: извлечение вторым MLA из базы данных поискового журнала, документа, который был индексирован сервером поисковой системы, извлечение вторым MLA из базы данных поискового журнала множества запросов, которые были использованы для обнаружения документа на сервере поисковой системы, причем множество запросов было введено множеством пользователей, извлечение вторым MLA из базы данных поискового журнала, множество параметров пользовательского взаимодействия для каждого из множества запросов, причем множество параметров пользовательского взаимодействия связано со множеством пользователей, создание вторым MLA множества векторов аннотации, причем каждый вектор аннотации связан с соответствующим запросом из множества запросов, причем каждый вектор аннотации из множества векторов аннотации включает в себя указание на: соответствующий запрос, множество факторов запроса, причем множество факторов запроса по меньшей мере указывает на лингвистические факторы соответствующего запрос, и множество параметров пользовательского взаимодействия, которые указывают на пользовательское поведение с документом по меньшей мере части из множества пользователей после ввода соответствующего запроса на сервер поисковой системы.
[0012] В некоторых вариантах осуществления технологии, множество факторов запроса далее включает в себя по меньшей мере одно из: семантические факторы запроса, грамматические свойства запроса и лексические свойства запроса.
[0013] В некоторых вариантах осуществления технологии, способ далее включает в себя, до создания множества векторов аннотации: извлечение вторым MLA по меньшей мере части множества факторов запроса из второй базы данных.
[0014] В некоторых вариантах осуществления технологии, способ далее включает в себя, после извлечения по меньшей мере части из множества факторов запроса из второй базы данных: создание вторым MLA по меньшей мере другой части из множества факторов запроса.
[0015] В некоторых вариантах осуществления технологии, способ далее включает в себя: создание вторым MLA среднего вектора аннотации для документа, причем по меньшей мере части среднего вектора аннотации является средним по меньшей мере для части из множества векторов аннотации, и сохранение вторым MLA среднего вектора аннотации, причем средний вектор аннотации связан с документом.
[0016] В некоторых вариантах осуществления технологии, способ далее включает в себя кластеризацию вторым MLA множества векторов аннотации для документа на заранее определенное число кластером, причем кластеризация основана по меньшей мере на одном из: множестве факторов запроса и множестве параметров пользовательских взаимодействий; создание вторым MLA среднего вектора аннотации для каждого из кластеров; и сохранение вторым MLA среднего вектора аннотации для каждого из кластеров, который связан с документом.
[0017] В некоторых вариантах осуществления технологии, создание множества векторов аннотации включает в себя: взвешивание по меньшей мере одного элемента каждого вектора аннотации с помощью соответствующего взвешивающего фактора, который указывает на относительную важность элемента для кластеризации.
[0018] В некоторых вариантах осуществления технологии, по меньшей мере один параметр пользовательского взаимодействия для каждого запроса включает в себя по меньшей мере одно из: число кликов, кликабельность (CTR), время пребывания, глубина просмотра, показатель отказов и среднее время, проведенное над документом.
[0019] В некоторых вариантах осуществления технологии, кластеризация осуществляется с помощью одного из: алгоритма кластеризации k-средних, алгоритма кластеризации ожидаемой максимизации, алгоритма кластеризации наиболее удаленных первых, алгоритма иерархической кластеризации, алгоритма cobweb-кластеризации и алгоритма кластеризации на основе плотности.
[0020] В некоторых вариантах осуществления технологии, каждый кластер из заранее определенного числа кластеров, по меньшей мере частично указывает на другое семантическое значение.
[0021] В некоторых вариантах осуществления технологии, каждый кластер из заранее определенного числа кластеров, по меньшей мере частично указывает на сходство в пользовательском поведении.
[0022] Вторым объектом настоящей технологии является система создания множества векторов аннотации для документа, которые предназначены для использования в качестве факторов первым алгоритмом машинного обучения (MLA) для извлечения информации, причем система используется вторым MLA системы, которая включает в себя: процессор, постоянный машиночитаемый носитель, содержащий инструкции, причем процессор, при выполнении инструкций, выполнен с возможностью осуществлять: извлечение вторым MLA из базы данных поискового журнала, документа, который был индексирован сервером поисковой системы, извлечение вторым MLA из базы данных поискового журнала множества запросов, которые были использованы для обнаружения документа на сервере поисковой системы, причем множество запросов было введено множеством пользователей, извлечение вторым MLA из базы данных поискового журнала, множество параметров пользовательского взаимодействия для каждого из множества запросов, причем множество параметров пользовательского взаимодействия связано со множеством пользователей, создание вторым MLA множества векторов аннотации, причем каждый вектор аннотации связан с соответствующим запросом из множества запросов, причем каждый вектор аннотации из множества векторов аннотации включает в себя указание на: соответствующий запрос, множество факторов запроса, причем множество факторов запроса по меньшей мере указывает на лингвистические факторы соответствующего запрос, и множество параметров пользовательского взаимодействия, которые указывают на пользовательское поведение с документом по меньшей мере части из множества пользователей после ввода соответствующего запроса на сервер поисковой системы.
[0023] В некоторых вариантах осуществления технологии, множество факторов запроса далее включает в себя по меньшей мере одно из: семантические факторы запроса, грамматические свойства запроса и лексические свойства запроса.
[0024] В некоторых вариантах осуществления технологии, процессор далее выполнен с возможностью осуществлять, до создания множества векторов аннотации: извлечение вторым MLA по меньшей мере части множества факторов запроса из второй базы данных.
[0025] В некоторых вариантах осуществления технологии, процессор далее выполнен с возможностью, после извлечения по меньшей мере части из множества факторов запроса из второй базы данных, осуществлять: создание вторым MLA по меньшей мере другой части из множества факторов запроса.
[0026] В некоторых вариантах осуществления технологии, процессор далее выполнен с возможностью осуществлять: создание вторым MLA среднего вектора аннотации для документа, причем по меньшей мере части среднего вектора аннотации является средним по меньшей мере для части из множества векторов аннотации, и сохранение вторым MLA среднего вектора аннотации, причем средний вектор аннотации связан с документом.
[0027] В некоторых вариантах осуществления технологии, процессор далее выполнен с возможностью осуществлять: кластеризацию вторым MLA множества векторов аннотации для документа на заранее определенное число кластером, причем кластеризация основана по меньшей мере на одном из: множестве факторов запроса и множестве параметров пользовательских взаимодействий; создание вторым MLA среднего вектора аннотации для каждого из кластеров; и сохранение вторым MLA среднего вектора аннотации для каждого из кластеров, который связан с документом.
[0028] В некоторых вариантах осуществления технологии, для создания множества векторов аннотации, процессор выполнен с возможностью осуществлять: взвешивание по меньшей мере одного элемента каждого вектора аннотации с помощью соответствующего взвешивающего фактора, который указывает на относительную важность элемента для кластеризации.
[0029] В некоторых вариантах осуществления технологии, по меньшей мере один параметр пользовательского взаимодействия для каждого запроса включает в себя по меньшей мере одно из: число кликов, кликабельность (CTR), время пребывания, глубина просмотра, показатель отказов и среднее время, проведенное над документом.
[0030] В некоторых вариантах осуществления технологии, кластеризация осуществляется с помощью одного из: алгоритма кластеризации k-средних, алгоритма кластеризации ожидаемой максимизации, алгоритма кластеризации наиболее удаленных первых, алгоритма иерархической кластеризации, алгоритма cobweb-кластеризации и алгоритма кластеризации на основе плотности.
[0031] В некоторых вариантах осуществления технологии, каждый кластер из заранее определенного числа кластеров, по меньшей мере частично указывает на другое семантическое значение.
[0032] В некоторых вариантах осуществления технологии, каждый кластер из заранее определенного числа кластеров, по меньшей мере частично указывает на сходство в пользовательском поведении.
[0033] В контексте настоящего описания «сервер» подразумевает под собой компьютерную программу, работающую на соответствующем оборудовании, которая способна получать запросы (например, от клиентских устройств) по сети и выполнять эти запросы или инициировать выполнение этих запросов. Оборудование может представлять собой один физический компьютер или одну физическую компьютерную систему, но ни то, ни другое не является обязательным для данной технологии. В контексте настоящего технического решения использование выражения «сервер» не означает, что каждая задача (например, полученные команды или запросы) или какая-либо конкретная задача будет получена, выполнена или инициирована к выполнению одним и тем же сервером (то есть одним и тем же программным обеспечением и/или аппаратным обеспечением); это означает, что любое количество элементов программного обеспечения или аппаратных устройств может быть вовлечено в прием/передачу, выполнение или инициирование выполнения любого запроса или последствия любого запроса, связанного с клиентским устройством, и все это программное и аппаратное обеспечение может быть одним сервером или несколькими серверами, оба варианта включены в выражение «по меньшей мере один сервер».
[0034] В контексте настоящего описания «клиентское устройство» подразумевает под собой аппаратное устройство, способное работать с программным обеспечением, подходящим к решению соответствующей задачи. Таким образом, примерами электронных устройств (среди прочего) могут служить персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.п.) смартфоны, планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует иметь в виду, что устройство, ведущее себя как электронное устройство в настоящем контексте, может вести себя как сервер по отношению к другим электронным устройствам. Использование выражения «электронное устройство» не исключает возможности использования множества электронных устройств для получения/отправки, выполнения или инициирования выполнения любой задачи или запроса, или же последствий любой задачи или запроса, или же этапов любого вышеописанного метода.
[0035] В контексте настоящего описания «база данных» подразумевает под собой любой структурированный набор данных, не зависящий от конкретной структуры, программного обеспечения по управлению базой данных, аппаратного обеспечения компьютера, на котором данные хранятся, используются или иным образом оказываются доступны для использования. База данных может находиться на том же оборудовании, выполняющем процесс, на котором хранится или используется информация, хранящаяся в базе данных, или же база данных может находиться на отдельном оборудовании, например, выделенном сервере или множестве серверов.
[0036] В контексте настоящего описания «информация» включает в себя информацию любую информацию, которая может храниться в базе данных. Таким образом, информация включает в себя, среди прочего, аудиовизуальные произведения (изображения, видео, звукозаписи, презентации и т.д.), данные (данные о местоположении, цифровые данные и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, таблицы и т.д.
[0037] В контексте настоящего описания «используемый компьютером носитель компьютерной информации» подразумевает под собой носитель абсолютно любого типа и характера, включая ОЗУ, ПЗУ, диски (компакт диски, DVD-диски, дискеты, жесткие диски и т.д.), USB флеш-накопители, твердотельные накопители, накопители на магнитной ленте и т.д.
[0038] В контексте настоящего описания, если четко не указано иное, «указание» информационного элемента может представлять собой сам информационный элемент или указатель, отсылку, ссылку или другой косвенный способ, позволяющий получателю указания найти сеть, память, базу данных или другой машиночитаемый носитель, из которого может быть извлечен информационный элемент. Например, указание на документ может включать в себя сам документ (т.е. его содержимое), или же оно может являться уникальным дескриптором документа, идентифицирующим файл по отношению к конкретной файловой системе, или каким-то другими средствами передавать получателю указание на сетевую папку, адрес памяти, таблицу в базе данных или другое место, в котором можно получить доступ к файлу. Как будет понятно специалистам в данной области техники, степень точности, необходимая для такого указания, зависит от степени первичного понимания того, как должна быть интерпретирована информация, которой обмениваются получатель и отправитель указателя. Например, если до установления связи между отправителем и получателем понятно, что признак информационного элемента принимает вид ключа базы данных для записи в конкретной таблице заранее установленной базы данных, содержащей информационный элемент, то передача ключа базы данных - это все, что необходимо для эффективной передачи информационного элемента получателю, несмотря на то, что сам по себе информационный элемент не передавался между отправителем и получателем указания.
[0039] В контексте настоящего описания слова «первый», «второй», «третий» и и т.д. используются в виде прилагательных исключительно для того, чтобы отличать существительные, к которым они относятся, друг от друга, а не для целей описания какой-либо конкретной взаимосвязи между этими существительными. Так, например, следует иметь в виду, что использование терминов «первый сервер» и «третий сервер» не подразумевает какого-либо порядка, отнесения к определенному типу, хронологии, иерархии или ранжирования (например) серверов/между серверами, равно как и их использование (само по себе) не предполагает, что некий "второй сервер" обязательно должен существовать в той или иной ситуации. В дальнейшем, как указано здесь в других контекстах, упоминание «первого» элемента и «второго» элемента не исключает возможности того, что это один и тот же фактический реальный элемент. Так, например, в некоторых случаях, «первый» сервер и «второй» сервер могут являться одним и тем же программным и/или аппаратным обеспечением, а в других случаях они могут являться разным программным и/или аппаратным обеспечением.
[0040] Каждый вариант осуществления настоящей технологии преследует по меньшей мере одну из вышеупомянутых целей и/или объектов, но наличие всех не является обязательным. Следует иметь в виду, что некоторые объекты данной технологии, полученные в результате попыток достичь вышеупомянутой цели, могут не удовлетворять этой цели и/или могут удовлетворять другим целям, отдельно не указанным здесь.
[0041] Дополнительные и/или альтернативные характеристики, аспекты и преимущества вариантов осуществления настоящей технологии станут очевидными из последующего описания, прилагаемых чертежей и прилагаемой формулы изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0042] Для лучшего понимания настоящей технологии, а также других ее аспектов и характерных черт, сделана ссылка на следующее описание, которое должно использоваться в сочетании с прилагаемыми чертежами, где:
[0043] На Фигуре 1 представлена принципиальная схема системы, выполненной в соответствии с неограничивающими вариантами осуществления настоящего технического решения.
[0044] На Фиг. 2 представлена принципиальная схема системы машинного обучения, выполненной в соответствии с вариантами осуществления настоящей технологии.
[0045] На Фиг. 3 представлена принципиальная схема третьего MLA, выполненного в соответствии с вариантами осуществления настоящей технологии.
[0046] На Фиг. 4 представлена блок-схема способа создания множества векторов аннотации документа, причем способ выполняется в системе, показанной на Фиг. 1.
[0047] На Фиг. 5 представлена блок-схема способа для создания среднего вектора аннотации документа, причем способ выполняется в системе, показанной на Фиг. 1.
[0048] На Фиг. 6 представлена блок-схема способа для создания множества средних векторов аннотации, соответствующих кластерам вектора аннотации, причем способ выполняется в системе, показанной на Фиг. 1.
ОСУЩЕСТВЛЕНИЕ
[0049] Все примеры и используемые здесь условные конструкции предназначены, главным образом, для того, чтобы помочь читателю понять принципы настоящей технологии, а не для установления границ ее объема. Следует также отметить, что специалисты в данной области техники могут разработать различные схемы, отдельно не описанные и не показанные здесь, но которые, тем не менее, воплощают собой принципы настоящей технологии и находятся в границах ее объема.
[0050] Кроме того, для ясности в понимании, следующее описание касается достаточно упрощенных вариантов осуществления настоящей технологии. Как будет понятно специалисту в данной области техники, многие варианты осуществления настоящей технологии будут обладать гораздо большей сложностью.
[0051] Некоторые полезные примеры модификаций настоящей технологии также могут быть охвачены нижеследующим описанием. Целью этого является также исключительно помощь в понимании, а не определение объема и границ настоящей технологии. Эти модификации не представляют собой исчерпывающего списка, и специалисты в данной области техники могут создавать другие модификации, остающиеся в границах объема настоящей технологии. Кроме того, те случаи, где не были представлены примеры модификаций, не должны интерпретироваться как то, что никакие модификации невозможны, и/или что то, что было описано, является единственным вариантом осуществления этого элемента настоящей технологии.
[0052] Более того, все заявленные здесь принципы, аспекты и варианты осуществления настоящей технологии, равно как и конкретные их примеры, предназначены для обозначения их структурных и функциональных основ, вне зависимости от того, известны ли они на данный момент или будут разработаны в будущем. Таким образом, например, специалистами в данной области техники будет очевидно, что представленные здесь блок-схемы представляют собой концептуальные иллюстративные схемы, отражающие принципы настоящей технологии. Аналогично, любые блок-схемы, диаграммы, псевдокоды и т.п.представляют собой различные процессы, которые могут быть представлены на машиночитаемом носителе и, таким образом, использоваться компьютером или процессором, вне зависимости от того, показан явно подобный компьютер или процессор, или нет.
[0053] Функции различных элементов, показанных на фигурах, включая функциональный блок, обозначенный как «процессор» или «графический процессор», могут быть обеспечены с помощью специализированного аппаратного обеспечения или же аппаратного обеспечения, способного использовать подходящее программное обеспечение. Когда речь идет о процессоре, функции могут обеспечиваться одним специализированным процессором, одним общим процессором или множеством индивидуальных процессоров, причем некоторые из них могут являться общими. В некоторых вариантах осуществления настоящей технологии, процессор может являться универсальным процессором, например, центральным процессором (CPU) или специализированным для конкретной цели процессором, например, графическим процессором (GPU). Более того, использование термина «процессор» или «контроллер» не должно подразумевать исключительно аппаратное обеспечение, способное поддерживать работу программного обеспечения, и может включать в себя, без установления ограничений, цифровой сигнальный процессор (DSP), сетевой процессор, интегральную схему специального назначения (ASIC), программируемую пользователем вентильную матрицу (FPGA), постоянное запоминающее устройство (ПЗУ) для хранения программного обеспечения, оперативное запоминающее устройство (ОЗУ) и энергонезависимое запоминающее устройство. Также в это может быть включено другое аппаратное обеспечение, обычное и/или специальное.
[0054] Программные модули или простые модули, представляющие собой программное обеспечение, могут быть использованы здесь в комбинации с элементами блок-схемы или другими элементами, которые указывают на выполнение этапов процесса и/или текстовое описание. Подобные модели могут быть выполнены на аппаратном обеспечении, показанном напрямую или косвенно.
[0055] С учетом этих примечаний, далее будут рассмотрены некоторые не ограничивающие варианты осуществления аспектов настоящей технологии.
[0056] На Фиг. 1 представлена система 100, реализованная в соответствии с вариантами осуществления настоящей технологии. Система 100 включает в себя первое клиентское устройство 110, второе клиентское устройство 120, третье клиентское устройство 130 и четвертое клиентское устройство 140, соединенные с сетью 200 передачи данных через соответствующую линию 205 передачи данных. Система 100 включает в себя сервер 210 поисковой системы, аналитический сервер 220 и обучающий сервер 230, соединенные с сетью 200 передачи данных с помощью их соответствующей линии 205 передачи данных.
[0057] Только в качестве примера, первое клиентское устройство 110 может быть выполнено как смартфон, второе клиентское устройство 120 может быть выполнено как ноутбук, третье клиентское устройство 130 может быть выполнено как смартфон и четвертое клиентское устройство 140 может быть выполнено как планшет. В некоторых вариантах осуществления настоящей технологии, не ограничивающих ее объем, сеть 200 передачи данных может представлять собой Интернет. В других вариантах осуществления настоящей технологии сеть 200 передачи данных может быть реализована иначе - в виде глобальной сети передачи данных, локальной сети передачи данных, частной сети передачи данных и т.п.
[0058] То, как именно реализована линия 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).
[0059] Важно иметь в виду, что варианты осуществления воплощения первого клиентского устройства 110, второго клиентского устройства 120, третьего клиентского устройства 130, четвертого клиентского устройства 140, линии 205 передачи данных и сети 200 передачи данных представлены исключительно в иллюстрационных целях. Таким образом, специалисты в данной области техники смогут понять подробности других конкретных вариантов осуществления первого клиентского устройства 110, второго клиентского устройства 120, третьего клиентского устройства 130, четвертого клиентского устройства 140 и линии 205 передачи данных и сети 200 передачи данных. Таким образом, представленные здесь примеры не ограничивают объем настоящей технологии.
[0060] Несмотря на то, что представлено только четыре клиентских устройства 110, 120, 130 и 140 (показано на Фиг. 1), подразумевается, что любое число клиентских устройств 110, 120, 130 и 140 может быть связано с системой 100. Далее подразумевается, что в некоторых вариантах осуществления технологии, число клиентских устройств 110, 120, 130 и 140, которые включены в систему 100, может достигать десятков или сотен тысяч.
[0061] С сетью 200 передачи данных также соединен вышеупомянутый сервер 210 поисковой системы. Сервер 210 поисковой системы может представлять собой обычный компьютерный сервер. В примере варианта осуществления настоящего технического решения, сервер 210 поисковой системы может представлять собой сервер Dell™ PowerEdge™, на котором используется операционная система Microsoft™ Windows Server™. Излишне говорить, что сервер 210 поисковой системы может представлять собой любое другое подходящее аппаратное и/или прикладное программное, и/или системное программное обеспечение или их комбинацию. В представленном варианте осуществления настоящего технического решения, не ограничивающем его объем, сервер 210 поисковой системы является одиночным сервером. В других вариантах осуществления настоящего технического решения, не ограничивающих ее объем, функциональность сервера 210 хостинга содержимого может быть разделена, и может выполняться с помощью нескольких серверов. В некоторых вариантах осуществления настоящей технологии, сервер 210 поисковой системы находится под контролем и/или управлением поставщика поисковой систем, такого, например, как оператор поисковой системы Yandex. Как вариант, сервер 210 поисковой системы может находиться под контролем и/или управлением поставщика сервиса.
[0062] В общем случае задачей сервера 210 поисковой системы осуществляет (i) проведение поиска (подробности будут описаны ниже); (ii) проведение анализа результатов поиска и ранжирование результатов поиска; (iii) группировка результатов и компиляция страницы результатов поиска (SERP) для вывода на электронное устройство (например, первое клиентское устройство 110, второе клиентское устройство 120, третье клиентское устройство 130 и четвертое клиентское устройство 140).
[0063] Конфигурация сервера 210 поисковой системы для выполнения поиска конкретно ничем не ограничена. Специалистам в данной области техники будут понятны некоторые способы и средства для выполнения поиска с помощью сервера 210 поисковой системы и, соответственно, некоторые структурные компоненты сервера 210 поисковой системы будут описаны только на поверхностном уровне. Сервер 210 поисковой системы может содержать базу 212 данных поискового журнала.
[0064] В некоторых вариантах осуществления настоящей технологии, сервер 210 поисковой системы может выполнять несколько поисков, включая, среди прочего, общий поиск и вертикальный поиск.
[0065] Сервер 210 поисковой системы настроен на выполнение общих сетевых поисков, как известно в данной области техники. Сервер 210 поисковой системы также выполнен с возможностью осуществлять один или несколько вертикальных поисков, например, вертикальный поиск изображений, вертикальный поиск музыки, вертикальный поиск видеозаписей, вертикальный поиск новостей, вертикальный поиск карт и так далее. Сервер 210 поисковой системы также выполнен с возможностью осуществлять, как известно специалистам в данной области техники, алгоритм поискового робота - причем алгоритм инициирует сервер 210 поисковой системы "просматривать" Интернет и индексировать посещенные веб-сайты в одну или несколько индексных базы данных, например, базу 212 данных поискового журнала.
[0066] Сервер 210 поисковой системы выполнен с возможностью создавать ранжированный список результатов поиска, включая, результаты из общего веб-поиска и вертикального веб-поиска. Множество алгоритмов для ранжирования поисковых результатов известно и может быть использовано сервером 210 поисковой системы.
[0067] В качестве примера, не ограничивающего объем технологии, некоторые способы ранжирования результатов в соответствии с их релевантностью для введенного пользователем поискового запроса основаны на всех или некоторых из следующих критериев: (i) популярность данного поискового запроса или ответа на него в поисках; (ii) число выведенных результатов; (iii) включает ли в себя поисковый запрос какие-либо ключевые термины (например, «изображения», «видео», «погода» или т.п.), (iv) насколько часто конкретный поисковый запрос включает в себя ключевые термины при вводе его другими пользователями; (v) насколько часто другие пользователи при выполнении аналогичного поиска выбирали конкретный ресурс или конкретные результаты вертикального поиска, когда результаты были представлены на SERP. Сервер 210 поисковой системы может вычислять и назначать оценку релевантности (на основе другого перечисленного выше критерия) для каждого поискового результата, полученного в ответ на введенный пользователем поисковый запрос, и создавать SERP, причем поисковые результаты ранжированы в соответствии с их соответствующими оценками релевантности. В настоящем варианте осуществления технологии, сервер 210 поисковой системы может выполнять множество алгоритмов машинного обучения для ранжирования документов и/или создавать свойства для ранжирования документов.
[0068] Сервер поисковой системы обычно содержит вышеупомянутую базу 212 данных поискового журнала.
[0069] В общем случае, база 212 данных поискового журнала может содержать индекс 214, поисковый журнал 216 и журнал 218 пользовательских взаимодействий.
[0070] Задачей индекса 214 является индексирование документов, таких как, без установления ограничений, веб-страницы, изображения, PDF, документы Word™, документы PowerPoint™, которые были просмотрены (или открыты) поисковым роботом сервера 210 поисковой системы. Таким образом, когда пользователь одного из первого клиентского устройства 110, второго клиентского устройства 120, третьего клиентского устройства 130 и четвертого клиентского устройства 140 вводит запроса и выполняет поиск на сервере 210 поисковой системы, сервер 210 поисковой системы анализирует индекса 214 и извлекает документы, которые содержат термины запроса, и ранжирует их в соответствии с алгоритмом ранжирования.
[0071] Целью журнала 216 запросов является занесение в журнал поисков, которые осуществлялись с помощью сервера 210 поисковой системы. Журнал 216 запросов может включать в себя список запросов с их соответствующими терминами, с информацией о документах, которые перечислены сервером 210 поисковой системы, в ответ на соответствующий запрос, временную отметку, и может также включать в себя список пользователей, идентифицированных с помощью анонимных ID и соответствующих документов, на которые был совершен клик после ввода запроса. В некоторых вариантах осуществления технологии, журнал 216 запросов может обновляться каждый раз, когда выполняется новый запрос на сервере 210 поисковой системы. В других вариантах осуществления технологии, журнал 216 запросов может обновляться в заранее определенные моменты. В некоторых вариантах осуществления технологии, может быть множество копий журнала 216 запроса, и каждая соответствует журналу 216 запросов в различные моменты времени.
[0072] Журнал 218 пользовательских взаимодействий может быть связан с журналом 216 запросов, и списком параметров пользовательских взаимодействий, которые отслеживались сервером 220 аналитики, после того, как пользователь ввел запрос и кликнул на один или несколько документов на SERP на сервере 210 поисковой системы. В качестве неограничивающего примера, журнал 218 пользовательских взаимодействий может содержать ссылку на документ, которая может быть идентифицирована с помощью номера ID или URL, список запросов, причем каждый запрос из списка запросов связан со множеством параметров пользовательских взаимодействий, что будет описано более подробно в следующих параграфах. Множество параметров пользовательских взаимодействий может в общем случае отслеживаться и компилироваться сервером 220 аналитики и, в некоторых вариантах осуществления технологии, может быть перечислен для каждого индивидуального пользователя.
[0073] В некоторых вариантах осуществления настоящей технологии, журнал 216 запросов и журнал 218 пользовательских взаимодействий могут быть реализованы как единый журнал.
[0074] С сетью 200 передачи данных также соединен вышеупомянутый сервер 220 аналитики. Сервер 220 аналитики может представлять собой обычный компьютерный сервер. В примере варианта осуществления настоящей технологии сервер 220 аналитики может представлять собой сервер Dell™ PowerEdge™, на котором используется операционная система Microsoft™ Windows Server™. Излишне говорить, что сервер 220 аналитики может представлять собой любое другое подходящее аппаратное и/или прикладное программное, и/или системное программное обеспечение или их комбинацию. В представленном варианте осуществления настоящей технологии, не ограничивающем ее объем, сервер 220 аналитики является одиночным сервером. В других неограничивающих вариантах осуществления настоящей технологии, функциональность сервера 220 аналитики может быть разделена, и может выполняться с помощью нескольких серверов. В других вариантах осуществления технологии, функции сервера 220 аналитики могут выполняться полностью или частично сервером 210 поисковой системы. В некоторых вариантах осуществления настоящей технологии, сервер 220 аналитики находится под контролем и/или управлением оператора поисковой системы. Как вариант, сервер 220 аналитики может находиться под контролем и/или управлением другого поставщика сервиса.
[0075] В общем случае, целью сервера 220 аналитики является отслеживание пользовательских взаимодействий с поисковыми результатами, которые предоставляются сервером 210 поисковой системы в ответ на пользовательские запросы (например, совершенные пользователями одного из первого клиентского устройства 110, второго клиентского устройства 120, третьего клиентского устройства 130 и четвертого клиентского устройства 140). Сервер 220 аналитики может отслеживать пользовательские взаимодействия или данные о кликах, когда пользователи выполняют общие веб-поиски и вертикальные веб-поиски на сервере 210 поисковой системы. Пользовательские взаимодействия могут отслеживаться в форме параметров пользовательских взаимодействий сервером 220 аналитики.
[0076] Неограничивающие примеры параметров пользовательских взаимодействий, которые отслеживаются сервером 220 аналитики, включают в себя:
- Время сессии: усредненное время сессии, в секундах.
- Время сессии журнала: Среднее логарифмическое значение времени сессии.
- Запросы: Число запросов, введенных пользователем.
- Клики: Число кликов, выполненных пользователем.
- Число кликов на запрос: Среднее число кликов на запрос для пользователя.
- Показатель кликабельности (CTR): Число кликов на элемент, деленное на число раз, когда элемент был показан (показы).
- Ежедневно активные пользователи (DAU): Число уникальных пользователей, взаимодействующих с сервисом во время дня.
- Среднее число ежедневных сессий одного пользователя (S/U): u S(u) |u|, где S(u) указывает на ежедневное число сессий пользователя и, а |u| - общее число пользователей в этот день.
- Среднее число уникальных запросов в сессии (UQ/S) : s UQ(s) |s|, где UQ(s) представляет собой число уникальных запросов в сессии s, a |s| - общее число сессий в тот день.
- Средняя длина сессий одного пользователя (SL/U): общее число запросов в сессию, усредненное для каждого пользователя.
- Процент навигационных запросов одного пользователя (%-Nav-Q/U): позиции кликов: если более n% всех кликов для запроса сконцентрированы на трех верхних URL, этот запрос считается навигационным. В других случаях он считается информационным. Значение n может устанавливаться как равное 80.
- Средняя длина запроса одного пользователя (QL/U): длина запроса измеряет число слов в пользовательском запросе.
- Средний рейтинг успеха запроса одного пользователя (QSuccess/U): пользовательский запрос считается успешным, если пользователь нажимает на один или несколько результатов и задерживается на нем или на них более чем на 30 секунд.
- Средняя кликабельность (CTR) - для запроса составляет 1, если совершен один или несколько кликов, иначе 0.
- Средний интервал запроса для одного пользователя (QI/U): средняя временная разница между двумя последовательными пользовательскими запросами в сессии пользователя.
- Время пребывания: время, которое пользователь проводит на документе до возвращения на SERP,
[0077] Естественно, вышепредставленный список не является исчерпывающим и может включать в себя другие типы параметров пользовательского взаимодействия, не выходя за границы настоящей технологии.
[0078] Сервер 220 аналитики может передавать отслеживаемые параметры пользовательских взаимодействий серверу 210 поисковой системы таким образом, что они могут сохраняться в журнале 218 пользовательских взаимодействий. В некоторых вариантах осуществления технологии, сервер 220 аналитики может сохранять параметры пользовательских взаимодействий и соответствующие поисковые результаты локально в журнале пользовательских взаимодействий (не показан). В других вариантах осуществления настоящей технологии, не ограничивающих ее объем, функциональность сервера 220 аналитики и сервера 210 поисковой системы может быть разделена, и может выполняться с помощью одного сервера.
[0079] К сети передачи данных также присоединен вышеупомянутый обучающий сервер 230. Обучающий сервер 230 может представлять собой обычный компьютерный сервер. В примере варианта осуществления настоящей технологии, обучающий сервер 230 может представлять собой сервер Dell™ PowerEdge™, на котором используется операционная система Microsoft™ Windows Server™. Излишне говорить, что обучающий сервер 230 может представлять собой любое другое подходящее аппаратное и/или прикладное программное, и/или системное программное обеспечение или их комбинацию. В представленном варианте осуществления настоящей технологии, не ограничивающем ее объем, обучающий сервер 230 является одиночным сервером. В других вариантах осуществления настоящей технологии, не ограничивающих его объем, функциональность обучающего сервера 230 может быть разделена и может выполняться с помощью нескольких серверов. В контексте настоящей технологии, обучающий сервер 230 может осуществлять часть описанных способов и систем. В некоторых вариантах осуществления настоящей технологии, обучающий сервер 230 находится под контролем и/или управлением оператора поисковой системы. Как вариант, обучающий сервер 230 может находиться под контролем и/или управлением другого поставщика сервиса.
[0080] В общем случае, целью обучающего сервера 230 является обучение одного или нескольких алгоритмов машинного обучения (MLA), используемых сервером 210 поисковой системы, сервером 220 аналитики и/или другими серверами (не показано), связанными с оператором поисковой системы. Сервер 230 может, в качестве примера, обучать один или несколько алгоритмов машинного обучения, связанных с поставщиком поисковой системы для опитмизации общих веб-поисков, вертикальных веб-поисков, предоставления рекомендаций, результатов прогнозов и других приложений. Обучение и оптимизация MLA может осуществляться в заранее определенные периоды времени или когда это считается необходимым со стороны поставщика поисковой системы.
[0081] В представленных вариантах осуществления технологии, сервер 230 может быть выполнен с возможностью обучать (1) первый MLA для ранжирования документов на сервер 210 поисковой системы, (2) второй MLA для создания факторов, которые могут использоваться первым MLA, и (3) третий MLA для создания векторов аннотации, которые могут использоваться по меньшей мере некоторыми из первого MLA и второго MLA. Первый MLA, второй MLA и третий MLA будет описан более подробно в следующих параграфах. Несмотря на то, что описание относится к общему веб-поиску документов, например, веб-страниц, настоящая технология может также применяться, по меньшей мере частично, к вертикальным поискамх и к другим типам документов, например, результатам изображений, видеозаписей, музыке, новостям и другим типам поисков.
[0082] На Фиг. 2, система 300 машинного обучения представлена в соответствии с неограничивающими вариантами осуществления настоящей технологии. Система 300 машинного обучения включает в себя первый MLA 320, второй MLA 350 и третий MLA 380. Важно иметь в виду, что первый MLA 320, второй MLA 350 и третий MLA 380 могут быть объединены в суб-алгоритмы одного MLA.
[0083] Первый MLA 320 может в общем случае использоваться для ранжирования поисковых результатов на сервере поисковой системы и может выполнять алгоритм деревьев решений с использованием градиентного бустинга (GBRT). Коротко говоря, GBRT основан на деревьях решений, в котором создается прогностическая модель в форме ансамбля деревьев. Ансамбль деревьев создается ступенчатым способом. Каждое последующее дерево решений в ансамбле деревьев решений сосредоточено на обучении на основе тех итераций в предыдущем дереве решений, которые были "слабыми моделями" в предыдущей(их) итерации(ях) в ансамбле деревьев решений (т.е. теми, которые связаны с маловероятным прогнозом / высокой вероятностью ошибки). Бустинг представляет собой способ, нацеленный на улучшение качества прогнозирования MLA. В этом сценарии вместо того, чтобы полагаться на прогноз одного обученного алгоритма (например, одного дерева решений) система использует несколько обученных алгоритмов (т.е. ансамбль деревьев решений) и принимает окончательное решение на основе множества прогнозируемых результатов этих алгоритмов.
[0084] В бустинге деревьев решений, первый MLA 320 сначала создает первое дерево, затем второе, что улучшает прогноз результата, полученного от первого дерева, а затем третье дерево, которое улучшает прогноз результата, полученного от первых двух деревьев, и так далее. Таким образом, первый MLA 320 в некотором смысле создает ансамбль деревьев решений, где каждое последующее дерево становится лучше предыдущего, конкретно сосредотачиваясь на слабых моделях из предыдущих итераций деревьев решений. Другими словами, каждое дерево создается на одном и том же обучающем наборе обучающих объектов, и, тем не менее, обучающие объекты, в которых первое дерево совершает "ошибки" в прогнозировании, являются приоритетными для второго дерева и т.д. Эти "сильные" обучающие объекты (те, которые на предыдущих итерациях деревьев решений были спрогнозированы менее точно), получают более высокие весовые коэффициенты, чем те, для которых были получены удовлетворительные прогнозы.
[0085] Первый MLA 320 может, таким образом, использоваться для классификации и/или регрессии и/или ранжирования сервером 210 поисковой системы. Первый MLA 320 может быть главным алгоритмом ранжирования сервера 210 поисковой системы или быть часть алгоритма ранжирования сервера 210 поисковой системы.
[0086] Второй MLA 350 может выполнять модифицированную модель DSSM (Deep Structured Semantic Model) 360. В общем случае, целью второго MLA 350 является обогащение факторов документа, например, факторов, которые могут использовать первый MLA 320 для ранжирования документов на основе оценки релевантности. Второй MLA 350 выполнен с возможностью тренировать модифицированный DSSM 360 по меньшей мере на поисковом запросе и заголовке документа. Модифицированный DSSM 360 в общем случае получает в качестве ввода словесные униграммы (целые слова), словесные биграммы (пары слов) и словесные триграммы (последовательность трех слов). В некоторых вариантах осуществления настоящей технологии, модифицированная DSSM 360 может также получать в виде ввода словесные N-граммы, где n превышает 3. Модифицированный DSSM 360 также обучается на параметрах пользовательских взаимодействий, таких как, без установления ограничений: клик/отсутствие клика, остановка сессии, число уникальных кликов за сессию, кликабельность и т.д. Вывод второго MLA 350 может использоваться как ввод для первого MLA 320.
[0087] В общем случае целью третьего MLA 380 является создание векторов аннотации для документов, которые могут использоваться как ввод по меньшей мере одним из первого MLA 320 и второго MLA 350. В настоящем варианте осуществления технологии, третий MLA 380 создает векторы аннотации, которые могут использоваться модифицированным DSSM 360 второго MLA 350, например, для сопоставления запросов и документов, для сравнения запросов и документов, и для создания прогнозов пользовательского взаимодействия с данным документом. В некоторых вариантах осуществления технологии, третий MLA 380 может быть частью второго MLA 350. Векторы аннотации могут использоваться для обучения по меньшей мере одного из первого MLA 320 и второго MLA 350, или могут напрямую использоваться в качестве факторов первым MLA 320 для ранжирования документов в ответ на запроса. То как именно третий MLA 380 создает векторы аннотации для одного или нескольких документов, будет описано в следующих параграфах. В альтернативных вариантах осуществления технологии, второй MLA 350 может выполнять другой тип MLA, например, конкретный тип алгоритма машинного обучения на основе глубокого обучения (DSL).
[0088] На Фиг. 3, третий MLA 380 управления доступом представлена в соответствии с неограничивающим вариантом осуществления настоящей технологии. Третий MLA 380 может выполняться обучающим сервером 230.
[0089] Третий MLA 380 содержит агрегатор 420, генератор 440 вектора аннотации, и, опционально, усреднитель 460 и/или генератор 480 кластеров.
[0090] Агрегатор 420 третьего MLA 380 может в общем случае быть выполнен с возможностью извлекать, агрегировать, отфильтровывать и связывать друг с другом запросы, документы и параметры пользовательского взаимодействия.
[0091] Для целей упрощения описания настоящей технологии, в представленном примере агрегатор 420 может извлекать из журнала 216 запросов, относящегося к базе 212 данных поискового журнала сервера 210 поисковой системы, указание на документ 402, включая одиночный документ 404. Тем не менее, в зависимости от того, как выполнен обучающий сервер 230, число документов в указании на документ 402 может составлять сотни, тысячи и более, и третий MLA 380 может обрабатывать документы последовательно или параллельно.
[0092] В общем случае, документ 404 может быть ссылкой на документ, который индексирован сервером 210 поисковой системы, и который может появиться на SERP в ответ на различные запросы, введенные пользователями, например, одним из пользователей (не показано) первого клиентского устройства 110, второго клиентского устройства 120, третьего клиентского устройства 130 и четвертого клиентского устройства 140. В общем случае, указание на документ 402 может представлять собой идентификатор для идентификации документа 404 в индексе 214, журнале 216 запроса и журнале 218 пользовательских взаимодействий. В неограничивающем примере, документ 404 в указании на документ 402 может представлять собой популярную страницу в Wikipedia™, например, страницу про Анджелину Джоли.
[0093] На основе указания на документ 402, агрегатор 420 может извлекать указания на запросы 406 из журнала 216 запросов из базы 212 данных поискового журнала сервер 210 поисковой системы, указание на запросы 406 (обладающее множеством запросов 408), связанные с документом 404 из указания на документ 402. То, как реализовано указание на запросы 406, никак не ограничено, и зависит от того, как выполнены база 212 данных поискового журнала, индекс 214 и поисковый журнал 216 и журнал 218 пользовательских взаимодействий.
[0094] В общем случае, указание на запросы 406 включает в себя множество запросов, связанных с документом 404, где каждый запрос может представлять собой другой запрос, который был использован для получения доступа к документу 404 пользователями на сервере 210 поисковой системы, как записано в журнале 216 запросов. Естественно, данный запрос может включать в себя множество терминов, и агрегатор 420 может учитывать весь запрос и термины, содержащие запрос, например, запрос "Анджелина Джоли актриса" обладает тремя терминами: "Анджелина", "Джоли", "актриса".
[0095] Продолжая с предыдущим неограничивающим примером, где документ 404 представляет собой страницу в Wikipedia™, запросы, связанные с документом 404, извлеченным из журнала 216 запросов из базы 212 данных поискового журнала сервера 210 поисковой системы, могут быть следующими: "Анджелина", "Анджелина Джоли", "Пара Крофт", "Лара Крофт Анджелина", "Малифисента", "Мистер и миссис Смит", "Tomb Raider", "Анджелина Войт", "Лара Крофт фильм", "Красивая актриса", "несломленный фильм", "Расхитительница гробниц актриса", "Ее сердце фильм", "представитель ООН по делам беженцев", "Бред Питт жена", "Джон Войт", "самые красивые женщины", "звездный ребенок", "билли боб торнтон", "награда академии за лучшую актрису". Число запросов во множестве запросов 406 не ограничено и может представлять собой сотни или тысячи, в зависимости от популярности документа, и того, как алгоритм ранжирования сервера 210 поисковой системы выполняет ранжирование. SERP, на которой документ 404 появляется в ответ на один из запросов 408, не является существенной, тем не менее, в некоторых вариантах осуществления технологии, агрегатор 420 может только выбирать запросы 408 на основе порога страницы SERP или порога оценки релевантности, например, если документ появляется на 100-ой странице SERP в ответ на запрос 408, запрос 408 может не учитываться агрегатором 420.
[0096] Агрегатор 420 может также извлекать набор параметров 410 пользовательского взаимодействия из журнала 418 пользовательских взаимодействий сервера 210 поисковой системы, набор параметров 410 пользовательского взаимодействия, связанных с документом 404 и указанием на запросы 406. Набор параметров 410 пользовательского взаимодействия включает в себя множество параметров 412 пользовательского взаимодействия, соответствующих каждому запросу 408 в указании на запросы 406. В общем случае, каждый из множества параметров 412 пользовательского взаимодействия может указывать на пользовательское поведение одного или нескольких пользователей после ввода соответствующего запроса, и после нажатия на документ 404 во время поисковой сессии на сервере 210 поисковой системы, в качестве примера, с помощью одного из первого клиентского устройства 110, второго клиентского устройства 120, третьего клиентского устройства 130 и четвертого клиентского устройства 140.
[0097] В некоторых вариантах осуществления настоящей технологии, в зависимости от того, как выполнен третий MLA 380, агрегатор 420 может выбирать конкретные параметры пользовательского взаимодействия, которые релевантны данной задаче, и не обязательно извлекает все параметры пользовательского взаимодействия, отслеживаемые сервером 220 аналитики и сохраненные в журнале 218 пользовательского взаимодействия.
[0098] В общем случае, параметры пользовательского взаимодействия могут быть агрегированными параметрами пользовательских взаимодействий от множества пользователей, и могут не представлять собой индивидуальные параметры пользовательского взаимодействия. В некоторых вариантах осуществления настоящей технологии, где по меньшей мере один из первого MLA 320, второго MLA 350 и третьего MLA 380 выполнен с возможностью персонализированного поиска, агрегатор 420 может агрегировать параметры пользовательского взаимодействия для одного пользователя.
[0099] Агрегатор 420 может далее связывать указание на документ 402, указание на запросы 406 и набор параметров 410 пользовательских взаимодействий, и выводить набор соответствующих запросов и параметры 430 пользовательского взаимодействия, набор соответствующих запросов и параметров 430 пользовательского взаимодействия, включая множество соответствующих параметров 432 пользовательского взаимодействия с запросом.
[00100] Генератор 440 векторов аннотации третьего MLA 380 может получать в качестве ввода набора соответствующих запросов и параметров 430 пользовательского взаимодействия и выводить набор векторов 445 аннотации.
[00101] В общем случае, целью генератора 440 векторов аннотации является создание вектора 447 аннотации для каждого соответствующего из параметров 432 пользовательского взаимодействия с запросом в наборе соответствующих запросов и параметров 430 пользовательского взаимодействия, использованных для получения доступа к документу 404. Каждый вектор 447 аннотации может включать в себя всю информацию, содержащуюся в каждом из соответствующих параметров 432 пользовательского взаимодействия с запросом. Каждый вектор 447 аннотации может включать в себя указание на соответствующий запрос 408, используемый для получения доступа к документу 404, множества факторов запроса соответствующего запроса 408, причем множество факторов запроса по меньшей мере частично указывают на лингвистические факторы соответствующего запроса 408, и соответствующее множество параметров 412 пользовательского взаимодействия.
[00102] Генератор 440 вектора аннотации может извлекать и/или создавать по меньшей мере часть множества факторов запроса в каждом векторе 447 аннотации для документа 404. Генератор 440 векторов аннотации может создавать факторы запроса, которые по меньшей мере указывают на лингвистические факторы соответствующего запроса. Лингвистические факторы могут включать в себя семантические факторы запроса, грамматические факторы запроса и лексические факторы запроса.
[00103] Генератор 440 векторов аннотации третьего MLA 380 может быть выполнен с возможностью создавать факторы с помощью различных алгоритмов или извлекать различные типы факторов из лингвистической базы данных, например, без установки ограничений, WordNet® или словарь типа тезаурус.
[00104] В некоторых вариантах осуществления настоящей технологии, отдельный MLA (не показано) может также обучаться для извлечения лингвистических факторов из запросов и терминов, и выполнять обработку текстов на естественном языке (NLP). В качестве неограничивающего примера, могут использоваться, среди прочего, такие методики NLP как лемматизация, морфологическая сегментация, разметка частей речи, парсинга, разбивка предложения, стемминг, сегментация слов, извлечение терминологии, распознавание именованных сущностей (NER), сегментация и распознание тем.
[00105] Семантический анализ запросов и терминов может также выполняться генератором 440 векторов аннотации или отдельным MLA (не показано), который в общем случае состоит в разложении запросов и поисковых терминов на признаки на основе того, как они выражены лингвистически, а также может учитываться концептуальное значение запросов и терминов. Также могут учитываться семантические отношения между запросами и терминами.
[00106] Семантические факторы запроса могут включать в себя семантические роли, факторы категории и факторы принадлежности. В качестве неограничивающего примера, семантическая роль может относиться к агенту, теме, пользователю, инструменту, получателю или времени. Фактор категории может относиться к категории запросов и терминов, и эти категории могут быть заранее определены третьим MLA 380. Неограничивающий пример фактора принадлежности может включать в себя морфему, слово и предложение.
[00107] Грамматические факторы запроса могут включать в себя род, число, лицо, падеж, число, время, аспект, транзитивность и флективный класс.
[00108] Лексические факторы запроса и термины могут включать в себя прилагательные, наречия, союзы, частицы, местоимения и глаголы. Лексические факторы также могут включать в себя лексические связи, такие так, омофония, омонимия, полисемия, синонимия, антонимия, гипонимия, метонимия и коллокация.
[00109] Кроме того, синонимы, антонимы и другое написание запросов и терминов также может учитываться генератором 440 вектора аннотаций.
[00110] Генератор 440 вектора аннотации может далее создавать вектор 447 аннотации для каждого запроса, причем вектор 447 аннотации включает в себя указание на: соответствующий запрос, множество факторов запроса, и множество параметров пользовательского взаимодействия. Способ, в соответствии с которым создается и представляется вектор 447 аннотации, никак не ограничен и будет зависеть от того, как реализованы третий MLA 380 и/или второй MLA 350.
[00111] В некоторых вариантах осуществления настоящей технологии, когда используется подход к обучению с учителем в третьем MLA 380, он может обучаться созданию векторов аннотации на основе примеров документов и соответствующих векторов аннотации, которые были оценены и/или предоставлены асессорами. В других вариантах осуществления технологии, векторы аннотации могут быть доступны на основе вывода второго MLA 350 и/или первого MLA 320.
[00112] Таким образом, для документа, например, документа 404, генератор 440 вектора аннотации может создавать множество векторов 445 аннотации, причем каждый вектор 447 аннотации соответствует другому запросу, который был использован для получения доступа к документу 404.
[00113] Третий MLA 380 может хранить множество векторов аннотации 445 в обучающей базе 232 данных обучающего сервера 230, причем множество векторов 445 аннотации связано с документом 404.
[00114] В некоторых вариантах осуществления настоящей технологии, множество векторов 445 аннотации может быть получено в виде ввода в усреднитель 460 генератора 480 кластеров. В общем случае, множество векторов 445 аннотации может быть получено в качестве ввода в усреднитель 460, когда запросы из набора соответствующих запросов и параметры 430 пользовательского взаимодействия обладают определенной степенью сходства, что может быть определено третьим MLA 380 различными способами, например, на основе факторов каждого запроса. Множество векторов 445 аннотации может также быть вводом в усреднитель 460, когда число векторов аннотации во множестве векторов 445 аннотации ниже заранее определенного порога, т.е. возможна более высокая вероятность семантически различающихся запросов, когда число запросов, ведущих к одному и тому же документу 404 большое, например, несколько тысяч, и более низкая вероятность семантически одинаковых запросов, когда число запросов меньше.
[00115] В общем случае, целью усреднителя 360 является получение одного среднего вектора 465 аннотации, который указывает по меньшей мере на часть запросов, использованных для получения доступа к документу 404. Подобный подход позволяет сохранить пространство для хранения и вычислительные ресурсы, сохраняя один средний вектор аннотации вместо множества векторов 445 аннотации (которых может быть тысячи и более для одного документа).
[00116] Усреднитель 460 может вычислять среднее для каждого элемента из множества векторов 445 аннотации для получения одного среднего вектора 465 аннотации. Таким образом, первый элемент одного среднего вектора 465 аннотации может быть средним из всех первых элементов множества векторов 445 аннотации, второй единый средний вектор 465 аннотации может быть средним из всех вторых элементов множества векторов 445 аннотации и так далее. В некоторых вариантах осуществления настоящей технологии, усреднитель 460 может игнорировать некоторые элементы или применять другие типы функций к элементам, в зависимости от типа параметров пользовательского взаимодействия, включенных во множество векторов аннотации 445.
[00117] Усреднитель 460 может выводить единый средний вектор 465 аннотации. Единый средний вектор 465 аннотации может храниться в обучающей базе 232 данных обучающего сервера 230, где он связан с документом 404.
[00118] В некоторых вариантах осуществления настоящей технологии, множество векторов 445 аннотации может быть получено в виде ввода в генератор 480 кластеров. В общем случае, множество векторов 445 аннотации может быть получено в качестве ввода в генератор 480 кластеров, когда запросы из набора соответствующих запросов и параметры 430 пользовательского взаимодействия обладают определенной степенью различия (или низкой степенью сходства), что может быть определено, например, третьим MLA 380 на основе факторов запроса. Тем не менее, в некоторых вариантах осуществления технологии, множество векторов 445 аннотации может быть получено в виде ввода в генераторе 480 кластеров вне зависимости от степени сходства запросов из набора связанных запросов и параметров 430 пользовательского взаимодействия.
[00119] В общем случае, целью генератора 480 кластеров является создание множества кластеров на основе элементов из множества векторов 445 аннотации, и каждый кластер соответствует группам векторов аннотации, обладающим факторами, которые считаются аналогичными или похожими генератором 480 кластеров. В некоторых вариантах осуществления настоящей технологии, весовые коэффициенты могут быть назначены конкретным элементам каждого вектора 447 аннотации таким образом, что генератор 480 кластеров присваивает более высокую относительную важность конкретным факторами во время кластеризации.
[00120] В качестве неограничивающего примера, с использованием алгоритма k-средних, генератор 480 кластеров может выполнять кластеризацию итеративно, и назначать каждому вектору 447 аннотации данному кластеру на основе факторов или элементов вектора 447 аннотации.
[00121] В некоторых вариантах осуществления технологии, генератор 480 кластеров может не учитывать каждый элемент из множества векторов 445 аннотации и/или присваивать больший вес конкретным элементам, которые могут представлять запросы, лингвистические факторы и параметры пользовательского взаимодействия каждому вектору 447 аннотации.
[00122] В некоторых вариантах осуществления технологии, число кластеров, предназначенных для создания, может заранее определяться разработчиками. В других вариантах осуществления настоящей технологии, число кластеров может быть заранее определено на основе числа запросов и сходства запросов. В качестве неограничивающего примера, множество векторов 445 аннотации может быть разделено на пять кластеров, и каждый кластер обладает группой векторов аннотации, которые считаются генератором 480 кластеров "аналогичными" или связанными на основе элементов из множества векторов 445 аннотации, например, семантического значения и/или пользовательского поведения.
[00123] Способы кластеризации хорошо известны в данной области техники. В качестве примера, кластеризация может выполняться генератором 480 кластеров с помощью одного из методов: алгоритм k-средних, алгоритм нечеткой кластеризации c-средних, алгоритм иерархической кластеризации, гауссовский алгоритм кластеризации, алгоритм кластеризации по порогу качества и другие, как известно в данной области техники.
[00124] Генератор 480 кластеров может усреднять часть векторов аннотации каждого кластера для получения множества средних векторов 490 аннотации. Каждый средний вектор 492 аннотации может представлять данный кластер.
[00125] Множество средних векторов 490 аннотации может далее храниться в обучающей базе 232 данных обучающего сервера 230, где множество средних векторов 490 аннотации связано с документом 404.
[00126] В общем случае, усреднитель 460 может использоваться, когда необходим один средний вектор аннотации, например, когда запросы, ведущие к документу 404, близко связаны друг с другом, при этом генератор 480 кластеров может использоваться, когда необходимо по меньшей мере два средних вектора аннотации, например, когда запросы, ведущие на документ 404 близко не связаны друг с другом.
[00127] Таким образом, один или несколько векторов аннотации могут использоваться напрямую как факторы ранжирования, связанные с документами, с помощью алгоритма ранжирования поисковой системы, например, первый MLA 320 сервера 310 поисковой системы. Один или несколько векторов аннотации может также использоваться как фактор модифицированного DSSM 360 второго MLA 350, например, при сравнении запросов, документов и параметров пользовательского взаимодействия.
[00128] На Фиг. 4 представлена блок-схема способа 500 создания набора обучающих объектов для алгоритма машинного обучения. Способ 500 выполняется первым MLA 320 обучающего сервера 230.
[00129] Способ 500 может начинаться на этапе 502.
[00130] ЭТАП 502: извлечение документа, который был индексирован сервером поисковой системы.
[00131] На этапе 502, агрегатор 420 первого MLA 320 может извлекать указание на документы 402, включая документ 404, причем документ 404 был индексирован поисковым роботом сервера 210 поисковой системы в индексе 214 сервера 210 поисковой системы.
[00132] Способ 500 далее может перейти к выполнению этапа 504.
[00133] ЭТАП 504: извлечение множества запросов, которые были использованы для обнаружения документа на сервере поисковой системы, причем множество запросов было введено множеством пользователей.
[00134] На этапе 504, агрегатор 420 третьего MLA 380 может извлекать указание на запросы 406, указание на на запросы 406, включая множество запросов 408, которые были введены пользователями первого клиентского устройства 110, второго клиентского устройства 120, третьего клиентского устройства 130 и четвертого клиентского устройства 140.
[00135] Способ 500 далее может перейти к выполнению этапа 506.
[00136] ЭТАП 506: извлечение множества параметров пользовательского взаимодействия для каждого из множества запросов, причем множество параметров пользовательского взаимодействия связано со множеством пользователей;
[00137] Этап 506, агрегатор 420 третьего 380 может извлекать из журнала 218 пользовательских взаимодействий базы 212 данных поискового журнала сервера 210 поисковой системы, набор параметров 410 пользовательских взаимодействий, набор параметров 410 пользовательских взаимодействий, который включает в себя множество параметров 412 пользовательских взаимодействий для каждого из множества запросов 408, причем множество параметров 412 пользовательских взаимодействий связано со множеством пользователей первого клиентского устройства 110, второго клиентского устройства 120, третьего клиентского устройства 130 и четвертого клиентского устройства 140. Множество параметров 412 пользовательских взаимодействий для каждого запроса могут включать в себя, среди прочего: число кликов, кликабельность (CTR), время пребывания, глубину просмотра, показатель отказов и среднее время, проведенное над документом.
[00138] Способ 500 далее может перейти к выполнению этапа 506.
[00139] ЭТАП 508: создание множества векторов аннотации, причем каждый вектор аннотации связан с соответствующим запросом из множества запросов, и каждый вектор аннотации из множества векторов аннотации включает в себя указание на:
соответствующий запрос,
множество факторов запроса, причем множество факторов запроса по меньшей мере указывает на лингвистические факторы соответствующего запроса, и
множество параметров пользовательского взаимодействия, которые указывают на пользовательское поведение с документом по меньшей мере части из множества пользователей после ввода соответствующего запроса на сервер поисковой системы.
[00140] На этапе 508, генератор 440 вектора аннотации третьего MLA 380 может создавать множество векторов 445 аннотации на основе набора связанных запросов и параметров 430 пользовательских взаимодействий. Каждый вектор 447 аннотации из множества векторов 445 аннотации может включать в себя соответствующий запрос 408, множество факторов запроса, которые по меньшей мере указывают на лингвистические факторы соответствующего запроса, и множество параметров 410 пользовательского взаимодействия, которые указывают на пользовательское поведение с документом 404 по меньшей мере частью из множества пользователей после ввода соответствующего запроса 408 на сервере 210 поисковой системы. Множество факторов запроса включает в себя по меньшей мере одно из: семантические факторы запроса, грамматические факторы запроса и лексические факторы запроса. В некоторых вариантах осуществления технологии, генератор 440 векторов аннотации может осуществлять взвешивание по меньшей мере одного элемента каждого вектора 447 аннотации с помощью соответствующего взвешивающего фактора, который указывает на относительную важность элемента для кластеризации. В некоторых вариантах осуществления настоящей технологии, генератор 440 векторов аннотации может извлекать по меньшей мере часть из множества факторов запроса из второй базы данных. В некоторых вариантах осуществления настоящей технологии, генератор 440 векторов аннотации может создавать по меньшей мере другую часть из множества факторов запроса.
[00141] Способ 500 далее может опционально перейти к выполнению этапа 510. В некоторых вариантах осуществления способ 500 может переходить к способу 600 или способу 700.
[00142] ЭТАП 510: сохранение множества векторов аннотации.
[00143] На этапе 510, третий MLA 380 может сохранять множество векторов 445 аннотации, созданных генератором 440 векторов аннотации в обучающей базе 232 данных обучающего сервера 230, причем множество векторов 445 аннотации связано с документом 404.
[00144] Далее способ500 завершается.
[00145] На Фиг. 5 представлена блок-схема способа 600 создания среднего вектора 465 аннотации на основе множества векторов 445 аннотации. Способ 600 выполняется первым MLA 320 обучающего сервера 230.
[00146] ЭТАП 602: создание среднего вектора аннотации для документа, причем по меньшей мере часть среднего вектора аннотации является средним из по меньшей мере части множества векторов аннотации.
[00147] На этапе 602, усреднитель 460 третьего MLA 380 может создавать средний вектор 465 аннотации для документа 404, причем по меньшей мере часть среднего вектора 465 аннотации является средним из по меньшей мере части множества векторов 445 аннотации.
[00148] Способ 600 далее может перейти к выполнению этапа 604.
[00149] ЭТАП 604: сохранение среднего вектора аннотации, который связан с документом.
[00150] На этапе 604 третий MLA 380 может сохранять средний вектор 465 аннотации в обучающей базе 232 данных обучающего сервера 230.
[00151] Далее способ 600 завершается.
[00152] В некоторых вариантах осуществления настоящей технологии, после способа 600 может начинаться способ 700.
[00153] На Фиг. 6 представлена блок-схема способа 700 создания среднего вектора 465 аннотации для кластеров на основе множества векторов 445 аннотации. Способ 700 выполняется первым MLA 320 обучающего сервера 230.
[00154] Способ 700 может начинаться на этапе 702.
[00155] ЭТАП 702: кластеризация множества векторов аннотации для документа на заранее определенное число кластеров, причем кластеризация основана по меньшей мере на одном из: множестве факторов запроса и множестве параметров пользовательских взаимодействий.
[00156] На этапе 702, генератор 480 кластеров третьего MLA 380 может осуществлять кластеризацию множества векторов 445 аннотации для документа 404 на заранее определенное число кластеров, причем кластеризация основана по меньшей мере на одном из: множестве факторов запроса и множестве параметров пользовательских взаимодействий. Кластеризация может осуществляться с помощью одного из: алгоритма кластеризации k-средних, алгоритма кластеризации ожидаемой максимизации, алгоритма кластеризации наиболее удаленных первых, алгоритма иерархической кластеризации, алгоритма cobweb-кластеризации и алгоритма кластеризации на основе плотности.
[00157] Способ 700 далее может перейти к выполнению этапа 704.
[00158] ЭТАП 704: создание среднего вектора аннотации для каждого из кластеров.
[00159] На этапе 704, генератор 480 кластеров третьего MLA 380 может создавать множество средних векторов 490 аннотации, включая средний вектор 492 аннотации для каждого из кластеров.
[00160] Способ 700 может перейти к выполнению этапа 706.
[00161] ЭТАП 706: сохранение среднего вектора аннотации для каждого из кластеров, который связан с документом.
[00162] На этапе 806, третий MLA 380 может сохранять множество средних векторов 490 аннотации в обучающую базу 232 данных обучающего сервера 230, причем множество средних векторов 490 аннотации включает в себя средний вектор аннотации 492 для каждого кластера, и средний вектора 492 аннотации связан с документом 404.
[00163] Далее способ 700 завершается.
[00164] В общем случае, способ 700 может выполняться, когда необходим один средний вектор аннотации, например, когда запросы, ведущие к документу 404, близко связаны друг с другом, при этом способ 800 может выполняться, когда необходимо по меньшей мере два средних вектора аннотации, например, когда запросы, ведущие на документ 404 близко не связаны друг с другом. Способы 600, 700 и 800 могут выполняться в режиме оффлайн с помощью обучающего сервера 230.
[00165] Множество средних векторов 490 аннотации может далее использоваться первым MLA 320 и/или вторым MLA 350 в качестве обучающих факторов и/или факторов для ранжирования документа. В качестве неограничивающего примера, второй MLA 350 или другой MLA, который выполняет нейронные сети, может использовать векторы аннотации для определения сходства между различными запросами и прогнозировать фактор пользовательского взаимодействия, например, времени пребывания, для документа.
[00166] Настоящая технология способствует более эффективной обработке приложений для поиска информации, что позволяет сохранить вычислительные ресурсы и время как на клиентских устройствах, так и сервере, путем представления более релевантных результатов пользователями в ответ на запросы.
[00167] Важно иметь в виду, что не все упомянутые здесь технические результаты могут проявляться в каждом варианте осуществления настоящей технологии. Например, варианты осуществления настоящей технологии могут быть выполнены без проявления некоторых технических результатов, другие могут быть выполнены с проявлением других технических результатов или вовсе без них.
[00168] Некоторые из этих этапов, а также процессы передачи-получения сигнала являются хорошо известными в данной области техники и поэтому для упрощения были опущены в некоторых частях данного описания. Сигналы могут быть переданы-получены с помощью оптических средств (например, опто-волоконного соединения), электронных средств (например, проводного или беспроводного соединения) и механических средств (например, на основе давления, температуры или другого подходящего параметра).
[00169] Модификации и улучшения вышеописанных вариантов осуществления настоящей технологии будут ясны специалистам в данной области техники. Предшествующее описание представлено только в качестве примера и не устанавливает никаких ограничений. Таким образом, объем настоящей технологии ограничен только объемом прилагаемой формулы изобретения.
название | год | авторы | номер документа |
---|---|---|---|
СПОСОБ И СИСТЕМА ВЫБОРА ДЛЯ РАНЖИРОВАНИЯ ПОИСКОВЫХ РЕЗУЛЬТАТОВ С ПОМОЩЬЮ АЛГОРИТМА МАШИННОГО ОБУЧЕНИЯ | 2018 |
|
RU2731658C2 |
СПОСОБ И СИСТЕМА ГЕНЕРИРОВАНИЯ ПРИЗНАКА ДЛЯ РАНЖИРОВАНИЯ ДОКУМЕНТА | 2018 |
|
RU2733481C2 |
СИСТЕМА И СПОСОБ ФОРМИРОВАНИЯ ОБУЧАЮЩЕГО НАБОРА ДЛЯ АЛГОРИТМА МАШИННОГО ОБУЧЕНИЯ | 2017 |
|
RU2711125C2 |
СПОСОБ И СИСТЕМА ПОСТРОЕНИЯ ПОИСКОВОГО ИНДЕКСА С ИСПОЛЬЗОВАНИЕМ АЛГОРИТМА МАШИННОГО ОБУЧЕНИЯ | 2018 |
|
RU2720954C1 |
Система и способ формирования обучающего набора для алгоритма машинного обучения | 2018 |
|
RU2744029C1 |
СПОСОБ И СИСТЕМА ДЛЯ ОПРЕДЕЛЕНИЯ АНОМАЛЬНЫХ ПОСЕЩЕНИЙ ВЕБ-САЙТОВ | 2019 |
|
RU2775824C2 |
СПОСОБ И СИСТЕМА ДЛЯ РАСШИРЕНИЯ ПОИСКОВЫХ ЗАПРОСОВ С ЦЕЛЬЮ РАНЖИРОВАНИЯ РЕЗУЛЬТАТОВ ПОИСКА | 2018 |
|
RU2720905C2 |
СПОСОБ И СЕРВЕР ГЕНЕРИРОВАНИЯ МЕТА-ПРИЗНАКА ДЛЯ РАНЖИРОВАНИЯ ДОКУМЕНТОВ | 2018 |
|
RU2721159C1 |
СПОСОБ И СЕРВЕР ДЛЯ ПОВТОРНОГО ОБУЧЕНИЯ АЛГОРИТМА МАШИННОГО ОБУЧЕНИЯ | 2019 |
|
RU2743932C2 |
Способ и сервер для определения обучающего набора для обучения алгоритма машинного обучения (MLA) | 2020 |
|
RU2817726C2 |
Группа изобретений относится к алгоритмам машинного обучения и может быть использована для создания векторов аннотации для документа. Техническим результатом является повышение эффективности обработки приложений для поиска информации. Способ для создания множества векторов аннотации для документа, причем множество векторов аннотации используется в качестве факторов первым алгоритмом машинного обучения (MLA) для извлечения информации, причем способ выполняется вторым MLA на сервере, и включает: извлечение документа, который был индексирован сервером поисковой системы, извлечение множества запросов, используемых для обнаружения документа, извлечение множества параметров пользовательского взаимодействия для каждого из множества запросов, создание множества векторов аннотации, каждый из которых связан с соответствующим запросом из множества запросов, причем каждый вектор аннотации из множества векторов аннотации включает в себя указание на: соответствующий запрос, множество факторов запроса, которые по меньшей мере указывают на лингвистические факторы, и множество параметров пользовательского взаимодействия. 2 н. и 20 з.п. ф-лы, 6 ил.
1. Способ создания множества векторов аннотации для документа, которое предназначено для использования в качестве факторов первым алгоритмом машинного обучения (MLA) для извлечения информации, способ выполняется вторым MLA на сервере, который соединен с базой данных поискового журнала, причем способ включает в себя:
извлечение вторым MLA из базы данных поискового журнала документа, который был индексирован сервером поисковой системы;
извлечение вторым MLA из базы данных поискового журнала множества запросов, которые были использованы для обнаружения документа на сервере поисковой системы, причем множество запросов было введено множеством пользователей;
извлечение вторым MLA из базы данных поискового журнала множества параметров пользовательского взаимодействия для каждого из множества запросов, причем множество параметров пользовательского взаимодействия связано со множеством пользователей;
создание вторым MLA множества векторов аннотации, причем каждый вектор аннотации связан с соответствующим запросом из множества запросов, причем каждый вектор аннотации из множества векторов аннотации включает в себя указание на:
соответствующий запрос,
множество факторов запроса, причем множество факторов запроса по меньшей мере указывает на лингвистические факторы соответствующего запроса, и
множество параметров пользовательского взаимодействия, которые указывают на пользовательское поведение с документом по меньшей мере части из множества пользователей после ввода соответствующего запроса на сервер поисковой системы.
2. Способ по п. 1, в котором множество факторов запроса далее включает в себя по меньшей мере одно из: семантические факторы запроса, грамматические факторы запроса и лексические свойства запроса.
3. Способ по п. 2, в котором способ дополнительно включает в себя, перед созданием множества векторов аннотации:
извлечение вторым MLA по меньшей мере части из множества факторов запроса из второй базы данных.
4. Способ по п. 2, в котором способ далее включает в себя, после извлечения по меньшей мере части множества факторов запроса из второй базы данных:
создание вторым MLA по меньшей мере другой части из множества факторов запроса.
5. Способ по п. 2, дополнительно включающий в себя:
создание вторым MLA среднего вектора аннотации для документа, причем по меньшей мере часть среднего вектора аннотации является средним из по меньшей мере части множества векторов аннотации; и
сохранение вторым MLA среднего вектора аннотации, который связан с документом.
6. Способ по п. 2, дополнительно включающий в себя:
кластеризацию вторым MLA множества векторов аннотации для документа на заранее определенное число кластеров, причем кластеризация основана по меньшей мере на одном из: множестве факторов запроса и множестве параметров пользовательских взаимодействий;
создание вторым MLA среднего вектора аннотации для каждого из кластеров; и
сохранение вторым MLA среднего вектора аннотации для каждого из кластеров, который связан с документом.
7. Способ по п. 2, в котором создание множества векторов аннотации включает в себя:
взвешивание по меньшей мере одного элемента каждого вектора аннотации с помощью соответствующего взвешивающего фактора, который указывает на относительную важность элемента для кластеризации.
8. Способ по п. 7, в котором по меньшей мере один параметр пользовательского взаимодействия для каждого запроса включает в себя по меньшей мере одно из: число кликов, кликабельность (CTR), время пребывания, глубина просмотра, показатель отказов и среднее время, проведенное над документом.
9. Способ по п. 8, в котором кластеризация осуществляется с помощью одного из: алгоритма кластеризации k-средних, алгоритма кластеризации ожидаемой максимизации, алгоритма кластеризации наиболее удаленных первых, алгоритма иерархической кластеризации, алгоритма cobweb-кластеризации и алгоритма кластеризации на основе плотности.
10. Способ по п. 9, в котором каждый кластер из заранее определенного числа кластеров по меньшей мере частично указывает на другое семантическое значение.
11. Способ по п. 9, в котором каждый кластер из заранее определенного числа кластеров по меньшей мере частично указывает на сходства в пользовательском поведении.
12. Система для создания множества векторов аннотации для документа, которое предназначено для использования в качестве факторов первым алгоритмом машинного обучения (MLA) для извлечения информации, причем система выполняется вторым MLА, и включает в себя:
процессор;
постоянный машиночитаемый носитель компьютерной информации, содержащий инструкции, процессор;
при выполнении инструкций настраиваемый на:
извлечение из базы данных поискового журнала документа, который был индексирован сервером поисковой системы;
извлечение вторым MLA из базы данных поискового журнала множества запросов, которые были использованы для обнаружения документа на сервере поисковой системы, причем множество запросов было введено множеством пользователей;
извлечение вторым MLA из базы данных поискового журнала множества параметров пользовательского взаимодействия для каждого из множества запросов, причем множество параметров пользовательского взаимодействия связано со множеством пользователей;
создание вторым MLA множества векторов аннотации, причем каждый вектор аннотации связан с соответствующим запросом из множества запросов, причем каждый вектор аннотации из множества векторов аннотации включает в себя указание на:
соответствующий запрос,
множество факторов запроса, причем множество факторов запроса по меньшей мере указывает на лингвистические факторы соответствующего запроса, и
множество параметров пользовательского взаимодействия, которые указывают на пользовательское поведение с документом по меньшей мере части из множества пользователей после ввода соответствующего запроса на сервер поисковой системы.
13. Система по п. 12, в котором множество факторов запроса далее включает в себя по меньшей мере одно из: семантические свойства запроса, грамматические факторы запроса и лексические свойства запроса.
14. Система по п. 13, в котором процессор далее выполнен с возможностью, перед созданием множества векторов аннотации:
осуществлять извлечение вторым MLA по меньшей мере части из множества факторов запроса из второй базы данных.
15. Система по п. 13, в котором процессор далее выполнен с возможностью, после извлечения по меньшей мере части множества факторов запроса из второй базы данных:
создание вторым MLA по меньшей мере другой части из множества факторов запроса.
16. Система по п. 13, в которой процессор выполнен с дополнительной возможностью осуществлять:
создание вторым MLA среднего вектора аннотации для документа, причем по меньшей мере часть среднего вектора аннотации является средним из по меньшей мере части множества векторов аннотации; и
сохранение вторым MLA среднего вектора аннотации, который связан с документом.
17. Система по п. 13, в которой процессор выполнен с дополнительной возможностью осуществлять:
кластеризацию, вторым MLA множества векторов аннотации для документа на заранее определенное число кластеров, причем кластеризация основана по меньшей мере на одном из: множестве факторов запроса и множестве параметров пользовательских взаимодействий;
создание вторым MLA среднего вектора аннотации для каждого из кластеров; и
сохранение вторым MLA среднего вектора аннотации для каждого из кластеров, который связан с документом.
18. Система по п. 17, в которой для создания множества векторов аннотации, процессор выполнен с возможностью осуществлять:
взвешивание по меньшей мере одного элемента каждого вектора аннотации с помощью соответствующего взвешивающего фактора, который указывает на относительную важность элемента для кластеризации.
19. Система по п. 18, в которой по меньшей мере один параметр пользовательского взаимодействия для каждого запроса включает в себя по меньшей мере одно из: число кликов, кликабельность (CTR), время пребывания, глубина просмотра, показатель отказов и среднее время, проведенное над документом.
20. Система по п. 19, в которой кластеризация осуществляется с помощью одного из: алгоритма кластеризации k-средних, алгоритма кластеризации ожидаемой максимизации, алгоритма кластеризации наиболее удаленных первых, алгоритма иерархической кластеризации, алгоритма cobweb-кластеризации и алгоритма кластеризации на основе плотности.
21. Система по п. 20, в которой каждый кластер из заранее определенного числа кластеров по меньшей мере частично указывает на другое семантическое значение.
22. Система по п. 20, в которой каждый кластер из заранее определенного числа кластеров по меньшей мере частично указывает на сходства в пользовательском поведении.
US 9507861 B2, 29.11.2016 | |||
US 8543668 B1, 24.09.2013 | |||
US 7895235 B2, 22.02.2011 | |||
Токарный резец | 1924 |
|
SU2016A1 |
СПОСОБ И СИСТЕМА СОЗДАНИЯ КРАТКОГО ИЗЛОЖЕНИЯ ЦИФРОВОГО КОНТЕНТА | 2016 |
|
RU2637998C1 |
СПОСОБ АВТОМАТИЧЕСКОЙ ИТЕРАТИВНОЙ КЛАСТЕРИЗАЦИИ ЭЛЕКТРОННЫХ ДОКУМЕНТОВ ПО СЕМАНТИЧЕСКОЙ БЛИЗОСТИ, СПОСОБ ПОИСКА В СОВОКУПНОСТИ КЛАСТЕРИЗОВАННЫХ ПО СЕМАНТИЧЕСКОЙ БЛИЗОСТИ ДОКУМЕНТОВ И МАШИНОЧИТАЕМЫЕ НОСИТЕЛИ | 2014 |
|
RU2556425C1 |
Авторы
Даты
2020-04-23—Публикация
2017-12-29—Подача