RU2776034C2 - Method and system for detection of abnormal ranking - Google Patents

Method and system for detection of abnormal ranking Download PDF

Info

Publication number
RU2776034C2
RU2776034C2 RU2019128284A RU2019128284A RU2776034C2 RU 2776034 C2 RU2776034 C2 RU 2776034C2 RU 2019128284 A RU2019128284 A RU 2019128284A RU 2019128284 A RU2019128284 A RU 2019128284A RU 2776034 C2 RU2776034 C2 RU 2776034C2
Authority
RU
Russia
Prior art keywords
ratings
organizations
organization
subgraph
server
Prior art date
Application number
RU2019128284A
Other languages
Russian (ru)
Other versions
RU2019128284A3 (en
RU2019128284A (en
Inventor
Марина Александровна Анохина
Сергей Вячеславович Статьев
Original Assignee
Общество С Ограниченной Ответственностью "Яндекс"
Filing date
Publication date
Application filed by Общество С Ограниченной Ответственностью "Яндекс" filed Critical Общество С Ограниченной Ответственностью "Яндекс"
Priority to RU2019128284A priority Critical patent/RU2776034C2/en
Priority to US16/869,951 priority patent/US11334559B2/en
Publication of RU2019128284A publication Critical patent/RU2019128284A/en
Publication of RU2019128284A3 publication Critical patent/RU2019128284A3/ru
Application granted granted Critical
Publication of RU2776034C2 publication Critical patent/RU2776034C2/en

Links

Images

Abstract

FIELD: data processing.
SUBSTANCE: data on ranking organizations containing a set of organizations and one or several ratings for each organization is received on a server from one or more client devices related to one or more users via a communication network, an organization ranking graph is formed on the server, in which each node corresponds to the organization from the set of organizations, and each rib connects two organizations and has weight indicating a number of users that have assessed two organizations connected by the corresponding rib, a full subgraph is determined in the graph on the server, in which each node is connected to all the other nodes of the subgraph, the compliance to a threshold distribution of ratings corresponding to the subgraph is determined on the server, and, in case of determination of the compliance to the threshold distribution of ratings corresponding to the subgraph, a communication indicator of users corresponding to the subgraph with abnormal organization ratings is saved on the server.
EFFECT: increase in the reliability of operation of a searching system due to an increase in reliability of results provided by the searching system.
20 cl, 9 dwg

Description

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

[1] Настоящая технология в целом относится к выявлению аномального рейтингования и, в частности, к способу и системе для выявления пользователей, отправляющих аномальные рейтинги организаций.[1] The present technology relates generally to the detection of anomalous ratings, and in particular to a method and system for detecting users submitting anomalous ratings to organizations.

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

[2] Объем информации, доступной на различных Интернет-ресурсах, в течение последних десятилетий растет экспоненциально. Для помощи типичному пользователю в поиске необходимой информации было разработано несколько решений. Одним из примеров таких решений является поисковая система. В качестве примера можно привести поисковые системы GOOGLE™, YANDEX™, YAHOO! и т.п. Пользователь может получать доступ к интерфейсу поисковой системы и отправлять поисковый запрос, связанный с информацией, которую требуется найти в сети Интернет. В ответ на поисковый запрос поисковая система выдает ранжированный список результатов поиска.[2] The amount of information available on various Internet resources has grown exponentially over the past decades. Several solutions have been developed to help the typical user find the information they need. One example of such solutions is a search engine. For example, search engines GOOGLE™, YANDEX™, YAHOO! etc. The user may access the search engine interface and submit a search query related to information to be found on the Internet. In response to a search query, the search engine provides a ranked list of search results.

[3] Ранжированный список результатов поиска формируется на основе различных алгоритмов ранжирования, используемых конкретной поисковой системой, применяемой пользователем для поиска. Общая цель таких алгоритмов ранжирования заключается в представлении наиболее релевантных результатов поиска в верхней части ранжированного списка, тогда как менее релевантные результаты поиска могут располагаться в ранжированном списке на менее заметных позициях (наименее релевантные результаты поиска находятся в нижней части ранжированного списка). Пользователю может быть предоставлена дополнительная информация, касающаяся ранжированного списка результатов поиска. Для каждой организации из ранжированного списка может быть указан рейтинг организации. Рейтинг организации может быть рассчитан на основе отправленных пользователями рейтингов организации, относящейся к результатам поиска.[3] The ranked list of search results is generated based on various ranking algorithms used by the particular search engine used by the user to search. The general goal of such ranking algorithms is to present the most relevant search results at the top of the ranked list, while the less relevant search results may appear in less prominent positions in the ranked list (the least relevant search results are at the bottom of the ranked list). The user may be provided with additional information regarding the ranked list of search results. For each organization from the ranked list, an organization rating can be specified. An organization's rating can be calculated based on user-submitted ratings for an organization related to the search results.

[4] Поисковые системы обычно обеспечивают хороший инструментарий для обработки поискового запроса, когда пользователь заранее знает, что требуется найти. Иными словами, если пользователь заинтересован в получении информации о наиболее популярных местах в Италии (т.е. известна тема поиска), он может отправить поисковый запрос: «Наиболее популярные места в Италии?». В ответ поисковая система выдает ранжированный список Интернет-ресурсов, потенциально релевантных поисковому запросу. Пользователь может просмотреть ранжированный список результатов поиска, чтобы получить требуемую информацию, касающуюся мест для посещения в Италии. Если пользователь по какой-либо причине не удовлетворен полученными результатами поиска, он может выполнить повторный поиск, например, с уточненным поисковым запросом, таким как «Наиболее популярные места в Италии летом?», «Наиболее популярные места на юге Италии?», «Наиболее популярные места для романтического отпуска в Италии?».[4] Search engines usually provide a good tool for processing a search query when the user knows in advance what they want to find. In other words, if the user is interested in getting information about the most popular places in Italy (i.e. the search topic is known), he can send a search query: "The most popular places in Italy?". In response, the search engine returns a ranked list of Internet resources that are potentially relevant to the search query. The user can view a ranked list of search results to obtain the required information regarding places to visit in Italy. If the user is not satisfied with the search results for any reason, he can perform a second search, for example, with a refined search query, such as "Most popular places in Italy in summer?", "Most popular places in southern Italy?", "Most popular destinations for a romantic getaway in Italy?

[5] Когда пользователь отправляет поисковый запрос, поисковая система формирует список релевантных веб-ресурсов (на основе анализа просмотренных обходчиком веб-ресурсов, указания на которые хранятся в базе данных обходчика в виде списков вхождений (posting lists) и т.п.). Затем поисковая система ранжирует сформированный список результатов поиска. Формирование списка и/или ранжирование результатов поиска может выполняться с использованием различных средств, например, путем выполнения алгоритма машинного обучения (MLA, Machine Learning Algorithm). Алгоритм MLA ранжирует список результатов поиска на основе их релевантности поисковому запросу. Алгоритм MLA «обучается» прогнозировать релевантность результата поиска поисковому запросу на основе большого количества «признаков», связанных с результатом поиска, и указаний на прошлые действия пользователей с результатами поиска при отправке подобных поисковых запросов в прошлом.[5] When a user submits a search query, the search engine generates a list of relevant web resources (based on the analysis of web resources viewed by the crawler, indications of which are stored in the crawler's database in the form of posting lists, etc.). The search engine then ranks the generated list of search results. The listing and/or ranking of search results may be performed using various means, for example, by executing a Machine Learning Algorithm (MLA). The MLA algorithm ranks a list of search results based on their relevance to the search query. The MLA algorithm "learns" to predict the relevance of a search result to a search query based on a large number of "features" associated with the search result and indications of past user behavior with search results when submitting similar search queries in the past.

[6] При ранжировании списка результатов поиска учитываются различные факторы, такие как ранее зафиксированная история веб-поиска и/или рейтинги организаций, связанных с результатами поиска. Как описано выше, результаты поиска могут включать в себя организации, каждая из которых может быть связана с соответствующим рейтингом организации. Рейтинги для организаций могут предоставляться пользователями, например, путем отправки рейтинга в числовом диапазоне (в частности, от одного до десяти) или бинарного рейтинга (положительного или отрицательного). Эти индивидуальные рейтинги организации могут усредняться или использоваться иным образом для расчета общего рейтинга организации. Индивидуальные и/или общие рейтинги организаций могут быть использованы при определении позиции организации в списке результатов поиска. Общий рейтинг организации может отображаться, например, в результатах поиска. Обычно пользователи при просмотре результатов поиска с большей вероятностью выбирают организации с более высоким рейтингом организации.[6] When ranking a list of search results, various factors are taken into account, such as previously recorded web search history and/or ratings of organizations associated with the search results. As described above, the search results may include entities, each of which may be associated with a respective entity rating. Ratings for organizations can be provided by users, for example, by submitting a rating in a numeric range (in particular, from one to ten) or a binary rating (positive or negative). These individual entity ratings may be averaged or otherwise used to calculate an overall entity rating. Individual and/or overall ratings of organizations can be used in determining the position of the organization in the list of search results. The organization's overall rating can be displayed, for example, in search results. In general, users are more likely to select organizations with a higher Organization Rank when viewing search results.

[7] Специалистам по продвижению веб-сайтов известно, что рейтинги организаций могут повышать посещаемость страницы и могут влиять на ранжирование результатов поиска. Некоторые недобросовестные акторы пытаются повысить общий рейтинг организации, инструктируя пользователям отправлять для данной организации указанный им рейтинг организации. Например, пользователям может быть дана инструкция отправлять высокий рейтинг организации для рекламируемой недобросовестным актором организации и низкий рейтинг организации для конкурирующей организации. Недобросовестные акторы могут платить пользователям за отправку этих рейтингов организаций, которые далее называются аномальными рейтингами организаций. Анормальные рейтинги организаций могут приводить к отображению для таких организаций более высоких общих рейтингов организаций и/или к получению более высокой позиции в ответе на запрос.Когда пользователям демонстрируются общие рейтинги организаций, рассчитанные с учетом аномальных рейтингов организаций, удовлетворение пользователя поисковой системой снижается, поскольку общий рейтинг организации не отражает действительного мнения пользователей об организации.[7] Website promoters know that organization rankings can increase page traffic and can influence the ranking of search results. Some unscrupulous actors try to increase the overall rating of an organization by instructing users to submit the organization rating they specified for this organization. For example, users may be instructed to send a high organization rating for an organization advertised by a bad actor and a low organization rating for a competing organization. Unscrupulous actors may pay users to submit these Entity Ratings, hereinafter referred to as anomalous Entity Ratings. Abnormal organization rankings may cause those organizations to display higher overall organization rankings and/or receive a higher ranking in the query response. The rating of an organization does not reflect the actual opinion of users about the organization.

[8] В патенте US10009358 (DataVisor Inc., выдан 26 июня 2018 г.) описаны способы, системы и устройства для обнаружения злонамеренных действий, включая компьютерные программы, содержащиеся на компьютерных носителях информации. Один из способов включает в себя: формирование набора гиперграфов, представляющих пользовательские события для набора пользователей; анализ набора гиперграфов с целью определения группы вредоносных учетных записей пользователей или действий, относящихся к таким учетным записям, соответствующих порогу достоверности; использование группы вредоносных учетных записей пользователей или действий, относящихся к таким учетным записям, в качестве обучающих данных для системы машинного обучения, формирующей один или несколько классификаторов; использование одного или нескольких сформированных классификаторов для выявления дополнительных вредоносных учетных записей пользователей или действий, относящихся к таким учетным записям.[8] US10009358 (DataVisor Inc., issued June 26, 2018) describes methods, systems, and devices for detecting malicious activity, including computer programs contained on computer storage media. One method includes: generating a set of hypergraphs representing user events for a set of users; analysis of a set of hypergraphs in order to determine a group of malicious user accounts or actions related to such accounts that meet the confidence threshold; using a group of malicious user accounts or actions related to such accounts as training data for a machine learning system that generates one or more classifiers; the use of one or more generated classifiers to identify additional malicious user accounts or activities related to such accounts.

[9] В патенте US9183387 (Google Inc., выдан 10 ноября 2015 г.) описано обнаружение интернет-атак, включая определение в социальном графе одного или нескольких событий, связанных с пользователями. Для каждого вида события из числа одного или нескольких событий формируется по меньшей мере один ориентированный ациклический граф (DAG, Directed Acyclic Graph), в котором каждый узел представляет собой узел в социальном графе, где произошло событие данного вида, а каждое ребро представляет собой распространение события из первого узла этого ребра во второй узел этого ребра.[9] US9183387 (Google Inc., issued November 10, 2015) describes Internet attack detection, including detection of one or more user-related events in a social graph. For each type of event, at least one directed acyclic graph (DAG, Directed Acyclic Graph) is formed from among one or more events, in which each node represents a node in the social graph where an event of this type occurred, and each edge represents the propagation of an event from the first node of this edge to the second node of this edge.

[10] В работе «Positive Unlabeled Learning for Deceptive Reviews Detection» (опубликована в трудах конференции Conference on Empirical Methods in Natural Language Processing (EMNLP) 2014) описано обнаружение вводящих в заблуждение отзывов путем моделирования алгоритма обучения на основе положительных неразмеченных (PU, Positive Unlabeled) данных. Предложена модель с частичным привлечением учителя «обучение PU со смешанными популяционными и индивидуальными свойствами» (MPIPUL, Mixing Population and Individual Property PU Learning). В ней, во-первых, определяются некоторые надежные отрицательные примеры из неразмеченного набора данных. Во-вторых, на основе латентного размещения Дирихле (LDA, Latent Dirichlet Allocation) формируются некоторые репрезентативные положительные примеры и отрицательные примеры. В-третьих, для оставшихся неразмеченных примеров (называемых spy-примерами), которые не могут быть однозначно определены как положительные и отрицательные, назначаются два весовых коэффициента сходства, с использованием которых отображается вероятность того, что spy-пример относится к положительному классу и к отрицательному классу. Наконец, spy-примеры и их весовые коэффициенты сходства используются в алгоритме на основе метода опорных векторов (SVM, Support Vector Machine) для построения точного классификатора.[10] Positive Unlabeled Learning for Deceptive Reviews Detection (published in the Proceedings of the Conference on Empirical Methods in Natural Language Processing (EMNLP) 2014) describes the detection of misleading reviews by modeling a learning algorithm based on positive unlabeled (PU, Positive unlabeled) data. A model with partial involvement of the teacher "PU learning with mixed population and individual properties" (MPIPUL, Mixing Population and Individual Property PU Learning) is proposed. It first defines some reliable negative examples from the unlabeled data set. Secondly, on the basis of Latent Dirichlet Allocation (LDA), some representative positive examples and negative examples are formed. Third, for the remaining unlabeled examples (called spy examples) that cannot be uniquely identified as positive and negative, two similarity weights are assigned, using which the probability that the spy example belongs to the positive class and to the negative class is displayed. class. Finally, spy examples and their similarity weights are used in an algorithm based on the support vector machine (SVM) to build an accurate classifier.

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

[11] Разработчики настоящей технологии обнаружили по меньшей мере одну техническую проблему, связанную с известными решениями.[11] The developers of the present technology have discovered at least one technical problem associated with known solutions.

[12] Настоящая технология в целом относится к определению аномальных действий в сети Интернет и, в частности, к способам и системам для выявления пользователей, отправляющих аномальные рейтинги организаций. Как описано выше, различные недобросовестные акторы могут пытаться влиять на рейтинги организаций. Например, пользователю может быть дана инструкция отправлять для организации указанный ему рейтинг.Для определения аномального поведения при отправке рейтинга организации разработаны различные способы.[12] The present technology relates generally to the detection of anomalous activity on the Internet and, in particular, to methods and systems for detecting users submitting anomalous ratings to organizations. As described above, various unscrupulous actors may try to influence the ratings of organizations. For example, a user may be instructed to send a specified rating to an organization. Various methods have been developed to detect anomalous behavior when submitting an organization's rating.

[13] Операторам поисковых систем компаниям, рекомендующим организации, таким как Google™, Yandex™, Bing™, Yahoo™, Yelp(и т.д., доступно большое количество данных о рейтингах организаций. Эти данные о рейтингах организаций могут быть использованы для определения аномальных рейтингов организаций.[13] Search engine operators, companies that recommend organizations such as Google™, Yandex™, Bing™, Yahoo™, Yelp(etc.), have access to a large amount of organization ranking data. This organization ranking data can be used to determination of anomalous ratings of organizations.

[14] При отправке пользователями аномальных рейтингов организаций, например, когда им предписывается отправлять рейтинг организации, эти пользователи обычно отправляют или очень высокие, или очень низкие рейтинги для организаций. Кроме того, пользователи, отправляющие аномальные рейтинги организации, обычно оценивают несколько организаций. Пользователи, отправляющие естественно возникающие рейтинги или, иными словами, рейтинги, основанные на их собственных впечатлениях и не подверженные постороннему влиянию, обычно отправляют рейтинги организаций с более равномерным распределением в пределах диапазона рейтингов. С использованием этих отличий можно различать аномальные рейтинги организаций и естественные рейтинги организаций.[14] When users submit anomalous organization ratings, such as when they are instructed to submit an organization rating, those users typically submit either very high or very low ratings for organizations. In addition, users submitting anomalous organization ratings typically rate multiple organizations. Users submitting naturally occurring ratings, or in other words ratings based on their own experiences and not subject to outside influence, typically submit ratings for organizations that are more evenly distributed within the rating range. Using these differences, one can distinguish between anomalous ratings of organizations and natural ratings of organizations.

[15] Согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии, можно собирать данные о действиях, связанных с рейтингованием организаций, содержащие отправленные пользователями рейтинги организаций. Рейтинги могут быть бинарными, такими как положительный или отрицательный рейтинг, и/или шкальными, такими как рейтинги из диапазона от одного (отрицательный рейтинг) до десяти (положительный рейтинг). Каждый рейтинг, отправленный пользователем во время рейтингования организаций, может содержать идентификатор пользователя, отправившего этот рейтинг.[15] According to non-limiting embodiments of the present technology, it is possible to collect data on the activities associated with the rating of organizations, containing the ratings of organizations submitted by users. Ratings can be binary, such as a positive or negative rating, and/or scaled, such as ratings ranging from one (negative rating) to ten (positive rating). Each rating submitted by a user during the rating of organizations may contain the identifier of the user who submitted this rating.

[16] Согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии, можно формировать граф рейтингования организаций. Каждый пользователь, участвующий в рейтинговании организаций, может представляться на графе в виде узла. Каждая организация, оцененная при рейтинговании организаций, также может представляться на графе в виде узла. Для каждого рейтинга из данных рейтингования организаций на графе может быть предусмотрено ребро, соединяющее пользователя, отправившего рейтинг, и оцениваемую организацию.[16] According to non-limiting embodiments of the present technology, an organization rating graph can be generated. Each user participating in the rating of organizations can be represented on the graph as a node. Each organization, evaluated during the rating of organizations, can also be represented on the graph as a node. For each rating from the organization rating data, an edge can be provided on the graph connecting the user who sent the rating and the organization being evaluated.

[17] Согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии, можно формировать другой граф рейтингования организаций. В этом втором графе организации из данных рейтингования организаций могут представляться узлами. Ребра могут соединять организации, оцененные по меньшей мере одним общим пользователем. Ребра могут быть взвешенными. Вес ребра может указывать на количество пользователей, отправивших рейтинг организации для первой организации и для второй организации, соединенных этим ребром.[17] According to non-limiting embodiments of the present technology, it is possible to form another graph of rating organizations. In this second column, organizations from the organization rating data may be represented by nodes. Edges can connect entities rated by at least one common user. Edges can be weighted. The weight of an edge can indicate the number of users who submitted an organization rating for the first organization and for the second organization connected by this edge.

[18] Согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии, в графе можно определять полные подграфы. В полном подграфе каждая организация (т.е. узел) может быть соединена ребром с каждой другой организацией. Затем из такого подграфа можно получать рейтинги для организаций. Рейтинги могут фильтроваться с целью удаления рейтингов от пользователей, оценивших меньше порогового количества организаций из этого подграфа. Затем может определяться распределение рейтингов. Организации, получившие аномальные рейтинги организаций, могут иметь относительно большое количество крайне положительных или крайне отрицательных рейтингов. Если распределение соответствует пороговому распределению, рейтинги для этих организаций могут считаться аномальными рейтингами организаций. Для каждого пользователя, сформировавшего аномальные рейтинги организаций, может быть сохранен соответствующий индикатор. Аномальные рейтинги организаций могут быть удалены из сохраненных данных рейтингования организаций.[18] According to non-limiting embodiments of the present technology, complete subgraphs can be defined in a graph. In a complete subgraph, each organization (ie, node) can be connected by an edge to every other organization. Then, from such a subgraph, you can get ratings for organizations. Ratings can be filtered to remove ratings from users who have rated less than a threshold number of organizations in this sub-graph. The distribution of ratings can then be determined. Entities that receive anomalous entity ratings may have a relatively large number of highly positive or highly negative ratings. If the distribution matches the threshold distribution, the ratings for these entities may be considered anomalous ratings for the entities. For each user who generated anomalous ratings of organizations, a corresponding indicator can be saved. Abnormal organization ratings can be removed from saved organization rating data.

[19] В соответствии с первым аспектом настоящей технологии реализован способ выявления пользователей, формирующих аномальные рейтинги организаций. Способ выполняется сервером и включает в себя: получение данных рейтингования организаций, содержащих множество организаций и один или несколько рейтингов для каждой организации; формирование графа рейтингования организаций, в котором каждый узел соответствует организации из множества организаций, а каждое ребро соединяет две организации и имеет вес, указывающий на количество пользователей, оценивших две организации, соединенные соответствующим ребром; определение в графе полного подграфа, в котором каждый узел соединен со всеми остальными узлами подграфа; определение соответствия пороговому распределению рейтингов, соответствующих подграфу; и в случае определения соответствия пороговому распределению рейтингов, соответствующих подграфу, сохранение индикатора связи пользователей, соответствующих подграфу, с аномальными рейтингами организаций.[19] In accordance with the first aspect of the present technology, a method for identifying users who form abnormal ratings of organizations is implemented. The method is performed by a server and includes: obtaining rating data of organizations containing a plurality of organizations and one or more ratings for each organization; generating an organization rating graph, in which each node corresponds to an organization from a plurality of organizations, and each edge connects two organizations and has a weight indicating the number of users who have rated the two organizations connected by the corresponding edge; defining a complete subgraph in the graph, in which each node is connected to all other nodes of the subgraph; determination of compliance with the threshold distribution of ratings corresponding to the subgraph; and in the case of determining compliance with the threshold distribution of ratings corresponding to the subgraph, maintaining an indicator of the association of users corresponding to the subgraph with anomalous ratings of organizations.

[20] В некоторых вариантах осуществления способа он дополнительно включает в себя удаление из графа ребер с весом, меньшим заранее заданного порогового веса.[20] In some embodiments of the method, it further includes removing from the graph edges with a weight less than a predetermined threshold weight.

[21] В некоторых вариантах осуществления способа он дополнительно включает в себя удаление из подграфа информации, соответствующей пользователям, оценившим меньше заранее заданного порогового количества организаций из подграфа.[21] In some embodiments of the method, it further includes removing from the subgraph information corresponding to users who have rated less than a predetermined threshold number of organizations from the subgraph.

[22] В некоторых вариантах осуществления способа он дополнительно включает в себя удаление из данных рейтингования организаций рейтингов, соответствующих пользователям, связанным с аномальными рейтингами организаций.[22] In some embodiments of the method, it further includes removing from the entity rating data the ratings corresponding to the users associated with the anomalous entity ratings.

[23] В некоторых вариантах осуществления способа один или несколько рейтингов содержат бинарные рейтинги или шкальные рейтинги.[23] In some embodiments of the method, one or more ratings comprise binary ratings or scale ratings.

[24] В некоторых вариантах осуществления способа определение соответствия пороговому распределению рейтингов, соответствующих подграфу, включает в себя: получение рейтингов, соответствующих подграфу; определение доли наибольших или наименьших возможных рейтингов; и определение соответствия этой доли пороговой доле.[24] In some embodiments of the method, determining compliance with a threshold distribution of ratings corresponding to a subgraph includes: obtaining ratings corresponding to a subgraph; determining the share of the highest or lowest possible ratings; and determining whether the proportion corresponds to a threshold proportion.

[25] В некоторых вариантах осуществления способа он перед формированием графа рейтингования организаций дополнительно включает в себя формирование предварительного графа рейтингования организаций, в котором каждый узел соответствует организации из множества организаций или пользователю, оценившему организацию, а каждое ребро соединяет пользователя с оцененной им организацией.[25] In some embodiments of the method, before generating the organization rating graph, it further includes generating a preliminary organization rating graph, in which each node corresponds to an organization from a plurality of organizations or a user who has rated the organization, and each edge connects the user to the organization rated by him.

[26] В некоторых вариантах осуществления способа получение данных рейтингования организаций включает в себя получение данных рейтингования организаций, собранных в течение заранее заданного периода времени.[26] In some embodiments of the method, obtaining entity rating data includes obtaining entity rating data collected over a predetermined period of time.

[27] В некоторых вариантах осуществления способа определение соответствия пороговому распределению рейтингов, соответствующих подграфу, включает в себя: получение рейтингов, соответствующих подграфу; определение количества рейтингов, больших высокого порогового рейтинга; и определение количества рейтингов, меньших низкого порогового рейтинга.[27] In some embodiments of the method, determining compliance with a threshold distribution of ratings corresponding to a subgraph includes: obtaining ratings corresponding to a subgraph; determining the number of ratings greater than the high threshold rating; and determining the number of ratings below the low rating threshold.

[28] В некоторых вариантах осуществления способа он дополнительно включает в себя сравнение количества рейтингов, больших высокого порогового рейтинга, и количества рейтингов, меньших низкого порогового рейтинга, с общим количеством рейтингов.[28] In some embodiments of the method, it further includes comparing the number of ratings greater than the high threshold rating and the number of ratings less than the low threshold rating with the total number of ratings.

[29] В некоторых вариантах осуществления способа определение полного подграфа включает в себя определение подграфа, соответствующего заранее заданному пороговому количеству узлов.[29] In some embodiments of the method, determining a complete subgraph includes determining a subgraph corresponding to a predetermined threshold number of nodes.

[30] В соответствии с другим аспектом настоящей технологии реализована система для выявления пользователей, формирующих аномальные рейтинги организаций. Система содержит процессор и машиночитаемый физический носитель информации, содержащий команды. Процессор при выполнении команд способен: получать данные рейтингования организаций, содержащие множество организаций и один или несколько рейтингов для каждой организации; формировать граф рейтингования организаций, в котором каждый узел соответствует организации из множества организаций, а каждое ребро соединяет две организации и имеет вес, указывающий на количество пользователей, оценивших две организации, соединенные соответствующим ребром; определять в графе полный подграф, в котором каждый узел соединен со всеми остальными узлами подграфа; определять соответствие пороговому распределению рейтингов, соответствующих подграфу; и в случае определения соответствия пороговому распределению рейтингов, соответствующих подграфу, сохранять индикатор связи пользователей, соответствующих подграфу, с аномальными рейтингами организаций.[30] In accordance with another aspect of the present technology, a system is implemented to identify users who form abnormal ratings of organizations. The system includes a processor and a computer-readable physical storage medium containing instructions. The processor, when executing commands, is capable of: receiving organization rating data containing a plurality of organizations and one or more ratings for each organization; generate an organization rating graph, in which each node corresponds to an organization from a plurality of organizations, and each edge connects two organizations and has a weight indicating the number of users who have rated the two organizations connected by the corresponding edge; define a complete subgraph in the graph, in which each node is connected to all other nodes of the subgraph; determine compliance with the threshold distribution of ratings corresponding to the sub-graph; and in the case of determining compliance with the threshold distribution of ratings corresponding to the subgraph, keep the indicator of the association of users corresponding to the subgraph with abnormal ratings of organizations.

[31] В некоторых вариантах осуществления системы процессор при выполнении команд дополнительно способен удалять из графа ребра с весом, меньшим заранее заданного порогового веса.[31] In some embodiments of the system, the processor, when executing instructions, is additionally capable of removing from the graph edges with a weight less than a predetermined threshold weight.

[32] В некоторых вариантах осуществления системы процессор при выполнении команд дополнительно способен удалять из подграфа информацию, соответствующую пользователям, оценившим меньше заранее заданного порогового количества организаций из подграфа.[32] In some embodiments of the system, the processor, when executing instructions, is further capable of deleting from the subgraph information corresponding to users who have scored less than a predetermined threshold number of organizations from the subgraph.

[33] В некоторых вариантах осуществления системы процессор при выполнении команд дополнительно способен удалять из данных рейтингования организаций рейтинги, соответствующие пользователям, связанным с аномальными рейтингами организаций.[33] In some embodiments of the system, the processor, when executing the instructions, is further capable of removing from the entity rating data the ratings corresponding to the users associated with the anomalous entity ratings.

[34] В соответствии еще одним аспектом настоящей технологии реализован способ выявления пользователей, формирующих аномальные рейтинги организаций. Способ выполняется сервером и включает в себя: получение данных рейтингования организаций, содержащих множество организаций и один или несколько рейтингов для каждой организации; определение на основе данных рейтингования организаций набора организаций, в котором для каждой организации и каждой другой организации из набора организаций имеется по меньшей один общий пользователь, оценивший обе эти организации; получение рейтингов, соответствующих набору организаций; определение аномальности распределения рейтингов; сохранение индикатора связи пользователей, оценивших две или более организаций из набора организаций, с аномальными рейтингами организаций.[34] In accordance with another aspect of the present technology, a method for identifying users who form abnormal ratings of organizations is implemented. The method is performed by a server and includes: obtaining rating data of organizations containing a plurality of organizations and one or more ratings for each organization; determining, based on the rating data of organizations, a set of organizations, in which for each organization and each other organization from the set of organizations there is at least one common user who has rated both of these organizations; obtaining ratings corresponding to a set of organizations; determination of the anomalous distribution of ratings; saving an indicator of the connection of users who have rated two or more organizations from a set of organizations with anomalous ratings of organizations.

[35] В некоторых вариантах осуществления способа он дополнительно включает в себя удаление рейтингов, соответствующих пользователям, оценившим меньше заранее заданного порогового количества организаций из набора организаций.[35] In some embodiments of the method, it further includes deleting ratings corresponding to users who have rated less than a predetermined threshold number of entities from the set of entities.

[36] В некоторых вариантах осуществления способа определение аномальности распределения рейтингов включает в себя определение доли наибольших или наименьших возможных рейтингов и определение соответствия этой доли пороговой доле.[36] In some embodiments of the method, determining the anomaly of the distribution of ratings includes determining the proportion of the highest or lowest possible ratings and determining whether this proportion corresponds to a threshold proportion.

[37] В некоторых вариантах осуществления способа определение аномальности распределения рейтингов включает в себя: определение метрики, соответствующей распределению рейтингов, и сравнение этой метрики с заранее заданной метрикой нормального распределения.[37] In some embodiments of the method, determining the anomaly of a rating distribution includes: determining a metric corresponding to the rating distribution and comparing that metric to a predetermined normal distribution metric.

[38] В некоторых вариантах осуществления способа сохранение индикатора связи пользователей, оценивших две или более организаций из набора организаций, с аномальными рейтингами организаций включает в себя сохранение этого индикатора для пользователей, оценивших больше заранее заданного порогового количества организаций из набора организаций.[38] In some embodiments of the method, storing an association indicator of users who have rated two or more entities in the entity set with anomalous entity ratings includes storing the indicator for users who have rated more than a predetermined threshold number of entities in the entity set.

[39] В контексте настоящего описания термин «сервер» означает компьютерную программу, выполняемую соответствующими аппаратными средствами и способную принимать запросы (например, от электронных устройств) через сеть и выполнять эти запросы или инициировать их выполнение. Аппаратные средства могут представлять собой один физический компьютер или одну компьютерную систему, что не существенно для настоящей технологии. В настоящем контексте выражение «сервер» не означает, что каждая задача (например, принятая команда или запрос) или некоторая определенная задача принимается, выполняется или запускается одним и тем же сервером (т.е. одними и теми же программными и/или аппаратными средствами). Это выражение означает, что любое количество программных средств или аппаратных средств может принимать, отправлять, выполнять или инициировать выполнение любой задачи или запроса либо результатов любых задач или запросов. Все эти программные и аппаратные средства могут представлять собой один сервер или несколько серверов, причем оба эти случая подразумеваются в выражении «по меньшей мере один сервер».[39] In the context of the present description, the term "server" means a computer program executed by appropriate hardware and capable of receiving requests (for example, from electronic devices) via a network and fulfill these requests or initiate their execution. The hardware may be one physical computer or one computer system, which is not essential to the present technology. In the present context, the expression "server" does not mean that every task (e.g. received command or request) or some specific task is received, executed or started by the same server (i.e. the same software and/or hardware ). This expression means that any number of software or hardware can receive, send, perform or initiate the execution of any task or request or the results of any tasks or requests. All of these software and hardware may be a single server or multiple servers, both of which are implied in the expression "at least one server".

[40] В контексте настоящего описания термин «электронное устройство» означает любое компьютерное аппаратное средство, способное выполнять программы, подходящие для решения поставленной задачи. Таким образом, некоторые (не имеющие ограничительного характера) примеры электронных устройств включают в себя персональные компьютеры (настольные, ноутбуки, нетбуки и т.п.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует отметить, что в данном контексте устройство, функционирующее как электронное устройство, также может функционировать как сервер в отношении других электронных устройств. Использование выражения «электронное устройство» не исключает использования нескольких электронных устройств для приема, отправки, выполнения или инициирования выполнения любой задачи или запроса либо результатов любых задач или запросов, либо шагов любого описанного здесь способа.[40] In the context of the present description, the term "electronic device" means any computer hardware capable of executing programs suitable for solving the task. Thus, some (non-limiting) examples of electronic devices include personal computers (desktops, laptops, netbooks, etc.), smartphones and tablets, and network equipment such as routers, switches, and gateways. It should be noted that in this context, a device functioning as an electronic device may also function as a server in relation to other electronic devices. The use of the term "electronic device" does not preclude the use of multiple electronic devices to receive, send, perform or initiate any task or request, or the results of any tasks or requests, or the steps of any method described herein.

[41] В контексте настоящего описания термин «база данных» означает любой структурированный набор данных, независимо от его конкретной структуры, программного обеспечения для управления базой данных или компьютерных аппаратных средств для хранения этих данных, их применения или обеспечения их использования иным способом. База данных может располагаться в тех же аппаратных средствах, где реализован процесс, обеспечивающий хранение или использование информации, хранящейся в базе данных, либо база данных может располагаться в отдельных аппаратных средствах, таких как специализированный сервер или множество серверов.[41] In the context of the present description, the term "database" means any structured set of data, regardless of its specific structure, database management software or computer hardware for storing this data, using them or providing them with use in another way. The database may reside on the same hardware as the process for storing or using the information stored in the database, or the database may reside on separate hardware such as a dedicated server or multiple servers.

[42] В контексте настоящего описания выражение «информация» включает в себя информацию любого рода или вида, допускающую хранение в базе данных. Таким образом, информация включает в себя аудиовизуальные произведения (изображения, фильмы, звукозаписи, презентации и т.д.), данные (данные о местоположении, числовые данные и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, электронные таблицы и т.д., но не ограничивается ими.[42] In the context of the present description, the expression "information" includes information of any kind or type that can be stored in a database. Thus, information includes audiovisual works (images, films, sound recordings, presentations, etc.), data (location data, numerical data, etc.), text (opinions, comments, questions, messages, etc.). .d.), but not limited to documents, spreadsheets, etc.

[43] В контексте настоящего описания выражение «пригодный для использования в компьютере носитель информации» означает носители любого рода и вида, включая оперативное запоминающее устройство (ОЗУ), постоянное запоминающее устройство (ПЗУ), диски (CD-ROM, DVD, гибкие диски, жесткие диски и т.д.), USB-накопители, твердотельные накопители, накопители на магнитных лентах и т.д.[43] In the context of the present description, the term "computer usable storage medium" means media of any kind and form, including random access memory (RAM), read only memory (ROM), disks (CD-ROM, DVD, floppy disks, hard drives, etc.), USB sticks, solid state drives, tape drives, etc.

[44] В контексте настоящего описания, если явно не указано другое, в качестве указания на информационный элемент может выступать сам информационный элемент, а также указатель, ссылка, гиперссылка или другое косвенное средство, с помощью которого получатель данных может найти место в сети, памяти, базе данных или на другом машиночитаемом носителе информации, откуда можно извлечь этот информационный элемент.Например, указание на документ может включать в себя сам документ (т.е. его содержимое) или это указание может представлять собой уникальный дескриптор документа, указывающий на файл в определенной файловой системе, или какие-либо другие средства для указания получателю данных места в сети, адреса памяти, таблицы в базе данных или другого места, где можно получить доступ к файлу. Специалисту в данной области должно быть очевидно, что степень точности, требуемая для такого указания, зависит от объема предварительных знаний относительно интерпретации информации, которой обмениваются отправитель и получатель данных. Например, если перед началом обмена данными между отправителем и получателем известно, что указание на информационный элемент представляет собой ключ базы данных для элемента в определенной таблице заранее заданной базы данных, содержащей этот информационный элемент, то для эффективной передачи этого информационного элемента получателю достаточно оправить ключ базы данных, даже если сам информационный элемент не передается между отправителем и получателем данных.[44] As used herein, unless explicitly stated otherwise, an information element can be referred to by the information element itself, as well as a pointer, link, hyperlink, or other indirect means by which a data recipient can locate a location in a network, memory , database, or other machine-readable storage medium from which the information element can be retrieved. a specific file system, or some other means to indicate to the recipient of the data a location on a network, a memory address, a table in a database, or some other 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.

[45] В контексте настоящего описания числительные «первый», «второй», «третий», и т.д. используются лишь для указания различия между существительными, к которым они относятся, но не для описания каких-либо определенных взаимосвязей между этими существительными. Например, должно быть понятно, что использование терминов «первый сервер» и «третий сервер» не подразумевает какого-либо определенного порядка, типа, хронологии, иерархии или классификации, в данном случае, серверов, а также что их использование (само по себе) не подразумевает наличие «второго сервера» в любой ситуации. Кроме того, как встречается в настоящем описании в другом контексте, ссылка на «первый» элемент и «второй» элемент не исключает того, что эти два элемента в действительности могут быть одним и тем же элементом. Таким образом, например, в некоторых случаях «первый» сервер и «второй» сервер могут представлять собой одно и то же программное и/или аппаратное средство, а в других случаях - различные программные и/или аппаратные средства.[45] In the context of the present description, 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 different software and/or hardware.

[46] Каждый вариант осуществления настоящей технологии относится к по меньшей мере одной из вышеупомянутых целей и/или аспектов, но не обязательно ко всем ним. Должно быть понятно, что некоторые аспекты настоящей технологии, связанные с попыткой достижения вышеупомянутой цели, могут не соответствовать этой цели и/или могут соответствовать другим целям, явным образом здесь не упомянутым.[46] Each embodiment of the present technology relates to at least one of the above objectives 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.

[47] Дополнительные и/или альтернативные признаки, аспекты и преимущества вариантов осуществления настоящей технологии содержатся в дальнейшем описании, в приложенных чертежах и в формуле изобретения.[47] 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

[48] Дальнейшее описание приведено для лучшего понимания настоящей технологии, а также других аспектов и их признаков, и должно использоваться совместно с приложенными чертежами.[48] 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.

[49] На фиг. 1 представлены элементы и признаки вычислительного устройства согласно вариантам осуществления настоящей технологии.[49] FIG. 1 shows elements and features of a computing device according to embodiments of the present technology.

[50] На фиг. 2 представлена схема системы, реализованной согласно вариантам осуществления настоящей технологии, не имеющим ограничительного характера.[50] FIG. 2 is a diagram of a system implemented in accordance with non-limiting embodiments of the present technology.

[51] На фиг. 3 представлена соответствующая вариантам осуществления настоящей технологии схема с пользователями, отправляющими естественные рейтинги организаций.[51] FIG. 3 shows a scheme corresponding to embodiments of the present technology with users submitting natural ratings of organizations.

[52] На фиг. 4 представлена соответствующая вариантам осуществления настоящей технологии схема с пользователями, отправляющими аномальные рейтинги организаций.[52] FIG. 4 shows a diagram corresponding to embodiments of the present technology with users submitting anomalous ratings of organizations.

[53] На фиг. 5 и 6 приведена блок-схема способа выявления пользователей, формирующих аномальные рейтинги организаций, выполняемого в представленной на фиг. 2 системе согласно некоторым вариантам осуществления настоящей технологии, не имеющим ограничительного характера.[53] FIG. 5 and 6 is a flowchart of a method for detecting users who form abnormal ratings of organizations, performed in the one shown in FIG. 2 system according to some non-limiting embodiments of the present technology.

[54] На фиг. 7 представлен граф рейтингования организаций согласно вариантам осуществления настоящей технологии.[54] FIG. 7 shows a graph of rating organizations according to embodiments of the present technology.

[55] На фиг. 8 представлен другой граф рейтингования организаций согласно вариантам осуществления настоящей технологии.[55] FIG. 8 shows another chart for rating organizations according to embodiments of the present technology.

[56] На фиг. 9 приведены полные подграфы графа рейтингования организаций, представленного на фиг. 8, согласно вариантам осуществления настоящей технологии.[56] FIG. 9 shows the complete subgraphs of the organization rating graph shown in FIG. 8 according to embodiments of the present technology.

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

[57] Представленные в данном описании примеры и условный язык предназначены для обеспечения лучшего понимания принципов настоящей технологии, а не для ограничения ее объема до таких специально приведенных примеров и условий. Очевидно, что специалисты в данной области техники способны разработать различные способы и устройства, которые явно не описаны и не показаны, но реализуют принципы настоящей технологии в пределах ее существа и объема.[57] 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 conditions. 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.

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

[59] В некоторых случаях приводятся полезные примеры модификаций настоящей технологии. Они способствуют пониманию, но также не определяют объем или границы настоящей технологии. Представленный перечень модификаций не является исчерпывающим и специалист в данной области может разработать другие модификации в пределах объема настоящей технологии. Кроме того, если в некоторых случаях модификации не описаны, это не означает, что они невозможны и/или что описание содержит единственно возможный вариант реализации того или иного элемента настоящей технологии.[59] 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 a 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.

[60] Более того, описание принципов, аспектов и вариантов реализации настоящей технологии, а также их конкретные примеры, предназначены для охвата их структурных и функциональных эквивалентов, независимо от того, известны они в настоящее время или будут разработаны в будущем. Например, специалистам в данной области техники должно быть очевидно, что любые описанные здесь структурные схемы соответствуют концептуальным представлениям иллюстративных принципиальных схем, реализующих принципы настоящей технологии. Также должно быть очевидно, что любые блок-схемы, схемы процессов, диаграммы изменения состояния, псевдокоды и т.п.соответствуют различным процессам, которые могут быть представлены на машиночитаемом физическом носителе информации и могут выполняться компьютером или процессором, независимо от того, показан такой компьютер или процессор явно или нет.[60] Moreover, the description of the principles, aspects, and embodiments of the present technology, as well as their specific examples, is intended to cover their structural and functional equivalents, whether they are currently known or will be developed in the future. For example, it should be apparent to those skilled in the art that any block diagrams described herein correspond to conceptual representations of illustrative circuit diagrams that implement the principles of the present technology. It should also be apparent that any flowcharts, process diagrams, state transition diagrams, pseudocodes, and the like 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 or not such is shown. computer or processor explicitly or not.

[61] Функции различных элементов, показанных на чертежах, включая любой функциональный блок, обозначенный как «процессор» или «графический процессор», могут быть реализованы с использованием специализированных аппаратных средств, а также с использованием аппаратных средств, способных выполнять соответствующее программное обеспечение. Если используется процессор, эти функции могут выполняться одним выделенным процессором, одним совместно используемым процессором или множеством отдельных процессоров, некоторые из которых могут использоваться совместно. В некоторых вариантах осуществления настоящей технологии процессор может представлять собой процессор общего назначения, такой как центральный процессор (CPU), или специализированный процессор, такой как графический процессор (GPU). Кроме того, явное использование термина «процессор» или «контроллер» не должно трактоваться как указание исключительно на аппаратные средства, способные выполнять программное обеспечение, и может подразумевать, помимо прочего, аппаратные средства цифрового сигнального процессора (DSP), сетевой процессор, специализированную интегральную схему (ASIC), программируемую вентильную матрицу (FPGA), ПЗУ для хранения программного обеспечения, ОЗУ и энергонезависимое запоминающее устройство. Также могут подразумеваться другие аппаратные средства, общего назначения и/или заказные.[61] 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.

[62] Программные модули или просто модули, реализация которых предполагается в виде программных средств, могут быть представлены здесь как любое сочетание элементов блок-схемы или других элементов, указывающих на выполнение шагов процесса и/или содержащих текстовое описание. Такие модули могут выполняться аппаратными средствами, показанными явно или подразумеваемыми.[62] 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.

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

[64] На фиг. 1 представлено вычислительное устройство 100, пригодное для использования с некоторыми вариантами осуществления настоящей технологии. Вычислительное устройство 100 содержит различные аппаратные элементы, включая один или несколько одно- или многоядерных процессоров, обобщенно представленных процессором 110, графический процессор (GPU) 111, твердотельный накопитель 120, ОЗУ 130, интерфейс 140 дисплея и интерфейс 150 ввода-вывода.[64] FIG. 1 depicts a computing device 100 suitable for use with some embodiments of the present technology. Computing device 100 includes various hardware elements including one or more single or multi-core processors, collectively represented by processor 110, graphics processing unit (GPU) 111, solid state drive 120, RAM 130, display interface 140, and I/O interface 150.

[65] Связь между различными элементами вычислительного устройства 100 может осуществляться через одну или несколько внутренних и/или внешних шин 160 (таких как шина PCI, универсальная последовательная шина, шина FireWire стандарта IEEE 1394, шина SCSI, шина Serial-ATA и т.д.), с которыми различные аппаратные элементы соединены электронными средствами.[65] Communication between various elements of computing device 100 may be via one or more internal and/or external buses 160 (such as a PCI bus, Universal Serial Bus, IEEE 1394 FireWire bus, SCSI bus, Serial-ATA bus, etc. .), to which various hardware elements are connected electronically.

[66] Интерфейс 150 ввода-вывода может соединяться с сенсорным экраном 190 и/или с одной или несколькими внутренними и/или внешними шинами 160. Сенсорный экран 190 может входить в состав дисплея. В некоторых вариантах реализации сенсорный экран 190 представляет собой дисплей. Сенсорный экран 190 может также называться экраном 190. В представленных на фиг. 1 вариантах осуществления изобретения сенсорный экран 190 содержит сенсорное оборудование 194 (например, чувствительные к нажатию ячейки, встроенные в дисплей и позволяющие обнаруживать физическое взаимодействие между пользователем и дисплеем) и контроллер 192 ввода-вывода для сенсорных устройств, который обеспечивает связь с интерфейсом 140 дисплея и/или одной или несколькими внутренними и/или внешними шинами 160. В некоторых вариантах осуществления изобретения интерфейс 150 ввода-вывода может соединяться с клавиатурой (не показана), мышью (не показана) или сенсорной площадкой (не показана), которые обеспечивают взаимодействие пользователя с вычислительным устройством 100 в дополнение к сенсорному экрану 190 или вместо него.[66] The I/O interface 150 may be connected to the touch screen 190 and/or one or more internal and/or external buses 160. The touch screen 190 may be part of a display. In some embodiments, the touch screen 190 is a display. Touch screen 190 may also be referred to as screen 190. In the FIGS. 1 embodiments, the touch screen 190 includes touch hardware 194 (e.g., pressure-sensitive cells built into the display to detect physical interaction between the user and the display) and a touch I/O controller 192 that communicates with the display interface 140 and /or one or more internal and/or external buses 160. In some embodiments, the input/output interface 150 may be connected to a keyboard (not shown), mouse (not shown), or touch pad (not shown) that provide user interaction with computing device 100 in addition to or instead of touch screen 190.

[67] Согласно вариантам осуществления настоящей технологии твердотельный накопитель 120 хранит программные команды, пригодные для загрузки в ОЗУ 130 и выполнения процессором 110 и/или графическим процессором 111. Программные команды могут, например, входить в состав библиотеки или приложения.[67] According to embodiments of the present technology, solid state drive 120 stores software instructions suitable for loading into RAM 130 and execution by processor 110 and/or graphics processor 111. The software instructions may, for example, be included in a library or application.

[68] Вычислительное устройство 100 может представлять собой сервер, настольный компьютер, планшет, смартфон, карманный персональный компьютер или любое устройство, способное реализовывать настоящую технологию, как должно быть понятно специалисту в данной области.[68] Computing device 100 may be a server, desktop computer, tablet, smartphone, personal digital assistant, or any device capable of implementing the present technology, as one of skill in the art would understand.

[69] На фиг. 2 представлена система 200, реализованная согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии. Система 200 содержит первое клиентское устройство 210, второе клиентское устройство 215, третье клиентское устройство 220 и четвертое клиентское устройство 225, соединенные с сетью 205 связи соответствующими линиями 245 связи. Система 200 содержит сервер 230 поисковой системы, сервер 235 анализа и сервер 240 обнаружения аномальных рейтингов организаций, соединенные с сетью 205 связи соответствующими линиями 245 связи.[69] FIG. 2 depicts system 200 implemented in accordance with non-limiting embodiments of the present technology. System 200 includes a first client device 210, a second client device 215, a third client device 220, and a fourth client device 225 connected to the communication network 205 by respective communication lines 245. The system 200 includes a search engine server 230, an analysis server 235, and an organization anomalous rankings detection server 240 connected to the communication network 205 by respective communication lines 245 .

[70] Первое клиентское устройство 210, второе клиентское устройство 215, третье клиентское устройство 220, четвертое клиентское устройство 225, сервер 230 поисковой системы, сервер 235 анализа и/или сервер 240 обнаружения аномальных рейтингов организаций могут представлять собой вычислительные устройства 100 и/или содержать элементы вычислительных устройств 100. Например, первое клиентское устройство 210 может быть реализовано в виде смартфона, второе клиентское устройство 215 может быть реализовано в виде ноутбука, третье клиентское устройство 220 может быть реализовано в виде смартфона, четвертое клиентское устройство 225 может быть реализовано в виде планшета. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сеть 205 связи может представлять собой сеть Интернет.В других вариантах осуществления настоящей технологии сеть 205 связи может быть реализована иначе, например, в виде произвольной глобальной сети связи, локальной сети связи, частной сети связи и т.д.[70] The first client device 210, the second client device 215, the third client device 220, the fourth client device 225, the search engine server 230, the analysis server 235, and/or the organization anomaly rankings detection server 240 may be the computing devices 100 and/or comprise elements of computing devices 100. For example, the first client device 210 may be implemented as a smartphone, the second client device 215 may be implemented as a laptop, the third client device 220 may be implemented as a smartphone, the fourth client device 225 may be implemented as a tablet . In some non-limiting embodiments of the present technology, the communication network 205 may be the Internet. In other embodiments of the present technology, the communication network 205 may be implemented differently, such as an arbitrary wide area network, a local area network, a private network, and etc.

[71] На реализацию линии 245 связи не накладывается каких-либо особых ограничений, она зависит от реализации первого клиентского устройства 210, второго клиентского устройства 215, третьего клиентского устройства 220 и четвертого клиентского устройства 225. В качестве примера, не имеющего ограничительного характера, в тех вариантах реализации настоящей технологии, где по меньшей мере одно из клиентских устройств, таких как первое клиентское устройство 210, второе клиентское устройство 215, третье клиентское устройство 220 и четвертое клиентское устройство 225, реализовано в виде беспроводного устройства связи (такого как смартфон), линия 245 связи может быть реализована в виде беспроводной линии связи (такой как канал сети связи 3G, канал сети связи 4G, Wireless Fidelity или сокращенно WiFi®, Bluetooth(и т.п.). В тех примерах, где по меньшей мере одно из клиентских устройств, таких как первое клиентское устройство 210, второе клиентское устройство 215, третье клиентское устройство 220 и четвертое клиентское устройство 225, реализовано в виде ноутбука, смартфона или планшетного компьютера, линия 245 связи может быть как беспроводной (такой как Wireless Fidelity или кратко WiFi®, Bluetooth(и т.п.), так и проводной (такой как соединение на основе Ethernet).[71] The implementation of the link 245 is not particularly limited, but depends on the implementation of the first client device 210, the second client device 215, the third client device 220, and the fourth client device 225. By way of non-limiting example, in those embodiments of the present technology where at least one of the client devices, such as the first client device 210, the second client device 215, the third client device 220, and the fourth client device 225, is implemented as a wireless communication device (such as a smartphone), a line 245 may be implemented as a wireless link (such as a 3G network link, a 4G network link, Wireless Fidelity or WiFi® for short, Bluetooth(etc.). In those examples where at least one of the client devices such as first client device 210, second client device 215, third client device 220 and a fourth client device 225, implemented as a laptop, smartphone, or tablet computer, link 245 can be either wireless (such as Wireless Fidelity or WiFi®, Bluetooth(etc.) for short) or wired (such as a connection to based on Ethernet).

[72] Очевидно, что варианты реализации первого клиентского устройства 210, второго клиентского устройства 215, третьего клиентского устройства 220, четвертого клиентского устройства 225, линии 245 связи и сети 205 связи приведены лишь для иллюстрации. Специалистам в данной области должны быть очевидными и другие конкретные детали реализации первого клиентского устройства 210, второго клиентского устройства 215, третьего клиентского устройства 220, четвертого клиентского устройства 225, линии 245 связи и сети 205 связи. Представленные выше примеры никак не ограничивают объем настоящей технологии.[72] Obviously, the implementations of the first client device 210, the second client device 215, the third client device 220, the fourth client device 225, the communication line 245, and the communication network 205 are for illustration purposes only. Other specific implementation details of the first client device 210, second client device 215, third client device 220, fourth client device 225, link 245, and network 205 will be apparent to those skilled in the art. The above examples do not limit the scope of the present technology in any way.

[73] Несмотря на то, что на фиг. 2 показаны лишь четыре клиентских устройства 210, 215, 220 и 225, предполагается, что к системе 200 может быть подключено любое количество клиентских устройств 210, 215, 220 и 225. Также предполагается, что в некоторых вариантах осуществления изобретения в системе 200 могут насчитываться десятки или сотни тысяч клиентских устройств 210, 215, 220 и 225.[73] Although FIG. 2 shows only four client devices 210, 215, 220, and 225, it is contemplated that any number of client devices 210, 215, 220, and 225 may be connected to system 200. It is also contemplated that in some embodiments, system 200 may have dozens of or hundreds of thousands of client devices 210, 215, 220, and 225.

[74] К сети 205 связи также подключен вышеупомянутый сервер 230 поисковой системы. Сервер 230 поисковой системы может быть реализован в виде традиционного компьютерного сервера. В примере осуществления настоящей технологии сервер 230 поисковой системы может быть реализован в виде сервера Dell(PowerEdge™, работающего под управлением операционной системы Microsoft(Windows Server™. Сервер 230 поисковой системы может быть реализован с применением любых других подходящих аппаратных средств и/или программного обеспечения и/или встроенного программного обеспечения либо их сочетания. В представленном не имеющем ограничительного характера варианте осуществления настоящей технологии сервер 230 поисковой системы представляет собой один сервер. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии функции сервера 230 поисковой системы могут быть распределены между несколькими серверами. В некоторых вариантах осуществления настоящей технологии сервер 230 поисковой системы управляется и/или администрируется оператором поисковой системы. В качестве альтернативы, сервер 230 поисковой системы может управляться и/или администрироваться поставщиком услуг.[74] The aforementioned search engine server 230 is also connected to the communication network 205 . The search engine server 230 may be implemented as a conventional computer server. In an exemplary embodiment of the present technology, the search engine server 230 may be implemented as a Dell (PowerEdge™) server running a Microsoft (Windows Server™) operating system. The search engine server 230 may be implemented using any other suitable hardware and/or software. and/or firmware, or a combination thereof.In a non-limiting embodiment of the present technology, the search engine server 230 is a single server.In other non-limiting embodiments of the present technology, the functions of the search engine server 230 may be distributed among multiple servers. In some embodiments of the present technology, search engine server 230 is managed and/or administered by a search engine operator.Alternatively, search engine server 230 can be managed and/or administered by a search engine operator. service provider.

[75 В целом, сервер 230 поисковой системы (а) осуществляет поиск; (б) анализирует и ранжирует результаты поиска; и (в) группирует результаты и формирует страницу результатов поисковой системы (SERP, Search Engine Result Page) для отправки электронному устройству (такому как первое клиентское устройство 210, второе клиентское устройство 215, третье клиентское устройство 220 и четвертое клиентское устройство 225).[75 In general, the search engine server 230 (a) performs a search; (b) analyze and rank search results; and (c) groups the results and generates a Search Engine Result Page (SERP) for sending to an electronic device (such as a first client device 210, a second client device 215, a third client device 220, and a fourth client device 225).

[76] На сервер 230 поисковой системы, предназначенный для выполнения поиска, не накладывается каких-либо особых ограничений. Специалистам в данной области известен ряд способов и средств выполнения поиска с использованием сервера 230 поисковой системы, поэтому структурные элементы сервера 230 поисковой системы описаны в общем виде. Сервер 230 поисковой системы может поддерживать базу 250 данных журналов поиска. В некоторых вариантах осуществления настоящей технологии сервер 230 поисковой системы может выполнять несколько поисков, включая общий поиск и вертикальный поиск, но не ограничиваясь ими.[76] The search engine server 230 for performing searches is not subject to any particular restrictions. A number of methods and means of performing searches using the search engine server 230 are known to those skilled in the art, so the structural elements of the search engine server 230 are described in general terms. The search engine server 230 may maintain a search log database 250 . In some embodiments of the present technology, the search engine server 230 may perform multiple searches, including but not limited to general searches and vertical searches.

[77] Как известно специалистам в данной области техники, сервер 230 поисковой системы способен выполнять общие веб-поиски. Сервер 230 поисковой системы также способен выполнять один или несколько вертикальных поисков, таких как вертикальный поиск изображений, вертикальный поиск музыки, вертикальный поиск видеоматериалов, вертикальный поиск новостей, вертикальный поиск карт и т.д. Как известно специалистам в данной области, сервер 230 поисковой системы также способен выполнять алгоритм обходчика, согласно которому сервер 230 поисковой системы выполняет обход сети Интернет и индексирует посещенные веб-сайты в одной или нескольких индексных базах данных, таких как база 250 данных журналов поиска.[77] As will be known to those skilled in the art, the search engine server 230 is capable of performing general web searches. The search engine server 230 is also capable of performing one or more vertical searches such as image vertical search, music vertical search, video vertical search, news vertical search, map vertical search, and so on. As will be known to those skilled in the art, search engine server 230 is also capable of performing a crawler algorithm whereby search engine server 230 crawls the Internet and indexes visited websites in one or more index databases, such as search log database 250.

[78] Сервер 230 поисковой системы способен формировать ранжированный список результатов поиска, включающий в себя результаты общего веб-поиска и вертикального веб-поиска. Известно множество алгоритмов ранжирования результатов поиска, которые могут быть реализованы на сервере 230 поисковой системы.[78] The search engine server 230 is capable of generating a ranked list of search results including general web search results and vertical web search results. There are many algorithms for ranking search results that can be implemented on the server 230 of the search engine.

[79] В качестве примера, не имеющего ограничительного характера, некоторые известные способы ранжирования результатов поиска по степени соответствия сделанному пользователем поисковому запросу основываются на некоторых или на всех следующих критериях: (а) популярность данного поискового запроса или соответствующего ответа при выполнении поисков; (б) количество предоставляемых результатов; (в) наличие в запросе определяющих терминов (таких как «изображения», «фильмы», «погода» и т.п.); (г) частота использования другими пользователями данного поискового запроса с определяющими терминами; и (д) частота выбора другими пользователями, выполняющими аналогичный поиск, определенного ресурса или определенных результатов вертикального поиска, когда результаты были представлены с использованием страницы SERP. Сервер 230 поисковой системы может рассчитывать и назначать коэффициент релевантности (основанный на различных представленных выше критериях) для каждого результата поиска, полученного по сделанному пользователем поисковому запросу, а также формировать страницу SERP, где результаты поиска ранжированы согласно их коэффициентам релевантности. В настоящем варианте осуществления изобретения сервер 230 поисковой системы может выполнять множество алгоритмов машинного обучения для ранжирования документов и/или формировать признаки для ранжирования документов.[79] By way of a non-limiting example, some well-known methods for ranking search results according to the degree of relevance to a search query made by a user are based on some or all of the following criteria: (a) the popularity of a given search query or corresponding answer when performing searches; (b) the number of deliverables; (c) the presence of defining terms in the query (such as "images", "movies", "weather", etc.); (d) frequency of use by other users of this search query with defining terms; and (e) the frequency with which other users performing similar searches selected a particular resource or particular vertical search results when the results were submitted using the SERP page. The search engine server 230 may calculate and assign a relevancy score (based on the various criteria presented above) for each search result obtained from a search query made by the user, and also generate a SERP page where the search results are ranked according to their relevance scores. In the present embodiment, the search engine server 230 may execute a plurality of machine learning algorithms to rank documents and/or generate features for ranking documents.

[80] Сервер 230 поисковой системы обычно поддерживает базу 250 данных журналов поиска. В общем случае база 250 данных журнала поиска может поддерживать индекс 255, журнал 260 действий пользователей и журнал 265 рейтингов. Несмотря на то, что индекс 255, журнал 260 действий пользователей и журнал 265 рейтингов описаны в составе базы 250 данных журнала поиска, они могут быть реализованы отдельно от базы 250 данных журнала поиска.[80] The search engine server 230 typically maintains a search log database 250 . In general, the search log database 250 may maintain an index 255, a user activity log 260, and a ratings log 265. While the index 255, user activity log 260, and ratings log 265 are described as part of the search log database 250, they may be implemented separately from the search log database 250.

[81] Сервер 230 поисковой системы и/или другой сервер может получать отправленные пользователями рейтинги организаций и/или управлять ими. Опция для оценивания организации может быть включена в состав страницы SERP и/или любой другой веб-страницы. Сервер 230 поисковой системы может получать рейтинг организации и сохранять запись рейтинга организации в журнале 265 рейтингов.[81] The search engine server 230 and/or other server may receive and/or manage user-submitted rankings of organizations. The option to rank an organization can be included in the SERP page and/or any other web page. The search engine server 230 may obtain an organization's rating and store a record of the organization's rating in a ratings log 265 .

[82] Индекс 255 предназначен для индексирования документов, таких как веб-страницы, изображения, файлы в формате PDF, документы Word™, документы PowerPoint™, которые были просмотрены (или обнаружены) обходчиком сервера 230 поисковой системы. Когда пользователь первого клиентского устройства 210, второго клиентского устройства 215, третьего клиентского устройства 220 или четвертого клиентского устройства 225 вводит запрос и выполняет поиск на сервере 230 поисковой системы, сервер 230 поисковой системы анализирует индекс 255 и извлекает документы, содержащие термины запроса, а затем ранжирует их согласно алгоритму ранжирования.[82] The index 255 is for indexing documents such as web pages, images, PDF files, Word™ documents, PowerPoint™ documents that have been viewed (or discovered) by the crawler of the search engine server 230. When a user of the first client device 210, the second client device 215, the third client device 220, or the fourth client device 225 enters a query and performs a search on the search engine server 230, the search engine server 230 parses the index 255 and retrieves documents containing the query terms, and then ranks them according to the ranking algorithm.

[83] Журнал 260 действий пользователей предназначен для регистрации поисков, выполненных с использованием сервера 230 поисковой системы. В частности, в журнале 260 действий пользователей хранятся термины поисковых запросов (т.е соответствующие искомые слова) и связанные с ними результаты поиска. Следует отметить, что журнал 260 действий пользователей может поддерживаться в обезличенной форме, при этом поисковые запросы невозможно соотнести с пользователями, отправившими эти поисковые запросы.[83] The log 260 of user actions is designed to record searches performed using the server 230 of the search engine. Specifically, the user activity log 260 stores search query terms (ie, corresponding search words) and associated search results. It should be noted that the user activity log 260 may be maintained in an anonymised form, and search queries cannot be associated with the users who submitted those search queries.

[84] В частности, журнал 260 действий пользователей может содержать список запросов с соответствующими терминами, с информацией о документах, указанных сервером 230 поисковой системы в списке в ответ на соответствующий запрос, и с отметкой времени. Кроме того, он может содержать список пользователей, идентифицируемых с использованием анонимных идентификаторов (или вообще без идентификаторов), и соответствующие документы, выбранные ими после отправки запроса. В некоторых вариантах осуществления изобретения журнал 260 действий пользователей может обновляться при каждом выполнении нового поиска на сервере 230 поисковой системы. В других вариантах осуществления изобретения журнал 260 действий пользователей может обновляться в заранее заданные моменты времени. В некоторых вариантах осуществления изобретения может существовать множество копий журнала 260 действий пользователей, каждая из которых соответствует журналу 260 действий пользователей в различные моменты времени.[84] In particular, the log 260 of user actions may contain a list of queries with the corresponding terms, with information about the documents listed by the search engine server 230 in the list in response to the corresponding query, and with a timestamp. In addition, it may contain a list of users identified using anonymous identifiers (or no identifiers at all) and the corresponding documents selected by them after submitting the request. In some embodiments, the user activity log 260 may be updated each time a new search is performed on the search engine server 230. In other embodiments, the user activity log 260 may be updated at predetermined times. In some embodiments of the invention, there may be multiple copies of the user activity log 260, each of which corresponds to the user activity log 260 at different points in time.

[85] Журнал 260 действий пользователей также может содержать параметры действий пользователей, отслеживаемые сервером 235 анализа после того, как пользователь отправил запрос и выбрал один или несколько документов на странице SERP на сервере 230 поисковой системы. В не имеющем ограничительного характера примере журнал 260 действий пользователей может содержать ссылку на документ, который может быть идентифицирован с использованием идентификационного номера или универсального указателя ресурсов (URL, Uniform Resource Locator), и список запросов, каждый из которых связан с множеством параметров действий пользователей, как более подробно описано ниже. В общем случае множество параметров действий пользователей может отслеживаться и объединяться сервером 235 анализа и в некоторых вариантах осуществления изобретения они могут фиксироваться для каждого отдельного пользователя.[85] The user activity log 260 may also contain user activity parameters tracked by the analysis server 235 after the user has submitted a request and selected one or more documents on the SERP page on the search engine server 230. In a non-limiting example, the user activity log 260 may contain a link to a document that can be identified using an identification number or a Uniform Resource Locator (URL) and a list of queries, each associated with a plurality of user activity parameters, as described in more detail below. In general, a plurality of user activity parameters may be tracked and aggregated by the analysis server 235, and in some embodiments of the invention, they may be captured for each individual user.

[86] Не имеющие ограничительного характера примеры действий пользователей, отслеживаемых с использованием журнала 260 действий пользователей, включают в себя (в числе прочего):[86] Non-limiting examples of user activities tracked using the user activity log 260 include (but are not limited to):

- успех/неудача: был или не был выбран документ из ответа на поисковый запрос;- success/failure: whether or not a document was selected from the response to the search query;

- время пребывания: время, затраченное пользователем на документ до возврата на страницу SERP;- residence time: the time spent by the user on the document before returning to the SERP page;

- длинный/короткий «клик»: было взаимодействие пользователя с документом длительным или кратким по сравнению с взаимодействием пользователя с другими документами на странице SERP.- Long/Short Click: Was the user's interaction with the document long or short compared to the user's interaction with other documents on the SERP page.

[87] Разумеется, что представленный выше список не является исчерпывающим и он может включать в себя другие виды действий пользователей без выхода за границы настоящей технологии. В некоторых вариантах осуществления изобретения сервер 235 анализа может объединять данные о действиях пользователей (которые в не имеющем ограничительного характера примере могут включать в себя действия пользователей для каждого часа) и формировать данные о действиях пользователей для сохранения в журнале 260 взаимодействий пользователя в подходящем для реализации настоящей технологии формате (которые в не имеющем ограничительного характера примере могут представлять действия пользователей для заранее заданного периода времени длительностью 3 месяца). В других вариантах осуществления изобретения в журнале 260 действий пользователей могут храниться данные о действиях пользователей в необработанном виде так, чтобы они могли извлекаться и объединяться сервером 230 поисковой системы и/или сервером 235 анализа и/или сервером 240 обнаружения аномальных рейтингов организаций и/или другим сервером (не показан) в формате, подходящем для реализации настоящей технологии.[87] Of course, the above list is not exhaustive and may include other types of user actions without going beyond the boundaries of the present technology. In some embodiments, the analysis server 235 may combine user activity data (which, in a non-limiting example, may include user activity for each hour) and generate user activity data for storage in the user interaction log 260 in an implementation-appropriate manner. technology format (which, in a non-limiting example, may represent user activities for a predetermined time period of 3 months). In other embodiments, the user activity log 260 may store raw user activity data so that it can be retrieved and aggregated by the search engine server 230 and/or the analysis server 235 and/or the organization anomalous rankings detection server 240 and/or other server (not shown) in a format suitable for implementing the present technology.

[88] Журнал 265 рейтингов содержит отправленные пользователями рейтинги организаций. Каждый элемент журнала 265 рейтингов может содержать идентификатор пользователя, такой как IP-адрес, имя пользователя, адрес электронной посты и т.д. Каждый элемент может содержать указание на оцениваемую организацию, например, веб-хост организации, название организации, фактический адрес организации, контактную информацию организации. Несмотря на то, что настоящее описание приведено применительно к организации, должно быть понятно, что рейтинг может относиться к человеку и/или объекту любого другого вида. Каждый элемент в журнале 265 рейтингов может содержать отметку времени для рейтинга. Каждый элемент может содержать рейтинг, который может представлять собой бинарный рейтинг, шкальный рейтинг и/или рейтинг любого другого вида.[88] The ratings log 265 contains user-submitted ratings of organizations. Each entry in the rating log 265 may contain a user identifier such as an IP address, username, email address, and so on. Each element can contain an indication of the organization being assessed, for example, the organization's web host, the organization's name, the organization's physical address, the organization's contact information. Although this description is given in relation to the organization, it should be clear that the rating can refer to a person and/or object of any other kind. Each entry in the rating log 265 may contain a timestamp for the rating. Each element may contain a rating, which may be a binary rating, a scale rating, and/or any other type of rating.

[89] К сети 205 связи также подключен вышеупомянутый сервер 235 анализа. Сервер 235 анализа может быть реализован в виде традиционного компьютерного сервера. В примере осуществления настоящей технологии сервер 235 анализа может быть реализован в виде сервера Dell(PowerEdge™, работающего под управлением операционной системы Microsoft(Windows Server™. Очевидно, что сервер 235 анализа может быть реализован с использованием любых других подходящих аппаратных средств и/или прикладного программного обеспечения и/или встроенного программного обеспечения либо их сочетания. В представленном не имеющем ограничительного характера варианте осуществления настоящей технологии сервер 235 анализа представляет собой один сервер. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии функции сервера 235 анализа могут быть распределены между несколькими серверами. В других вариантах осуществления изобретения функции сервера 235 анализа могут полностью или частично выполняться сервером 230 поисковой системы. В некоторых вариантах осуществления настоящей технологии сервер 235 анализа управляется и/или администрируется оператором поисковой системы. В качестве альтернативы, сервер 235 анализа может управляться и/или администрироваться другим поставщиком услуг.[89] The above-mentioned analysis server 235 is also connected to the communication network 205 . The analysis server 235 may be implemented as a conventional computer server. In an exemplary embodiment of the present technology, the analysis server 235 may be implemented as a Dell (PowerEdge™) server running a Microsoft (Windows Server™) operating system. Obviously, the analysis server 235 may be implemented using any other suitable hardware and/or application. software and/or firmware, or a combination thereof.In a non-limiting embodiment of the present technology, the analysis server 235 is a single server.In other non-limiting embodiments of the present technology, the functions of the analysis server 235 may be distributed among multiple servers. In other embodiments of the invention, the functions of the analysis server 235 may be performed in whole or in part by the search engine server 230. In some embodiments of the present technology, the analysis server 235 is controlled and/or administered by an operating orom of the search engine. Alternatively, the analysis server 235 may be managed and/or administered by another service provider.

[90] В общем случае сервер 235 анализа предназначен для отслеживания действий пользователей с результатами поиска, предоставленными сервером 230 поисковой системы по запросам пользователей (например, сделанным пользователями первого клиентского устройства 210, второго клиентского устройства 215, третьего клиентского устройства 220 или четвертого клиентского устройства 225), на основе данных, хранящихся в журнале 260 действий пользователей.[90] In general, the analysis server 235 is designed to track user actions with search results provided by the search engine server 230 in response to user requests (for example, made by users of the first client device 210, the second client device 215, the third client device 220, or the fourth client device 225 ), based on the data stored in the user activity log 260 .

[91] Не имеющие ограничительного характера примеры параметров действий пользователей, сформированных сервером 235 анализа, включают в себя (в числе прочего):[91] Non-limiting examples of user action parameters generated by the analysis server 235 include (but are not limited to):

- коэффициент «кликов» (CTR, Click-Through Rate): количество случаев выбора элемента, деленное на количество показов (демонстраций) элемента;- coefficient of "clicks" (CTR, Click-Through Rate): the number of cases of selecting an element, divided by the number of impressions (demonstrations) of the element;

- время сеанса: средняя продолжительность сеанса в секундах;- session time: average session duration in seconds;

- логарифмическое время сеанса: среднее логарифмическое значение продолжительности сеанса;- logarithmic session time: the average logarithmic value of the duration of the session;

- запросы: количество запросов, отправленных пользователем;- requests: the number of requests sent by the user;

- «клики»: количество «кликов», выполненных пользователем;- "clicks": the number of "clicks" performed by the user;

- количество «кликов» на запрос: среднее количество «кликов» в расчете на один на запрос для пользователя;- number of "clicks" per request: the average number of "clicks" per one request for the user;

- суточное количество активных пользователей (DAU, Daily Active Users): количество уникальных пользователей, взаимодействующих с сервисом в течение суток;- daily active users (DAU, Daily Active Users): the number of unique users interacting with the service during the day;

- средне количество сеансов в сутки на пользователя (S/U): u S(u) |u|, где S(u) - количество сеансов пользователя u в сутки, |u| - общее количество пользователей за сутки;- average number of sessions per day per user (S/U): u S(u) |u|, where S(u) - number of sessions of user u per day, |u| - total number of users per day;

- среднее количество уникальных запросов на сеанс (UQ/S): s UQ(s) |s|, где UQ(s) - количество уникальных запросов в сеансе s, |s| - общее количество сеансов за сутки;- average number of unique requests per session (UQ/S): s UQ(s) |s|, where UQ(s) - number of unique requests in session s, |s| - total number of sessions per day;

- средняя продолжительность сеанса на пользователя (SL/U): общее количество запросов в сеансе, усредненное по каждому пользователю;- average session duration per user (SL/U): the total number of requests per session, averaged over each user;

- доля в процентах навигационных запросов на пользователя (%-Nav-Q/U): позиции «кликов»: если свыше n% всех «кликов» для запроса концентрируются на трех первых URL-адресах, этот запрос рассматривается как навигационный. В противном случае он обрабатывается как информационный. Значение n может быть установлено равным 80;- percentage of navigation queries per user (%-Nav-Q/U): click positions: if more than n% of all clicks for a query are concentrated on the first three URLs, that query is considered a navigation query. Otherwise, it is treated as informational. The value of n can be set to 80;

- средняя длина запроса на пользователя (QL/U): количество слов в запросе пользователя;- average query length per user (QL/U): the number of words in a user query;

- средняя доля успешных попыток на пользователя (QSuccess/U): запрос пользователя считается успешным, если пользователь выбирает один или несколько результатов и остается на любом из них более 30 секунд;- average success rate per user (QSuccess/U): a user request is considered successful if the user selects one or more results and stays on any of them for more than 30 seconds;

- средний интервал между запросами на пользователя (QI/U): средний интервал времени между двумя последовательными запросами пользователя в течение сеанса пользователя;- average interval between requests per user (QI/U): the average time interval between two consecutive user requests during a user session;

- время пребывания: время, затраченное пользователем на документ до возврата на страницу SERP.- residence time: the time spent by the user on the document before returning to the SERP page.

[92] Разумеется, представленный выше список не является исчерпывающим и он может включать в себя параметры действий пользователей других видов без выхода за границы настоящей технологии.[92] Of course, the above list is not exhaustive, and it may include parameters for the actions of other types of users without going beyond the boundaries of the present technology.

[93] Сервер 235 анализа может отправлять отслеженные параметры действий пользователей серверу 230 поисковой системы для сохранения в журнале 260 действий пользователей. В некоторых вариантах осуществления изобретения сервер 235 анализа может хранить параметры действий пользователей и соответствующие результаты поиска локально в журнале действий пользователей (не показан). В других не имеющих ограничительного характера вариантах осуществления настоящей технологии функции сервера 235 анализа и сервера 230 поисковой системы могут быть реализованы в одном сервере.[93] The analysis server 235 may send the tracked user activity parameters to the search engine server 230 for storage in the user activity log 260 . In some embodiments, the analysis server 235 may store user activity parameters and corresponding search results locally in a user activity log (not shown). In other non-limiting embodiments of the present technology, the functions of the analysis server 235 and the search engine server 230 may be implemented in the same server.

[94] К сети 205 связи также подключен вышеупомянутый сервер 240 обнаружения аномальных рейтингов организаций. Сервер 240 обнаружения аномальных рейтингов организаций может быть реализован в виде традиционного компьютерного сервера. В примере осуществления настоящей технологии сервер 240 обнаружения аномальных рейтингов организаций может быть реализован в виде сервера Dell(PowerEdge™, работающего под управлением операционной системы Microsoft(Windows Server™. Очевидно, что сервер 240 обнаружения аномальных рейтингов организаций может быть реализован с использованием любых других подходящих аппаратных средств и/или прикладного программного обеспечения и/или встроенного программного обеспечения либо их сочетания. В представленном не имеющем ограничительного характера варианте осуществления настоящей технологии сервер 240 обнаружения аномальных рейтингов организаций представляет собой один сервер. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии функции сервера 240 обнаружения аномальных рейтингов организаций могут быть распределены между несколькими серверами. В контексте настоящей технологии описанные здесь способы и системы могут быть частично реализованы на сервере 240 обнаружения аномальных рейтингов организаций. В некоторых вариантах осуществления настоящей технологии сервер 240 обнаружения аномальных рейтингов организаций управляется и/или администрируется оператором поисковой системы. В качестве альтернативы, сервер 240 обнаружения аномальных рейтингов организаций может управляться и/или администрироваться другим поставщиком услуг.[94] Also connected to the communication network 205 is the aforementioned organization rating abnormal detection server 240 . The server 240 for detecting anomalous ratings of organizations can be implemented as a traditional computer server. In an exemplary embodiment of the present technology, the entity rating anomaly detection server 240 may be implemented as a Dell (PowerEdge™) server running a Microsoft (Windows Server™) operating system. Obviously, the entity rating anomaly detection server 240 may be implemented using any other suitable hardware and/or application software and/or firmware, or a combination thereof.In a non-restrictive embodiment of the present technology, the entity ratings detection server 240 is a single server.In other non-restrictive embodiments of the present technology, the functions organization anomalous ratings detection server 240 may be distributed among multiple servers.In the context of the present technology, the methods and systems described herein may be partially implemented on server 240 o detection of anomalous ratings of organizations. In some embodiments of the present technology, the organization abnormal rankings detection server 240 is managed and/or administered by the search engine operator. Alternatively, the entity rating anomaly detection server 240 may be managed and/or administered by another service provider.

[95] В общем случае сервер 240 обнаружения аномальных рейтингов организаций предназначен для определения аномальных рейтингов организаций и/или пользователей, формирующих аномальные рейтинги организаций. Как более подробно описано ниже, сервер 240 обнаружения аномальных рейтингов организаций, например, анализирует журнал 265 рейтингов с целью определения аномальных рейтингов организаций и/или пользователей, формирующих аномальные рейтинги организаций.[95] In general, the server 240 detect abnormal ratings of organizations is designed to determine the abnormal ratings of organizations and/or users that generate abnormal ratings of organizations. As described in more detail below, the entity anomalous ratings detection server 240, for example, analyzes the ratings log 265 to determine anomalous entity and/or user ratings generating anomalous entity ratings.

[96] На фиг. 3 представлена схема с пользователями, отправляющими естественные рейтинги организаций. Как описано выше, сервер 230 поисковой системы получает рейтинги организаций, отправленные пользователями. Несмотря на то, что в данном описании указан сервер 230 поисковой системы, для получения и/или управления рейтингами организаций может быть использован сервер другого вида.[96] FIG. Figure 3 shows a diagram with users submitting natural rankings of organizations. As described above, the search engine server 230 receives the ratings of organizations submitted by users. While this description refers to a search engine server 230, another kind of server may be used to obtain and/or manage rankings of organizations.

[97] Обычно пользователи 310 могут отправлять рейтинги организаций серверу 230 поисковой системы с использованием сообщений 341. Рейтинги могут представлять собой бинарные рейтинги, шкальные рейтинги, текстовые отзывы и/или рейтинги любого другого вида. Эти рейтинги могут основываться на мнениях пользователей 310 об оцениваемых ими организациях. Сервер 230 поисковой системы может сохранять рейтинги организаций в журнале 265 рейтингов.[97] Typically, users 310 may send ratings of organizations to search engine server 230 using messages 341. Ratings may be binary ratings, scale ratings, text reviews, and/or any other type of rating. These ratings may be based on the opinions of users 310 about the organizations they rate. The search engine server 230 may store the rankings of organizations in a rankings log 265 .

[98] Пользователь 320 может запрашивать информацию с сервера 320 поисковой системы с использованием сообщений 342. Сервер 230 поисковой системы может на основе информации, переданной в сообщении 342, получать рейтинги организаций из журнала 265 рейтингов. Затем сервер 230 поисковой системы может отправлять информацию, соответствующую запросу пользователя 320, с использованием сообщений 343. Ответ пользователю 320 может содержать рейтинги организаций для организаций из ответа. Эти рейтинги организаций могут основываться на рейтингах, отправленных пользователями 310, и могут отражать фактические мнения пользователей 310 об организациях. Например, пользователи 310 могут отправлять рейтинги организаций для различных автомехаников с использованием сообщений 341. Затем пользователь 320 может запросить информацию относительно автомехаников. Затем пользователь 320 может получить страницу SERP с различными автомеханиками и соответствующими индивидуальными или общими рейтингами организаций для этих автомехаников. Затем пользователь 320 может использовать эти рейтинги организаций для выбора автомеханика, услугами которого он желает воспользоваться.[98] The user 320 may request information from the search engine server 320 using messages 342. The search engine server 230 may, based on the information transmitted in the message 342, obtain ratings of organizations from the rankings log 265. The search engine server 230 may then send information corresponding to the user's query 320 using messages 343. The response to the user 320 may include the organization ratings for the organizations in the response. These organization ratings may be based on ratings submitted by users 310 and may reflect the actual opinions of users 310 about organizations. For example, users 310 may submit organization ratings for various auto mechanics using messages 341. User 320 may then request information regarding auto mechanics. The user 320 can then retrieve a SERP page with various auto mechanics and the corresponding individual or overall organization ratings for those auto mechanics. The user 320 can then use these organization ratings to select the auto mechanic they wish to use.

[99] Пользователь 320 может предполагать, что просматриваемые им рейтинги организаций основываются на фактических мнениях пользователей 310 и отражают собственные мнения пользователей 310 об оцененных ими организациях. Но, как описано выше, недобросовестные акторы могут стремиться повлиять на рейтинги организаций. На фиг. 4 представлена соответствующая вариантам осуществления настоящей технологии схема с пользователями, отправляющими аномальные рейтинги организаций.[99] The user 320 may assume that the organization ratings they view are based on the actual opinions of the users 310 and reflect the users 310's own opinions of the organizations they have rated. But, as described above, unscrupulous actors may seek to influence the ratings of organizations. In FIG. 4 shows a diagram corresponding to embodiments of the present technology with users submitting anomalous ratings of organizations.

[100] Пользователи 410 получают инструкции от сервера 450 фальсификации рейтингов (см. фиг. 4). В инструкциях может быть указано, какие рейтинги и для каких организаций должен отправлять пользователь. Например, в инструкциях может быть указано, что пользователи 410 должны отправлять наибольший возможный рейтинг для рекламируемой оператором сервера 450 фальсификации рейтингов организации и/или наименьший возможный рейтинг для организации, являющейся конкурентом рекламируемой оператором сервера 450 фальсификации рейтингов организации. Рейтинги организаций, отправленные пользователем на основе инструкций от источника постороннего влияния, здесь называются аномальными рейтингами организаций.[100] Users 410 receive instructions from the ratings fraud server 450 (see FIG. 4). The instructions can specify which ratings and for which organizations the user should submit. For example, the instructions may specify that users 410 should submit the highest possible rating for an entity rating fraud advertised by the server 450 operator and/or the lowest possible rating for an entity that is a competitor of the entity rating fraud advertised by the server 450 operator. Entity ratings submitted by a user based on instructions from a third-party influencer are referred to here as anomalous Entity Ratings.

[101] Пользователь 410 может отправлять аномальные рейтинги организаций серверу 230 поисковой системы с использованием сообщений 441, согласно указаниям сервера 450 фальсификации рейтингов. Сервер 230 поисковой системы может сохранять аномальные рейтинги организаций в журнале 265 рейтингов.[101] The user 410 may send abnormal ratings of organizations to the server 230 of the search engine using messages 441, as directed by the server 450 falsified ratings. The search engine server 230 may store the anomalous rankings of organizations in a rankings log 265 .

[102] Затем пользователь 420 может запрашивать информацию с сервера 320 поисковой системы с использованием сообщений 443. Запрос может представлять собой запрос списка организаций. После получения запроса от пользователя 420 сервер 230 поисковой системы может получать соответствующую информацию о рейтингах организаций из журнала 265 рейтингов. На полученную информацию могут влиять аномальные рейтинги организаций, отправленные пользователями 410. Затем сервер 230 поисковой системы может отправлять информацию о рейтингах организаций пользователю 420 с использованием сообщений 444.[102] The user 420 may then request information from the search engine server 320 using messages 443. The request may be a request for a list of organizations. Upon receiving a request from the user 420, the search engine server 230 may obtain relevant organization rating information from the rating log 265 . The received information may be affected by anomalous organization rankings submitted by users 410. The search engine server 230 may then send information about organization rankings to user 420 using messages 444.

[103] Несмотря на то, что пользователь 420 ожидает получить рейтинги организаций, отражающие фактические мнения пользователей 410, отправивших рейтинги организаций, пользователь 420 на практике получает аномальные рейтинги организаций, на которые повлиял сервер 450 фальсификации рейтингов. Например, пользователь 420 может получить информацию о том, что некая организация имеет очень высокий рейтинг, тогда как эта организация имела бы очень низкий фактический рейтинг без учета аномальных рейтингов организации. Затем пользователь 420 может выбрать эту организацию на основе очень высокого рейтинга и может быть разочарован результатами деятельности выбранной организации. Затем у пользователя 420 может сформироваться негативное мнение об организации, управляющей сервером 230 поисковой системы, и/или возникнуть сомнения относительно точности рейтингов организаций, предоставляемых сервером 230 поисковой системы. Для обнаружения и/или удаления аномальных рейтингов организаций, на которые повлиял недобросовестный актор, такой как сервер 450 фальсификации рейтингов, может быть использован способ 500, описанный ниже более подробно.[103] Although user 420 expects to receive entity ratings reflecting the actual opinions of users 410 submitting entity ratings, user 420 in practice receives anomalous entity ratings affected by the rating falsification server 450. For example, the user 420 may be informed that an entity has a very high rating, when that entity would have a very low actual rating without considering the entity's anomalous ratings. The user 420 may then select this entity based on a very high ranking and may be disappointed with the performance of the selected entity. The user 420 may then form a negative opinion of the organization operating the search engine server 230 and/or have doubts about the accuracy of the organization ratings provided by the search engine server 230. Method 500, described in more detail below, can be used to detect and/or remove anomalous ratings of entities that have been affected by an unscrupulous actor, such as a ratings fraud server 450.

Способ (не имеющий ограничительного характера вариант осуществления)Method (non-limiting embodiment)

[104] На фиг. 5 и 6 представлена блок-схема способа 500, который может быть реализован согласно вариантам осуществления настоящей технологии, не имеющим ограничительного характера.[104] FIG. 5 and 6 is a flowchart of a method 500 that can be implemented in accordance with non-limiting embodiments of the present technology.

Шаг 505: получение истории рейтингов организаций.Step 505: get the history of the ratings of the organizations.

[105] Способ 500 начинается с шага 505. На шаге 505 может быть получена история рейтингов организаций. История рейтингов организаций может быть получена из журнала 265 рейтингов. Как описано выше, история рейтингов организаций может содержать отправленные пользователями рейтинги организаций. Каждый рейтинг организации из истории рейтингов организаций может содержать имя пользователя, идентификатор ID пользователя, IP-адрес или другой идентификатор пользователя. Каждый рейтинг организации может содержать отметку времени, указывающую на время отправки рейтинга организации. Каждый рейтинг организации может содержать идентификатор оцененной организации, такой как адрес веб-хоста организации. Каждый рейтинг организации может содержать географическое местоположение и/или регион пользователя, отправившего рейтинг организации. Каждый рейтинг организации может содержать шкальный рейтинг, бинарный рейтинг, текстовый рейтинг и/или рейтинг организации любого другого вида.[105] Method 500 begins at step 505. At step 505, a history of ratings for organizations may be obtained. The history of ratings of organizations can be obtained from the log 265 ratings. As described above, the Entity Rating History may contain user-submitted Entity Ratings. Each Organization Rating from the Organization Ratings History can contain a username, user ID, IP address, or other user ID. Each organization rating can contain a timestamp indicating when the organization rating was sent. Each organization rating may contain an identifier for the organization being rated, such as the organization's web host address. Each Organization Rating may contain the geographic location and/or region of the user who submitted the Organization Rating. Each organization rating can contain a scale rating, a binary rating, a text rating and/or an organization rating of any other type.

[106] Полученная история рейтингов организаций может соответствовать заданному временному окну. Например, может быть получена история рейтингов организаций для последних 30 суток. Для получения истории рейтингов организаций могут быть использованы один или несколько запросов к базе данных. Запрос может указывать период времени, регион и/или другие фильтры, которые должны применяться к истории рейтингов организаций.[106] The obtained history of ratings of organizations may correspond to a given time window. For example, the history of ratings of organizations for the last 30 days can be obtained. One or more queries to the database can be used to obtain the history of ratings of organizations. The request may specify the time period, region, and/or other filters to be applied to the rating history of the entities.

Шаг 510: формирование первого графа истории рейтингов организаций.Step 510: Formation of the first graph of the history of ratings of organizations.

[107] После получения на шаге 505 истории рейтингов организаций далее на шаге 510 может быть сформирован граф истории рейтингов организаций. На фиг. 7, более подробно описанной ниже, представлен пример графа истории рейтингов организаций, который может быть сформирован на шаге 510. Каждая организация из истории рейтингов организаций может быть включена в состав графа в виде узла. Каждый пользователь из истории рейтингов организаций также может быть включен в состав графа в виде узла. Пользователи могут быть представлены идентификаторами ID пользователей или идентификаторами любого другого вида.[107] After the organization rating history is obtained in step 505, the organization rating history graph can then be generated in step 510. In FIG. 7, described in more detail below, is an example of an entity ratings history graph that may be generated in step 510. Each entity in the entity ratings history may be included as a node in the graph. Each user from the history of ratings of organizations can also be included in the graph as a node. Users may be represented by user IDs or any other kind of identifier.

[108] Организации с количеством рейтингов меньше минимального порогового количества и/или организации с количеством рейтингов больше максимального порогового количества, могут не включаться в состав графа. Минимальное и/или максимальное пороговое количество рейтингов может быть задано заранее. Несмотря на то, что здесь описано пороговое значение, для выбора организаций, подлежащих включению в состав графа, могут быть использованы любые другие критерии выбора. Отсутствие в составе графа организаций, имеющих очень малое или очень большое количество рейтингов, позволяет повысить эффективность способа 500.[108] Organizations with ratings less than the minimum threshold and/or organizations with ratings greater than the maximum threshold may not be included in the graph. The minimum and/or maximum threshold number of ratings may be predetermined. Although a threshold value is described here, any other selection criteria may be used to select entities to be included in the graph. The absence of organizations in the graph that have a very small or very large number of ratings makes it possible to increase the efficiency of method 500.

[109] Узлы графа могут быть соединены ребрами. Для каждого рейтинга из истории рейтингов организаций в графе может быть предусмотрено ребро, соединяющее пользователя, отправившего рейтинг организации, и оцененную этим пользователем организацию. Ребра могут быть невзвешенными или могут иметь некоторый одинаковый вес.[109] Graph nodes can be connected by edges. For each rating from the history of ratings of organizations, an edge can be provided in the column connecting the user who sent the rating of the organization and the organization rated by this user. The edges may be unweighted or may have some equal weight.

[110] Несмотря на то, что здесь описан граф, должно быть понятно, что для представления истории рейтингов организаций могут быть использованы и другие структуры данных.[110] Although a graph is described here, it should be understood that other data structures can be used to represent the history of ratings of organizations.

Шаг 515: формирование второго графа истории рейтингов.Step 515: Formation of the second rating history graph.

[111] Граф, сформированный на шаге 510, может быть использован для формирования второго графа на шаге 515. На фиг. 8, более подробно описанной ниже, представлен пример графа истории рейтингов организаций, который может быть сформирован на шаге 515. Во втором графе каждой организации из графа, сформированного на шаге 510, может соответствовать узел. В отличие от графа, сформированного на шаге 510, второй граф может не содержать узлы, представляющие пользователей.[111] The graph generated in step 510 may be used to generate the second graph in step 515. FIG. 8, described in more detail below, is an example of an organization ratings history graph that may be generated in step 515. In the second column, each organization from the graph generated in step 510 may correspond to a node. Unlike the graph generated in step 510, the second graph may not contain nodes representing users.

[112] Организации из второго графа могут быть соединены взвешенными ребрами. Ребра могут соединять организации, оцененные одним и тем же пользователем. Например, если один пользователь оценил первую организацию, вторую организацию и третью организацию, то первое ребро может соединять первую организацию и вторую организацию, второе ребро может соединять первую организацию и третью организацию, а третье ребро может соединять вторую организацию и третью организацию.[112] Organizations from the second graph can be connected by weighted edges. Edges can connect accounts rated by the same user. For example, if one user has rated the first organization, the second organization, and the third organization, then the first edge may connect the first organization and the second organization, the second edge may connect the first organization and the third organization, and the third edge may connect the second organization and the third organization.

[113] Для ребер могут быть назначены веса на основе количества общих пользователей, оценивших обе организации, соединенные ребром. Например, если три пользователя оценили первую организацию, и те же три пользователя оценили вторую организацию, то для ребра, соединяющего первую организацию и вторую организацию, может быть назначен вес, равный трем.[113] Edges can be assigned weights based on the number of common users who have rated both entities connected by the edge. For example, if three users have rated the first entity and the same three users have rated the second entity, then the edge connecting the first entity and the second entity could be assigned a weight of three.

[114] Несмотря на то, что граф, сформированный на шаге 515, описан как второй граф, должно быть понятно, что этот граф может быть сформирован без графа, предварительно сформированного на шаге 510. Также должно быть понятно, что несмотря на то, что здесь описан граф, на шаге 515 может быть сформирована любая другая подходящая структура данных.[114] Although the graph generated in step 515 is described as the second graph, it should be understood that this graph can be generated without the graph previously generated in step 510. It should also be understood that despite the fact that a graph is described here, any other suitable data structure may be formed at step 515.

Шаг 520: фильтрация ребер второго графа истории рейтингов.Step 520: Filtering the edges of the second rating history graph.

[115] На шаге 520 могут быть отфильтрованы ребра второго графа с весом меньше порогового веса. Пороговый вес может быть задан заранее. Пороговый вес может быть определен на основе различных атрибутов второго графа, например, на основе общего количества отзывов, представленных во втором графе. Ребра второго графа, сформированного на шаге 515, с весом, меньшим порогового веса, могут быть удалены из второго графа. Например, если пороговый вес равен четырем и две организации оценены двумя общими пользователями, то ребро, соединяющее эти две организации, может быть удалено.[115] In step 520, edges of the second graph with a weight less than a threshold weight can be filtered out. The threshold weight can be set in advance. The threshold weight may be determined based on various attributes of the second column, such as the total number of reviews provided in the second column. Edges of the second graph generated in step 515 with a weight less than a threshold weight may be removed from the second graph. For example, if the threshold weight is four and two organizations are rated by two common users, then the edge connecting the two organizations can be removed.

Шаг 525: определение полных подграфов во втором графе.Step 525: definition of complete subgraphs in the second graph.

[116] На шаге 525 во втором графе могут быть определены полные подграфы. Полные подграфы представляют собой подграфы, в которых каждый узел подграфа соединен ребром с каждым другим узлом подграфа. Иными словами, полный подграф содержит группу организаций, каждая из которых оценена по меньшей мере одним пользователем, оценившим и каждую другую организацию из подграфа. Определенные подграфы могут иметь минимальный размер и/или минимальную сумму весов ребер. Минимальный размер и/или минимальная сумма могут быть заданы заранее. Минимальный размер может представлять собой минимальное количество узлов. Полные подграфы могут содержать узлы организаций из этого подграфа и взвешенные ребра, соединяющие эти узлы.[116] In step 525, complete subgraphs may be determined in the second graph. Complete subgraphs are subgraphs in which every subgraph node is connected by an edge to every other subgraph node. In other words, a complete subgraph contains a group of entities, each rated by at least one user who also rated every other entity in the subgraph. Certain subgraphs may have a minimum size and/or a minimum sum of edge weights. The minimum size and/or minimum amount may be predetermined. The minimum size may be the minimum number of nodes. Complete subgraphs may contain organization nodes from this subgraph and weighted edges connecting these nodes.

Шаг 605: выбор одного из полных подграфов.Step 605: Selecting one of the complete subgraphs.

[117] После определения на шаге 525 полных подграфов далее на шаге 605 может быть выбран один из полных подграфов. Подграфы могут выбираться в любом порядке. Для выбора подграфов могут использоваться заранее заданные критерии выбора, например, выбор первым подграфа, содержащего наибольшее количество организаций, последующий выбор подграфа, содержащего следующее по порядку количество организаций, и т.д.[117] After the complete subgraphs are determined in step 525, one of the complete subgraphs can then be selected in step 605. The subgraphs can be chosen in any order. Predefined selection criteria can be used to select subgraphs, such as first selecting the subgraph containing the largest number of entities, then selecting the subgraph containing the next highest number of entities, and so on.

Шаг 610: фильтрация рейтингов в выбранном подграфе.Step 610: Filtering the ratings in the selected sub-graph.

[118] На шаге 610 рейтинги, сформированные пользователями, оценившими меньше порогового количества организаций из подграфа, выбранного на шаге 605, могут быть исключены из рассмотрения. Информация, соответствующая пользователям, оценившими меньше порогового количества организаций из подграфа, может быть удалена из подграфа. Например, на шаге 610 могут быть скорректированы веса ребер графа.[118] In step 610, ratings generated by users who rated less than a threshold number of organizations from the subgraph selected in step 605 may be excluded from consideration. Information corresponding to users who rated less than a threshold number of entities from the subgraph may be removed from the subgraph. For example, at step 610, the graph edge weights can be adjusted.

[119] Из всех рейтингов организаций из подграфа может быть сформирован список или данные в любом другом подходящем формате. Рейтинги могут содержаться в истории рейтингов, полученной на шаге 505. Для каждого пользователя, оценившего организацию из подграфа, может быть определено общее количество организаций из подграфа, оцененных этим пользователем. Для определения количества организаций из подграфа, оцененных пользователем, может быть использована история рейтингов. Если общее количество организаций из подграфа, оцененных пользователем, меньше порогового количества организаций, то рейтинги организаций, отправленные этим пользователем, могут быть удалены из списка. Пороговое количество организаций может представлять собой заранее заданное количество организаций. Пороговое количество организаций может быть определено на основе количества организаций в подграфе.[119] Of all ratings of organizations from the subgraph, a list can be generated or data in any other suitable format. The ratings may be contained in the rating history obtained in step 505. For each user who has rated an entity in the subgraph, the total number of entities in the subgraph rated by that user may be determined. The history of ratings can be used to determine the number of organizations from the subgraph rated by the user. If the total number of entities in the subgraph rated by a user is less than the threshold number of entities, then the ratings of entities submitted by that user may be removed from the list. The threshold number of entities may be a predetermined number of entities. The threshold number of entities may be determined based on the number of entities in the subgraph.

[120] Пользователи, отправившие рейтинги для меньше чем порогового количества организаций из подграфа, могут с меньшей вероятностью представлять собой пользователей, отправляющих аномальные рейтинги. Более вероятно, что эти пользователи формируют естественные рейтинги на основе их действительных впечатлений. Исключение этих рейтингов из рассмотрения позволяет повысить точность и/или эффективность способа 500.[120] Users submitting ratings for less than a threshold number of entities from a subgraph may be less likely to be users submitting anomalous ratings. It is more likely that these users form natural rankings based on their actual experiences. Eliminating these ratings from consideration improves the accuracy and/or efficiency of the method 500.

Шаг 615: определение метрики распределения для подграфа.Step 615: Determine the distribution metric for the subgraph.

[121] На шаге 615 может быть определена метрика распределения рейтингов для подграфа. Для определения метрики распределения может быть использован список рейтингов организаций из подграфа. Список рейтингов может не содержать рейтинги, отфильтрованные на шаге 610.[121] In step 615, a rating distribution metric for the subgraph may be determined. To determine the distribution metric, a list of ratings of organizations from the subgraph can be used. The list of ratings may not contain the ratings filtered in step 610.

[122] Для бинарных рейтингов метрика распределения может указывать на то, что рейтинги организаций из списка рейтингов равномерно распределены между положительными и отрицательными, на то, что они преимущественно положительные, или на то, что они преимущественно отрицательные. Для шкальных рейтингов метрика распределения может указывать на то, что рейтинги организаций из списка рейтингов равномерно распределены в пределах диапазона, или на то, что они сосредоточены на краях диапазона - либо крайне положительные, либо крайне отрицательные. Метрика распределения может представлять собой и/или может основываться на метрике статистического разброса, такой как среднеквадратическое отклонение, межквартильный размах, среднее абсолютное отклонение (MAD, Median Absolute Deviation) и т.д. Несмотря на то, что здесь описана одна метрика распределения, может использоваться несколько метрик.[122] For binary ratings, a distribution metric can indicate that the ratings of entities in a list of ratings are evenly distributed between positive and negative, that they are predominantly positive, or that they are predominantly negative. For scale ratings, a distribution metric can indicate that the ratings of organizations in a list of ratings are evenly distributed within a range, or that they are concentrated at the ends of a range—either highly positive or highly negative. The distribution metric may be and/or may be based on a statistical dispersion metric such as standard deviation, interquartile range, median absolute deviation (MAD), etc. Although a single distribution metric is described here, multiple metrics may be used.

Шаг 620: определение превышения метрикой порога.Step 620: Determine whether the metric has exceeded a threshold.

[123] На шаге 620 метрика, определенная на шаге 615, может сравниваться с пороговой метрикой. Пороговая метрика может быть задана заранее. Пороговая метрика может быть выбрана так, чтобы различать списки рейтингов, содержащие аномальные рейтинги, и списки рейтингов с естественными рейтингами. Например, может определяться доля наибольших и/или наименьших возможных рейтингов среди всех рейтингов и сравниваться с пороговой долей. Если эта доля превышает пороговую долю, иными словами, если имеется необычное количество очень высоких и/или очень низких рейтингов, то рейтинги определяются как аномальные рейтинги. В другом примере может определяться количество рейтингов, больших высокого порогового рейтинга и/или меньших низкого порогового рейтинга, и сравниваться с общим количеством рейтингов.[123] In step 620, the metric determined in step 615 may be compared with a threshold metric. The threshold metric can be set in advance. The threshold metric can be chosen to distinguish between rating lists containing anomalous ratings and rating lists with natural ratings. For example, the proportion of the highest and/or lowest possible ratings among all ratings may be determined and compared to a threshold proportion. If this proportion exceeds a threshold proportion, in other words, if there is an unusual number of very high and/or very low ratings, then the ratings are determined to be anomalous ratings. In another example, the number of ratings greater than the high threshold rating and/or less than the low threshold rating may be determined and compared to the total number of ratings.

[124] Если рейтинги из подграфа, определенные на шаге 620, соответствуют порогу, то рейтинги из подграфа могут рассматриваться как аномальные рейтинги. Затем способ 500 может продолжаться на шаге 625. Шаги 625, 630 и 635 описывают различные меры, которые могут быть приняты для противодействия влиянию аномальных рейтингов организаций. Если метрика, определенная на шаге 615, не соответствует пороговой метрике, способ 500 может продолжаться на шаге 640 и определять, содержат ли рейтинги организаций следующего полного подграфа аномальные рейтинги организаций.[124] If the ratings from the subgraph determined in step 620 meet the threshold, then the ratings from the subgraph can be considered as anomalous ratings. Method 500 may then continue to step 625. Steps 625, 630, and 635 describe various measures that can be taken to counter the impact of anomalous entity ratings. If the metric determined in step 615 does not match the threshold metric, method 500 may continue to step 640 and determine if the next full subgraph's entity ratings contain anomalous entity ratings.

Шаг 625: сохранение индикатора для пользователей, оценивших организации из подграфа.Step 625: Save an indicator for users who have rated organizations from the subgraph.

[125] Как описано выше, если рейтинги из подграфа, определенные на шаге 620, соответствуют порогу, то рейтинги из подграфа могут рассматриваться как аномальные рейтинги. Для каждого пользователя, отправившего рейтинг из списка таких рейтингов, может быть сохранен индикатор, указывающий на то, что пользователь отправлял аномальные рейтинги. Этот индикатор может содержать идентификатор пользователя, такой как имя пользователя, адрес электронной почты, IP-адрес, идентификатор пользователя UID (User IDentifier) и т.д. Для противодействия аномальным рейтингам будущие рейтинги, отправленные этими пользователями, могут не сохраняться в журнале 265 рейтингов и/или при определении общих рейтингов организаций им может присваиваться меньший вес, чем рейтингам организаций, отправленным другими пользователями.[125] As described above, if the ratings from the subgraph determined in step 620 meet the threshold, then the ratings from the subgraph can be considered as anomalous ratings. For each user who has submitted a rating from the list of such ratings, an indicator may be stored indicating that the user has submitted anomalous ratings. This indicator may contain a user identifier such as username, email address, IP address, UID (User IDentifier), etc. To counter anomalous ratings, future ratings submitted by these users may not be stored in the ratings log 265 and/or may be given less weight in determining overall ratings for organizations than ratings for organizations submitted by other users.

Шаг 630: удаление аномальных рейтингов организаций.Step 630: Deleting anomalous organization ratings.

[126] На шаге 630 аномальные рейтинги организаций могут удаляться из места их хранения, например, путем удаления их из журнала 263 рейтингов. Для противодействия влиянию аномальных рейтингов организаций эти аномальные рейтинги организаций могут быть удалены, чтобы не влиять на рейтинги организаций, представляемые пользователям и/или используемые для ранжирования организаций.[126] At step 630, the anomalous ratings of organizations can be removed from their storage location, for example, by deleting them from the rankings log 263 . To counter the impact of anomalous entity ratings, these anomalous entity ratings may be removed so as not to affect entity ratings presented to users and/or used to rank entities.

Шаг 635: уменьшение рейтингов организаций из подграфа.Step 635: decrease the ratings of the organizations from the subgraph.

[127] На шаге 635 в отношении организаций, получивших выгоды от аномальных рейтингов, могут быть применены штрафные санкции. Общий рейтинг организации может быть уменьшен для организаций из подграфа, получивших крайне положительные рейтинги. На страницах SERP может быть понижена позиция веб-страниц организаций, получивших выгоды от аномальных рейтингов.[127] At step 635, penalties may be applied to entities that have benefited from anomalous ratings. The overall rating of an organization may be reduced for organizations in the subgraph that have received extremely positive ratings. On SERP pages, the position of the web pages of organizations that have benefited from abnormal rankings may be downgraded.

[128] В отношении организаций, получивших отрицательные аномальные рейтинги организаций, штрафные санкции могут не применяться. Более того, организациям, получившим отрицательные аномальные рейтинги, с целью противодействия аномальным рейтингам организаций может быть назначен более высокий общий рейтинг организации и/или может быть увеличен их ранг в результатах поиска.[128] Entities that receive negative anomalous ratings on Entities may not be penalized. Moreover, organizations that receive negative outlier ratings may be assigned a higher overall organization rating and/or their rank in the search results to counter the outlier ratings of organizations.

Шаг 640: определение наличия оставшихся полных подграфов.Step 640: Determine if there are remaining complete subgraphs.

[129] На шаге 640 может быть определено, все ли полные подграфы, определенные на шаге 525, проверены. Если полных подграфов не осталось, способ 500 завершается на шаге 645. Если имеются оставшиеся полные подграфы для определения метрик распределения, то способ 500 может продолжаться на шаге 605, на котором выбирается следующий подграф.[129] In step 640, it may be determined whether all complete subgraphs determined in step 525 have been checked. If there are no complete subgraphs left, method 500 ends at step 645. If there are remaining complete subgraphs to determine distribution metrics, then method 500 may continue to step 605, where the next subgraph is selected.

[130] На фиг. 7-9 представлены схемы не имеющего ограничительного характера примера применения способа 500. На фиг. 7 представлен граф 700 рейтингования организаций согласно вариантам осуществления настоящей технологии. Граф 700 представляет собой пример графа, который может быть сформирован на шаге 510 способа 500. Граф 700 содержит узлы для организаций и для пользователей. Организации 701-707 представляют собой организации, оцененные пользователями 711-716. Каждая организация 701-707 представлена в своем собственном узле и каждый пользователь 711-716 представлен в своем собственном узле. Ребра указывают на то, какие организации 701-707 оценивались какими пользователям. Например, согласно графу 700, пользователь 711 оценил организации 701, 702 и 703.[130] FIG. 7-9 are diagrams of a non-limiting example of the application of method 500. FIG. 7 shows graph 700 for rating organizations according to embodiments of the present technology. Graph 700 is an example of a graph that can be generated in step 510 of method 500. Graph 700 contains nodes for organizations and for users. Organizations 701-707 are organizations rated by users 711-716. Each organization 701-707 is represented in its own node and each user 711-716 is represented in its own node. The edges indicate which organizations 701-707 were rated by which users. For example, according to column 700, user 711 rated organizations 701, 702, and 703.

[131] На фиг. 8 представлен второй граф 800 рейтингования организаций согласно вариантам осуществления настоящей технологии. Граф 800 представляет собой пример графа, который может быть сформирован на шаге 515 способа 500. Для формирования графа 800 может быть использован граф 700. В отличие от графа 700, граф 800 не содержит узлов для пользователей. В графе 800 каждая организация 701-707 представлена узлом. Взвешенные ребра 801-811 соединяют все организации 701-707. Вес каждого ребра 801-811 указывает на количество общих пользователей, оценивших обе организации, соединенные соответствующим ребром 801-811. Например, согласно графу 700, организации 703 и 705 оценены пользователем 713. Вес ребра 805, соединяющего организации 703 и 705, может быть равен 1. В другом примере организации 705 и 707 оценены пользователями 714, 715 и 716. Для указания на то, что обе организации оценены тремя общими пользователями, вес ребра 811, соединяющего организации 705 и 707, может быть равен 3.[131] FIG. 8 shows a second column 800 for rating organizations according to embodiments of the present technology. Graph 800 is an example of a graph that can be generated in step 515 of method 500. Graph 700 can be used to generate graph 800. Unlike graph 700, graph 800 does not contain nodes for users. In column 800, each entity 701-707 is represented by a node. Weighted edges 801-811 connect all entities 701-707. The weight of each edge 801-811 indicates the number of total users who have rated both organizations connected by the corresponding edge 801-811. For example, in column 700, entities 703 and 705 are rated by user 713. The weight of edge 805 connecting entities 703 and 705 may be 1. In another example, entities 705 and 707 are rated by users 714, 715, and 716. To indicate that Since both organizations are rated by three common users, the weight of edge 811 connecting organizations 705 and 707 can be 3.

[132] В графе 800 могут быть определены полные подграфы, как описано на шаге 525 способа 500. На фиг. 9 приведены полные подграфы графа рейтингования организаций, представленного на фиг. 8, согласно вариантам осуществления настоящей технологии. В графе 800 определены два полных подграфа: подграф 900 и подграф 910. Как показано на чертеже, каждая организация 701-703 из подграфа 900 соединена с каждой другой организацией 701-703 из подграфа 900 одним ребром 801-803. Подобная ситуация наблюдается и в подграфе 910.[132] In graph 800, complete subgraphs may be defined as described in step 525 of method 500. FIG. 9 shows the complete subgraphs of the organization rating graph shown in FIG. 8 according to embodiments of the present technology. Column 800 defines two complete sub-graphs: sub-graph 900 and sub-graph 910. As shown in the drawing, each entity 701-703 of sub-graph 900 is connected to each other entity 701-703 of sub-graph 900 by a single edge 801-803. A similar situation is observed in subcolumn 910.

[133] Как описано выше в отношении способа 500, для каждого из подграфов 900 и 910 может быть определена метрика распределения. Метрики распределения могут быть использованы, чтобы определить, являются ли рейтинги организаций, соответствующие подграфам 900 и 910, аномальными рейтингами организаций.[133] As described above with respect to method 500, a distribution metric can be determined for each of subgraphs 900 and 910. Distribution metrics can be used to determine whether the entity ratings corresponding to sub-boxes 900 and 910 are anomalous entity ratings.

[134] Несмотря на то, что описанные выше варианты реализации приведены со ссылкой на конкретные шаги, выполняемые в определенном порядке, должно быть понятно, что эти шаги могут быть объединены, разделены или что их порядок может быть изменен без выхода за границы настоящей технологии. По меньшей мере некоторые из шагов могут выполняться параллельно или последовательно. Соответственно, порядок и группировка шагов не носят ограничительного характера для настоящей технологии.[134] Although the embodiments described above are given with reference to specific steps performed in a certain order, it should be understood that these steps can be combined, separated, or that their order can be changed without departing from the boundaries of the present technology. At least some of the steps may be performed in parallel or sequentially. Accordingly, the order and grouping of steps is not limiting to the present technology.

[135] Очевидно, что не все упомянутые в данном описании технические эффекты должны присутствовать в каждом варианте осуществления настоящей технологии. Например, возможны варианты осуществления настоящей технологии, когда пользователь не получает некоторые из этих технических эффектов, или другие варианты реализации, когда пользователь получает другие технические эффекты либо когда технический эффект отсутствует.[135] 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.

[136] Некоторые из этих шагов и передаваемых или принимаемых сигналов хорошо известны в данной области техники и по этой причине опущены в некоторых частях описания для упрощения. Сигналы могут передаваться или приниматься с использованием оптических средств (таких как волоконно-оптическое соединение), электронных средств (таких как проводное или беспроводное соединение) и механических средств (например, основанных на давлении, температуре или любом другом подходящем физическом параметре).[136] 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).

[137] Для специалиста в данной области могут быть очевидными возможные изменения и усовершенствования описанных выше вариантов осуществления настоящей технологии. Предшествующее описание приведено лишь в иллюстративных целях, а не для ограничения объема изобретения. Объем охраны настоящей технологии определяется исключительно объемом приложенной формулы изобретения.[137] For a person skilled in the art, possible changes and improvements in 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 (45)

1. Способ коррекции работы онлайн-сервиса, выполняемый на сервере и включающий в себя:1. A method for correcting the operation of an online service, which is performed on the server and includes: - получение на сервере от одного или более клиентских устройств, связанных с одним или более пользователями, через сеть связи данных рейтингования организаций, содержащих множество организаций и один или несколько рейтингов для каждой организации;- receiving on the server from one or more client devices associated with one or more users, through a communication network, rating data of organizations containing a plurality of organizations and one or more ratings for each organization; - формирование на сервере графа рейтингования организаций, в котором каждый узел соответствует организации из множества организаций, а каждое ребро соединяет две организации и имеет вес, указывающий на количество пользователей, оценивших две организации, соединенные соответствующим ребром;- formation of an organization rating graph on the server, in which each node corresponds to an organization from a set of organizations, and each edge connects two organizations and has a weight indicating the number of users who have rated two organizations connected by the corresponding edge; - определение на сервере в графе полного подграфа, в котором каждый узел соединен со всеми остальными узлами подграфа;- definition on the server in the graph of a complete subgraph, in which each node is connected to all other nodes of the subgraph; - определение на сервере соответствия пороговому распределению рейтингов, соответствующих подграфу; и- determination on the server of compliance with the threshold distribution of ratings corresponding to the subgraph; and - в случае определения соответствия пороговому распределению рейтингов, соответствующих подграфу, сохранение на сервере индикатора связи пользователей, соответствующих подграфу, с аномальными рейтингами организаций.- in case of determination of compliance with the threshold distribution of ratings corresponding to the subgraph, saving on the server an indicator of the connection of users corresponding to the subgraph with abnormal ratings of organizations. 2. Способ по п. 1, отличающийся тем, что он дополнительно включает в себя удаление из графа ребер с весом, меньшим заранее заданного порогового веса.2. The method according to claim 1, characterized in that it further includes removing from the graph edges with a weight less than a predetermined threshold weight. 3. Способ по п. 1, отличающийся тем, что он дополнительно включает в себя удаление из подграфа информации, соответствующей пользователям, оценившим меньше заранее заданного порогового количества организаций из подграфа.3. The method of claim. 1, characterized in that it further includes removing from the subgraph information corresponding to users who have rated less than a predetermined threshold number of organizations from the subgraph. 4. Способ по п. 1, отличающийся тем, что он дополнительно включает в себя удаление из данных рейтингования организаций рейтингов, соответствующих пользователям, связанным с аномальными рейтингами организаций.4. The method according to claim. 1, characterized in that it further includes the removal from the rating data of organizations of ratings corresponding to users associated with anomalous ratings of organizations. 5. Способ по п. 1, отличающийся тем, что один или несколько рейтингов содержат бинарные рейтинги или шкальные рейтинги.5. The method according to claim 1, characterized in that one or more ratings contain binary ratings or scale ratings. 6. Способ по п. 1, отличающийся тем, что определение соответствия пороговому распределению рейтингов, соответствующих подграфу, включает в себя:6. The method according to claim 1, characterized in that the determination of compliance with the threshold distribution of ratings corresponding to the subgraph includes: - получение рейтингов, соответствующих подграфу;- obtaining ratings corresponding to the subgraph; - определение доли наибольших или наименьших возможных рейтингов; и- determination of the proportion of the highest or lowest possible ratings; and - определение соответствия этой доли пороговой доле.- determination of compliance of this share with the threshold share. 7. Способ по п. 1, отличающийся тем, что он перед формированием графа рейтингования организаций дополнительно включает в себя формирование предварительного графа рейтингования организаций, в котором каждый узел соответствует организации из множества организаций или пользователю, оценившему организацию, а каждое ребро соединяет пользователя с оцененной им организацией.7. The method according to claim 1, characterized in that, before generating the organization rating graph, it additionally includes the formation of a preliminary organization rating graph, in which each node corresponds to an organization from a plurality of organizations or a user who has rated the organization, and each edge connects the user to the estimated them an organization. 8. Способ по п. 1, отличающийся тем, что получение данных рейтингования организаций включает в себя получение данных рейтингования организаций, собранных в течение заранее заданного периода времени.8. The method of claim. 1, characterized in that obtaining the rating data of organizations includes receiving rating data of organizations collected during a predetermined period of time. 9. Способ по п. 1, отличающийся тем, что определение соответствия пороговому распределению рейтингов, соответствующих подграфу, включает в себя:9. The method according to claim 1, characterized in that the determination of compliance with the threshold distribution of ratings corresponding to the subgraph includes: - получение рейтингов, соответствующих подграфу;- obtaining ratings corresponding to the subgraph; - определение количества рейтингов, больших высокого порогового рейтинга; и- determination of the number of ratings greater than the high threshold rating; and - определение количества рейтингов, меньших низкого порогового рейтинга.- determination of the number of ratings that are less than the low threshold rating. 10. Способ по п. 9, отличающийся тем, что он дополнительно включает в себя сравнение количества рейтингов, больших высокого порогового рейтинга, и количества рейтингов, меньших низкого порогового рейтинга, с общим количеством рейтингов.10. The method of claim 9, further comprising comparing the number of ratings greater than the high threshold rating and the number of ratings less than the low threshold rating with the total number of ratings. 11. Способ по п. 1, отличающийся тем, что определение полного подграфа включает в себя определение подграфа, соответствующего заранее заданному пороговому количеству узлов.11. The method of claim. 1, characterized in that the definition of a complete subgraph includes the definition of a subgraph corresponding to a predetermined threshold number of nodes. 12. Система для коррекции работы онлайн-сервиса, содержащая процессор и машиночитаемый физический носитель информации, содержащий команды, в которой процессор выполнен с возможностью выполнения следующих действий при выполнении команд:12. A system for correcting the operation of an online service, containing a processor and a machine-readable physical storage medium containing commands, in which the processor is configured to perform the following actions when executing commands: - получение от одного или более клиентских устройств, связанных с одним или более пользователями, через сеть связи данных рейтингования организаций, содержащих множество организаций и один или несколько рейтингов для каждой организации;- receiving from one or more client devices associated with one or more users, through a communication network, rating data of organizations containing a plurality of organizations and one or more ratings for each organization; - формирование графа рейтингования организаций, в котором каждый узел соответствует организации из множества организаций, а каждое ребро соединяет две организации и имеет вес, указывающий на количество пользователей, оценивших две организации, соединенные соответствующим ребром;- formation of an organization rating graph, in which each node corresponds to an organization from a set of organizations, and each edge connects two organizations and has a weight indicating the number of users who have rated two organizations connected by the corresponding edge; - определение в графе полного подграфа, в котором каждый узел соединен со всеми остальными узлами подграфа; - definition in the graph of a complete subgraph, in which each node is connected to all other nodes of the subgraph; - определение соответствия пороговому распределению рейтингов, соответствующих подграфу; и- determination of compliance with the threshold distribution of ratings corresponding to the subgraph; and - в случае определения соответствия пороговому распределению рейтингов, соответствующих подграфу, сохранение индикатора связи пользователей, соответствующих подграфу, с аномальными рейтингами организаций.- in case of determination of compliance with the threshold distribution of ratings corresponding to the subgraph, saving the indicator of the connection of users corresponding to the subgraph with anomalous ratings of organizations. 13. Система по п. 12, отличающаяся тем, что процессор при выполнении команд дополнительно способен удалять из графа ребра с весом, меньшим заранее заданного порогового веса.13. The system according to claim 12, characterized in that the processor, when executing instructions, is additionally able to remove from the graph edges with a weight less than a predetermined threshold weight. 14. Система по п. 12, отличающаяся тем, что процессор при выполнении команд дополнительно способен удалять из подграфа информацию, соответствующую пользователям, оценившим меньше заранее заданного порогового количества организаций из подграфа.14. The system according to claim 12, characterized in that the processor, when executing commands, is additionally able to remove from the subgraph information corresponding to users who have rated less than a predetermined threshold number of organizations from the subgraph. 15. Система по п. 12, отличающаяся тем, что процессор при выполнении команд дополнительно способен удалять из данных рейтингования организаций рейтинги, соответствующие пользователям, связанным с аномальными рейтингами организаций.15. The system according to claim 12, characterized in that the processor, when executing commands, is additionally able to remove ratings from the organization rating data corresponding to users associated with abnormal organization ratings. 16. Способ коррекции работы онлайн-сервиса, выполняемый на сервере и включающий в себя:16. A method for correcting the operation of an online service, which is performed on the server and includes: - получение на сервере от одного или более клиентских устройств, связанных с одним или более пользователями, через сеть связи данных рейтингования организаций, содержащих множество организаций и один или несколько рейтингов для каждой организации;- receiving on the server from one or more client devices associated with one or more users, through a communication network, rating data of organizations containing a plurality of organizations and one or more ratings for each organization; - определение на сервере на основе данных рейтингования организаций набора организаций, в котором для каждой организации и каждой другой организации из набора организаций имеется по меньшей мере один общий пользователь, оценивший обе эти организации;- determining on the server, based on the rating data of organizations, a set of organizations, in which for each organization and each other organization from the set of organizations there is at least one common user who has rated both of these organizations; - получение на сервере рейтингов, соответствующих набору организаций;- obtaining on the server ratings corresponding to the set of organizations; - определение на сервере аномальности распределения рейтингов; и- determination on the server of the anomalous distribution of ratings; and - сохранение на сервере индикатора связи пользователей, оценивших две или более организаций из набора организаций, с аномальными рейтингами организаций.- saving on the server an indicator of the connection of users who have rated two or more organizations from a set of organizations with anomalous ratings of organizations. 17. Способ по п. 16, отличающийся тем, что он дополнительно включает в себя удаление рейтингов, соответствующих пользователям, оценившим меньше заранее заданного порогового количества организаций из набора организаций.17. The method of claim 16, further comprising deleting ratings corresponding to users who have rated less than a predetermined threshold number of entities from the set of entities. 18. Способ по п. 16, отличающийся тем, что определение аномальности распределения рейтингов включает в себя: 18. The method according to claim 16, characterized in that the determination of the anomalous distribution of ratings includes: - определение доли наибольших или наименьших возможных рейтингов; и- determination of the proportion of the highest or lowest possible ratings; and - определение соответствия этой доли пороговой доле.- determination of compliance of this share with the threshold share. 19. Способ по п. 16, отличающийся тем, что определение аномальности распределения рейтингов включает в себя:19. The method according to claim 16, characterized in that the determination of the anomalous distribution of ratings includes: - определение метрики, соответствующей распределению рейтингов; и- definition of the metric corresponding to the distribution of ratings; and - сравнение этой метрики с заранее заданной метрикой нормального распределения.- comparison of this metric with a predetermined normal distribution metric. 20. Способ по п. 16, отличающийся тем, что сохранение индикатора связи пользователей, оценивших две или более организаций из набора организаций, с аномальными рейтингами организаций включает в себя сохранение этого индикатора для пользователей, оценивших больше заранее заданного порогового количества организаций из набора организаций.20. The method according to claim 16, characterized in that storing the association indicator of users who have rated two or more organizations from the set of organizations with anomalous ratings of organizations includes saving this indicator for users who have rated more than a predetermined threshold number of organizations from the set of organizations.
RU2019128284A 2019-09-09 2019-09-09 Method and system for detection of abnormal ranking RU2776034C2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
RU2019128284A RU2776034C2 (en) 2019-09-09 Method and system for detection of abnormal ranking
US16/869,951 US11334559B2 (en) 2019-09-09 2020-05-08 Method of and system for identifying abnormal rating activity

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2019128284A RU2776034C2 (en) 2019-09-09 Method and system for detection of abnormal ranking

Publications (3)

Publication Number Publication Date
RU2019128284A RU2019128284A (en) 2021-03-09
RU2019128284A3 RU2019128284A3 (en) 2022-03-24
RU2776034C2 true RU2776034C2 (en) 2022-07-12

Family

ID=

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100082510A1 (en) * 2008-10-01 2010-04-01 Microsoft Corporation Training a search result ranker with automatically-generated samples
RU2608886C2 (en) * 2014-06-30 2017-01-25 Общество С Ограниченной Ответственностью "Яндекс" Search results ranking means
RU2609079C2 (en) * 2015-02-27 2017-01-30 Общество С Ограниченной Ответственностью "Яндекс" Search offer method and processing server
US9811566B1 (en) * 2006-11-02 2017-11-07 Google Inc. Modifying search result ranking based on implicit user feedback
US20170344555A1 (en) * 2016-05-31 2017-11-30 Linkedin Corporation Generation of training data for ideal candidate search ranking model

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9811566B1 (en) * 2006-11-02 2017-11-07 Google Inc. Modifying search result ranking based on implicit user feedback
US20100082510A1 (en) * 2008-10-01 2010-04-01 Microsoft Corporation Training a search result ranker with automatically-generated samples
RU2608886C2 (en) * 2014-06-30 2017-01-25 Общество С Ограниченной Ответственностью "Яндекс" Search results ranking means
RU2609079C2 (en) * 2015-02-27 2017-01-30 Общество С Ограниченной Ответственностью "Яндекс" Search offer method and processing server
US20170344555A1 (en) * 2016-05-31 2017-11-30 Linkedin Corporation Generation of training data for ideal candidate search ranking model

Similar Documents

Publication Publication Date Title
RU2720905C2 (en) Method and system for expanding search queries in order to rank search results
RU2720952C2 (en) Method and system for generating digital content recommendation
US8972397B2 (en) Auto-detection of historical search context
JP5436665B2 (en) Classification of simultaneously selected images
US20130246383A1 (en) Cursor Activity Evaluation For Search Result Enhancement
US9183499B1 (en) Evaluating quality based on neighbor features
RU2744029C1 (en) System and method of forming training set for machine learning algorithm
WO2012117318A1 (en) Generating a semantic graph relating information assets
US8768861B2 (en) Research mission identification
JP2011520193A (en) Search results with the next object clicked most
US20120066359A1 (en) Method and system for evaluating link-hosting webpages
US10956502B2 (en) Method of and system for recommending fresh search query suggestions on search engine
CA2832902C (en) Systems and methods for creating an interest profile for a user
US9633103B2 (en) Identifying product groups in ecommerce
RU2733481C2 (en) Method and system for generating feature for ranging document
US20150095202A1 (en) Recommending Product Groups in Ecommerce
RU2634218C2 (en) Method for determining sequence of web browsing and server used
US20220147551A1 (en) Aggregating activity data for multiple users
Fourney et al. Enhancing technical Q&A forums with CiteHistory
US11108802B2 (en) Method of and system for identifying abnormal site visits
US9514194B1 (en) Website duration performance based on category durations
TW201241652A (en) Automated system and method for analyzing backlinks
US20140059062A1 (en) Incremental updating of query-to-resource mapping
RU2743932C2 (en) Method and server for repeated training of machine learning algorithm
US20060149606A1 (en) System and method for agent assisted information retrieval