RU2776034C2 - Method and system for detection of abnormal ranking - Google Patents
Method and system for detection of abnormal ranking Download PDFInfo
- 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
Links
- 230000002159 abnormal effect Effects 0.000 title abstract 2
- 238000001514 detection method Methods 0.000 title 1
- 230000000875 corresponding Effects 0.000 abstract 4
- 230000000694 effects Effects 0.000 abstract 1
- 239000000126 substance Substances 0.000 abstract 1
Images
Abstract
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
[65] Связь между различными элементами вычислительного устройства 100 может осуществляться через одну или несколько внутренних и/или внешних шин 160 (таких как шина PCI, универсальная последовательная шина, шина FireWire стандарта IEEE 1394, шина SCSI, шина Serial-ATA и т.д.), с которыми различные аппаратные элементы соединены электронными средствами.[65] Communication between various elements of
[66] Интерфейс 150 ввода-вывода может соединяться с сенсорным экраном 190 и/или с одной или несколькими внутренними и/или внешними шинами 160. Сенсорный экран 190 может входить в состав дисплея. В некоторых вариантах реализации сенсорный экран 190 представляет собой дисплей. Сенсорный экран 190 может также называться экраном 190. В представленных на фиг. 1 вариантах осуществления изобретения сенсорный экран 190 содержит сенсорное оборудование 194 (например, чувствительные к нажатию ячейки, встроенные в дисплей и позволяющие обнаруживать физическое взаимодействие между пользователем и дисплеем) и контроллер 192 ввода-вывода для сенсорных устройств, который обеспечивает связь с интерфейсом 140 дисплея и/или одной или несколькими внутренними и/или внешними шинами 160. В некоторых вариантах осуществления изобретения интерфейс 150 ввода-вывода может соединяться с клавиатурой (не показана), мышью (не показана) или сенсорной площадкой (не показана), которые обеспечивают взаимодействие пользователя с вычислительным устройством 100 в дополнение к сенсорному экрану 190 или вместо него.[66] The I/
[67] Согласно вариантам осуществления настоящей технологии твердотельный накопитель 120 хранит программные команды, пригодные для загрузки в ОЗУ 130 и выполнения процессором 110 и/или графическим процессором 111. Программные команды могут, например, входить в состав библиотеки или приложения.[67] According to embodiments of the present technology,
[68] Вычислительное устройство 100 может представлять собой сервер, настольный компьютер, планшет, смартфон, карманный персональный компьютер или любое устройство, способное реализовывать настоящую технологию, как должно быть понятно специалисту в данной области.[68]
[69] На фиг. 2 представлена система 200, реализованная согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии. Система 200 содержит первое клиентское устройство 210, второе клиентское устройство 215, третье клиентское устройство 220 и четвертое клиентское устройство 225, соединенные с сетью 205 связи соответствующими линиями 245 связи. Система 200 содержит сервер 230 поисковой системы, сервер 235 анализа и сервер 240 обнаружения аномальных рейтингов организаций, соединенные с сетью 205 связи соответствующими линиями 245 связи.[69] FIG. 2 depicts
[70] Первое клиентское устройство 210, второе клиентское устройство 215, третье клиентское устройство 220, четвертое клиентское устройство 225, сервер 230 поисковой системы, сервер 235 анализа и/или сервер 240 обнаружения аномальных рейтингов организаций могут представлять собой вычислительные устройства 100 и/или содержать элементы вычислительных устройств 100. Например, первое клиентское устройство 210 может быть реализовано в виде смартфона, второе клиентское устройство 215 может быть реализовано в виде ноутбука, третье клиентское устройство 220 может быть реализовано в виде смартфона, четвертое клиентское устройство 225 может быть реализовано в виде планшета. В некоторых не имеющих ограничительного характера вариантах осуществления настоящей технологии сеть 205 связи может представлять собой сеть Интернет.В других вариантах осуществления настоящей технологии сеть 205 связи может быть реализована иначе, например, в виде произвольной глобальной сети связи, локальной сети связи, частной сети связи и т.д.[70] The
[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
[72] Очевидно, что варианты реализации первого клиентского устройства 210, второго клиентского устройства 215, третьего клиентского устройства 220, четвертого клиентского устройства 225, линии 245 связи и сети 205 связи приведены лишь для иллюстрации. Специалистам в данной области должны быть очевидными и другие конкретные детали реализации первого клиентского устройства 210, второго клиентского устройства 215, третьего клиентского устройства 220, четвертого клиентского устройства 225, линии 245 связи и сети 205 связи. Представленные выше примеры никак не ограничивают объем настоящей технологии.[72] Obviously, the implementations of the
[73] Несмотря на то, что на фиг. 2 показаны лишь четыре клиентских устройства 210, 215, 220 и 225, предполагается, что к системе 200 может быть подключено любое количество клиентских устройств 210, 215, 220 и 225. Также предполагается, что в некоторых вариантах осуществления изобретения в системе 200 могут насчитываться десятки или сотни тысяч клиентских устройств 210, 215, 220 и 225.[73] Although FIG. 2 shows only four
[74] К сети 205 связи также подключен вышеупомянутый сервер 230 поисковой системы. Сервер 230 поисковой системы может быть реализован в виде традиционного компьютерного сервера. В примере осуществления настоящей технологии сервер 230 поисковой системы может быть реализован в виде сервера Dell(PowerEdge™, работающего под управлением операционной системы Microsoft(Windows Server™. Сервер 230 поисковой системы может быть реализован с применением любых других подходящих аппаратных средств и/или программного обеспечения и/или встроенного программного обеспечения либо их сочетания. В представленном не имеющем ограничительного характера варианте осуществления настоящей технологии сервер 230 поисковой системы представляет собой один сервер. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии функции сервера 230 поисковой системы могут быть распределены между несколькими серверами. В некоторых вариантах осуществления настоящей технологии сервер 230 поисковой системы управляется и/или администрируется оператором поисковой системы. В качестве альтернативы, сервер 230 поисковой системы может управляться и/или администрироваться поставщиком услуг.[74] The aforementioned
[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
[76] На сервер 230 поисковой системы, предназначенный для выполнения поиска, не накладывается каких-либо особых ограничений. Специалистам в данной области известен ряд способов и средств выполнения поиска с использованием сервера 230 поисковой системы, поэтому структурные элементы сервера 230 поисковой системы описаны в общем виде. Сервер 230 поисковой системы может поддерживать базу 250 данных журналов поиска. В некоторых вариантах осуществления настоящей технологии сервер 230 поисковой системы может выполнять несколько поисков, включая общий поиск и вертикальный поиск, но не ограничиваясь ими.[76] The
[77] Как известно специалистам в данной области техники, сервер 230 поисковой системы способен выполнять общие веб-поиски. Сервер 230 поисковой системы также способен выполнять один или несколько вертикальных поисков, таких как вертикальный поиск изображений, вертикальный поиск музыки, вертикальный поиск видеоматериалов, вертикальный поиск новостей, вертикальный поиск карт и т.д. Как известно специалистам в данной области, сервер 230 поисковой системы также способен выполнять алгоритм обходчика, согласно которому сервер 230 поисковой системы выполняет обход сети Интернет и индексирует посещенные веб-сайты в одной или нескольких индексных базах данных, таких как база 250 данных журналов поиска.[77] As will be known to those skilled in the art, the
[78] Сервер 230 поисковой системы способен формировать ранжированный список результатов поиска, включающий в себя результаты общего веб-поиска и вертикального веб-поиска. Известно множество алгоритмов ранжирования результатов поиска, которые могут быть реализованы на сервере 230 поисковой системы.[78] The
[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
[80] Сервер 230 поисковой системы обычно поддерживает базу 250 данных журналов поиска. В общем случае база 250 данных журнала поиска может поддерживать индекс 255, журнал 260 действий пользователей и журнал 265 рейтингов. Несмотря на то, что индекс 255, журнал 260 действий пользователей и журнал 265 рейтингов описаны в составе базы 250 данных журнала поиска, они могут быть реализованы отдельно от базы 250 данных журнала поиска.[80] The
[81] Сервер 230 поисковой системы и/или другой сервер может получать отправленные пользователями рейтинги организаций и/или управлять ими. Опция для оценивания организации может быть включена в состав страницы SERP и/или любой другой веб-страницы. Сервер 230 поисковой системы может получать рейтинг организации и сохранять запись рейтинга организации в журнале 265 рейтингов.[81] The
[82] Индекс 255 предназначен для индексирования документов, таких как веб-страницы, изображения, файлы в формате PDF, документы Word™, документы PowerPoint™, которые были просмотрены (или обнаружены) обходчиком сервера 230 поисковой системы. Когда пользователь первого клиентского устройства 210, второго клиентского устройства 215, третьего клиентского устройства 220 или четвертого клиентского устройства 225 вводит запрос и выполняет поиск на сервере 230 поисковой системы, сервер 230 поисковой системы анализирует индекс 255 и извлекает документы, содержащие термины запроса, а затем ранжирует их согласно алгоритму ранжирования.[82] The
[83] Журнал 260 действий пользователей предназначен для регистрации поисков, выполненных с использованием сервера 230 поисковой системы. В частности, в журнале 260 действий пользователей хранятся термины поисковых запросов (т.е соответствующие искомые слова) и связанные с ними результаты поиска. Следует отметить, что журнал 260 действий пользователей может поддерживаться в обезличенной форме, при этом поисковые запросы невозможно соотнести с пользователями, отправившими эти поисковые запросы.[83] The
[84] В частности, журнал 260 действий пользователей может содержать список запросов с соответствующими терминами, с информацией о документах, указанных сервером 230 поисковой системы в списке в ответ на соответствующий запрос, и с отметкой времени. Кроме того, он может содержать список пользователей, идентифицируемых с использованием анонимных идентификаторов (или вообще без идентификаторов), и соответствующие документы, выбранные ими после отправки запроса. В некоторых вариантах осуществления изобретения журнал 260 действий пользователей может обновляться при каждом выполнении нового поиска на сервере 230 поисковой системы. В других вариантах осуществления изобретения журнал 260 действий пользователей может обновляться в заранее заданные моменты времени. В некоторых вариантах осуществления изобретения может существовать множество копий журнала 260 действий пользователей, каждая из которых соответствует журналу 260 действий пользователей в различные моменты времени.[84] In particular, the
[85] Журнал 260 действий пользователей также может содержать параметры действий пользователей, отслеживаемые сервером 235 анализа после того, как пользователь отправил запрос и выбрал один или несколько документов на странице SERP на сервере 230 поисковой системы. В не имеющем ограничительного характера примере журнал 260 действий пользователей может содержать ссылку на документ, который может быть идентифицирован с использованием идентификационного номера или универсального указателя ресурсов (URL, Uniform Resource Locator), и список запросов, каждый из которых связан с множеством параметров действий пользователей, как более подробно описано ниже. В общем случае множество параметров действий пользователей может отслеживаться и объединяться сервером 235 анализа и в некоторых вариантах осуществления изобретения они могут фиксироваться для каждого отдельного пользователя.[85] The
[86] Не имеющие ограничительного характера примеры действий пользователей, отслеживаемых с использованием журнала 260 действий пользователей, включают в себя (в числе прочего):[86] Non-limiting examples of user activities tracked using the
- успех/неудача: был или не был выбран документ из ответа на поисковый запрос;- 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
[88] Журнал 265 рейтингов содержит отправленные пользователями рейтинги организаций. Каждый элемент журнала 265 рейтингов может содержать идентификатор пользователя, такой как IP-адрес, имя пользователя, адрес электронной посты и т.д. Каждый элемент может содержать указание на оцениваемую организацию, например, веб-хост организации, название организации, фактический адрес организации, контактную информацию организации. Несмотря на то, что настоящее описание приведено применительно к организации, должно быть понятно, что рейтинг может относиться к человеку и/или объекту любого другого вида. Каждый элемент в журнале 265 рейтингов может содержать отметку времени для рейтинга. Каждый элемент может содержать рейтинг, который может представлять собой бинарный рейтинг, шкальный рейтинг и/или рейтинг любого другого вида.[88] The ratings log 265 contains user-submitted ratings of organizations. Each entry in the
[89] К сети 205 связи также подключен вышеупомянутый сервер 235 анализа. Сервер 235 анализа может быть реализован в виде традиционного компьютерного сервера. В примере осуществления настоящей технологии сервер 235 анализа может быть реализован в виде сервера Dell(PowerEdge™, работающего под управлением операционной системы Microsoft(Windows Server™. Очевидно, что сервер 235 анализа может быть реализован с использованием любых других подходящих аппаратных средств и/или прикладного программного обеспечения и/или встроенного программного обеспечения либо их сочетания. В представленном не имеющем ограничительного характера варианте осуществления настоящей технологии сервер 235 анализа представляет собой один сервер. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии функции сервера 235 анализа могут быть распределены между несколькими серверами. В других вариантах осуществления изобретения функции сервера 235 анализа могут полностью или частично выполняться сервером 230 поисковой системы. В некоторых вариантах осуществления настоящей технологии сервер 235 анализа управляется и/или администрируется оператором поисковой системы. В качестве альтернативы, сервер 235 анализа может управляться и/или администрироваться другим поставщиком услуг.[89] The above-mentioned
[90] В общем случае сервер 235 анализа предназначен для отслеживания действий пользователей с результатами поиска, предоставленными сервером 230 поисковой системы по запросам пользователей (например, сделанным пользователями первого клиентского устройства 210, второго клиентского устройства 215, третьего клиентского устройства 220 или четвертого клиентского устройства 225), на основе данных, хранящихся в журнале 260 действий пользователей.[90] In general, the
[91] Не имеющие ограничительного характера примеры параметров действий пользователей, сформированных сервером 235 анализа, включают в себя (в числе прочего):[91] Non-limiting examples of user action parameters generated by the
- коэффициент «кликов» (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
[94] К сети 205 связи также подключен вышеупомянутый сервер 240 обнаружения аномальных рейтингов организаций. Сервер 240 обнаружения аномальных рейтингов организаций может быть реализован в виде традиционного компьютерного сервера. В примере осуществления настоящей технологии сервер 240 обнаружения аномальных рейтингов организаций может быть реализован в виде сервера Dell(PowerEdge™, работающего под управлением операционной системы Microsoft(Windows Server™. Очевидно, что сервер 240 обнаружения аномальных рейтингов организаций может быть реализован с использованием любых других подходящих аппаратных средств и/или прикладного программного обеспечения и/или встроенного программного обеспечения либо их сочетания. В представленном не имеющем ограничительного характера варианте осуществления настоящей технологии сервер 240 обнаружения аномальных рейтингов организаций представляет собой один сервер. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии функции сервера 240 обнаружения аномальных рейтингов организаций могут быть распределены между несколькими серверами. В контексте настоящей технологии описанные здесь способы и системы могут быть частично реализованы на сервере 240 обнаружения аномальных рейтингов организаций. В некоторых вариантах осуществления настоящей технологии сервер 240 обнаружения аномальных рейтингов организаций управляется и/или администрируется оператором поисковой системы. В качестве альтернативы, сервер 240 обнаружения аномальных рейтингов организаций может управляться и/или администрироваться другим поставщиком услуг.[94] Also connected to the
[95] В общем случае сервер 240 обнаружения аномальных рейтингов организаций предназначен для определения аномальных рейтингов организаций и/или пользователей, формирующих аномальные рейтинги организаций. Как более подробно описано ниже, сервер 240 обнаружения аномальных рейтингов организаций, например, анализирует журнал 265 рейтингов с целью определения аномальных рейтингов организаций и/или пользователей, формирующих аномальные рейтинги организаций.[95] In general, the
[96] На фиг. 3 представлена схема с пользователями, отправляющими естественные рейтинги организаций. Как описано выше, сервер 230 поисковой системы получает рейтинги организаций, отправленные пользователями. Несмотря на то, что в данном описании указан сервер 230 поисковой системы, для получения и/или управления рейтингами организаций может быть использован сервер другого вида.[96] FIG. Figure 3 shows a diagram with users submitting natural rankings of organizations. As described above, the
[97] Обычно пользователи 310 могут отправлять рейтинги организаций серверу 230 поисковой системы с использованием сообщений 341. Рейтинги могут представлять собой бинарные рейтинги, шкальные рейтинги, текстовые отзывы и/или рейтинги любого другого вида. Эти рейтинги могут основываться на мнениях пользователей 310 об оцениваемых ими организациях. Сервер 230 поисковой системы может сохранять рейтинги организаций в журнале 265 рейтингов.[97] Typically, users 310 may send ratings of organizations to
[98] Пользователь 320 может запрашивать информацию с сервера 320 поисковой системы с использованием сообщений 342. Сервер 230 поисковой системы может на основе информации, переданной в сообщении 342, получать рейтинги организаций из журнала 265 рейтингов. Затем сервер 230 поисковой системы может отправлять информацию, соответствующую запросу пользователя 320, с использованием сообщений 343. Ответ пользователю 320 может содержать рейтинги организаций для организаций из ответа. Эти рейтинги организаций могут основываться на рейтингах, отправленных пользователями 310, и могут отражать фактические мнения пользователей 310 об организациях. Например, пользователи 310 могут отправлять рейтинги организаций для различных автомехаников с использованием сообщений 341. Затем пользователь 320 может запросить информацию относительно автомехаников. Затем пользователь 320 может получить страницу SERP с различными автомеханиками и соответствующими индивидуальными или общими рейтингами организаций для этих автомехаников. Затем пользователь 320 может использовать эти рейтинги организаций для выбора автомеханика, услугами которого он желает воспользоваться.[98] The
[99] Пользователь 320 может предполагать, что просматриваемые им рейтинги организаций основываются на фактических мнениях пользователей 310 и отражают собственные мнения пользователей 310 об оцененных ими организациях. Но, как описано выше, недобросовестные акторы могут стремиться повлиять на рейтинги организаций. На фиг. 4 представлена соответствующая вариантам осуществления настоящей технологии схема с пользователями, отправляющими аномальные рейтинги организаций.[99] The
[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
[102] Затем пользователь 420 может запрашивать информацию с сервера 320 поисковой системы с использованием сообщений 443. Запрос может представлять собой запрос списка организаций. После получения запроса от пользователя 420 сервер 230 поисковой системы может получать соответствующую информацию о рейтингах организаций из журнала 265 рейтингов. На полученную информацию могут влиять аномальные рейтинги организаций, отправленные пользователями 410. Затем сервер 230 поисковой системы может отправлять информацию о рейтингах организаций пользователю 420 с использованием сообщений 444.[102] The
[103] Несмотря на то, что пользователь 420 ожидает получить рейтинги организаций, отражающие фактические мнения пользователей 410, отправивших рейтинги организаций, пользователь 420 на практике получает аномальные рейтинги организаций, на которые повлиял сервер 450 фальсификации рейтингов. Например, пользователь 420 может получить информацию о том, что некая организация имеет очень высокий рейтинг, тогда как эта организация имела бы очень низкий фактический рейтинг без учета аномальных рейтингов организации. Затем пользователь 420 может выбрать эту организацию на основе очень высокого рейтинга и может быть разочарован результатами деятельности выбранной организации. Затем у пользователя 420 может сформироваться негативное мнение об организации, управляющей сервером 230 поисковой системы, и/или возникнуть сомнения относительно точности рейтингов организаций, предоставляемых сервером 230 поисковой системы. Для обнаружения и/или удаления аномальных рейтингов организаций, на которые повлиял недобросовестный актор, такой как сервер 450 фальсификации рейтингов, может быть использован способ 500, описанный ниже более подробно.[103] Although
Способ (не имеющий ограничительного характера вариант осуществления)Method (non-limiting embodiment)
[104] На фиг. 5 и 6 представлена блок-схема способа 500, который может быть реализован согласно вариантам осуществления настоящей технологии, не имеющим ограничительного характера.[104] FIG. 5 and 6 is a flowchart of a
Шаг 505: получение истории рейтингов организаций.Step 505: get the history of the ratings of the organizations.
[105] Способ 500 начинается с шага 505. На шаге 505 может быть получена история рейтингов организаций. История рейтингов организаций может быть получена из журнала 265 рейтингов. Как описано выше, история рейтингов организаций может содержать отправленные пользователями рейтинги организаций. Каждый рейтинг организации из истории рейтингов организаций может содержать имя пользователя, идентификатор ID пользователя, IP-адрес или другой идентификатор пользователя. Каждый рейтинг организации может содержать отметку времени, указывающую на время отправки рейтинга организации. Каждый рейтинг организации может содержать идентификатор оцененной организации, такой как адрес веб-хоста организации. Каждый рейтинг организации может содержать географическое местоположение и/или регион пользователя, отправившего рейтинг организации. Каждый рейтинг организации может содержать шкальный рейтинг, бинарный рейтинг, текстовый рейтинг и/или рейтинг организации любого другого вида.[105]
[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
[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
[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
[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
Шаг 520: фильтрация ребер второго графа истории рейтингов.Step 520: Filtering the edges of the second rating history graph.
[115] На шаге 520 могут быть отфильтрованы ребра второго графа с весом меньше порогового веса. Пороговый вес может быть задан заранее. Пороговый вес может быть определен на основе различных атрибутов второго графа, например, на основе общего количества отзывов, представленных во втором графе. Ребра второго графа, сформированного на шаге 515, с весом, меньшим порогового веса, могут быть удалены из второго графа. Например, если пороговый вес равен четырем и две организации оценены двумя общими пользователями, то ребро, соединяющее эти две организации, может быть удалено.[115] In
Шаг 525: определение полных подграфов во втором графе.Step 525: definition of complete subgraphs in the second graph.
[116] На шаге 525 во втором графе могут быть определены полные подграфы. Полные подграфы представляют собой подграфы, в которых каждый узел подграфа соединен ребром с каждым другим узлом подграфа. Иными словами, полный подграф содержит группу организаций, каждая из которых оценена по меньшей мере одним пользователем, оценившим и каждую другую организацию из подграфа. Определенные подграфы могут иметь минимальный размер и/или минимальную сумму весов ребер. Минимальный размер и/или минимальная сумма могут быть заданы заранее. Минимальный размер может представлять собой минимальное количество узлов. Полные подграфы могут содержать узлы организаций из этого подграфа и взвешенные ребра, соединяющие эти узлы.[116] In
Шаг 605: выбор одного из полных подграфов.Step 605: Selecting one of the complete subgraphs.
[117] После определения на шаге 525 полных подграфов далее на шаге 605 может быть выбран один из полных подграфов. Подграфы могут выбираться в любом порядке. Для выбора подграфов могут использоваться заранее заданные критерии выбора, например, выбор первым подграфа, содержащего наибольшее количество организаций, последующий выбор подграфа, содержащего следующее по порядку количество организаций, и т.д.[117] After the complete subgraphs are determined in
Шаг 610: фильтрация рейтингов в выбранном подграфе.Step 610: Filtering the ratings in the selected sub-graph.
[118] На шаге 610 рейтинги, сформированные пользователями, оценившими меньше порогового количества организаций из подграфа, выбранного на шаге 605, могут быть исключены из рассмотрения. Информация, соответствующая пользователям, оценившими меньше порогового количества организаций из подграфа, может быть удалена из подграфа. Например, на шаге 610 могут быть скорректированы веса ребер графа.[118] In
[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
[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
Шаг 615: определение метрики распределения для подграфа.Step 615: Determine the distribution metric for the subgraph.
[121] На шаге 615 может быть определена метрика распределения рейтингов для подграфа. Для определения метрики распределения может быть использован список рейтингов организаций из подграфа. Список рейтингов может не содержать рейтинги, отфильтрованные на шаге 610.[121] In
[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
[124] Если рейтинги из подграфа, определенные на шаге 620, соответствуют порогу, то рейтинги из подграфа могут рассматриваться как аномальные рейтинги. Затем способ 500 может продолжаться на шаге 625. Шаги 625, 630 и 635 описывают различные меры, которые могут быть приняты для противодействия влиянию аномальных рейтингов организаций. Если метрика, определенная на шаге 615, не соответствует пороговой метрике, способ 500 может продолжаться на шаге 640 и определять, содержат ли рейтинги организаций следующего полного подграфа аномальные рейтинги организаций.[124] If the ratings from the subgraph determined in
Шаг 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
Шаг 630: удаление аномальных рейтингов организаций.Step 630: Deleting anomalous organization ratings.
[126] На шаге 630 аномальные рейтинги организаций могут удаляться из места их хранения, например, путем удаления их из журнала 263 рейтингов. Для противодействия влиянию аномальных рейтингов организаций эти аномальные рейтинги организаций могут быть удалены, чтобы не влиять на рейтинги организаций, представляемые пользователям и/или используемые для ранжирования организаций.[126] At
Шаг 635: уменьшение рейтингов организаций из подграфа.Step 635: decrease the ratings of the organizations from the subgraph.
[127] На шаге 635 в отношении организаций, получивших выгоды от аномальных рейтингов, могут быть применены штрафные санкции. Общий рейтинг организации может быть уменьшен для организаций из подграфа, получивших крайне положительные рейтинги. На страницах SERP может быть понижена позиция веб-страниц организаций, получивших выгоды от аномальных рейтингов.[127] At
[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
[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
[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
[132] В графе 800 могут быть определены полные подграфы, как описано на шаге 525 способа 500. На фиг. 9 приведены полные подграфы графа рейтингования организаций, представленного на фиг. 8, согласно вариантам осуществления настоящей технологии. В графе 800 определены два полных подграфа: подграф 900 и подграф 910. Как показано на чертеже, каждая организация 701-703 из подграфа 900 соединена с каждой другой организацией 701-703 из подграфа 900 одним ребром 801-803. Подобная ситуация наблюдается и в подграфе 910.[132] In
[133] Как описано выше в отношении способа 500, для каждого из подграфов 900 и 910 может быть определена метрика распределения. Метрики распределения могут быть использованы, чтобы определить, являются ли рейтинги организаций, соответствующие подграфам 900 и 910, аномальными рейтингами организаций.[133] As described above with respect to
[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)
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)
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)
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 |
---|---|---|
US12072943B2 (en) | Marking falsities in online news | |
RU2720952C2 (en) | Method and system for generating digital content recommendation | |
RU2720905C2 (en) | Method and system for expanding search queries in order to rank search results | |
JP6097288B2 (en) | Query suggestions run on social networks (powered) | |
US8972397B2 (en) | Auto-detection of historical search context | |
JP5436665B2 (en) | Classification of simultaneously selected images | |
US10956502B2 (en) | Method of and system for recommending fresh search query suggestions on search engine | |
RU2744029C1 (en) | System and method of forming training set for machine learning algorithm | |
US9183499B1 (en) | Evaluating quality based on neighbor features | |
US20130246383A1 (en) | Cursor Activity Evaluation For Search Result Enhancement | |
WO2012117318A1 (en) | Generating a semantic graph relating information assets | |
US8768861B2 (en) | Research mission identification | |
JP2011520193A (en) | Search results with the next object clicked most | |
CA2832902C (en) | Systems and methods for creating an interest profile for a user | |
US20140147048A1 (en) | Document quality measurement | |
US9633103B2 (en) | Identifying product groups in ecommerce | |
US20150095202A1 (en) | Recommending Product Groups in Ecommerce | |
RU2634218C2 (en) | Method for determining sequence of web browsing and server used | |
Fourney et al. | Enhancing technical Q&A forums with CiteHistory | |
US20220147551A1 (en) | Aggregating activity data for multiple users | |
RU2743932C2 (en) | Method and server for repeated training of machine learning algorithm | |
US11108802B2 (en) | Method of and system for identifying abnormal site visits | |
TW201241652A (en) | Automated system and method for analyzing backlinks | |
US20140059062A1 (en) | Incremental updating of query-to-resource mapping | |
US20060149606A1 (en) | System and method for agent assisted information retrieval |