СПОСОБЫ И СЕРВЕРЫ ДЛЯ ОПРЕДЕЛЕНИЯ ЗАВИСЯЩИХ ОТ МЕТРИКИ ПОРОГОВ, ИСПОЛЬЗУЕМЫХ СО МНОЖЕСТВОМ ВЛОЖЕННЫХ МЕТРИК ДЛЯ БИНАРНОЙ КЛАССИФИКАЦИИ ЦИФРОВОГО ОБЪЕКТА
METHODS AND SERVERS FOR DETERMINING METRIC-DEPENDENT THRESHOLDS USED WITH MULTIPLE NESTED METRICS FOR BINARY CLASSIFICATION OF A DIGITAL OBJECT

Область техники, к которой относится изобретение
[01] Настоящая технология относится к системам и способам для бинарной классификации цифровых объектов. В частности, настоящая технология относится к способам и серверам для определения сочетания зависящих от метрики порогов, используемых со множеством вложенных метрик при выполнении бинарной классификации цифрового объекта.
Уровень техники
[02] Алгоритмы машинного обучения (MLA, Machine Learning Algorithm) используются для удовлетворения разнообразных потребностей в компьютерных технологиях. Обычно алгоритмы MLA используются для формирования прогноза на основе предоставленных им данных. Некоторые алгоритмы MLA называются классификаторами и в целом способны относить объекты к одному или нескольким классам. Иными словами, некоторые алгоритмы MLA, обученные на основе обучающего набора данных, содержащего наблюдения (или экземпляры) известной категории, способны решать задачу определения того, к какой категории из набора категорий (или подмножеств) относится новое наблюдение.
[03] Полученный в результате прогнозируемый класс может быть использован в качестве дополнительной информации об объекте для предоставления пользователям улучшенных интерактивных электронных сервисов. Например, информация, полученная в результате классификации объекта, может быть использована поисковыми системами (например, классификация документа), сервисами рекомендации контента (например, классификация контента), сервисами электронной почты (например, классификация сообщения электронной почты), сервисами электронной торговли (например, классификация пользователя) и т.п.
[04] В частности, классификатор может быть обучен на обучающем наборе данных, связанном с объектом и содержащем связанную с объектом информацию и контрольный класс объекта. Классификатор выучивает, какая информация об объекте с большей вероятностью указывает на контрольный класс обучающих объектов. Затем этот классификатор используется для определения прогнозируемого класса объекта этапа использования на основе информации, доступной для этого объекта этапа использования.
[05] Неверная классификация объектов может приводить к ошибкам при дальнейшей обработке объекта и обычно негативно влияет на качество интерактивных сервисов, требующих такой классификации.
Раскрытие изобретения
[06] Разработанные варианты осуществления настоящей технологии основаны на понимании разработчиками по меньшей мере одной технической проблемы, связанной с известными подходами к классификации объектов.
[07] Согласно одному аспекту настоящей технологии реализован сервер, способный выполнять множество компьютерных алгоритмов, которые называются механизмом классификации и в целом способны выполнять бинарную классификацию цифровых объектов. В контексте настоящей технологии цифровые объекты могут соответствовать элементам, связанным с одним или несколькими интерактивными сервисами, такими как поисковые системы, сервисы рекомендации контента, сервисы электронной торговли, сервисы электронной почты и т.д. Характер цифрового объекта, среди прочего, зависит от конкретных вариантов реализации настоящей технологии.
[08] Механизм классификации содержит множество алгоритмов MLA, способных прогнозировать класс цифрового объекта на основе связанных с ним прошлых событий объекта. Можно сказать, что множество алгоритмов MLA представляет собой прогнозирующие модели, которые моделируют множество метрик и применяются в отношении данных, представляющих прошлые события объекта для цифрового объекта, с целью определения вероятности принадлежности этого объекта к некоторому классу.
[09] Согласно по меньшей мере одному аспекту настоящей технологии, множество метрик, используемых механизмом классификации, способно использовать конкретные подмножества прошлых событий объекта. Следует отметить, что события объекта некоторых видов могут быть связаны особым образом.
[010] В частности, события объекта некоторых видов могут иметь взаимосвязь вида «вложенность». Можно сказать, что события объекта второго вида вложены в события объекта первого вида, если события объекта второго вида могут происходить, только если произошли события объекта первого вида. Например, события объекта (события второго вида), указывающие на «клики» пользователя на результатах поисковой системы, могут происходить только после отправки пользователем запросов (события первого вида). Также можно сказать, что события объекта второго вида вложены в события объекта первого вида, когда события объекта второго вида представляют собой подмножество событий объекта первого вида. Например, события объекта (второго вида), указывающие на «длинные клики», представляют собой подмножество событий объекта (первого вида), указывающих на «клики».
[011] В по меньшей мере некоторых вариантах осуществления настоящей технологии можно сказать, что множество метрик, используемых механизмом классификации, является «вложенным» в том смысле, что события объекта, используемые первой метрикой из множества метрик для формирования прогнозов, вложены в события объекта, используемые второй метрикой из множества метрик для формирования ее собственных прогнозов.
[012] Механизм классификации содержит компьютерный алгоритм, способный применять «целевое сочетание зависящих от метрики порогов» в отношении прогнозов, сформированных множеством вложенных метрик, для выполнения бинарной классификации цифрового объекта. В не имеющем ограничительного характера примере настоящей технологии, где три вложенные метрики используются для формирования трех прогнозов на основе соответствующих подмножеств прошлых событий объекта, указывающих на вероятность принадлежности цифрового объекта к первому классу, механизм классификации может применять целевое сочетание трех зависящих от метрики порогов, каждый из которых соответствует одной вложенной метрике из числа трех вложенных метрик. В некоторых вариантах осуществления изобретения, если по меньшей мере один прогноз из множества прогнозов превышает соответствующий порог из целевого сочетания зависящих от метрики порогов, то механизм классификации может определять, что цифровой объект принадлежит к первому классу. В некоторых вариантах осуществления изобретения, если отсутствуют прогнозы из множества прогнозов, превышающие соответствующий порог из целевого сочетания зависящих от метрики порогов, то механизм классификации может определять, что цифровой объект принадлежит к другому классу.
[013] Согласно по меньшей мере одному аспекту настоящей технологии реализован сервер, способный выбирать целевое сочетание зависящих от метрики порогов для множества вложенных метрик из числа множества сочетаний-кандидатов зависящих от метрики порогов. Сервер может выполнять итеративный процесс проверки для выбора целевого сочетания зависящих от метрики порогов из множества сочетаний-кандидатов зависящих от метрики порогов. В некоторых вариантах осуществления изобретения сервер может использовать зависящий от объекта проверочный набор данных для получения проверочных данных об эффективности классификации множества вложенных метрик с различными сочетаниями зависящих от метрики порогов. Например, эффективность классификации множества вложенных метрик с различными сочетаниями зависящих от метрики порогов может быть измерена с точки зрения точности, полноты, погрешности и т.п. В некоторых вариантах осуществления изобретения сервер может формировать текущее сочетание-кандидат зависящих от метрики порогов (подлежащее использованию во время текущей итерации итеративного процесса проверки) на основе предыдущего сочетания-кандидата зависящих от метрики порогов (которое использовалось во время предыдущей итерации итеративного процесса проверки).
[014] Согласно первому аспекту настоящей технологии реализован способ определения целевого сочетания зависящих от метрики порогов для использования со множеством вложенных метрик при выполнении бинарной классификации цифрового объекта на первый класс или второй класс. Объект связан с прошлыми событиями объекта, указание на которые хранится в хранилище данных. Способ выполняется сервером, имеющим доступ к хранилищу данных. Способ включает в себя получение сервером множества зависящих от объекта проверочных наборов данных. Набор из множества зависящих от объекта проверочных наборов данных содержит указание на множество прошлых событий объекта, связанных с соответствующим проверочным объектом, и контрольный класс проверочного объекта, представляющий собой первый класс или второй класс. Способ включает в себя применение сервером множества вложенных метрик в отношении множества зависящих от объекта проверочных наборов данных и формирование таким образом множества прогнозов. Прогноз указывает на вероятность принадлежности проверочного объекта к первому классу или ко второму классу. Способ во время первой итерации включает в себя сравнение сервером множества прогнозов с соответствующими порогами из первого сочетания зависящих от метрики порогов для определения прогнозируемых классов проверочных объектов для первой итерации. Способ во время первой итерации включает в себя формирование сервером первых параметров точности и первых параметров полноты для множества вложенных метрик для первой итерации путем сравнения контрольных классов с соответствующими прогнозируемыми классами проверочных объектов для первой итерации. Способ во время второй итерации включает в себя корректировку сервером порога из первого сочетания зависящих от метрики порогов и формирование таким образом второго сочетания зависящих от метрики порогов. Способ во время второй итерации включает в себя сравнение сервером множества прогнозов с соответствующими порогами из второго сочетания зависящих от метрики порогов для определения прогнозируемых классов проверочных объектов для второй итерации. Способ во время второй итерации включает в себя формирование сервером вторых параметров точности и вторых параметров полноты для множества вложенных метрик для второй итерации путем сравнения контрольных классов с соответствующими прогнозируемыми классами проверочных объектов для второй итерации. Способ включает в себя выбор сервером первого сочетания зависящих от метрики порогов или второго сочетания зависящих от метрики порогов в качестве целевого сочетания зависящих от метрики порогов путем сравнения (а) первых параметров точности и вторых параметров точности с порогом точности и/или (б) первых параметров полноты и вторых параметров полноты с порогом полноты. Целевое сочетание зависящих от метрики порогов подлежит использованию со множеством вложенных метрик в режиме использования для выполнения такой бинарной классификации цифрового объекта, что если прогноз этапа использования по меньшей мере одной метрики из множества вложенных метрик для цифрового объекта превышает соответствующий порог из целевого сочетания зависящих от метрики порогов, то определяется принадлежность цифрового объекта к первому классу.
[015] В некоторых вариантах осуществления способ дополнительно включает в себя выполнение сервером множества итераций до тех пор, пока (а) параметры точности для итерации не окажутся больше порога точности и/или (б) параметры полноты для итерации не окажутся больше порога полноты, и выбор сервером сочетания зависящих от метрики порогов из этой итерации в качестве целевого сочетания зависящих от метрики порогов.
[016] В некоторых вариантах осуществления способ дополнительно включает в себя получение сервером в режиме использования зависящего от объекта набора данных, содержащего указание на множество прошлых событий объекта, связанных с объектом. Способ включает в себя применение сервером в режиме использования множества вложенных метрик в отношении зависящего от объекта набора данных и формирование таким образом одного или нескольких прогнозов, указывающих на вероятность принадлежности объекта к первому классу или ко второму классу. Способ включает в себя сравнение сервером в режиме использования одного или нескольких прогнозов с соответствующими порогами из целевого сочетания зависящих от метрики порогов. Способ включает в себя определение сервером в режиме использования принадлежности объекта к первому классу, если по меньшей мере один прогноз превышает соответствующий порог из целевого сочетания зависящих от метрики порогов. Способ включает в себя определение сервером в режиме использования принадлежности объекта ко второму классу, если отсутствует прогноз, превышающий соответствующий порог из целевого сочетания зависящих от метрики порогов.
[017] В некоторых вариантах осуществления способа первая метрика из множества вложенных метрик основывается на событиях объекта первого вида, а вторая метрика из множества вложенных метрик основывается на событиях объекта второго вида. События объекта второго вида происходят, только если произошли события объекта первого вида.
[018] В некоторых вариантах осуществления способа события объекта второго вида представляют собой подмножество событий объекта первого вида.
[019] В некоторых вариантах осуществления способа целевое сочетание зависящих от метрики порогов выбирается одновременно для множества вложенных метрик во время одной итерации.
[020] В некоторых вариантах осуществления способа объект представляет собой сообщение электронной почты, при этом первый класс соответствует спаму, а второй класс соответствует отсутствию спама.
[021] В некоторых вариантах осуществления способа объект представляет собой пользователя платформы электронной торговли, при этом первый класс соответствует мошенничеству, а второй класс соответствует отсутствию мошенничества.
[022] В некоторых вариантах осуществления способа объект представляет собой документ, при этом первый класс соответствует релевантности, а второй класс соответствует нерелевантности.
[023] Согласно второму аспекту настоящей технологии реализован сервер для определения целевого сочетания зависящих от метрики порогов для использования со множеством вложенных метрик при выполнении бинарной классификации цифрового объекта на первый класс или второй класс. Объект связан с прошлыми событиями объекта, указание на которые хранится в хранилище данных. Хранилище данных доступно серверу. Сервер способен получать множество зависящих от объекта проверочных наборов данных. Набор из множества зависящих от объекта проверочных наборов данных содержит указание на множество прошлых событий объекта, связанных с соответствующим проверочным объектом, и контрольный класс проверочного объекта, представляющий собой первый класс или второй класс. Сервер способен применять множество вложенных метрик в отношении множества зависящих от объекта проверочных наборов данных и формировать таким образом множество прогнозов. Прогноз указывает на вероятность принадлежности проверочного объекта к первому классу или ко второму классу. Сервер во время первой итерации способен сравнивать множество прогнозов с соответствующими порогами из первого сочетания зависящих от метрики порогов для определения прогнозируемых классов проверочных объектов для первой итерации. Сервер во время первой итерации способен формировать первые параметры точности и первые параметры полноты для множества вложенных метрик для первой итерации путем сравнения контрольных классов с соответствующими прогнозируемыми классами проверочных объектов для первой итерации. Сервер во время второй итерации способен корректировать порог из первого сочетания зависящих от метрики порогов и формировать таким образом второе сочетание зависящих от метрики порогов. Сервер во время второй итерации способен сравнивать множество прогнозов с соответствующими порогами из второго сочетания зависящих от метрики порогов для определения прогнозируемых классов проверочных объектов для второй итерации. Сервер во время второй итерации способен формировать вторые параметры точности и вторые параметры полноты для множества вложенных метрик для второй итерации путем сравнения контрольных классов с соответствующими прогнозируемыми классами проверочных объектов для второй итерации. Сервер способен выбирать первое сочетание зависящих от метрики порогов или второе сочетание зависящих от метрики порогов в качестве целевого сочетания зависящих от метрики порогов путем сравнения (а) первых параметров точности и вторых параметров точности с порогом точности и/или (б) первых параметров полноты и вторых параметров полноты с порогом полноты. Целевое сочетание зависящих от метрики порогов подлежит использованию со множеством вложенных метрик в режиме использования для выполнения такой бинарной классификации цифрового объекта, что если прогноз этапа использования по меньшей мере одной метрики из множества вложенных метрик для цифрового объекта превышает соответствующий порог из целевого сочетания зависящих от метрики порогов, то определяется принадлежность цифрового объекта к первому классу.
[024] В некоторых вариантах осуществления сервер дополнительно способен выполнять множество итераций до тех пор, пока (а) параметры точности для итерации не окажутся больше порога точности и/или (б) параметры полноты для итерации не окажутся больше порога полноты, и выбирать сочетание зависящих от метрики порогов из этой итерации в качестве целевого сочетания зависящих от метрики порогов.
[025] В некоторых вариантах осуществления сервер дополнительно способен получать в режиме использования зависящий от объекта набор данных, содержащий указание на множество прошлых событий объекта, связанных с объектом. Сервер дополнительно способен применять в режиме использования множество вложенных метрик в отношении зависящего от объекта набора данных и формировать таким образом один или несколько прогнозов, указывающих на вероятность принадлежности объекта к первому классу или ко второму классу. Сервер дополнительно способен сравнивать в режиме использования один или несколько прогнозов с соответствующими порогами из целевого сочетания зависящих от метрики порогов. Сервер дополнительно способен определять в режиме использования принадлежность объекта к первому классу, если по меньшей мере один прогноз превышает соответствующий порог из целевого сочетания зависящих от метрики порогов. Сервер дополнительно способен определять в режиме использования принадлежность объекта ко второму классу, если отсутствует прогноз, превышающий соответствующий порог из целевого сочетания зависящих от метрики порогов.
[026] В некоторых вариантах осуществления сервера первая метрика из множества вложенных метрик основывается на событиях объекта первого вида, а вторая метрика из множества вложенных метрик основывается на событиях объекта второго вида. События объекта второго вида происходят, только если произошли события объекта первого вида.
[027] В некоторых вариантах осуществления сервера события объекта второго вида представляют собой подмножество событий объекта первого вида.
[028] В некоторых вариантах осуществления сервера целевое сочетание зависящих от метрики порогов выбирается одновременно для множества вложенных метрик во время одной итерации.
[029] В некоторых вариантах осуществления сервера объект представляет собой сообщение электронной почты, при этом первый класс соответствует спаму, а второй класс соответствует отсутствию спама.
[030] В некоторых вариантах осуществления сервера объект представляет собой пользователя платформы электронной торговли, при этом первый класс соответствует мошенничеству, а второй класс соответствует отсутствию мошенничества.
[031] В некоторых вариантах осуществления сервера объект представляет собой документ, при этом первый класс соответствует релевантности, а второй класс соответствует нерелевантности.
[032] В контексте настоящего описания, если явно не указано другое, под электронным устройством, сервером, удаленным сервером и компьютерной системой понимаются любые аппаратные и/или программные средства, подходящие для решения поставленной задачи. Таким образом, некоторые не имеющие ограничительного характера примеры аппаратных и/или программных средств включают в себя компьютеры (серверы, настольные, ноутбуки, нетбуки и т.п.), смартфоны, планшеты, сетевое оборудование (маршрутизаторы, коммутаторы, шлюзы и т.п.) и/или их сочетания.
[033] В контексте настоящего описания, если явно не указано другое, понятия «пригодная для чтения компьютером среда» и «память» включают в себя носители любого типа, в качестве не имеющих ограничительного характера примеров которых можно привести оперативное запоминающее устройство (ОЗУ), постоянное запоминающее устройство (ПЗУ), диски (CD-ROM, DVD, гибкие диски, жесткие диски и т.д.), USB-накопители, карты флэш-памяти, твердотельные накопители и накопители на магнитных лентах.
[034] В контексте настоящего описания, если явно не указано другое, в качестве указания на информационный элемент может выступать сам информационный элемент, а также указатель, ссылка, гиперссылка или другое косвенное средство, с помощью которого получатель данных может найти место в сети, памяти, базе данных или на другом машиночитаемом носителе информации, откуда можно извлечь этот информационный элемент. Например, указание на документ может включать в себя сам документ (т.е. его содержимое) или это указание может представлять собой уникальный дескриптор документа, указывающий на файл в определенной файловой системе, или какие-либо другие средства для указания получателю данных места в сети, адреса памяти, таблицы в базе данных или другого места, где можно получить доступ к файлу. Специалисту в данной области должно быть ясно, что степень точности, требуемая для такого указания, зависит от объема предварительных знаний относительно интерпретации информации, которой обмениваются отправитель и получатель данных. Например, если перед началом обмена данными между отправителем и получателем известно, что указание на информационный элемент представляет собой ключ базы данных для элемента в определенной таблице заранее заданной базы данных, содержащей этот информационный элемент, то для эффективной передачи этого информационного элемента получателю достаточно оправить ключ базы данных, даже если сам информационный элемент не передается между отправителем и получателем данных.
[035] В контексте настоящего описания, если явно не указано другое, числительные «первый», «второй», «третий» и т.д. используются лишь для указания различия между существительными, к которым они относятся, но не для описания каких-либо определенных взаимосвязей между этими существительными. Например, должно быть понятно, что использование терминов «первый сервер» и «третий сервер» не подразумевает какого-либо определенного порядка, типа, хронологии, иерархии или классификации, в данном случае, серверов, а также что их использование (само по себе) не подразумевает наличие «второго сервера» в любой ситуации. Кроме того, как встречается в настоящем описании в другом контексте, ссылка на «первый» элемент и «второй» элемент не исключает того, что эти два элемента в действительности могут быть одним и тем же элементом. Таким образом, например, в некоторых случаях «первый» сервер и «второй» сервер могут представлять собой одно и то же программное и/или аппаратное средство, а в других случаях - различные программные и/или аппаратные средства.
[036] Каждый вариант осуществления настоящей технологии относится к по меньшей мере одной из вышеупомянутых целей и/или аспектов, но не обязательно ко всем ним. Должно быть понятно, что некоторые аспекты настоящей технологии, связанные с попыткой достижения вышеупомянутой цели, могут не соответствовать этой цели и/или могут соответствовать другим целям, явным образом здесь не упомянутым. Дополнительные и/или альтернативные признаки, аспекты и преимущества вариантов осуществления настоящей технологии содержатся в дальнейшем описании, в приложенных чертежах и в формуле изобретения.
Краткое описание чертежей
[037] Дальнейшее описание приведено для лучшего понимания настоящей технологии, а также других аспектов и их признаков, и должно использоваться совместно с приложенными чертежами.
[038] На фиг. 1 представлена схема системы согласно по меньшей мере некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии.
[039] На фиг. 2 представлена структура данных, хранящихся в базе данных системы, представленной на фиг. 1, согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии.
[040] На фиг. 3 дано представление зависящего от объекта набора данных, получаемого сервером системы, представленной на фиг. 1, согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии.
[041] На фиг. 4 дано представление этапа использования механизма классификации, размещенной на сервере системы, представленной на фиг. 1, согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии.
[042] На фиг. 5 представлена схема обучения первой вложенной метрики и второй вложенной метрики сервером системы, представленной на фиг. 1, согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии.
[043] На фиг. 6 дано представление итеративного процесса проверки, выполняемого сервером системы, представленной на фиг. 1, для выбора целевого сочетания зависящих от метрики порогов согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии.
[044] На фиг. 7 представлена блок-схема способа определения целевого сочетания зависящих от метрики порогов, выполняемого сервером системы, представленной на фиг. 1, согласно вариантам осуществления настоящей технологии.
Осуществление изобретения
[045] Представленные здесь примеры и условный язык предназначены для обеспечения лучшего понимания принципов настоящей технологии, а не для ограничения ее объема до таких специально приведенных примеров и условий. Очевидно, что специалисты в данной области техники способны разработать различные способы и устройства, которые явно не описаны и не показаны, но реализуют принципы настоящей технологии в пределах ее существа и объема.
[046] Кроме того, чтобы способствовать лучшему пониманию, последующее описание может содержать упрощенные варианты реализации настоящей технологии. Специалисту в данной области должно быть понятно, что другие варианты осуществления данной технологии могут быть значительно сложнее.
[047] В некоторых случаях приводятся полезные примеры модификаций настоящей технологии. Они способствуют пониманию, но также не определяют объема или границ настоящей технологии. Представленный перечень модификаций не является исчерпывающим и специалист в данной области может разработать другие модификации в пределах объема настоящей технологии. Кроме того, если в некоторых случаях модификации не описаны, это не означает, что они невозможны и/или что описание содержит единственно возможный вариант реализации того или иного элемента настоящей технологии.
[048] Описание принципов, аспектов и вариантов реализации настоящей технологии, а также их конкретные примеры предназначены для охвата их структурных и функциональных эквивалентов, независимо от того, известны они в настоящее время или будут разработаны в будущем. Например, специалистам в данной области техники должно быть понятно, что любые описанные здесь структурные схемы соответствуют концептуальным представлениям иллюстративных принципиальных схем, реализующих основы настоящей технологии. Также должно быть очевидно, что любые блок-схемы, схемы процессов, диаграммы изменения состояния, псевдокоды и т.п. соответствуют различным процессам, которые могут быть представлены на машиночитаемом физическом носителе информации и могут выполняться компьютером или процессором, независимо от того, показан такой компьютер или процессор явно или нет.
[049] Функции различных элементов, показанных на чертежах, включая любой функциональный блок, обозначенный как «процессор» или «графический процессор», могут быть реализованы с использованием специализированных аппаратных средств, а также с использованием аппаратных средств, способных выполнять соответствующее программное обеспечение. Если используется процессор, эти функции могут выполняться одним выделенным процессором, одним совместно используемым процессором или множеством отдельных процессоров, некоторые из которых могут использоваться совместно. В некоторых вариантах осуществления настоящей технологии процессор может представлять собой процессор общего назначения, такой как центральный процессор (CPU), или специализированный процессор, такой как графический процессор (GPU). Кроме того, явное использование термина «процессор» или «контроллер» не должно трактоваться как указание исключительно на аппаратные средства, способные выполнять программное обеспечение, и может подразумевать, помимо прочего, аппаратные средства цифрового сигнального процессора (DSP), сетевой процессор, специализированную интегральную схему (ASIC), программируемую вентильную матрицу (FPGA), ПЗУ для хранения программного обеспечения, ОЗУ и энергонезависимое запоминающее устройство. Также могут подразумеваться другие аппаратные средства, общего назначения и/или заказные.
[050] Программные модули или просто модули, реализация которых предполагается в виде программных средств, могут быть представлены здесь как любое сочетание элементов блок-схемы или других элементов, указывающих на выполнение шагов процесса и/или содержащих текстовое описание. Такие модули могут выполняться аппаратными средствами, показанными явно или подразумеваемыми.
[051] Далее с учетом вышеизложенных принципов рассмотрены некоторые не имеющие ограничительного характера примеры, иллюстрирующие различные варианты реализации аспектов настоящей технологии.
[052] На фиг. 1 представлена схема системы 100 (не показано на чертежах), пригодной для реализации вариантов осуществления настоящей технологии, не имеющих ограничительного характера. Очевидно, что система 100 приведена лишь для демонстрации варианта реализации настоящей технологии. Таким образом, дальнейшее описание системы представляет собой описание примеров, иллюстрирующих настоящую технологию.
[053] В представленном примере система 100 может применяться для предоставления пользователю интерактивных сервисов. С этой целью система 100 содержит, среди прочего, электронное устройство 102, связанное с пользователем 101, сервер 106, множество серверов 108 ресурсов и систему 150 базы данных.
[054] В не имеющем ограничительного характера примере система 100 может использоваться для предоставления сервисов поисковой системы. В этом примере пользователь 101 может с помощью электронного устройства 102 отправлять запрос серверу 106, который в ответ способен предоставлять результаты поиска пользователю 101. Сервер 106 формирует эти результаты поиска на основе информации, полученной, например, от множества серверов 108 ресурсов и сохраненной в системе 150 базы данных. Результаты поиска, предоставленные системой 100, могут быть релевантными отправленному запросу. Можно сказать, что сервер 106 может содержать поисковую систему 120.
[055] Как описано ниже, в дополнение к предоставлению сервисов поисковой системы (или вместо этого), пользователю 101 могут предоставляться другие интерактивные сервисы, такие как сервисы рекомендации контента, сервисы электронной почты, сервисы электронной торговли и т.п. Например, сервер 106 может содержать один или несколько сервисов из множества 160 интерактивных сервисов, включая поисковую систему 120, платформу 130 для электронной торговли и платформу 140 электронной почты.
[056] В контексте настоящей технологии система 100, предоставляющая один или несколько интерактивных сервисов, способна выполнять бинарную классификацию цифровых объектов, связанных с одним или несколькими интерактивными сервисами. Ниже более подробно описаны характер цифровых объектов и цель их классификации для различных интерактивных сервисов.
Электронное устройство
[057] Как упомянуто выше, система 100 содержит электронное устройство 102, связанное с пользователем 101. Электронное устройство 102 или просто устройство 102 иногда может называться клиентским устройством, оконечным устройством или клиентским электронным устройством. Следует отметить, что связь электронного устройства 102 с пользователем 101 не означает необходимости предлагать или подразумевать какой-либо режим работы, например, вход в систему, регистрацию и т.п.
[058] В контексте настоящего описания, если явно не указано другое, термин «электронное устройство» или «устройство» означает любое компьютерное аппаратное средство, способное выполнять программы, подходящие для решения поставленной задачи. Таким образом, некоторые не имеющие ограничительного характера примеры устройства 102 включают в себя персональные компьютеры (настольные, ноутбуки, нетбуки и т.д.), смартфоны, планшеты и т.п. Устройство 102 содержит известные в данной области техники аппаратные средства и/или прикладное программное обеспечение и/или встроенное программное обеспечение (либо их сочетание) для выполнения браузерного приложения (не показано).
[059] В общем случае браузерное приложение обеспечивает пользователю 101 доступ к одному или нескольким веб-ресурсам. На реализацию браузерного приложения не накладывается каких-либо особых ограничений. Например, браузерное приложение, выполняемое устройством 102, может быть реализовано в виде браузера Yandex™. Например, пользователь 101 может использовать браузерное приложение для (а) перехода на веб-сайт поисковой системы и (б) отправки запроса, в ответ на который ему должны быть предоставлены релевантные результаты поиска. В другом примере пользователь 101 может использовать браузерное приложение для (а) перехода на веб-сайт для электронной торговли и (б) покупки и/или продажи изделия или услуги. В еще одном примере пользователь 101 может использовать браузерное приложение для (а) перехода на веб-сайт электронной почты и (б) доступа к своей учетной записи абонента электронной почты для рассмотрения сообщений электронной почты, связанных с его учетной записью.
[060] Устройство 102 способно формировать запрос 180 для связи с сервером 106. Запрос 180 может представлять собой один или несколько пакетов данных, содержащих информацию, например, указывающую на запрос, отправленный пользователем 101. Устройство 102 также способно получать ответ 190 от сервера 106. Ответ 190 может представлять собой один или несколько пакетов данных, содержащих информацию, например, указывающую на результаты поиска, релевантные отправленному запросу, и машиночитаемые команды для отображения браузерным приложением этих результатов поиска пользователю 101.
Сеть связи
[061] Система 100 содержит сеть 110 связи. В не имеющем ограничительного характера примере в качестве сети 110 связи может использоваться сеть Интернет. В других не имеющих ограничительного характера примерах сеть 110 связи может быть реализована иначе, например, в виде любой глобальной сети связи, локальной сети связи, частной сети связи и т.п. На практике реализация сети 110 связи, на которую не накладывается каких-либо ограничений, может, среди прочего, зависеть от реализации других элементов системы 100.
[062] Сеть 110 связи предназначена для обеспечения связи между по меньшей мере некоторыми элементами системы 100, такими как устройство 102, множество серверов 108 ресурсов и сервер 106. Например, это означает, что множество серверов 108 ресурсов доступно через сеть 110 связи устройству 102. В другом примере это означает, что множество серверов 108 ресурсов доступно через сеть 110 связи серверу 106. В еще одном примере это означает, что сервер 106 доступен через сеть 110 связи устройству 102.
[063] Сеть 110 связи может быть использована для передачи пакетов данных между устройством 102, множеством серверов 108 ресурсов и сервером 106. Например, сеть 110 связи может быть использована для отправки запроса 180 от устройства 102 к серверу 106. В другом примере сеть 110 связи может быть использована для отправки ответа 190 от сервера 106 к устройству 102.
Множество серверов ресурсов
[064] Как описано выше, множество серверов 108 ресурсов может быть доступно через сеть 110 связи. Множество серверов 108 ресурсов может быть реализовано в виде традиционных компьютерных серверов. В не имеющем ограничительного характера примере осуществления настоящей технологии сервер из множества серверов 108 ресурсов может быть реализован в виде сервера Dell™ PowerEdge™, работающего под управлением операционной системы Microsoft™ Windows Server™. Сервер из множества серверов 108 ресурсов также может быть реализован с использованием любых других подходящих аппаратных средств и/или прикладного программного обеспечения и/или встроенного программного обеспечения либо их сочетания.
[065] Множество серверов 108 ресурсов содержит ресурсы (или веб-ресурсы), доступные устройству 102 и/или серверу 106. На вид ресурсов, содержащихся во множестве серверов 108 ресурсов, не накладывается каких-либо ограничений. В некоторых вариантах осуществления настоящей технологии ресурсы могут содержать цифровые документы или просто документы, представляющие собой веб-страницы.
[066] Например, множество серверов 108 ресурсов может содержать веб-страницы, т.е. множество серверов 108 ресурсов может хранить документы, которые представляют собой веб-страницы и доступны устройству 102 и/или серверу 106. Документ может быть составлен на языке разметки и может, среди прочего, содержать (а) контент соответствующей веб-страницы и (б) машиночитаемые команды для отображения соответствующей веб-страницы (содержащегося на ней контента).
[067] Устройство 102 может обратиться к серверу из множества серверов 108 ресурсов для получения документа, хранящегося на этом сервере. Например, пользователь 101 может ввести веб-адрес, связанный с веб-страницей, в браузерном приложении устройства 102. В ответ устройство 102 может обратиться к серверу ресурсов, содержащему эту веб-страницу, для получения документа, представляющего эту веб-страницу, с целью отображения контента этой веб-страницы с использованием браузерного приложения.
[068] Сервер 106 может обратиться к серверу из множества серверов 108 ресурсов для получения документа, хранящегося на этом сервере ресурсов. Назначение сервера 106, осуществляющего доступ ко множеству серверов 108 ресурсов и получение от них документов, более подробно описано ниже.
Система базы данных
[069] Сервер 106 связан с системой 150 базы данных. В общем случае система 150 базы данных способна получать данные от сервера 106, хранить эти данные и/или предоставлять их серверу 106 для последующего использования.
[070] В некоторых вариантах осуществления изобретения система 150 базы данных может хранить информацию, связанную с одним или несколькими интерактивными сервисами, размещенными на сервере 106. Например, если на сервере 106 размещена поисковая система 120, то система 150 базы данных может хранить информацию о ранее выполненных поисковой системой 120 поисках, а также информацию о ранее отправленных серверу 106 запросах и о документах, предоставленных поисковой системой сервера 106 в качестве результатов поиска.
[071] В этом примере предполагается, что система 150 базы данных может хранить данные запроса, связанные с соответствующими запросами, отправленными поисковой системе 120. Данные запроса, связанные с запросом, могут быть различных видов и на них не накладывается каких-либо ограничений. Например, система 150 базы данных может хранить для соответствующих запросов такие данные запроса (не ограничиваясь ими):
- популярность запроса;
- частота отправки запроса;
- количество «кликов», связанных с запросом;
- указания на другие отправленные запросы, связанные с запросом;
- указания на документы, связанные с запросом;
- другие статистические данные, связанные с запросом;
- поисковые термины, связанные с запросом;
- количество символов в запросе;
- другие присущие запросу характеристики.
[072] В этом примере система 150 базы данных также может хранить данные документа, связанные с соответствующими документами. Данные документа, связанные с документом, могут быть различных видов и на них не накладывается каких-либо ограничений. Например, система 150 базы данных может хранить для соответствующих документов такие данные документа (не ограничиваясь ими):
- популярность документа;
- коэффициент «кликов» для документа;
- время на «клик», связанное с документом;
- указания на запросы, связанные с документом;
- другие статистические данные, связанные с документом;
- текст, связанный с документом;
- размер файла документа;
- другие присущие документу характеристики.
[073] В этом примере система 150 базы данных также может хранить данные пользователя, связанные с соответствующими пользователями. Данные пользователя, связанные с пользователем, могут быть различных видов и на них не накладывается каких-либо ограничений. Например, система 150 базы данных может хранить для соответствующих пользователей такие данные пользователя (не ограничиваясь ими):
- данные веб-сеанса;
- данные отправленного запроса;
- история «кликов»;
- данные взаимодействий;
- предпочтения пользователя.
[074] В по меньшей мере некоторых вариантах осуществления настоящей технологии предполагается, что система 150 базы данных может хранить данные, связанные с элементом или объектом интерактивного сервиса. Можно сказать, что система 150 базы данных может хранить зависящие от объекта данные. Предполагается, что сервер 106 может хранить данные о различных объектах интерактивного сервиса для каждого объекта отдельно без выхода за границы настоящей технологии.
[075] Например, если на сервере 106 размещена поисковая система 120, то система 150 базы данных может хранить данные, связанные с ее пользователями (первый вид цифровых объектов или элементов, связанных с сервисами поисковой системы). Таким образом, в этом примере система 150 базы данных может хранить зависящие от пользователя данные для каждого пользователя отдельно. В другом примере, если на сервере 106 размещена поисковая система 120, то система 150 базы данных может хранить данные, связанные с цифровыми документами, которые использовались в качестве результатов поиска (второй вид цифровых объектов или элементов, связанных с сервисами поисковой системы). Таким образом, в этом примере система 150 базы данных может хранить зависящие от документа данные для каждого документа отдельно.
[076] В еще одном примере, если на сервере 106 размещена платформа 140 электронной почты, то система 150 базы данных может хранить данные, связанные с ее пользователями (первый вид цифровых объектов или элементов, связанных с сервисом электронной почты). Таким образом, в этом примере система 150 базы данных может хранить зависящие от пользователя данные для каждого пользователя отдельно. В другом примере, если на сервере 106 размещена платформа 140 электронной почты, то система 150 базы данных может хранить данные, связанные с сообщениями электронной почты (второй вид цифровых объектов или элементов, связанных с сервисом электронной почты). Таким образом, в этом примере система 150 базы данных может хранить зависящие от сообщения электронной почты данные для каждого сообщения электронной почты отдельно.
[077] Следовательно, можно сказать, что система 150 базы данных может хранить различные зависящие от объекта данные в зависимости, среди прочего, от вида интерактивного сервиса (или сервисов), размещенного на сервере 106, и от видов объектов, связанных с этим интерактивным сервисом (или сервисами).
[078] Как описано ниже, сервер 106 способен выполнять множество компьютерных алгоритмов, называемых механизмом 170 классификации, который в целом способен выполнять бинарную классификацию цифровых объектов из одного или нескольких интерактивных сервисов, предоставляемых сервером 106.
[079] В по меньшей мере некоторых вариантах осуществления настоящей технологии система 150 базы данных может хранить размеченные зависящие от объекта данные для проверки эффективности одного или нескольких описанных здесь алгоритмов классификации. Например, размеченные зависящие от объекта данные для проверочного объекта могут содержать данные разметки, указывающие на контрольный класс проверочного объекта. На сбор и/или формирование данных разметки и их последующее хранение в системе 150 базы данных не накладывается каких-либо особых ограничений. В некоторых случаях данные разметки могут быть собраны от оценщиков-людей, которым была поставлена задача «разметки» проверочных объектов.
[080] Ниже со ссылкой на фиг. 2 более подробно описана информация, которая может быть включена в состав зависящих от объекта данных и размеченных зависящих от объекта данных, хранящихся в системе 150 базы данных.
Сервер
[081] Система 100 содержит сервер 106, который может быть реализован в виде традиционного компьютерного сервера. В примере осуществления настоящей технологии сервер 106 может быть реализован в виде сервера Dell™ PowerEdge™, работающего под управлением операционной системы Microsoft™ Windows Server™. Очевидно, что сервер 106 может быть реализован с использованием любых других подходящих аппаратных средств и/или прикладного программного обеспечения и/или встроенного программного обеспечения либо их сочетания. В представленном не имеющем ограничительного характера варианте осуществления настоящей технологии сервер 106 представляет собой один сервер. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии функции сервера 106 могут быть распределены между несколькими серверами.
[082] Как показано на фиг. 1, сервер 106 может содержать множество 160 интерактивных сервисов. Например, сервер 106 может содержать поисковую систему 120 для предоставления сервисов поисковой системы, платформу 130 для электронной торговли для предоставления сервисов электронной торговли и платформу 140 электронной почты для предоставления сервисов электронной почты. Ниже описана возможная реализация поисковой системы 120, платформы 130 для электронной торговли и платформы 140 электронной почты в по меньшей мере некоторых вариантах осуществления настоящей технологии.
[083] В некоторых вариантах осуществления изобретения сервер 106 может управляться и/или администрироваться поставщиком услуг поисковой системы (не показан), таким как оператор поисковой системы Yandex™. Сервер 106 может содержать поисковую систему 120 для выполнения одного или нескольких поисков в ответ на запросы, отправленные пользователями поисковой системы 120.
[084] Например, сервер 106 может получать от устройства 102 запрос 180, указывающий на запрос, отправленный пользователем 101. Сервер 106 в ответ на отправленный запрос может выполнять поиск с целью формирования результатов поиска, релевантных отправленному запросу. В результате сервер 106 может формировать ответ 190, указывающий на результаты поиска, и может отправлять ответ 190 устройству 102 для отображения результатов поиска пользователю 101, например, с использованием браузерного приложения.
[085] Сформированные для отправленного запроса результаты поиска могут быть представлены в любом виде. Тем не менее, в не имеющем ограничительного характера примере настоящей технологии результаты поиска, сформированные сервером 106, могут указывать на документы, релевантные отправленному запросу. Ниже описано определение и получение сервером 106 документов, релевантных отправленному запросу.
[086] Сервер 106 также может выполнять приложение обходчика (не показано). В общем случае приложение обходчика может использоваться сервером 106 для «посещения» ресурсов, доступных через сеть 110 связи, и их получения или загрузки с целью дальнейшего использования. Например, приложение обходчика может быть использовано сервером 106 для доступа к множеству серверов 108 ресурсов и для получения или загрузки документов, представляющих собой веб-страницы, содержащиеся на множестве серверов 108 ресурсов.
[087] Предполагается, что приложение обходчика может периодически выполняться сервером 106 с целью получения или загрузки документов, которые были обновлены и/или стали доступными через сеть 110 связи после предыдущего выполнения приложения обходчика.
[088] В других вариантах осуществления изобретения сервер 106 может управляться и/или администрироваться поставщиком услуг электронной торговли (не показан), например, таким как оператор платформы для электронной торговли Yandex.Market™. Таким образом, сервер 106 может содержать платформу 130 для электронной торговли, предназначенную для предложения одного или нескольких товаров и/или услуг к покупке или продаже пользователями платформы 130 для электронной торговли.
[089] В общем случае платформа для электронной торговли соответствует одному или нескольким компьютерным алгоритмам, благодаря которым сервер 106 способен предоставлять услуги электронной торговли пользователю 101 электронного устройства 102. Например, пользователь 101 может представлять собой клиента платформы 130 для электронной торговли. Пользователь 101 может ввести универсальный указатель ресурсов (URL, Universal Resource Locator), связанный с платформой 130 для электронной торговли, в командном интерфейсе браузерного приложения и получить доступ к своей учетной записи на платформе 130 для электронной торговли.
[090] Следует отметить, что сервер 106 может собирать информацию о клиентах и продуктах, доступных на платформе 130 для электронной торговли. Например, сервер 106 может собирать зависящую от клиента информацию относительно взаимодействий клиента с различными продуктами. В этом примере сервер 106 может собирать в отношении клиента информацию о просмотренных продуктах, выбранных продуктах, приобретенных продуктах, рекомендованных продуктах и т.п. В другом примере сервер 106 может собирать зависящую от продукта информацию в отношении различных продуктов. В этом примере сервер 106 может собирать в отношении продукта информацию о просмотрах, «кликах», покупках и т.п.
[091] В других вариантах осуществления изобретения сервер 106 может управляться и/или администрироваться поставщиком услуг электронной почты (не показан), таким как оператор сервиса электронной почты Yandex.Mail™. Соответственно, сервер 106 может содержать платформу 140 электронной почты для предоставления услуг электронной почты пользователям платформы 140 электронной почты.
[092] В общем случае платформа 140 электронной почты соответствует одному или нескольким компьютерным алгоритмам, благодаря которым сервер 106 способен предоставлять услуги электронной почты пользователю 101 электронного устройства 102. Например, пользователь 101 может иметь учетную запись абонента электронной почты, связанную с платформой 140 электронной почты. Пользователь 101 может ввести URL-адрес, связанный с платформой 140 электронной почты, в командном интерфейсе браузерного приложения и получить доступ к своей учетной записи абонента электронной почты на платформе 140 электронной почты.
[093] В некоторых вариантах осуществления настоящей технологии в дополнение или вместо вышесказанного электронное устройство 102 может выполнять клиентское приложение электронной почты (не показано), связанное с (серверной) платформой 140. В общем случае клиентское приложение электронной почты предназначено для того, чтобы обеспечивать пользователю 101 возможность просматривать список сообщений электронной почты (прочтенных и непрочтенных), читать сообщения электронной почты, открывать вложения, составлять новые сообщения электронной почты, отвечать на сообщения электронной почты, пересылать сообщения электронной почты, удалять сообщения электронной почты, управлять нежелательными сообщениями электронной почты, назначать категории сообщениям электронной почты, размещать сообщения электронной почты в папках, создавать адресную книгу и обращаться к ней и т.п.
[094] Независимо от использования пользователем 101 браузерного приложения и/или клиентского приложения электронной почты для доступа к своей учетной записи абонента электронной почты, предполагается, что пользователю 101 может быть предоставлен интерфейс электронной почты (не показан) для выполнения одного или нескольких действий в отношении сообщений электронной почты в своей учетной записи абонента электронной почты. Ниже более подробно описаны функции платформы 140 электронной почты.
[095] В общем случае интерфейс электронной почты предназначен для обеспечения пользовательских взаимодействий между пользователем платформы 140 электронной почты (например, таким как пользователь 101) и сообщениями электронной почты в его учетной записи абонента электронной почты. В не имеющем ограничительного характера примере интерфейс электронной почты может содержать одну или несколько панелей, одно или несколько меню, одну или несколько кнопок, а также может обеспечивать другие функции для взаимодействия пользователя с сообщениями электронной почты. Следует отметить, что в контексте настоящей технологии возможны различные интерфейсы электронной почты.
[096] Например, интерфейс электронной почты может содержать боковую панель, указывающую на одну или несколько папок электронной почты (заранее заданных и/или персонализированных), связанных с учетной записью электронной почты, таких как папка «входящие», папка «исходящие», папка «черновики», папка «спам», папка «удаленные» и т.п. В другом примере интерфейс электронной почты может содержать одну или несколько кнопок для выполнения различных действий в отношении сообщений электронной почты, в числе прочего, таких как кнопка «составить» для составления нового сообщения электронной почты, кнопка «отправить» для отправки сообщения электронной почты, кнопка «сохранить» для сохранения текущей версии сообщения электронной почты, кнопка «прочтено» для указания того, что сообщение электронной почты прочтено или просмотрено пользователем, кнопка «не прочтено» для указания того, что сообщение электронной почты не прочтено или не просмотрено пользователем, кнопка «спам» для указания того, что сообщению электронной почты должна быть присвоена категория «спам», и/или для указания того, что сообщение электронной почты должно быть перемещено в папку «спам», кнопка «удалено» для указания того, что сообщение электронной почты должно быть удалено и/или что сообщение электронной почты должно быть перемещено в папку «удаленные» и т.п. В еще одном примере интерфейс электронной почты может поддерживать взаимодействие пользователя с сообщениями электронной почты других видов, в числе прочего, такие как функция перетаскивания, обеспечивающая пользователю возможность эффективного выбора сообщения электронной почты в первой папке и перемещения этого сообщения электронной почты во вторую папку.
[097] В контексте настоящей технологии сервер 106 может содержать механизм 170 классификации. В общем случае механизм 170 классификации способен использовать данные, хранящиеся в сочетании с цифровым объектом интерактивного сервиса, и выполнять бинарную классификацию этого цифрового объекта. Например, сервер 106 может получать зависящие от объекта данные для цифрового объекта из системы 150 базы данных и использовать механизм 170 классификации для определения принадлежности этого цифрового объекта к первому классу или ко второму классу.
[098] Как более подробно описано ниже, механизм 170 классификации содержит (а) множество вложенных метрик, предназначенных для формирования прогнозов вероятности принадлежности цифрового объекта к первому классу, и (б) сочетание зависящих от метрики порогов, с которыми соответствующие прогнозы сравниваются для определения принадлежности цифрового объекта к первому классу. Сервер 106 также способен определять подлежащее использованию вместе со множеством вложенных метрик целевое сочетание зависящих от метрики порогов из множества сочетаний-кандидатов зависящих от метрики порогов.
[099] На фиг. 2 дано представление 200 для по меньшей мере некоторых данных, хранящихся в системе 150 базы данных. Как показано, система 150 базы данных способна хранить зависящие от объекта данные 210 и зависящие от объекта проверочные данные 220.
[0100] Для иллюстрации можно предположить, что объекты в данном примере представляют собой пользователей поисковой системы 120. Тем не менее, виды объектов могут, среди прочего, зависеть от различных вариантов реализации настоящей технологии.
[0101] Зависящие от объекта данные 210 хранятся в системе 150 базы данных отдельно для каждого объекта или, как показано в не имеющем ограничительного характера примере, отдельно для каждого пользователя. Например, зависящие от объекта данные 210 содержат множество зависящих от объекта наборов данных (без числового обозначения). Множество зависящих от объекта наборов данных содержит зависящий от объекта набор 215 данных, который в представленном не имеющем ограничительного характера примере, где объекты соответствуют пользователям поисковой системы 120, также называется зависящим от пользователя набором данных.
[0102] Следует отметить, что зависящий от объекта набор 215 данных содержит информацию для однозначной идентификации соответствующего объекта. Например, зависящий от объекта набор 215 данных может быть связан с идентификатором объекта (в этом примере - с идентификатором пользователя), который однозначно идентифицирует конкретный объект зависящего от объекта набора 215 данных. Зависящий от объекта набор 215 данных также содержит информацию об объекте, собранную соответствующим интерактивным сервисом. В представленном примере зависящий от объекта набор 215 данных может содержать данные пользовательских взаимодействий о конкретном пользователе, собранные поисковой системой 120. Ниже со ссылкой на фиг. 3 более подробно описана информация, которая может храниться в качестве части зависящего от объекта набора 215 данных.
[0103] Как описано выше, в дополнение к зависящим от объекта данным 210 система 150 базы данных также способна хранить зависящие от объекта проверочные данные 220. Для иллюстрации можно предположить, что проверочные объекты в данном примере представляют собой пользователей поисковой системы 120. Очевидно, что подобно виду объектов в зависящих от объекта данных 210, вид проверочных объектов может, среди прочего, зависеть от различных вариантов реализации настоящей технологии. Тем не менее, предполагается, что вид объектов в зависящих от объекта данных 210 может совпадать с видом объектов в зависящих от объекта данных 220.
[0104] Зависящие от объекта данные 210 хранятся в системе 150 базы данных отдельно для каждого объекта или, как показано в не имеющем ограничительного характера примере, отдельно для каждого пользователя. Например, зависящие от объекта проверочные данные 220 содержат множество зависящих от объекта проверочных наборов данных (без числового обозначения). Множество зависящих от объекта проверочных наборов данных содержит зависящий от объекта проверочный набор 225 данных, который в представленном не имеющем ограничительного характера примере, где проверочные объекты соответствуют пользователям поисковой системы 120, также называется зависящим от пользователя проверочным набором данных.
[0105] Следует отметить, что зависящий от объекта проверочный набор 225 данных содержит информацию для однозначной идентификации соответствующего объекта. Например, зависящий от объекта проверочный набор 225 данных может быть связан с идентификатором объекта (в этом примере - с идентификатором пользователя), который однозначно идентифицирует конкретный проверочный объект зависящего от объекта проверочного набора 225 данных. Зависящий от объекта проверочный набор 225 данных также содержит информацию о проверочном объекте, собранную соответствующим интерактивным сервисом. В представленном примере зависящий от объекта проверочный набор 225 данных может содержать данные пользовательских взаимодействий о конкретном пользователе, собранные поисковой системой 120.
[0106] Тем не менее, в отличие от зависящего от объекта набора данных из зависящих от объекта данных 210, зависящий от объекта проверочный набор 225 данных дополнительно содержит указание на контрольный класс проверочного объекта. Как описано выше, система 150 базы данных может хранить данные разметки, указывающие на контрольные классы проверочных объектов. В представленном не имеющем ограничительного характера примере зависящий от объекта проверочный набор 225 данных (зависящий от пользователя проверочный набор данных) может содержать информацию о контрольном классе проверочного объекта (проверочного пользователя), например, о том, является или не является мошенником соответствующий проверочный пользователь поисковой системы 120.
[0107] Очевидно, что не только вид объектов и проверочных объектов зависит, среди прочего, от различных вариантов реализации настоящей технологии, но и виды бинарных классов также зависят, среди прочего, от различных вариантов реализации настоящей технологии. Например, если проверочный объект представляет собой цифровой документ поисковой системы 120, то контрольный класс может указывать на то, является этот цифровой документ релевантным или нет. В другом примере, если проверочный объект представляет собой продукт платформы 130 для электронной торговли, то контрольный класс может указывать на то, является этот продукт контрафактным или нет. В еще одном примере, если проверочный объект представляет собой сообщение электронной почты платформы 140 электронной почты, то контрольный класс может указывать на то, является это сообщение электронной посты спамом или нет.
[0108] Как описано ниже, сервер 106 способен использовать зависящие от объекта данные 210 на этапе использования механизма 170 классификации, а зависящие от объекта проверочные данные 220 используются на этапе проверки обучения механизма 170 классификации для определения сочетания-кандидата зависящих от метрики порогов, подлежащего выбору в качестве целевого сочетания зависящих от метрики порогов. Можно сказать, что в некоторых вариантах осуществления настоящей технологии сервер 106 может (а) выполнять этап обучения множества алгоритмов MLA (множества вложенных метрик) путем использования зависящих от объекта проверочных данных 220, (б) выполнять этап проверки для выбора целевого сочетания зависящих от метрики порогов путем применения зависящих от объекта проверочных данных 220 и (в) выполнять этап использования механизма 170 классификации, содержащего обученное таким образом множество алгоритмов MLA и выбранное таким образом целевое сочетание зависящих от метрики порогов, для классификации одного или нескольких объектов из зависящих от объекта данных 210.
[0109] Ниже более подробно описано выполнение сервером 106 одной итерации бинарной классификации (одной итерации этапа использования механизма 170 классификации) объекта из зависящих от объекта данных 210.
[0110] На фиг. 3 (слева) дано представление 300 информационно-поисковой операции, выполняемой сервером 106 для объекта, подлежащего классификации как относящегося к первому классу или ко второму классу. Сервер 106 способен обращаться к системе 150 базы данных и получать информацию, связанную с цифровым объектом, подлежащим классификации. Например, сервер 106 может отправлять системе 150 базы данных запрос 302, содержащий указание на идентификатор объекта. В ответ сервер 106 может получать зависящий от объекта набор 310 данных.
[0111] Зависящий от объекта набор 310 данных содержит информацию о соответствующем объекте, подлежащем классификации. В частности, зависящий от объекта набор 310 данных содержит указание на множество прошлых событий 312 объекта, связанных с соответствующим объектом, подлежащим классификации. Как описано выше, зависящие от объекта данные, такие как события объекта, могут собираться сервером 106 и сохраняться в системе 150 базы данных. Например, в не имеющем ограничительного характера примере, в котором объект представляет собой пользователя поисковой системы 120 (например, пользователя 101), прошлые события 312 объекта могут содержать события отправки запроса, события просмотра, события «кликов», события «длинных кликов» и т.д. Таким образом, можно сказать, что прошлые события объекта, связанные с объектом, могут включать в себя зависящие от объекта события различных видов.
[0112] Очевидно, что виды прошлых событий объекта, которые могут храниться в сочетании с объектом, среди прочего, зависят от вида интерактивного сервиса, к которому относится объект, от вида объекта и от конкретных вариантов реализации настоящей технологии. Тем не менее, следует отметить, что события объекта некоторых видов из числа прошлых событий 312 объекта могут быть взаимосвязаны особым образом. В частности, в по меньшей мере некоторых вариантах осуществления настоящей технологии предполагается, что события объекта некоторых видов могут иметь взаимосвязь друг с другом вида «вложенность».
[0113] Для лучшей иллюстрации этого можно предположить, что прошлые события 312 объекта для пользователя поисковой системы 120 содержат события объекта первого вида и второго вида и что события объекта первого вида представляют собой отправки запроса, а события объекта второго вида соответствуют событиям выбора результатов поисковой системы («кликам»). Иными словами, некоторые события объекта из числа прошлых событий 312 объекта указывают на то, что пользователь (которым является объект в этом примере) отправил один или несколько запросов, а другие события объекта из числа прошлых событий 312 объекта указывают на то, что пользователь выбрал результаты поисковой системы, предоставленные в ответ на эти отправки запросов. В этом примере можно сказать, что события объекта второго вида, в известном смысле, вложены в события объекта первого вида, поскольку события объекта второго вида могут происходить, только если произошли события объекта первого вида, т.е. события объекта, указывающие на выбор результатов поисковой системы, могут происходить только после отправки пользователем соответствующих запросов.
[0114] Также можно сказать, что события объекта второго вида вложены в события объекта первого вида, когда события объекта второго вида представляют собой подмножество событий объекта первого вида. Для лучшей иллюстрации этого дальнейшее описание приведено со ссылкой на представление 350 набора 360 событий объекта из числа прошлых событий 312 объекта. Можно предположить, что набор 360 событий объекта содержит «клики» на результатах поисковой системы. При этом также можно предположить, что некоторые из «кликов» пользователя на результатах поисковой системы представляют собой «длинные клики» на результатах поисковой системы. Например, некоторые выбранные пользователем результаты поисковой системы могли рассматриваться в течение значительного периода времени («длинные клики»).
[0115] Например, набор 360 событий объекта содержит события 351, 352, 353, 354, 355, 356, 357, 358 объекта, указывающие на пользователя, выполняющего «клики» на результатах поисковой системы. В этом же примере можно предположить, что события 356, 357, 358 объекта указывают на пользователя, выполняющего «длинные клики» на результатах поисковой системы. В этом примере можно сказать, что набор 360 событий объекта (содержащий «клики» на результатах поисковой системы) содержит подмножество 370 событий объекта, содержащее «длинные клики» на результатах поисковой системы. В этом примере можно сказать, что события объекта второго вида («длинные клики»), в известном смысле, вложены в события объекта первого вида («клики»), поскольку события объекта второго вида представляют собой подмножество событий объекта первого вида.
[0116] Таким образом, сервер 106 может выполнить информационно-поисковую операцию для получения зависящего от объекта набора 310 данных для объекта, содержащего прошлые события 312 объекта. Прошлые события 312 объекта содержат события объекта различных видов, при этом некоторые события объекта, известном смысле, имеют взаимосвязь друг с другом вида «вложенность», которая зависит от соответствующих видов событий объекта.
[0117] Сервер 106 способен использовать зависящий от объекта набор 310 данных для объекта с целью выполнения его бинарной классификации. На фиг. 4 дано представление 400 процедуры бинарной классификации, выполняемой механизмом 170 классификации сервера 106. Как показано, сервер 106 способен вводить зависящий от объекта набор 310 данных в механизм 170 классификации.
[0118] В общем случае механизм 170 классификации содержит множество 410 вложенных метрик, способных (а) получать в качестве входных данных по меньшей мере некоторые данные из зависящего от объекта набора 310 данных и (б) выдавать множество 440 прогнозов для цифрового объекта зависящего от объекта набора 310 данных.
[0119] Как более подробно описано ниже со ссылкой на фиг. 5, соответствующая метрика из множества 410 вложенных метрик может быть реализована сервером 106 в виде алгоритма MLA, способного получать подмножество данных из зависящего от объекта набора 310 данных, на основе которого эта метрика из множества 410 вложенных метрик способна формировать прогноз, указывающий на вероятность принадлежности к первому классу (или ко второму классу) цифрового объекта зависящего от объекта набора 310 данных.
[0120] Например, первая вложенная метрика 412 может использовать подмножество 422 зависящего от объекта набора 310 данных с целью формирования для цифрового объекта первого прогноза 432, указывающего на вероятность принадлежности этого цифрового объекта к первому классу. В том же примере вторая вложенная метрика 414 может использовать подмножество 424 зависящего от объекта набора 310 данных с целью формирования для цифрового объекта второго прогноза 434, указывающего на вероятность принадлежности этого цифрового объекта к первому классу. Ниже со ссылкой на фиг. 5 более подробно описаны обучение множества 410 вложенных метрик формированию прогнозов и данные из зависящего от объекта набора 310 данных, включаемые в состав подмножества 422 и подмножества 424.
[0121] Как описано выше, механизм 170 классификации способен сравнивать множество 440 прогнозов с целевым сочетанием 450 зависящих от метрики порогов с целью определения прогнозируемого класса 460 (представляющего собой первый класс или второй класс) для соответствующего цифрового объекта. Например, целевое сочетание 450 зависящих от метрики порогов содержит первый целевой зависящий от метрики порог 452 (зависящий от первой вложенной метрики 412) и второй целевой зависящий от метрики порог 454 (зависящий от второй вложенной метрики 414).
[0122] Следует отметить, что если по меньшей мере один прогноз из множества 440 прогнозов превышает соответствующий порог из целевого сочетания 450 зависящих от метрики порогов, то сервер 106 может определять, что соответствующий объект относится к первому классу. Иными словами, в этом случае сервер 106 определяет, что прогнозируемый класс 460 для цифрового объекта соответствует первому классу. Если прогноз из множества 440 прогнозов, превышающий соответствующий порог из целевого сочетания 450 зависящих от метрики порогов, отсутствует, то сервер 106 может определять, что соответствующий объект относится ко второму классу. Иными словами, в этом случае сервер 106 определяет, что прогнозируемый класс 460 для цифрового объекта соответствует второму классу.
[0123] В по меньшей мере некоторых вариантах осуществления настоящей технологии можно сказать, что механизм 170 классификации может содержать один или несколько компьютерных алгоритмов, которые далее называются пороговой логикой и способны выполнять одну или несколько логических операций на основе целевого сочетания 450 зависящих от метрики порогов и множества 440 прогнозов с целью определения прогнозируемого класса 460 цифрового объекта.
[0124] Разработчики настоящей технологии установили, что использование одного сочетания зависящих от метрики порогов вместо другого сочетания зависящих от метрики порогов в качестве части пороговой логики механизма 170 классификации может влиять на эффективность классификации механизмом 170 классификации. Например, эффективность классификации механизмом 170 классификации может быть измерена с использованием множества параметров, включая погрешность, точность, полноту и т.д. В по меньшей мере некоторых вариантах осуществления настоящей технологии разработчики настоящей технологии разработали способы и серверы для выбора из множества сочетаний-кандидатов зависящих от метрики порогов такого целевого сочетания 450 зависящих от метрики порогов, чтобы каждая метрика из множества 410 вложенных метрик имела (а) значение точности, превышающее минимальное заранее заданное значение точности, и/или (б) значение полноты, превышающее минимальное заранее заданное значение полноты.
[0125] Ниже со ссылкой на фиг. 6 более подробно описано определение сервером 106 целевого сочетания 450 зависящих от метрики порогов. При этом сначала описано обучение множества 410 вложенных метрик прогнозированию на основе зависящего от объекта набора 310 данных.
[0126] Как описано выше, сервер 106 способен реализовывать множество 410 вложенных метрик в виде множества алгоритмов MLA. В общем случае алгоритм MLA сначала «строится» (или обучается) с использованием обучающих данных и обучающих целей. Во время итерации обучения алгоритм MLA получает на вход обучающие входные данные и формирует соответствующий прогноз. Затем сервер 106, в известном смысле, способен корректировать алгоритм MLA на основе сравнения прогноза с соответствующей обучающей целью для обучающих входных данных. Например, корректировка может выполняться сервером 106, использующим один или несколько способов машинного обучения, таких как метод обратного распространения и т.п. После большого количества итераций обучения алгоритм MLA изменяется так, чтобы формировать прогнозы на основе введенных данных, близкие к соответствующим обучающим целям.
[0127] Вкратце, реализация сервером 106 метрики из множества 410 вложенных метрик может быть разделена на два основных этапа: этап обучения и этап использования. Сначала алгоритм MLA обучается на этапе обучения. Затем построенный на основе обучающих данных алгоритм MLA применяется механизмом 170 классификации с использованием данных этапа использования на этапе использования (в этом примере этап использования алгоритма MLA выполняется во время этапа использования механизма 170 классификации).
[0128] На фиг. 5 приведены представление 500 одной итерации обучения первого алгоритма MLA (первой вложенной метрики 412) и представление 550 одной итерации обучения второго алгоритма MLA (второй вложенной метрики 414). Ниже описана одна итерация обучения первого алгоритма MLA и второго алгоритма MLA.
[0129] Сервер 106 способен формировать обучающий набор 502 для одной итерации обучения первой вложенной метрики 412. Сервер 106 способен формировать обучающий набор 502 на основе зависящего от объекта проверочного набора данных, хранящегося в системе 150 базы данных. В представленном не имеющем ограничительного характера примере можно предположить, что сервер 106 формирует обучающий набор 502 на основе зависящего от объекта проверочного набора 225 данных.
[0130] Обучающий набор 502 содержит цель 504, указывающую на контрольный класс проверочного объекта. Обучающий набор 502 также содержит зависящие от объекта входные данные 506, представляющие по меньшей мере некоторые события объекта, связанные с зависящим от объекта проверочным набором 225 данных.
[0131] Следует отметить, что вид связанных с зависящим от объекта проверочным набором 225 данных событий объекта, которые подлежат использованию в качестве зависящих от объекта входных данных 506, может быть заранее задан оператором сервера 106. Например, оператор может задать, что первая вложенная метрика 412 должна прогнозировать вероятность принадлежности объекта к первому классу на основе событий объекта некоторого вида. В результате сервер 106 может определять подмножество событий объекта этого вида из зависящего от объекта проверочного набора 225 данных.
[0132] Можно предположить, что события объекта некоторого вида, подлежащие использованию в качестве зависящих от объекта входных данных 506, представляют собой «клики». Таким образом, сервер 106 может определять из зависящего от объекта проверочного набора 225 данных подмножество событий объекта, представляющих собой «клики», и использовать это подмножество в качестве зависящих от объекта входных данных 506. После получения зависящих от объекта входных данных 506 первый алгоритм MLA (обучаемая первая вложенная метрика 412) способен формировать прогноз 508. Прогноз 508 указывает на вероятность принадлежности проверочного объекта к первому классу и основывается на событиях объекта некоторого вида, связанных с первым алгоритмом MLA (например, на событиях объекта, представляющих собой «клики»). Затем сервер 106 способен формировать результат 510 сравнения, указывающий на различие между целью 504 и прогнозом 508.
[0133] Например, если контрольный класс проверочного объекта представляет собой первый класс, то цель 504 может соответствовать «1». В том же примере, если контрольный класс проверочного объекта представляет собой второй класс, то цель 504 может соответствовать «0». В этом примере прогноз 508 может быть равен значению между 0 до 1. Таким образом, можно сказать, что результат 510 сравнения может указывать на сходство или несходство прогноза 508 и цели 504. Сервер 106 использует результат 510 сравнения для обучения или корректировки первого алгоритма MLA так, чтобы первый алгоритм MLA формировал прогнозы, максимально близкие к соответствующим целям.
[0134] После большого количества итераций обучения, выполненных подобно одной итерации обучения первого алгоритма MLA, представленной на фиг. 5, первая вложенная метрика 412 способна использовать события объекта соответствующего вида, связанные с первой вложенной метрикой 412, (например, «клики») для формирования прогнозов, указывающих на вероятность принадлежности соответствующих объектов к первому классу.
[0135] В по меньшей мере некоторых вариантах осуществления настоящей технологии вложенная метрика может использовать входные данные, содержащие события объекта нескольких соответствующих видов, без выхода за границы настоящей технологии.
[0136] Сервер 106 способен формировать обучающий набор 552 для одной итерации обучения второй вложенной метрики 414. Сервер 106 способен формировать обучающий набор 552 на основе зависящего от объекта проверочного набора данных, хранящегося в системе 150 базы данных. В представленном не имеющем ограничительного характера примере можно предположить, что сервер 106 формирует обучающий набор 552 на основе зависящего от объекта проверочного набора 225 данных. Тем не менее, как описано ниже, обучающие наборы для обучения первой вложенной метрики 412 и второй вложенной метрики 414 могут быть определены или не определены на основе одних и тех же зависящих от объекта проверочных наборов данных.
[0137] Обучающий набор 552 содержит цель 554, указывающую на контрольный класс проверочного объекта. Обучающий набор 552 также содержит зависящие от объекта входные данные 556, представляющие по меньшей мере некоторые события объекта, связанные с зависящим от объекта проверочным набором 225 данных.
[0138] Следует отметить, что вид связанных с зависящим от объекта проверочным набором 225 данных событий объекта, которые подлежат использованию в качестве зависящих от объекта входных данных 556, может быть заранее задан оператором сервера 106. Например, оператор может задать, что вторая вложенная метрика 414 должна прогнозировать вероятность принадлежности объекта к первому классу на основе событий объекта другого вида. В результате сервер 106 может определять подмножество событий объекта другого вида из зависящего от объекта проверочного набора 225 данных.
[0139] Тем не менее, важно отметить, что события объекта некоторого вида, подлежащие использованию для обучения первой вложенной метрики 412, особым образом взаимосвязаны с событиями объекта другого вида, подлежащими использованию для обучения второй вложенной метрики 414, т.е. множество 410 вложенных метрик использует вложенные события объекта. Например, если события объекта некоторого вида, используемые первой вложенной метрикой 412, представляют собой «клики», то события объекта другого вида, подлежащие использованию второй вложенной метрикой 414, вложены в события объекта вида «клики». Таким образом, метрики из множества вложенных метрик можно назвать вложенными, поскольку они основываются на видах событий объекта, между которыми существуют взаимосвязи вида «вложенность».
[0140] Таким образом, можно предположить, что события объекта другого вида, используемые в качестве зависящих от объекта входных данных 556, представляют собой «длинные клики». Следовательно, сервер 106 может определять из зависящего от объекта проверочного набора 225 данных другое подмножество событий объекта, представляющих собой «длинные клики», и использовать это другое подмножество в качестве зависящих от объекта входных данных 556. После получения зависящих от объекта входных данных 556 второй алгоритм MLA (обучаемая вторая вложенная метрика 414) способен формировать прогноз 558. Прогноз 558 указывает на вероятность принадлежности проверочного объекта к первому классу и основывается на событиях объекта другого вида, связанных со вторым алгоритмом MLA (например, на событиях объекта, представляющих собой «длинные клики»). Затем сервер 106 способен формировать результат 560 сравнения, указывающий на различие между целью 554 и прогнозом 558.
[0141] Можно сказать, что результат 560 сравнения может указывать на сходство или несходство прогноза 558 и цели 554. Сервер 106 использует результат 560 сравнения для обучения или корректировки второго алгоритма MLA так, чтобы второй алгоритм MLA формировал прогнозы, максимально близкие к соответствующим целям.
[0142] После большого количества итераций обучения, выполненных подобно одной итерации обучения второго алгоритма MLA, представленной на фиг. 5, вторая вложенная метрика 414 способна использовать события объекта соответствующего вида, связанные со второй вложенной метрикой 414, например, «длинные клики», для формирования прогнозов, указывающих на вероятность принадлежности соответствующих объектов к первому классу.
[0143] Как описано выше, обучающие наборы для обучения первой вложенной метрики 412 и второй вложенной метрики 414 могут быть определены или не определены на основе одних и тех же зависящих от объекта проверочных наборов данных. В представленном на фиг. 5 не имеющем ограничительного характера примере можно предположить, что зависящий от объекта проверочный набор 224 данных для проверочного объекта содержит события «кликов» и что среди этих событий «кликов» присутствуют события «длинных кликов». Тем не менее, не каждый проверочный объект может иметь события, соответствующие вложенным событиям множества 410 вложенных метрик.
[0144] В некоторых вариантах осуществления настоящей технологии первая метрика и вторая метрика из множества вложенных метрик могут быть обучены независимо друг от друга. В некоторых вариантах осуществления изобретения первая метрика и вторая метрика из множества вложенных метрик могут быть обучены по отдельности сервером 106.
[0145] В одном примере зависящий от объекта проверочный набор 225 данных может содержать события «кликов», но не содержать событий «длинных кликов». В этом примере зависящий от объекта проверочный набор 225 данных может быть использован сервером 106 для обучения первой вложенной метрики 412, поскольку он содержит события объекта соответствующего вида, связанные с первой вложенной метрикой 412 (например, вида «клик»). Тем не менее, сервер 106 не может использовать зависящий от объекта проверочный набор 225 данных для обучения второй вложенной метрики 414, поскольку он не содержит событий объекта соответствующего вида, связанных со второй вложенной метрикой 414 (например, вида «длинный клик»). В таком примере сервер 106 может использовать для обучения второй вложенной метрики 414 другой зависящий от объекта проверочный набор данных.
[0146] Тем не менее, следует отметить, что если сервер 106 определил, что зависящий от объекта проверочный набор данных содержит события объекта, связанные со второй вложенной метрикой 414, то сервер 106 также может определить, что этот зависящий от объекта проверочный набор данных содержит события объекта, связанные с первой вложенной метрикой 412, поскольку между событиями объекта видов, используемых соответствующими метриками из множества 410 вложенных метрик, существует взаимосвязь вида «вложенность».
[0147] Как описано выше, сервер 106 способен выбирать целевое сочетание 450 зависящих от метрики порогов из множества сочетаний-кандидатов зависящих от метрики порогов. На фиг. 6 дано представление 600 итеративного процесса проверки, выполняемого сервером 106 для выбора целевого сочетания 450 зависящих от метрики порогов.
[0148] Предполагается, что сервер 106 может получать зависящие от объекта проверочные данные 220, содержащие множество зависящих от объекта проверочных наборов данных для выполнения итеративного процесса проверки.
[0149] Сервер 106 может формировать первые прогнозируемые данные 610 и вторые прогнозируемые данные 620 на основе зависящих от объекта проверочных данных 220 и множества 410 вложенных метрик. Например, как описано выше, сервер 106 может вводить по меньшей мере подмножество из зависящего от объекта проверочного набора 225 данных в первую вложенную метрику 412 и по меньшей мере другое подмножество из зависящего от объекта проверочного набора 225 данных во вторую вложенную метрику 414 с целью формирования первого прогноза 612 и второго прогноза 614, соответственно, для проверочного объекта (и для связанных с ним событий), связанного с зависящим от объекта проверочным набором данных 225.
[0150] Сервер 106 может подобным образом использовать (а) первую вложенную метрику 412 для формирования множества 622 первых прогнозов на основе множества зависящих от объекта проверочных наборов данных и (б) вторую вложенную метрику 414 для формирования множества 624 вторых прогнозов на основе множества зависящих от объекта проверочных наборов данных. Предполагается, что лишь некоторые метрики из множества 410 вложенных метрик могут быть использованы для проверочного объекта. Например, сервер 106 может использовать те метрики из множества 410 вложенных метрик, для которых соответствующий зависящий от объекта проверочный набор данных содержит ненулевое подмножество объектов соответствующих видов.
[0151] Можно сказать, что сервер 106 может применять множество 410 вложенных метрик в отношении множества зависящих от объекта проверочных наборов данных и формировать таким образом множество 625 прогнозов (содержащее первые прогнозы 622 и вторые прогнозы 624), указывающих на вероятность принадлежности проверочного объекта (и связанных с ним событий ) к первому классу или ко второму классу.
[0152] На фиг. 6 также приведены представление 602 первой итерации итеративного процесса проверки и представление 604 второй итерации итеративного процесса проверки.
[0153] Во время первой итерации сервер 106 может использовать первое сочетание-кандидат 650 зависящих от метрики порогов для сравнения со множеством 625 прогнозов. В частности, во время первой итерации сервер 106 может использовать первый зависящий от метрики порог 630 из первого сочетания-кандидата 650 зависящих от метрики порогов для сравнения с первыми прогнозами 622 и второй зависящий от метрики порог 640 из первого сочетания-кандидата 650 зависящих от метрики порогов для сравнения со вторыми прогнозами 624.
[0154] В некоторых вариантах осуществления изобретения предполагается, что первое сочетание-кандидат 650 зависящих от метрики порогов может быть инициализировано сервером 106. Например, сервер 106 может использовать заранее заданное первоначальное сочетание-кандидат зависящих от метрики порогов для выполнения первой итерации. Как описано ниже, заранее заданное первоначальное сочетание-кандидат зависящих от метрики порогов может быть использовано сервером для определения множества сочетаний-кандидатов зависящих от метрики порогов путем корректировки одного или нескольких зависящих от метрики порогов в этом сочетании-кандидате для формирования нового сочетания-кандидата.
[0155] Например, сервер 106 может сравнивать первый прогноз 612 для проверочного объекта, связанного с зависящим от объекта проверочным набором 225 данных, с первым зависящим от метрики порогом 630 и в результате определять прогнозируемый класс 672. Например, если первый прогноз 612 больше первого зависящего от метрики порога 630, то сервер 106 может определять, что прогнозируемый класс 672 указывает на первый класс. В противном случае, если первый прогноз 612 меньше первого зависящего от метрики порога 630, то сервер 106 может определять, что прогнозируемый класс 672 указывает на второй класс. Сервер 106 может подобным образом сравнивать каждый прогноз из множества 622 первых прогнозов для формирования первого множества 674 прогнозируемых классов. Можно сказать, что первые данные 670 прогнозируемых классов формируются на основе сравнения первых прогнозируемых данных 610 с первым зависящим от метрики порогом 630.
[0156] В том же примере сервер 106 может сравнивать второй прогноз 614 для проверочного объекта, связанного с зависящим от объекта проверочным набором 225 данных, со вторым зависящим от метрики порогом 640 и в результате определять прогнозируемый класс 682. Сервер 106 может подобным образом сравнивать каждый прогноз из множества 624 вторых прогнозов для формирования второго множества 684 прогнозируемых классов. Можно сказать, что вторые данные 680 прогнозируемых классов формируются на основе сравнения вторых прогнозируемых данных 620 со вторым зависящим от метрики порогом 640.
[0157] Сервер 106 может сравнивать первые данные 670 прогнозируемых классов и вторые данные 680 прогнозируемых классов с данными 690 разметки из зависящих от объекта проверочных данных 220.
[0158] С одной стороны, данные 690 разметки содержат указания на контрольные классы проверочных объектов. С другой стороны, прогнозируемые классы из первого множества 674 прогнозируемых классов (предсказанные с использованием первой вложенной метрики 412) и из второго множества 684 прогнозируемых классов связаны с соответствующим проверочным объектом.
[0159] Таким образом, сервер 106 может сравнивать первые данные 670 прогнозируемых классов и вторые данные 680 прогнозируемых классов с данными 690 разметки для оценки эффективности классификации первой вложенной метрики 412 и второй вложенной метрики 414, используемых совместно в сочетании с первым зависящим от метрики порогом 630 и вторым зависящим от метрики порогом 640 (первое сочетание-кандидат 650 зависящих от метрики порогов). Например, для первой итерации сервер 106 может определять первый параметр 692 точности и первый параметр 694 полноты для первой вложенной метрики 412, а также другой первый параметр 696 точности и другой первый параметр 698 полноты для второй вложенной метрики 414.
[0160] В общем случае параметр точности (также называемый прогностической ценностью положительного результата) представляет собой долю релевантных экземпляров среди полученных экземпляров, а параметр полноты (также называемый чувствительностью) представляет собой долю фактически полученных экземпляров из общего количества релевантных экземпляров. Иными словами, параметр полноты указывает на то, сколько релевантных экземпляров было получено метрикой, а параметр точности указывает, сколько полученных экземпляров было фактически правильно классифицировано.
[0161] Таким образом, можно сказать, что сервер 106 во время первой итерации может формировать первые параметры точности (первый параметр 692 точности и другой первый параметр 696 точности) и первые параметры полноты (первый параметр 694 полноты и другой первый параметр 698 полноты) для множества 410 вложенных метрик, используемых вместе с первым сочетанием 650 зависящих от метрики порогов, путем сравнения контрольных классов из зависящих от объекта проверочных данных 220 с соответствующими прогнозируемыми классами проверочных объектов.
[0162] Следует отметить, что сервер 106 может сохранять указание на первое сочетание-кандидат 650 зависящих от метрики порогов в сочетании с первым параметром 692 точности и первым параметром 694 полноты для первой вложенной метрики 412, а также в сочетании с другим первым параметром 696 точности и другим первым параметром 698 полноты для второй вложенной метрики 414.
[0163] Во время второй итерации сервер 106 может использовать второе сочетание-кандидат 660 зависящих от метрики порогов для сравнения со множеством 625 прогнозов.
[0164] Как описано выше, предполагается, что сервер 106 может определять второе сочетание-кандидат 660 зависящих от метрики порогов на основе первого сочетания-кандидата 650 зависящих от метрики порогов. В одном варианте осуществления изобретения сервер 106 может корректировать один порог из первого сочетания-кандидата 650, сохраняя оставшуюся часть первого сочетания-кандидата 650 без изменений.
[0165] Таким образом, сервер 106 может определять второе сочетание-кандидат 660 путем корректировки второго зависящего от метрики порога 640 из первого сочетания-кандидата 650. В этом примере второе сочетание-кандидат 660 содержит первый зависящий от метрики порог 630 и скорректированный второй зависящий от метрики порог 642 (на основе второго зависящего от метрики порога 640).
[0166] В по меньшей мере некоторых вариантах осуществления настоящей технологии сервер 106 может применять алгоритм корректировки, способный управлять направлением (например, увеличением или уменьшением) и абсолютным значением для корректировки зависящего от метрики порога при переходе от одной итерации к другой. Как описано ниже, в одном варианте осуществления изобретения текущее значение корректировки, на которое зависящий от метрики порог может быть скорректирован для следующей итерации, может зависеть от предыдущего значения корректировки, на которое этот зависящий от метрики порог был скорректирован для предыдущей итерации.
[0167] Во время второй итерации сервер 106 может использовать первый зависящий от метрики порог 630 из второго сочетания-кандидата 660 для сравнения с первыми прогнозами 622 и скорректированный второй зависящий от метрики порог 642 из второго сочетания-кандидата 660 для сравнения со вторыми прогнозами 624.
[0168] Например, сервер 106 может сравнивать первый прогноз 612 для проверочного объекта, связанного с зависящим от объекта проверочным набором 225 данных, с первым зависящим от метрики порогом 630 и в результате определять прогнозируемый класс 872. Например, если первый прогноз 612 больше первого зависящего от метрики порога 630, то сервер 106 может определять, что прогнозируемый класс 872 указывает на первый класс. В противном случае, если первый прогноз 612 меньше первого зависящего от метрики порога 630, то сервер 106 может определять, что прогнозируемый класс 872 указывает на второй класс. Сервер 106 может подобным образом сравнивать каждый прогноз из множества 622 первых прогнозов для формирования третьего множества 874 прогнозируемых классов. Можно сказать, что третьи данные 870 прогнозируемых классов формируются на основе сравнения первых прогнозируемых данных 610 с первым зависящим от метрики порогом 630.
[0169] В том же примере сервер 106 может сравнивать второй прогноз 614 для проверочного объекта, связанного с зависящим от объекта проверочным набором 225 данных, со скорректированным вторым зависящим от метрики порогом 642 и в результате определять прогнозируемый класс 882. Сервер 106 может подобным образом сравнивать каждый прогноз из множества 624 вторых прогнозов для формирования четвертого множества 884 прогнозируемых классов. Можно сказать, что четвертые данные 880 прогнозируемых классов формируются на основе сравнения вторых прогнозируемых данных 620 со скорректированным вторым зависящим от метрики порогом 642.
[0170] Сервер 106 может сравнивать третьи данные 870 прогнозируемых классов и четвертые данные 880 прогнозируемых классов с данными 690 разметки из зависящих от объекта проверочных данных 220. Таким образом, сервер 106 может сравнивать третьи данные 870 прогнозируемых классов и четвертые данные 880 прогнозируемых классов с данными 690 разметки для оценки эффективности классификации первой вложенной метрики 412 и второй вложенной метрики 414, используемых в сочетании с первым зависящим от метрики порогом 630 и скорректированным вторым зависящим от метрики порогом 642, соответственно. Например, сервер 106 может определять второй параметр 892 точности и второй параметр 894 полноты для первой вложенной метрики 412, а также другой второй параметр 896 точности и другой второй параметр 898 полноты для второй вложенной метрики 414 в случае использования со вторым сочетанием-кандидатом 660.
[0171] Таким образом, можно сказать, что сервер 106 во время второй итерации может формировать вторые параметры точности (второй параметр 892 точности и другой второй параметр 896 точности) и вторые параметры полноты (второй параметр 894 полноты и другой второй параметр 898 полноты) для множества 410 вложенных метрик путем сравнения контрольных классов из зависящих от объекта проверочных данных 220 с прогнозируемыми классами проверочных объектов.
[0172] Следует отметить, что сервер 106 может сохранять указание на второе сочетание-кандидат 660 зависящих от метрики порогов в сочетании со вторым параметром 892 точности и вторым параметром 894 полноты для первой вложенной метрики 412, а также в сочетании с другим вторым параметром 896 точности и другим вторым параметром 898 полноты для второй вложенной метрики 414.
[0173] Сервер 106 может выполнять большое количество итераций подобно тому, как сервер 106 выполняет первую и вторую итерации. В некоторых вариантах осуществления изобретения сервер 106 может выполнять итерации итеративного процесса проверки до достижения критерия останова. Например, сервер 106 может продолжать итеративный процесс проверки до тех пор, пока один или несколько параметров точности и/или один или несколько параметров полноты для обучающей итерации не превысят один или несколько заранее заданных порогов, как описано ниже.
[0174] Как описано выше, предполагается, что сервер 106 может выбирать направление корректировки зависящего от метрики порога из сочетания-кандидата для формирования нового (скорректированного) сочетания-кандидата в зависимости от предыдущего направления корректировки этого зависящего от метрики порога.
[0175] Например, можно предположить, что во время третьей итерации сервер 106 использует второе сочетание-кандидат 660 для формирования нового (третьего) сочетания-кандидата. Сервер 106 может сохранить без изменений скорректированный второй зависящий от метрики порог 642 в третьем сочетании-кандидате и использовать скорректированный первый зависящий от метрики порог вместо первого зависящего от метрики порога 630. Иными словами, третье сочетание-кандидат может содержать скорректированный (новый) первый зависящий от метрики порог и скорректированный второй зависящий от метрики порог 642. Сервер 106 может выполнять третью итерацию итеративного процесса проверки с использованием этого третьего сочетания-кандидата подобно описанной выше первой и/или второй итерации.
[0176] В том же примере, когда сервер 106 формирует новое (четвертое) сочетание-кандидат для четвертой итерации, сервер 106 может определить, что следует сохранить без изменений скорректированный первый зависящий от метрики порог из третьего сочетания-кандидата и скорректировать скорректированный второй зависящий от метрики порог 642. С этой целью в некоторых вариантах осуществления изобретения сервер 106 может осуществлять доступ к информации, указывающей на предыдущую корректировку зависящего от метрики порога для второй вложенной метрики 414. Например, сервер 106 может получать предыдущее значение, на которое сервер 106 ранее скорректировал второй зависящий от метрики порог 640, для формирования скорректированного второго зависящего от метрики порога 642. Предыдущее значение может иметь знак (направление корректировки) и модуль (абсолютное значение корректировки).
[0177] Предполагается, что сервер 106 может определять новое значение, на которое сервер 106 должен скорректировать ранее скорректированный второй зависящий от метрики порог 642 для формирования повторно скорректированного второго зависящего от метрики порога в четвертом сочетании-кандидате, путем определения значения, которое имеет (а) знак, отличающийся от знака предыдущего значения (другое направление корректировки), и (б) меньший модуль (меньше абсолютное значение корректировки). Затем сервер 106 может выполнять четвертую итерацию итеративного процесса проверки с использованием этого четвертого сочетания-кандидата, содержащего скорректированный первый зависящий от метрики порог и повторно скорректированный второй зависящий от метрики порог.
[0178] Также предполагается, что сервер 106 может выбирать сочетание-кандидат из множества сочетаний-кандидатов зависящих от метрики порогов (связанных с соответствующими итерациями итеративного процесса проверки) путем сравнения параметров точности и полноты с соответствующими порогами параметров. Предполагается, что пороги параметров могут содержать заранее заданный порог точности и/или заранее заданный порог полноты (например, заданные оператором интерактивного сервиса).
[0179] В одном варианте осуществления изобретения сервер 106 может использовать заранее заданный порог точности, указывающий на минимальный параметр точности, который оператор считает подходящим для выполнения бинарной классификации объектов. В этом варианте осуществления изобретения для первой итерации сервер 106 может сравнивать первый параметр 692 точности и другой первый параметр 696 точности с заранее заданным порогом точности. Если первый параметр 692 точности и другой первый параметр 696 точности больше заранее заданного порога точности, то первое сочетание-кандидат 650 зависящих от метрики порогов сохраняется для последующей обработки. Если первый параметр 692 точности и/или другой первый параметр 696 точности меньше заранее заданного порога точности, то первое сочетание-кандидат 650 зависящих от метрики порогов исключается из последующей обработки. В этом варианте осуществления изобретения для второй итерации сервер 106 может сравнивать второй параметр 892 точности и другой второй параметр 896 точности с заранее заданным порогом точности. Если второй параметр 892 точности и другой второй параметр 896 точности больше заранее заданного порога точности, то второе сочетание-кандидат 660 зависящих от метрики порогов сохраняется для последующей обработки. Если второй параметр 892 точности и/или другой второй параметр 896 точности меньше заранее заданного порога точности, то второе сочетание-кандидат 660 зависящих от метрики порогов исключается из последующей обработки. В этом варианте осуществления изобретения сервер 106 может выбирать сочетание-кандидат из числа сохраненных сочетаний-кандидатов, связанное с наибольшими параметрами полноты из числа параметров полноты других сохраненных сочетаний-кандидатов, в качестве целевого сочетания зависящих от метрики порогов.
[0180] Дополнительно или в качестве альтернативы сервер 106 может определять сочетание-кандидат из множества сочетаний-кандидатов, которое должно быть сохранено, на основе заранее заданного порога полноты (минимальный параметр полноты, который оператор считает подходящим). Затем сервер 106 может выбрать сочетание-кандидат из числа сохраненных сочетаний-кандидатов, связанное с наибольшими параметрами точности из числа параметров точности других сохраненных сочетаний-кандидатов, в качестве целевого сочетания.
[0181] На фиг. 7 представлена блок-схема способа 700 согласно по меньшей мере некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии. Ниже более подробно описаны различные шаги способа 700 определения целевого сочетания зависящих от метрики порогов, подлежащих использованию со множеством вложенных метрик для выполнения бинарной классификации цифрового объекта.
Шаг 702: получение множества зависящих от объекта проверочных наборов данных.
[0182] Способ 700 начинается с шага 702, на котором сервер 106 может получать множество зависящих от объекта проверочных наборов данных. Например, сервер 106 может получать зависящие от объекта проверочные данные 220, содержащие множество зависящих от объекта проверочных наборов данных. Набор из множества зависящих от объекта проверочных наборов данных содержит указание на множество прошлых событий объекта, связанных с проверочным объектом, и контрольный класс проверочного объекта, представляющий собой первый класс или второй класс.
[0183] В некоторых вариантах осуществления изобретения объект может представлять собой сообщение электронной почты, при этом первый класс соответствует спаму, а второй класс соответствует отсутствию спама. В качестве альтернативы, объект может представлять собой пользователя платформы электронной торговли, при этом первый класс соответствует мошенничеству, а второй класс соответствует отсутствию мошенничества. В некоторых случаях объект может представлять собой документ, при этом первый класс соответствует релевантности, а второй класс соответствует нерелевантности.
Шаг 704: применение множества вложенных метрик в отношении множества зависящих от объекта проверочных наборов данных.
[0184] Способ 700 продолжается на шаге 704, на котором сервер 106 может применять множество 410 вложенных метрик в отношении множества зависящих от объекта проверочных наборов данных и формировать таким образом множество 625 прогнозов. Прогноз указывает на вероятность принадлежности проверочного объекта к первому классу или ко второму классу.
[0185] В некоторых вариантах осуществления изобретения первая метрика из множества вложенных метрик может основываться на событиях объекта первого вида, а вторая метрика из множества вложенных метрик может основываться на событиях объекта второго вида, при этом события объекта второго вида происходят, только если произошли события объекта первого вида. В некоторых вариантах осуществления изобретения события объекта второго вида могут представлять собой подмножество событий объекта первого вида.
Шаг 706: сравнение во время первой итерации множества прогнозов с соответствующими порогами из первого сочетания зависящих от метрики порогов для определения прогнозируемых классов проверочных объектов для первой итерации.
[0186] Способ 700 продолжается на шаге 706, на котором сервер 106 во время первой итерации может сравнивать множество 625 прогнозов с соответствующими порогами из первого сочетания 650 зависящих от метрики порогов для определения прогнозируемых классов проверочных объектов для первой итерации. Например, сервер 106 может определять первые данные 670 прогнозируемых классов и вторые данные 680 прогнозируемых классов.
Шаг 708: формирование во время первой итерации первых параметров точности и первых параметров полноты для множества вложенных метрик для первой итерации путем сравнения контрольных классов с прогнозируемыми классами проверочных объектов для первой итерации.
[0187] Способ 700 продолжается на шаге 708, на котором сервер 106 может формировать первые параметры точности и первые параметры полноты для множества 410 вложенных метрик для первой итерации путем сравнения контрольных классов с прогнозируемыми классами проверочных объектов для первой итерации.
[0188] Например, сервер 106 может формировать первый параметр 692 точности и первый параметр 694 полноты для первой вложенной метрики 412, а также другой первый параметр 696 точности и другой первый параметр 698 полноты для второй вложенной метрики 414 (см. фиг. 6).
Шаг 710: корректировка во время второй итерации порога из первого сочетания зависящих от метрики порогов и формирование таким образом второго сочетания зависящих от метрики порогов.
[0189] Способ 700 продолжается на шаге 710, на котором сервер 106 во время второй итерации может корректировать порог из первого сочетания 650 зависящих от метрики порогов и формировать таким образом второе сочетание 660 зависящих от метрики порогов.
[0190] Например, сервер 106 может корректировать зависящий от метрики порог 640 и определять таким образом скорректированный зависящий от метрики порог 642. В результате второе сочетание 660 зависящих от метрики порогов содержит скорректированный зависящий от метрики порог 642 вместо зависящего от метрики порога 640.
Шаг 712: сравнение во время второй итерации множества прогнозов с соответствующими порогами из второго сочетания зависящих от метрики порогов для определения прогнозируемых классов проверочных объектов для второй итерации.
[0191] Способ 700 продолжается на шаге 712, на котором сервер 106 во время второй итерации может сравнивать множество 625 прогнозов с соответствующими порогами из второго сочетания 660 зависящих от метрики порогов для определения прогнозируемых классов проверочных объектов для второй итерации. Например, сервер 106 может определять третьи данные 870 прогнозируемых классов и четвертые данные 880 прогнозируемых классов.
Шаг 714: формирование во время второй итерации вторых параметров точности и вторых параметров полноты для множества вложенных метрик для второй итерации путем сравнения контрольных классов с соответствующими прогнозируемыми классами проверочных объектов для второй итерации.
[0192] Способ 700 продолжается на шаге 714, на котором сервер 106 во время второй итерации может формировать вторые параметры точности и вторые параметры полноты для множества 410 вложенных метрик для второй итерации путем сравнения контрольных классов с соответствующими прогнозируемыми классами проверочных объектов для второй итерации.
[0193] Как показано на фиг. 6, сервер 106 может формировать второй параметр 892 точности и второй параметр 894 полноты для первой вложенной метрики 412. Сервер 106 может формировать другой второй параметр 896 точности и другой второй параметр 898 полноты для второй вложенной метрики 414.
Шаг 716: выбор сервером первого сочетания зависящих от метрики порогов или второго сочетания зависящих от метрики порогов в качестве целевого сочетания зависящих от метрики порогов.
[0194] Способ 700 продолжается на шаге 716, на котором сервер 106 может выбирать первое сочетание 650 или второе сочетание 660 в качестве целевого сочетания зависящих от метрики порогов путем сравнения (а) первых параметров точности и вторых параметров точности с порогом точности и/или (б) первых параметров полноты и вторых параметров полноты с порогом полноты. Целевое сочетание 450 зависящих от метрики порогов подлежит использованию со множеством 410 вложенных метрик в режиме использования для выполнения такой бинарной классификации цифрового объекта, что если прогноз этапа использования по меньшей мере одной метрики из множества 410 вложенных метрик для цифрового объекта превышает соответствующий порог из целевого сочетания 450 зависящих от метрики порогов, то определяется принадлежность цифрового объекта к первому классу.
[0195] Следует отметить, что в некоторых вариантах осуществления изобретения целевое сочетание зависящих от метрики порогов выбирается одновременно для множества вложенных метрик во время одной итерации.
[0196] Очевидно, что не все упомянутые в данном описании технические эффекты должны присутствовать в каждом варианте осуществления настоящей технологии. Например, возможны варианты осуществления настоящей технологии, когда пользователь не получает некоторые из этих технических эффектов, или другие варианты реализации, когда пользователь получает другие технические эффекты либо когда технический эффект отсутствует.
[0197] Некоторые из этих шагов и передаваемых или принимаемых сигналов хорошо известны в данной области техники и по этой причине опущены в некоторых частях описания для упрощения. Сигналы могут передаваться или приниматься с использованием оптических средств (таких как волоконно-оптическое соединение), электронных средств (таких как проводное или беспроводное соединение) и механических средств (например, основанных на давлении, температуре или любом другом подходящем физическом параметре).
[0198] Для специалиста в данной области могут быть очевидными возможные изменения и усовершенствования описанных выше вариантов осуществления настоящей технологии. Предшествующее описание приведено лишь в иллюстративных целях, а не для ограничения объема изобретения. Объем охраны настоящей технологии определяется исключительно объемом приложенной формулы изобретения.