[go: up one dir, main page]

RU2795202C2 - Methods and servers for determining metric-dependent thresholds used with multiple nested metrics for binary classification of a digital object - Google Patents

Methods and servers for determining metric-dependent thresholds used with multiple nested metrics for binary classification of a digital object Download PDF

Info

Publication number
RU2795202C2
RU2795202C2 RU2020133324A RU2020133324A RU2795202C2 RU 2795202 C2 RU2795202 C2 RU 2795202C2 RU 2020133324 A RU2020133324 A RU 2020133324A RU 2020133324 A RU2020133324 A RU 2020133324A RU 2795202 C2 RU2795202 C2 RU 2795202C2
Authority
RU
Russia
Prior art keywords
metric
server
class
nested
iteration
Prior art date
Application number
RU2020133324A
Other languages
Russian (ru)
Other versions
RU2020133324A (en
Inventor
Алексей Васильевич Тощаков
Михаил Михайлович Носовский
Артём Владимирович Мещеряков
Original Assignee
Общество С Ограниченной Ответственностью «Яндекс»
Filing date
Publication date
Application filed by Общество С Ограниченной Ответственностью «Яндекс» filed Critical Общество С Ограниченной Ответственностью «Яндекс»
Priority to RU2020133324A priority Critical patent/RU2795202C2/en
Priority to US17/494,405 priority patent/US12271447B2/en
Publication of RU2020133324A publication Critical patent/RU2020133324A/en
Application granted granted Critical
Publication of RU2795202C2 publication Critical patent/RU2795202C2/en

Links

Images

Abstract

FIELD: computer engineering.
SUBSTANCE: invention is aimed at reducing errors in processing a digital object in case of binary classification. It is achieved due to the fact that the method includes obtaining object-specific test data sets and a set of nested metrics and generating a set of predictions using them. During the first iteration, the server compares the predictions with the first combination of metric-dependent thresholds and generates the first accuracy parameters and the first recall parameters for the first iteration. During the second iteration, the server corrects the prediction from the first combination and thus generates the second combination, compares the predictions with the second combination, and generates the second accuracy parameters and the second recall parameters for the second iteration. The method includes selecting the first combination or the second combination as the target combination of metric dependent thresholds.
EFFECT: reducing errors in processing a digital object in case of binary classification.
18 cl, 7 dwg

Description

Область техники, к которой относится изобретениеThe field of technology to which the invention belongs

[01] Настоящая технология относится к системам и способам для бинарной классификации цифровых объектов. В частности, настоящая технология относится к способам и серверам для определения сочетания зависящих от метрики порогов, используемых со множеством вложенных метрик при выполнении бинарной классификации цифрового объекта.[01] The present technology relates to systems and methods for binary classification of digital objects. In particular, the present technology relates to methods and servers for determining a combination of metric-dependent thresholds used with a plurality of nested metrics when performing a binary classification of a digital object.

Уровень техникиState of the art

[02] Алгоритмы машинного обучения (MLA, Machine Learning Algorithm) используются для удовлетворения разнообразных потребностей в компьютерных технологиях. Обычно алгоритмы MLA используются для формирования прогноза на основе предоставленных им данных. Некоторые алгоритмы MLA называются классификаторами и в целом способны относить объекты к одному или нескольким классам. Иными словами, некоторые алгоритмы MLA, обученные на основе обучающего набора данных, содержащего наблюдения (или экземпляры) известной категории, способны решать задачу определения того, к какой категории из набора категорий (или подмножеств) относится новое наблюдение.[02] Machine learning algorithms (MLA, Machine Learning Algorithm) are used to meet a variety of needs in computer technology. Typically, MLA algorithms are used to generate a prediction based on the data provided to them. Some MLA algorithms are called classifiers and are generally capable of assigning objects to one or more classes. In other words, some MLA algorithms trained on a training dataset containing observations (or instances) of a known category are able to solve the problem of determining which category of a set of categories (or subsets) a new observation belongs to.

[03] Полученный в результате прогнозируемый класс может быть использован в качестве дополнительной информации об объекте для предоставления пользователям улучшенных интерактивных электронных сервисов. Например, информация, полученная в результате классификации объекта, может быть использована поисковыми системами (например, классификация документа), сервисами рекомендации контента (например, классификация контента), сервисами электронной почты (например, классификация сообщения электронной почты), сервисами электронной торговли (например, классификация пользователя) и т.п.[03] The resulting predictive class can be used as additional information about the object to provide users with improved interactive electronic services. For example, the information resulting from the classification of an object can be used by search engines (for example, document classification), content recommendation services (for example, content classification), email services (for example, email message classification), e-commerce services (for example, user classification), etc.

[04] В частности, классификатор может быть обучен на обучающем наборе данных, связанном с объектом и содержащем связанную с объектом информацию и контрольный класс объекта. Классификатор выучивает, какая информация об объекте с большей вероятностью указывает на контрольный класс обучающих объектов. Затем этот классификатор используется для определения прогнозируемого класса объекта этапа использования на основе информации, доступной для этого объекта этапа использования.[04] In particular, the classifier can be trained on a training dataset associated with an object and containing information associated with the object and a control class of the object. The classifier learns which information about the object is more likely to point to the control class of training objects. This classifier is then used to determine the predicted class of the use-phase object based on the information available for that use-phase object.

[05] Неверная классификация объектов может приводить к ошибкам при дальнейшей обработке объекта и обычно негативно влияет на качество интерактивных сервисов, требующих такой классификации.[05] Incorrect classification of objects can lead to errors in further processing of the object and usually negatively affects the quality of interactive services that require such classification.

Раскрытие изобретенияDisclosure of invention

[06] Разработанные варианты осуществления настоящей технологии основаны на понимании разработчиками по меньшей мере одной технической проблемы, связанной с известными подходами к классификации объектов.[06] The developed embodiments of the present technology are based on the developers' understanding of at least one technical problem associated with known approaches to object classification.

[07] Согласно одному аспекту настоящей технологии реализован сервер, способный выполнять множество компьютерных алгоритмов, которые называются механизмом классификации и в целом способны выполнять бинарную классификацию цифровых объектов. В контексте настоящей технологии цифровые объекты могут соответствовать элементам, связанным с одним или несколькими интерактивными сервисами, такими как поисковые системы, сервисы рекомендации контента, сервисы электронной торговли, сервисы электронной почты и т.д. Характер цифрового объекта, среди прочего, зависит от конкретных вариантов реализации настоящей технологии.[07] According to one aspect of the present technology, a server capable of executing a plurality of computer algorithms, referred to as a classification engine, is implemented and is generally capable of performing binary classification of digital objects. In the context of the present technology, digital objects may correspond to elements associated with one or more interactive services such as search engines, content recommendation services, e-commerce services, e-mail services, and so on. The nature of the digital object, among other things, depends on the specific implementations of the present technology.

[08] Механизм классификации содержит множество алгоритмов MLA, способных прогнозировать класс цифрового объекта на основе связанных с ним прошлых событий объекта. Можно сказать, что множество алгоритмов MLA представляет собой прогнозирующие модели, которые моделируют множество метрик и применяются в отношении данных, представляющих прошлые события объекта для цифрового объекта, с целью определения вероятности принадлежности этого объекта к некоторому классу.[08] The classification engine comprises a plurality of MLA algorithms capable of predicting the class of a digital object based on the object's associated past events. It can be said that a set of MLA algorithms are predictive models that model a set of metrics and are applied to data representing the past events of an object for a digital object in order to determine the probability that this object belongs to a certain class.

[09] Согласно по меньшей мере одному аспекту настоящей технологии, множество метрик, используемых механизмом классификации, способно использовать конкретные подмножества прошлых событий объекта. Следует отметить, что события объекта некоторых видов могут быть связаны особым образом.[09] According to at least one aspect of the present technology, the set of metrics used by the classification engine is able to use specific subsets of past events of an object. It should be noted that some kinds of object events can be linked in a special way.

[010] В частности, события объекта некоторых видов могут иметь взаимосвязь вида «вложенность». Можно сказать, что события объекта второго вида вложены в события объекта первого вида, если события объекта второго вида могут происходить, только если произошли события объекта первого вида. Например, события объекта (события второго вида), указывающие на «клики» пользователя на результатах поисковой системы, могут происходить только после отправки пользователем запросов (события первого вида). Также можно сказать, что события объекта второго вида вложены в события объекта первого вида, когда события объекта второго вида представляют собой подмножество событий объекта первого вида. Например, события объекта (второго вида), указывающие на «длинные клики», представляют собой подмножество событий объекта (первого вида), указывающих на «клики».[010] In particular, some kinds of object events may have a nested relationship. We can say that the events of an object of the second kind are nested in the events of an object of the first kind if the events of an object of the second kind can only occur if the events of the first kind of object have occurred. For example, object events (second type events) indicating user "clicks" on search engine results can only occur after the user submits queries (first type events). It can also be said that the events of the second kind object are nested in the events of the first kind object when the events of the second kind object are a subset of the events of the first kind object. For example, object (second kind) events indicating "long clicks" are a subset of object (first kind) events indicating "clicks".

[011] В по меньшей мере некоторых вариантах осуществления настоящей технологии можно сказать, что множество метрик, используемых механизмом классификации, является «вложенным» в том смысле, что события объекта, используемые первой метрикой из множества метрик для формирования прогнозов, вложены в события объекта, используемые второй метрикой из множества метрик для формирования ее собственных прогнозов.[011] In at least some embodiments of the present technology, the set of metrics used by the classification engine can be said to be "nested" in the sense that the object events used by the first metric of the set of metrics to generate predictions are nested in the object events, used by the second metric from the set of metrics to form its own predictions.

[012] Механизм классификации содержит компьютерный алгоритм, способный применять «целевое сочетание зависящих от метрики порогов» в отношении прогнозов, сформированных множеством вложенных метрик, для выполнения бинарной классификации цифрового объекта. В не имеющем ограничительного характера примере настоящей технологии, где три вложенные метрики используются для формирования трех прогнозов на основе соответствующих подмножеств прошлых событий объекта, указывающих на вероятность принадлежности цифрового объекта к первому классу, механизм классификации может применять целевое сочетание трех зависящих от метрики порогов, каждый из которых соответствует одной вложенной метрике из числа трех вложенных метрик. В некоторых вариантах осуществления изобретения, если по меньшей мере один прогноз из множества прогнозов превышает соответствующий порог из целевого сочетания зависящих от метрики порогов, то механизм классификации может определять, что цифровой объект принадлежит к первому классу. В некоторых вариантах осуществления изобретения, если отсутствуют прогнозы из множества прогнозов, превышающие соответствующий порог из целевого сочетания зависящих от метрики порогов, то механизм классификации может определять, что цифровой объект принадлежит к другому классу.[012] The classification engine comprises a computer algorithm capable of applying a "target combination of metric dependent thresholds" on predictions generated by a plurality of nested metrics to perform a binary classification of a digital object. In a non-limiting example of the present technology, where three nested metrics are used to form three predictions based on respective subsets of an entity's past events indicative of the likelihood that a digital entity belongs to the first class, the classification engine may apply a target combination of three metric-dependent thresholds, each of which corresponds to one nested metric out of three nested metrics. In some embodiments of the invention, if at least one prediction from a plurality of predictions exceeds a corresponding threshold from a target combination of metric-dependent thresholds, then the classification engine may determine that the digital object belongs to the first class. In some embodiments of the invention, if there are no predictions from the set of predictions that exceed the corresponding threshold from the target combination of metric-dependent thresholds, then the classification engine may determine that the digital object belongs to a different class.

[013] Согласно по меньшей мере одному аспекту настоящей технологии реализован сервер, способный выбирать целевое сочетание зависящих от метрики порогов для множества вложенных метрик из числа множества сочетаний-кандидатов зависящих от метрики порогов. Сервер может выполнять итеративный процесс проверки для выбора целевого сочетания зависящих от метрики порогов из множества сочетаний-кандидатов зависящих от метрики порогов. В некоторых вариантах осуществления изобретения сервер может использовать зависящий от объекта проверочный набор данных для получения проверочных данных об эффективности классификации множества вложенных метрик с различными сочетаниями зависящих от метрики порогов. Например, эффективность классификации множества вложенных метрик с различными сочетаниями зависящих от метрики порогов может быть измерена с точки зрения точности, полноты, погрешности и т.п. В некоторых вариантах осуществления изобретения сервер может формировать текущее сочетание-кандидат зависящих от метрики порогов (подлежащее использованию во время текущей итерации итеративного процесса проверки) на основе предыдущего сочетания-кандидата зависящих от метрики порогов (которое использовалось во время предыдущей итерации итеративного процесса проверки).[013] According to at least one aspect of the present technology, a server is implemented that is capable of selecting a target combination of metric-dependent thresholds for a plurality of nested metrics from among a plurality of candidate combinations of metric-dependent thresholds. The server may perform an iterative checking process to select a target combination of metric-dependent thresholds from a plurality of candidate combinations of metric-dependent thresholds. In some embodiments of the invention, the server may use an object-specific test data to obtain test data on the classification performance of a plurality of nested metrics with various combinations of metric-dependent thresholds. For example, the classification performance of multiple nested metrics with various combinations of metric-dependent thresholds can be measured in terms of accuracy, recall, error, and the like. In some embodiments, the server may generate a current metric dependent threshold candidate combination (to be used during the current iteration of the iterative validation process) based on a previous metric dependent threshold candidate combination (which was used during a previous iteration of the iterative validation process).

[014] Согласно первому аспекту настоящей технологии реализован способ определения целевого сочетания зависящих от метрики порогов для использования со множеством вложенных метрик при выполнении бинарной классификации цифрового объекта на первый класс или второй класс. Объект связан с прошлыми событиями объекта, указание на которые хранится в хранилище данных. Способ выполняется сервером, имеющим доступ к хранилищу данных. Способ включает в себя получение сервером множества зависящих от объекта проверочных наборов данных. Набор из множества зависящих от объекта проверочных наборов данных содержит указание на множество прошлых событий объекта, связанных с соответствующим проверочным объектом, и контрольный класс проверочного объекта, представляющий собой первый класс или второй класс. Способ включает в себя применение сервером множества вложенных метрик в отношении множества зависящих от объекта проверочных наборов данных и формирование таким образом множества прогнозов. Прогноз указывает на вероятность принадлежности проверочного объекта к первому классу или ко второму классу. Способ во время первой итерации включает в себя сравнение сервером множества прогнозов с соответствующими порогами из первого сочетания зависящих от метрики порогов для определения прогнозируемых классов проверочных объектов для первой итерации. Способ во время первой итерации включает в себя формирование сервером первых параметров точности и первых параметров полноты для множества вложенных метрик для первой итерации путем сравнения контрольных классов с соответствующими прогнозируемыми классами проверочных объектов для первой итерации. Способ во время второй итерации включает в себя корректировку сервером порога из первого сочетания зависящих от метрики порогов и формирование таким образом второго сочетания зависящих от метрики порогов. Способ во время второй итерации включает в себя сравнение сервером множества прогнозов с соответствующими порогами из второго сочетания зависящих от метрики порогов для определения прогнозируемых классов проверочных объектов для второй итерации. Способ во время второй итерации включает в себя формирование сервером вторых параметров точности и вторых параметров полноты для множества вложенных метрик для второй итерации путем сравнения контрольных классов с соответствующими прогнозируемыми классами проверочных объектов для второй итерации. Способ включает в себя выбор сервером первого сочетания зависящих от метрики порогов или второго сочетания зависящих от метрики порогов в качестве целевого сочетания зависящих от метрики порогов путем сравнения (а) первых параметров точности и вторых параметров точности с порогом точности и/или (б) первых параметров полноты и вторых параметров полноты с порогом полноты. Целевое сочетание зависящих от метрики порогов подлежит использованию со множеством вложенных метрик в режиме использования для выполнения такой бинарной классификации цифрового объекта, что если прогноз этапа использования по меньшей мере одной метрики из множества вложенных метрик для цифрового объекта превышает соответствующий порог из целевого сочетания зависящих от метрики порогов, то определяется принадлежность цифрового объекта к первому классу.[014] According to a first aspect of the present technology, a method is implemented for determining a target combination of metric-dependent thresholds for use with a plurality of nested metrics when performing a binary classification of a digital object into a first class or a second class. The object is associated with past events of the object, an indication of which is stored in the data store. The method is performed by a server that has access to the data store. The method includes receiving by the server a plurality of object-specific validation datasets. The set of the plurality of object-specific validation datasets contains an indication of a plurality of past object events associated with the corresponding validation object, and a validation object control class representing the first class or the second class. The method includes applying a plurality of nested metrics to a plurality of object-specific test sets by a server and thereby generating a plurality of predictions. The prediction indicates the probability that the test object belongs to the first class or to the second class. The method during the first iteration includes comparing by the server a plurality of predictions with corresponding thresholds from the first combination of metric dependent thresholds to determine the predicted test object classes for the first iteration. The method during the first iteration includes generating by the server first precision parameters and first recall parameters for the plurality of nested metrics for the first iteration by comparing the control classes with the corresponding predicted test object classes for the first iteration. The method during the second iteration includes adjusting the threshold from the first combination of metric dependent thresholds by the server and thereby generating a second combination of metric dependent thresholds. The method during the second iteration includes the server comparing the plurality of predictions with corresponding thresholds from the second combination of metric dependent thresholds to determine the predicted test object classes for the second iteration. The method during the second iteration includes generating by the server second precision parameters and second recall parameters for the plurality of nested metrics for the second iteration by comparing the control classes with the corresponding predicted test object classes for the second iteration. The method includes selecting by the server the first combination of metric-dependent thresholds or the second combination of metric-dependent thresholds as the target combination of metric-dependent thresholds by comparing (a) the first accuracy parameters and the second accuracy parameters with the accuracy threshold and/or (b) the first parameters completeness and second parameters of completeness with the threshold of completeness. A target combination of metric-dependent thresholds is to be used with a set of nested metrics in a use mode to perform a binary classification of a digital object such that if the prediction of the use step of at least one metric from the set of nested metrics for the digital object exceeds the corresponding threshold from the target combination of metric-dependent thresholds , then the belonging of the digital object to the first class is determined.

[015] В некоторых вариантах осуществления способ дополнительно включает в себя выполнение сервером множества итераций до тех пор, пока (а) параметры точности для итерации не окажутся больше порога точности и/или (б) параметры полноты для итерации не окажутся больше порога полноты, и выбор сервером сочетания зависящих от метрики порогов из этой итерации в качестве целевого сочетания зависящих от метрики порогов.[015] In some embodiments, the method further includes performing a plurality of iterations by the server until (a) the precision parameters for the iteration are greater than a precision threshold and/or (b) the recall parameters for the iteration are greater than the recall threshold, and selecting by the server a combination of metric-dependent thresholds from this iteration as the target combination of metric-dependent thresholds.

[016] В некоторых вариантах осуществления способ дополнительно включает в себя получение сервером в режиме использования зависящего от объекта набора данных, содержащего указание на множество прошлых событий объекта, связанных с объектом. Способ включает в себя применение сервером в режиме использования множества вложенных метрик в отношении зависящего от объекта набора данных и формирование таким образом одного или нескольких прогнозов, указывающих на вероятность принадлежности объекта к первому классу или ко второму классу. Способ включает в себя сравнение сервером в режиме использования одного или нескольких прогнозов с соответствующими порогами из целевого сочетания зависящих от метрики порогов. Способ включает в себя определение сервером в режиме использования принадлежности объекта к первому классу, если по меньшей мере один прогноз превышает соответствующий порог из целевого сочетания зависящих от метрики порогов. Способ включает в себя определение сервером в режиме использования принадлежности объекта ко второму классу, если отсутствует прогноз, превышающий соответствующий порог из целевого сочетания зависящих от метрики порогов.[016] In some embodiments, the method further includes receiving by the server in use mode an object-specific data set containing an indication of a plurality of past object events associated with the object. The method includes applying, in use mode, a plurality of nested metrics to an object-specific set of data, and thereby generating one or more predictions indicating whether the object is likely to belong to the first class or the second class. The method includes a server in use mode comparing one or more predictions with appropriate thresholds from a target combination of metric-dependent thresholds. The method includes determining by the server in use mode whether the object belongs to the first class if at least one prediction exceeds a corresponding threshold from a target combination of metric-dependent thresholds. The method includes determining by the server in use mode whether the object belongs to the second class if there is no prediction that exceeds the corresponding threshold from the target combination of metric-dependent thresholds.

[017] В некоторых вариантах осуществления способа первая метрика из множества вложенных метрик основывается на событиях объекта первого вида, а вторая метрика из множества вложенных метрик основывается на событиях объекта второго вида. События объекта второго вида происходят, только если произошли события объекта первого вида.[017] In some embodiments of the method, the first metric of the plurality of nested metrics is based on the events of the first kind of object, and the second metric of the plurality of nested metrics is based on the events of the second kind of object. Events of an object of the second kind occur only if events of an object of the first kind have occurred.

[018] В некоторых вариантах осуществления способа события объекта второго вида представляют собой подмножество событий объекта первого вида.[018] In some embodiments of the method, the second kind object events are a subset of the first kind object events.

[019] В некоторых вариантах осуществления способа целевое сочетание зависящих от метрики порогов выбирается одновременно для множества вложенных метрик во время одной итерации.[019] In some embodiments of the method, the target combination of metric-dependent thresholds is selected simultaneously for multiple nested metrics during one iteration.

[020] В некоторых вариантах осуществления способа объект представляет собой сообщение электронной почты, при этом первый класс соответствует спаму, а второй класс соответствует отсутствию спама.[020] In some embodiments of the method, the object is an email message, with the first class corresponding to spam and the second class corresponding to no spam.

[021] В некоторых вариантах осуществления способа объект представляет собой пользователя платформы электронной торговли, при этом первый класс соответствует мошенничеству, а второй класс соответствует отсутствию мошенничества.[021] In some embodiments of the method, the object is an e-commerce platform user, with the first class corresponding to fraud and the second class corresponding to no fraud.

[022] В некоторых вариантах осуществления способа объект представляет собой документ, при этом первый класс соответствует релевантности, а второй класс соответствует нерелевантности.[022] In some embodiments of the method, the object is a document, with the first class corresponding to relevance and the second class corresponding to irrelevance.

[023] Согласно второму аспекту настоящей технологии реализован сервер для определения целевого сочетания зависящих от метрики порогов для использования со множеством вложенных метрик при выполнении бинарной классификации цифрового объекта на первый класс или второй класс. Объект связан с прошлыми событиями объекта, указание на которые хранится в хранилище данных. Хранилище данных доступно серверу. Сервер способен получать множество зависящих от объекта проверочных наборов данных. Набор из множества зависящих от объекта проверочных наборов данных содержит указание на множество прошлых событий объекта, связанных с соответствующим проверочным объектом, и контрольный класс проверочного объекта, представляющий собой первый класс или второй класс. Сервер способен применять множество вложенных метрик в отношении множества зависящих от объекта проверочных наборов данных и формировать таким образом множество прогнозов. Прогноз указывает на вероятность принадлежности проверочного объекта к первому классу или ко второму классу. Сервер во время первой итерации способен сравнивать множество прогнозов с соответствующими порогами из первого сочетания зависящих от метрики порогов для определения прогнозируемых классов проверочных объектов для первой итерации. Сервер во время первой итерации способен формировать первые параметры точности и первые параметры полноты для множества вложенных метрик для первой итерации путем сравнения контрольных классов с соответствующими прогнозируемыми классами проверочных объектов для первой итерации. Сервер во время второй итерации способен корректировать порог из первого сочетания зависящих от метрики порогов и формировать таким образом второе сочетание зависящих от метрики порогов. Сервер во время второй итерации способен сравнивать множество прогнозов с соответствующими порогами из второго сочетания зависящих от метрики порогов для определения прогнозируемых классов проверочных объектов для второй итерации. Сервер во время второй итерации способен формировать вторые параметры точности и вторые параметры полноты для множества вложенных метрик для второй итерации путем сравнения контрольных классов с соответствующими прогнозируемыми классами проверочных объектов для второй итерации. Сервер способен выбирать первое сочетание зависящих от метрики порогов или второе сочетание зависящих от метрики порогов в качестве целевого сочетания зависящих от метрики порогов путем сравнения (а) первых параметров точности и вторых параметров точности с порогом точности и/или (б) первых параметров полноты и вторых параметров полноты с порогом полноты. Целевое сочетание зависящих от метрики порогов подлежит использованию со множеством вложенных метрик в режиме использования для выполнения такой бинарной классификации цифрового объекта, что если прогноз этапа использования по меньшей мере одной метрики из множества вложенных метрик для цифрового объекта превышает соответствующий порог из целевого сочетания зависящих от метрики порогов, то определяется принадлежность цифрового объекта к первому классу.[023] According to a second aspect of the present technology, a server is implemented for determining a target combination of metric-dependent thresholds to use with a plurality of nested metrics when performing a binary classification of a digital object into a first class or a second class. The object is associated with past events of the object, an indication of which is stored in the data store. The data store is available to the server. The server is capable of receiving a plurality of entity-specific test sets. The set of the plurality of object-specific validation datasets contains an indication of a plurality of past object events associated with the corresponding validation object, and a validation object control class representing the first class or the second class. The server is able to apply multiple nested metrics to multiple object-specific test sets and thus generate multiple predictions. The prediction indicates the probability that the test object belongs to the first class or to the second class. The server during the first iteration is able to compare the plurality of predictions with the corresponding thresholds from the first combination of metric dependent thresholds to determine the predicted test object classes for the first iteration. The server during the first iteration is able to generate the first accuracy parameters and the first recall parameters for the set of nested metrics for the first iteration by comparing the control classes with the corresponding predicted test object classes for the first iteration. The server during the second iteration is able to adjust the threshold from the first combination of metric-dependent thresholds and thus generate a second combination of metric-dependent thresholds. The server during the second iteration is able to compare the plurality of predictions with the corresponding thresholds from the second combination of metric dependent thresholds to determine the predicted test object classes for the second iteration. The server during the second iteration is able to generate second precision parameters and second recall parameters for the plurality of nested metrics for the second iteration by comparing the control classes with the corresponding predicted test object classes for the second iteration. The server is able to select the first combination of metric dependent thresholds or the second combination of metric dependent thresholds as the target combination of metric dependent thresholds by comparing (a) the first precision parameters and the second precision parameters with the precision threshold and/or (b) the first recall parameters and the second fullness parameters with a fullness threshold. A target combination of metric-dependent thresholds is to be used with a set of nested metrics in a use mode to perform a binary classification of a digital object such that if the prediction of the use step of at least one metric from the set of nested metrics for the digital object exceeds the corresponding threshold from the target combination of metric-dependent thresholds , then the belonging of the digital object to the first class is determined.

[024] В некоторых вариантах осуществления сервер дополнительно способен выполнять множество итераций до тех пор, пока (а) параметры точности для итерации не окажутся больше порога точности и/или (б) параметры полноты для итерации не окажутся больше порога полноты, и выбирать сочетание зависящих от метрики порогов из этой итерации в качестве целевого сочетания зависящих от метрики порогов.[024] In some embodiments, the server is further capable of performing multiple iterations until (a) the precision parameters for the iteration are greater than the precision threshold and/or (b) the recall parameters for the iteration are greater than the recall threshold, and select a combination of dependent from the threshold metric from this iteration as the target combination of metric-dependent thresholds.

[025] В некоторых вариантах осуществления сервер дополнительно способен получать в режиме использования зависящий от объекта набор данных, содержащий указание на множество прошлых событий объекта, связанных с объектом. Сервер дополнительно способен применять в режиме использования множество вложенных метрик в отношении зависящего от объекта набора данных и формировать таким образом один или несколько прогнозов, указывающих на вероятность принадлежности объекта к первому классу или ко второму классу. Сервер дополнительно способен сравнивать в режиме использования один или несколько прогнозов с соответствующими порогами из целевого сочетания зависящих от метрики порогов. Сервер дополнительно способен определять в режиме использования принадлежность объекта к первому классу, если по меньшей мере один прогноз превышает соответствующий порог из целевого сочетания зависящих от метрики порогов. Сервер дополнительно способен определять в режиме использования принадлежность объекта ко второму классу, если отсутствует прогноз, превышающий соответствующий порог из целевого сочетания зависящих от метрики порогов.[025] In some embodiments, the server is further capable of receiving in use mode an object-specific data set containing an indication of a plurality of past object events associated with the object. The server is further capable of applying, in usage mode, a plurality of nested metrics to the object-specific dataset and thereby generating one or more predictions indicating the likelihood of the object being in the first class or the second class. The server is further operable to compare in use one or more predictions with corresponding thresholds from the target combination of metric dependent thresholds. The server is further capable of determining in use whether an object belongs to the first class if at least one prediction exceeds an appropriate threshold from the target combination of metric dependent thresholds. The server is further capable of determining in use whether an object belongs to the second class if there is no prediction that exceeds an appropriate threshold from the target combination of metric-dependent thresholds.

[026] В некоторых вариантах осуществления сервера первая метрика из множества вложенных метрик основывается на событиях объекта первого вида, а вторая метрика из множества вложенных метрик основывается на событиях объекта второго вида. События объекта второго вида происходят, только если произошли события объекта первого вида.[026] In some embodiments of the server, the first metric of the plurality of nested metrics is based on the events of the first kind of object, and the second metric of the plurality of nested metrics is based on the events of the second kind of object. Events of an object of the second kind occur only if events of an object of the first kind have occurred.

[027] В некоторых вариантах осуществления сервера события объекта второго вида представляют собой подмножество событий объекта первого вида.[027] In some embodiments of the server, the second kind object events are a subset of the first kind object events.

[028] В некоторых вариантах осуществления сервера целевое сочетание зависящих от метрики порогов выбирается одновременно для множества вложенных метрик во время одной итерации.[028] In some server embodiments, a target combination of metric-dependent thresholds is selected simultaneously for multiple nested metrics during a single iteration.

[029] В некоторых вариантах осуществления сервера объект представляет собой сообщение электронной почты, при этом первый класс соответствует спаму, а второй класс соответствует отсутствию спама.[029] In some server embodiments, the object is an email message, with the first class corresponding to spam and the second class corresponding to no spam.

[030] В некоторых вариантах осуществления сервера объект представляет собой пользователя платформы электронной торговли, при этом первый класс соответствует мошенничеству, а второй класс соответствует отсутствию мошенничества.[030] In some embodiments of the server, the object is an e-commerce platform user, with the first class corresponding to fraud and the second class corresponding to no fraud.

[031] В некоторых вариантах осуществления сервера объект представляет собой документ, при этом первый класс соответствует релевантности, а второй класс соответствует нерелевантности.[031] In some embodiments of the server, the object is a document, with the first class corresponding to relevance and the second class corresponding to irrelevance.

[032] В контексте настоящего описания, если явно не указано другое, под электронным устройством, сервером, удаленным сервером и компьютерной системой понимаются любые аппаратные и/или программные средства, подходящие для решения поставленной задачи. Таким образом, некоторые не имеющие ограничительного характера примеры аппаратных и/или программных средств включают в себя компьютеры (серверы, настольные, ноутбуки, нетбуки и т.п.), смартфоны, планшеты, сетевое оборудование (маршрутизаторы, коммутаторы, шлюзы и т.п.) и/или их сочетания.[032] In the context of the present description, unless expressly indicated otherwise, under the electronic device, server, remote server and computer system refers to any hardware and/or software suitable for solving the task. Thus, some non-limiting examples of hardware and/or software include computers (servers, desktops, laptops, netbooks, etc.), smartphones, tablets, network equipment (routers, switches, gateways, etc.). .) and/or combinations thereof.

[033] В контексте настоящего описания, если явно не указано другое, понятия «пригодная для чтения компьютером среда» и «память» включают в себя носители любого типа, в качестве не имеющих ограничительного характера примеров которых можно привести оперативное запоминающее устройство (ОЗУ), постоянное запоминающее устройство (ПЗУ), диски (CD-ROM, DVD, гибкие диски, жесткие диски и т.д.), USB-накопители, карты флэш-памяти, твердотельные накопители и накопители на магнитных лентах.[033] As used herein, unless expressly indicated otherwise, "computer-readable media" and "memory" include any type of media, non-limiting examples of which include random access memory (RAM), read only memory (ROM), disks (CD-ROMs, DVDs, floppy disks, hard drives, etc.), USB drives, flash memory cards, solid state drives and tape drives.

[034] В контексте настоящего описания, если явно не указано другое, в качестве указания на информационный элемент может выступать сам информационный элемент, а также указатель, ссылка, гиперссылка или другое косвенное средство, с помощью которого получатель данных может найти место в сети, памяти, базе данных или на другом машиночитаемом носителе информации, откуда можно извлечь этот информационный элемент. Например, указание на документ может включать в себя сам документ (т.е. его содержимое) или это указание может представлять собой уникальный дескриптор документа, указывающий на файл в определенной файловой системе, или какие-либо другие средства для указания получателю данных места в сети, адреса памяти, таблицы в базе данных или другого места, где можно получить доступ к файлу. Специалисту в данной области должно быть ясно, что степень точности, требуемая для такого указания, зависит от объема предварительных знаний относительно интерпретации информации, которой обмениваются отправитель и получатель данных. Например, если перед началом обмена данными между отправителем и получателем известно, что указание на информационный элемент представляет собой ключ базы данных для элемента в определенной таблице заранее заданной базы данных, содержащей этот информационный элемент, то для эффективной передачи этого информационного элемента получателю достаточно оправить ключ базы данных, даже если сам информационный элемент не передается между отправителем и получателем данных.[034] In the context of the present description, unless explicitly stated otherwise, the information element itself can be an indication of an information element, as well as a pointer, link, hyperlink, or other indirect means by which the recipient of data can find a place in the network, memory , database, or other machine-readable storage medium from which the information element can be retrieved. For example, a reference to a document may include the document itself (i.e., its contents), or the reference may be a unique document descriptor pointing to a file on a specific file system, or some other means to indicate a location on a network to the recipient of the data. , a memory address, a table in a database, or another location where the file can be accessed. One skilled in the art would appreciate that the degree of precision required for such an indication depends on the amount of prior knowledge regarding the interpretation of the information exchanged between the sender and recipient of the data. For example, if it is known before the communication between the sender and the recipient that the reference to the information element is the database key for the element in a certain table of the predefined database containing this information element, then in order to efficiently transmit this information element to the recipient, it is enough to send the database key data, even if the information element itself is not transmitted between the sender and receiver of the data.

[035] В контексте настоящего описания, если явно не указано другое, числительные «первый», «второй», «третий» и т.д. используются лишь для указания различия между существительными, к которым они относятся, но не для описания каких-либо определенных взаимосвязей между этими существительными. Например, должно быть понятно, что использование терминов «первый сервер» и «третий сервер» не подразумевает какого-либо определенного порядка, типа, хронологии, иерархии или классификации, в данном случае, серверов, а также что их использование (само по себе) не подразумевает наличие «второго сервера» в любой ситуации. Кроме того, как встречается в настоящем описании в другом контексте, ссылка на «первый» элемент и «второй» элемент не исключает того, что эти два элемента в действительности могут быть одним и тем же элементом. Таким образом, например, в некоторых случаях «первый» сервер и «второй» сервер могут представлять собой одно и то же программное и/или аппаратное средство, а в других случаях - различные программные и/или аппаратные средства.[035] In the context of the present description, unless explicitly stated otherwise, the numerals "first", "second", "third", etc. are used only to indicate the difference between the nouns they refer to, but not to describe any specific relationship between these nouns. For example, it should be clear that the use of the terms "first server" and "third server" does not imply any particular order, type, chronology, hierarchy, or classification of, in this case, servers, and that their use (by itself) does not imply a "second server" in every situation. In addition, as occurs herein in another context, reference to a "first" element and a "second" element does not exclude that the two elements may in fact be the same element. Thus, for example, in some cases the "first" server and the "second" server may be the same software and/or hardware, and in other cases they may be different software and/or hardware.

[036] Каждый вариант осуществления настоящей технологии относится к по меньшей мере одной из вышеупомянутых целей и/или аспектов, но не обязательно ко всем ним. Должно быть понятно, что некоторые аспекты настоящей технологии, связанные с попыткой достижения вышеупомянутой цели, могут не соответствовать этой цели и/или могут соответствовать другим целям, явным образом здесь не упомянутым. Дополнительные и/или альтернативные признаки, аспекты и преимущества вариантов осуществления настоящей технологии содержатся в дальнейшем описании, в приложенных чертежах и в формуле изобретения.[036] Each embodiment of the present technology relates to at least one of the above goals and/or aspects, but not necessarily all of them. It should be understood that some aspects of the present technology, associated with an attempt to achieve the above goal, may not meet this goal and/or may meet other goals not explicitly mentioned here. Additional and/or alternative features, aspects and advantages of embodiments of the present technology are contained in the following description, in the accompanying drawings and in the claims.

Краткое описание чертежейBrief description of the drawings

[037] Дальнейшее описание приведено для лучшего понимания настоящей технологии, а также других аспектов и их признаков, и должно использоваться совместно с приложенными чертежами.[037] The following description is provided for a better understanding of the present technology, as well as other aspects and their features, and should be used in conjunction with the attached drawings.

[038] На фиг. 1 представлена схема системы согласно по меньшей мере некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии.[038] In FIG. 1 is a diagram of a system in accordance with at least some non-limiting embodiments of the present technology.

[039] На фиг. 2 представлена структура данных, хранящихся в базе данных системы, представленной на фиг. 1, согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии.[039] In FIG. 2 shows the structure of the data stored in the database of the system shown in FIG. 1 according to non-limiting embodiments of the present technology.

[040] На фиг. 3 дано представление зависящего от объекта набора данных, получаемого сервером системы, представленной на фиг. 1, согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии.[040] In FIG. 3 is a representation of the object-specific data set received by the server of the system shown in FIG. 1 according to non-limiting embodiments of the present technology.

[041] На фиг. 4 дано представление этапа использования механизма классификации, размещенной на сервере системы, представленной на фиг. 1, согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии.[041] In FIG. 4 is a representation of the stage of using the classification mechanism hosted on the server of the system shown in FIG. 1 according to non-limiting embodiments of the present technology.

[042] На фиг. 5 представлена схема обучения первой вложенной метрики и второй вложенной метрики сервером системы, представленной на фиг. 1, согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии.[042] In FIG. 5 shows the scheme of learning the first nested metric and the second nested metric by the server of the system shown in FIG. 1 according to non-limiting embodiments of the present technology.

[043] На фиг. 6 дано представление итеративного процесса проверки, выполняемого сервером системы, представленной на фиг. 1, для выбора целевого сочетания зависящих от метрики порогов согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии.[043] In FIG. 6 is a representation of an iterative verification process performed by the server of the system shown in FIG. 1 to select a target combination of metric dependent thresholds according to non-limiting embodiments of the present technology.

[044] На фиг. 7 представлена блок-схема способа определения целевого сочетания зависящих от метрики порогов, выполняемого сервером системы, представленной на фиг. 1, согласно вариантам осуществления настоящей технологии.[044] In FIG. 7 is a flow diagram of a method for determining a target combination of metric-dependent thresholds performed by a server of the system shown in FIG. 1 according to embodiments of the present technology.

Осуществление изобретенияImplementation of the invention

[045] Представленные здесь примеры и условный язык предназначены для обеспечения лучшего понимания принципов настоящей технологии, а не для ограничения ее объема до таких специально приведенных примеров и условий. Очевидно, что специалисты в данной области техники способны разработать различные способы и устройства, которые явно не описаны и не показаны, но реализуют принципы настоящей технологии в пределах ее существа и объема.[045] The examples and conventions presented herein are intended to provide a better understanding of the principles of the present technology, and not to limit its scope to such specifically given examples and terms. It is obvious that specialists in the art are able to develop various methods and devices that are not explicitly described or shown, but implement the principles of the present technology within its essence and scope.

[046] Кроме того, чтобы способствовать лучшему пониманию, последующее описание может содержать упрощенные варианты реализации настоящей технологии. Специалисту в данной области должно быть понятно, что другие варианты осуществления данной технологии могут быть значительно сложнее.[046] In addition, to facilitate a better understanding, the following description may contain simplified implementations of the present technology. A person skilled in the art should be clear that other embodiments of this technology can be significantly more complex.

[047] В некоторых случаях приводятся полезные примеры модификаций настоящей технологии. Они способствуют пониманию, но также не определяют объема или границ настоящей технологии. Представленный перечень модификаций не является исчерпывающим и специалист в данной области может разработать другие модификации в пределах объема настоящей технологии. Кроме того, если в некоторых случаях модификации не описаны, это не означает, что они невозможны и/или что описание содержит единственно возможный вариант реализации того или иного элемента настоящей технологии.[047] In some cases, useful examples of modifications to the present technology are provided. They contribute to understanding, but also do not define the scope or boundaries of the present technology. The presented list of modifications is not exhaustive and the person skilled in the art can develop other modifications within the scope of this technology. In addition, if modifications are not described in some cases, this does not mean that they are impossible and / or that the description contains the only possible implementation of one or another element of the present technology.

[048] Описание принципов, аспектов и вариантов реализации настоящей технологии, а также их конкретные примеры предназначены для охвата их структурных и функциональных эквивалентов, независимо от того, известны они в настоящее время или будут разработаны в будущем. Например, специалистам в данной области техники должно быть понятно, что любые описанные здесь структурные схемы соответствуют концептуальным представлениям иллюстративных принципиальных схем, реализующих основы настоящей технологии. Также должно быть очевидно, что любые блок-схемы, схемы процессов, диаграммы изменения состояния, псевдокоды и т.п. соответствуют различным процессам, которые могут быть представлены на машиночитаемом физическом носителе информации и могут выполняться компьютером или процессором, независимо от того, показан такой компьютер или процессор явно или нет.[048] The description of principles, aspects, and embodiments of the present technology, as well as their specific examples, are intended to cover their structural and functional equivalents, whether they are currently known or will be developed in the future. For example, those skilled in the art will appreciate that any block diagrams described herein correspond to conceptual representations of illustrative circuit diagrams embodying the fundamentals of the present technology. It should also be obvious that any flowcharts, process diagrams, state transition diagrams, pseudocodes, etc. correspond to various processes that may be represented on a computer-readable physical storage medium and may be executed by a computer or processor, whether such computer or processor is explicitly shown or not.

[049] Функции различных элементов, показанных на чертежах, включая любой функциональный блок, обозначенный как «процессор» или «графический процессор», могут быть реализованы с использованием специализированных аппаратных средств, а также с использованием аппаратных средств, способных выполнять соответствующее программное обеспечение. Если используется процессор, эти функции могут выполняться одним выделенным процессором, одним совместно используемым процессором или множеством отдельных процессоров, некоторые из которых могут использоваться совместно. В некоторых вариантах осуществления настоящей технологии процессор может представлять собой процессор общего назначения, такой как центральный процессор (CPU), или специализированный процессор, такой как графический процессор (GPU). Кроме того, явное использование термина «процессор» или «контроллер» не должно трактоваться как указание исключительно на аппаратные средства, способные выполнять программное обеспечение, и может подразумевать, помимо прочего, аппаратные средства цифрового сигнального процессора (DSP), сетевой процессор, специализированную интегральную схему (ASIC), программируемую вентильную матрицу (FPGA), ПЗУ для хранения программного обеспечения, ОЗУ и энергонезависимое запоминающее устройство. Также могут подразумеваться другие аппаратные средства, общего назначения и/или заказные.[049] The functions of the various elements shown in the drawings, including any functional unit labeled "processor" or "graphics processing unit", may be implemented using specialized hardware, as well as using hardware capable of executing the corresponding software. If a processor is used, these functions may be performed by a single dedicated processor, a single shared processor, or multiple individual processors, some of which may be shared. In some embodiments of the present technology, the processor may be a general purpose processor such as a central processing unit (CPU) or a specialized processor such as a graphics processing unit (GPU). In addition, explicit use of the term "processor" or "controller" should not be construed as referring solely to the hardware capable of executing the software and may refer to, but is not limited to, digital signal processor (DSP) hardware, network processor, ASIC (ASIC), Field Programmable Gate Array (FPGA), Software ROM, RAM, and Non-Volatile Memory. Other general purpose and/or custom hardware may also be contemplated.

[050] Программные модули или просто модули, реализация которых предполагается в виде программных средств, могут быть представлены здесь как любое сочетание элементов блок-схемы или других элементов, указывающих на выполнение шагов процесса и/или содержащих текстовое описание. Такие модули могут выполняться аппаратными средствами, показанными явно или подразумеваемыми.[050] Software modules, or simply modules that are intended to be implemented in software, may be represented here as any combination of flowchart elements or other elements indicating the steps of a process and/or containing a textual description. Such modules may be implemented in hardware, as shown or implied.

[051] Далее с учетом вышеизложенных принципов рассмотрены некоторые не имеющие ограничительного характера примеры, иллюстрирующие различные варианты реализации аспектов настоящей технологии.[051] In the following, in light of the foregoing principles, some non-limiting examples are provided illustrating various embodiments of aspects of the present technology.

[052] На фиг. 1 представлена схема системы 100 (не показано на чертежах), пригодной для реализации вариантов осуществления настоящей технологии, не имеющих ограничительного характера. Очевидно, что система 100 приведена лишь для демонстрации варианта реализации настоящей технологии. Таким образом, дальнейшее описание системы представляет собой описание примеров, иллюстрирующих настоящую технологию.[052] In FIG. 1 is a diagram of a system 100 (not shown in the drawings) suitable for non-limiting embodiments of the present technology. Obviously, the system 100 is shown only to demonstrate an implementation of the present technology. Thus, the following description of the system is a description of examples illustrating the present technology.

[053] В представленном примере система 100 может применяться для предоставления пользователю интерактивных сервисов. С этой целью система 100 содержит, среди прочего, электронное устройство 102, связанное с пользователем 101, сервер 106, множество серверов 108 ресурсов и систему 150 базы данных.[053] In the illustrated example, system 100 may be used to provide interactive services to a user. To this end, the system 100 includes, among other things, an electronic device 102 associated with the user 101, a server 106, a plurality of resource servers 108, and a database system 150.

[054] В не имеющем ограничительного характера примере система 100 может использоваться для предоставления сервисов поисковой системы. В этом примере пользователь 101 может с помощью электронного устройства 102 отправлять запрос серверу 106, который в ответ способен предоставлять результаты поиска пользователю 101. Сервер 106 формирует эти результаты поиска на основе информации, полученной, например, от множества серверов 108 ресурсов и сохраненной в системе 150 базы данных. Результаты поиска, предоставленные системой 100, могут быть релевантными отправленному запросу. Можно сказать, что сервер 106 может содержать поисковую систему 120.[054] In a non-limiting example, system 100 may be used to provide search engine services. In this example, the user 101 may use the electronic device 102 to send a request to the server 106, which in response is able to provide search results to the user 101. The server 106 generates these search results based on information received, for example, from a plurality of resource servers 108 and stored in the system 150 Database. The search results provided by the system 100 may be relevant to the request submitted. We can say that the server 106 may contain a search engine 120.

[055] Как описано ниже, в дополнение к предоставлению сервисов поисковой системы (или вместо этого), пользователю 101 могут предоставляться другие интерактивные сервисы, такие как сервисы рекомендации контента, сервисы электронной почты, сервисы электронной торговли и т.п. Например, сервер 106 может содержать один или несколько сервисов из множества 160 интерактивных сервисов, включая поисковую систему 120, платформу 130 для электронной торговли и платформу 140 электронной почты.[055] As described below, in addition to (or instead of) providing search engine services, other interactive services, such as content recommendation services, email services, e-commerce services, and the like, may be provided to the user 101. For example, server 106 may contain one or more of a plurality of interactive services 160, including a search engine 120, an e-commerce platform 130, and an email platform 140.

[056] В контексте настоящей технологии система 100, предоставляющая один или несколько интерактивных сервисов, способна выполнять бинарную классификацию цифровых объектов, связанных с одним или несколькими интерактивными сервисами. Ниже более подробно описаны характер цифровых объектов и цель их классификации для различных интерактивных сервисов.[056] In the context of the present technology, a system 100 providing one or more interactive services is capable of performing binary classification of digital objects associated with one or more interactive services. The nature of digital objects and the purpose of their classification for various interactive services are described in more detail below.

Электронное устройствоElectronic device

[057] Как упомянуто выше, система 100 содержит электронное устройство 102, связанное с пользователем 101. Электронное устройство 102 или просто устройство 102 иногда может называться клиентским устройством, оконечным устройством или клиентским электронным устройством. Следует отметить, что связь электронного устройства 102 с пользователем 101 не означает необходимости предлагать или подразумевать какой-либо режим работы, например, вход в систему, регистрацию и т.п.[057] As mentioned above, system 100 includes an electronic device 102 associated with a user 101. Electronic device 102 or simply device 102 may sometimes be referred to as a client device, terminal device, or client electronic device. It should be noted that the association of the electronic device 102 with the user 101 is not meant to suggest or imply any mode of operation, such as logging in, registering, or the like.

[058] В контексте настоящего описания, если явно не указано другое, термин «электронное устройство» или «устройство» означает любое компьютерное аппаратное средство, способное выполнять программы, подходящие для решения поставленной задачи. Таким образом, некоторые не имеющие ограничительного характера примеры устройства 102 включают в себя персональные компьютеры (настольные, ноутбуки, нетбуки и т.д.), смартфоны, планшеты и т.п. Устройство 102 содержит известные в данной области техники аппаратные средства и/или прикладное программное обеспечение и/или встроенное программное обеспечение (либо их сочетание) для выполнения браузерного приложения (не показано).[058] In the context of the present description, unless expressly indicated otherwise, the term "electronic device" or "device" means any computer hardware capable of executing programs suitable for solving the task. Thus, some non-limiting examples of device 102 include personal computers (desktops, laptops, netbooks, etc.), smartphones, tablets, and the like. Device 102 includes hardware and/or application software and/or firmware (or a combination thereof) known in the art for running a browser-based application (not shown).

[059] В общем случае браузерное приложение обеспечивает пользователю 101 доступ к одному или нескольким веб-ресурсам. На реализацию браузерного приложения не накладывается каких-либо особых ограничений. Например, браузерное приложение, выполняемое устройством 102, может быть реализовано в виде браузера Yandex™. Например, пользователь 101 может использовать браузерное приложение для (а) перехода на веб-сайт поисковой системы и (б) отправки запроса, в ответ на который ему должны быть предоставлены релевантные результаты поиска. В другом примере пользователь 101 может использовать браузерное приложение для (а) перехода на веб-сайт для электронной торговли и (б) покупки и/или продажи изделия или услуги. В еще одном примере пользователь 101 может использовать браузерное приложение для (а) перехода на веб-сайт электронной почты и (б) доступа к своей учетной записи абонента электронной почты для рассмотрения сообщений электронной почты, связанных с его учетной записью.[059] In general, a browser application provides the user 101 with access to one or more web resources. There are no special restrictions on the implementation of a browser application. For example, a browser application executed by device 102 may be implemented as a Yandex™ browser. For example, the user 101 may use a browser application to (a) navigate to a search engine website and (b) submit a request to be provided with relevant search results. In another example, the user 101 may use a browser application to (a) navigate to an e-commerce website and (b) buy and/or sell an item or service. In yet another example, the user 101 may use a browser application to (a) navigate to an email website and (b) access their email subscriber account to view email messages associated with their account.

[060] Устройство 102 способно формировать запрос 180 для связи с сервером 106. Запрос 180 может представлять собой один или несколько пакетов данных, содержащих информацию, например, указывающую на запрос, отправленный пользователем 101. Устройство 102 также способно получать ответ 190 от сервера 106. Ответ 190 может представлять собой один или несколько пакетов данных, содержащих информацию, например, указывающую на результаты поиска, релевантные отправленному запросу, и машиночитаемые команды для отображения браузерным приложением этих результатов поиска пользователю 101.[060] The device 102 is capable of generating a request 180 to communicate with the server 106. The request 180 may be one or more data packets containing information, for example, indicative of a request sent by the user 101. The device 102 is also capable of receiving a response 190 from the server 106. The response 190 may be one or more data packets containing information, for example, indicative of search results relevant to the request submitted, and machine-readable instructions for the browser application to display those search results to user 101.

Сеть связиCommunication network

[061] Система 100 содержит сеть 110 связи. В не имеющем ограничительного характера примере в качестве сети 110 связи может использоваться сеть Интернет. В других не имеющих ограничительного характера примерах сеть 110 связи может быть реализована иначе, например, в виде любой глобальной сети связи, локальной сети связи, частной сети связи и т.п. На практике реализация сети 110 связи, на которую не накладывается каких-либо ограничений, может, среди прочего, зависеть от реализации других элементов системы 100.[061] System 100 includes communication network 110. In a non-limiting example, the communication network 110 may be the Internet. In other non-limiting examples, communications network 110 may be implemented in other ways, such as any wide area network, local area network, private network, and the like. In practice, the implementation of the communication network 110, which is not subject to any restrictions, may, among other things, depend on the implementation of other elements of the system 100.

[062] Сеть 110 связи предназначена для обеспечения связи между по меньшей мере некоторыми элементами системы 100, такими как устройство 102, множество серверов 108 ресурсов и сервер 106. Например, это означает, что множество серверов 108 ресурсов доступно через сеть 110 связи устройству 102. В другом примере это означает, что множество серверов 108 ресурсов доступно через сеть 110 связи серверу 106. В еще одном примере это означает, что сервер 106 доступен через сеть 110 связи устройству 102.[062] The communication network 110 is designed to provide communication between at least some elements of the system 100, such as the device 102, a plurality of resource servers 108, and a server 106. For example, this means that a plurality of resource servers 108 is available through the communication network 110 to the device 102. In another example, this means that a plurality of resource servers 108 are available via communication network 110 to server 106. In yet another example, this means that server 106 is accessible via communication network 110 to device 102.

[063] Сеть 110 связи может быть использована для передачи пакетов данных между устройством 102, множеством серверов 108 ресурсов и сервером 106. Например, сеть 110 связи может быть использована для отправки запроса 180 от устройства 102 к серверу 106. В другом примере сеть 110 связи может быть использована для отправки ответа 190 от сервера 106 к устройству 102.[063] Communication network 110 may be used to transfer data packets between device 102, a plurality of resource servers 108, and server 106. For example, communication network 110 may be used to send request 180 from device 102 to server 106. In another example, communication network 110 may be used to send a response 190 from the server 106 to the device 102.

Множество серверов ресурсовMany resource servers

[064] Как описано выше, множество серверов 108 ресурсов может быть доступно через сеть 110 связи. Множество серверов 108 ресурсов может быть реализовано в виде традиционных компьютерных серверов. В не имеющем ограничительного характера примере осуществления настоящей технологии сервер из множества серверов 108 ресурсов может быть реализован в виде сервера Dell™ PowerEdge™, работающего под управлением операционной системы Microsoft™ Windows Server™. Сервер из множества серверов 108 ресурсов также может быть реализован с использованием любых других подходящих аппаратных средств и/или прикладного программного обеспечения и/или встроенного программного обеспечения либо их сочетания.[064] As described above, a plurality of resource servers 108 can be accessed via communication network 110. A plurality of resource servers 108 may be implemented as conventional computer servers. In a non-limiting embodiment of the present technology, a server of multiple resource servers 108 may be implemented as a Dell™ PowerEdge™ server running a Microsoft™ Windows Server™ operating system. The server of the plurality of resource servers 108 may also be implemented using any other suitable hardware and/or application software and/or firmware, or a combination thereof.

[065] Множество серверов 108 ресурсов содержит ресурсы (или веб-ресурсы), доступные устройству 102 и/или серверу 106. На вид ресурсов, содержащихся во множестве серверов 108 ресурсов, не накладывается каких-либо ограничений. В некоторых вариантах осуществления настоящей технологии ресурсы могут содержать цифровые документы или просто документы, представляющие собой веб-страницы.[065] The plurality of resource servers 108 contains resources (or web resources) available to the device 102 and/or server 106. There are no restrictions on the kind of resources contained in the plurality of resource servers 108. In some embodiments of the present technology, the resources may contain digital documents or simply documents that are web pages.

[066] Например, множество серверов 108 ресурсов может содержать веб-страницы, т.е. множество серверов 108 ресурсов может хранить документы, которые представляют собой веб-страницы и доступны устройству 102 и/или серверу 106. Документ может быть составлен на языке разметки и может, среди прочего, содержать (а) контент соответствующей веб-страницы и (б) машиночитаемые команды для отображения соответствующей веб-страницы (содержащегося на ней контента).[066] For example, a plurality of resource servers 108 may contain web pages, ie. a plurality of resource servers 108 may store documents that are web pages and are accessible by device 102 and/or server 106. A document may be written in a markup language and may, among other things, contain (a) the content of the corresponding web page, and (b) machine-readable instructions for displaying the corresponding web page (the content it contains).

[067] Устройство 102 может обратиться к серверу из множества серверов 108 ресурсов для получения документа, хранящегося на этом сервере. Например, пользователь 101 может ввести веб-адрес, связанный с веб-страницей, в браузерном приложении устройства 102. В ответ устройство 102 может обратиться к серверу ресурсов, содержащему эту веб-страницу, для получения документа, представляющего эту веб-страницу, с целью отображения контента этой веб-страницы с использованием браузерного приложения.[067] The device 102 may contact a server of the plurality of resource servers 108 to obtain a document stored on that server. For example, user 101 may enter a web address associated with a web page into a browser application of device 102. In response, device 102 may contact a resource server containing the web page to obtain a document representing the web page to displaying the content of this web page using a browser application.

[068] Сервер 106 может обратиться к серверу из множества серверов 108 ресурсов для получения документа, хранящегося на этом сервере ресурсов. Назначение сервера 106, осуществляющего доступ ко множеству серверов 108 ресурсов и получение от них документов, более подробно описано ниже.[068] Server 106 may contact a server of a plurality of resource servers 108 to obtain a document stored on that resource server. The purpose of a server 106 accessing and receiving documents from a plurality of resource servers 108 is described in more detail below.

Система базы данныхDatabase system

[069] Сервер 106 связан с системой 150 базы данных. В общем случае система 150 базы данных способна получать данные от сервера 106, хранить эти данные и/или предоставлять их серверу 106 для последующего использования.[069] The server 106 is connected to the database system 150. In general, database system 150 is capable of receiving data from server 106, storing that data, and/or providing it to server 106 for later use.

[070] В некоторых вариантах осуществления изобретения система 150 базы данных может хранить информацию, связанную с одним или несколькими интерактивными сервисами, размещенными на сервере 106. Например, если на сервере 106 размещена поисковая система 120, то система 150 базы данных может хранить информацию о ранее выполненных поисковой системой 120 поисках, а также информацию о ранее отправленных серверу 106 запросах и о документах, предоставленных поисковой системой сервера 106 в качестве результатов поиска.[070] In some embodiments, database system 150 may store information associated with one or more interactive services hosted on server 106. For example, if server 106 hosts a search engine 120, then database system 150 may store information about previously searches performed by the search engine 120, as well as information about queries previously sent to the server 106 and about documents provided by the search engine of the server 106 as search results.

[071] В этом примере предполагается, что система 150 базы данных может хранить данные запроса, связанные с соответствующими запросами, отправленными поисковой системе 120. Данные запроса, связанные с запросом, могут быть различных видов и на них не накладывается каких-либо ограничений. Например, система 150 базы данных может хранить для соответствующих запросов такие данные запроса (не ограничиваясь ими):[071] In this example, it is assumed that the database system 150 can store query data associated with the corresponding queries sent to the search engine 120. The query data associated with a query can be of various kinds and is not subject to any restrictions. For example, database system 150 may store, for appropriate queries, query data such as (but not limited to):

- популярность запроса;- query popularity;

- частота отправки запроса;- frequency of sending a request;

- количество «кликов», связанных с запросом;- the number of "clicks" associated with the request;

- указания на другие отправленные запросы, связанные с запросом;- indications of other sent requests related to the request;

- указания на документы, связанные с запросом;- indications of documents related to the request;

- другие статистические данные, связанные с запросом;- other statistics related to the request;

- поисковые термины, связанные с запросом;- search terms associated with the query;

- количество символов в запросе;- the number of characters in the request;

- другие присущие запросу характеристики.- other characteristics inherent in the request.

[072] В этом примере система 150 базы данных также может хранить данные документа, связанные с соответствующими документами. Данные документа, связанные с документом, могут быть различных видов и на них не накладывается каких-либо ограничений. Например, система 150 базы данных может хранить для соответствующих документов такие данные документа (не ограничиваясь ими):[072] In this example, the database system 150 may also store document data associated with respective documents. The document data associated with a document can be of various types and is not subject to any restrictions. For example, database system 150 may store, for relevant documents, document data such as (but not limited to):

- популярность документа;- the popularity of the document;

- коэффициент «кликов» для документа;- coefficient of "clicks" for the document;

- время на «клик», связанное с документом;- time per "click" associated with the document;

- указания на запросы, связанные с документом;- indications of requests related to the document;

- другие статистические данные, связанные с документом;- other statistical data related to the document;

- текст, связанный с документом;- text associated with the document;

- размер файла документа;- document file size;

- другие присущие документу характеристики.- other characteristics inherent in the document.

[073] В этом примере система 150 базы данных также может хранить данные пользователя, связанные с соответствующими пользователями. Данные пользователя, связанные с пользователем, могут быть различных видов и на них не накладывается каких-либо ограничений. Например, система 150 базы данных может хранить для соответствующих пользователей такие данные пользователя (не ограничиваясь ими):[073] In this example, the database system 150 may also store user data associated with respective users. The user data associated with the user can be of various types and is not subject to any restrictions. For example, the database system 150 may store, for respective users, the following user data (but not limited to):

- данные веб-сеанса;- web session data;

- данные отправленного запроса;- data of the sent request;

- история «кликов»;- history of "clicks";

- данные взаимодействий;- interaction data;

- предпочтения пользователя.- user preferences.

[074] В по меньшей мере некоторых вариантах осуществления настоящей технологии предполагается, что система 150 базы данных может хранить данные, связанные с элементом или объектом интерактивного сервиса. Можно сказать, что система 150 базы данных может хранить зависящие от объекта данные. Предполагается, что сервер 106 может хранить данные о различных объектах интерактивного сервиса для каждого объекта отдельно без выхода за границы настоящей технологии.[074] In at least some embodiments of the present technology, it is contemplated that the database system 150 may store data associated with an interactive service item or object. It can be said that the database system 150 can store object-specific data. It is contemplated that the server 106 may store data about the various interactive service objects for each object separately without departing from the present technology.

[075] Например, если на сервере 106 размещена поисковая система 120, то система 150 базы данных может хранить данные, связанные с ее пользователями (первый вид цифровых объектов или элементов, связанных с сервисами поисковой системы). Таким образом, в этом примере система 150 базы данных может хранить зависящие от пользователя данные для каждого пользователя отдельно. В другом примере, если на сервере 106 размещена поисковая система 120, то система 150 базы данных может хранить данные, связанные с цифровыми документами, которые использовались в качестве результатов поиска (второй вид цифровых объектов или элементов, связанных с сервисами поисковой системы). Таким образом, в этом примере система 150 базы данных может хранить зависящие от документа данные для каждого документа отдельно.[075] For example, if the server 106 hosts the search engine 120, then the database system 150 may store data associated with its users (the first kind of digital objects or elements associated with search engine services). Thus, in this example, the database system 150 may store user-specific data for each user separately. In another example, if server 106 hosts search engine 120, then database system 150 may store data associated with digital documents that were used as search results (the second kind of digital objects or elements associated with search engine services). Thus, in this example, the database system 150 may store document-specific data for each document separately.

[076] В еще одном примере, если на сервере 106 размещена платформа 140 электронной почты, то система 150 базы данных может хранить данные, связанные с ее пользователями (первый вид цифровых объектов или элементов, связанных с сервисом электронной почты). Таким образом, в этом примере система 150 базы данных может хранить зависящие от пользователя данные для каждого пользователя отдельно. В другом примере, если на сервере 106 размещена платформа 140 электронной почты, то система 150 базы данных может хранить данные, связанные с сообщениями электронной почты (второй вид цифровых объектов или элементов, связанных с сервисом электронной почты). Таким образом, в этом примере система 150 базы данных может хранить зависящие от сообщения электронной почты данные для каждого сообщения электронной почты отдельно.[076] In yet another example, if the server 106 hosts the email platform 140, then the database system 150 can store data associated with its users (a first kind of digital objects or items associated with an email service). Thus, in this example, the database system 150 may store user-specific data for each user separately. In another example, if server 106 hosts email platform 140, then database system 150 may store data associated with email messages (the second kind of digital objects or items associated with an email service). Thus, in this example, the database system 150 may store email-specific data for each email message separately.

[077] Следовательно, можно сказать, что система 150 базы данных может хранить различные зависящие от объекта данные в зависимости, среди прочего, от вида интерактивного сервиса (или сервисов), размещенного на сервере 106, и от видов объектов, связанных с этим интерактивным сервисом (или сервисами).[077] Therefore, it can be said that the database system 150 can store various object-specific data depending, among other things, on the type of interactive service (or services) hosted on the server 106, and on the types of objects associated with this interactive service. (or services).

[078] Как описано ниже, сервер 106 способен выполнять множество компьютерных алгоритмов, называемых механизмом 170 классификации, который в целом способен выполнять бинарную классификацию цифровых объектов из одного или нескольких интерактивных сервисов, предоставляемых сервером 106.[078] As described below, server 106 is capable of executing a variety of computer algorithms, referred to as classification engine 170, that is generally capable of performing binary classification of digital objects from one or more interactive services provided by server 106.

[079] В по меньшей мере некоторых вариантах осуществления настоящей технологии система 150 базы данных может хранить размеченные зависящие от объекта данные для проверки эффективности одного или нескольких описанных здесь алгоритмов классификации. Например, размеченные зависящие от объекта данные для проверочного объекта могут содержать данные разметки, указывающие на контрольный класс проверочного объекта. На сбор и/или формирование данных разметки и их последующее хранение в системе 150 базы данных не накладывается каких-либо особых ограничений. В некоторых случаях данные разметки могут быть собраны от оценщиков-людей, которым была поставлена задача «разметки» проверочных объектов.[079] In at least some embodiments of the present technology, the database system 150 may store labeled object-specific data to test the performance of one or more of the classification algorithms described herein. For example, the markup object-specific data for a validation object may contain markup data pointing to the validation object's control class. There are no particular restrictions on the collection and/or generation of markup data and their subsequent storage in the database system 150 . In some cases, markup data may be collected from human evaluators who have been given the task of "marking" test items.

[080] Ниже со ссылкой на фиг. 2 более подробно описана информация, которая может быть включена в состав зависящих от объекта данных и размеченных зависящих от объекта данных, хранящихся в системе 150 базы данных.[080] Referring to FIG. 2 describes in more detail the information that may be included in the object-specific data and the marked-up object-specific data stored in the database system 150.

СерверServer

[081] Система 100 содержит сервер 106, который может быть реализован в виде традиционного компьютерного сервера. В примере осуществления настоящей технологии сервер 106 может быть реализован в виде сервера Dell™ PowerEdge™, работающего под управлением операционной системы Microsoft™ Windows Server™. Очевидно, что сервер 106 может быть реализован с использованием любых других подходящих аппаратных средств и/или прикладного программного обеспечения и/или встроенного программного обеспечения либо их сочетания. В представленном не имеющем ограничительного характера варианте осуществления настоящей технологии сервер 106 представляет собой один сервер. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии функции сервера 106 могут быть распределены между несколькими серверами.[081] System 100 includes a server 106, which may be implemented as a conventional computer server. In an exemplary embodiment of the present technology, server 106 may be implemented as a Dell™ PowerEdge™ server running a Microsoft™ Windows Server™ operating system. Obviously, the server 106 may be implemented using any other suitable hardware and/or application software and/or firmware, or a combination thereof. In the present non-limiting embodiment of the present technology, the server 106 is a single server. In other non-limiting embodiments of the present technology, the functions of the server 106 may be distributed among multiple servers.

[082] Как показано на фиг. 1, сервер 106 может содержать множество 160 интерактивных сервисов. Например, сервер 106 может содержать поисковую систему 120 для предоставления сервисов поисковой системы, платформу 130 для электронной торговли для предоставления сервисов электронной торговли и платформу 140 электронной почты для предоставления сервисов электронной почты. Ниже описана возможная реализация поисковой системы 120, платформы 130 для электронной торговли и платформы 140 электронной почты в по меньшей мере некоторых вариантах осуществления настоящей технологии.[082] As shown in FIG. 1, server 106 may contain a plurality of 160 interactive services. For example, server 106 may include a search engine 120 for providing search engine services, an e-commerce platform 130 for providing e-commerce services, and an email platform 140 for providing e-mail services. Described below is a possible implementation of a search engine 120, an e-commerce platform 130, and an email platform 140 in at least some embodiments of the present technology.

[083] В некоторых вариантах осуществления изобретения сервер 106 может управляться и/или администрироваться поставщиком услуг поисковой системы (не показан), таким как оператор поисковой системы Yandex™. Сервер 106 может содержать поисковую систему 120 для выполнения одного или нескольких поисков в ответ на запросы, отправленные пользователями поисковой системы 120.[083] In some embodiments, the server 106 may be managed and/or administered by a search engine service provider (not shown), such as the Yandex™ search engine operator. The server 106 may include a search engine 120 to perform one or more searches in response to queries submitted by users of the search engine 120.

[084] Например, сервер 106 может получать от устройства 102 запрос 180, указывающий на запрос, отправленный пользователем 101. Сервер 106 в ответ на отправленный запрос может выполнять поиск с целью формирования результатов поиска, релевантных отправленному запросу. В результате сервер 106 может формировать ответ 190, указывающий на результаты поиска, и может отправлять ответ 190 устройству 102 для отображения результатов поиска пользователю 101, например, с использованием браузерного приложения.[084] For example, server 106 may receive request 180 from device 102 indicating a request submitted by user 101. Server 106 may perform a search in response to the submitted request to generate search results relevant to the submitted request. As a result, the server 106 may generate a response 190 indicating the search results and may send a response 190 to the device 102 to display the search results to the user 101, such as using a browser application.

[085] Сформированные для отправленного запроса результаты поиска могут быть представлены в любом виде. Тем не менее, в не имеющем ограничительного характера примере настоящей технологии результаты поиска, сформированные сервером 106, могут указывать на документы, релевантные отправленному запросу. Ниже описано определение и получение сервером 106 документов, релевантных отправленному запросу.[085] The search results generated for the submitted request can be presented in any form. However, in a non-limiting example of the present technology, the search results generated by the server 106 may point to documents relevant to the submitted request. Determination and receipt by the server 106 of documents relevant to the submitted request is described below.

[086] Сервер 106 также может выполнять приложение обходчика (не показано). В общем случае приложение обходчика может использоваться сервером 106 для «посещения» ресурсов, доступных через сеть 110 связи, и их получения или загрузки с целью дальнейшего использования. Например, приложение обходчика может быть использовано сервером 106 для доступа к множеству серверов 108 ресурсов и для получения или загрузки документов, представляющих собой веб-страницы, содержащиеся на множестве серверов 108 ресурсов.[086] Server 106 may also run a crawler application (not shown). In general, the crawler application may be used by the server 106 to "visit" resources available through the communications network 110 and obtain or download them for later use. For example, a crawler application may be used by server 106 to access multiple resource servers 108 and to retrieve or download documents that are web pages contained on multiple resource servers 108 .

[087] Предполагается, что приложение обходчика может периодически выполняться сервером 106 с целью получения или загрузки документов, которые были обновлены и/или стали доступными через сеть 110 связи после предыдущего выполнения приложения обходчика.[087] It is contemplated that the crawler application may be periodically executed by the server 106 to retrieve or download documents that have been updated and/or made available via the communication network 110 since the previous execution of the crawler application.

[088] В других вариантах осуществления изобретения сервер 106 может управляться и/или администрироваться поставщиком услуг электронной торговли (не показан), например, таким как оператор платформы для электронной торговли Yandex.Market™. Таким образом, сервер 106 может содержать платформу 130 для электронной торговли, предназначенную для предложения одного или нескольких товаров и/или услуг к покупке или продаже пользователями платформы 130 для электронной торговли.[088] In other embodiments, the server 106 may be managed and/or administered by an e-commerce service provider (not shown), such as, for example, the Yandex.Market™ e-commerce platform operator. Thus, the server 106 may include an e-commerce platform 130 for offering one or more goods and/or services for purchase or sale by users of the e-commerce platform 130.

[089] В общем случае платформа для электронной торговли соответствует одному или нескольким компьютерным алгоритмам, благодаря которым сервер 106 способен предоставлять услуги электронной торговли пользователю 101 электронного устройства 102. Например, пользователь 101 может представлять собой клиента платформы 130 для электронной торговли. Пользователь 101 может ввести универсальный указатель ресурсов (URL, Universal Resource Locator), связанный с платформой 130 для электронной торговли, в командном интерфейсе браузерного приложения и получить доступ к своей учетной записи на платформе 130 для электронной торговли.[089] In general, the e-commerce platform corresponds to one or more computer algorithms by which the server 106 is able to provide e-commerce services to the user 101 of the electronic device 102. For example, the user 101 may be a client of the e-commerce platform 130. The user 101 can enter a Universal Resource Locator (URL) associated with the e-commerce platform 130 in the browser application command interface and access their account on the e-commerce platform 130.

[090] Следует отметить, что сервер 106 может собирать информацию о клиентах и продуктах, доступных на платформе 130 для электронной торговли. Например, сервер 106 может собирать зависящую от клиента информацию относительно взаимодействий клиента с различными продуктами. В этом примере сервер 106 может собирать в отношении клиента информацию о просмотренных продуктах, выбранных продуктах, приобретенных продуктах, рекомендованных продуктах и т.п. В другом примере сервер 106 может собирать зависящую от продукта информацию в отношении различных продуктов. В этом примере сервер 106 может собирать в отношении продукта информацию о просмотрах, «кликах», покупках и т.п.[090] It should be noted that the server 106 may collect information about customers and products available on the e-commerce platform 130. For example, server 106 may collect client-specific information regarding client interactions with various products. In this example, server 106 may collect information about products viewed, products selected, products purchased, products recommended, and the like, from a client. In another example, server 106 may collect product-specific information regarding various products. In this example, the server 106 may collect views, clicks, purchases, and the like for a product.

[091] В других вариантах осуществления изобретения сервер 106 может управляться и/или администрироваться поставщиком услуг электронной почты (не показан), таким как оператор сервиса электронной почты Yandex.Mail™. Соответственно, сервер 106 может содержать платформу 140 электронной почты для предоставления услуг электронной почты пользователям платформы 140 электронной почты.[091] In other embodiments of the invention, the server 106 may be managed and/or administered by an email service provider (not shown), such as the operator of the Yandex.Mail™ email service. Accordingly, the server 106 may include an email platform 140 for providing email services to users of the email platform 140 .

[092] В общем случае платформа 140 электронной почты соответствует одному или нескольким компьютерным алгоритмам, благодаря которым сервер 106 способен предоставлять услуги электронной почты пользователю 101 электронного устройства 102. Например, пользователь 101 может иметь учетную запись абонента электронной почты, связанную с платформой 140 электронной почты. Пользователь 101 может ввести URL-адрес, связанный с платформой 140 электронной почты, в командном интерфейсе браузерного приложения и получить доступ к своей учетной записи абонента электронной почты на платформе 140 электронной почты.[092] In general, the email platform 140 corresponds to one or more computer algorithms by which the server 106 is able to provide email services to the user 101 of the electronic device 102. For example, the user 101 may have an email subscriber account associated with the email platform 140 . The user 101 can enter a URL associated with the email platform 140 in a browser application command interface and access their email subscriber account on the email platform 140 .

[093] В некоторых вариантах осуществления настоящей технологии в дополнение или вместо вышесказанного электронное устройство 102 может выполнять клиентское приложение электронной почты (не показано), связанное с (серверной) платформой 140. В общем случае клиентское приложение электронной почты предназначено для того, чтобы обеспечивать пользователю 101 возможность просматривать список сообщений электронной почты (прочтенных и непрочтенных), читать сообщения электронной почты, открывать вложения, составлять новые сообщения электронной почты, отвечать на сообщения электронной почты, пересылать сообщения электронной почты, удалять сообщения электронной почты, управлять нежелательными сообщениями электронной почты, назначать категории сообщениям электронной почты, размещать сообщения электронной почты в папках, создавать адресную книгу и обращаться к ней и т.п.[093] In some embodiments of the present technology, in addition to or instead of the foregoing, electronic device 102 may run an email client application (not shown) associated with (server) platform 140. In general, the email client application is designed to provide a user with 101 ability to view a list of emails (read and unread), read emails, open attachments, compose new emails, reply to emails, forward emails, delete emails, manage unwanted emails, assign categories of e-mail messages, arrange e-mail messages in folders, create and access an address book, and so on.

[094] Независимо от использования пользователем 101 браузерного приложения и/или клиентского приложения электронной почты для доступа к своей учетной записи абонента электронной почты, предполагается, что пользователю 101 может быть предоставлен интерфейс электронной почты (не показан) для выполнения одного или нескольких действий в отношении сообщений электронной почты в своей учетной записи абонента электронной почты. Ниже более подробно описаны функции платформы 140 электронной почты.[094] Regardless of whether the user 101 uses a browser application and/or an email client application to access their email subscriber account, it is contemplated that the user 101 may be provided with an email interface (not shown) to perform one or more actions regarding email messages in your email subscriber account. The functions of the email platform 140 are described in more detail below.

[095] В общем случае интерфейс электронной почты предназначен для обеспечения пользовательских взаимодействий между пользователем платформы 140 электронной почты (например, таким как пользователь 101) и сообщениями электронной почты в его учетной записи абонента электронной почты. В не имеющем ограничительного характера примере интерфейс электронной почты может содержать одну или несколько панелей, одно или несколько меню, одну или несколько кнопок, а также может обеспечивать другие функции для взаимодействия пользователя с сообщениями электронной почты. Следует отметить, что в контексте настоящей технологии возможны различные интерфейсы электронной почты.[095] In general, the email interface is designed to provide user interactions between a user of email platform 140 (such as user 101, for example) and email messages in their email subscriber account. In a non-limiting example, an email interface may include one or more panels, one or more menus, one or more buttons, and may provide other functionality for user interaction with email messages. It should be noted that various e-mail interfaces are possible in the context of the present technology.

[096] Например, интерфейс электронной почты может содержать боковую панель, указывающую на одну или несколько папок электронной почты (заранее заданных и/или персонализированных), связанных с учетной записью электронной почты, таких как папка «входящие», папка «исходящие», папка «черновики», папка «спам», папка «удаленные» и т.п. В другом примере интерфейс электронной почты может содержать одну или несколько кнопок для выполнения различных действий в отношении сообщений электронной почты, в числе прочего, таких как кнопка «составить» для составления нового сообщения электронной почты, кнопка «отправить» для отправки сообщения электронной почты, кнопка «сохранить» для сохранения текущей версии сообщения электронной почты, кнопка «прочтено» для указания того, что сообщение электронной почты прочтено или просмотрено пользователем, кнопка «не прочтено» для указания того, что сообщение электронной почты не прочтено или не просмотрено пользователем, кнопка «спам» для указания того, что сообщению электронной почты должна быть присвоена категория «спам», и/или для указания того, что сообщение электронной почты должно быть перемещено в папку «спам», кнопка «удалено» для указания того, что сообщение электронной почты должно быть удалено и/или что сообщение электронной почты должно быть перемещено в папку «удаленные» и т.п. В еще одном примере интерфейс электронной почты может поддерживать взаимодействие пользователя с сообщениями электронной почты других видов, в числе прочего, такие как функция перетаскивания, обеспечивающая пользователю возможность эффективного выбора сообщения электронной почты в первой папке и перемещения этого сообщения электронной почты во вторую папку.[096] For example, the email interface may include a sidebar pointing to one or more email folders (predefined and/or personalized) associated with an email account, such as an inbox, an outbox, a folder drafts, spam folder, deleted items folder, etc. In another example, the email interface may include one or more buttons for performing various actions on email messages, such as a "compose" button for composing a new email message, a "send" button for sending an email message, a button "save" to save the current version of the email message, "read" button to indicate that the email message has been read or viewed by the user, "unread" button to indicate that the email message has not been read or viewed by the user, " spam" button to indicate that the email message should be categorized as "spam" and/or to indicate that the email message should be moved to the spam folder, a "deleted" button to indicate that the email message should be deleted and/or that the e-mail should be moved to the "deleted" folder, etc. In yet another example, the email interface may support user interaction with other types of email messages, such as a drag and drop functionality that allows the user to efficiently select an email message in a first folder and move that email message to a second folder.

[097] В контексте настоящей технологии сервер 106 может содержать механизм 170 классификации. В общем случае механизм 170 классификации способен использовать данные, хранящиеся в сочетании с цифровым объектом интерактивного сервиса, и выполнять бинарную классификацию этого цифрового объекта. Например, сервер 106 может получать зависящие от объекта данные для цифрового объекта из системы 150 базы данных и использовать механизм 170 классификации для определения принадлежности этого цифрового объекта к первому классу или ко второму классу.[097] In the context of the present technology, the server 106 may contain a classification engine 170. In general, the classification engine 170 is capable of using data stored in conjunction with an interactive service digital object and performing a binary classification of that digital object. For example, server 106 may obtain object-specific data for a digital object from database system 150 and use classification engine 170 to determine whether the digital object belongs to a first class or a second class.

[098] Как более подробно описано ниже, механизм 170 классификации содержит (а) множество вложенных метрик, предназначенных для формирования прогнозов вероятности принадлежности цифрового объекта к первому классу, и (б) сочетание зависящих от метрики порогов, с которыми соответствующие прогнозы сравниваются для определения принадлежности цифрового объекта к первому классу. Сервер 106 также способен определять подлежащее использованию вместе со множеством вложенных метрик целевое сочетание зависящих от метрики порогов из множества сочетаний-кандидатов зависящих от метрики порогов.[098] As described in more detail below, the classification engine 170 comprises (a) a plurality of nested metrics for generating predictions of the probability that a digital object will belong to the first class, and (b) a combination of metric-dependent thresholds against which the respective predictions are compared to determine membership. digital object to the first class. The server 106 is also capable of determining a target combination of metric-dependent thresholds from a plurality of candidate metric-dependent threshold combinations to be used in conjunction with a plurality of nested metrics.

[099] На фиг. 2 дано представление 200 для по меньшей мере некоторых данных, хранящихся в системе 150 базы данных. Как показано, система 150 базы данных способна хранить зависящие от объекта данные 210 и зависящие от объекта проверочные данные 220.[099] FIG. 2 is a view 200 for at least some of the data stored in the database system 150. As shown, the database system 150 is capable of storing object-specific data 210 and object-specific verification data 220.

[0100] Для иллюстрации можно предположить, что объекты в данном примере представляют собой пользователей поисковой системы 120. Тем не менее, виды объектов могут, среди прочего, зависеть от различных вариантов реализации настоящей технологии.[0100] For illustration purposes, the objects in this example may be assumed to represent users of the search engine 120. However, the types of objects may depend on various implementations of the present technology, among other things.

[0101] Зависящие от объекта данные 210 хранятся в системе 150 базы данных отдельно для каждого объекта или, как показано в не имеющем ограничительного характера примере, отдельно для каждого пользователя. Например, зависящие от объекта данные 210 содержат множество зависящих от объекта наборов данных (без числового обозначения). Множество зависящих от объекта наборов данных содержит зависящий от объекта набор 215 данных, который в представленном не имеющем ограничительного характера примере, где объекты соответствуют пользователям поисковой системы 120, также называется зависящим от пользователя набором данных.[0101] Object-specific data 210 is stored in the database system 150 on a per-object basis or, as shown in a non-limiting example, on a per-user basis. For example, the object-specific data 210 contains a plurality of object-specific data sets (not numbered). The set of object-specific datasets comprises an object-specific dataset 215, which in the non-limiting example shown where the objects correspond to users of the search engine 120, is also referred to as a user-specific dataset.

[0102] Следует отметить, что зависящий от объекта набор 215 данных содержит информацию для однозначной идентификации соответствующего объекта. Например, зависящий от объекта набор 215 данных может быть связан с идентификатором объекта (в этом примере - с идентификатором пользователя), который однозначно идентифицирует конкретный объект зависящего от объекта набора 215 данных. Зависящий от объекта набор 215 данных также содержит информацию об объекте, собранную соответствующим интерактивным сервисом. В представленном примере зависящий от объекта набор 215 данных может содержать данные пользовательских взаимодействий о конкретном пользователе, собранные поисковой системой 120. Ниже со ссылкой на фиг. 3 более подробно описана информация, которая может храниться в качестве части зависящего от объекта набора 215 данных.[0102] It should be noted that the object-specific data set 215 contains information for uniquely identifying the corresponding object. For example, the object-specific dataset 215 may be associated with an object identifier (in this example, a user ID) that uniquely identifies a particular object of the object-specific dataset 215. The object-specific data set 215 also contains information about the object collected by the corresponding interactive service. In the illustrated example, object-specific data set 215 may contain user interaction data about a particular user collected by search engine 120. Referring to FIG. 3 describes in more detail the information that may be stored as part of the object-specific dataset 215.

[0103] Как описано выше, в дополнение к зависящим от объекта данным 210 система 150 базы данных также способна хранить зависящие от объекта проверочные данные 220. Для иллюстрации можно предположить, что проверочные объекты в данном примере представляют собой пользователей поисковой системы 120. Очевидно, что подобно виду объектов в зависящих от объекта данных 210, вид проверочных объектов может, среди прочего, зависеть от различных вариантов реализации настоящей технологии. Тем не менее, предполагается, что вид объектов в зависящих от объекта данных 210 может совпадать с видом объектов в зависящих от объекта данных 220.[0103] As described above, in addition to the object-specific data 210, the database system 150 is also capable of storing object-specific verification data 220. For illustration, it can be assumed that the verification objects in this example are users of the search engine 120. Obviously, like the appearance of the objects in the object-specific data 210, the appearance of the check objects may depend on various implementations of the present technology, among other things. However, it is contemplated that the appearance of the objects in the object dependent data 210 may be the same as the appearance of the objects in the object dependent data 220.

[0104] Зависящие от объекта данные 210 хранятся в системе 150 базы данных отдельно для каждого объекта или, как показано в не имеющем ограничительного характера примере, отдельно для каждого пользователя. Например, зависящие от объекта проверочные данные 220 содержат множество зависящих от объекта проверочных наборов данных (без числового обозначения). Множество зависящих от объекта проверочных наборов данных содержит зависящий от объекта проверочный набор 225 данных, который в представленном не имеющем ограничительного характера примере, где проверочные объекты соответствуют пользователям поисковой системы 120, также называется зависящим от пользователя проверочным набором данных.[0104] Object-specific data 210 is stored in the database system 150 on a per-object basis or, as shown in a non-limiting example, on a per-user basis. For example, object-specific verification data 220 contains a plurality of object-specific verification datasets (not numbered). The set of object-specific validation datasets comprises an object-specific validation dataset 225, which in the non-limiting example shown where the validation objects correspond to users of the search engine 120, is also referred to as a user-specific validation dataset.

[0105] Следует отметить, что зависящий от объекта проверочный набор 225 данных содержит информацию для однозначной идентификации соответствующего объекта. Например, зависящий от объекта проверочный набор 225 данных может быть связан с идентификатором объекта (в этом примере - с идентификатором пользователя), который однозначно идентифицирует конкретный проверочный объект зависящего от объекта проверочного набора 225 данных. Зависящий от объекта проверочный набор 225 данных также содержит информацию о проверочном объекте, собранную соответствующим интерактивным сервисом. В представленном примере зависящий от объекта проверочный набор 225 данных может содержать данные пользовательских взаимодействий о конкретном пользователе, собранные поисковой системой 120.[0105] It should be noted that the object-specific validation data set 225 contains information for uniquely identifying the corresponding object. For example, the object-specific validation dataset 225 may be associated with an object identifier (in this example, a user ID) that uniquely identifies a particular validation object of the object-specific validation dataset 225. The object-specific validation data set 225 also contains information about the validation object collected by the corresponding interactive service. In the example shown, the object-specific validation data set 225 may contain user interaction data about a particular user collected by the search engine 120.

[0106] Тем не менее, в отличие от зависящего от объекта набора данных из зависящих от объекта данных 210, зависящий от объекта проверочный набор 225 данных дополнительно содержит указание на контрольный класс проверочного объекта. Как описано выше, система 150 базы данных может хранить данные разметки, указывающие на контрольные классы проверочных объектов. В представленном не имеющем ограничительного характера примере зависящий от объекта проверочный набор 225 данных (зависящий от пользователя проверочный набор данных) может содержать информацию о контрольном классе проверочного объекта (проверочного пользователя), например, о том, является или не является мошенником соответствующий проверочный пользователь поисковой системы 120.[0106] However, unlike the object-specific dataset of the object-specific data 210, the object-specific validation dataset 225 additionally contains an indication of the validation object's control class. As described above, the database system 150 may store markup data indicative of check object check classes. In the non-limiting example shown, the entity-specific validation dataset 225 (user-specific validation dataset) may contain information about the validation object (verifier user) control class, such as whether the corresponding search engine validation user is or is not a fraudster. 120.

[0107] Очевидно, что не только вид объектов и проверочных объектов зависит, среди прочего, от различных вариантов реализации настоящей технологии, но и виды бинарных классов также зависят, среди прочего, от различных вариантов реализации настоящей технологии. Например, если проверочный объект представляет собой цифровой документ поисковой системы 120, то контрольный класс может указывать на то, является этот цифровой документ релевантным или нет. В другом примере, если проверочный объект представляет собой продукт платформы 130 для электронной торговли, то контрольный класс может указывать на то, является этот продукт контрафактным или нет. В еще одном примере, если проверочный объект представляет собой сообщение электронной почты платформы 140 электронной почты, то контрольный класс может указывать на то, является это сообщение электронной посты спамом или нет.[0107] Obviously, not only the kind of objects and check objects depends, among other things, on various implementations of the present technology, but the kinds of binary classes also depend, among other things, on various implementations of the present technology. For example, if the check object is a digital document of the search engine 120, then the check class may indicate whether the digital document is relevant or not. In another example, if the check object is a product of the e-commerce platform 130, then the check class may indicate whether the product is counterfeit or not. In yet another example, if the validation object is an e-mail message of the e-mail platform 140, then the control class may indicate whether the e-mail message is spam or not.

[0108] Как описано ниже, сервер 106 способен использовать зависящие от объекта данные 210 на этапе использования механизма 170 классификации, а зависящие от объекта проверочные данные 220 используются на этапе проверки обучения механизма 170 классификации для определения сочетания-кандидата зависящих от метрики порогов, подлежащего выбору в качестве целевого сочетания зависящих от метрики порогов. Можно сказать, что в некоторых вариантах осуществления настоящей технологии сервер 106 может (а) выполнять этап обучения множества алгоритмов MLA (множества вложенных метрик) путем использования зависящих от объекта проверочных данных 220, (б) выполнять этап проверки для выбора целевого сочетания зависящих от метрики порогов путем применения зависящих от объекта проверочных данных 220 и (в) выполнять этап использования механизма 170 классификации, содержащего обученное таким образом множество алгоритмов MLA и выбранное таким образом целевое сочетание зависящих от метрики порогов, для классификации одного или нескольких объектов из зависящих от объекта данных 210.[0108] As described below, the server 106 is able to use the object-specific data 210 in the use step of the classification engine 170, and the object-specific test data 220 is used in the learning check step of the classification engine 170 to determine a candidate combination of metric-dependent thresholds to be selected. as the target combination of metric-dependent thresholds. It can be said that in some embodiments of the present technology, the server 106 can (a) perform a training step of a set of MLA algorithms (multiple nested metrics) by using object-specific test data 220, (b) perform a test step to select a target combination of metric-dependent thresholds by applying the object dependent test data 220 and (c) performing the step of using the classification engine 170 comprising the thus trained set of MLA algorithms and the thus selected target combination of metric dependent thresholds to classify one or more objects from the object dependent data 210.

[0109] Ниже более подробно описано выполнение сервером 106 одной итерации бинарной классификации (одной итерации этапа использования механизма 170 классификации) объекта из зависящих от объекта данных 210.[0109] The following describes in more detail the performance by the server 106 of one iteration of the binary classification (one iteration of the step of using the classification engine 170) of an object from object-specific data 210.

[0110] На фиг. 3 (слева) дано представление 300 информационно-поисковой операции, выполняемой сервером 106 для объекта, подлежащего классификации как относящегося к первому классу или ко второму классу. Сервер 106 способен обращаться к системе 150 базы данных и получать информацию, связанную с цифровым объектом, подлежащим классификации. Например, сервер 106 может отправлять системе 150 базы данных запрос 302, содержащий указание на идентификатор объекта. В ответ сервер 106 может получать зависящий от объекта набор 310 данных.[0110] In FIG. 3 (left) is a representation 300 of the information retrieval operation performed by the server 106 on an object to be classified as either a first class or a second class. The server 106 is capable of accessing the database system 150 and obtaining information associated with the digital object to be classified. For example, the server 106 may send a request 302 to the database system 150 containing an indication of an object identifier. In response, the server 106 may receive an object-specific data set 310 .

[0111] Зависящий от объекта набор 310 данных содержит информацию о соответствующем объекте, подлежащем классификации. В частности, зависящий от объекта набор 310 данных содержит указание на множество прошлых событий 312 объекта, связанных с соответствующим объектом, подлежащим классификации. Как описано выше, зависящие от объекта данные, такие как события объекта, могут собираться сервером 106 и сохраняться в системе 150 базы данных. Например, в не имеющем ограничительного характера примере, в котором объект представляет собой пользователя поисковой системы 120 (например, пользователя 101), прошлые события 312 объекта могут содержать события отправки запроса, события просмотра, события «кликов», события «длинных кликов» и т.д. Таким образом, можно сказать, что прошлые события объекта, связанные с объектом, могут включать в себя зависящие от объекта события различных видов.[0111] Dependent on the object data set 310 contains information about the corresponding object to be classified. In particular, the object-specific data set 310 contains an indication of a set of past events 312 of the object associated with the corresponding object to be classified. As described above, object-specific data, such as object events, may be collected by the server 106 and stored in the database system 150. For example, in a non-limiting example where the object is a search engine user 120 (e.g., user 101), the object's past events 312 may include submit request events, view events, "click" events, "long click" events, etc. .d. Thus, it can be said that an object's past events associated with an object may include object-dependent events of various kinds.

[0112] Очевидно, что виды прошлых событий объекта, которые могут храниться в сочетании с объектом, среди прочего, зависят от вида интерактивного сервиса, к которому относится объект, от вида объекта и от конкретных вариантов реализации настоящей технологии. Тем не менее, следует отметить, что события объекта некоторых видов из числа прошлых событий 312 объекта могут быть взаимосвязаны особым образом. В частности, в по меньшей мере некоторых вариантах осуществления настоящей технологии предполагается, что события объекта некоторых видов могут иметь взаимосвязь друг с другом вида «вложенность».[0112] Obviously, the types of past events of an object that can be stored in combination with the object, among other things, depend on the type of interactive service to which the object belongs, on the type of object, and on specific implementations of the present technology. However, it should be noted that certain kinds of object events from past object events 312 may be related in a special way. In particular, in at least some embodiments of the present technology, it is contemplated that certain kinds of object events may have nested relationships with each other.

[0113] Для лучшей иллюстрации этого можно предположить, что прошлые события 312 объекта для пользователя поисковой системы 120 содержат события объекта первого вида и второго вида и что события объекта первого вида представляют собой отправки запроса, а события объекта второго вида соответствуют событиям выбора результатов поисковой системы («кликам»). Иными словами, некоторые события объекта из числа прошлых событий 312 объекта указывают на то, что пользователь (которым является объект в этом примере) отправил один или несколько запросов, а другие события объекта из числа прошлых событий 312 объекта указывают на то, что пользователь выбрал результаты поисковой системы, предоставленные в ответ на эти отправки запросов. В этом примере можно сказать, что события объекта второго вида, в известном смысле, вложены в события объекта первого вида, поскольку события объекта второго вида могут происходить, только если произошли события объекта первого вида, т.е. события объекта, указывающие на выбор результатов поисковой системы, могут происходить только после отправки пользователем соответствующих запросов.[0113] To better illustrate this, it can be assumed that past object events 312 for a user of search engine 120 comprise first kind and second kind object events and that first kind object events represent query submissions and second kind object events correspond to search engine result selection events. ("clicks"). In other words, some object events from object past events 312 indicate that the user (which is the object in this example) has submitted one or more queries, and other object events from object past events 312 indicate that the user has selected the results. search engine provided in response to these submission requests. In this example, we can say that the events of an object of the second kind are, in a certain sense, nested in the events of an object of the first kind, since the events of an object of the second kind can only occur if the events of the first kind of object have occurred, i.e. object events indicating the selection of search engine results can only occur after the user submits appropriate queries.

[0114] Также можно сказать, что события объекта второго вида вложены в события объекта первого вида, когда события объекта второго вида представляют собой подмножество событий объекта первого вида. Для лучшей иллюстрации этого дальнейшее описание приведено со ссылкой на представление 350 набора 360 событий объекта из числа прошлых событий 312 объекта. Можно предположить, что набор 360 событий объекта содержит «клики» на результатах поисковой системы. При этом также можно предположить, что некоторые из «кликов» пользователя на результатах поисковой системы представляют собой «длинные клики» на результатах поисковой системы. Например, некоторые выбранные пользователем результаты поисковой системы могли рассматриваться в течение значительного периода времени («длинные клики»).[0114] You can also say that the events of the second kind of object are nested in the events of the first kind of object, when the events of the second kind of object are a subset of the events of the first kind of object. To better illustrate this, the following description is given with reference to a representation 350 of a set of object events 360 from past object events 312 . It can be assumed that the object event set 360 contains "clicks" on search engine results. It can also be assumed that some of the user's "clicks" on search engine results are "long clicks" on search engine results. For example, some user-selected search engine results may have been viewed for a significant period of time (“long clicks”).

[0115] Например, набор 360 событий объекта содержит события 351, 352, 353, 354, 355, 356, 357, 358 объекта, указывающие на пользователя, выполняющего «клики» на результатах поисковой системы. В этом же примере можно предположить, что события 356, 357, 358 объекта указывают на пользователя, выполняющего «длинные клики» на результатах поисковой системы. В этом примере можно сказать, что набор 360 событий объекта (содержащий «клики» на результатах поисковой системы) содержит подмножество 370 событий объекта, содержащее «длинные клики» на результатах поисковой системы. В этом примере можно сказать, что события объекта второго вида («длинные клики»), в известном смысле, вложены в события объекта первого вида («клики»), поскольку события объекта второго вида представляют собой подмножество событий объекта первого вида.[0115] For example, object event set 360 contains object events 351, 352, 353, 354, 355, 356, 357, 358 indicative of a user performing "clicks" on search engine results. In the same example, it can be assumed that object events 356, 357, 358 indicate a user performing "long clicks" on search engine results. In this example, the object event set 360 (containing "clicks" on search engine results) can be said to contain a subset 370 of object events containing "long clicks" on search engine results. In this example, we can say that the events of the second kind of object ("long clicks") are, in a sense, nested in the events of the first kind of object ("clicks"), since the events of the second kind of object are a subset of the events of the first kind of object.

[0116] Таким образом, сервер 106 может выполнить информационно-поисковую операцию для получения зависящего от объекта набора 310 данных для объекта, содержащего прошлые события 312 объекта. Прошлые события 312 объекта содержат события объекта различных видов, при этом некоторые события объекта, известном смысле, имеют взаимосвязь друг с другом вида «вложенность», которая зависит от соответствующих видов событий объекта.[0116] Thus, the server 106 may perform a lookup operation to obtain an object-specific data set 310 for an object containing past events 312 of the object. Past object events 312 contain object events of various kinds, with some object events having a "nesting" relationship with each other that depends on the respective object event types.

[0117] Сервер 106 способен использовать зависящий от объекта набор 310 данных для объекта с целью выполнения его бинарной классификации. На фиг. 4 дано представление 400 процедуры бинарной классификации, выполняемой механизмом 170 классификации сервера 106. Как показано, сервер 106 способен вводить зависящий от объекта набор 310 данных в механизм 170 классификации.[0117] The server 106 is able to use the object-specific data set 310 for the object in order to perform its binary classification. In FIG. 4 is a representation 400 of a binary classification procedure performed by the classification engine 170 of the server 106. As shown, the server 106 is capable of inputting an object-specific dataset 310 into the classification engine 170.

[0118] В общем случае механизм 170 классификации содержит множество 410 вложенных метрик, способных (а) получать в качестве входных данных по меньшей мере некоторые данные из зависящего от объекта набора 310 данных и (б) выдавать множество 440 прогнозов для цифрового объекта зависящего от объекта набора 310 данных.[0118] In general, the classification engine 170 comprises a plurality of nested metrics 410 capable of (a) receiving as input at least some of the data from the object-specific data set 310 and (b) producing a plurality of 440 predictions for the object-dependent digital object set 310 data.

[0119] Как более подробно описано ниже со ссылкой на фиг. 5, соответствующая метрика из множества 410 вложенных метрик может быть реализована сервером 106 в виде алгоритма MLA, способного получать подмножество данных из зависящего от объекта набора 310 данных, на основе которого эта метрика из множества 410 вложенных метрик способна формировать прогноз, указывающий на вероятность принадлежности к первому классу (или ко второму классу) цифрового объекта зависящего от объекта набора 310 данных.[0119] As described in more detail below with reference to FIG. 5, a corresponding metric of nested metrics set 410 may be implemented by server 106 as an MLA algorithm capable of deriving a subset of data from object-specific dataset 310, based on which this nested metrics set 410 is able to generate a prediction indicative of the probability of belonging to to the first class (or to the second class) of the digital object of the object-specific data set 310 .

[0120] Например, первая вложенная метрика 412 может использовать подмножество 422 зависящего от объекта набора 310 данных с целью формирования для цифрового объекта первого прогноза 432, указывающего на вероятность принадлежности этого цифрового объекта к первому классу. В том же примере вторая вложенная метрика 414 может использовать подмножество 424 зависящего от объекта набора 310 данных с целью формирования для цифрового объекта второго прогноза 434, указывающего на вероятность принадлежности этого цифрового объекта к первому классу. Ниже со ссылкой на фиг. 5 более подробно описаны обучение множества 410 вложенных метрик формированию прогнозов и данные из зависящего от объекта набора 310 данных, включаемые в состав подмножества 422 и подмножества 424.[0120] For example, the first nested metric 412 may use a subset 422 of the object-specific data set 310 to form a first prediction 432 for a digital object indicating the probability that the digital object belongs to the first class. In the same example, the second nested metric 414 may use a subset 424 of the object-specific data set 310 to generate a second prediction 434 for the digital object indicating the probability that the digital object belongs to the first class. Below with reference to FIG. 5 describes in more detail the training of the nested metrics set 410 to generate predictions and the data from the object-specific dataset 310 included in subset 422 and subset 424.

[0121] Как описано выше, механизм 170 классификации способен сравнивать множество 440 прогнозов с целевым сочетанием 450 зависящих от метрики порогов с целью определения прогнозируемого класса 460 (представляющего собой первый класс или второй класс) для соответствующего цифрового объекта. Например, целевое сочетание 450 зависящих от метрики порогов содержит первый целевой зависящий от метрики порог 452 (зависящий от первой вложенной метрики 412) и второй целевой зависящий от метрики порог 454 (зависящий от второй вложенной метрики 414).[0121] As described above, the classification engine 170 is able to compare a plurality of predictions 440 with a target metric-dependent threshold combination 450 to determine a predictive class 460 (whether first class or second class) for the corresponding digital object. For example, the target metric dependent threshold combination 450 comprises a first target metric dependent threshold 452 (depending on the first nested metric 412) and a second target metric dependent threshold 454 (depending on the second nested metric 414).

[0122] Следует отметить, что если по меньшей мере один прогноз из множества 440 прогнозов превышает соответствующий порог из целевого сочетания 450 зависящих от метрики порогов, то сервер 106 может определять, что соответствующий объект относится к первому классу. Иными словами, в этом случае сервер 106 определяет, что прогнозируемый класс 460 для цифрового объекта соответствует первому классу. Если прогноз из множества 440 прогнозов, превышающий соответствующий порог из целевого сочетания 450 зависящих от метрики порогов, отсутствует, то сервер 106 может определять, что соответствующий объект относится ко второму классу. Иными словами, в этом случае сервер 106 определяет, что прогнозируемый класс 460 для цифрового объекта соответствует второму классу.[0122] It should be noted that if at least one prediction from the prediction set 440 exceeds the corresponding threshold from the target metric-dependent threshold combination 450, then the server 106 may determine that the corresponding object belongs to the first class. In other words, in this case, the server 106 determines that the predicted class 460 for the digital object corresponds to the first class. If there is no prediction from the prediction set 440 that exceeds the corresponding threshold from the target metric-dependent threshold combination 450, then the server 106 may determine that the corresponding object belongs to the second class. In other words, in this case, the server 106 determines that the predicted class 460 for the digital object corresponds to the second class.

[0123] В по меньшей мере некоторых вариантах осуществления настоящей технологии можно сказать, что механизм 170 классификации может содержать один или несколько компьютерных алгоритмов, которые далее называются пороговой логикой и способны выполнять одну или несколько логических операций на основе целевого сочетания 450 зависящих от метрики порогов и множества 440 прогнозов с целью определения прогнозируемого класса 460 цифрового объекта.[0123] In at least some embodiments of the present technology, it can be said that the classification engine 170 may comprise one or more computer algorithms, hereinafter referred to as threshold logic, and is capable of performing one or more logic operations based on a target combination 450 of metric-dependent thresholds and set 440 predictions to determine the predicted class 460 of the digital object.

[0124] Разработчики настоящей технологии установили, что использование одного сочетания зависящих от метрики порогов вместо другого сочетания зависящих от метрики порогов в качестве части пороговой логики механизма 170 классификации может влиять на эффективность классификации механизмом 170 классификации. Например, эффективность классификации механизмом 170 классификации может быть измерена с использованием множества параметров, включая погрешность, точность, полноту и т.д. В по меньшей мере некоторых вариантах осуществления настоящей технологии разработчики настоящей технологии разработали способы и серверы для выбора из множества сочетаний-кандидатов зависящих от метрики порогов такого целевого сочетания 450 зависящих от метрики порогов, чтобы каждая метрика из множества 410 вложенных метрик имела (а) значение точности, превышающее минимальное заранее заданное значение точности, и/или (б) значение полноты, превышающее минимальное заранее заданное значение полноты.[0124] The developers of the present technology have found that the use of one combination of metric-dependent thresholds instead of another combination of metric-dependent thresholds as part of the threshold logic of the classification engine 170 can affect the classification efficiency of the classification engine 170. For example, the classification performance of the classification engine 170 can be measured using a variety of parameters, including error, accuracy, recall, and so on. In at least some embodiments of the present technology, the developers of the present technology have developed methods and servers for selecting from a plurality of candidate combinations of metric-dependent thresholds such a target combination of 450 metric-dependent thresholds such that each metric of the set of 410 nested metrics has (a) an accuracy value , exceeding the minimum predetermined precision value, and/or (b) the recall value exceeding the minimum predetermined recall value.

[0125] Ниже со ссылкой на фиг. 6 более подробно описано определение сервером 106 целевого сочетания 450 зависящих от метрики порогов. При этом сначала описано обучение множества 410 вложенных метрик прогнозированию на основе зависящего от объекта набора 310 данных.[0125] Referring to FIG. 6 describes in more detail the determination by the server 106 of the target combination 450 of the metric dependent thresholds. In doing so, learning a set of nested metrics 410 to predict based on an object-specific data set 310 is first described.

[0126] Как описано выше, сервер 106 способен реализовывать множество 410 вложенных метрик в виде множества алгоритмов MLA. В общем случае алгоритм MLA сначала «строится» (или обучается) с использованием обучающих данных и обучающих целей. Во время итерации обучения алгоритм MLA получает на вход обучающие входные данные и формирует соответствующий прогноз. Затем сервер 106, в известном смысле, способен корректировать алгоритм MLA на основе сравнения прогноза с соответствующей обучающей целью для обучающих входных данных. Например, корректировка может выполняться сервером 106, использующим один или несколько способов машинного обучения, таких как метод обратного распространения и т.п. После большого количества итераций обучения алгоритм MLA изменяется так, чтобы формировать прогнозы на основе введенных данных, близкие к соответствующим обучающим целям.[0126] As described above, the server 106 is capable of implementing a plurality of nested metrics 410 as a plurality of MLA algorithms. In general, an MLA algorithm is first "built" (or trained) using training data and training targets. During the training iteration, the MLA algorithm receives training input data and generates an appropriate prediction. The server 106 is then, in a sense, able to update the MLA algorithm based on a comparison of the prediction with the corresponding training target for the training inputs. For example, the adjustment may be performed by server 106 using one or more machine learning techniques such as backpropagation and the like. After a large number of training iterations, the MLA algorithm is modified to generate predictions based on the input data that are close to the corresponding training goals.

[0127] Вкратце, реализация сервером 106 метрики из множества 410 вложенных метрик может быть разделена на два основных этапа: этап обучения и этап использования. Сначала алгоритм MLA обучается на этапе обучения. Затем построенный на основе обучающих данных алгоритм MLA применяется механизмом 170 классификации с использованием данных этапа использования на этапе использования (в этом примере этап использования алгоритма MLA выполняется во время этапа использования механизма 170 классификации).[0127] Briefly, the implementation by the server 106 of a metric from the set of nested metrics 410 can be divided into two main stages: a training stage and a use stage. First, the MLA algorithm is trained in the training phase. Then, the MLA algorithm built on the training data is applied by the classification engine 170 using the use phase data in the use phase (in this example, the use phase of the MLA algorithm is performed during the use phase of the classification engine 170).

[0128] На фиг. 5 приведены представление 500 одной итерации обучения первого алгоритма MLA (первой вложенной метрики 412) и представление 550 одной итерации обучения второго алгоритма MLA (второй вложенной метрики 414). Ниже описана одна итерация обучения первого алгоритма MLA и второго алгоритма MLA.[0128] In FIG. 5 shows a representation 500 of one training iteration of the first MLA algorithm (first nested metric 412) and a representation 550 of one training iteration of the second MLA algorithm (second nested metric 414). One iteration of training the first MLA algorithm and the second MLA algorithm is described below.

[0129] Сервер 106 способен формировать обучающий набор 502 для одной итерации обучения первой вложенной метрики 412. Сервер 106 способен формировать обучающий набор 502 на основе зависящего от объекта проверочного набора данных, хранящегося в системе 150 базы данных. В представленном не имеющем ограничительного характера примере можно предположить, что сервер 106 формирует обучающий набор 502 на основе зависящего от объекта проверочного набора 225 данных.[0129] The server 106 is configured to generate a training set 502 for one training iteration of the first nested metric 412. The server 106 is configured to generate a training set 502 based on the object-specific validation data set stored in the database system 150. In the presented non-limiting example, it can be assumed that the server 106 generates the training set 502 based on the object-specific test set 225 data.

[0130] Обучающий набор 502 содержит цель 504, указывающую на контрольный класс проверочного объекта. Обучающий набор 502 также содержит зависящие от объекта входные данные 506, представляющие по меньшей мере некоторые события объекта, связанные с зависящим от объекта проверочным набором 225 данных.[0130] The training set 502 contains a target 504 pointing to the test object's control class. The training set 502 also contains object-specific inputs 506 representing at least some of the object events associated with the object-specific test set 225.

[0131] Следует отметить, что вид связанных с зависящим от объекта проверочным набором 225 данных событий объекта, которые подлежат использованию в качестве зависящих от объекта входных данных 506, может быть заранее задан оператором сервера 106. Например, оператор может задать, что первая вложенная метрика 412 должна прогнозировать вероятность принадлежности объекта к первому классу на основе событий объекта некоторого вида. В результате сервер 106 может определять подмножество событий объекта этого вида из зависящего от объекта проверочного набора 225 данных.[0131] It should be noted that the type of object events associated with the object-specific validation dataset 225 to be used as the object-specific input 506 may be predetermined by the operator of the server 106. For example, the operator may specify that the first nested metric 412 should predict the probability of an object belonging to the first class based on the events of an object of some kind. As a result, the server 106 can determine a subset of events of that kind of object from the object-specific validation data set 225 .

[0132] Можно предположить, что события объекта некоторого вида, подлежащие использованию в качестве зависящих от объекта входных данных 506, представляют собой «клики». Таким образом, сервер 106 может определять из зависящего от объекта проверочного набора 225 данных подмножество событий объекта, представляющих собой «клики», и использовать это подмножество в качестве зависящих от объекта входных данных 506. После получения зависящих от объекта входных данных 506 первый алгоритм MLA (обучаемая первая вложенная метрика 412) способен формировать прогноз 508. Прогноз 508 указывает на вероятность принадлежности проверочного объекта к первому классу и основывается на событиях объекта некоторого вида, связанных с первым алгоритмом MLA (например, на событиях объекта, представляющих собой «клики»). Затем сервер 106 способен формировать результат 510 сравнения, указывающий на различие между целью 504 и прогнозом 508.[0132] It can be assumed that object events of some kind to be used as object-specific input 506 are "clicks". Thus, the server 106 can determine from the object-specific validation data set 225 a subset of object events that are "clicks" and use this subset as the object-specific input 506. After receiving the object-specific input 506, the first MLA algorithm ( the trainable first nested metric 412) is capable of generating a prediction 508. The prediction 508 indicates the probability that the test object belongs to the first class and is based on object events of some kind associated with the first MLA algorithm (e.g., object events representing "clicks"). The server 106 is then able to generate a comparison result 510 indicating the difference between the target 504 and the prediction 508.

[0133] Например, если контрольный класс проверочного объекта представляет собой первый класс, то цель 504 может соответствовать «1». В том же примере, если контрольный класс проверочного объекта представляет собой второй класс, то цель 504 может соответствовать «0». В этом примере прогноз 508 может быть равен значению между 0 до 1. Таким образом, можно сказать, что результат 510 сравнения может указывать на сходство или несходство прогноза 508 и цели 504. Сервер 106 использует результат 510 сравнения для обучения или корректировки первого алгоритма MLA так, чтобы первый алгоритм MLA формировал прогнозы, максимально близкие к соответствующим целям.[0133] For example, if the check object's control class is the first class, then target 504 may correspond to "1". In the same example, if the check object's control class is the second class, then target 504 may correspond to "0". In this example, prediction 508 may be equal to a value between 0 and 1. Thus, it can be said that comparison result 510 may indicate similarity or dissimilarity between prediction 508 and target 504. Server 106 uses comparison result 510 to train or adjust the first MLA algorithm so so that the first MLA algorithm generates predictions that are as close as possible to the corresponding goals.

[0134] После большого количества итераций обучения, выполненных подобно одной итерации обучения первого алгоритма MLA, представленной на фиг. 5, первая вложенная метрика 412 способна использовать события объекта соответствующего вида, связанные с первой вложенной метрикой 412, (например, «клики») для формирования прогнозов, указывающих на вероятность принадлежности соответствующих объектов к первому классу.[0134] After a large number of training iterations performed like one training iteration of the first MLA algorithm shown in FIG. 5, the first nested metric 412 is capable of using the appropriate kind of object events associated with the first nested metric 412 (eg, "clicks") to generate predictions indicative of the likelihood that the corresponding objects belong to the first class.

[0135] В по меньшей мере некоторых вариантах осуществления настоящей технологии вложенная метрика может использовать входные данные, содержащие события объекта нескольких соответствующих видов, без выхода за границы настоящей технологии.[0135] In at least some embodiments of the present technology, a nested metric can use input data containing object events of several appropriate kinds without departing from the boundaries of the present technology.

[0136] Сервер 106 способен формировать обучающий набор 552 для одной итерации обучения второй вложенной метрики 414. Сервер 106 способен формировать обучающий набор 552 на основе зависящего от объекта проверочного набора данных, хранящегося в системе 150 базы данных. В представленном не имеющем ограничительного характера примере можно предположить, что сервер 106 формирует обучающий набор 552 на основе зависящего от объекта проверочного набора 225 данных. Тем не менее, как описано ниже, обучающие наборы для обучения первой вложенной метрики 412 и второй вложенной метрики 414 могут быть определены или не определены на основе одних и тех же зависящих от объекта проверочных наборов данных.[0136] The server 106 is configured to generate a training set 552 for one training iteration of the second nested metric 414. The server 106 is configured to generate a training set 552 based on the object-specific validation data set stored in the database system 150. In the presented non-limiting example, it can be assumed that the server 106 generates the training set 552 based on the object-specific test set 225 data. However, as described below, the training sets for training the first nested metric 412 and the second nested metric 414 may or may not be determined based on the same object-specific test datasets.

[0137] Обучающий набор 552 содержит цель 554, указывающую на контрольный класс проверочного объекта. Обучающий набор 552 также содержит зависящие от объекта входные данные 556, представляющие по меньшей мере некоторые события объекта, связанные с зависящим от объекта проверочным набором 225 данных.[0137] Training set 552 contains a target 554 pointing to the test object's control class. Training set 552 also contains object-specific input 556 representing at least some of the object events associated with the object-specific test set 225.

[0138] Следует отметить, что вид связанных с зависящим от объекта проверочным набором 225 данных событий объекта, которые подлежат использованию в качестве зависящих от объекта входных данных 556, может быть заранее задан оператором сервера 106. Например, оператор может задать, что вторая вложенная метрика 414 должна прогнозировать вероятность принадлежности объекта к первому классу на основе событий объекта другого вида. В результате сервер 106 может определять подмножество событий объекта другого вида из зависящего от объекта проверочного набора 225 данных.[0138] It should be noted that the type of object events associated with the object-specific validation data set 225 to be used as the object-specific input 556 may be predetermined by the operator of the server 106. For example, the operator may specify that the second nested metric 414 should predict the probability of an object belonging to the first class based on the events of an object of a different kind. As a result, the server 106 can determine a subset of other kind of object events from the object-specific validation data set 225 .

[0139] Тем не менее, важно отметить, что события объекта некоторого вида, подлежащие использованию для обучения первой вложенной метрики 412, особым образом взаимосвязаны с событиями объекта другого вида, подлежащими использованию для обучения второй вложенной метрики 414, т.е. множество 410 вложенных метрик использует вложенные события объекта. Например, если события объекта некоторого вида, используемые первой вложенной метрикой 412, представляют собой «клики», то события объекта другого вида, подлежащие использованию второй вложенной метрикой 414, вложены в события объекта вида «клики». Таким образом, метрики из множества вложенных метрик можно назвать вложенными, поскольку они основываются на видах событий объекта, между которыми существуют взаимосвязи вида «вложенность».[0139] However, it is important to note that some kind of object events to be used to train the first nested metric 412 are specifically related to other kind of object events to be used to train the second nested metric 414, i.e. nested metrics set 410 uses object nested events. For example, if some kind of object events used by the first nested metric 412 are "clicks", then other kind of object events to be used by the second nested metric 414 are nested in "clicks" kind object events. Thus, metrics from a set of nested metrics can be called nested, since they are based on the types of object events, between which there are relationships of the “nesting” type.

[0140] Таким образом, можно предположить, что события объекта другого вида, используемые в качестве зависящих от объекта входных данных 556, представляют собой «длинные клики». Следовательно, сервер 106 может определять из зависящего от объекта проверочного набора 225 данных другое подмножество событий объекта, представляющих собой «длинные клики», и использовать это другое подмножество в качестве зависящих от объекта входных данных 556. После получения зависящих от объекта входных данных 556 второй алгоритм MLA (обучаемая вторая вложенная метрика 414) способен формировать прогноз 558. Прогноз 558 указывает на вероятность принадлежности проверочного объекта к первому классу и основывается на событиях объекта другого вида, связанных со вторым алгоритмом MLA (например, на событиях объекта, представляющих собой «длинные клики»). Затем сервер 106 способен формировать результат 560 сравнения, указывающий на различие между целью 554 и прогнозом 558.[0140] Thus, it can be assumed that other kind of object events used as object dependent input 556 are "long clicks". Therefore, the server 106 can determine from the object-specific test set 225 a different subset of object events that are "long clicks" and use this other subset as the object-specific input 556. After receiving the object-specific input 556, the second algorithm The MLA (learnable second nested metric 414) is capable of generating a prediction 558. The prediction 558 indicates the probability that the test object belongs to the first class and is based on other kind of object events associated with the second MLA algorithm (for example, object events representing "long clicks" ). The server 106 is then able to generate a comparison result 560 indicating the difference between the target 554 and the prediction 558.

[0141] Можно сказать, что результат 560 сравнения может указывать на сходство или несходство прогноза 558 и цели 554. Сервер 106 использует результат 560 сравнения для обучения или корректировки второго алгоритма MLA так, чтобы второй алгоритм MLA формировал прогнозы, максимально близкие к соответствующим целям.[0141] We can say that the comparison result 560 may indicate the similarity or dissimilarity of the forecast 558 and the goal 554. The server 106 uses the comparison result 560 to train or adjust the second MLA algorithm so that the second MLA algorithm generates predictions that are as close as possible to the respective goals.

[0142] После большого количества итераций обучения, выполненных подобно одной итерации обучения второго алгоритма MLA, представленной на фиг. 5, вторая вложенная метрика 414 способна использовать события объекта соответствующего вида, связанные со второй вложенной метрикой 414, например, «длинные клики», для формирования прогнозов, указывающих на вероятность принадлежности соответствующих объектов к первому классу.[0142] After a large number of training iterations performed like one training iteration of the second MLA algorithm shown in FIG. 5, the second nested metric 414 is capable of using the appropriate kind of object events associated with the second nested metric 414, such as "long clicks", to generate predictions indicating the likelihood that the corresponding objects belong to the first class.

[0143] Как описано выше, обучающие наборы для обучения первой вложенной метрики 412 и второй вложенной метрики 414 могут быть определены или не определены на основе одних и тех же зависящих от объекта проверочных наборов данных. В представленном на фиг. 5 не имеющем ограничительного характера примере можно предположить, что зависящий от объекта проверочный набор 224 данных для проверочного объекта содержит события «кликов» и что среди этих событий «кликов» присутствуют события «длинных кликов». Тем не менее, не каждый проверочный объект может иметь события, соответствующие вложенным событиям множества 410 вложенных метрик.[0143] As described above, the training sets for training the first nested metric 412 and the second nested metric 414 may or may not be determined based on the same object-specific test datasets. In the shown in FIG. 5, as a non-limiting example, it can be assumed that the object-specific validation data set 224 for the validation object contains "click" events and that among these "click" events there are "long click" events. However, not every check object may have events corresponding to nested events of nested metrics set 410 .

[0144] В некоторых вариантах осуществления настоящей технологии первая метрика и вторая метрика из множества вложенных метрик могут быть обучены независимо друг от друга. В некоторых вариантах осуществления изобретения первая метрика и вторая метрика из множества вложенных метрик могут быть обучены по отдельности сервером 106.[0144] In some embodiments of the present technology, the first metric and the second metric of a plurality of nested metrics can be trained independently of each other. In some embodiments, the first metric and the second metric of a plurality of nested metrics may be trained separately by server 106.

[0145] В одном примере зависящий от объекта проверочный набор 225 данных может содержать события «кликов», но не содержать событий «длинных кликов». В этом примере зависящий от объекта проверочный набор 225 данных может быть использован сервером 106 для обучения первой вложенной метрики 412, поскольку он содержит события объекта соответствующего вида, связанные с первой вложенной метрикой 412 (например, вида «клик»). Тем не менее, сервер 106 не может использовать зависящий от объекта проверочный набор 225 данных для обучения второй вложенной метрики 414, поскольку он не содержит событий объекта соответствующего вида, связанных со второй вложенной метрикой 414 (например, вида «длинный клик»). В таком примере сервер 106 может использовать для обучения второй вложенной метрики 414 другой зависящий от объекта проверочный набор данных.[0145] In one example, the object-specific validation data set 225 may contain "click" events, but not contain "long click" events. In this example, the object-specific test set 225 can be used by the server 106 to train the first nested metric 412 because it contains the appropriate kind of object events associated with the first nested metric 412 (eg, "click" kind). However, the server 106 cannot use the object-specific test set 225 to train the second nested metric 414 because it does not contain object events of the appropriate kind associated with the second nested metric 414 (eg, long click). In such an example, the server 106 may use a different object-specific test set to train the second nested metric 414.

[0146] Тем не менее, следует отметить, что если сервер 106 определил, что зависящий от объекта проверочный набор данных содержит события объекта, связанные со второй вложенной метрикой 414, то сервер 106 также может определить, что этот зависящий от объекта проверочный набор данных содержит события объекта, связанные с первой вложенной метрикой 412, поскольку между событиями объекта видов, используемых соответствующими метриками из множества 410 вложенных метрик, существует взаимосвязь вида «вложенность».[0146] However, it should be noted that if the server 106 has determined that the object-specific test set contains object events associated with the second nested metric 414, then the server 106 may also determine that the object-specific test set contains object events associated with the first nested metric 412, since there is a "nesting" relationship between the object events of the species used by the corresponding metrics from the nested metrics set 410 .

[0147] Как описано выше, сервер 106 способен выбирать целевое сочетание 450 зависящих от метрики порогов из множества сочетаний-кандидатов зависящих от метрики порогов. На фиг. 6 дано представление 600 итеративного процесса проверки, выполняемого сервером 106 для выбора целевого сочетания 450 зависящих от метрики порогов.[0147] As described above, the server 106 is able to select a target metric dependent threshold combination 450 from a plurality of candidate metric dependent threshold combinations. In FIG. 6 is a representation 600 of an iterative check process performed by the server 106 to select a target combination 450 of metric dependent thresholds.

[0148] Предполагается, что сервер 106 может получать зависящие от объекта проверочные данные 220, содержащие множество зависящих от объекта проверочных наборов данных для выполнения итеративного процесса проверки.[0148] It is contemplated that the server 106 may receive object-specific verification data 220 containing a plurality of object-specific verification datasets to perform an iterative verification process.

[0149] Сервер 106 может формировать первые прогнозируемые данные 610 и вторые прогнозируемые данные 620 на основе зависящих от объекта проверочных данных 220 и множества 410 вложенных метрик. Например, как описано выше, сервер 106 может вводить по меньшей мере подмножество из зависящего от объекта проверочного набора 225 данных в первую вложенную метрику 412 и по меньшей мере другое подмножество из зависящего от объекта проверочного набора 225 данных во вторую вложенную метрику 414 с целью формирования первого прогноза 612 и второго прогноза 614, соответственно, для проверочного объекта (и для связанных с ним событий), связанного с зависящим от объекта проверочным набором данных 225.[0149] The server 106 may generate the first prediction data 610 and the second prediction data 620 based on the object-specific test data 220 and the set 410 of nested metrics. For example, as described above, the server 106 may input at least a subset of the object-specific validation dataset 225 into the first nested metric 412 and at least another subset of the object-specific validation dataset 225 into the second nested metric 414 to generate the first prediction 612 and second prediction 614, respectively, for the test object (and its associated events) associated with the object-specific test dataset 225.

[0150] Сервер 106 может подобным образом использовать (а) первую вложенную метрику 412 для формирования множества 622 первых прогнозов на основе множества зависящих от объекта проверочных наборов данных и (б) вторую вложенную метрику 414 для формирования множества 624 вторых прогнозов на основе множества зависящих от объекта проверочных наборов данных. Предполагается, что лишь некоторые метрики из множества 410 вложенных метрик могут быть использованы для проверочного объекта. Например, сервер 106 может использовать те метрики из множества 410 вложенных метрик, для которых соответствующий зависящий от объекта проверочный набор данных содержит ненулевое подмножество объектов соответствующих видов.[0150] The server 106 may similarly use (a) the first nested metric 412 to generate a set of first predictions 622 based on a set of object-specific test sets, and (b) a second nested metric 414 to generate a set of 624 second predictions based on a set of object-dependent validation dataset object. It is assumed that only some of the metrics from the set of 410 nested metrics can be used for the test object. For example, server 106 may use those metrics from nested metrics set 410 for which the corresponding object-specific test dataset contains a non-zero subset of objects of the respective kinds.

[0151] Можно сказать, что сервер 106 может применять множество 410 вложенных метрик в отношении множества зависящих от объекта проверочных наборов данных и формировать таким образом множество 625 прогнозов (содержащее первые прогнозы 622 и вторые прогнозы 624), указывающих на вероятность принадлежности проверочного объекта (и связанных с ним событий ) к первому классу или ко второму классу.[0151] We can say that the server 106 can apply a set of nested metrics 410 in relation to a set of object-specific test datasets and thus generate a set 625 predictions (comprising first predictions 622 and second predictions 624) indicating the probability of belonging to the test object (and related events) to the first class or to the second class.

[0152] На фиг. 6 также приведены представление 602 первой итерации итеративного процесса проверки и представление 604 второй итерации итеративного процесса проверки.[0152] In FIG. 6 also shows a view 602 of the first iteration of the iterative verification process and a view 604 of the second iteration of the iterative verification process.

[0153] Во время первой итерации сервер 106 может использовать первое сочетание-кандидат 650 зависящих от метрики порогов для сравнения со множеством 625 прогнозов. В частности, во время первой итерации сервер 106 может использовать первый зависящий от метрики порог 630 из первого сочетания-кандидата 650 зависящих от метрики порогов для сравнения с первыми прогнозами 622 и второй зависящий от метрики порог 640 из первого сочетания-кандидата 650 зависящих от метрики порогов для сравнения со вторыми прогнозами 624.[0153] During the first iteration, the server 106 may use the first metric-dependent threshold candidate combination 650 to compare against the set 625 of predictions. In particular, during the first iteration, the server 106 may use the first metric-dependent threshold 630 of the first metric-dependent threshold candidate 650 to compare against the first predictions 622 and the second metric-dependent threshold 640 of the first metric-dependent threshold candidate 650 for comparison with second forecasts 624.

[0154] В некоторых вариантах осуществления изобретения предполагается, что первое сочетание-кандидат 650 зависящих от метрики порогов может быть инициализировано сервером 106. Например, сервер 106 может использовать заранее заданное первоначальное сочетание-кандидат зависящих от метрики порогов для выполнения первой итерации. Как описано ниже, заранее заданное первоначальное сочетание-кандидат зависящих от метрики порогов может быть использовано сервером для определения множества сочетаний-кандидатов зависящих от метрики порогов путем корректировки одного или нескольких зависящих от метрики порогов в этом сочетании-кандидате для формирования нового сочетания-кандидата.[0154] In some embodiments, it is contemplated that the first candidate metric dependent threshold combination 650 may be initialized by server 106. For example, server 106 may use a predefined initial candidate metric dependent threshold combination to perform the first iteration. As described below, a predetermined initial candidate metric dependent threshold combination may be used by the server to determine a plurality of candidate metric dependent threshold combinations by adjusting one or more metric dependent thresholds in that candidate combination to generate a new candidate combination.

[0155] Например, сервер 106 может сравнивать первый прогноз 612 для проверочного объекта, связанного с зависящим от объекта проверочным набором 225 данных, с первым зависящим от метрики порогом 630 и в результате определять прогнозируемый класс 672. Например, если первый прогноз 612 больше первого зависящего от метрики порога 630, то сервер 106 может определять, что прогнозируемый класс 672 указывает на первый класс. В противном случае, если первый прогноз 612 меньше первого зависящего от метрики порога 630, то сервер 106 может определять, что прогнозируемый класс 672 указывает на второй класс. Сервер 106 может подобным образом сравнивать каждый прогноз из множества 622 первых прогнозов для формирования первого множества 674 прогнозируемых классов. Можно сказать, что первые данные 670 прогнозируемых классов формируются на основе сравнения первых прогнозируемых данных 610 с первым зависящим от метрики порогом 630.[0155] For example, the server 106 may compare the first prediction 612 for the test object associated with the object-specific test set 225 with the first metric-dependent threshold 630 and determine the predicted class 672 as a result. For example, if the first prediction 612 is greater than the first dependent from the threshold metric 630, then the server 106 may determine that the predicted class 672 indicates the first class. Otherwise, if the first prediction 612 is less than the first metric-dependent threshold 630, then the server 106 may determine that the predicted class 672 points to the second class. The server 106 may similarly compare each prediction from the first prediction set 622 to form a first prediction class set 674 . It can be said that the first prediction class data 670 is generated based on the comparison of the first prediction data 610 with the first metric dependent threshold 630.

[0156] В том же примере сервер 106 может сравнивать второй прогноз 614 для проверочного объекта, связанного с зависящим от объекта проверочным набором 225 данных, со вторым зависящим от метрики порогом 640 и в результате определять прогнозируемый класс 682. Сервер 106 может подобным образом сравнивать каждый прогноз из множества 624 вторых прогнозов для формирования второго множества 684 прогнозируемых классов. Можно сказать, что вторые данные 680 прогнозируемых классов формируются на основе сравнения вторых прогнозируемых данных 620 со вторым зависящим от метрики порогом 640.[0156] In the same example, server 106 may compare a second prediction 614 for the test object associated with the object-specific test set 225 against a second metric-dependent threshold 640 and determine a predicted class 682 as a result. Server 106 may similarly compare each a prediction from the second prediction set 624 to form a second prediction class set 684 . It can be said that the second class prediction data 680 is generated based on the comparison of the second prediction data 620 with the second metric dependent threshold 640.

[0157] Сервер 106 может сравнивать первые данные 670 прогнозируемых классов и вторые данные 680 прогнозируемых классов с данными 690 разметки из зависящих от объекта проверочных данных 220.[0157] The server 106 may compare the first predictive class data 670 and the second predictive class data 680 with the markup data 690 from the object-specific check data 220.

[0158] С одной стороны, данные 690 разметки содержат указания на контрольные классы проверочных объектов. С другой стороны, прогнозируемые классы из первого множества 674 прогнозируемых классов (предсказанные с использованием первой вложенной метрики 412) и из второго множества 684 прогнозируемых классов связаны с соответствующим проверочным объектом.[0158] On the one hand, markup data 690 contains indications of the control classes of the check objects. On the other hand, predictive classes from the first predictive class set 674 (predicted using the first nested metric 412) and from the second predictive class set 684 are associated with the corresponding test object.

[0159] Таким образом, сервер 106 может сравнивать первые данные 670 прогнозируемых классов и вторые данные 680 прогнозируемых классов с данными 690 разметки для оценки эффективности классификации первой вложенной метрики 412 и второй вложенной метрики 414, используемых совместно в сочетании с первым зависящим от метрики порогом 630 и вторым зависящим от метрики порогом 640 (первое сочетание-кандидат 650 зависящих от метрики порогов). Например, для первой итерации сервер 106 может определять первый параметр 692 точности и первый параметр 694 полноты для первой вложенной метрики 412, а также другой первый параметр 696 точности и другой первый параметр 698 полноты для второй вложенной метрики 414.[0159] Thus, the server 106 may compare the first predictive class data 670 and the second predictive class data 680 with the markup data 690 to evaluate the classification performance of the first nested metric 412 and the second nested metric 414 used in conjunction with the first metric dependent threshold 630 and a second metric dependent threshold 640 (first candidate combination 650 metric dependent thresholds). For example, for the first iteration, the server 106 may determine a first precision parameter 692 and a first recall parameter 694 for the first nested metric 412, as well as a different first precision parameter 696 and a different first recall parameter 698 for the second nested metric 414.

[0160] В общем случае параметр точности (также называемый прогностической ценностью положительного результата) представляет собой долю релевантных экземпляров среди полученных экземпляров, а параметр полноты (также называемый чувствительностью) представляет собой долю фактически полученных экземпляров из общего количества релевантных экземпляров. Иными словами, параметр полноты указывает на то, сколько релевантных экземпляров было получено метрикой, а параметр точности указывает, сколько полученных экземпляров было фактически правильно классифицировано.[0160] In general, the accuracy parameter (also called positive predictive value) is the proportion of relevant instances among the received instances, and the recall parameter (also called sensitivity) is the proportion of actually received instances out of the total number of relevant instances. In other words, the completeness parameter indicates how many relevant instances were received by the metric, and the accuracy parameter indicates how many received instances were actually correctly classified.

[0161] Таким образом, можно сказать, что сервер 106 во время первой итерации может формировать первые параметры точности (первый параметр 692 точности и другой первый параметр 696 точности) и первые параметры полноты (первый параметр 694 полноты и другой первый параметр 698 полноты) для множества 410 вложенных метрик, используемых вместе с первым сочетанием 650 зависящих от метрики порогов, путем сравнения контрольных классов из зависящих от объекта проверочных данных 220 с соответствующими прогнозируемыми классами проверочных объектов.[0161] Thus, it can be said that the server 106 during the first iteration can generate the first precision parameters (the first precision parameter 692 and the other first precision parameter 696) and the first completeness parameters (the first completeness parameter 694 and the other first completeness parameter 698) for nested metric sets 410 used in conjunction with the first metric-dependent threshold combination 650 by comparing control classes from the object-specific test data 220 with the corresponding predicted test object classes.

[0162] Следует отметить, что сервер 106 может сохранять указание на первое сочетание-кандидат 650 зависящих от метрики порогов в сочетании с первым параметром 692 точности и первым параметром 694 полноты для первой вложенной метрики 412, а также в сочетании с другим первым параметром 696 точности и другим первым параметром 698 полноты для второй вложенной метрики 414.[0162] It should be noted that the server 106 may store an indication of the first metric-dependent threshold candidate combination 650 in combination with the first precision parameter 692 and the first recall parameter 694 for the first nested metric 412, and also in combination with another first precision parameter 696 and another first completeness parameter 698 for the second nested metric 414.

[0163] Во время второй итерации сервер 106 может использовать второе сочетание-кандидат 660 зависящих от метрики порогов для сравнения со множеством 625 прогнозов.[0163] During the second iteration, the server 106 may use a second candidate metric dependent threshold combination 660 to compare against the set 625 of predictions.

[0164] Как описано выше, предполагается, что сервер 106 может определять второе сочетание-кандидат 660 зависящих от метрики порогов на основе первого сочетания-кандидата 650 зависящих от метрики порогов. В одном варианте осуществления изобретения сервер 106 может корректировать один порог из первого сочетания-кандидата 650, сохраняя оставшуюся часть первого сочетания-кандидата 650 без изменений.[0164] As described above, it is contemplated that the server 106 can determine the second metric dependent threshold candidate combination 660 based on the first metric dependent threshold candidate 650 combination. In one embodiment, the server 106 may adjust one threshold from the first candidate combination 650 while keeping the remainder of the first candidate combination 650 unchanged.

[0165] Таким образом, сервер 106 может определять второе сочетание-кандидат 660 путем корректировки второго зависящего от метрики порога 640 из первого сочетания-кандидата 650. В этом примере второе сочетание-кандидат 660 содержит первый зависящий от метрики порог 630 и скорректированный второй зависящий от метрики порог 642 (на основе второго зависящего от метрики порога 640).[0165] Thus, the server 106 can determine the second combination candidate 660 by adjusting the second metric dependent threshold 640 from the first combination candidate 650. In this example, the second combination candidate 660 comprises a first metric dependent threshold 630 and an adjusted second dependent metric threshold 642 (based on second metric dependent threshold 640).

[0166] В по меньшей мере некоторых вариантах осуществления настоящей технологии сервер 106 может применять алгоритм корректировки, способный управлять направлением (например, увеличением или уменьшением) и абсолютным значением для корректировки зависящего от метрики порога при переходе от одной итерации к другой. Как описано ниже, в одном варианте осуществления изобретения текущее значение корректировки, на которое зависящий от метрики порог может быть скорректирован для следующей итерации, может зависеть от предыдущего значения корректировки, на которое этот зависящий от метрики порог был скорректирован для предыдущей итерации.[0166] In at least some embodiments of the present technology, server 106 may apply an adjustment algorithm capable of controlling direction (eg, increase or decrease) and absolute value to adjust the metric-dependent threshold from one iteration to the next. As described below, in one embodiment of the invention, the current adjustment value by which the metric-dependent threshold may be adjusted for the next iteration may depend on the previous adjustment value by which the metric-dependent threshold was adjusted for the previous iteration.

[0167] Во время второй итерации сервер 106 может использовать первый зависящий от метрики порог 630 из второго сочетания-кандидата 660 для сравнения с первыми прогнозами 622 и скорректированный второй зависящий от метрики порог 642 из второго сочетания-кандидата 660 для сравнения со вторыми прогнозами 624.[0167] During the second iteration, the server 106 may use a first metric dependent threshold 630 from the second candidate combination 660 to compare against the first predictions 622 and an adjusted second metric dependent threshold 642 from the second candidate combination 660 to compare against the second predictions 624.

[0168] Например, сервер 106 может сравнивать первый прогноз 612 для проверочного объекта, связанного с зависящим от объекта проверочным набором 225 данных, с первым зависящим от метрики порогом 630 и в результате определять прогнозируемый класс 872. Например, если первый прогноз 612 больше первого зависящего от метрики порога 630, то сервер 106 может определять, что прогнозируемый класс 872 указывает на первый класс. В противном случае, если первый прогноз 612 меньше первого зависящего от метрики порога 630, то сервер 106 может определять, что прогнозируемый класс 872 указывает на второй класс. Сервер 106 может подобным образом сравнивать каждый прогноз из множества 622 первых прогнозов для формирования третьего множества 874 прогнозируемых классов. Можно сказать, что третьи данные 870 прогнозируемых классов формируются на основе сравнения первых прогнозируемых данных 610 с первым зависящим от метрики порогом 630.[0168] For example, the server 106 may compare the first prediction 612 for the test object associated with the object-specific test set 225 against the first metric-dependent threshold 630 and determine the predicted class 872 as a result. For example, if the first prediction 612 is greater than the first dependent from the threshold metric 630, then the server 106 may determine that the predicted class 872 indicates the first class. Otherwise, if the first prediction 612 is less than the first metric-dependent threshold 630, then the server 106 may determine that the predicted class 872 points to the second class. The server 106 may similarly compare each prediction from the first prediction set 622 to form a third prediction class set 874 . It can be said that the third prediction class data 870 is generated based on the comparison of the first prediction data 610 with the first metric dependent threshold 630.

[0169] В том же примере сервер 106 может сравнивать второй прогноз 614 для проверочного объекта, связанного с зависящим от объекта проверочным набором 225 данных, со скорректированным вторым зависящим от метрики порогом 642 и в результате определять прогнозируемый класс 882. Сервер 106 может подобным образом сравнивать каждый прогноз из множества 624 вторых прогнозов для формирования четвертого множества 884 прогнозируемых классов. Можно сказать, что четвертые данные 880 прогнозируемых классов формируются на основе сравнения вторых прогнозируемых данных 620 со скорректированным вторым зависящим от метрики порогом 642.[0169] In the same example, the server 106 may compare the second prediction 614 for the test object associated with the object-specific test set 225 with the adjusted second metric-dependent threshold 642 and determine the predicted class 882 as a result. The server 106 may similarly compare each prediction from a plurality of 624 second predictions to form a fourth plurality of 884 predictive classes. It can be said that the fourth class prediction data 880 is generated based on the comparison of the second prediction data 620 with the adjusted second metric dependent threshold 642.

[0170] Сервер 106 может сравнивать третьи данные 870 прогнозируемых классов и четвертые данные 880 прогнозируемых классов с данными 690 разметки из зависящих от объекта проверочных данных 220. Таким образом, сервер 106 может сравнивать третьи данные 870 прогнозируемых классов и четвертые данные 880 прогнозируемых классов с данными 690 разметки для оценки эффективности классификации первой вложенной метрики 412 и второй вложенной метрики 414, используемых в сочетании с первым зависящим от метрики порогом 630 и скорректированным вторым зависящим от метрики порогом 642, соответственно. Например, сервер 106 может определять второй параметр 892 точности и второй параметр 894 полноты для первой вложенной метрики 412, а также другой второй параметр 896 точности и другой второй параметр 898 полноты для второй вложенной метрики 414 в случае использования со вторым сочетанием-кандидатом 660.[0170] The server 106 may compare the third predicted class data 870 and the fourth predicted class data 880 with the markup data 690 from the object-specific check data 220. Thus, the server 106 may compare the third predictive class data 870 and the fourth predictive class data 880 with the data 690 markups for evaluating the classification performance of the first nested metric 412 and the second nested metric 414 used in conjunction with the first metric dependent threshold 630 and the adjusted second metric dependent threshold 642, respectively. For example, the server 106 may define a second precision parameter 892 and a second recall parameter 894 for the first nested metric 412, as well as a different second precision parameter 896 and a different second recall parameter 898 for the second nested metric 414 when used with the second candidate combination 660.

[0171] Таким образом, можно сказать, что сервер 106 во время второй итерации может формировать вторые параметры точности (второй параметр 892 точности и другой второй параметр 896 точности) и вторые параметры полноты (второй параметр 894 полноты и другой второй параметр 898 полноты) для множества 410 вложенных метрик путем сравнения контрольных классов из зависящих от объекта проверочных данных 220 с прогнозируемыми классами проверочных объектов.[0171] Thus, it can be said that the server 106 during the second iteration can generate the second precision parameters (the second precision parameter 892 and the other second precision parameter 896) and the second completeness parameters (the second completeness parameter 894 and the other second completeness parameter 898) for nested metric sets 410 by comparing the control classes from the object-specific test data 220 with the predicted test object classes.

[0172] Следует отметить, что сервер 106 может сохранять указание на второе сочетание-кандидат 660 зависящих от метрики порогов в сочетании со вторым параметром 892 точности и вторым параметром 894 полноты для первой вложенной метрики 412, а также в сочетании с другим вторым параметром 896 точности и другим вторым параметром 898 полноты для второй вложенной метрики 414.[0172] It should be noted that the server 106 may store an indication of the second candidate combination 660 metric dependent thresholds in combination with a second precision parameter 892 and a second recall parameter 894 for the first nested metric 412, and also in combination with another second precision parameter 896 and another second fullness parameter 898 for the second nested metric 414.

[0173] Сервер 106 может выполнять большое количество итераций подобно тому, как сервер 106 выполняет первую и вторую итерации. В некоторых вариантах осуществления изобретения сервер 106 может выполнять итерации итеративного процесса проверки до достижения критерия останова. Например, сервер 106 может продолжать итеративный процесс проверки до тех пор, пока один или несколько параметров точности и/или один или несколько параметров полноты для обучающей итерации не превысят один или несколько заранее заданных порогов, как описано ниже.[0173] The server 106 may perform a large number of iterations, similar to how the server 106 performs the first and second iterations. In some embodiments, the server 106 may iterate the iterative verification process until a stop criterion is reached. For example, server 106 may continue the iterative verification process until one or more precision parameters and/or one or more recall parameters for the training iteration exceed one or more predetermined thresholds, as described below.

[0174] Как описано выше, предполагается, что сервер 106 может выбирать направление корректировки зависящего от метрики порога из сочетания-кандидата для формирования нового (скорректированного) сочетания-кандидата в зависимости от предыдущего направления корректировки этого зависящего от метрики порога.[0174] As described above, it is contemplated that the server 106 can select a metric-dependent threshold adjustment direction from a candidate combination to generate a new (adjusted) candidate combination depending on the previous adjustment direction of that metric-dependent threshold.

[0175] Например, можно предположить, что во время третьей итерации сервер 106 использует второе сочетание-кандидат 660 для формирования нового (третьего) сочетания-кандидата. Сервер 106 может сохранить без изменений скорректированный второй зависящий от метрики порог 642 в третьем сочетании-кандидате и использовать скорректированный первый зависящий от метрики порог вместо первого зависящего от метрики порога 630. Иными словами, третье сочетание-кандидат может содержать скорректированный (новый) первый зависящий от метрики порог и скорректированный второй зависящий от метрики порог 642. Сервер 106 может выполнять третью итерацию итеративного процесса проверки с использованием этого третьего сочетания-кандидата подобно описанной выше первой и/или второй итерации.[0175] For example, it can be assumed that during the third iteration, the server 106 uses the second candidate combination 660 to form a new (third) candidate combination. The server 106 may retain the adjusted second metric dependent threshold 642 in the third candidate combination unchanged and use the adjusted first metric dependent threshold instead of the first metric dependent threshold 630. In other words, the third candidate combination may contain an adjusted (new) first dependent on metric threshold and an adjusted second metric dependent threshold 642. Server 106 may perform a third iteration of the iterative verification process using this third candidate combination, similar to the first and/or second iteration described above.

[0176] В том же примере, когда сервер 106 формирует новое (четвертое) сочетание-кандидат для четвертой итерации, сервер 106 может определить, что следует сохранить без изменений скорректированный первый зависящий от метрики порог из третьего сочетания-кандидата и скорректировать скорректированный второй зависящий от метрики порог 642. С этой целью в некоторых вариантах осуществления изобретения сервер 106 может осуществлять доступ к информации, указывающей на предыдущую корректировку зависящего от метрики порога для второй вложенной метрики 414. Например, сервер 106 может получать предыдущее значение, на которое сервер 106 ранее скорректировал второй зависящий от метрики порог 640, для формирования скорректированного второго зависящего от метрики порога 642. Предыдущее значение может иметь знак (направление корректировки) и модуль (абсолютное значение корректировки).[0176] In the same example, when server 106 generates a new (fourth) candidate combination for the fourth iteration, server 106 may determine to keep the adjusted first metric dependent threshold from the third candidate combination unchanged and adjust the adjusted second dependent on metric threshold 642. To this end, in some embodiments, server 106 may access information indicative of a previous metric-dependent threshold adjustment for second nested metric 414. For example, server 106 may obtain the previous value that server 106 previously adjusted the second metric-dependent threshold 640 to form an adjusted second metric-dependent threshold 642. The previous value may have a sign (adjustment direction) and modulus (absolute adjustment value).

[0177] Предполагается, что сервер 106 может определять новое значение, на которое сервер 106 должен скорректировать ранее скорректированный второй зависящий от метрики порог 642 для формирования повторно скорректированного второго зависящего от метрики порога в четвертом сочетании-кандидате, путем определения значения, которое имеет (а) знак, отличающийся от знака предыдущего значения (другое направление корректировки), и (б) меньший модуль (меньше абсолютное значение корректировки). Затем сервер 106 может выполнять четвертую итерацию итеративного процесса проверки с использованием этого четвертого сочетания-кандидата, содержащего скорректированный первый зависящий от метрики порог и повторно скорректированный второй зависящий от метрики порог.[0177] It is contemplated that server 106 can determine a new value by which server 106 should adjust the previously adjusted second metric dependent threshold 642 to generate a re-adjusted second metric dependent threshold in the fourth candidate combination by determining a value that has (a ) sign different from the sign of the previous value (different direction of adjustment), and (b) smaller modulus (smaller absolute value of adjustment). The server 106 may then perform a fourth iteration of the iterative verification process using this fourth candidate combination comprising the adjusted first metric-dependent threshold and the re-adjusted second metric-dependent threshold.

[0178] Также предполагается, что сервер 106 может выбирать сочетание-кандидат из множества сочетаний-кандидатов зависящих от метрики порогов (связанных с соответствующими итерациями итеративного процесса проверки) путем сравнения параметров точности и полноты с соответствующими порогами параметров. Предполагается, что пороги параметров могут содержать заранее заданный порог точности и/или заранее заданный порог полноты (например, заданные оператором интерактивного сервиса).[0178] It is also contemplated that server 106 can select a candidate combination from a plurality of candidate combinations of metric dependent thresholds (associated with respective iterations of the iterative validation process) by comparing precision and recall parameters with respective parameter thresholds. It is contemplated that the parameter thresholds may comprise a predetermined accuracy threshold and/or a predetermined completeness threshold (eg, as defined by an interactive service operator).

[0179] В одном варианте осуществления изобретения сервер 106 может использовать заранее заданный порог точности, указывающий на минимальный параметр точности, который оператор считает подходящим для выполнения бинарной классификации объектов. В этом варианте осуществления изобретения для первой итерации сервер 106 может сравнивать первый параметр 692 точности и другой первый параметр 696 точности с заранее заданным порогом точности. Если первый параметр 692 точности и другой первый параметр 696 точности больше заранее заданного порога точности, то первое сочетание-кандидат 650 зависящих от метрики порогов сохраняется для последующей обработки. Если первый параметр 692 точности и/или другой первый параметр 696 точности меньше заранее заданного порога точности, то первое сочетание-кандидат 650 зависящих от метрики порогов исключается из последующей обработки. В этом варианте осуществления изобретения для второй итерации сервер 106 может сравнивать второй параметр 892 точности и другой второй параметр 896 точности с заранее заданным порогом точности. Если второй параметр 892 точности и другой второй параметр 896 точности больше заранее заданного порога точности, то второе сочетание-кандидат 660 зависящих от метрики порогов сохраняется для последующей обработки. Если второй параметр 892 точности и/или другой второй параметр 896 точности меньше заранее заданного порога точности, то второе сочетание-кандидат 660 зависящих от метрики порогов исключается из последующей обработки. В этом варианте осуществления изобретения сервер 106 может выбирать сочетание-кандидат из числа сохраненных сочетаний-кандидатов, связанное с наибольшими параметрами полноты из числа параметров полноты других сохраненных сочетаний-кандидатов, в качестве целевого сочетания зависящих от метрики порогов.[0179] In one embodiment, server 106 may use a predetermined accuracy threshold indicative of a minimum accuracy parameter that an operator deems appropriate to perform binary classification of objects. In this embodiment, for the first iteration, the server 106 may compare the first accuracy parameter 692 and another first accuracy parameter 696 with a predetermined accuracy threshold. If the first accuracy parameter 692 and the other first accuracy parameter 696 are greater than a predetermined accuracy threshold, then the first candidate metric-dependent threshold combination 650 is stored for later processing. If the first accuracy parameter 692 and/or the other first accuracy parameter 696 is less than a predetermined accuracy threshold, then the first candidate metric dependent threshold combination 650 is excluded from further processing. In this embodiment, for the second iteration, the server 106 may compare the second accuracy parameter 892 and another second accuracy parameter 896 with a predetermined accuracy threshold. If the second accuracy parameter 892 and the other second accuracy parameter 896 are greater than a predetermined accuracy threshold, then a second candidate metric-dependent threshold combination 660 is stored for later processing. If the second accuracy parameter 892 and/or other second accuracy parameter 896 is less than a predetermined accuracy threshold, then the second candidate metric dependent threshold combination 660 is excluded from further processing. In this embodiment, the server 106 may select a candidate combination from among the stored candidate combinations associated with the highest recall parameters from among the recall parameters of other stored candidate combinations as the target combination of metric dependent thresholds.

[0180] Дополнительно или в качестве альтернативы сервер 106 может определять сочетание-кандидат из множества сочетаний-кандидатов, которое должно быть сохранено, на основе заранее заданного порога полноты (минимальный параметр полноты, который оператор считает подходящим). Затем сервер 106 может выбрать сочетание-кандидат из числа сохраненных сочетаний-кандидатов, связанное с наибольшими параметрами точности из числа параметров точности других сохраненных сочетаний-кандидатов, в качестве целевого сочетания.[0180] Additionally or alternatively, server 106 may determine a candidate combination from a plurality of candidate combinations to be stored based on a predetermined completeness threshold (the minimum completeness parameter that the operator considers appropriate). The server 106 may then select the candidate combination among the stored candidate combinations associated with the highest accuracy parameters among the accuracy parameters of the other stored candidate combinations as the target combination.

[0181] На фиг. 7 представлена блок-схема способа 700 согласно по меньшей мере некоторым не имеющим ограничительного характера вариантам осуществления настоящей технологии. Ниже более подробно описаны различные шаги способа 700 определения целевого сочетания зависящих от метрики порогов, подлежащих использованию со множеством вложенных метрик для выполнения бинарной классификации цифрового объекта.[0181] In FIG. 7 is a flow diagram of a method 700 in accordance with at least some non-limiting embodiments of the present technology. The various steps of a method 700 for determining a target combination of metric-dependent thresholds to be used with a plurality of nested metrics to perform a binary classification of a digital object are described in more detail below.

Шаг 702: получение множества зависящих от объекта проверочных наборов данных.Step 702: Obtaining a plurality of object-specific test sets.

[0182] Способ 700 начинается с шага 702, на котором сервер 106 может получать множество зависящих от объекта проверочных наборов данных. Например, сервер 106 может получать зависящие от объекта проверочные данные 220, содержащие множество зависящих от объекта проверочных наборов данных. Набор из множества зависящих от объекта проверочных наборов данных содержит указание на множество прошлых событий объекта, связанных с проверочным объектом, и контрольный класс проверочного объекта, представляющий собой первый класс или второй класс.[0182] The method 700 begins at step 702, where the server 106 may receive a plurality of object-specific validation datasets. For example, server 106 may receive object-specific validation data 220 containing a plurality of object-specific validation datasets. The set of the plurality of object-specific verification datasets contains an indication of a plurality of past object events associated with the verification object, and a verification object's control class, which is the first class or the second class.

[0183] В некоторых вариантах осуществления изобретения объект может представлять собой сообщение электронной почты, при этом первый класс соответствует спаму, а второй класс соответствует отсутствию спама. В качестве альтернативы, объект может представлять собой пользователя платформы электронной торговли, при этом первый класс соответствует мошенничеству, а второй класс соответствует отсутствию мошенничества. В некоторых случаях объект может представлять собой документ, при этом первый класс соответствует релевантности, а второй класс соответствует нерелевантности.[0183] In some embodiments, the object may be an email message, with the first class corresponding to spam and the second class corresponding to no spam. Alternatively, the entity may represent an e-commerce platform user, with the first class corresponding to fraud and the second class corresponding to no fraud. In some cases, the object may be a document, with the first class corresponding to relevance and the second class corresponding to irrelevance.

Шаг 704: применение множества вложенных метрик в отношении множества зависящих от объекта проверочных наборов данных.Step 704: Applying a plurality of nested metrics to a plurality of object-specific test sets.

[0184] Способ 700 продолжается на шаге 704, на котором сервер 106 может применять множество 410 вложенных метрик в отношении множества зависящих от объекта проверочных наборов данных и формировать таким образом множество 625 прогнозов. Прогноз указывает на вероятность принадлежности проверочного объекта к первому классу или ко второму классу.[0184] The method 700 continues at step 704, where the server 106 may apply a set of nested metrics 410 to a set of object-specific test sets and thus generate a set 625 of predictions. The prediction indicates the probability that the test object belongs to the first class or to the second class.

[0185] В некоторых вариантах осуществления изобретения первая метрика из множества вложенных метрик может основываться на событиях объекта первого вида, а вторая метрика из множества вложенных метрик может основываться на событиях объекта второго вида, при этом события объекта второго вида происходят, только если произошли события объекта первого вида. В некоторых вариантах осуществления изобретения события объекта второго вида могут представлять собой подмножество событий объекта первого вида.[0185] In some embodiments of the invention, the first metric of the set of nested metrics may be based on the events of the first type of object, and the second metric of the set of nested metrics may be based on the events of the second type of object, while the events of the second type object occur only if the object events occurred first kind. In some embodiments of the invention, the events of the second kind of object may be a subset of the events of the first kind of object.

Шаг 706: сравнение во время первой итерации множества прогнозов с соответствующими порогами из первого сочетания зависящих от метрики порогов для определения прогнозируемых классов проверочных объектов для первой итерации.Step 706: comparing, during the first iteration, the set of predictions with the corresponding thresholds from the first combination of metric dependent thresholds to determine the predicted test object classes for the first iteration.

[0186] Способ 700 продолжается на шаге 706, на котором сервер 106 во время первой итерации может сравнивать множество 625 прогнозов с соответствующими порогами из первого сочетания 650 зависящих от метрики порогов для определения прогнозируемых классов проверочных объектов для первой итерации. Например, сервер 106 может определять первые данные 670 прогнозируемых классов и вторые данные 680 прогнозируемых классов.[0186] The method 700 continues at step 706, where the server 106 during the first iteration may compare the prediction set 625 with the corresponding thresholds from the first metric dependent threshold combination 650 to determine the predicted test object classes for the first iteration. For example, server 106 may determine first predictive class data 670 and second predictive class data 680.

Шаг 708: формирование во время первой итерации первых параметров точности и первых параметров полноты для множества вложенных метрик для первой итерации путем сравнения контрольных классов с прогнозируемыми классами проверочных объектов для первой итерации.Step 708: generating during the first iteration the first precision parameters and the first recall parameters for the set of nested metrics for the first iteration by comparing the control classes with the predicted test object classes for the first iteration.

[0187] Способ 700 продолжается на шаге 708, на котором сервер 106 может формировать первые параметры точности и первые параметры полноты для множества 410 вложенных метрик для первой итерации путем сравнения контрольных классов с прогнозируемыми классами проверочных объектов для первой итерации.[0187] The method 700 continues at step 708, where the server 106 may generate first precision parameters and first recall parameters for the nested metric set 410 for the first iteration by comparing the control classes with the predicted test object classes for the first iteration.

[0188] Например, сервер 106 может формировать первый параметр 692 точности и первый параметр 694 полноты для первой вложенной метрики 412, а также другой первый параметр 696 точности и другой первый параметр 698 полноты для второй вложенной метрики 414 (см. фиг. 6).[0188] For example, server 106 may generate a first precision parameter 692 and a first recall parameter 694 for the first nested metric 412, as well as another first precision parameter 696 and a different first recall parameter 698 for the second nested metric 414 (see FIG. 6).

Шаг 710: корректировка во время второй итерации порога из первого сочетания зависящих от метрики порогов и формирование таким образом второго сочетания зависящих от метрики порогов.Step 710: Adjusting during the second iteration of the threshold from the first combination of metric dependent thresholds and thus generating a second combination of metric dependent thresholds.

[0189] Способ 700 продолжается на шаге 710, на котором сервер 106 во время второй итерации может корректировать порог из первого сочетания 650 зависящих от метрики порогов и формировать таким образом второе сочетание 660 зависящих от метрики порогов.[0189] The method 700 continues at step 710, where the server 106 during the second iteration may adjust the threshold from the first metric-dependent threshold combination 650 and thus generate the second metric-dependent threshold combination 660.

[0190] Например, сервер 106 может корректировать зависящий от метрики порог 640 и определять таким образом скорректированный зависящий от метрики порог 642. В результате второе сочетание 660 зависящих от метрики порогов содержит скорректированный зависящий от метрики порог 642 вместо зависящего от метрики порога 640.[0190] For example, server 106 may adjust the metric-dependent threshold 640 and thus determine an adjusted metric-dependent threshold 642. As a result, the second metric-dependent threshold combination 660 comprises an adjusted metric-dependent threshold 642 instead of a metric-dependent threshold 640.

Шаг 712: сравнение во время второй итерации множества прогнозов с соответствующими порогами из второго сочетания зависящих от метрики порогов для определения прогнозируемых классов проверочных объектов для второй итерации.Step 712: comparing, during the second iteration, the plurality of predictions with the corresponding thresholds from the second combination of metric dependent thresholds to determine the predicted test object classes for the second iteration.

[0191] Способ 700 продолжается на шаге 712, на котором сервер 106 во время второй итерации может сравнивать множество 625 прогнозов с соответствующими порогами из второго сочетания 660 зависящих от метрики порогов для определения прогнозируемых классов проверочных объектов для второй итерации. Например, сервер 106 может определять третьи данные 870 прогнозируемых классов и четвертые данные 880 прогнозируемых классов.[0191] The method 700 continues at step 712, where the server 106 during the second iteration may compare the prediction set 625 with the corresponding thresholds from the second metric dependent threshold combination 660 to determine the predicted test object classes for the second iteration. For example, server 106 may determine third predictive class data 870 and fourth predictive class data 880.

Шаг 714: формирование во время второй итерации вторых параметров точности и вторых параметров полноты для множества вложенных метрик для второй итерации путем сравнения контрольных классов с соответствующими прогнозируемыми классами проверочных объектов для второй итерации.Step 714: generating, during the second iteration, second precision parameters and second recall parameters for the set of nested metrics for the second iteration by comparing the control classes with the corresponding predicted test object classes for the second iteration.

[0192] Способ 700 продолжается на шаге 714, на котором сервер 106 во время второй итерации может формировать вторые параметры точности и вторые параметры полноты для множества 410 вложенных метрик для второй итерации путем сравнения контрольных классов с соответствующими прогнозируемыми классами проверочных объектов для второй итерации.[0192] The method 700 continues at step 714, where the server 106 during the second iteration may generate second precision parameters and second recall parameters for the nested metric set 410 for the second iteration by comparing the control classes with the corresponding predicted test object classes for the second iteration.

[0193] Как показано на фиг. 6, сервер 106 может формировать второй параметр 892 точности и второй параметр 894 полноты для первой вложенной метрики 412. Сервер 106 может формировать другой второй параметр 896 точности и другой второй параметр 898 полноты для второй вложенной метрики 414.[0193] As shown in FIG. 6, the server 106 may generate a second precision parameter 892 and a second recall parameter 894 for the first nested metric 412. The server 106 may generate a different second precision parameter 896 and a different second recall parameter 898 for the second nested metric 414.

Шаг 716: выбор сервером первого сочетания зависящих от метрики порогов или второго сочетания зависящих от метрики порогов в качестве целевого сочетания зависящих от метрики порогов.Step 716: Server selection of the first metric dependent threshold combination or the second metric dependent threshold combination as the target metric dependent threshold combination.

[0194] Способ 700 продолжается на шаге 716, на котором сервер 106 может выбирать первое сочетание 650 или второе сочетание 660 в качестве целевого сочетания зависящих от метрики порогов путем сравнения (а) первых параметров точности и вторых параметров точности с порогом точности и/или (б) первых параметров полноты и вторых параметров полноты с порогом полноты. Целевое сочетание 450 зависящих от метрики порогов подлежит использованию со множеством 410 вложенных метрик в режиме использования для выполнения такой бинарной классификации цифрового объекта, что если прогноз этапа использования по меньшей мере одной метрики из множества 410 вложенных метрик для цифрового объекта превышает соответствующий порог из целевого сочетания 450 зависящих от метрики порогов, то определяется принадлежность цифрового объекта к первому классу.[0194] The method 700 continues at step 716, where the server 106 may select the first combination 650 or the second combination 660 as the target combination of metric-dependent thresholds by comparing (a) the first accuracy parameters and the second accuracy parameters with a precision threshold and/or ( b) the first parameters of completeness and the second parameters of completeness with a threshold of completeness. The target combination 450 dependent on the metric thresholds is to be used with a set of nested metrics 410 in the use mode to perform a binary classification of a digital object such that if the prediction of the stage of using at least one metric from the set 410 nested metrics for the digital object exceeds the corresponding threshold from the target combination 450 thresholds depending on the metric, then the belonging of the digital object to the first class is determined.

[0195] Следует отметить, что в некоторых вариантах осуществления изобретения целевое сочетание зависящих от метрики порогов выбирается одновременно для множества вложенных метрик во время одной итерации.[0195] It should be noted that in some embodiments of the invention, the target combination of metric-dependent thresholds is selected simultaneously for multiple nested metrics during one iteration.

[0196] Очевидно, что не все упомянутые в данном описании технические эффекты должны присутствовать в каждом варианте осуществления настоящей технологии. Например, возможны варианты осуществления настоящей технологии, когда пользователь не получает некоторые из этих технических эффектов, или другие варианты реализации, когда пользователь получает другие технические эффекты либо когда технический эффект отсутствует.[0196] It is obvious that not all of the technical effects mentioned in this description should be present in every embodiment of the present technology. For example, there may be embodiments of the present technology where the user does not receive some of these technical effects, or other implementations where the user receives other technical effects, or when there is no technical effect.

[0197] Некоторые из этих шагов и передаваемых или принимаемых сигналов хорошо известны в данной области техники и по этой причине опущены в некоторых частях описания для упрощения. Сигналы могут передаваться или приниматься с использованием оптических средств (таких как волоконно-оптическое соединение), электронных средств (таких как проводное или беспроводное соединение) и механических средств (например, основанных на давлении, температуре или любом другом подходящем физическом параметре).[0197] Some of these steps and transmitted or received signals are well known in the art and are therefore omitted in some parts of the description for simplicity. Signals may be transmitted or received using optical means (such as a fiber optic connection), electronic means (such as a wired or wireless connection), and mechanical means (such as based on pressure, temperature, or any other suitable physical parameter).

[0198] Для специалиста в данной области могут быть очевидными возможные изменения и усовершенствования описанных выше вариантов осуществления настоящей технологии. Предшествующее описание приведено лишь в иллюстративных целях, а не для ограничения объема изобретения. Объем охраны настоящей технологии определяется исключительно объемом приложенной формулы изобретения.[0198] For a person skilled in the art, possible changes and improvements to the above-described embodiments of the present technology may be obvious. The foregoing description is for illustrative purposes only and is not intended to limit the scope of the invention. The scope of protection of this technology is determined solely by the scope of the appended claims.

Claims (52)

1. Способ определения целевого сочетания зависящих от метрики порогов для использования со множеством вложенных метрик при выполнении бинарной классификации на первый класс или второй класс цифрового объекта, связанного с прошлыми событиями объекта, указание на которые хранится в хранилище данных, выполняемый сервером, способным обращаться к хранилищу данных, и включающий в себя:1. A method for determining a target combination of metric-dependent thresholds for use with a plurality of nested metrics when performing a binary classification into a first class or a second class of a digital object associated with past events of the object, an indication of which is stored in a data store, performed by a server capable of accessing the store data and includes: - получение сервером множества зависящих от объекта проверочных наборов данных, каждый из которых содержит указание на множество прошлых событий объекта, связанных с проверочным объектом, и на контрольный класс проверочного объекта, представляющий собой первый класс или второй класс;- receiving by the server a plurality of object-specific verification datasets, each of which contains an indication of the set of past events of the object associated with the verification object, and the control class of the verification object, which is the first class or the second class; - применение сервером множества вложенных метрик в отношении множества зависящих от объекта проверочных наборов данных и формирование таким образом множества прогнозов, каждый из которых указывает на вероятность принадлежности проверочного объекта к первому классу или ко второму классу;- the application by the server of a plurality of nested metrics in relation to a plurality of object-specific test data sets and thus the formation of a plurality of predictions, each of which indicates the probability that the test object belongs to the first class or to the second class; - во время первой итерации:- during the first iteration: - сравнение сервером множества прогнозов с соответствующими порогами из первого сочетания зависящих от метрики порогов для определения прогнозируемых классов проверочных объектов для первой итерации;- comparing the set of predictions by the server with the corresponding thresholds from the first combination of metric-dependent thresholds to determine the predicted test object classes for the first iteration; - формирование сервером первых параметров точности и первых параметров полноты для множества вложенных метрик для первой итерации путем сравнения контрольных классов с соответствующими прогнозируемыми классами проверочных объектов для первой итерации;- the formation by the server of the first accuracy parameters and the first recall parameters for the set of nested metrics for the first iteration by comparing the control classes with the corresponding predicted classes of test objects for the first iteration; - во время второй итерации:- during the second iteration: - корректировку сервером порога из первого сочетания зависящих от метрики порогов и формирование таким образом второго сочетания зависящих от метрики порогов;- adjusting the threshold by the server from the first combination of metric-dependent thresholds and thus generating a second combination of metric-dependent thresholds; - сравнение сервером множества прогнозов с соответствующими порогами из второго сочетания зависящих от метрики порогов для определения прогнозируемых классов проверочных объектов для второй итерации;- comparing the set of predictions by the server with the corresponding thresholds from the second combination of metric-dependent thresholds to determine the predicted test object classes for the second iteration; - формирование сервером вторых параметров точности и вторых параметров полноты для множества вложенных метрик для второй итерации путем сравнения контрольных классов с соответствующими прогнозируемыми классами проверочных объектов для второй итерации; и- the formation by the server of the second parameters of accuracy and the second parameters of completeness for the set of nested metrics for the second iteration by comparing the control classes with the corresponding predicted classes of test objects for the second iteration; And - выбор сервером первого сочетания зависящих от метрики порогов или второго сочетания зависящих от метрики порогов в качестве целевого сочетания зависящих от метрики порогов путем сравнения (а) первых параметров точности и вторых параметров точности с порогом точности и/или (б) первых параметров полноты и вторых параметров полноты с порогом полноты, при этом целевое сочетание зависящих от метрики порогов подлежит использованию со множеством вложенных метрик в режиме использования для выполнения такой бинарной классификации цифрового объекта, что если прогноз этапа использования по меньшей мере одной метрики из множества вложенных метрик для цифрового объекта превышает соответствующий порог из целевого сочетания зависящих от метрики порогов, то определяется принадлежность цифрового объекта к первому классу.- selecting by the server the first combination of metric-dependent thresholds or the second combination of metric-dependent thresholds as the target combination of metric-dependent thresholds by comparing (a) the first accuracy parameters and the second accuracy parameters with the accuracy threshold and/or (b) the first recall parameters and the second recall parameters with a recall threshold, wherein the target combination of metric-dependent thresholds is to be used with a plurality of nested metrics in a usage mode to perform a binary classification of a digital object such that if the prediction of the usage stage of at least one metric from the plurality of nested metrics for the digital object exceeds the corresponding threshold from the target combination of thresholds dependent on the metric, then the belonging of the digital object to the first class is determined. 2. Способ по п. 1, отличающийся тем, что он дополнительно включает в себя:2. The method according to p. 1, characterized in that it additionally includes: - выполнение сервером множества итераций до тех пор, пока (а) параметры точности для итерации не окажутся больше порога точности и/или (б) параметры полноты для итерации не окажутся больше порога полноты; и- the server performs multiple iterations until (a) the precision parameters for the iteration are greater than the precision threshold and/or (b) the recall parameters for the iteration are greater than the recall threshold; And - выбор сервером сочетания зависящих от метрики порогов из итерации в качестве целевого сочетания зависящих от метрики порогов.- selection by the server of a combination of metric-dependent thresholds from the iteration as the target combination of metric-dependent thresholds. 3. Способ по п. 1, отличающийся тем, что в режиме использования он дополнительно включает в себя:3. The method according to p. 1, characterized in that in the mode of use it additionally includes: - получение сервером зависящего от объекта набора данных, содержащего указание на множество прошлых событий объекта, связанных с объектом;- receipt by the server of an object-specific data set containing an indication of a set of past events of the object associated with the object; - применение сервером множества вложенных метрик в отношении зависящего от объекта набора данных и формирование таким образом одного или нескольких прогнозов, указывающих на вероятность принадлежности объекта к первому классу или ко второму классу;- the application by the server of a set of nested metrics in relation to the data set dependent on the object and thus the formation of one or more predictions indicating the probability of belonging to the object in the first class or in the second class; - сравнение сервером одного или нескольких прогнозов с соответствующими порогами из целевого сочетания зависящих от метрики порогов;- comparison by the server of one or more forecasts with the corresponding thresholds from the target combination of metric-dependent thresholds; - определение сервером принадлежности объекта к первому классу, если по меньшей мере один прогноз превышает соответствующий порог из целевого сочетания зависящих от метрики порогов; и- determining by the server that the object belongs to the first class if at least one prediction exceeds the corresponding threshold from the target combination of metric-dependent thresholds; And - определение сервером принадлежности объекта ко второму классу, если отсутствует прогноз, превышающий соответствующий порог из целевого сочетания зависящих от метрики порогов.- determination by the server that the object belongs to the second class if there is no forecast that exceeds the corresponding threshold from the target combination of metric-dependent thresholds. 4. Способ по п. 1, отличающийся тем, что первая метрика из множества вложенных метрик основана на событиях объекта первого вида, а вторая метрика из множества вложенных метрик основана на событиях объекта второго вида, при этом события объекта второго вида происходят, только если произошли события объекта первого вида.4. The method according to claim 1, characterized in that the first metric from the set of nested metrics is based on the events of the first type object, and the second metric from the set of nested metrics is based on the events of the second type object, while the events of the second type object occur only if events of the first type object. 5. Способ по п. 4, отличающийся тем, что события объекта второго вида представляют собой подмножество событий объекта первого вида.5. The method according to claim 4, characterized in that the events of the second type object are a subset of the events of the first type object. 6. Способ по п. 1, отличающийся тем, что целевое сочетание зависящих от метрики порогов выбирается одновременно для множества вложенных метрик во время одной итерации.6. The method of claim. 1, characterized in that the target combination of metric-dependent thresholds is selected simultaneously for multiple nested metrics during one iteration. 7. Способ по п. 1, отличающийся тем, что объект представляет собой сообщение электронной почты, при этом первый класс соответствует спаму, а второй класс соответствует отсутствию спама.7. The method of claim. 1, characterized in that the object is an e-mail message, while the first class corresponds to spam, and the second class corresponds to the absence of spam. 8. Способ по п. 1, отличающийся тем, что объект представляет собой пользователя платформы электронной торговли, при этом первый класс соответствует мошенничеству, а второй класс соответствует отсутствию мошенничества.8. The method of claim. 1, characterized in that the object is a user of the e-commerce platform, while the first class corresponds to fraud, and the second class corresponds to the absence of fraud. 9. Способ по п. 1, отличающийся тем, что объект представляет собой документ, при этом первый класс соответствует релевантности, а второй класс соответствует нерелевантности.9. The method of claim. 1, characterized in that the object is a document, while the first class corresponds to relevance, and the second class corresponds to irrelevance. 10. Сервер для определения целевого сочетания зависящих от метрики порогов для использования со множеством вложенных метрик при выполнении бинарной классификации на первый класс или второй класс цифрового объекта, связанного с прошлыми событиями объекта, указание на которые хранится в хранилище данных, выполненный с возможностью обращения к хранилищу данных и выполненный с возможностью:10. Server for determining the target combination of metric-dependent thresholds for use with a plurality of nested metrics when performing binary classification into the first class or second class of a digital object associated with past events of the object, an indication of which is stored in the data store, configured to access the store data and configured to: - получения множества зависящих от объекта проверочных наборов данных, каждый из которых содержит указание на множество прошлых событий объекта, связанных с проверочным объектом, и контрольный класс проверочного объекта, представляющий собой первый класс или второй класс;obtaining a plurality of object-specific verification datasets, each of which contains an indication of a plurality of past object events associated with the verification object, and the verification object's control class, which is the first class or the second class; - применения множества вложенных метрик в отношении множества зависящих от объекта проверочных наборов данных и формирования таким образом множества прогнозов, каждый из которых указывает на вероятность принадлежности проверочного объекта к первому классу или ко второму классу;applying a plurality of nested metrics to a plurality of object-specific test sets and thus generating a plurality of predictions, each of which indicates the probability that the test object belongs to the first class or to the second class; - во время первой итерации:- during the first iteration: - сравнения множества прогнозов с соответствующими порогами из первого сочетания зависящих от метрики порогов для определения прогнозируемых классов проверочных объектов для первой итерации;comparing the plurality of predictions with corresponding thresholds from the first combination of metric-dependent thresholds to determine the predicted test object classes for the first iteration; - формирования первых параметров точности и первых параметров полноты для множества вложенных метрик для первой итерации путем сравнения контрольных классов с соответствующими прогнозируемыми классами проверочных объектов для первой итерации;- generating first accuracy parameters and first recall parameters for the set of nested metrics for the first iteration by comparing the control classes with the corresponding predicted test object classes for the first iteration; - во время второй итерации:- during the second iteration: - корректировки порога из первого сочетания зависящих от метрики порогов и формирования таким образом второго сочетания зависящих от метрики порогов;- adjusting the threshold from the first combination of metric-dependent thresholds and thus generating a second combination of metric-dependent thresholds; - сравнения множества прогнозов с соответствующими порогами из второго сочетания зависящих от метрики порогов для определения прогнозируемых классов проверочных объектов для второй итерации;comparing the plurality of predictions with the corresponding thresholds from the second combination of metric-dependent thresholds to determine the predicted test object classes for the second iteration; - формирования вторых параметров точности и вторых параметров полноты для множества вложенных метрик для второй итерации путем сравнения контрольных классов с прогнозируемыми классами проверочных объектов для второй итерации; и- generating second accuracy parameters and second recall parameters for the set of nested metrics for the second iteration by comparing the control classes with the predicted test object classes for the second iteration; And - выбора первого сочетания зависящих от метрики порогов или второго сочетания зависящих от метрики порогов в качестве целевого сочетания зависящих от метрики порогов путем сравнения (а) первых параметров точности и вторых параметров точности с порогом точности и/или (б) первых параметров полноты и вторых параметров полноты с порогом полноты, при этом целевое сочетание зависящих от метрики порогов подлежит использованию со множеством вложенных метрик в режиме использования для выполнения такой бинарной классификации цифрового объекта, что если прогноз этапа использования по меньшей мере одной метрики из множества вложенных метрик для цифрового объекта превышает соответствующий порог из целевого сочетания зависящих от метрики порогов, то определяется принадлежность цифрового объекта к первому классу.- selecting the first combination of metric-dependent thresholds or the second combination of metric-dependent thresholds as the target combination of metric-dependent thresholds by comparing (a) the first accuracy parameters and the second accuracy parameters with the accuracy threshold and/or (b) the first recall parameters and the second parameters of completeness with a threshold of completeness, wherein the target combination of metric-dependent thresholds is to be used with a plurality of nested metrics in the usage mode to perform such a binary classification of a digital object that if the prediction of the stage of using at least one metric from a plurality of nested metrics for a digital object exceeds the corresponding threshold from the target combination of thresholds depending on the metric, then the belonging of the digital object to the first class is determined. 11. Сервер по п. 10, отличающийся тем, что он дополнительно выполнен с возможностью:11. The server according to claim 10, characterized in that it is additionally configured to: - выполнения множества итераций до тех пор, пока (а) параметры точности для итерации не окажутся больше порога точности и/или (б) параметры полноты для итерации не окажутся больше порога полноты; и- performing multiple iterations until (a) the precision parameters for the iteration are greater than the precision threshold and/or (b) the recall parameters for the iteration are greater than the recall threshold; And - выбора сочетания зависящих от метрики порогов из этой итерации в качестве целевого сочетания зависящих от метрики порогов.- selecting a combination of metric-dependent thresholds from this iteration as the target combination of metric-dependent thresholds. 12. Сервер по п. 10, отличающийся тем, что в режиме использования он дополнительно выполнен с возможностью:12. The server according to claim 10, characterized in that in the mode of use it is additionally configured to: - получения зависящего от объекта набора данных, содержащего указание на множество прошлых событий объекта, связанных с объектом;- obtaining an object-specific data set containing an indication of a set of past events of the object associated with the object; - применения множества вложенных метрик в отношении зависящего от объекта набора данных и формирования таким образом одного или нескольких прогнозов, указывающих на вероятность принадлежности объекта к первому классу или ко второму классу;- applying a plurality of nested metrics to an object-specific data set and thereby generating one or more predictions indicating the probability of an object belonging to the first class or to the second class; - сравнения одного или нескольких прогнозов с соответствующими порогами из целевого сочетания зависящих от метрики порогов;- comparing one or more forecasts with the corresponding thresholds from the target combination of metric-dependent thresholds; - определения принадлежности объекта к первому классу, если по меньшей мере один прогноз превышает соответствующий порог из целевого сочетания зависящих от метрики порогов; и- determining whether the object belongs to the first class if at least one prediction exceeds the corresponding threshold from the target combination of metric-dependent thresholds; And - определения принадлежности объекта ко второму классу, если отсутствует прогноз, превышающий соответствующий порог из целевого сочетания зависящих от метрики порогов.- determining whether an object belongs to the second class if there is no forecast that exceeds the corresponding threshold from the target combination of metric-dependent thresholds. 13. Сервер по п. 10, отличающийся тем, что первая метрика из множества вложенных метрик основана на событиях объекта первого вида, а вторая метрика из множества вложенных метрик основана на событиях объекта второго вида, при этом события объекта второго вида происходят, только если произошли события объекта первого вида.13. The server according to claim 10, characterized in that the first metric from the set of nested metrics is based on the events of the first type object, and the second metric from the set of nested metrics is based on the events of the second type object, while the events of the second type object occur only if events of the first type object. 14. Сервер по п. 13, отличающийся тем, что события объекта второго вида представляют собой подмножество событий объекта первого вида.14. The server according to claim 13, characterized in that the events of the object of the second type are a subset of the events of the object of the first type. 15. Сервер по п. 10, отличающийся тем, что целевое сочетание зависящих от метрики порогов выбирается одновременно для множества вложенных метрик во время одной итерации.15. The server according to claim 10, characterized in that the target combination of metric-dependent thresholds is selected simultaneously for multiple nested metrics during one iteration. 16. Сервер по п. 10, отличающийся тем, что объект представляет собой сообщение электронной почты, при этом первый класс соответствует спаму, а второй класс соответствует отсутствию спама.16. The server according to claim. 10, characterized in that the object is an e-mail message, while the first class corresponds to spam, and the second class corresponds to the absence of spam. 17. Сервер по п. 10, отличающийся тем, что объект представляет собой пользователя платформы электронной торговли, при этом первый класс соответствует мошенничеству, а второй класс соответствует отсутствию мошенничества.17. The server according to claim 10, characterized in that the object is a user of the e-commerce platform, the first class corresponds to fraud, and the second class corresponds to the absence of fraud. 18. Сервер по п. 10, отличающийся тем, что объект представляет собой документ, при этом первый класс соответствует релевантности, а второй класс соответствует нерелевантности.18. The server according to claim 10, characterized in that the object is a document, while the first class corresponds to relevance, and the second class corresponds to irrelevance.
RU2020133324A 2020-10-09 2020-10-09 Methods and servers for determining metric-dependent thresholds used with multiple nested metrics for binary classification of a digital object RU2795202C2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
RU2020133324A RU2795202C2 (en) 2020-10-09 Methods and servers for determining metric-dependent thresholds used with multiple nested metrics for binary classification of a digital object
US17/494,405 US12271447B2 (en) 2020-10-09 2021-10-05 Methods and servers for determining metric-specific thresholds to be used with a plurality of nested metrics for binary classification of a digital object

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2020133324A RU2795202C2 (en) 2020-10-09 Methods and servers for determining metric-dependent thresholds used with multiple nested metrics for binary classification of a digital object

Publications (2)

Publication Number Publication Date
RU2020133324A RU2020133324A (en) 2022-04-12
RU2795202C2 true RU2795202C2 (en) 2023-05-02

Family

ID=

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8271408B2 (en) * 2009-10-22 2012-09-18 Yahoo! Inc. Pairwise ranking-based classifier
US20130013603A1 (en) * 2011-05-24 2013-01-10 Namesforlife, Llc Semiotic indexing of digital resources
US8355997B2 (en) * 2009-11-13 2013-01-15 Hewlett-Packard Development Company, L.P. Method and system for developing a classification tool
US20140236874A1 (en) * 2011-10-26 2014-08-21 GM Global Technology Operations LLC Binary classification of items of interest in a repeatable process
US9888030B2 (en) * 2009-03-13 2018-02-06 Virginia Tech Intellectual Properties, Inc. Detection of stealthy malware activities with traffic causality and scalable triggering relation discovery
RU2674326C2 (en) * 2017-02-20 2018-12-06 Автономная некоммерческая образовательная организация высшего образования "Сколковский институт науки и технологий" Method of formation of neural network architecture for classification of object taken in cloud of points, method of its application for teaching neural network and searching semantically alike clouds of points

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9888030B2 (en) * 2009-03-13 2018-02-06 Virginia Tech Intellectual Properties, Inc. Detection of stealthy malware activities with traffic causality and scalable triggering relation discovery
US8271408B2 (en) * 2009-10-22 2012-09-18 Yahoo! Inc. Pairwise ranking-based classifier
US8355997B2 (en) * 2009-11-13 2013-01-15 Hewlett-Packard Development Company, L.P. Method and system for developing a classification tool
US20130013603A1 (en) * 2011-05-24 2013-01-10 Namesforlife, Llc Semiotic indexing of digital resources
US20140236874A1 (en) * 2011-10-26 2014-08-21 GM Global Technology Operations LLC Binary classification of items of interest in a repeatable process
RU2674326C2 (en) * 2017-02-20 2018-12-06 Автономная некоммерческая образовательная организация высшего образования "Сколковский институт науки и технологий" Method of formation of neural network architecture for classification of object taken in cloud of points, method of its application for teaching neural network and searching semantically alike clouds of points

Similar Documents

Publication Publication Date Title
US11288333B2 (en) Method and system for estimating user-item interaction data based on stored interaction data by using multiple models
US9064212B2 (en) Automatic event categorization for event ticket network systems
KR101255406B1 (en) Dynamic search with implicit user intention mining
RU2720952C2 (en) Method and system for generating digital content recommendation
US7853485B2 (en) Methods and systems for utilizing content, dynamic patterns, and/or relational information for data analysis
US12141212B2 (en) Intelligent interface accelerating
US9524321B2 (en) Content resonance
US12159301B2 (en) Text processing based interface accelerating
RU2714594C1 (en) Method and system for determining parameter relevance for content items
US20160012124A1 (en) Methods for automatic query translation
RU2743932C2 (en) Method and server for repeated training of machine learning algorithm
US20210004693A1 (en) Real-Time On the Fly Generation of Feature-Based Label Embeddings Via Machine Learning
CN112699309A (en) Resource recommendation method, device, readable medium and equipment
US11822447B2 (en) Methods and servers for storing data associated with users and digital items of a recommendation system
US12271826B2 (en) Methods and systems for training a decision-tree based Machine Learning Algorithm (MLA)
US20200349582A1 (en) Method and system for addressing user discontent observed on client devices
US20190080290A1 (en) Updating messaging data structures to include predicted attribute values associated with recipient entities
US20250045281A1 (en) Server and method for generating digital content for users of a recommendation system
US20240169003A1 (en) Server and method for generating digital content for users of a recommendation system
US20220083614A1 (en) Method for training a machine learning algorithm (mla) to generate a predicted collaborative embedding for a digital item
US12271447B2 (en) Methods and servers for determining metric-specific thresholds to be used with a plurality of nested metrics for binary classification of a digital object
RU2795202C2 (en) Methods and servers for determining metric-dependent thresholds used with multiple nested metrics for binary classification of a digital object
US20210110456A1 (en) Email Content Selection System And Method
US20190236646A1 (en) Email-Based User Tracking And Content Selection
US20250131474A1 (en) Optimize and generate a personalized content item for display during web page load time