RU2775824C2 - Method and system for detecting abnormal visits to websites - Google Patents

Method and system for detecting abnormal visits to websites Download PDF

Info

Publication number
RU2775824C2
RU2775824C2 RU2019128025A RU2019128025A RU2775824C2 RU 2775824 C2 RU2775824 C2 RU 2775824C2 RU 2019128025 A RU2019128025 A RU 2019128025A RU 2019128025 A RU2019128025 A RU 2019128025A RU 2775824 C2 RU2775824 C2 RU 2775824C2
Authority
RU
Russia
Prior art keywords
web
search
hosts
server
vertex
Prior art date
Application number
RU2019128025A
Other languages
Russian (ru)
Other versions
RU2019128025A (en
RU2019128025A3 (en
Inventor
Дмитрий Александрович Черкасов
Александр Владимирович Анисимов
Григорий Михайлович Ганкин
Original Assignee
Общество С Ограниченной Ответственностью «Яндекс»
Filing date
Publication date
Application filed by Общество С Ограниченной Ответственностью «Яндекс» filed Critical Общество С Ограниченной Ответственностью «Яндекс»
Priority to RU2019128025A priority Critical patent/RU2775824C2/en
Priority to US16/869,282 priority patent/US11108802B2/en
Publication of RU2019128025A publication Critical patent/RU2019128025A/en
Publication of RU2019128025A3 publication Critical patent/RU2019128025A3/ru
Application granted granted Critical
Publication of RU2775824C2 publication Critical patent/RU2775824C2/en

Links

Images

Abstract

FIELD: search engines.
SUBSTANCE: inventions group relates to detection of anomalous behavior when searching the Internet and, in particular, to detection of web hosts with abnormal website visits. The method is executed on a server and comprises the steps of obtaining a web search history for a plurality of users via a communication network based on search queries from a plurality of client devices; forming a web history graph in which each vertex represents a web host from the web search history, with vertices connected to other vertices by edges, each having an edge weight determined based on the number of users who visited both hosts connected by this edge; clustering graph vertices based on edge weights and forming a plurality of vertex clusters; obtaining user activity data corresponding to these vertex clusters and associated with a plurality of users visiting web hosts associated with these vertex clusters; determining, for each vertex cluster, the associated web hosts in that cluster based on user activity data; removal from the graph of each vertex cluster containing web hosts associated based on user activity data; and storing, for each web host associated with the cluster remaining in the graph, an indicator that the web host is associated with abnormal website visits.
EFFECT: improving the reliability of the search engine by increasing the reliability of the results.
21 cl, 10 dwg

Description

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

[001] Настоящая технология в целом относится к определению аномального поведения при поиске в Интернете и, в частности, к способу и системе для определения веб-хостов с аномальными посещениями веб-сайтов.[001] The present technology generally relates to detecting anomalous Internet browsing behavior, and more specifically, to a method and system for detecting web hosts with abnormal web site visits.

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

[002] Объем информации, доступной на различных интернет-ресурсах, в течение последних десятилетий растет экспоненциально. Для помощи типичному пользователю в поиске необходимой информации было разработано несколько решений. Одним из таких решений является поисковая система. В качестве примера можно привести поисковые системы GOOGLE™, YANDEX™, YAHOO!™ и т.п. Пользователь может получать доступ к интерфейсу поисковой системы и отправлять поисковый запрос, связанный с информацией, которую требуется найти в сети Интернет. В ответ на поисковый запрос поисковая система выдает ранжированный список результатов поиска. Ранжированный список результатов поиска формируется на основе различных алгоритмов ранжирования, используемых конкретной поисковой системой, применяемой пользователем для поиска. Общая цель таких алгоритмов ранжирования заключается в представлении наиболее релевантных результатов поиска в верхней части ранжированного списка, тогда как менее релевантные результаты поиска могут располагаться в ранжированном списке на менее заметных местах (наименее релевантные результаты поиска находятся в нижней части ранжированного списка).[002] 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 such solution is a search engine. Examples are 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. 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).

[001] Поисковые системы обычно обеспечивают хороший инструментарий для обработки поискового запроса, когда пользователь заранее знает, что требуется найти. Иными словами, если пользователь заинтересован в получении информации о наиболее популярных местах в Италии (т.е. если известна тема поиска), он может отправить поисковый запрос «Наиболее популярные места в Италии?». В ответ поисковая система выдает ранжированный список Интернет-ресурсов, потенциально релевантных поисковому запросу. Пользователь может просмотреть ранжированный список результатов поиска для получения требуемой информации, касающейся мест для посещения в Италии. Если пользователь по какой-либо причине не удовлетворен полученными результатами поиска, он может выполнить повторный поиск, например, с более точным поисковым запросом, таким как «Наиболее популярные места в Италии летом?», «Наиболее популярные места на юге Италии?», «Наиболее популярные места для романтического отпуска в Италии?».[001] Search engines usually provide good tools for processing a search query when the user knows in advance what to search for. In other words, if the user is interested in information about the most popular places in Italy (ie, if the search topic is known), he can send the 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 more precise search term, such as "The most popular places in Italy in summer?", "The most popular places in southern Italy?", " The most popular destinations for a romantic getaway in Italy?

[002] Когда пользователь отправляет поисковый запрос, поисковая система формирует список релевантных веб-ресурсов (на основе анализа просмотренных обходчиком веб-ресурсов, указания на которые хранятся в базе данных обходчика в виде списков вхождений (posting lists) и т.п.). Затем поисковая система ранжирует сформированный таким образом список результатов поиска. Формирование списка и/или ранжирование результатов поиска может выполняться с использованием различных средств, например, путем выполнения алгоритма машинного обучения (MLA, Machine Learning Algorithm). Алгоритм MLA ранжирует список результатов поиска на основе их релевантности поисковому запросу. Алгоритм MLA «обучен» прогнозировать релевантность результата поиска поисковому запросу на основе большого количества «признаков», связанных с результатом поиска, и указаний на прошлые действия пользователей с результатами поиска при отправке подобных поисковых запросов в прошлом.[002] 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 database as posting lists, etc.). The search engine then ranks the resulting list of search results. Listing and/or ranking of search results can be performed using various means, for example, by executing a machine learning algorithm (MLA, Machine Learning Algorithm). The MLA algorithm ranks a list of search results based on their relevance to the search query. The MLA algorithm is "trained" 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.

[003] При ранжировании списка результатов поиска принимаются во внимание различные факторы, например, зафиксированная история веб-поиска. История веб-поиска указывает на то, какие результаты поиска выбирались пользователями, ранее отправлявшими тот же или подобный поисковый запрос. Предполагается, что веб-хосты, ранее выбиравшиеся пользователями, отправлявшими подобные запросы, представляют собой наиболее релевантные этому поисковому запросу веб-хосты. Для предоставления пользователю наиболее полезной информации целесообразно присваивать веб-хостам, ранее выбиравшимся пользователями, более высокий ранг.[003] When ranking a list of search results, various factors are taken into account, such as recorded web search history. Web search history indicates which search results have been selected by users who have previously submitted the same or a similar search query. It is assumed that the web hosts previously selected by users who submit such requests are the most relevant web hosts for that search query. In order to provide the user with the most useful information, it is advisable to assign web hosts previously selected by users to a higher rank.

[004] Промоутерам веб-сайтов известно, что история веб-поиска влияет на ранжирование результатов поиска. Некоторые недобросовестные акторы пытаются повысить ранг веб-сайта, предлагая пользователям отправлять определенные запросы и после получения ранжированного списка результатов поиска выбирать определенные результаты. Недобросовестные акторы могут платить пользователям за выполнение поисков. В результате этих аномальных посещений веб-сайтов, соответствующим веб-хостам может присваиваться более высокий ранг в ответах на запрос даже в случае низкой релевантности этих веб-хостов. Но если пользователю выдаются нерелевантные результаты, удовлетворенность пользователя поисковой системой снижается.[004] Website promoters are aware that web search history affects the ranking of search results. Some unscrupulous actors try to increase the rank of a website by inviting users to submit certain queries and, after receiving a ranked list of search results, select certain results. Unscrupulous actors can pay users to perform searches. As a result of these anomalous website visits, relevant web hosts may be ranked higher in responses to a query even if these web hosts are of low relevance. But if the user is given irrelevant results, user satisfaction with the search engine decreases.

[005] В патенте US9092510 (Google Inc., выдан 28 июля 2015 г.) описана система ранжирования результатов поиска, которая может содержать средство защиты от спамеров, формирующих мошеннические «клики», направленные на повышение ранга конкретных результатов поиска. Средство защиты может быть реализовано с использованием модели пользователя, описывающей корректное поведение пользователя с течением времени так, чтобы в процессе ранжирования можно было игнорировать такие мошеннические «клики». Мошеннические «клики» также могут быть обнаружены на основе аномального распределения позиций «кликов», продолжительности «кликов» или количества кликов в минуту, в час или в сутки.[005] US9092510 (Google Inc., issued July 28, 2015) describes a search results ranking system that may include a defense against spammers that generate fraudulent "clicks" aimed at increasing the rank of specific search results. The safeguard may be implemented using a user model describing the correct behavior of the user over time so that such fraudulent "clicks" can be ignored in the ranking process. Fraudulent clicks can also be detected based on an abnormal distribution of click positions, click duration, or clicks per minute, per hour, or per day.

[006] В патенте US2008/0172271 (NHN Corporation, выдан 15 января 2008 г.) описано отслеживание действий пользователя после выбора веб-сайта с целью определения недопустимого «клика». Недопустимый «клик» - это «клик», выполняемый пользователем со злым умыслом либо с применением автоматизированного сценария (script) или компьютерной программы. Действия, выполняемые пользователем после выбора поискового рекламного объявления, собираются, сохраняются и сравниваются с усредненной моделью поведения на данном веб-сайте. На основе этих результатов сравнения определяется недопустимый «клик», выполненный пользователем.[006] US2008/0172271 (NHN Corporation, issued Jan. 15, 2008) describes tracking a user's actions after selecting a website to detect an invalid "click". An invalid "click" is a "click" performed by a user with malicious intent or through the use of an automated script (script) or computer program. The actions taken by the user after selecting a search ad are collected, stored and compared with the average behavior pattern on this website. Based on these comparison results, an invalid "click" made by the user is determined.

[007] В работе «Search Engine Click Spam Detection Based on Bipartite Graph Propagation» (опубликована в трудах конференции WSDM ’14, The 7th ACM International Conference on Web Search and Data Mining, 24 февраля 2014 г.) описаны система и способ, которые могут использоваться для определения «клик-спама», формируемого в поисковых системах или подобных средствах с целью повышения ранга веб-страницы при поисковой оптимизации. Способ включает в себя моделирование действий пользователей с учетом интервалов времени, в течение которых они выполняются, с целью определения возможных пользователей-мошенников, а также использование алгоритма формирования графа для отображения характеристик сеанса предполагаемого пользователя-мошенника, чтобы способствовать лучшему определению других пользователей-мошенников.[007] "Search Engine Click Spam Detection Based on Bipartite Graph Propagation" (published in Proceedings of WSDM '14, The 7th ACM International Conference on Web Search and Data Mining, February 24, 2014) describes a system and method, which can be used to identify "click spam" generated by search engines or similar tools in order to increase the rank of a web page in search engine optimization. The method includes modeling user actions, taking into account the time intervals during which they are performed, in order to determine possible fraudulent users, as well as using a graph generation algorithm to display the characteristics of the alleged fraudulent user's session in order to better identify other fraudulent users.

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

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

[009] Настоящая технология относится к определению аномального поведения при поиске в Интернете в целом, и, в частности, к способам и системам для определения веб-хостов с аномальными посещениями веб-сайтов. Как описано выше, различные недобросовестные акторы могут стремиться повлиять на позицию веб-хоста на странице результатов поисковой системы (SERP, Search Engine Results Page) Например, пользователю может быть предложено вводить определенный запрос в поисковой системе и после получения страницы SERP выбирать определенный веб-хост на странице SERP. Разработанные способы предназначены для определения аномального поведения при поиске в Интернете.[009] The present technology relates to detecting anomalous Internet browsing behavior in general, and in particular to methods and systems for detecting web hosts with abnormal web site visits. As described above, various unscrupulous actors may seek to influence the position of a web host on a search engine results page (SERP, Search Engine Results Page) For example, a user may be prompted to enter a certain query in a search engine and, after receiving the SERP page, select a specific web host on the SERP page. The developed methods are designed to detect anomalous behavior when searching the Internet.

[0010] Операторам поисковых систем, таких как Google™, Yandex™, Bing™, Yahoo™ и т.д., доступно большое количество данных истории веб-поиска с результатами поиска, полученными в ответ на пользовательские запросы. История веб-поиска содержит записи с информацией о веб-хостах на странице SERP, выбранных пользователем. История веб-поиска может быть использована для определения аномального поведения при поиске в Интернете.[0010] Operators of search engines such as Google™, Yandex™, Bing™, Yahoo™, etc., have access to a large amount of web search history data with search results obtained in response to user queries. The web history contains records with information about web hosts on the SERP page selected by the user. Web history can be used to identify anomalous web browsing behavior.

[0011] При просмотре сети Интернет пользователи обычно посещают последовательность естественным образом связанных веб-хостов. Естественным образом связанные веб-хосты могут иметь общую тему. Например, если пользователь посещает первый веб-хост, предоставляющий новости о футболе, то этот пользователь может затем посетить второй веб-хост, предоставляющий домашнюю страницу футбольного клуба. В этом примере тема обоих веб-хостов касается футбола, и поэтому они связаны естественным образом. Пользователи, получающие инструкции от недобросовестного актора, могут посещать веб-хосты, не связанные естественным образом. Для обнаружения аномальных посещений веб-сайтов может анализироваться история веб-поиска с целью определения пользователей, посещавших не связанные естественным образом веб-хосты.[0011] When browsing the Internet, users typically visit a sequence of naturally related web hosts. Naturally related web hosts may share a common theme. For example, if a user visits a first web host providing football news, then that user may then visit a second web host providing a football club home page. In this example, the topic of both web hosts is about football, and therefore they are connected in a natural way. Users receiving instructions from an unscrupulous actor may visit web hosts that are not naturally connected. To detect anomalous website visits, web browsing history can be analyzed to identify users who have visited unnaturally related web hosts.

[0012] При этом могут собираться данные о действиях пользователей, описывающие историю просмотра пользователей. Веб-хосты, не связанные естественным образом общей темой, могут быть связаны на основе данных о действиях пользователей. Даже если веб-хосты тематически не связаны, похожие группы пользователей могут посещать оба веб-хоста. Тематически не связанные веб-хосты могут быть связаны тем, что к этим веб-хостам обращается группа пользователей. Для определения связи веб-хостов могут анализироваться данные о действиях пользователей. Для определения веб-хостов с аномальными посещениями веб-сайтов веб-хосты сначала могут фильтроваться на основе их естественной связи на основе общей темы, а затем эти веб-хосты могут дополнительно фильтроваться с учетом их связи на основе данных о действиях пользователей.[0012] This may collect user activity data describing the user's browsing history. Web hosts not naturally related by a common theme can be linked based on user activity data. Even if the web hosts are not thematically related, similar groups of users can visit both web hosts. Topically unrelated web hosts can be related by the fact that these web hosts are accessed by a group of users. User activity data can be analyzed to determine the association of web hosts. To identify web hosts with abnormal website visits, web hosts may first be filtered based on their natural association based on a common topic, and then these web hosts may be further filtered based on their association based on user activity data.

[0013] Согласно не имеющим ограничительного характера вариантам осуществления настоящей технологии, может быть сформирован граф истории веб-поиска или части истории веб-поиска. Граф содержит вершины и ребра, соединяющие вершины. Каждое ребро соединено с двумя вершинами. Каждая вершина представляет собой веб-хост в истории веб-поиска. Каждому ребру в графе назначается вес ребра. Вес ребра определяется для каждого ребра на основе количества пользователей, посетивших и веб-хост первой вершины, соединенной с этим ребром, и веб-хост второй вершины, соединенной с этим ребром.[0013] According to non-limiting embodiments of the present technology, a web search history graph or portion of a web search history may be generated. The graph contains vertices and edges connecting the vertices. Each edge is connected to two vertices. Each vertex represents a web host in the web history. Each edge in the graph is assigned an edge weight. An edge weight is determined for each edge based on the number of users visiting both the web host of the first vertex connected to that edge and the web host of the second vertex connected to that edge.

[0014] Согласно ее имеющим ограничительного характера вариантам осуществления настоящей технологии, после формирования графа определяется одна или несколько тем для каждой вершины графа. Темы основаны на контенте веб-хоста вершины. Затем темы связанных друг с другом вершин сравниваются для определения связанных естественным образом веб-хостов вершин. Если ребро соединяет две вершины со связанными естественным образом хостами, то такое ребро удаляется из графа.[0014] According to its restrictive embodiments of the present technology, once a graph is generated, one or more topics are determined for each graph vertex. Themes are based on the content of the top web host. The topics of the related nodes are then compared to determine the naturally related node web hosts. If an edge connects two vertices with naturally related hosts, then that edge is removed from the graph.

[0015] После формирования графа выполняется кластеризация вершин графа на основе веса ребра. В результате определяются кластеры вершин, в которых отдельные пользователи посетили несколько хостов. Хосты в каждом кластере анализируются для определения того, связаны ли хосты в кластере на основе данных о действиях пользователей. Данные о действиях пользователей описывают историю просмотра веб-страниц пользователей, такую как посещенные пользователями веб-хосты и/или поведение пользователя при посещении веб-хостов. Если хосты в кластере определяются как связанные на основе данных о действиях пользователей, то такой кластер удаляется. Считается, что в оставшихся кластерах, в которых веб-хосты не связаны на основе данных о действиях пользователей, выполнялись аномальные посещения веб-сайтов. Ранг веб-хостов, связанных с аномальными посещениями веб-сайтов, на страницах SERP может быть снижен. Аномальные посещения веб-сайтов могут быть удалены из истории веб-поиска.[0015] After the graph is formed, the vertices of the graph are clustered based on the weight of the edge. As a result, vertex clusters are defined in which individual users have visited several hosts. The hosts in each cluster are analyzed to determine if the hosts in the cluster are connected based on user activity data. User activity data describes users' web browsing history, such as web hosts visited by users and/or user behavior when visiting web hosts. If hosts in a cluster are determined to be linked based on user activity data, then the cluster is removed. The remaining clusters, in which web hosts are not linked based on user activity data, are believed to have had anomalous website visits. The rank of web hosts associated with abnormal website visits on SERP pages may be reduced. Abnormal website visits can be removed from your web history.

[0016] В соответствии с первым аспектом настоящей технологии реализован способ определения веб-хостов с аномальными посещениями веб-сайтов. Способ выполняется сервером и включает в себя: получение истории веб-поиска для множества пользователей; формирование графа истории веб-поиска, в котором каждая вершина представляет собой веб-хост в истории веб-поиска, при этом вершины соединены с другими вершинами ребрами, каждое из которых имеет вес ребра, определенный на основе количества пользователей, посетивших оба хоста, соединенных этим ребром; кластеризацию вершин графа на основе весов ребер и формирование таким образом множества кластеров вершин; получение данных о действиях пользователей, соответствующих этим кластерам вершин и связанных с множеством пользователей, посетивших веб-хосты, связанные с этими кластерами вершин; определение для каждого кластера вершин связанных веб-хостов в этом кластере на основе данных о действиях пользователей; удаление из графа каждого кластера вершин, содержащего веб-хосты, связанные на основе данных о действиях пользователей; и сохранение для каждого веб-хоста, связанного с кластером, оставшимся в графе, индикатора того, что этот веб-хост связан с аномальными посещениями веб-сайтов.[0016] In accordance with the first aspect of the present technology, a method for determining web hosts with abnormal website visits is implemented. The method is performed by a server and includes: obtaining a web search history for a plurality of users; forming a web history graph in which each vertex represents a web host in the web search history, the vertices being connected to other vertices by edges, each having an edge weight determined based on the number of users visiting both hosts connected by that edge; clustering graph vertices based on edge weights and thus forming a plurality of vertex clusters; obtaining user activity data corresponding to these vertex clusters and associated with a plurality of users visiting web hosts associated with these vertex clusters; determining, for each vertex cluster, the associated web hosts in that cluster based on user activity data; removal from the graph of each vertex cluster containing web hosts associated based on user activity data; and storing, for each web host associated with the cluster remaining in the graph, an indicator that the web host is associated with abnormal website visits.

[0017] В некоторых вариантах осуществления способа он перед кластеризацией вершин графа дополнительно включает в себя определение для каждой вершины графа одной или нескольких тем, соответствующих этой вершине, и удаление из графа ребер, соединяющих две вершины со связанными темами.[0017] In some embodiments of the method, prior to clustering graph vertices, it further includes determining for each graph vertex one or more topics corresponding to that vertex and removing from the graph edges connecting two vertices with related topics.

[0018] В некоторых вариантах осуществления способа определение одной или нескольких тем для каждой вершины графа включает в себя запрашивание в базе данных тем, связанных с веб-хостом, соответствующим этой вершине.[0018] In some embodiments of the method, determining one or more topics for each graph vertex includes querying a database of topics associated with the web host corresponding to that vertex.

[0019] В некоторых вариантах осуществления способа он дополнительно включает в себя: получение поискового запроса; формирование на основе этого поискового запроса страницы результатов поисковой системы с ранжированным множеством веб-хостов, соответствующих этому поисковому запросу; и снижение на странице результатов поисковой системы ранга веб-хоста, связанного с аномальными посещениями веб-сайтов.[0019] In some embodiments of the method, it further includes: receiving a search query; generating, based on the search query, a search engine results page with a ranked set of web hosts matching the search query; and a reduction in the web host rank on the search engine results page associated with abnormal website visits.

[0020] В некоторых вариантах осуществления способа он дополнительно включает в себя: получение поискового запроса; формирование на основе этого поискового запроса страницы результатов поисковой системы с ранжированным множеством веб-хостов, соответствующих этому поисковому запросу; и удаление со страницы результатов поисковой системы веб-хоста, связанного с аномальными посещениями веб-сайтов.[0020] In some embodiments of the method, it further includes: obtaining a search query; generating, based on the search query, a search engine results page with a ranked set of web hosts matching the search query; and removing from the search engine results page a web host associated with abnormal website visits.

[0021] В некоторых вариантах осуществления способ дополнительно включает в себя удаление из истории веб-поиска данных, соответствующих веб-хостам, связанным с аномальными посещениями веб-сайтов.[0021] In some embodiments, the method further includes deleting from the web search history data corresponding to web hosts associated with abnormal website visits.

[0022] В некоторых вариантах осуществления способа он дополнительно включает в себя определение множества идентификаторов пользователей, соответствующих аномальным посещениям веб-сайтов, и сохранение для каждого из них индикатора того, что этот идентификатор пользователя связан с аномальными посещениями веб-сайтов.[0022] In some embodiments of the method, it further includes determining a plurality of user IDs corresponding to abnormal website visits and storing for each of them an indicator that the user ID is associated with abnormal website visits.

[0023] В некоторых вариантах осуществления способа данные о действиях пользователей содержат историю веб-поиска.[0023] In some embodiments of the method, the user activity data includes a web search history.

[0024] В некоторых вариантах осуществления способа данные о действиях пользователей содержат данные об использовании веб-браузера.[0024] In some embodiments of the method, the user activity data includes web browser usage data.

[0025] В некоторых вариантах осуществления способа данные о действиях пользователей содержат данные веб-сценария (web script data).[0025] In some embodiments of the method, the user activity data contains web script data.

[0026] В некоторых вариантах осуществления способа он дополнительно включает в себя определение веса каждого ребра на основе количества совпадающих поисковых запросов, введенных пользователями, посетившими оба хоста, соединенные этим ребром. [0026] In some embodiments of the method, it further includes determining the weight of each edge based on the number of matching search queries entered by users who have visited both hosts connected by the edge.

[0027] В соответствии с другим аспектом настоящей технологии реализована система для определения веб-хостов с аномальными посещениями веб-сайтов. Система содержит процессор и машиночитаемый физический носитель информации, содержащий команды. Процессор при исполнении команд способен: получать историю веб-поиска, соответствующую множеству пользователей; формировать граф истории веб-поиска, в котором каждая вершина представляет собой веб-хост в истории веб-поиска, при этом вершины соединены с другими вершинами ребрами, каждое из которых имеет вес ребра, определенный на основе количества пользователей, посетивших оба хоста, соединенных этим ребром; выполнять кластеризацию вершин графа на основе весов ребер и формировать таким образом множество кластеров вершин; получать данные о действиях пользователей, соответствующие этим кластерам вершин и связанные с множеством пользователей, посетивших веб-хосты, связанные с этими кластерами вершин; определять для каждого кластера вершин связанные веб-хосты в этом кластере на основе данных о действиях пользователей; удалять из графа каждый кластер вершин, содержащий веб-хосты, связанные на основе данных о действиях пользователей; и сохранять для каждого веб-хоста, связанного с кластером, оставшимся в графе, индикатор того, что этот веб-хост связан с аномальными посещениями веб-сайтов.[0027] In accordance with another aspect of the present technology, a system is implemented for identifying web hosts with abnormal website visits. The system includes a processor and a computer-readable physical storage medium containing instructions. The processor, when executing instructions, is capable of: receiving a web search history corresponding to a plurality of users; generate a web history graph in which each vertex represents a web host in the web search history, with vertices connected to other vertices by edges, each having an edge weight determined based on the number of users who visited both hosts connected by that edge; perform graph vertex clustering based on edge weights and thus form a plurality of vertex clusters; obtain user activity data corresponding to these vertex clusters and associated with a plurality of users who have visited web hosts associated with these vertex clusters; determine, for each vertex cluster, the associated web hosts in that cluster based on user activity data; remove from the graph each vertex cluster containing web hosts connected based on user activity data; and store, for each web host associated with the cluster remaining in the graph, an indicator that this web host is associated with abnormal website visits.

[0028] В некоторых вариантах осуществления системы процессор при исполнении команд дополнительно способен определять для каждой вершины графа одну или несколько тем, соответствующих этой вершине, и удалять из графа ребра, соединяющие две вершины со связанными темами.[0028] In some embodiments of the system, the processor, when executing instructions, is further capable of determining for each vertex of the graph one or more topics corresponding to this vertex, and removing from the graph edges connecting two vertices with related topics.

[0029] В некоторых вариантах осуществления системы процессор при исполнении команд дополнительно способен: получать поисковый запрос; формировать на основе этого поискового запроса страницу результатов поисковой системы с ранжированным множеством веб-хостов, соответствующих этому поисковому запросу; и снижать на странице результатов поисковой системы ранг веб-хоста, связанного с аномальными посещениями веб-сайтов.[0029] In some embodiments of the system, the processor, when executing instructions, is further capable of: receiving a search query; generate, based on this search query, a search engine results page with a ranked set of web hosts corresponding to this search query; and lower the rank of the web host associated with abnormal website visits on the search engine results page.

[0030] В некоторых вариантах осуществления системы процессор при исполнении команд дополнительно способен: получать поисковый запрос; формировать на основе этого поискового запроса страницу результатов поисковой системы с ранжированным множеством веб-хостов, соответствующих этому поисковому запросу; и удалять со страницы результатов поисковой системы веб-хост, связанный с аномальными посещениями веб-сайтов.[0030] In some system embodiments, the processor, when executing instructions, is further capable of: receiving a search query; generate, based on this search query, a search engine results page with a ranked set of web hosts corresponding to this search query; and remove from the search engine results page a web host associated with abnormal website visits.

[0031] В некоторых вариантах осуществления системы процессор при исполнении команд дополнительно способен удалять из истории веб-поиска данные, соответствующие веб-хостам, связанным с аномальными посещениями веб-сайтов.[0031] In some embodiments of the system, the processor, when executing instructions, is further capable of removing from the web search history data corresponding to web hosts associated with abnormal website visits.

[0032] В некоторых вариантах осуществления системы процессор при исполнении команд дополнительно способен: определять множество идентификаторов пользователей, соответствующих аномальным посещениям веб-сайтов, и сохранять для каждого из них индикатор того, что этот идентификатор пользователя связан с аномальными посещениями веб-сайтов.[0032] In some embodiments of the system, the processor, when executing instructions, is further capable of: determining a plurality of user identities corresponding to abnormal website visits, and storing for each of them an indicator that the user id is associated with abnormal website visits.

[0033] В некоторых вариантах осуществления системы процессор при исполнении команд дополнительно способен определять вес ребра на основе количества совпадающих запросов, введенных пользователями, посетившими оба веб-хоста, соединенные этим ребром.[0033] In some embodiments of the system, the processor, when executing instructions, is further capable of determining the weight of an edge based on the number of matching requests entered by users visiting both web hosts connected by that edge.

[0034] В соответствии с еще одним аспектом настоящей технологии реализован способ определения веб-хостов с аномальными посещениями веб-сайтов. Способ выполняется на сервере и включает в себя: получение истории веб-поиска для множества пользователей; для каждого веб-хоста в истории поиска: определение на основе истории веб-поиска списка других веб-хостов, посещенных пользователями, посетивших данный веб-хост, и удаление других веб-хостов, имеющих естественную связь с данным веб-хостом, из списка других веб-хостов; основанную на списках других веб-хостов кластеризацию не связанных естественным образом веб-хостов и формирование таким образом множества кластеров вершин; получение данных о действиях пользователей, соответствующих этим кластерам вершин и связанных с множеством пользователей, посетивших веб-хосты, связанные с этими кластерами вершин; удаление кластеров, содержащих веб-хосты, связанные друг с другом на основе данных о действиях пользователей; и сохранение для каждого веб-хоста, связанного с оставшимися кластерами, индикатора того, что этот веб-хост связан с аномальными посещениями веб-сайтов.[0034] In accordance with another aspect of the present technology, a method for determining web hosts with abnormal website visits is implemented. The method is executed on a server and includes: obtaining a web search history for a plurality of users; for each web host in the search history: determine, based on the web search history, a list of other web hosts visited by users who visited this web host, and remove other web hosts that have a natural relationship with this web host from the list of others web hosts; based on lists of other web hosts, clustering unnaturally related web hosts and thus forming a plurality of vertex clusters; obtaining user activity data corresponding to these vertex clusters and associated with a plurality of users visiting web hosts associated with these vertex clusters; removing clusters containing web hosts related to each other based on user activity data; and storing, for each web host associated with the remaining clusters, an indicator that the web host is associated with abnormal website visits.

[0035] В некоторых вариантах осуществления способа удаление других веб-хостов, имеющих естественную связь с данным веб-хостом, включает в себя выполнение для каждого другого веб-хоста из списка других веб-хостов сравнения одной или нескольких тем, соответствующих данному веб-хосту, с одной или несколькими темами, соответствующими другому веб-хосту.[0035] In some embodiments of the method, removing other web hosts that have a natural association with a given web host includes performing, for each other web host in a list of other web hosts, a comparison of one or more topics corresponding to the given web host. , with one or more themes corresponding to another web host.

[0036] В некоторых вариантах осуществления способа он дополнительно включает в себя: получение поискового запроса; формирование на основе этого поискового запроса страницы результатов поисковой системы с ранжированным множеством веб-хостов, соответствующих этому поисковому запросу; и снижение на странице результатов поисковой системы ранга веб-хоста, связанного с аномальными посещениями веб-сайтов.[0036] In some embodiments of the method, it further includes: receiving a search query; generating, based on the search query, a search engine results page with a ranked set of web hosts matching the search query; and a reduction in the web host rank on the search engine results page associated with abnormal website visits.

[0037] В контексте настоящего описания термин «сервер» означает компьютерную программу, выполняемую соответствующими аппаратными средствами и способную принимать запросы (например, от электронных устройств) через сеть и выполнять эти запросы или инициировать их выполнение. Аппаратные средства могут представлять собой один физический компьютер или одну компьютерную систему, что не существенно для настоящей технологии. В настоящем контексте выражение «сервер» не означает, что каждая задача (например, принятая команда или запрос) или некоторая определенная задача принимается, выполняется или запускается одним и тем же сервером (т.е. одними и теми же программными и/или аппаратными средствами). Это выражение означает, что любое количество программных средств или аппаратных средств может принимать, отправлять, выполнять или инициировать выполнение любой задачи или запроса либо результатов любых задач или запросов. Все эти программные и аппаратные средства могут представлять собой один сервер или несколько серверов, причем оба эти случая подразумеваются в выражении «по меньшей мере один сервер».[0037] 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 meant by the expression "at least one server".

[0038] В контексте настоящего описания термин «электронное устройство» означает любое компьютерное аппаратное средство, способное выполнять программы, подходящие для решения поставленной задачи. Таким образом, некоторые (не имеющие ограничительного характера) примеры электронных устройств включают в себя персональные компьютеры (настольные, ноутбуки, нетбуки и т.п.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует отметить, что в данном контексте устройство, функционирующее как электронное устройство, также может функционировать как сервер в отношении других электронных устройств. Использование выражения «электронное устройство» не исключает использования нескольких электронных устройств для приема, отправки, выполнения или инициирования выполнения любой задачи или запроса либо результатов любых задач или запросов либо шагов любого описанного здесь способа.[0038] 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 steps of any method described herein.

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

[0040] В контексте настоящего описания выражение «информация» включает в себя информацию любого рода или вида, допускающую хранение в базе данных. Таким образом, информация включает в себя аудиовизуальные произведения (изображения, фильмы, звукозаписи, презентации и т.д.), данные (данные о местоположении, числовые данные и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, электронные таблицы и т.д., но не ограничивается ими.[0040] 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.

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

[0042] В контексте настоящего описания, если явно не указано другое, в качестве указания на информационный элемент может выступать сам информационный элемент, а также указатель, ссылка, гиперссылка или другое косвенное средство, с помощью которого получатель данных может найти место в сети, памяти, базе данных или на другом машиночитаемом носителе информации, откуда можно извлечь этот информационный элемент. Например, указание на документ может включать в себя сам документ (т.е. его содержимое) или это указание может представлять собой уникальный дескриптор документа, указывающий на файл в определенной файловой системе, или какие-либо другие средства для указания получателю данных места в сети, адреса памяти, таблицы в базе данных или другого места, где можно получить доступ к файлу. Специалисту в данной области должно быть очевидно, что степень детализации, требуемая для такого указания, зависит от объема предварительных пояснений относительно интерпретации информации, которой обмениваются отправитель и получатель данных. Например, если перед началом обмена данными между отправителем и получателем известно, что указание на информационный элемент представляет собой ключ базы данных для элемента в определенной таблице заранее заданной базы данных, содержащей этот информационный элемент, то для эффективной передачи этого информационного элемента получателю достаточно оправить ключ базы данных, даже если сам информационный элемент не передается между отправителем и получателем данных.[0042] In the context of the present description, unless explicitly indicated otherwise, the information element itself can be an indication of an information element, as well as a pointer, link, hyperlink, or other indirect means by which the recipient of data can find a place in the network, memory , database, or other machine-readable storage medium from which the information element can be retrieved. For example, a reference to a document may include the document itself (i.e., its contents), or the reference may be a unique document descriptor pointing to a file on a specific file system, or some other means to indicate a network location to the recipient of the data. , a memory address, a table in a database, or another location where the file can be accessed. It should be apparent to one skilled in the art that the level of detail required for such an indication depends on the amount of prior clarification 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.

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

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

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

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

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

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

[0049] На фиг. 3 представлена схема обычного обмена данными между пользователями и поисковым сервером согласно вариантам осуществления настоящей технологии.[0049] FIG. 3 is a diagram of a typical communication between users and a search server according to embodiments of the present technology.

[0050] На фиг. 4 представлена схема аномального обмена данными между пользователями и поисковым сервером согласно вариантам осуществления настоящей технологии.[0050] FIG. 4 is a diagram of abnormal communication between users and a search server according to embodiments of the present technology.

[0051] На фиг. 5 и 6 приведена блок-схема способа определения веб-хостов с аномальными посещениями веб-сайтов, выполняемого в представленной на фиг. 2 системе согласно некоторым вариантам осуществления настоящей технологии, не имеющим ограничительного характера.[0051] FIG. 5 and 6 is a flow diagram of a method for determining web hosts with abnormal website visits performed in the FIG. 2 system according to some non-limiting embodiments of the present technology.

[0052] На фиг. 7 приведена история веб-поиска согласно вариантам осуществления настоящей технологии.[0052] In FIG. 7 shows a web search history according to embodiments of the present technology.

[0053] На фиг. 8 изображен граф истории веб-поиска, представленной на фиг. 7, согласно вариантам осуществления настоящей технологии.[0053] FIG. 8 is a graph of the web search history shown in FIG. 7 according to embodiments of the present technology.

[0054] На фиг. 9 изображен граф, представленный на фиг. 8, после фильтрации согласно вариантам осуществления настоящей технологии.[0054] FIG. 9 shows the graph shown in Fig. 8 after filtering according to embodiments of the present technology.

[0055] На фиг. 10 приведены кластеры, сформированные с использованием графа, представленного на фиг. 9, согласно вариантам осуществления настоящей технологии.[0055] FIG. 10 shows clusters formed using the graph shown in FIG. 9 according to embodiments of the present technology.

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

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

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

[0058] В некоторых случаях также приводятся полезные примеры модификаций настоящей технологии. Они способствуют пониманию, но также не определяют объем или границы настоящей технологии. Представленный перечень модификаций не является исчерпывающим и специалист в данной области может разработать другие модификации в пределах объема настоящей технологии. Кроме того, если в некоторых случаях модификации не описаны, это не означает, что они невозможны и/или что описание содержит единственно возможный вариант реализации того или иного элемента настоящей технологии.[0058] In some cases, useful examples of modifications to the present technology are also 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.

[0059] Более того, описание принципов, аспектов и вариантов реализации настоящей технологии, а также их конкретные примеры предназначены для охвата их структурных и функциональных эквивалентов, независимо от того, известны они в настоящее время или будут разработаны в будущем. Например, специалистам в данной области техники должно быть очевидно, что любые описанные здесь структурные схемы соответствуют концептуальным представлениям иллюстративных принципиальных схем, реализующих принципы настоящей технологии. Также должно быть очевидно, что любые блок-схемы, схемы процессов, диаграммы изменения состояния, псевдокоды и т.п. соответствуют различным процессам, которые могут быть представлены на машиночитаемом физическом носителе информации и могут выполняться компьютером или процессором, независимо от того, показан такой компьютер или процессор явно или нет.[0059] Moreover, the description of principles, aspects, and embodiments of the present technology, as well as specific examples thereof, are 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 obvious that any flowcharts, process diagrams, state transition diagrams, pseudocodes, etc. correspond to various processes that may be represented on a computer-readable physical storage medium and may be performed by a computer or processor, whether such a computer or processor is explicitly shown or not.

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

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

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

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

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

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

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

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

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

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

[0070] На реализацию линии 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).[0070] The implementation of the link 245 is not particularly limited, but depends on the implementation of the first client device 210, the second client device 215, the third client device 220, and the fourth client device 225. By way of non-limiting example, in those embodiments of the present technology where at least one of the client devices, such as the first client device 210, the second client device 215, the third client device 220, and the fourth client device 225, is implemented as a wireless communication device (such as a smartphone), a line 245 may be implemented as a wireless link (such as a 3G network link, a 4G network link, Wireless Fidelity or WiFi® for short, Bluetooth® , etc.). In those instances where at least one of the client devices, such as first client device 210, second client device 215, third client device 220, and fourth client device 225, is implemented as a laptop, smartphone, or tablet computer, link 245 may be both wireless (such as Wireless Fidelity or WiFi ® , Bluetooth ® etc. for short) and wired (such as an Ethernet-based connection).

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

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

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

[0074] В целом сервер 230 поисковой системы (а) осуществляет поиск, (б) анализирует и ранжирует результаты поиска, (в) группирует результаты и формирует страницу SERP для отправки электронному устройству (такому как первое клиентское устройство 210, второе клиентское устройство 215, третье клиентское устройство 220 и четвертое клиентское устройство 225).[0074] In general, the search engine server 230 (a) performs a search, (b) parses and ranks the search results, (c) aggregates the results, and generates a SERP page to send to an electronic device (such as a first client device 210, a second client device 215, third client device 220 and fourth client device 225).

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

[0076] В некоторых вариантах осуществления настоящей технологии сервер 230 поисковой системы может выполнять несколько поисков, включая общий поиск и вертикальный поиск, но не ограничиваясь ими.[0076] In some embodiments of the present technology, the search engine server 230 may perform multiple searches, including but not limited to general search and vertical search.

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

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

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

[0080] Сервер поисковой системы обычно поддерживает базу 250 данных журналов поиска. В общем случае база 250 журнала поиска может поддерживать индекс 255, журнал 260 запросов и журнал 265 действий пользователей.[0080] The search engine server typically maintains a search log database 250 . In general, search log base 250 may maintain an index 255, query log 260, and user activity log 265.

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

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

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

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

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

- успех/неудача: был или не был выбран документ из ответа на поисковый запрос;- 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: whether the user's action on the document was long or short compared to the user's action on other documents on the SERP page.

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

[0087] В некоторых вариантах осуществления изобретения журнал 260 запросов и журнал 265 действий пользователей могут быть реализованы в виде единого журнала. Информация, хранящаяся в журнале 260 запросов и в журнале 265 действий пользователей, реализованных в виде одного журнала или нескольких журналов, образует историю 270 веб-поиска.[0087] In some embodiments, the request log 260 and user activity log 265 may be implemented as a single log. The information stored in the request log 260 and in the user activity log 265, implemented as a single log or multiple logs, forms a web search history 270 .

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

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

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

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

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

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

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

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

- количество «кликов» на запрос: среднее количество переходов в расчете на один запрос для пользователя;- the number of "clicks" per request: the average number of clicks per 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 user u sessions per day, |u| - the total number of users for this 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| - the total number of sessions for this day;

- средняя длина сеанса на пользователя (SL/U): общее количество запросов в сеансе, усредненное по каждому пользователю; - average session length 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 requests per user (%-Nav-Q/U): navigation positions: if more than n % of all navigation requests for a request are concentrated on the first three URLs, this request is considered navigational. 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.

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

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

[0093] К сети 205 связи также подключен вышеупомянутый сервер 240 обнаружения аномальных посещений веб-сайтов. Сервер 240 обнаружения аномальных посещений веб-сайтов может быть реализован в виде традиционного компьютерного сервера. В одном примере осуществления настоящей технологии сервер 240 обнаружения аномальных посещений веб-сайтов может быть реализован в виде сервера Dell™ PowerEdge™, работающего под управлением операционной системы Microsoft™ Windows Server™. Очевидно, что сервер 240 обнаружения аномальных посещений веб-сайтов может быть реализован с использованием любых других подходящих аппаратных средств и/или прикладного программного обеспечения и/или встроенного программного обеспечения либо их сочетания. В представленном не имеющем ограничительного характера варианте осуществления настоящей технологии сервер 240 обнаружения аномальных посещений веб-сайтов представляет собой один сервер. В других не имеющих ограничительного характера вариантах осуществления настоящей технологии функции сервера 240 обнаружения аномальных посещений веб-сайтов могут быть распределены между несколькими серверами. В контексте настоящей технологии описанные здесь способы и система могут быть частично реализованы на сервере 240 обнаружения аномальных посещений веб-сайтов. В некоторых вариантах осуществления настоящей технологии сервер 240 обнаружения аномальных посещений веб-сайтов управляется и/или администрируется оператором поисковой системы. В качестве альтернативы, сервер 240 обнаружения аномальных посещений веб-сайтов может управляться и/или администрироваться другим поставщиком услуг.[0093] The aforementioned abnormal website visit detection server 240 is also connected to the communication network 205 . The anomalous website visit detection server 240 may be implemented as a conventional computer server. In one embodiment of the present technology, the anomalous website visit detection server 240 may be implemented as a Dell™ PowerEdge™ server running a Microsoft™ Windows Server™ operating system. Obviously, the web site visit detection server 240 may be implemented using any other suitable hardware and/or application software and/or firmware, or a combination thereof. In the present non-limiting embodiment of the present technology, the abnormal website visit detection server 240 is a single server. In other non-limiting embodiments of the present technology, the functions of the anomalous website visit detection server 240 may be distributed among multiple servers. In the context of the present technology, the methods and system described herein may be implemented in part on a server 240 for detecting abnormal website visits. In some embodiments of the present technology, the web site visit detection server 240 is managed and/or administered by a search engine operator. Alternatively, the web site visit detection server 240 may be managed and/or administered by another service provider.

[0094] В общем случае сервер 240 обнаружения аномальных посещений веб-сайтов предназначен для определения аномальных посещений веб-сайтов. Как более подробно описано ниже, сервер 240 обнаружения аномальных посещений веб-сайтов может, например, анализировать историю 270 веб-поиска (хранящуюся в журнале 260 запросов и/или в журнале 265 действий пользователей) с целью определения запросов и/или посещений веб-сайтов, которые подверглись влиянию вредоносного актора.[0094] In general, the abnormal website visit detection server 240 is designed to detect abnormal website visits. As described in more detail below, the abnormal website visit detection server 240 may, for example, analyze the web search history 270 (stored in the request log 260 and/or in the user activity log 265) to determine requests and/or visits to websites. that have been influenced by a malicious actor.

[0095] На фиг. 3 представлена схема обычного обмена данными между пользователями и сервером 230 поисковой системы. Как описано выше, сервер 230 поисковой системы формирует страницу SERP в ответ на запрос, полученный от пользователя. На страницу SERP может влиять предыдущее поведение пользователей, например, данные, хранящиеся в истории 270 веб-поиска.[0095] FIG. 3 is a diagram of a typical communication between users and a search engine server 230. As described above, the search engine server 230 generates a SERP page in response to a query received from a user. The SERP page may be influenced by previous user behavior, such as data stored in web history 270 .

[0096] Как показано на фиг. 3, пользователь 310 отправляет запрос путем передачи 341 серверу 230 поисковой системы. Затем сервер 230 поисковой системы выдает страницу SERP путем передачи 342 пользователю 310. Как описано выше, сервер 230 поисковой системы хранит различную информацию о взаимодействии между пользователем 310 и сервером 230 поисковой системы, такую как веб-хосты на странице SERP, ранее выбиравшиеся пользователем 310.[0096] As shown in FIG. 3, the user 310 sends a request by transmitting 341 to the search engine server 230. The search engine server 230 then delivers the SERP page by transmitting 342 to the user 310. As described above, the search engine server 230 stores various information about the interaction between the user 310 and the search engine server 230, such as the web hosts on the SERP page previously selected by the user 310.

[0097] Затем пользователь 320 отправляет тот же запрос, что и пользователь 310, путем передачи 343 серверу 230 поисковой системы. После получения запроса сервер 230 поисковой системы отправляет страницу SERP пользователю 320 путем передачи 344. На страницу SERP, отправленную пользователю 320, могут влиять предыдущие действия пользователя 310. Например, ранг последнего веб-хоста, выбранного пользователем 310, может быть повышен на странице SERP, отправленной пользователю 320. Предполагается, что последний веб-хост, выбранный пользователем 310, рассматривался пользователем 310 как наиболее релевантный веб-хост на странице SERP.[0097] The user 320 then sends the same request as the user 310 by passing 343 to the search engine server 230. Upon receipt of the request, the search engine server 230 sends the SERP page to the user 320 by transmitting 344. The SERP page sent to the user 320 may be influenced by the previous actions of the user 310. For example, the rank of the last web host selected by the user 310 may be promoted on the SERP page, sent to user 320. It is assumed that the last web host selected by user 310 was considered by user 310 as the most relevant web host on the SERP page.

[0098] Затем пользователь 330 отправляет тот же запрос, что и пользователи 310 и 320, серверу 230 поисковой системы путем передачи 345. В ответ на запрос сервер 230 поисковой системы формирует и выдает страницу SERP пользователю 330 путем передачи 346. На страницу SERP, предоставленную пользователю 330, может влиять поведение пользователей 310 и 320. Таким образом, сервер 230 поисковой системы может непрерывно уточнять ранг результатов поиска на основе зафиксированного поведения пользователей. Поведение пользователей может анализироваться с целью определения веб-хостов на странице SERP, которые рассматривались пользователями как наиболее релевантные. Затем этим веб-хостам может присваиваться более высокий ранг на будущих страницах SERP, что позволяет повысить удовлетворенность пользователей, поскольку наиболее релевантные результаты представляются пользователям с высоким рангом на страницах SERP.[0098] User 330 then sends the same request as users 310 and 320 to search engine server 230 by sending 345. In response to the request, search engine server 230 generates and delivers a SERP page to user 330 by sending 346. user 330 may be influenced by the behavior of users 310 and 320. Thus, search engine server 230 may continuously refine the rank of search results based on recorded user behavior. User behavior can be analyzed to determine the web hosts on the SERP page that were viewed as the most relevant by users. These web hosts can then be given a higher rank on future SERP pages, improving user satisfaction as the most relevant results are presented to high-ranking users on SERP pages.

[0099] На фиг. 3 представлена схема естественного поведения при поиске. На фиг. 4 показано, как недобросовестный актор может влиять на страницы SERP, предоставляемые сервером 230 поисковой системы. На схеме аномального обмена данными, представленной на фиг. 4, сервер 450 фальсификации результатов поиска влияет на поведение пользователей 410 и 420. Сервер 450 фальсификации результатов поиска может предоставлять инструкции пользователям 410 и 420. Инструкции могут указывать на то, какие поисковые запросы должны вводиться и какие результаты поиска должны выбираться на страницах SERP. Пользователи 410 и 420 могут вознаграждаться за выполнение инструкций, выданных сервером 450 фальсификации результатов поиска.[0099] FIG. 3 is a diagram of the natural search behavior. In FIG. 4 shows how an unscrupulous actor can influence the SERP pages provided by the search engine server 230. In the anomalous communication diagram shown in FIG. 4, the search falsification server 450 influences the behavior of users 410 and 420. The search falsification server 450 may provide instructions to users 410 and 420. The instructions may indicate which search queries should be entered and which search results should be selected on the SERP pages. Users 410 and 420 may be rewarded for following instructions issued by the search falsification server 450.

[00100] Пользователь 410 отправляет запрос согласно указаниям сервера 450 фальсификации результатов поиска серверу 230 поисковой системы путем передачи 441. В ответ на этот запрос сервер 230 поисковой системы отправляет страницу SERP пользователю 410 путем передачи 442. Затем пользователь 410 на основе указаний сервера 450 фальсификации результатов поиска посещает один или несколько веб-хостов путем выбора ссылок на странице SERP. Таким образом, сервер 450 фальсификации результатов поиска влияет на историю 270 веб-поиска путем предоставления инструкций относительно поведения пользователя 410. Посещения веб-сайтов, выполненные пользователем 410, здесь называются аномальными посещениями веб-сайтов. В отличие от естественного поведения человека, такие аномальные посещения веб-сайтов выполнены согласно указаниям недобросовестного актора, т.е. сервера 450 фальсификации результатов поиска в данном случае.[00100] The user 410 sends a request according to the indications of the search falsification server 450 to the search engine server 230 by transmission 441. In response to this request, the search engine server 230 sends the SERP page to the user 410 by transmission 442. The user 410 then, based on the indications of the falsification server 450 search engine visits one or more web hosts by selecting links on the SERP page. Thus, the search falsification server 450 influences the web search history 270 by providing instructions on the behavior of the user 410. The website visits made by the user 410 are referred to here as anomalous website visits. Unlike natural human behavior, such anomalous website visits are made according to the instructions of an unscrupulous actor, i.e. server 450 falsifying search results in this case.

[00101] Пользователь 420 отправляет тот же запрос, что и пользователь 410, серверу 230 поисковой системы путем передачи 443. Сервер 230 поисковой системы отвечает на запрос отправкой страницы SERP пользователю 420 путем передачи 444. На ранжирование на странице SERP, отправленной пользователю 420, может влиять поведение пользователя 410, зависящее от сервера 450 фальсификации результатов поиска. Подобно пользователю 410, пользователь 420 взаимодействует со страницей SERP согласно указаниям сервера 450 фальсификации результатов поиска. Сервер 450 фальсификации результатов поиска может предложить пользователю 420 выбрать веб-хост, владелец которого заплатил лицу, управляющему сервером 450 фальсификации результатов поиска, чтобы повысить ранг результата поиска для этого веб-хоста.[00101] User 420 sends the same request as user 410 to search engine server 230 by sending 443. Search engine server 230 responds to the request by sending the SERP page to user 420 by sending 444. The ranking on the SERP page sent to user 420 may influence the behavior of the user 410, depending on the server 450 falsification of search results. Like user 410, user 420 interacts with the SERP page as instructed by the search falsification server 450. The search falsification server 450 may prompt the user 420 to select a web host whose owner has paid the person operating the search falsification server 450 to increase the rank of the search result for that web host.

[00102] Пользователь 430, не получавший указаний от сервера 450 фальсификации результатов поиска, отправляет тот же запрос, что и пользователи 410 и 420, серверу 230 поисковой системы путем передачи 445. Затем сервер 230 поисковой системы отправляет страницу SERP пользователю 430 путем передачи 446. На страницу SERP, отправленную пользователю 430, влияет предыдущее поведение пользователей 410 и 420. Веб-хост, который согласно указаниям сервера 450 фальсификации результатов поиска выбрали пользователи 410 и 420, имеет более высокий ранг на странице SERP, предоставленной пользователю 430, вследствие аномальных посещений веб-сайтов пользователями 410 и 420. Путем управления поведением пользователей 410 и 420 сервер 450 фальсификации результатов поиска повлиял на страницу SERP, полученную пользователем 430. Теперь пользователь 430 с большей вероятностью выберет веб-хост, продвигаемый сервером 450 фальсификации результатов поиска, поскольку этот веб-хост имеет более высокий ранг на странице SERP, полученной пользователем 430. Способ 500, более подробно описанный ниже и на фиг. 5, предназначен для анализа истории веб-поиска с целью определения аномального поведения пользователей, такого как поведение пользователей 410 и 420.[00102] The user 430, not instructed by the search falsification server 450, sends the same request as the users 410 and 420 to the search engine server 230 by transmission 445. The search engine server 230 then sends the SERP page to the user 430 by transmission 446. The SERP page sent to user 430 is affected by the previous behavior of users 410 and 420. The web host that users 410 and 420 have chosen according to the instructions of the search falsification server 450 has a higher rank in the SERP page provided to user 430 due to abnormal web visits. sites by users 410 and 420. By controlling the behavior of users 410 and 420, the search fraud server 450 has influenced the SERP page obtained by the user 430. The user 430 is now more likely to select the web host promoted by the search fraud server 450 because this web host the host has a higher rank on the page SERP obtained by user 430. Method 500, described in more detail below and in FIG. 5 is designed to analyze web browsing history in order to detect abnormal user behavior, such as the behavior of users 410 and 420.

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

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

[00105] Шаг 505: получение истории веб-поиска.[00105] Step 505: Get web history.

[00106] Способ 500 начинается с шага 505. На нем могут быть получены данные, описывающие предыдущие запросы и действия пользователей, например, история 270 веб-поиска. История веб-поиска может храниться в журнале 260 запросов, в журнале 265 действий пользователей и/или других хранилищах зафиксированных данных. На фиг. 7, более подробно описанной ниже, представлен пример получаемой истории веб-поиска. История веб-поиска может содержать идентификаторы пользователей (UID, User Identifier), отправленные каждым пользователем запросы и веб-хосты, выбранные пользователями после получения страниц SERP в ответ на их запросы.[00106] Method 500 begins at step 505. Data describing previous requests and user actions, such as web history 270, may be obtained there. The web search history may be stored in a query log 260, a user activity log 265, and/or other stores of recorded data. In FIG. 7, described in more detail below, is an example of a retrieved web history. The web history may contain user identifiers (UID, User Identifier), requests sent by each user, and web hosts selected by users after receiving SERP pages in response to their requests.

[00107] История 270 веб-поиска может быть получена из одной или нескольких баз данных. Например, как описано на фиг. 2, история 270 веб-поиска может быть получена из базы 250 данных журналов поиска, которая может поддерживаться сервером 230 поисковой системы. Полученная история веб-поиска может соответствовать указанному временному окну. Например, может быть получена история 270 веб-поиска за предыдущие шесть месяцев. Полученная история 270 веб-поиска может соответствовать указанному местоположению или региону. Например, может быть получена история веб-поиска, соответствующая Северной Америке. Для получения истории веб-поиска могут быть использованы один или несколько запросов к базе данных. Запрос может указывать период времени, регион и/или другие фильтры, которые должны применяться к истории веб-поиска.[00107] Web search history 270 may be obtained from one or more databases. For example, as described in FIG. 2, web search history 270 may be obtained from a search log database 250 that may be maintained by search engine server 230. The retrieved web history may correspond to the specified time window. For example, a web search history 270 for the previous six months may be obtained. The retrieved web history 270 may correspond to a specified location or region. For example, a web history corresponding to North America may be obtained. One or more database queries can be used to retrieve the web history. The request may specify a time period, region, and/or other filters to be applied to the web search history.

[00108] Шаг 510: формирование графа истории веб-поиска.[00108] Step 510: generating a web search history graph.

[00109] После получения истории 270 веб-поиска на шаге 510 может быть сформирован граф. На фиг. 8, более подробно описанной ниже, представлен пример графа истории веб-поиска. Каждый веб-хост из истории 270 веб-поиска может быть включен в состав графа в качестве вершины. Для фильтрации веб-хостов, включенных в состав графа, может использоваться пороговое количество посещений. Например, веб-хосты, имеющие менее 500 уникальных посетителей, могут не включаться в состав графа в качестве вершин. Граф может содержать ребра, каждое из которых соединяет две вершины. Ребром могут быть соединены две вершины, посещенные пользователем с одним идентификатором UID. Например, если история веб-поиска указывает на то, что пользователь посетил веб-сайты engadget.com и gizmodo.com, то ребро, соединяющее эти две вершины, должно быть включено в состав графа.[00109] Upon receipt of the web search history 270, at step 510, a graph may be generated. In FIG. 8, described in more detail below, is an example of a web search history graph. Each web host in the web search history 270 may be included in the graph as a vertex. A threshold number of visits can be used to filter the web hosts included in the graph. For example, web hosts with fewer than 500 unique visitors may not be included as nodes in the graph. A graph can contain edges, each of which connects two vertices. An edge can connect two vertices visited by a user with the same UID. For example, if the web history indicates that the user visited the websites engadget.com and gizmodo.com, then the edge connecting these two vertices should be included in the graph.

[00110] Несмотря на то, что здесь описан граф, должно быть понятно, что для анализа истории веб-поиска могут быть использованы и другие структуры данных. Для каждого веб-хоста в истории веб-поиска может быть сформирован список других веб-хостов, посещенных пользователями с теми же идентификаторами UID, что и у пользователей, посетивших этот веб-хост.[00110] Although a graph is described here, it should be understood that other data structures can be used to parse web search history. For each web host in the web history, a list of other web hosts visited by users with the same UIDs as the users who visited that web host can be generated.

[00111] Шаг 515: назначение веса ребра каждому ребру в графе.[00111] Step 515: Assign an edge weight to each edge in the graph.

[00112] Каждому ребру в сформированном на шаге 510 графе на шаге 515 может быть назначен вес ребра. Вес ребра может указывать количество идентификаторов UID пользователей, посетивших оба веб-хоста, соединенных этим ребром. Например, если 50 пользователей посетили оба хоста, соединенных этим ребром, весу этого ребра может быть назначено значение 50. Вес ребра может назначаться на основе количества совпадающих поисковых запросов, введенных пользователями, посетивших оба хоста, соединенные этим ребром. Например, если два пользователя с идентификаторами UID ввели один и тот же поисковый запрос, а затем выбрали оба веб-хоста на странице SERP, сформированной в ответ на этот запрос, то вес ребра, соединяющего эти два веб-хоста, может быть увеличен.[00112] Each edge in the graph generated in step 510 can be assigned an edge weight in step 515. The weight of an edge can indicate the number of UIDs of users who visited both web hosts connected by this edge. For example, if 50 users have visited both hosts connected by this edge, the weight of this edge may be assigned a value of 50. The weight of an edge may be assigned based on the number of matching search queries entered by users visiting both hosts connected by this edge. For example, if two users with UIDs enter the same search query and then select both web hosts in the SERP page generated in response to that query, then the weight of the edge connecting the two web hosts can be increased.

[00113] Вес ребра с большим значением указывает на то, что оба веб-хоста, соединенных этим ребром, посещало большее количество одних и тех же посетителей. Связанные веб-хосты, такие как веб-хосты с близкими темами, должны иметь большие веса ребер, соединяющих их. Обычно предполагается, что пользователи посещают несколько тематически связанных веб-хостов. Например, веб-хосты newyorker.com и nytimes.com, вероятно, будут иметь относительно большой вес ребра, соединяющего их, поскольку оба веб-сайта связаны с городом Нью-Йорк и с новостями.[00113] The weight of an edge with a larger value indicates that both web hosts connected by this edge had more of the same visitors. Related web hosts, such as web hosts with similar topics, should have large edge weights connecting them. It is generally assumed that users visit several thematically related web hosts. For example, the web hosts newyorker.com and nytimes.com are likely to have relatively high edge weights connecting them, since both websites are related to New York City and news.

[00114] Шаг 520: получение темы для каждой вершины в графе.[00114] Step 520: Get a topic for each vertex in the graph.

[00115] На шаге 520 для каждой вершины в графе может быть получена и/или определена одна или несколько тем. Для определения одной или нескольких тем для каждой вершины в графе может быть использован алгоритм MLA. Алгоритм MLA может быть обучен определению одной или нескольких тем на основе информации, соответствующей веб-хосту, такой как метаданные, контент страницы и/или другая информация. В обученный алгоритм MLA могут быть введены адрес веб-хоста, метаданные, контент страницы и/или другая информация, соответствующая веб-хосту. Алгоритм MLA может выдавать одну или несколько тем. Алгоритм MLA может представлять собой модель обработки естественного языка (NLP, Natural Language Processing), такую как модель на основе латентно-семантического анализа (LSA, Latent Semantic Analysis), вероятностного латентно-семантического анализа (pLSA, Probabilistic Latent Semantic Analysis), модели Word2vec, алгоритма глобальных векторов для представления слов (GloVe, Global Vectors for Word Representation) или латентное размещение Дирихле (LDA, Latent Dirichlet Allocation).[00115] In step 520, for each vertex in the graph, one or more topics can be obtained and/or determined. The MLA algorithm can be used to determine one or more topics for each vertex in the graph. The MLA algorithm may be trained to determine one or more topics based on information relevant to the web host, such as metadata, page content, and/or other information. The trained MLA algorithm may be fed with the web host address, metadata, page content, and/or other information relevant to the web host. The MLA algorithm can produce one or more topics. The MLA algorithm can be a natural language processing (NLP, Natural Language Processing) model, such as a model based on latent semantic analysis (LSA, Latent Semantic Analysis), probabilistic latent semantic analysis (pLSA, Probabilistic Latent Semantic Analysis), Word2vec model , the global vectors algorithm for word representation (GloVe, Global Vectors for Word Representation) or Latent Dirichlet Allocation (LDA).

[00116] Для получения тем может быть запрошена база данных тем (не показана). База данных тем может управляться сервером 230 поисковой системы. Веб-хост, соответствующий вершине, может быть сообщен базе данных тем в запросе, а база данных тем может предоставить одну или несколько тем, соответствующих этому веб-хосту.[00116] To obtain topics, a topic database (not shown) can be queried. The theme database may be managed by the search engine server 230 . The web host corresponding to the vertex can be reported to the topic database in the request, and the topic database can provide one or more topics corresponding to this web host.

[00117] Темы могут быть определены на основе контента веб-хоста, метаданных веб-хоста, истории 270 веб-поиска и/или других данных, относящихся к веб-хосту. Темы могут указывать на смысловое наполнение контента, отображаемого веб-хостом. Должно быть понятно, что темы могут быть получены из базы данных и/или сформированы в реальном времени.[00117] Topics may be determined based on web host content, web host metadata, web search history 270, and/or other data related to the web host. Themes can indicate the content of the content displayed by the web host. It should be understood that topics can be retrieved from a database and/or generated in real time.

[00118] Шаг 525: удаление ребер между вершинами со связанными темами.[00118] Step 525: Remove edges between vertices with related topics.

[00119] На шаге 525 ребра, соединяющие два веб-хоста с одинаковыми или близкими темами, могут быть удалены из графа. Все ребра в графе, соединяющие пары веб-хостов с одинаковыми или близкими темами, могут быть удалены. Например, если для определения тем используется модель Word2vec, то для каждого из веб-хостов может быть определен вектор. Для векторов может быть определена близость косинусов их углов. Если близость косинусов удовлетворяет пороговому косинусному расстоянию, такому как заранее заданное пороговое косинусное расстояние, то темы могут считаться близкими. Ребра, определенные как имеющие одинаковые или близкие темы, соответствуют веб-хостам с естественной связью. После удаления этих ребер любые оставшиеся ребра в графе соединяют пары веб-хостов, не связанных естественным образом. На фиг. 9, более подробно описанной ниже, представлен граф после удаления ребер, соединяющих две вершины со связанными темами.[00119] In step 525, edges connecting two web hosts with the same or similar topics may be removed from the graph. All edges in the graph connecting pairs of web hosts with the same or similar topics can be removed. For example, if the Word2vec model is used to define topics, then a vector can be defined for each of the web hosts. For vectors, the proximity of the cosines of their angles can be determined. If the cosine proximity satisfies a threshold cosine distance, such as a predetermined threshold cosine distance, then the topics may be considered close. Edges defined as having the same or similar topics correspond to web hosts with a natural connection. After these edges are removed, any remaining edges in the graph connect pairs of web hosts that are not naturally connected. In FIG. 9, described in more detail below, shows the graph after removing the edges connecting two vertices with related topics.

[00120] На шаге 510 вместо графа для каждого веб-хоста в истории веб-поиска могут быть сформированы списки других веб-хостов, посещенных пользователями с теми же идентификаторами UID. Если сформированы списки других веб-хостов, на шаге 525 могут быть удалены другие веб-хосты из списка, имеющие тему, связанную с данным веб-хостом.[00120] In step 510, instead of a graph for each web host in the web history, lists of other web hosts visited by users with the same UIDs can be generated. If lists of other web hosts have been generated, at step 525, other web hosts from the list that have a topic associated with this web host can be removed.

[00121] Шаг 530: кластеризация вершин на основе весов ребер.[00121] Step 530: Clustering vertices based on edge weights.

[00122] На шаге 530 может быть выполнена кластеризация вершин в графе. Кластеризация может быть выполнена на основе ребер и весов ребер. При этом может быть использован любой алгоритм кластеризации, такой как алгоритм на основе остовного k-дерева, алгоритм на основе минимального остовного дерева, алгоритм на основе общих ближайших соседей и/или любой другой подходящий алгоритм кластеризации. На фиг. 10, более подробно описанной ниже, представлен пример кластеров, сформированных из графа.[00122] In step 530, clustering of vertices in the graph may be performed. Clustering can be done based on edges and edge weights. Any clustering algorithm may be used, such as a k-tree spanning tree algorithm, a minimum spanning tree algorithm, a common nearest neighbors algorithm, and/or any other suitable clustering algorithm. In FIG. 10, described in more detail below, is an example of clusters formed from a graph.

[00123] В некоторых случаях вершины могут быть включены в состав только одного кластера. В других случаях вершины могут быть включены в состав нескольких кластеров. Некоторые из вершин могут не быть объединены в кластер с другими вершинами. Например, если все ребра для некоторой вершины были удалены на шаге 525, то эта вершина может не включаться в состав ни одного из кластеров. Вершины, не объединенные в кластеры, могут не учитываться при дальнейшем анализе. [00123] In some cases, vertices may be included in only one cluster. In other cases, vertices may be included in several clusters. Some of the vertices may not be clustered with other vertices. For example, if all edges for a certain vertex were removed in step 525, then that vertex may not be included in any of the clusters. Vertices that are not clustered may not be taken into account in further analysis.

[00124] Шаг 535: получение данных о действиях пользователей.[00124] Step 535: Get user activity data.

[00125] На шаге 535 могут быть получены данные о действиях пользователей. Полученные данные о действиях пользователей могут соответствовать веб-хостам в кластере. Данные о действиях пользователей могут фильтроваться, чтобы свести полученные данные о действиях пользователей к данным, соответствующим веб-хостам в кластере. Для получения данных о действиях пользователей, соответствующих веб-хостам в кластере, могут быть использованы запросы.[00125] In step 535, user activity data may be obtained. The resulting user activity data may correspond to the web hosts in the cluster. The user activity data can be filtered to narrow down the resulting user activity data to the data corresponding to the web hosts in the cluster. Queries can be used to obtain user activity data corresponding to web hosts in the cluster.

[00126] Данные о действиях пользователей могут описывать поведение пользователей, соответствующее веб-хостам в кластере. Данные о действиях пользователей могут содержать данные из журнала 260 запросов и журнала 265 действий пользователей, зафиксированные веб-браузером данные, зафиксированные веб-сценариями данные, такие как куки-файлы, и/или другие данные, описывающие взаимодействие пользователей с веб-хостами. Данные о действиях пользователей могут указывать на посещенные пользователями веб-хосты, на действия, выполненные пользователями во время посещения веб-хостов, на порядок перехода пользователей к веб-хостам и/или на другие данные истории просмотра веб-страниц.[00126] User activity data may describe user behavior corresponding to web hosts in a cluster. User activity data may include data from request log 260 and user activity log 265, web browser captured data, web script captured data such as cookies, and/or other data describing user interactions with web hosts. User activity data may indicate web hosts visited by users, actions taken by users while visiting web hosts, the order in which users navigated to web hosts, and/or other web browsing history data.

[00127] Полученные данные о действиях пользователей могут быть ограничены конкретным периодом времени, например, они могут представлять собой данные о действиях пользователей, зафиксированных в течение последних шести месяцев. Полученные данные о действиях пользователей могут быть ограничены географическим регионом, например, они могут представлять собой данные о действиях пользователей, соответствующие пользователям в Китае.[00127] The resulting user activity data may be limited to a specific period of time, for example, it may be user activity data recorded over the past six months. The resulting user activity data may be limited to a geographic region, for example, it may be user activity data corresponding to users in China.

[00128] Шаг 540: выбор первого кластера.[00128] Step 540: Selecting the first cluster.

[00129] На шаге 540 выбирается первый кластер вершин. При этом может быть выбран любой из кластеров. Может быть использован случайный выбор, упорядоченный выбор или любой другой подходящий способ выбора. Например, первым может выбираться наибольший кластер.[00129] In step 540, the first vertex cluster is selected. In this case, any of the clusters can be selected. Random selection, ordered selection, or any other suitable selection method may be used. For example, the largest cluster may be selected first.

[00130] Шаг 545: определение связанных хостов в выбранном кластере.[00130] Step 545: determining associated hosts in the selected cluster.

[00131] На шаге 545 данные о действиях пользователей могут быть проанализированы, чтобы определить, связаны ли хосты в кластере. Несмотря на то, что хосты в кластере могут не иметь связанных тем, данные о действиях пользователей могут указывать на то, что соответствующая группа пользователей посещала веб-хосты в этом кластере. Если данные о действиях пользователей указывают на то, что веб-хосты в кластере связаны, посещения веб-хостов в этом кластере считаются обычными посещениями веб-сайтов.[00131] At step 545, the user activity data may be analyzed to determine if the hosts in the cluster are connected. Although hosts in a cluster may not have associated topics, user activity data may indicate that the corresponding group of users visited web hosts in that cluster. If the user activity data indicates that the web hosts in a cluster are related, visits to the web hosts in that cluster are considered regular website visits.

[00132] Чтобы определить, связаны ли веб-сайты на основе данных о действиях пользователей, эти данные о действиях пользователей могут быть проанализированы для определения того, посещала ли соответствующая группа пользователей веб-хосты в этом кластере. Например, многие пользователи, интересующиеся гольфом, также могут интересоваться лодочным спортом. На шаге 530 мог быть сформирован кластер, содержащий веб-хосты, связанные с гольфом, и веб-хосты, связанные с лодочным спортом. Несмотря на то, что веб-хосты, связанные с гольфом, и веб-хосты, связанные с лодочным спортом, не связаны тематически, данные о действиях пользователей могут указывать на то, что значительная часть пользователей, просматривающих связанные с гольфом веб-хосты, посматривают и веб-хосты, связанные с лодочным спортом. В этом случае кластер может быть определен как связанный на основе данных о действиях пользователей.[00132] To determine if the websites are related based on user activity data, this user activity data can be analyzed to determine if the corresponding user group has visited web hosts in that cluster. For example, many users who are interested in golf may also be interested in boating. At 530, a cluster could be formed containing golf-related web hosts and boating-related web hosts. Although golf-related web hosts and boating-related web hosts are not related thematically, user activity data may indicate that a significant proportion of users browsing golf-related web hosts are browsing and web hosts related to boating. In this case, the cluster can be determined as connected based on user activity data.

[00133] Данные о действиях пользователей, анализируемые на шаге 545, могут представлять собой набор данных, описывающий действия тысяч пользователей, сотен тысяч пользователей и т.д. Размер набора данных может быть выбран так, чтобы аномальные посещения веб-сайтов составляли относительно небольшую часть данных о действиях пользователей, например, менее пяти процентов от данных о действиях пользователей.[00133] The user activity data analyzed in step 545 may be a dataset describing the activities of thousands of users, hundreds of thousands of users, and so on. The size of the data set can be chosen such that abnormal website visits make up a relatively small portion of the user activity data, eg, less than five percent of the user activity data.

[00134] Шаг 550: удаление кластера со связанными веб-хостами.[00134] Step 550: Deleting a cluster with associated web hosts.

[00135] Если на шаге 545 было определено, что кластер содержит веб-хосты, связанные на основе данных о действиях пользователей, то на шаге 550 этот кластер может быть удален. Если веб-хосты в кластере связаны на основе данных о действиях пользователей, то предполагается, что веб-трафик, распределяемый между этими веб-хостами, соответствует естественным действиям пользователей, а не аномальным посещениям веб-сайтов. Если трафик, на основе которого сформирован кластер, считается естественным, то веб-хосты в этом кластере не связаны с аномальными посещениями веб-сайтов. Такой кластер может дальше не рассматриваться и/или может быть сохранен индикатор того, что этот кластер не связан с аномальными посещениями веб-сайтов.[00135] If at step 545 it was determined that the cluster contains web hosts associated based on user activity data, then at step 550 this cluster can be deleted. If the web hosts in a cluster are linked based on user activity data, then the web traffic distributed between these web hosts is assumed to be consistent with natural user activity and not anomalous website visits. If the traffic that forms the cluster is considered natural, then the web hosts in that cluster are not associated with abnormal website visits. Such a cluster may no longer be considered and/or an indication may be maintained that the cluster is not associated with abnormal website visits.

[00136] На шаге 550 такой кластер может быть полностью или частично удален. Например, веб-хост без аномальных посещений веб-сайтов может оказаться в кластере с другими веб-хостами с аномальными посещениями веб-сайтов. Если определено, что веб-хост не имеет аномальных посещений веб-сайтов, этот веб-хост может быть отделен от остальной части кластера. Также возможно, что после реализации системы определения аномальных посещений веб-сайтов веб-хост может быть подвержен аномальным посещениям веб-сайтов с целью снижения ранга этого веб-хоста на странице SERP. Если предполагается такая ситуация, то веб-хост может быть удален из кластера, чтобы аномальные посещения веб-сайтов не приводили к снижению ранга этого веб-хоста.[00136] At step 550, such a cluster may be completely or partially removed. For example, a web host with no anomalous website visits may be in a cluster with other web hosts with anomalous website visits. If it is determined that a web host does not have abnormal website visits, that web host can be separated from the rest of the cluster. It is also possible that after implementing a system for detecting abnormal website visits, a web host may be subject to abnormal website visits in order to lower that web host's rank on the SERP page. If such a situation is expected, then the web host can be removed from the cluster so that abnormal website visits do not lead to a decrease in the rank of this web host.

[00137] Шаг 555: определение наличия оставшихся кластеров для анализа.[00137] Step 555: Determine if there are remaining clusters for analysis.

[00138] После удаления кластера на шаге 550 или если веб-хосты в кластере не были определены на шаге 545 как связанные на основе данных о действиях пользователей, на шаге 555 определяется, остались ли еще кластеры вершин для анализа. Если все кластеры вершин проанализированы на шаге 545, способ переходит к шагу 610, описанному ниже. Если имеется другой кластер для анализа, способ 500 переходит к шагу 560[00138] After deleting the cluster in step 550, or if the web hosts in the cluster were not determined in step 545 to be related based on user activity data, it is determined in step 555 if there are still vertex clusters to analyze. If all vertex clusters have been parsed at step 545, the method proceeds to step 610, described below. If there is another cluster to analyze, method 500 proceeds to step 560

[00139] Шаг 560: выбор следующего кластера для анализа.[00139] Step 560: Selecting the next cluster for analysis.

[00140] На шаге 560 выбирается следующий кластер вершин для анализа. Как и на шаге 540, кластеры вершин могут выбираться в любом порядке. Выбранный следующий кластер вершин представляет собой кластер вершин, еще не анализированный на шаге 545. После выбора следующего кластера способ 500 переходит к шагу 545, на котором определяется, связаны ли веб-хосты в следующем кластере.[00140] In step 560, the next vertex cluster is selected for analysis. As in step 540, the vertex clusters may be selected in any order. The selected next vertex cluster is a vertex cluster not yet analyzed in step 545. After selecting the next cluster, method 500 proceeds to step 545, which determines if the web hosts in the next cluster are connected.

[00141] Шаг 610: сохранение индикатора аномальных посещений веб-сайтов для веб-хостов в оставшихся кластерах.[00141] Step 610: Store an abnormal website visit indicator for web hosts in the remaining clusters.

[00142] После удаления на шаге 550 кластеров, связанных на основе данных о действиях пользователей, оставшиеся кластеры считаются кластерами веб-хостов с аномальными посещениями веб-сайтов. Веб-хосты в оставшихся кластерах подвергнуты фильтрации дважды: сначала на шагах 520 и 525 путем определения естественной связи веб-хостов вследствие того, что они имеют близкие темы, а затем путем определения связи веб-хостов на основе данных о действиях пользователей. На посещения веб-хостов, подвергнутых фильтрации и оставшихся на шаге 610, вероятно, повлиял внешний источник, такой как сервер 540 фальсификации результатов поиска. Пользователям могли быть оплачены посещения веб-хостов в оставшихся кластерах. Для противодействия этим аномальным посещениям веб-сайтов могут быть выполнены различные действия, такие как действия, описанные на шагах 610, 620 и 630.[00142] After the clusters associated based on user activity data are removed in step 550, the remaining clusters are considered clusters of web hosts with abnormal website visits. The web hosts in the remaining clusters are filtered twice, first at steps 520 and 525 by determining the web hosts' natural association due to having similar topics, and then by determining the web host association based on user activity data. The visits to the web hosts filtered and remaining at step 610 are likely to have been influenced by an external source, such as the search falsification server 540 . Users could be paid to visit web hosts in the remaining clusters. Various actions can be taken to counter these anomalous website visits, such as those described in steps 610, 620, and 630.

[00143] На шаге 610 для каждого веб-хоста в оставшихся кластерах может быть сохранен индикатор. Веб-хосты могут быть помечены как веб-хосты с аномальными посещениями веб-сайтов. Индикаторы могут быть сохранены в базе данных, такой как индекс 225. При этом могут быть определены связанные с аномальными посещениями веб-сайтов идентификаторы UID, для каждого из которых может быть сохранен индикатор, указывающий на то, что этот идентификатор UID связан с аномальными посещениями веб-сайтов.[00143] At 610, an indicator may be stored for each web host in the remaining clusters. Web hosts may be flagged as web hosts with abnormal website visits. Indicators may be stored in a database such as index 225. UIDs associated with abnormal website visits may be determined, for each of which an indicator may be stored indicating that the UID is associated with abnormal web visits. -sites.

[00144] Шаг 620: снижение ранга результатов поиска веб-хостов в оставшихся кластерах.[00144] Step 620: Decrease the rank of web host search results in the remaining clusters.

[00145] Поскольку веб-хосты в оставшихся кластерах имеют аномальные посещения веб-сайтов, они могут иметь высокий ранг на страницах SERP, чем в случае отсутствия у них аномальных посещений веб-сайтов. Чтобы скорректировать это, на шаге 610 ранг веб-хостов из оставшихся кластеров может быть снижен на страницах SERP либо эти веб-хосты могут вовсе не включаться в состав страниц SERP.[00145] Because the web hosts in the remaining clusters have abnormal website visits, they may rank higher on the SERP pages than if they had no abnormal website visits. To correct for this, at step 610, web hosts from the remaining clusters may be lowered in the SERP pages, or these web hosts may not be included in the SERP pages at all.

[00146] При формировании страницы SERP признаки, сохраненные на шаге 610, могут использоваться для определения того, имеет ли веб-хост аномальные посещения веб-сайтов. Если определено, что веб-хост имеет аномальные посещения веб-сайтов, ранг этого веб-хоста на странице SERP может быть снижен или этот веб-хост может быть удален со страницы SERP.[00146] When generating the SERP page, the features stored in step 610 can be used to determine if the web host has abnormal website visits. If a web host is determined to have abnormal website visits, that web host may be downgraded on the SERP page or that web host may be removed from the SERP page.

[00147] Шаг 630: удаление данных истории веб-поиска для веб-хостов в оставшихся кластерах.[00147] Step 630: Delete web history data for web hosts in the remaining clusters.

[00148] На шаге 630 могут быть удалены данные истории веб-поиска и/или данные о действиях пользователей, соответствующие аномальным посещениям веб-сайтов. Для противодействия влиянию аномальных посещений веб-сайтов на результаты поиска действия, связанные с аномальными посещениями веб-сайтов, могут быть удалены из всех журналов. В качестве альтернативы, действия могут не удаляться, а помечаться как аномальные действия. Путем удаления действий, связанных с аномальными посещениями веб-сайтов, могут быть сформированы результаты для страниц SERP, на которые не влияют аномальные посещения веб-сайтов. Могут быть определены идентификаторы UID, связанные с аномальными посещениями веб-сайтов, и из журналов могут быть удалены все действия, связанные с этими идентификаторами UID. Затем способ 500 может быть завершен на шаге 640.[00148] In step 630, web browsing history data and/or user activity data corresponding to abnormal website visits may be deleted. To counteract the impact of anomalous website visits on search results, activities associated with anomalous website visits can be removed from all logs. Alternatively, the activities may not be removed, but marked as anomalous activities. By removing activities associated with abnormal website visits, results can be generated for SERP pages that are not affected by abnormal website visits. UIDs associated with anomalous website visits can be identified and all activities associated with those UIDs can be removed from the logs. Method 500 may then be completed at step 640.

[00149] На фиг. 7-10 представлен не имеющий ограничительного характера пример применения способа 500. На фиг. 7 представлен пример истории 700 веб-поиска. История 700 веб-поиска представляет собой пример истории веб-поиска, которая может быть получена на шаге 505 способа 500. В истории 700 веб-поиска каждая запись содержит идентификатор UID, соответствующий пользователю, вводившему поисковый запрос, введенный этим пользователем запрос и веб-хосты, выбранные пользователем на странице SERP. Должно быть понятно, что история 700 веб-поиска представляет собой лишь пример и что, как описано выше в отношении журнала 260 запросов, в состав истории 700 веб-поиска может быть включена другая информация.[00149] FIG. 7-10 show a non-limiting example of the application of method 500. FIG. 7 shows an example web search history 700. Web history 700 is an example of a web history that can be obtained at step 505 of method 500. In web history 700, each entry contains a UID corresponding to the user who entered the search query, the query entered by that user, and web hosts. selected by the user on the SERP page. It should be understood that web search history 700 is only an example and that, as described above with respect to query log 260, other information may be included in web search history 700.

[00150] Как описано выше в отношении способа 500, на основе истории веб-поиска может быть сформирован граф. На фиг. 8 изображен граф 800, сформированный с использованием истории 700 веб-поиска, представленной на фиг. 7. Каждый веб-хост из истории 700 веб-поиска представляет собой вершину в графе 800. Ребра, соединяющие вершины, указывают на два веб-хоста, посещенные одним и тем же пользователем. Например, как показано в истории 700 веб-поиска, веб-сайты Newyorkbookranks.com и Freedoghairadvice.com посетил пользователь с идентификатором UID 855921. Поскольку эти два веб-хоста посетил один и тот же пользователь, они соединены ребром на графе 800.[00150] As described above with respect to method 500, a graph may be generated based on a web search history. In FIG. 8 shows a graph 800 generated using the web search history 700 shown in FIG. 7. Each web host in the web search history 700 represents a vertex in graph 800. The edges connecting the vertices indicate two web hosts visited by the same user. For example, as shown in web history 700, the websites Newyorkbookranks.com and Freedoghairadvice.com were visited by user UID 855921. Because the two web hosts were visited by the same user, they are connected by an edge in graph 800.

[00151] Как описано на шагах 520 и 525 способа 500, ребра между веб-хостами, имеющими связанные темы, могут быть удалены. На фиг. 9 представлен подвергнутый фильтрации граф 900, представляющий собой граф 800 с удаленными ребрами, соединяющими вершины со связанными темами. Например, на графе 800 хосты Booklist.com и Constructionbooks.com соединены ребром. Оба эти веб-хоста связаны с темой «книги». Поскольку эти хосты имеют связанные темы, в графе 900 удалено ребро, соединяющее эти хосты.[00151] As described in steps 520 and 525 of method 500, edges between web hosts having related topics can be removed. In FIG. 9 shows a filtered graph 900, which is a graph 800 with edges removed connecting vertices with related topics. For example, in graph 800, the hosts Booklist.com and Constructionbooks.com are connected by an edge. Both of these web hosts are related to the theme of "book". Since these hosts have related topics, the edge connecting these hosts has been removed in column 900.

[00152] Как описано на шаге 530 способа 500, вершины могут быть сгруппированы на основе веса ребра для формирования кластеров вершин. На фиг. 10 представлены кластеры, сформированные из графа 900. Из графа 900 сформированы три кластера: 1010, 1020 и 1030. Некоторые из вершин графа 900, такие как вершина, соответствующая веб-хосту Constructionbooks.com, не включены в состав какого-либо из кластеров 1010, 1020 и 1030, поскольку эти вершины не имеют ребер, оставшихся в графе 900.[00152] As described in step 530 of method 500, vertices may be grouped based on edge weight to form vertex clusters. In FIG. 10 shows clusters formed from graph 900. Three clusters are formed from graph 900: 1010, 1020, and 1030. Some of the vertices of graph 900, such as the vertex corresponding to the Constructionbooks.com web host, are not included in any of the clusters 1010 , 1020, and 1030 because those vertices have no edges remaining in graph 900.

[00153] Как описано на шагах 535-560 способа 500, кластеры могут фильтроваться на основе данных о действиях пользователей. Например, кластер 1030 может фильтроваться на основе данных о действиях пользователей. В представленном примере веб-хосты Mealreplacement.org и Workoutadvice.com тематически не связаны. Тем не менее, данные о действиях пользователей могут указывать на то, что пользователи, посещающие веб-хост Workoutadvice.com, также часто посещают веб-хост Mealreplacement.org. Поэтому эти веб-хосты оказываются связанными на основе данных о действиях пользователей. Кластер 1030 может быть удален, поскольку можно считать, что действия пользователей, связанные с этими веб-хостами, представляют собой обычные действия. Оставшиеся кластеры 1010 и 1020 могут содержать веб-хосты с аномальными посещениями веб-сайтов. Как описано на шагах 610-630 способа 500, для противодействия аномальным посещениям веб-сайтов этих хостов могут быть выполнены различные шаги, например, снижение ранга результатов поиска.[00153] As described in steps 535-560 of method 500, clusters may be filtered based on user activity data. For example, cluster 1030 may be filtered based on user activity data. In the example shown, the Mealreplacement.org and Workoutadvice.com web hosts are not thematically related. However, user activity data may indicate that users who visit the Workoutadvice.com web host also frequently visit the Mealreplacement.org web host. Therefore, these web hosts are connected based on user activity data. Cluster 1030 may be removed as user activities associated with these web hosts can be considered normal activities. The remaining clusters 1010 and 1020 may contain web hosts with abnormal website visits. As described in steps 610-630 of method 500, various steps can be taken to counter abnormal visits to these hosts' websites, such as lowering the rank of search results.

[00154] Как показано на фиг. 7-10 в отношении истории веб-поиска выполняется двухуровневая фильтрация. Во-первых, могут быть удалены ребра, соединяющие тематически связанные веб-хосты. Затем могут быть использованы данные о действиях пользователей, чтобы отфильтровать кластеры, сформированные из веб-хостов, связанных на основе действий пользователей. Выполнение фильтрации первого уровня, когда удаляются ребра, соединяющие тематически связанные вершины, может потребовать меньшего количества вычислений, чем выполнение фильтрации второго уровня, когда удаляются кластеры, связанные на основе данных о действиях пользователей.[00154] As shown in FIG. 7-10, two-level filtering is performed on the web search history. First, the edges connecting thematically related web hosts can be removed. User activity data can then be used to filter out clusters formed from web hosts associated based on user activity. Performing first-level filtering, which removes edges connecting thematically related vertices, may require less computation than performing second-level filtering, which removes clusters that are related based on user activity data.

[00155] Хотя описанные выше варианты реализации приведены со ссылкой на конкретные шаги, выполняемые в определенном порядке, должно быть понятно, что эти шаги могут быть объединены, разделены или что их порядок может быть изменен без выхода за границы настоящей технологии. По меньшей мере некоторые из этих шагов могут выполняться параллельно или последовательно. Соответственно, порядок и группировка шагов не носят ограничительного характера для настоящей технологии.[00155] 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 these steps may be performed in parallel or sequentially. Accordingly, the order and grouping of steps is not limiting to the present technology.

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

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

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

Claims (66)

1. Способ коррекции работы поисковой системы путём определения веб-хостов с аномальными посещениями веб-сайтов в поисковой системе, выполняемый на сервере и включающий в себя:1. A method for correcting the operation of a search engine by identifying web hosts with abnormal visits to websites in a search engine, which is performed on a server and includes: - получение на сервере истории веб-поиска для множества пользователей посредством сети связи на основании поисковых запросов от множества клиентских устройств;- obtaining on the server the web search history for a plurality of users via a communication network based on search queries from a plurality of client devices; - формирование посредством сервера графа истории веб-поиска, в котором каждая вершина представляет собой веб-хост из истории веб-поиска, при этом вершины соединены с другими вершинами ребрами, каждое из которых имеет вес ребра, определенный на основе количества пользователей, посетивших оба хоста, соединенных этим ребром;- generation by the server of a web history graph in which each vertex represents a web host from the web search history, the vertices being connected to other vertices by edges, each having an edge weight determined based on the number of users visiting both hosts connected by this edge; - кластеризацию посредством сервера вершин графа на основе весов ребер и формирование множества кластеров вершин; - clustering by means of a graph vertex server based on edge weights and forming a plurality of vertex clusters; - получение на сервере данных о действиях пользователей, соответствующих этим кластерам вершин и связанных с множеством пользователей, посетивших веб-хосты, связанные с этими кластерами вершин;- receiving on the server data about the actions of users corresponding to these vertex clusters and associated with a set of users who visited web hosts associated with these vertex clusters; - определение посредством сервера для каждого кластера вершин связанных веб-хостов в этом кластере на основе данных о действиях пользователей;- determination by the server for each cluster of vertices of the associated web hosts in this cluster based on data about user actions; - удаление посредством сервера из графа каждого кластера вершин, содержащего веб-хосты, связанные на основе данных о действиях пользователей; и- removal by the server from the graph of each vertex cluster containing web hosts associated based on user activity data; and - сохранение посредством сервера для каждого веб-хоста, связанного с кластером, оставшимся в графе, индикатора того, что этот веб-хост связан с аномальными посещениями веб-сайтов.- storing by the server, for each web host associated with the cluster remaining in the graph, an indicator that this web host is associated with abnormal website visits. 2. Способ по п. 1, отличающийся тем, что перед кластеризацией вершин графа он дополнительно включает в себя: 2. The method according to claim 1, characterized in that before clustering the vertices of the graph, it additionally includes: - определение для каждой вершины графа одной или нескольких тем, соответствующих этой вершине; и- definition for each vertex of the graph of one or more topics corresponding to this vertex; and - удаление из графа ребер, соединяющих две вершины со связанными темами.- removal from the graph of edges connecting two vertices with related topics. 3. Способ по п. 2, отличающийся тем, что определение одной или нескольких тем для каждой вершины графа включает в себя запрашивание в базе данных тем, связанных с веб-хостом, соответствующим этой вершине.3. The method of claim 2, wherein determining one or more topics for each vertex of the graph includes querying a database of topics associated with the web host corresponding to that vertex. 4. Способ по п. 1, отличающийся тем, что он дополнительно включает в себя: 4. The method according to p. 1, characterized in that it additionally includes: - получение поискового запроса;- receiving a search query; - формирование на основе этого поискового запроса страницы результатов поисковой системы с ранжированным множеством веб-хостов, соответствующих этому поисковому запросу; и- generating, based on this search query, a search engine results page with a ranked set of web hosts corresponding to this search query; and - снижение на странице результатов поисковой системы ранга веб-хоста, связанного с аномальными посещениями веб-сайтов. - a decrease in the web host rank on the search engine results page associated with abnormal website visits. 5. Способ по п. 1, отличающийся тем, что он дополнительно включает в себя: 5. The method according to p. 1, characterized in that it additionally includes: - получение поискового запроса;- receiving a search query; - формирование на основе этого поискового запроса страницы результатов поисковой системы с ранжированным множеством веб-хостов, соответствующих этому поисковому запросу; и- generating, based on this search query, a search engine results page with a ranked set of web hosts corresponding to this search query; and - удаление со страницы результатов поисковой системы веб-хоста, связанного с аномальными посещениями веб-сайтов. - removal from the search engine results page of a web host associated with abnormal website visits. 6. Способ по п. 1, отличающийся тем, что он дополнительно включает в себя удаление из истории веб-поиска данных, соответствующих веб-хостам, связанным с аномальными посещениями веб-сайтов.6. The method of claim. 1, characterized in that it further includes deleting from the web search history data corresponding to web hosts associated with abnormal website visits. 7. Способ по п. 1, отличающийся тем, что он дополнительно включает в себя: 7. The method according to p. 1, characterized in that it additionally includes: - определение множества идентификаторов пользователей, соответствующих аномальным посещениям веб-сайтов; и- determining a set of user identifiers corresponding to abnormal website visits; and - сохранение для каждого из них индикатора того, что этот идентификатор пользователя связан с аномальными посещениями веб-сайтов.- maintaining for each of them an indicator that this user ID is associated with abnormal website visits. 8. Способ по п. 1, отличающийся тем, что данные о действиях пользователей содержат историю веб-поиска.8. The method according to claim 1, characterized in that the user activity data contains a web search history. 9. Способ по п. 1, отличающийся тем, что данные о действиях пользователей содержат данные об использовании веб-браузера.9. The method according to claim 1, characterized in that the data on user actions contains data on the use of a web browser. 10. Способ по п. 1, отличающийся тем, что данные о действиях пользователей содержат данные веб-сценария. 10. The method according to claim 1, characterized in that the user activity data contains web scenario data. 11. Способ по п. 1, отличающийся тем, что дополнительно включает в себя определение веса каждого ребра на основе количества совпадающих поисковых запросов, введенных пользователями, посетившими оба хоста, соединенные этим ребром.11. The method of claim 1, further comprising determining a weight for each edge based on the number of matching searches entered by users who have visited both hosts connected by that edge. 12. Система для коррекции работы поисковой системы путём определения веб-хостов с аномальными посещениями веб-сайтов, содержащая процессор и машиночитаемый физический носитель информации, содержащий команды, при этом процессор выполнен с возможностью выполнения следующих действий при исполнении команд:12. A system for correcting the operation of a search engine by determining web hosts with abnormal visits to websites, containing a processor and a machine-readable physical storage medium containing commands, while the processor is configured to perform the following actions when executing commands: - получение истории веб-поиска для множества пользователей посредством сети связи на основании поисковых запросов от множества клиентских устройств;- obtaining a web search history for a plurality of users via a communication network based on search queries from a plurality of client devices; - формирование графа истории веб-поиска, в котором каждая вершина представляет собой веб-хост из истории веб-поиска, при этом вершины соединены с другими вершинами ребрами, каждое из которых имеет вес ребра, определенный на основе количества пользователей, посетивших оба хоста, соединенных этим ребром;- forming a web history graph, in which each vertex represents a web host from the web search history, with vertices connected to other vertices by edges, each of which has an edge weight determined based on the number of users visiting both hosts connected this edge; - кластеризацию вершин графа на основе весов ребер и формирование множества кластеров вершин; - clustering of graph vertices based on edge weights and formation of a set of vertex clusters; - получение посредством сети связи данных о действиях пользователей, соответствующих этим кластерам вершин и связанных с множеством пользователей, посетивших веб-хосты, связанные с этими кластерами вершин;- obtaining by means of the communication network data about the actions of users corresponding to these vertex clusters and associated with a plurality of users who have visited web hosts associated with these vertex clusters; - определение для каждого кластера вершин связанных веб-хостов в этом кластере на основе данных о действиях пользователей;- determination for each cluster of vertices of associated web hosts in this cluster based on user activity data; - удаление из графа каждого кластера вершин, содержащего веб-хосты, связанные на основе данных о действиях пользователей; и- removal from the graph of each vertex cluster containing web hosts connected based on user activity data; and - сохранение для каждого веб-хоста, связанного с кластером, оставшимся в графе, индикатора того, что этот веб-хост связан с аномальными посещениями веб-сайтов.- storing for each web host associated with the cluster remaining in the graph, an indicator that this web host is associated with abnormal website visits. 13. Система по п. 12, отличающаяся тем, что процессор дополнительно выполнен с возможностью выполнения следующих действий при исполнении команд:13. The system according to claim 12, characterized in that the processor is additionally configured to perform the following actions when executing commands: - определение для каждой вершины графа одной или нескольких тем, соответствующих этой вершине; и- definition for each vertex of the graph of one or more topics corresponding to this vertex; and - удаление из графа ребер, соединяющих две вершины со связанными темами.- removal from the graph of edges connecting two vertices with related topics. 14. Система по п. 12, отличающаяся тем, что процессор дополнительно выполнен с возможностью выполнения следующих действий при исполнении команд:14. The system according to claim 12, characterized in that the processor is additionally configured to perform the following actions when executing commands: - получение поискового запроса;- receiving a search query; - формирование на основе этого поискового запроса страницы результатов поисковой системы с ранжированным множеством веб-хостов, соответствующих этому поисковому запросу; и- generating, based on this search query, a search engine results page with a ranked set of web hosts corresponding to this search query; and - снижение на странице результатов поисковой системы ранга веб-хоста, связанного с аномальными посещениями веб-сайтов.- a decrease in the web host rank on the search engine results page associated with abnormal website visits. 15. Система по п. 12, отличающаяся тем, что процессор дополнительно выполнен с возможностью выполнения следующих действий при исполнении команд:15. The system according to claim 12, characterized in that the processor is additionally configured to perform the following actions when executing commands: - получение поискового запроса;- receiving a search query; - формирование на основе этого поискового запроса страницы результатов поисковой системы с ранжированным множеством веб-хостов, соответствующих этому поисковому запросу; и- generating, based on this search query, a search engine results page with a ranked set of web hosts corresponding to this search query; and - удаление со страницы результатов поисковой системы веб-хоста, связанного с аномальными посещениями веб-сайтов.- removal from the search engine results page of a web host associated with abnormal website visits. 16. Система по п. 12, отличающаяся тем, что процессор дополнительно выполнен с возможностью выполнения следующего действия при исполнении команд: удаление из истории веб-поиска данных, соответствующих веб-хостам, связанным с аномальными посещениями веб-сайтов.16. The system according to claim 12, characterized in that the processor is additionally configured to perform the following action when executing commands: deleting from the web search history data corresponding to web hosts associated with abnormal website visits. 17. Система по п. 12, отличающаяся тем, что процессор дополнительно выполнен с возможностью выполнения следующих действий при исполнении команд: 17. The system according to claim 12, characterized in that the processor is additionally configured to perform the following actions when executing commands: - определение множества идентификаторов пользователей, соответствующих аномальным посещениям веб-сайтов, и- determining a set of user identifiers corresponding to abnormal website visits, and - сохранение для каждого из них признака того, что этот идентификатор пользователя связан с аномальными посещениями веб-сайтов.- storing for each of them an indication that this user ID is associated with abnormal visits to websites. 18. Система по п. 12, отличающаяся тем, что процессор дополнительно выполнен с возможностью выполнения следующего действия при исполнении команд: определение веса ребра на основе количества совпадающих запросов, введенных пользователями, посетившими оба веб-хоста, соединенные этим ребром.18. The system according to claim 12, characterized in that the processor is further configured to perform the following action when executing instructions: determining the weight of an edge based on the number of matching requests entered by users who visited both web hosts connected by this edge. 19. Способ коррекции работы поисковой системы путём определения веб-хостов с аномальными посещениями веб-сайтов, выполняемый на сервере и включающий в себя:19. A method for correcting the operation of a search engine by identifying web hosts with abnormal visits to websites, performed on a server and including: - получение на сервере истории веб-поиска для множества пользователей посредством сети связи на основании поисковых запросов от множества клиентских устройств;- obtaining on the server the history of web searches for a plurality of users via a communication network based on search queries from a plurality of client devices; - для каждого веб-хоста из истории поиска: - for each web host from the search history: - определение посредством сервера на основе истории веб-поиска списка других веб-хостов, посещенных пользователями, посетившими данный веб-хост; и- determining by the server, based on the web search history, a list of other web hosts visited by users who visited this web host; and - удаление посредством сервера других веб-хостов, имеющих естественную связь с данным веб-хостом, из списка других веб-хостов;- removal by the server of other web hosts having a natural connection with this web host from the list of other web hosts; - кластеризацию посредством сервера не связанных естественным образом веб-хостов и формирование множества кластеров вершин на основе списков других веб-хостов;- clustering by means of a server of naturally unrelated web hosts and the formation of a plurality of vertex clusters based on lists of other web hosts; - получение на сервере посредством сети связи данных о действиях пользователей, соответствующих этим кластерам вершин и связанных с множеством пользователей, посетивших веб-хосты, связанные с этими кластерами вершин;- receiving on the server through the communication network data about the actions of users corresponding to these vertex clusters and associated with a plurality of users who visited web hosts associated with these vertex clusters; - удаление посредством сервера кластеров, содержащих веб-хосты, связанные друг с другом на основе данных о действиях пользователей; и- removal by the server of clusters containing web hosts associated with each other based on user activity data; and - сохранение посредством сервера для каждого веб-хоста, связанного с оставшимися кластерами, индикатора того, что этот веб-хост связан с аномальными посещениями веб-сайтов.- storing by the server for each web host associated with the remaining clusters, an indicator that this web host is associated with abnormal website visits. 20. Способ по п. 19, отличающийся тем, что удаление других веб-хостов, имеющих естественную связь с данным веб-хостом, включает в себя выполнение для каждого другого веб-хоста из списка других веб-хостов сравнения одной или нескольких тем, соответствующих данному веб-хосту, с одной или несколькими темами, соответствующими другому веб-хосту.20. The method of claim. 19, characterized in that the removal of other web hosts that have a natural connection with this web host, includes performing for each other web host from the list of other web hosts, comparing one or more topics corresponding to this web host, with one or more themes corresponding to another web host. 21. Способ по п. 19, отличающийся тем, что он дополнительно включает в себя: 21. The method according to claim 19, characterized in that it further includes: - получение поискового запроса;- receiving a search query; - формирование на основе этого поискового запроса страницы результатов поисковой системы с ранжированным множеством веб-хостов, соответствующих этому поисковому запросу; и- generating, based on this search query, a search engine results page with a ranked set of web hosts corresponding to this search query; and - снижение на странице результатов поисковой системы ранга веб-хоста, связанного с аномальными посещениями веб-сайтов.- a decrease in the web host rank on the search engine results page associated with abnormal website visits.
RU2019128025A 2019-09-05 2019-09-05 Method and system for detecting abnormal visits to websites RU2775824C2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
RU2019128025A RU2775824C2 (en) 2019-09-05 Method and system for detecting abnormal visits to websites
US16/869,282 US11108802B2 (en) 2019-09-05 2020-05-07 Method of and system for identifying abnormal site visits

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2019128025A RU2775824C2 (en) 2019-09-05 Method and system for detecting abnormal visits to websites

Publications (3)

Publication Number Publication Date
RU2019128025A RU2019128025A (en) 2021-03-05
RU2019128025A3 RU2019128025A3 (en) 2022-04-01
RU2775824C2 true RU2775824C2 (en) 2022-07-11

Family

ID=

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070255821A1 (en) * 2006-05-01 2007-11-01 Li Ge Real-time click fraud detecting and blocking system
US20080162475A1 (en) * 2007-01-03 2008-07-03 Meggs Anthony F Click-fraud detection method
CN103605714A (en) * 2013-11-14 2014-02-26 北京国双科技有限公司 Method and device for identifying abnormal data of websites
US9092510B1 (en) * 2007-04-30 2015-07-28 Google Inc. Modifying search result ranking based on a temporal element of user feedback
RU2632148C2 (en) * 2015-12-28 2017-10-02 Общество С Ограниченной Ответственностью "Яндекс" System and method of search results rating
US20190114649A1 (en) * 2017-10-12 2019-04-18 Yahoo Holdings, Inc. Method and system for identifying fraudulent publisher networks

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070255821A1 (en) * 2006-05-01 2007-11-01 Li Ge Real-time click fraud detecting and blocking system
US20080162475A1 (en) * 2007-01-03 2008-07-03 Meggs Anthony F Click-fraud detection method
US9092510B1 (en) * 2007-04-30 2015-07-28 Google Inc. Modifying search result ranking based on a temporal element of user feedback
CN103605714A (en) * 2013-11-14 2014-02-26 北京国双科技有限公司 Method and device for identifying abnormal data of websites
RU2632148C2 (en) * 2015-12-28 2017-10-02 Общество С Ограниченной Ответственностью "Яндекс" System and method of search results rating
US20190114649A1 (en) * 2017-10-12 2019-04-18 Yahoo Holdings, Inc. Method and system for identifying fraudulent publisher networks

Similar Documents

Publication Publication Date Title
US9811566B1 (en) Modifying search result ranking based on implicit user feedback
US7685192B1 (en) Method and system for displaying interest space user communities
US8918417B1 (en) Generating query refinements from user preference data
US8386509B1 (en) Method and system for associating search keywords with interest spaces
US7660815B1 (en) Method and system for occurrence frequency-based scaling of navigation path weights among online content sources
US9092510B1 (en) Modifying search result ranking based on a temporal element of user feedback
JP5436665B2 (en) Classification of simultaneously selected images
US8645362B1 (en) Using resource load times in ranking search results
US8874566B2 (en) Online content ranking system based on authenticity metric values for web elements
US20080114755A1 (en) Identifying sources of media content having a high likelihood of producing on-topic content
US9081953B2 (en) Defense against search engine tracking
US20120095834A1 (en) Systems and methods for using a behavior history of a user to augment content of a webpage
US10956502B2 (en) Method of and system for recommending fresh search query suggestions on search engine
WO2012030729A1 (en) Systems and methods for providing a hierarchy of cache layers of different types for intext advertising
TWI474199B (en) A method of increasing search engine optimization performance of a social media webpage of an entity
US9195944B1 (en) Scoring site quality
US20220147551A1 (en) Aggregating activity data for multiple users
US11108802B2 (en) Method of and system for identifying abnormal site visits
TWI467399B (en) Automated system and method for analyzing backlinks
US9514194B1 (en) Website duration performance based on category durations
Barifah et al. Exploring usage patterns of a large-scale digital library
RU2775824C2 (en) Method and system for detecting abnormal visits to websites
US20150169739A1 (en) Query Classification
RU2776034C2 (en) Method and system for detection of abnormal ranking
US11308097B2 (en) Method of and server for generating meta-feature for ranking documents