RU2632134C2 - Method and system of processing of search requests - Google Patents
Method and system of processing of search requests Download PDFInfo
- Publication number
- RU2632134C2 RU2632134C2 RU2015156412A RU2015156412A RU2632134C2 RU 2632134 C2 RU2632134 C2 RU 2632134C2 RU 2015156412 A RU2015156412 A RU 2015156412A RU 2015156412 A RU2015156412 A RU 2015156412A RU 2632134 C2 RU2632134 C2 RU 2632134C2
- Authority
- RU
- Russia
- Prior art keywords
- search
- normalized
- query
- server
- queries
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/3332—Query translation
- G06F16/3334—Selection or weighting of terms from queries, including natural language queries
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕFIELD OF THE INVENTION
[01] Настоящая технология относится к системам и способам обработки поисковых запросов, введенных в сервис поисковой системы. Конкретнее, системы и способы нацелены на вычисление обобщенных запросов на основе поисковых запросов для предоставления содержимого пользователю.[01] The present technology relates to systems and methods for processing search queries entered into a search engine service. More specifically, systems and methods are aimed at calculating generalized queries based on search queries to provide content to a user.
УРОВЕНЬ ТЕХНИКИBACKGROUND
[02] Совпадение по ключевым словам является удобным способом для предоставления целевого содержимого пользователям сервисов поисковых систем. В некоторых случаях такое совпадение может предоставлять более релевантные поисковые результаты пользователю в ответ на введенный запрос в поисковую систему. В других случаях, поставщики целевого содержимого могут предоставлять информацию о продукте и/или услуге, которые они рекламируют, о поисковых фразах, которые будут использованы для установления соотношения рекламного объявления с поисковых запросом, введенным пользователем, и о ценах, предлагаемых поставщиком сервиса поисковой системы для отображения своих рекламных объявлений. Например, когда пользователь вводит поисковый запрос в поисковую систему, процедура установления соответствия выполняется между поисковым запросом и поисковой фразой, предоставляемой рекламодателем и/или поставщиком содержимого, и рекламное объявление и/или поисковые результаты, релевантные поисковому запросу выбираются поисковой системой для предоставления рассматриваемому пользователю. Тем не менее, следует иметь в виду, что могут присутствовать семантические ошибки, грамматические ошибки, орфографические ошибки и так далее, связанные с процедурой установления соответствия.[02] Keyword matching is a convenient way to deliver targeted content to users of search engine services. In some cases, such a match may provide more relevant search results to the user in response to an entered query in the search engine. In other cases, target content providers may provide information about the product and / or service that they advertise, search phrases that will be used to correlate the advertisement with the search query entered by the user, and prices offered by the search engine service provider for display your advertisements. For example, when a user enters a search query into a search engine, a matching procedure is performed between the search query and the search phrase provided by the advertiser and / or content provider, and the advertisement and / or search results relevant to the search query are selected by the search engine to provide to the user in question. However, it should be borne in mind that there may be semantic errors, grammatical errors, spelling errors, and so on, associated with the procedure for establishing compliance.
[03] Например, поисковые запросы, введенные пользователями, могут содержать опечатки, которые пользователи по ошибке вводят в момент введения поисковых запросов. В другом примере, поисковый запрос и поисковая фраза могут быть ведены в поисковую систему на другом языке. В другом варианте, поисковый запрос может включать в себя не значимые слова, например, предлоги, которые могут усложнять процедуру установления соответствия между данным поисковым запросом и данной поисковой фразой.[03] For example, search queries entered by users may contain typos that users mistakenly enter at the time of entering search queries. In another example, a search query and a search phrase can be entered into a search engine in another language. In another embodiment, the search query may include insignificant words, for example, prepositions, which can complicate the process of establishing a correspondence between a given search query and a given search phrase.
[04] Одна из проблем, возникающих при установлении соответствия поисковых запросов и поисковых фраз, относится к синонимам. Действительно, в некоторых случаях, если поисковый запрос включает в себя синоним слова, содержащегося в поисковой фразе, данный поисковый запрос и данная поисковая фраза могут не совпадать. Это несовпадение является нежелательным для: (i) пользователя, поскольку он может не получить рекламное объявление об интересующем продукте; (ii) рекламодателя и/или поставщика содержимого, поскольку их продукт и/или услуга и/или содержимое не достаточно хорошо рекламируются; и (iii) поставщика поисковой системы, поскольку не достигается оптимальная монетизация, связанная с рекламными объявлениями/содержимым, которые рекламируются с помощью страницы результатов поиска (SERP).[04] One of the problems encountered when matching search queries and search phrases relates to synonyms. Indeed, in some cases, if the search query includes a synonym for the word contained in the search phrase, this search query and this search phrase may not match. This discrepancy is undesirable for: (i) the user, as he may not receive an advertisement for the product of interest; (ii) the advertiser and / or content provider, as their product and / or service and / or content is not well advertised; and (iii) a search engine provider because it does not achieve the optimal monetization associated with advertisements / content that are advertised using the search results page (SERP).
[05] Некоторые поставщики поисковой системы могут создавать синонимичные фразы, эквивалентные поисковым запросам, для попытки установления соответствия между синонимичными фразами и поисковыми фразами, предоставляемыми рекламодателем. Обычный подход к созданию синонимичных фраз выглядит следующим образом. Поисковый запрос считается набором из слов, для которого выбирается набор синонимов, и далее синонимичные фразы создаются как возможные комбинации рассматриваемых синонимов. Количество таких комбинаций представляет собой 2N-1, причем N - число слов в поисковом запросе. Это означает, что более длинные поисковые запросы приводят к экспоненциальному росту комбинаций, также известному как комбинаторный взрыв.[05] Some search engine providers may create synonymous phrases equivalent to search queries to try to match the synonymous phrases with the search phrases provided by the advertiser. The usual approach to creating synonymous phrases is as follows. A search query is considered a set of words for which a set of synonyms is selected, and then synonymous phrases are created as possible combinations of the synonyms in question. The number of such combinations is 2 N-1 , with N being the number of words in the search query. This means that longer searches lead to an exponential increase in combinations, also known as combinatorial bursts.
РАСКРЫТИЕDISCLOSURE
[06] Настоящее техническое решение может уменьшить по меньшей мере некоторые недостатки, присущие текущему уровню техники в отношении обработки поисковых запросов.[06] The present technical solution can reduce at least some of the disadvantages inherent in the current level of technology in relation to the processing of search queries.
[07] В некоторых вариантах осуществления технического решения, предлагается способ обработки поисковых запросов, который выполняется на сервере, и в котором сервер размещает поисковую систему. Способ включает в себя: получение сервером множества поисковых запросов, введенных в поисковую систему; и обработку сервером каждого поискового запроса во множестве поисковых запросов. Обработка каждого поискового запроса включает в себя: получение сервером набора лексем и набора синонимов; вычисление сервером набора нормализованных запросов на основе поисковых запросов и лексем из набора лексем; вычисление сервером набора обобщенных запросов на основе нормализованных запросов из набора нормализованных запросов и синонимов из набора синонимов, при этом каждый нормализованный запрос связан с соответствующим обобщенным запросом из набора обобщенных запросов; и компиляцию сервером индексной структуры на основе набора логических деревьев, причем компиляция индексной структуры включает в себя вычисление сервером набора логических деревьев. Каждое логическое дерево в наборе логических деревьев представляет собой по меньшей мере один обобщенный запрос, связанный по меньшей мере с одним соответствующим нормализованным запросом.[07] In some embodiments of the technical solution, there is provided a method for processing search queries that runs on a server and in which the server hosts a search engine. The method includes: receiving by the server a plurality of search queries entered into a search engine; and server processing of each search query in a plurality of search queries. Processing of each search request includes: obtaining a set of tokens and a set of synonyms by the server; calculation by the server of a set of normalized queries based on search queries and tokens from a set of tokens; computing a set of generalized queries by the server based on normalized queries from a set of normalized queries and synonyms from a set of synonyms, with each normalized query associated with a corresponding generalized query from a set of generalized queries; and compiling the index structure by the server based on the set of logical trees, wherein compiling the index structure includes computing the set of logical trees by the server. Each logical tree in a set of logical trees represents at least one generalized query associated with at least one corresponding normalized query.
[08] В некоторых вариантах осуществления способа, способ дополнительно включает в себя: получение сервером поисковой фразы, введенной в поисковую систему; обработку сервером поисковой фразы. Обработка поисковой фразы включает в себя: вычисление сервером нормализованной поисковой фразы на основе поисковой фразы и лексем из набора лексем; вычисление сервером обобщенной поисковой фразы на основе нормализованной поисковой фразы и синонимов из набора синонимов; и связывание сервером по меньшей мере одного нормализованного запроса из набора нормализованных запросов с поисковой фразой на основе обобщенной поисковой фразы и индексной структуры, причем по меньшей мере один нормализованный запрос отличается от нормализованной поисковой фразы.[08] In some embodiments of the method, the method further includes: receiving, by the server, a search phrase entered into the search system; server processing of the search phrase. Processing of a search phrase includes: the server calculating a normalized search phrase based on a search phrase and tokens from a set of tokens; calculation by the server of a generalized search phrase based on a normalized search phrase and synonyms from a set of synonyms; and server linking at least one normalized query from the set of normalized queries to the search phrase based on the generalized search phrase and index structure, wherein at least one normalized query is different from the normalized search phrase.
[09] В некоторых вариантах осуществления способа, вычисление набора нормализованных запросов включает в себя для каждого поискового запроса из множества поисковых запросов: определение сервером соответствующей лексемы для каждого значимого слова в данном поисковом запросе; создание сервером данного нормализованного запроса, связанного с данным поисковым запросом, причем данный нормализованный запрос включает в себя соответствующую лексему каждого значимого слова в данном поисковом запросе.[09] In some embodiments of the method, calculating a set of normalized queries includes, for each search query from a plurality of search queries: a server determining a corresponding token for each significant word in a given search query; creating the server of this normalized query associated with this search query, and this normalized query includes the corresponding token of each significant word in this search query.
[10] В некоторых вариантах осуществления способа, вычисление набора обобщенных запросов включает в себя для каждого нормализованного запроса из набора нормализованных запросов: определение сервером соответствующего основного синонима для каждой лексемы в данном нормализованном запросе; создание сервером данного обобщенного запроса, связанного с данным нормализованным запросом, причем данный обобщенный запрос включает в себя соответствующий основной синоним каждой лексемы в данном нормализованном запросе.[10] In some embodiments of the method, computing a set of generalized queries includes, for each normalized query from a set of normalized queries: determining, by the server, the corresponding basic synonym for each token in the given normalized query; creation by the server of this generalized request associated with this normalized request, and this generalized request includes the corresponding main synonym for each token in this normalized request.
[11] В некоторых вариантах осуществления способа, данный нормализованный запрос связан с нормализованным счетчиком частоты, который указывает на ряд поисковых запросов из множества поисковых запросов, которые связаны с данным нормализованным запросом.[11] In some embodiments of the method, a given normalized query is associated with a normalized frequency counter that indicates a series of search queries from a plurality of search queries that are associated with this normalized query.
[12] В некоторых вариантах осуществления способа, данный обобщенный запрос связан с обобщенным счетчиком частоты, который указывает на ряд нормализованных запросов из набора нормализованных запросов, которые связаны с данным обобщенным запросом.[12] In some embodiments of the method, this generalized query is associated with a generalized frequency counter that indicates a series of normalized queries from the set of normalized queries that are associated with this generalized query.
[13] В некоторых вариантах осуществления способа, каждое значимое слово является словоизмененной парадигмой соответствующей лексемы.[13] In some embodiments of the method, each significant word is a modified paradigm of the corresponding token.
[14] В некоторых вариантах осуществления способа, соответствующий основной синоним каждой лексемы определен модулем обработки на основе соответствующих указаний популярности синонимов из набора синонимов.[14] In some embodiments of the method, the corresponding main synonym for each token is determined by the processing module based on the corresponding indications of the popularity of synonyms from the set of synonyms.
[15] В некоторых вариантах осуществления способа, по меньшей мере одно логическое дерево из набора логических деревьев включает в себя: родительский узел; по меньшей мере один дочерний узел первого уровня и по меньшей мере один дочерний узел второго уровня.[15] In some embodiments of the method, at least one logical tree from a set of logical trees includes: a parent node; at least one child node of the first level and at least one child node of the second level.
[16] В некоторых вариантах осуществления способа, по меньшей мере одно логическое дерево представляет по меньшей мере один соответствующий обобщенный запрос, связанный по меньшей мере с одним соответствующим нормализованным запросом, причем по меньшей мере один обобщенный запрос связан по меньшей мере с одним из: родительским узлом, по меньшей мере одним дочерним узлом первого уровня и по меньшей мере одним дочерним узлом второго уровня.[16] In some embodiments of the method, the at least one logical tree represents at least one corresponding generalized query associated with at least one corresponding normalized query, and at least one generalized query is associated with at least one of: parent a node, at least one child node of the first level and at least one child node of the second level.
[17] В некоторых вариантах осуществления способа, способ дополнительно включает в себя: получение сервером текущего поискового запроса, введенного в поисковую систему; обработку сервером текущего поискового запроса. Обработка текущего поискового запроса включает в себя: вычисление сервером нормализованного текущего поискового запроса на основе текущего поискового запроса и лексем из набора лексем; вычисление сервером обобщенного текущего поискового запроса на основе нормализованного поискового запроса и синонимов из набора синонимов и связывание сервером нормализованного текущего запроса с целевым содержимым, связанным с поисковой фразой на основе по меньшей мере одного из: нормализованной поисковой фразы и по меньшей мере одного нормализованного запроса, связанного с поисковой фразой.[17] In some embodiments of the method, the method further includes: receiving, by the server, the current search query entered into the search engine; server processing the current search request. Processing the current search query includes: the server calculating a normalized current search query based on the current search query and tokens from the set of tokens; calculating by the server a generalized current search query based on the normalized search query and synonyms from the set of synonyms and the server linking the normalized current query with the target content associated with the search phrase based on at least one of the normalized search phrase and at least one normalized query related with a search phrase.
[18] В некоторых вариантах осуществления технического решения, предлагается сервер для обработки поисковых запросов, который размещает поисковую систему. Сервер выполнен с возможностью осуществлять: получение сервером множества поисковых запросов, введенных в поисковую систему; и обработку сервером каждого поискового запроса во множестве поисковых запросов. Для обработки каждого поискового запроса сервер выполнен с возможностью осуществлять: получение набора лексем и набора синонимов; вычисление набора нормализованных запросов на основе поисковых запросов и лексем из набора лексем; вычисление набора обобщенных запросов на основе нормализованных запросов из набора нормализованных запросов и синонимов из набора синонимов, при этом каждый нормализованный запрос связан с соответствующим обобщенным запросом из набора обобщенных запросов; и компиляцию индексной структуры на основе набора логических деревьев, причем компиляция индексной структуры включает в себя сервер, выполненный с возможностью осуществлять вычисление набора логических деревьев, причем каждое логическое дерево из набора логических деревьев представляет по меньшей мере один обобщенный запрос, связанный по меньшей мере с одним соответствующим нормализованным запросом.[18] In some embodiments of the technical solution, there is provided a server for processing search queries that hosts a search engine. The server is configured to: receive the server a plurality of search queries entered into the search system; and server processing of each search query in a plurality of search queries. To process each search request, the server is configured to: obtain a set of tokens and a set of synonyms; calculating a set of normalized queries based on search queries and tokens from a set of tokens; calculating a set of generalized queries based on normalized queries from a set of normalized queries and synonyms from a set of synonyms, wherein each normalized query is associated with a corresponding generalized query from a set of generalized queries; and compiling the index structure based on the set of logical trees, wherein compiling the index structure includes a server configured to calculate the set of logical trees, each logical tree from the set of logical trees representing at least one generalized query associated with at least one appropriate normalized query.
[19] В некоторых вариантах осуществления сервера, сервер дополнительно выполнен с возможностью осуществлять: получение поисковой фразы, введенной в поисковую систему; обработку поисковой фразы. Для обработки поисковой фразы сервер выполнен с возможностью осуществлять: вычисление нормализованной поисковой фразы на основе поисковой фразы и лексем из набора лексем; вычисление обобщенной поисковой фразы на основе нормализованной поисковой фразы и синонимов из набора синонимов и связывание по меньшей мере одного нормализованного запроса из набора нормализованных запросов с поисковой фразой на основе обобщенной поисковой фразы и индексной структуры, причем по меньшей мере один нормализованный запрос отличается от нормализованной поисковой фразы.[19] In some embodiments of the server, the server is further configured to: retrieve a search phrase entered into the search engine; search phrase processing. To process the search phrase, the server is configured to: calculate a normalized search phrase based on the search phrase and tokens from the set of tokens; calculating a generalized search phrase based on a normalized search phrase and synonyms from a set of synonyms and linking at least one normalized query from a set of normalized queries to a search phrase based on a generalized search phrase and index structure, and at least one normalized query is different from a normalized search phrase .
[20] В некоторых вариантах осуществления сервера, для вычисления набора нормализованных запросов, сервер дополнительно выполнен с возможностью осуществлять, для каждого данного поискового запроса из множества поисковых запросов: определение соответствующей лексемы для каждого значимого слова в данном поисковом запросе; создание данного нормализованного запроса, связанного с данным поисковым запросом, причем данный нормализованный запрос включает в себя соответствующую лексему каждого значимого слова в данном поисковом запросе.[20] In some server embodiments, to compute a set of normalized queries, the server is further configured to, for each given search query from a plurality of search queries: determine a corresponding token for each significant word in a given search query; the creation of this normalized query associated with this search query, and this normalized query includes the corresponding token of each significant word in this search query.
[21] В некоторых вариантах осуществления способа, для вычисления набора обобщенных запросов, сервер выполнен с возможностью осуществлять, для каждого нормализованного запроса из набора нормализованных запросов: определение соответствующего основного синонима для каждой лексемы в данном нормализованном запросе; создание данного обобщенного запроса, связанного с данным нормализованным запросом, причем данный обобщенный запрос включает в себя соответствующий основной синоним каждой лексемы в данном нормализованном запросе.[21] In some embodiments of the method, for calculating a set of generalized queries, the server is configured to, for each normalized query from a set of normalized queries: determine the corresponding main synonym for each token in this normalized query; the creation of this generalized query associated with this normalized query, and this generalized query includes the corresponding main synonym for each token in this normalized query.
[22] В некоторых вариантах осуществления сервера, данный нормализованный запрос связан с нормализованным счетчиком частоты, который указывает на ряд поисковых запросов из множества поисковых запросов, которые связаны с данным нормализованным запросом.[22] In some server embodiments, a given normalized request is associated with a normalized frequency counter that indicates a series of search queries from a plurality of search queries that are associated with this normalized request.
[23] В некоторых вариантах осуществления сервера, данный обобщенный запрос связан с обобщенным счетчиком частоты, который указывает на ряд нормализованных запросов из набора нормализованных запросов, которые связаны с данным обобщенным запросом.[23] In some server embodiments, a given generalized query is associated with a generalized frequency counter that indicates a series of normalized queries from the set of normalized queries that are associated with this generalized query.
[24] В некоторых вариантах осуществления сервера, каждое значимое слово является словоизмененной парадигмой соответствующей лексемы.[24] In some embodiments of the server, each significant word is a modified paradigm of the corresponding token.
[25] В некоторых вариантах осуществления сервера, соответствующий основной синоним каждой лексемы определен на основе соответствующих указаний популярности синонимов из набора синонимов.[25] In some server embodiments, the corresponding primary synonym for each token is determined based on corresponding indications of the popularity of synonyms from the set of synonyms.
[26] В некоторых вариантах осуществления сервера, по меньшей мере одно логическое дерево из набора логических деревьев включает в себя: родительский узел; по меньшей мере один дочерний узел первого уровня и по меньшей мере один дочерний узел второго уровня.[26] In some embodiments of the server, the at least one logical tree from the set of logical trees includes: a parent node; at least one child node of the first level and at least one child node of the second level.
[27] В некоторых вариантах осуществления сервера, по меньшей мере одно логическое дерево представляет по меньшей мере один соответствующий обобщенный запрос, связанный по меньшей мере с одним соответствующим нормализованным запросом, причем по меньшей мере один обобщенный запрос связан по меньшей мере с одним из: родительским узлом, по меньшей мере одним дочерним узлом первого уровня и по меньшей мере одним дочерним узлом второго уровня.[27] In some server embodiments, the at least one logical tree represents at least one corresponding generalized request associated with at least one corresponding normalized request, and at least one generalized request is associated with at least one of: parent a node, at least one child node of the first level and at least one child node of the second level.
[28] В некоторых вариантах осуществления сервера, сервер дополнительно выполнен с возможностью осуществлять: получение текущего поискового запроса, введенного в поисковую систему; обработку текущего поискового запроса. Для обработки текущего поискового запроса, сервер выполнен с возможностью осуществлять: вычисление нормализованного текущего поискового запроса на основе текущего поискового запроса и лексем из набора лексем; вычисление обобщенного текущего поискового запроса на основе нормализованного поискового запроса и синонимов из набора синонимов; и связывание нормализованного текущего запроса с целевым содержимым, связанным с поисковой фразой на основе по меньшей мере одного из: нормализованной поисковой фразы и по меньшей мере одного нормализованного запроса, связанного с поисковой фразой.[28] In some embodiments of the server, the server is further configured to: receive a current search query entered into a search engine; Processing the current search request. To process the current search query, the server is configured to: calculate the normalized current search query based on the current search query and tokens from the set of tokens; calculating a generalized current search query based on a normalized search query and synonyms from a set of synonyms; and linking the normalized current query to the target content associated with the search phrase based on at least one of: the normalized search phrase and at least one normalized query associated with the search phrase.
[29] В контексте настоящего описания, если четко не указано иное, "электронное устройство", "пользовательское устройство", "сервер", "удаленный сервер" и "компьютерная система" подразумевают под собой аппаратное и/или системное обеспечение, подходящее к решению соответствующей задачи. Таким образом, некоторые неограничивающие примеры аппаратного и/или программного обеспечения включают в себя компьютеры (серверы, настольные компьютеры, ноутбуки, нетбуки и так далее), смартфоны, планшеты, сетевое оборудование (маршрутизаторы, коммутаторы, шлюзы и так далее) и/или их комбинацию.[29] In the context of the present description, unless clearly indicated otherwise, "electronic device", "user device", "server", "remote server" and "computer system" mean hardware and / or system software suitable for the solution corresponding task. Thus, some non-limiting examples of hardware and / or software include computers (servers, desktop computers, laptops, netbooks, etc.), smartphones, tablets, network equipment (routers, switches, gateways, etc.) and / or their a combination.
[30] В контексте настоящего описания, если четко не указано иное, "машиночитаемый носитель" и "память" подразумевает под собой носитель абсолютно любого типа и характера, не ограничивающие примеры включают в себя ОЗУ, ПЗУ, диски (компакт диски, DVD-диски, дискеты, жесткие диски и т.д.), USB-ключи, флеш-карты, твердотельные накопители и накопители на магнитной ленте.[30] In the context of the present description, unless clearly indicated otherwise, “machine-readable medium” and “memory” means a medium of absolutely any type and character, non-limiting examples include RAM, ROM, disks (CDs, DVDs) , floppy disks, hard drives, etc.), USB keys, flash cards, solid state drives and tape drives.
[31] В контексте настоящего описания, если четко не указано иное, «указание» информационного элемента может представлять собой сам информационный элемент или указатель, отсылку, ссылку или другой косвенный способ, позволяющий получателю указания найти сеть, память, базу данных или другой машиночитаемый носитель, из которого может быть извлечен информационный элемент. Например, указание на файл может включать в себя сам файл (т.е. его содержимое), или же оно может являться уникальным дескриптором файла, идентифицирующим файл по отношению к конкретной файловой системе, или каким-то другими средствами передавать получателю указание на сетевую папку, адрес памяти, таблицу в базе данных или другое место, в котором можно получить доступ к файлу. Как будет понятно специалистам в данной области техники, степень точности, необходимая для такого указания, зависит от степени первичного понимания того, как должна быть интерпретирована информация, которой обмениваются получатель и отправитель указателя. Например, если до установления связи между отправителем и получателем понятно, что признак информационного элемента принимает вид ключа базы данных для записи в конкретной таблице заранее установленной базы данных, содержащей информационный элемент, то передача ключа базы данных - это все, что необходимо для эффективной передачи информационного элемента получателю, несмотря на то, что сам по себе информационный элемент не передавался между отправителем и получателем указания.[31] In the context of the present description, unless clearly indicated otherwise, the "indication" of an information element may be the information element or pointer itself, a reference, a link or other indirect method allowing the recipient of the instruction to find a network, memory, database or other computer-readable medium from which the information item can be extracted. For example, a file reference can include the file itself (i.e. its contents), or it can be a unique file descriptor that identifies the file with respect to a specific file system, or by some other means send the destination a network folder , a memory address, a table in the database, or another place where you can access the file. As will be understood by those skilled in the art, the degree of accuracy necessary for such an indication depends on the degree of primary understanding of how the information exchanged between the receiver and sender of the pointer. For example, if before establishing a connection between the sender and the recipient, it is clear that the sign of the information element takes the form of a database key for recording in a specific table a pre-installed database containing the information element, then transferring the database key is all that is necessary for the efficient transmission of information element to the recipient, despite the fact that the information element itself was not transmitted between the sender and the recipient of the instruction.
[32] В контексте настоящего описания, если конкретно не указано иное, слова «первый», «второй», «третий» и т.д. используются в виде прилагательных исключительно для того, чтобы отличать существительные, к которым они относятся, друг от друга, а не для целей описания какой-либо конкретной взаимосвязи между этими существительными. Так, например, следует иметь в виду, что использование терминов «первый сервер» и «третий сервер» не подразумевает какого-либо порядка, отнесения к определенному типу, хронологии, иерархии или ранжирования (например) серверов/между серверами, равно как и их использование (само по себе) не предполагает, что некий "второй сервер" обязательно должен существовать в той или иной ситуации. В дальнейшем, как указано здесь в других контекстах, упоминание «первого» элемента и «второго» элемента не исключает возможности того, что это один и тот же фактический реальный элемент. Так, например, в некоторых случаях, «первый» сервер и «второй» сервер могут являться одним и тем же программным и/или аппаратным обеспечением, а в других случаях они могут являться разным программным и/или аппаратным обеспечением.[32] In the context of the present description, unless specifically indicated otherwise, the words "first", "second", "third", etc. used in the form of adjectives solely to distinguish the nouns to which they relate from each other, and not for the purpose of describing any specific relationship between these nouns. So, for example, it should be borne in mind that the use of the terms “first server” and “third server” does not imply any order, assignment to a certain type, chronology, hierarchy or ranking (for example) of servers / between servers, as well as their use (in itself) does not imply that a certain "second server" must exist in a given situation. Further, as indicated here in other contexts, the mention of the “first” element and the “second” element does not exclude the possibility that it is one and the same actual real element. So, for example, in some cases, the “first” server and the “second” server can be the same software and / or hardware, and in other cases they can be different software and / or hardware.
[33] Каждый вариант осуществления настоящего технического решения преследует по меньшей мере одну из вышеупомянутых целей и/или объектов, но наличие всех не является обязательным. Следует иметь в виду, что некоторые объекты данной технического решения, полученные в результате попыток достичь вышеупомянутой цели, могут не удовлетворять этой цели и/или могут удовлетворять другим целям, отдельно не указанным здесь.[33] Each embodiment of the present technical solution pursues at least one of the above objectives and / or objects, but the presence of all is not required. It should be borne in mind that some objects of this technical solution, obtained as a result of attempts to achieve the aforementioned goal, may not satisfy this goal and / or may satisfy other goals not specifically indicated here.
[34] Дополнительные и/или альтернативные характеристики, аспекты и преимущества вариантов осуществления настоящего технического решения станут очевидными из последующего описания, прилагаемых чертежей и прилагаемой формулы изобретения.[34] Additional and / or alternative characteristics, aspects and advantages of embodiments of the present technical solution will become apparent from the following description, the attached drawings and the attached claims.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF THE DRAWINGS
[35] Для лучшего понимания настоящего технического решения, а также других ее аспектов и характерных черт сделана ссылка на следующее описание, которое должно использоваться в сочетании с прилагаемыми чертежами, где:[35] For a better understanding of this technical solution, as well as its other aspects and characteristics, reference is made to the following description, which should be used in combination with the accompanying drawings, where:
[36] На Фиг. 1 представлена диаграмма компьютерной системы, которая подходит для реализации настоящей технологии, и/или которая используется в сочетании с вариантами осуществления настоящей технологи.[36] In FIG. 1 is a diagram of a computer system that is suitable for implementing the present technology and / or which is used in combination with embodiments of the present technology.
[37] На Фиг. 2 представлено схематическое изображение обработки поисковых запросов из множества поисковых запросов модулем обработки, в некоторых вариантах осуществления настоящего технического решения, для вычисления, среди прочего, набора нормализованных запросов.[37] In FIG. 2 is a schematic representation of the processing of search queries from a plurality of search queries by a processing module, in some embodiments of the present technical solution, for calculating, among other things, a set of normalized queries.
[38] На Фиг. 3 представлено множество поисковых запросов, которое хранится в базе данных поисковых запросов, как описано в некоторых вариантах осуществления настоящего технического решения.[38] In FIG. 3 presents a variety of search queries that are stored in a database of search queries, as described in some embodiments of the present technical solution.
[39] На Фиг. 4 представлен набор нормализованных запросов и связей между нормализованными запросами и соответственными связанными поисковыми запросами, как показано в некоторых вариантах осуществления настоящего технического решения.[39] In FIG. 4 presents a set of normalized queries and links between normalized queries and related related search queries, as shown in some embodiments of the present technical solution.
[40] На Фиг. 5 представлено схематическое изображение обработки нормализованных запросов из набора нормализованных запросов модулем обработки, в некоторых вариантах осуществления настоящего технического решения, для вычисления, среди прочего, набора обобщенных запросов.[40] In FIG. 5 is a schematic representation of the processing of normalized queries from a set of normalized queries by a processing module, in some embodiments of the present technical solution, for calculating, among other things, a set of generalized queries.
[41] На Фиг. 6 представлен набор обобщенных запросов и связей между обобщенными запросами и соответственными связанными нормализованными запросами, созданными модулем обработки и хранящимися в базе данных обработки, как показано в некоторых вариантах осуществления настоящего технического решения.[41] In FIG. 6 presents a set of generalized queries and relationships between generalized queries and the corresponding related normalized queries created by the processing module and stored in the processing database, as shown in some embodiments of the present technical solution.
[42] На Фиг. 7 представлено схематическое изображение обработки обобщенных запросов и нормализованных запросов модулем обработки, в некоторых вариантах осуществления настоящего технического решения, для компиляции индексной структуры.[42] In FIG. 7 is a schematic representation of the processing of generalized queries and normalized queries by the processing module, in some embodiments of the present technical solution, for compiling the index structure.
[43] На Фиг. 8 представлена индексная структура, включающая в себя набор логических деревьев, который хранится в индексной базе данных, как описано в некоторых вариантах осуществления настоящего технического решения.[43] In FIG. 8 shows an index structure including a set of logical trees that is stored in an index database, as described in some embodiments of the present technical solution.
[44] На Фиг. 9 представлена блок-схема способа обработки поисковых запросов, который выполняется сервером в некоторых вариантах осуществления настоящего технического решения.[44] In FIG. 9 is a flowchart of a search query processing method that is performed by a server in some embodiments of the present technical solution.
[45] Также следует отметить, что чертежи выполнены не в масштабе, если не специально указано иное.[45] It should also be noted that the drawings are not to scale, unless specifically indicated otherwise.
ОСУЩЕСТВЛЕНИЕIMPLEMENTATION
[46] Все примеры и используемые здесь условные конструкции предназначены, главным образом, для того, чтобы помочь читателю понять принципы настоящей технологии, а не для установления границ ее объема. Следует также отметить, что специалисты в данной области техники могут разработать различные схемы, отдельно не описанные и не показанные здесь, но которые, тем не менее, воплощают собой принципы настоящей технологии и находятся в границах ее объема.[46] All examples and conditional constructions used here are intended primarily to help the reader understand the principles of this technology, and not to establish the boundaries of its scope. It should also be noted that specialists in this field of technology can develop various schemes that are not separately described and not shown here, but which, however, embody the principles of this technology and are within its scope.
[47] Кроме того, для ясности в понимании, следующее описание касается достаточно упрощенных вариантов осуществления настоящей технологии. Как будет понятно специалисту в данной области техники, многие варианты осуществления настоящего технического решения будут обладать гораздо большей сложностью.[47] In addition, for clarity of understanding, the following description relates to fairly simplified embodiments of the present technology. As will be clear to a person skilled in the art, many embodiments of the present technical solution will have much greater complexity.
[48] Некоторые полезные примеры модификаций настоящей технологии также могут быть охвачены нижеследующим описанием. Целью этого является также исключительно помощь в понимании, а не определение объема и границ настоящего технического решения. Эти модификации не представляют собой исчерпывающего списка, и специалисты в данной области техники могут создавать другие модификации, остающиеся в границах объема настоящей технологии. Кроме того, те случаи, где не были представлены примеры модификаций, не должны интерпретироваться как то, что никакие модификации невозможны, и/или что то, что было описано, является единственным вариантом осуществления этого элемента настоящей технологии.[48] Some useful examples of modifications to the present technology may also be covered by the following description. The purpose of this is also solely assistance in understanding, and not determining the scope and boundaries of this technical solution. These modifications are not an exhaustive list, and those skilled in the art can create other modifications that remain within the scope of this technology. In addition, those cases where examples of modifications were not presented should not be interpreted as the fact that no modifications are possible, and / or that what has been described is the only embodiment of this element of the present technology.
[49] Более того, все заявленные здесь принципы, аспекты и варианты осуществления настоящей технологии, равно как и конкретные их примеры, предназначены для обозначения их структурных и функциональных основ, вне зависимости от того, известны ли они на данный момент или будут разработаны в будущем. Таким образом, например, специалистами в данной области техники будет очевидно, что представленные здесь блок-схемы представляют собой концептуальные иллюстративные схемы, отражающие принципы настоящей технологии. Аналогично, любые блок-схемы, диаграммы, псевдокоды и т.п. представляют собой различные процессы, которые могут быть представлены на машиночитаемом носителе и, таким образом, использоваться компьютером или процессором, вне зависимости от того, показан явно подобный компьютер или процессор, или нет.[49] Moreover, all the principles, aspects and options for the implementation of this technology, as well as their specific examples, are intended to indicate their structural and functional foundations, regardless of whether they are currently known or will be developed in the future. . Thus, for example, it will be apparent to those skilled in the art that the block diagrams presented here are conceptual illustrative diagrams that reflect the principles of the present technology. Similarly, any flowcharts, diagrams, pseudo codes, etc. are various processes that can be represented on a computer-readable medium and thus be used by a computer or processor, regardless of whether an explicitly similar computer or processor is shown or not.
[50] Функции различных элементов, показанных на фигурах, включая функциональный блок, обозначенный как «процессор» или «графический процессор», могут быть обеспечены с помощью специализированного аппаратного обеспечения или же аппаратного обеспечения, способного использовать подходящее программное обеспечение. Когда речь идет о процессоре, функции могут обеспечиваться одним специализированным процессором, одним общим процессором или множеством индивидуальных процессоров, причем некоторые из них могут являться общими. В некоторых вариантах осуществления настоящей технологии процессор может являться универсальным процессором, например, центральным процессором (CPU) или специализированным для конкретной цели процессором, например, графическим процессором (GPU). Более того, использование термина "процессор" или "контроллер" не должно подразумевать исключительно аппаратное обеспечение, способное поддерживать работу программного обеспечения, и может включать в себя, без установления ограничений, цифровой сигнальный процессор (DSP), сетевой процессор, интегральная схема специального назначения (ASIC), программируемую пользователем вентильную матрицу (FPGA), постоянное запоминающее устройство (ПЗУ) для хранения программного обеспечения, оперативное запоминающее устройство (ОЗУ) и энергонезависимое запоминающее устройство. Также может быть включено другое аппаратное обеспечение, обычное и/или специальное.[50] The functions of the various elements shown in the figures, including a function block designated as “processor” or “graphics processor”, can be provided using specialized hardware or hardware capable of using suitable software. When it comes to a processor, functions can be provided by one specialized processor, one common processor or many 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 processor specialized for a specific purpose, such as a graphics processing unit (GPU). Moreover, the use of the term “processor” or “controller” should not imply exclusively hardware capable of supporting the operation of the software, and may include, without limitation, a digital signal processor (DSP), a network processor, a special purpose integrated circuit ( ASIC), Field Programmable Gate Array (FPGA), read-only memory (ROM) for storing software, random access memory (RAM) and non-volatile memory minal device. Other hardware may also be included, conventional and / or special.
[51] Программные модули или простые модули, представляющие собой программное обеспечение, которое может быть использовано здесь в комбинации с элементами блок-схемы или другими элементами, которые указывают на выполнение этапов процесса и/или текстовое описание. Подобные модели могут быть выполнены на аппаратном обеспечении, показанном напрямую или косвенно.[51] Software modules or simple modules, which are software that can be used here in combination with flowchart elements or other elements that indicate the execution of process steps and / or text description. Similar models can be performed on hardware shown directly or indirectly.
[52] С учетом этих примечаний, далее будут рассмотрены некоторые не ограничивающие варианты осуществления аспектов настоящей технологии.[52] Based on these notes, some non-limiting embodiments of aspects of the present technology will be discussed below.
[53] На Фиг. 1 представлена система 100, подходящая для использования с некоторыми вариантами осуществления настоящей технологии. Система 100 может содержать, среди прочего, клиентское устройство 104, сеть 106, сервер 108 и ресурсы 180 целевого содержимого.[53] In FIG. 1 illustrates a
[54] Варианты осуществления клиентского устройства 104 никак конкретно не ограничены, но, в качестве примера, клиентское устройство 104 может взаимодействовать с сервером 108, путем передачи/получения данных серверу 108/от сервера 108. Клиентское устройство 104 может, например, в качестве не ограничивающего примера, представлять собой настольный компьютер, ноутбук, смартфон (например, Apple iPhone™ or a Samsung Galaxy S5™), персональный цифровой органайзер (PDA) или другое устройство, включающее в себя функциональность вычисления и возможности передачи данных. Клиентское устройство 104 может включать в себя, среди прочего, внутренние аппаратные компоненты, включая один или несколько одно- или мультиядерных процессоров, которые коллективно представлены здесь как процессор (не показан), ОЗУ (не показано), сетевой интерфейс (не показано) для связи с сервером 108.[54] Embodiments of the
[55] Клиентское устройство 104 связано с пользователем 102, который может взаимодействовать с клиентским устройством 104. В некоторых вариантах осуществления настоящего технического решения, клиентское устройство 104 может быть выполнено с возможностью выполнять браузерное приложение (не показано). В общем случае, задачей браузерного приложения является предоставление пользователю 102 доступа к одному или нескольким веб-ресурсам. Реализация браузерного приложения никак конкретно не ограничена. Например, браузерное приложение 104 может быть реализовано как Яндекс™ браузер. Несмотря на то, что клиентское устройство 104 связано с пользователем 102, эта связь не требует от пользователя 102 авторизации или чего-либо подобного.[55] The
[56] Клиентское устройство 104 соединено с сетью 106 через сети передачи данных (не пронумерована). В некоторых вариантах осуществления настоящего технического решения, сеть 106 может быть реализована как Интернет. В других вариантах осуществления настоящей технологии сеть 106 может быть реализована иначе - в виде глобальной сети передачи данных, локальной сети передачи данных, частной сети передачи данных и т.п.[56]
[57] Реализация линии передачи данных не ограничена и будет зависеть от того, какое клиентское устройство 104 используется. В качестве примера (но не ограничения) в данных вариантах осуществления настоящей технологии в случаях, когда клиентское устройство 104 представляет собой беспроводное устройство связи (например, смартфон), линия передачи данных представляет собой беспроводную сеть передачи данных (например, среди прочего, линию передачи данных 3G, линию передачи данных 4G, беспроводной интернет Wireless Fidelity или WiFi®, Bluetooth® и т.п.). В тех примерах, где клиентское клиентское устройство 104 представляет собой портативный компьютер, линия передачи данных может быть как беспроводной (беспроводной интернет Wireless Fidelity или WiFi®, Bluetooth® и т.п) так и проводной (соединение на основе сети Ethernet).[57] The implementation of the data link is not limited and will depend on which
[58] Важно иметь в виду, что варианты реализации клиентского устройства 104, линии передачи данных и сети 106 приведены исключительно для наглядности. Таким образом, специалисты в данной области техники смогут понять подробности других конкретных вариантов осуществления клиентского устройства 104, линии передачи данных и сети 106. То есть, представленные здесь примеры не ограничивают объем настоящего технического решения.[58] It is important to keep in mind that the implementations of
[59] Также с сетью 106 соединен сервер 108, на котором может быть расположен сервис поисковой системы для обработки поисковых запросов, связанных с одним или несколькими пользователями (например, пользователем 102). Сервер 108 может представлять собой обычный компьютерный сервер. В примере варианта осуществления настоящей технологии, сервер 108 может представлять собой сервер Dell™ PowerEdge™, на котором используется операционная система Microsoft™ Windows Server™. Излишне говорить, что сервер 108 может представлять собой любое другое подходящее аппаратное и/или прикладное программное, и/или системное программное обеспечение или их комбинацию. В представленном варианте осуществления настоящего технического решения, не ограничивающем ее объем, сервер 108 является одиночным сервером. В других вариантах осуществления настоящего технического решения, не ограничивающих ее объем, функциональность сервера 108 может быть разделена, и может выполняться с помощью нескольких серверов.[59] Also connected to the
[60] Варианты осуществления сервера 108 широко известны среди специалистов в данной области техники. Тем не менее, вкратце: сервер 108 содержит интерфейс связи (не показан), который настроен и выполнен с возможностью устанавливать соединение с различными элементами (например, клиентским устройством 180 и другими устройствами, потенциально соединенными с сетью 106) через сеть 106.[60] Embodiments of the
[61] Как было упомянуто ранее, сервер 108 может реализовать сервис поисковой системы. В общем случае, сервис поисковой системы находится под контролем и/или управлением поставщика поисковой системы (не показан), такого, например, как оператор поисковой системы Yandex™. Таким образом, поисковая система сервера 108 может быть выполнена с возможностью производить один или несколько поисков в ответ на поисковые запросы, которые введены пользователем 102 и/или потенциальными пользователями сервиса поисковой системы. Сервис поисковой системы сервера 108 также выполнен с возможностью передавать клиентскому устройству 104 набор результатов поиска, который будет отображаться пользователю 102, связанный с поисковыми запросами, которые были введены пользователем 102.[61] As mentioned previously, the
[62] С сетью 106 передачи данных также соединены ресурсы 180 целевого содержимого. В общем случае, ресурсы 180 целевого содержимого управляются множеством поставщиков целевого содержимого, которые продвигают продукты и/или услуги. В другом примере, ресурсы 180 целевого содержимого могут предоставлять поисковой системе, которая расположена на сервере 108, данные целевого содержимого, которые включают в себя: (i) данные, связанные с множеством рекламных объявлений, продвигающих продукты и/или услуги, например, изображения, видео, текст или другие данные, (ii) поисковые фразы, связанные соответственно с каждым рекламным объявлением во множестве рекламных объявлений для установления соответствия рекламных объявлений с поисковыми запросами, введенными в сервис поисковой системы пользователем 102 и/или другими потенциальными пользователями сервиса поисковой системы и (iii) цены, предлагаемые соответствующим поставщиком целевого содержимого из множества поставщиков целевого содержимого, для отображения их рекламных объявлений пользователю 102 и/или другим потенциальным пользователям сервиса поисковой системы.[62]
[63] Аналогично серверу 108, ресурсы 180 целевого содержимого могут быть реализованы как обычные компьютерные серверы. В примере варианта осуществления настоящего технического решения, ресурсы 180 целевого содержимого могут представлять собой сервер Dell™ PowerEdge™, на котором используется операционная система Microsoft™ Windows Server™. Излишне говорить, что ресурсы 180 целевого содержимого могут представлять собой любое другое подходящее аппаратное и/или прикладное программное, и/или системное программное обеспечение или их комбинацию. В других вариантах осуществления технического решения, ресурсы 180 целевого содержимого могут быть реализованы как веб-сайты, соответственно связанные со множеством поставщиков целевого содержимого и расположенные на соответствующей обычной серверной системе.[63] Like
[64] В других вариантах осуществления технического решения, ресурсы 180 целевого содержимого могут предоставлять серверу 108 данные целевого содержимого для продвижения продуктов и/или услуг. Например, ресурсы 180 целевого содержимого могут передавать серверу 108 через сеть 106 первый пакет 194 данных. Первый пакет 194 данных может содержать данные целевого содержимого. В ответ на получение первого пакета 194 данных, сервер 108 может быть выполнен с возможностью сохранять данные целевого содержимого в базе 150 данных целевого содержимого.[64] In other embodiments of the technical solution,
[65] В некоторых вариантах осуществления настоящего технического решения, сервер 108 может быть соединен и/или функционально соединен с базой 120 данных лексем, базой 130 данных синонимов, базой 140 данных поисковых запросов, базой 150 данных целевого содержимого, базой 160 данных обработки и индексной базой 170 данных. Несмотря на то, что база 120 данных лексем, база 130 данных синонимов, база 140 данных поисковых запросов, база 150 данных целевого содержимого, база 160 данных обработки и индексная база 170 данных схематично представлены в распределенном виде для простоты иллюстрации, считается, что некоторые или все из базы 120 данных лексем, базы 130 данных синонимов, базы 140 данных поисковых запросов, базы 150 данных целевого содержимого, базы 160 данных обработки и индексной базы 170 данных могут быть реализованы как единый элемент. Функциональности каждой из базы 120 данных лексем, базы 130 данных синонимов, базы 140 данных поисковых запросов, базы 150 данных целевого содержимого, базы 160 данных обработки и индексной базы 170 данных, а также данные и/или информация, которые на них хранятся, будут описаны далее.[65] In some embodiments of the present technical solution, the
[66] База 120 данных лексем может быть выполнена с возможностью хранить данные, связанные с лексемами и соответственно связанными словоизмененными парадигмами. В общем случае, из-за грамматических правил различных языков, данная лексема может быть связана с набором данных словоизмененных парадигм. Например, если данная лексема представляет собой "ride", то набор словоизмененных парадигм может включать в себя данные словоизмененные парадигмы: "riding", "ridden", "rode" и так далее. В другом примере, если данная лексема представляет собой "sing", то набор словоизмененных парадигм может включат в себя данные словоизмененные парадигмы: "singing", "sang", "sung" и так далее. База 120 данных лексем может включать в себя данные, относящиеся к тысячам лексем, и соответственно связанным словоизмененным парадигмам. Следует отметить, что для примера и для простоты понимания были использованы данные лексемы и соответственно связанные словоизмененные парадигмы английской грамматики, но лексемы и соответственно связанные словоизмененные парадигмы других грамматик (например, русской, французской, немецкой, испанской и так далее) также могут быть представлены в некоторых вариантах, не выходя на границы настоящего технического решения.[66]
[67] В некоторых вариантах осуществления настоящего технического решения, база 130 данных синонимов может быть доступна серверу 108. База 130 данных синонимов может быть выполнена с возможностью хранить данные, связанные со словами и соответственно связанными синонимами. В общем случае, синоним представляет собой слово, обладающее тем же или схожим значением, что и другое слово. Например, в английском языке слова "happy" и "joyful" являются синонимами слова "elated". База 130 данных синонимов может включать в себя данные, относящиеся к большому числу синонимов, связанных соответствующими словами, для которых они являются синонимами. В другом варианте, база 130 данных синонимов может включать в себя данные, связанные со словами и их соответствующими синонимами в других языках, например, русском, французском, немецком, испанском и так далее.[67] In some embodiments of the present technical solution, the
[68] В некоторых вариантах осуществления технического решения, каждый синоним в базе 130 данных синонимов может быть связан с указанием популярности их в данном языке. Например, слова "buy", "purchase", "acquire" и "procure" могут быть включены в набор синонимов в базе 130 данных синонимов, и указание на популярность каждого синонима среди слов "buy", "purchase", "acquire" и "procure" может указывать на то, что слово "buy" является наиболее популярным синонимом и/или наиболее часто используемым синонимом и/или основным синонимом в английском языке, среди "buy", "purchase", "acquire" и "procure".[68] In some embodiments of the technical solution, each synonym in the
[69] В некоторых вариантах осуществления технического решения, сервер 108 может быть выполнен с возможностью использования информации из истории, собранной из большого числа предыдущих поисковых запросов, которые могут храниться в базе 140 данных поисковых запросов. База 140 данных поисковых запросов, показанная на Фиг. 1, может быть доступна серверу 108. База 140 данных поисковых запросов может быть выполнена с возможностью хранить данные, связанные с поисковыми запросами, которые были введены пользователем 102 и/или другими потенциальными пользователями сервиса поисковой системы в поисковую систему, размещенную на сервере 108. Следует отметить, что поисковые запросы, введенные в сервис поисковой системы, реализованный сервером 108, могут быть реализованы на других языках, отличных от английского.[69] In some embodiments of the technical solution,
[70] Способ сохранения данных, связанных с поисковыми запросами, а также способ их сбора и/или предоставления сервером 108/серверу 108 никак конкретно не ограничиваются, и только в качестве примера, данные, связанные с поисковыми запросами, которые хранятся в базе 140 данных поисковых запросов, могут быть получены сервером 108 через сеть 106 от клиентского устройства 104 и/или других потенциальных клиентских устройств, связанных с другими потенциальными пользователями сервиса поисковой системы, реализованного сервером 108.[70] The method of storing data related to search queries, as well as the method of collecting and / or providing them by
[71] Как было упомянуто ранее, сервер 108 может сохранять данные целевого содержимого в базе 150 данных целевого содержимого. В некоторых вариантах осуществления технического решения, сервер 108 может быть выполнен с возможностью запрашивать и получать данные целевого содержимого от ресурсов 180 целевого содержимого. В других вариантах осуществления технического решения, ресурсы 180 целевого содержимого могут быть выполнены с возможностью передавать данные целевого содержимого серверу 108 без инициирования сервером 108 запроса. Сервер 108 может быть выполнен с возможностью получать первый пакет 194 данных, который включает в себя данные целевого содержимого, и сохранять данные целевого содержимого в базе 150 данных целевого содержимого.[71] As mentioned previously, the
[72] Например, данные целевого содержимого могут относиться к множеству рекламных объявлений, продвигающих продукты и/или услуги. Данное рекламное объявление из множества рекламных объявлений может быть связано с данной поисковой фразой для установления соответствия данного рекламного объявления и данного текущего поискового запроса, введенного в сервис поисковой системы, например, пользователем 102. Данное рекламное объявление может быть связано с данной ценой, предложенной данным поставщиком целевого содержимого, относящегося к данному рекламному объявлению, для отображения данного рекламного объявления пользователю 102 в ответ на соответствие между данных текущим поисковым запросом и данной поисковой фразой, связанной с данным рекламным объявлением.[72] For example, target content data may relate to a variety of advertisements promoting products and / or services. A given advertisement from a plurality of advertisements may be associated with a given search phrase to establish the correspondence of this advertisement and this current search query entered into a search engine service, for example, by
[73] В некоторых вариантах осуществления настоящего технического решения, сервер 108 может обладать доступом к базе 160 данных обработки. База 160 данных обработки может быть выполнена с возможностью сохранять различные типы данных. В общем случае, база 160 данных обработки может сохранять данные, связанные с обработкой поисковых запросов, поисковых фраз, лексем и синонимов сервером 108. Обработка поисковых запросов, поисковых фраз, лексем и синонимов сервером 108 будет описана далее и, следовательно, функциональности базы 160 данных обработки будут понятны специалистам в данной области техники.[73] In some embodiments of the present technical solution,
[74] В некоторых вариантах осуществления настоящего технического решения, сервер 108 может далее обладать доступом к индексной базе 170 данных. Индексная база 170 данных может включать в себя индексную структуру 706 (показано на Фиг. 8), которая показана в некоторых вариантах осуществления настоящего технического решения. Индексная структура 706 может быть описана и сохранена сервером 108 в индексной базе 170 данных на основе обработки поисковых запросов, поисковых фраз, лексем и синонимов. То, как именно сервер 108 может компилировать индексные структуры, будет подробнее описано далее.[74] In some embodiments of the present technical solution, the
[75] В некоторых вариантах осуществления настоящего технического решения, сервер 108 может быть выполнен с возможностью обрабатывать поисковые запросы. Для этого сервер 108 может реализовать модуль 110 обработки и модуль 112 создания индекса. Модуль 110 обработки и модуль 112 создания индекса могут представлять собой устройство или множество модулей, выполненных с использованием аппаратного обеспечения, например, с помощью, например, интегральной схемы специального назначения (ASIC) или программируемой логической интегральной схемы (FPGA), или же комбинации аппаратного и программного обеспечения, например, с помощью микропроцессорной системы и набора инструкций, реализующих функционал модуля, которые (при выполнении) трансформируют микропроцессорную систему в устройство специального назначения. Модуль 110 обработки и модуль 112 создания индекса также могут быть реализованы в виде комбинации обоих, причем некоторые конкретные функций реализуются за счет аппаратного обеспечения, а другие функции реализуются комбинацией аппаратного и программного обеспечения.[75] In some embodiments of the present technical solution, the
[76] В других вариантах осуществления технического решения, модуль 110 обработки и модуль 112 создания индекса могут также быть реализованы в программном обеспечении для выполнения различных типов процессоров. Любой из модуля 110 обработки и модуля 112 создания индекса может, например, включать в себя один или несколько физических или логических блоков компьютерных инструкций, которые могут, например, быть организованы как объект, процедура или функция. Тем не менее, исполняемые файлы данного модуля не обязательно должны быть расположены вместе, а могут состоять из разрозненных инструкций, хранящихся в различных местах, которые, в случае их логического соединения, представляют собой данный модуль и достигают целей, заявленных для данного модуля. Следует отметить, что в других вариантах осуществления настоящего технического решения, модуль 110 обработки и модуль 112 создания индекса могут быть реализованы сервером 108 как единый элемент.[76] In other embodiments of the technical solution, the
[77] В дополнительных вариантах осуществления технического решения, модуль 110 обработки и модуль 112 создания индекса не обязаны быть реализованы одинаковыми способами. Например, модуль 110 обработки может быть реализован как программный модуль, а модуль 112 создания индекса может быть реализован как комбинация аппаратного и/или программного обеспечения или наоборот. Функциональности модуля 110 обработки и модуля 112 создания индекса будут более подробно описаны далее, и по меньшей мере некоторые их преимущества станут поняты специалистам в данной области техники.[77] In further embodiments of the technical solution, the
[78] В некоторых вариантах осуществления настоящего технического решения, сервер 108 может быть выполнен с возможностью получать множество поисковых запросов 300 (показано на Фиг. 3), введенных в поисковую систему, размещенную на сервере 108. Множество поисковых запросов 300 может включать в себя сотни или тысячи или даже миллионы поисковых запросов, которые были введены в поисковую систему. Например, модуль 110 обработки сервера 108 может получать множество поисковых запросов 300 из базы 140 данных поисковых запросов через путь 202 данных, показанный на Фиг. 2.[78] In some embodiments of the present technical solution, the
[79] Модуль 110 обработки может быть выполнен с возможностью подвергать синтаксическому анализу (парсингу) каждый поисковый запрос из множества поисковых запросов 300 для идентификации значимых слов, содержащихся в каждом поисковом запросе из множества поисковых запросов 300. В некоторых вариантах осуществления технического решения, все слова в данном поисковом запросе, за исключением предлогов, например, "a", "the", "with", "for" и тому подобного, могут быть значимыми словами данного поискового запроса. То, как именно значимые слова из каждого поискового запроса идентифицируются, будет понятно специалисту в данной области техники с учетом следующих примеров.[79]
[80] На Фиг. 3 представлен первый поисковый запрос (SQ1), второй поисковый запрос (SQ2), третий поисковый запрос (SQ3), четвертый поисковый запрос (SQ4), пятый поисковый запрос (SQ5), шестой поисковый запрос (SQ6), седьмой поисковый запрос (SQ7), восьмой поисковый запрос (SQ8), девятый поисковый запрос (SQ9) и десятый поисковый запрос (SQ10) Важно иметь в виду, что многие другие поисковые запросы могут подвергаться парсингу модулем 110 обработки в других вариантах осуществления настоящего технического решения, и что поисковые запросы SQ1, SQ2, SQ3, SQ4, SQ5, SQ6, SQ7, SQ8, SQ9 и SQ10 представлены только для облегчения понимания.[80] In FIG. 3 presents the first search query (SQ1), the second search query (SQ2), the third search query (SQ3), the fourth search query (SQ4), the fifth search query (SQ5), the sixth search query (SQ6), the seventh search query (SQ7) , the eighth search query (SQ8), the ninth search query (SQ9) and the tenth search query (SQ10) It is important to keep in mind that many other search queries can be parsed by the
[81] Например, модуль 110 обработки может подвергать парсингу поисковый запрос SQ1 для идентификации значимых слов: "buying", "car" и "Moscow". Модуль 110 обработки может подвергать парсингу поисковый запрос SQ2 для идентификации значимых слов: "bought", "car" и "Moscow". Модуль 110 обработки может подвергать парсингу поисковый запрос SQ3 для идентификации значимых слов: "buying", "vehicles" и "Moscow". Модуль 110 обработки может подвергать парсингу поисковый запрос SQ4 для идентификации значимых слов: "purchasing", "automobiles" и "Moscow". Модуль 110 обработки может подвергать парсингу поисковый запрос SQ5 для идентификации значимых слов: "purchased", "cars" и "Montreal". Модуль 110 обработки может подвергать парсингу поисковый запрос SQ6 для идентификации значимых слов: "buying", "car" и "Montreal". Модуль 110 обработки может подвергать парсингу поисковый запрос SQ7 для идентификации значимых слов: "purchasing" и "fridge". Модуль 110 обработки может подвергать парсингу поисковый запрос SQ8 для идентификации значимых слов: "buying", "fridge" и "Paris". Модуль 110 обработки может подвергать парсингу поисковый запрос SQ9 для идентификации значимых слов: "selling", "car" и "Berlin". Модуль 110 обработки может подвергать парсингу поисковый запрос SQ10 для идентификации значимых слов: "sold" и "car".[81] For example,
[82] В других вариантах осуществления технического решения, модуль 110 обработки может быть выполнен с возможностью получать набор лексем, связанных со значимыми словами, идентифицированными со множеством поисковых запросов 300. Например, набор лексем может быть получен из базы 120 данных лексем через путь 204 данных, показанный на Фиг. 2. В этом случае, набор лексем может включать в себя лексемы, связанные со значимыми словами (например, словоизмененными парадигмами): "buying", "car", "Moscow", "bought", "vehicles", "automobiles", "purchasing", "purchased", "cars", "Montreal", "fridge", "Paris", "selling", "Berlin" и "sold".[82] In other embodiments of the technical solution, the
[83] Например, набор лексем может включать в себя лексему "buy", поскольку она связана со значимыми словами "buying" и "bought", которые представляют собой некоторые из словоизмненных парадигм лексемы "buy". Набор лексем может включать в себя лексему "car", поскольку она связана со значимыми словами "car" и "cars". Набор лексем может включать в себя лексему "Moscow", поскольку она связана со значимым словом "Moscow". Набор лексем может включать в себя лексему "vehicle", поскольку она связана со значимым словом "vehicles". Набор лексем может включать в себя лексему "automobile", поскольку она связана со значимым словом "automobiles". Набор лексем может включать в себя лексему "purchase", поскольку она связана со значимыми словами "purchasing" и "purchased". Набор лексем может включать в себя лексему "Montreal", поскольку она связана со значимым словом "Montreal". Набор лексем может включать в себя лексему "Paris", поскольку она связана со значимым словом "Paris". Набор лексем может включать в себя лексему "Berlin", поскольку она связана со значимым словом "Berlin". Набор лексем может включать в себя лексему "fridge", поскольку она связана со значимым словом "fridge". Набор лексем может включать в себя лексему "sell", поскольку она связана со значимыми словами "selling" и "sold".[83] For example, a set of tokens may include a buy token, because it is associated with the meaningful words “buying” and “bought”, which are some of the word-wise paradigms of the token “buy”. The set of tokens may include the token "car", since it is associated with the meaningful words "car" and "cars". The set of tokens may include the token "Moscow", since it is associated with the meaningful word "Moscow". The token set may include the vehicle token, as it is associated with the meaningful word vehicles. The token set may include the word “automobile”, as it is associated with the meaningful word “automobiles”. A set of tokens may include the token "purchase", since it is associated with the meaningful words "purchasing" and "purchased". The token set may include the Montreal token, as it is associated with the meaningful word Montreal. A set of tokens may include the token “Paris” because it is associated with the meaningful word “Paris”. The token set may include the token “Berlin”, as it is associated with the meaningful word “Berlin”. The token set may include the fridge token, as it is associated with the meaningful word fridge. A set of tokens may include a sell token, as it is associated with the meaningful words selling and sold.
[84] В других вариантах осуществления настоящего технического решения, модуль 110 обработки может быть выполнен с возможностью вычислять данные 206 нормализованного запроса на основе поисковых запросов из множества поисковых запросов 300 и лексем из набора лексем. Далее, модуль 110 обработки может быть выполнен с возможностью сохранять данные 206 нормализованного запроса в базе 160 данных обработки. Например, модуль 110 обработки может передавать данные 206 нормализованного запроса базе 160 данных обработки через путь 208 данных. Данные 206 нормализованного запроса будут далее описаны со ссылкой на Фиг. 4.[84] In other embodiments of the present technical solution,
[85] На Фиг. 4 представлены данные 206 нормализованного запроса, которые включают в себя: множество поисковых запросов 300, связи 404 нормализации, нормализованные счетчики 402 частот и набор нормализованных запросов 400. Модуль 110 обработки может создавать набор нормализованных запросов 400, который включает в себя первый нормализованный запрос (NQ1), второй нормализованный запрос (NQ2), третий нормализованный запрос (NQ4), четвертый нормализованный запрос (NQ5), шестой нормализованный запрос (NQ6), седьмой нормализованный запрос (NQ7), восьмой нормализованный запрос (NQ8) и девятый нормализованный запрос (NQ9).[85] In FIG. 4 presents normalized
[86] В общем случае, вычисление набора нормализованных запросов 400 модулем 110 обработки может включать в себя, для каждого поискового запроса из множества поисковых запросов, (i) определение соответствующей лексемы для каждого значимого слова в данном поисковом запросе и (ii) создание данного нормализованного запроса, связанного с данным поисковым запросом, причем данный нормализованный запрос включает в себя соответствующие лексемы каждого значимого слова в данном поисковом запросе.[86] In general, computing a set of normalized
[87] Например, модуль 110 обработки может создавать NQ1 на основе SQ1 и лексем в наборе лексем. Поскольку SQ1 представляет собой "buying a car in Moscow", модуль 110 обработки идентифицирует в SQ1 с помощью парсинга, значимые слова "buying", "car" и "Moscow". В результате, модуль 110 обработки может создавать NQ1 с помощью амальгамирования соответствующих лексем значимых слов, идентифицированных в SQL Следовательно, модуль 110 обработки может создавать NQ1 в виде: "buy" "car" "Moscow". В другом примере, модуль 110 обработки может создавать NQ1 на основе SQ2 и лексем в наборе лексем. Поскольку SQ2 представляет собой "bought a car in Moscow", модуль 110 обработки идентифицирует в SQ2 с помощью парсинга, значимые слова "bought", "car" и "Moscow". В результате, модуль 110 обработки может создавать NQ1 с помощью амальгамирования соответствующих лексем значимых слов, идентифицированных в SQ2. Следовательно, модуль 110 обработки может создавать NQ1 в виде: "buy" "car" "Moscow".[87] For example,
[88] В некоторых вариантах осуществления технического решения, данный нормализованный запрос может быть связан с данным нормализованным счетчиком частоты, который указывает на ряд поисковых запросов из множества поисковых запросов 300, которые связаны с данным нормализованным запросом. Следовательно, модуль 110 обработки может связывать NQ1 с нормализованным счетчиком частоты «2», поскольку NQ1 может быть связан с двумя отдельными поисковыми запросами, например, SQ1 и SQ2. Связь NQ1 с SQ1 и SQ2 соответственно показана на Фиг. 4 среди других нормализованных связей 404.[88] In some embodiments of the technical solution, a given normalized query may be associated with a given normalized frequency counter, which indicates a series of search queries from a plurality of search queries 300 that are associated with this normalized query. Therefore, the
[89] В другом примере, модуль 110 обработки может создавать NQ2 на основе SQ3 и лексем в наборе лексем. Поскольку SQ3 представляет собой "buying vehicles in Moscow", модуль 110 обработки идентифицирует в SQ3 с помощью парсинга, значимые слова "buying", "vehicles" и "Moscow". В результате, модуль 110 обработки может создавать NQ1 с помощью амальгамирования соответствующих лексем значимых слов, идентифицированных в SQ3. Следовательно, модуль 110 обработки может создавать NQ2 в виде: "buy" "vehicle" "Moscow".[89] In another example,
[90] Модуль 110 обработки может связывать NQ2 с нормализованным счетчиком частоты «1», поскольку NQ2 может быть связан только с одним поисковым запросом из множества поисковых запросов 300, например, SQ3. Связь NQ2 с SQ2 соответственно показана на Фиг. 4 среди других нормализованных связей 404.[90]
[91] Далее, модуль 110 обработки может создавать NQ3, NQ4, NQ5, NQ6, NQ7, NQ8 и NQ9 аналогично тому, как модуль 110 обработки создает NQ2.[91] Further,
[92] В некоторых вариантах осуществления настоящего технического решения, со ссылкой на Фиг. 5, модуль 110 обработки может быть выполнен с возможностью вычислять данные 506 обобщенного запроса. С этой целью, модуль 110 обработки может получать данные 206 нормализованного запроса из базы 160 данных обработки через путь 502 данных и набор синонимов из базы 130 данных синонимов через путь 504 данных. Как было ранее упомянуто, данные 206 нормализованного запроса могут включать в себя, среди прочего, данные, связанные с набором лексем и набором нормализованных запросов 400. В результате, модуль 110 обработки может получать из базы 130 данных синонимов набор синонимов, включающий в себя соответствующие синонимы каждой лексемы из набора лексем. Модуль 110 обработки может быть выполнен с возможностью сохранять данные 506 нормализованного запроса в базе 160 данных обработки. Например, модуль 110 обработки может передавать данные 506 обобщенного запроса базе 160 данных обработки через путь 508 данных. Данные 506 обобщенного запроса будут далее описаны со ссылкой на Фиг. 6.[92] In some embodiments of the present technical solution, with reference to FIG. 5,
[93] На Фиг. 6 представлены данные 506 обобщенного запроса, которые включают в себя: набор нормализованных запросов 400, нормализованные счетчики 602 частот, обобщенные связи 604, обобщенные счетчики 602 частот и набор обобщенных запросов 600. Модуль 110 обработки может выполнять набор обобщенных запросов 600, включая первый обобщенный запрос (GQ1), второй обобщенный запрос (GQ2), третий обобщенный запрос (GQ3), четвертый обобщенный запрос (GQ4), пятый обобщенный запрос (GQ5) и шестой обобщенный запрос (GQ6).[93] In FIG. 6,
[94] В общем случае, вычисление набора обобщенных запросов 600 модулем 110 обработки может включать в себя, для каждого данного нормализованного запроса из набора нормализованных запросов 400, (i) определение соответствующего основного синонима для каждой лексемы в данном поисковом запросе и (ii) создание данного обобщенного запроса, связанного с данным нормализованным запросом, причем данный обобщенный запрос включает в себя соответствующие основные синонимы каждой лексемы в данном нормализованном запросе.[94] In general, the calculation of the set of
[95] Например, модуль 110 обработки может создавать GQ1 на основе NQ1 и синонимов из набора синонимов. Поскольку NQ1 представляет собой "buy" "car" "Moscow", модуль 110 обработки может создавать GQ1 путем амальгамирования соответствующих основных синонимов каждой лексемы в NQ1. Например, основной синоним лексемы "buy" может представлять собой "buy", поскольку среди синонимов слова "buy", "buy" может быть наиболее часто используемым синонимом. В другом примере, основной синоним лексемы "car" может представлять собой "car", поскольку среди синонимов слова "car", "car" может быть наиболее часто используемым синонимом. В другом примере, основной синоним лексемы "Moscow" может представлять собой "Moscow", поскольку среди синонимов слова "Moscow", "Moscow" может быть наиболее часто используемым синонимом. Модуль 110 обработки может определять основной синоним для данной лексемы на основе соответствующего указания на популярность каждого синонима в базе 130 данных синонимов. Следовательно, модуль 110 обработки может создавать GQ1 в виде: "buy" "car" "Moscow".[95] For example,
[96] Далее, модуль 110 обработки может создавать GQ1 на основе NQ2 и синонимов из набора синонимов. Поскольку NQ2 представляет собой "buy" "vehicle" "Moscow", модуль 110 обработки может создавать GQ1 путем амальгамирования соответствующих основных синонимов каждой лексемы в NQ2. В одном примере, основной синоним лексемы "vehicle" может представлять собой "car", поскольку среди синонимов слова "vehicle", "car" может быть наиболее часто используемым синонимом. Следовательно, модуль 110 обработки может создавать GQ1 в виде: "buy" "car" "Moscow".[96] Further,
[97] Кроме того, модуль 110 обработки может создавать GQ1 на основе NQ3 и синонимов из набора синонимов. Поскольку NQ3 представляет собой "purchase" "automobile" "Moscow", модуль 110 обработки может создавать GQ1 путем амальгамирования соответствующих основных синонимов каждой лексемы в NQ3. Например, основной синоним лексемы "purchase" может представлять собой "buy", поскольку среди синонимов слова "purchase", "buy" может быть наиболее часто используемым синонимом. В другом примере, основной синоним лексемы "automobile" может представлять собой "car", поскольку среди синонимов слова "automobile", "car" может быть наиболее часто используемым синонимом. Следовательно, модуль 110 обработки может создавать GQ1 в виде: "buy" "car" "Moscow".[97] In addition,
[98] В некоторых вариантах осуществления технического решения, данный обобщенный запрос может быть связан с данным обобщенным счетчиком частоты, который указывает на ряд нормализованных запросов из набора нормализованных запросов 400, которые связаны с данным обобщенным запросом. Следовательно, модуль 110 обработки может связывать GQ1 с обобщенным счетчиком частоты «3», поскольку GQ1 может быть связан с тремя отдельными нормализованными запросами из набора нормализованных запросов 400, такими как NQ1, NQ2 и NQ3. Связи 610, 620 и 630 запроса GQ1 соответственно с NQ1, NQ2 и NQ3 представлены на Фиг. 6 среди обобщающих связей 604.[98] In some embodiments of the technical solution, a given generalized query may be associated with a given generalized frequency counter that indicates a series of normalized queries from the set of normalized
[99] В дополнительном примере, модуль 110 обработки может создавать GQ2 на основе NQ4 и синонимов из набора синонимов. Поскольку NQ4 представляет собой "purchase" "car" "Montreal", модуль 110 обработки может создавать GQ2 путем амальгамирования соответствующих основных синонимов каждой лексемы в NQ4. Например, основной синоним лексемы "purchase" может представлять собой "buy", поскольку среди синонимов слова "purchase", "buy" может быть наиболее часто используемым синонимом. В другом примере, основной синоним лексемы "car" может представлять собой "car", поскольку среди синонимов слова "car", "car" может быть наиболее часто используемым синонимом. В другом примере, основной синоним лексемы "Montreal" может представлять собой "Montreal", поскольку среди синонимов слова "Montreal", "Montreal" может быть наиболее часто используемым синонимом. Следовательно, модуль 110 обработки может создавать GQ1 в виде: "buy" "car" "Montreal". Аналогично, модуль 110 обработки может создавать GQ2 на основе NQ5 и синонимов из набора синонимов.[99] In a further example,
[100] Следовательно, модуль 110 обработки может связывать GQ2 с обобщенным счетчиком частоты «2», поскольку GQ2 может быть связан с двумя отдельными нормализованными запросами из множества нормализованных запросов 400, например, NQ4 и NQ5. Связи 610, 640 и 650 запроса GQ2 соответственно с NQ4 и NQ5 представлены на Фиг. 6 среди обобщающих связей 604.[100] Therefore, the
[101] Далее, модуль 110 обработки может создавать GQ3, GQ4, GQ5 и GQ6 аналогично тому, как модуль 110 обработки создает GQ1 и/или GQ2. Связь 660 GQ3 с NQ6, связь 670 GQ4 с NQ7, связь 680 GQ5 с NQ8 и связь 690 GQ6 с NQ9 представлены на Фиг. 6 среди обобщающих связей 604.[101] Further, the
[102] В некоторых вариантах осуществления настоящего технического решения, со ссылкой на Фиг. 7, сервер 108 может быть выполнен с возможностью компилировать индексную структуру 706. С этой целью, модуль 112 создания индекса может получать данные 506 обобщенного запроса из базы 160 данных обработки через путь 702 данных. Как было упомянуто ранее, данные 506 обобщенного запроса могут включать в себя набор нормализованных запросов 400, нормализованные счетчики 402 частот, обобщенные связи 604, обобщенные счетчики 602 частот и набор обобщенных запросов 600. Модуль 112 создания индекса может также быть выполнен с возможностью сохранять индексную структуру 706 в индексной базе 170 данных. Например, модуль 112 создания индекса может передавать индексную структуру 706 индексной базе 170 данных через путь 708 данных. Индексная структура 706 будет далее описано со ссылкой на Фиг. 8.[102] In some embodiments of the present technical solution, with reference to FIG. 7,
[103] На Фиг. 8 представлена индексная структура 706, которая включает в себя, среди прочего, набор логических деревьев 808. Модуль 112 создания индекса может включать в себя первое логическое дерево 802, второе логическое дерево 804 и другое логическое дерево 806, причем каждое логическое дерево из набора логических деревьев 808 может представлять собой по меньшей мере один обобщенный запрос, связанный по меньшей мере с одним соответствующим нормализованным запросом. Следует отметить, что в других вариантах осуществления технического решения, индексная структура 706 может включать в себя другие структуры, отличные от логических деревьев, представленных на Фиг. 8. Другими словами, индексная структура 706 может представлять собой любую другую индексную структуру, не выходя за границы настоящего технического решения.[103] In FIG. 8 illustrates an
[104] В общем случае, модуль 112 создания индекса компилирует индексную структуру 706 и может включать в себя вычисление набора логических деревьев 808 для индексирования набора обобщенных запросов 600, связанных с набором нормализованных запросов 400. Как было упомянуто выше, каждое логическое дерево в наборе логических деревьев 808 может представлять собой по меньшей мере один обобщенный запрос, связанный по меньшей мере с одним соответствующим нормализованным запросом.[104] In general, the
[105] В некоторых вариантах осуществления технического решения, модуль 112 создания индекса может вычислять первое логическое дерево 802 на основе по меньшей мере одного обобщенного запроса (т.е., в этом случае по меньшей мере один обобщенный запрос представляет собой GQ1, GQ2, GQ3 и GQ4), связанного по меньшей мере с одним соответствующим нормализованным запросом (т.е. в этом случае по меньшей мере один соответствующий нормализованный запрос представляет собой NQ1, NQ2, NQ3, NQ4, NQ5, NQ6 и NQ7).[105] In some embodiments of the technical solution,
[106] Вычисление первого логического дерева 802 модулем 112 создания индекса будет более подробно описано далее. Модуль 112 создания индекса может вычислять первое логическое дерево 802 путем определения родительского узла 822 первого логического дерева 802, дочерних узлов 824 первого уровня первого логического дерева 802 и дочерних узлов 826 второго уровня первого логического дерева 802.[106] The calculation of the first
[107] Например, модуль 112 создания индекса может идентифицировать слово "buy" как родительский узел 822 первого логического дерева 802, поскольку по меньшей мере один обобщенный запрос в наборе обобщенных запросов 600 (т.е. в данном случае по меньшей мере один обобщенный запрос представляет собой GQ1, GQ2, GQ3 и GQ4) начинается с основного синонима "buy".[107] For example, the
[108] Далее, модуль 112 создания индекса может идентифицировать "car" и "refrigerator" как дочерние узлы 824 первого уровня первого логического дерева 802, поскольку GQ1, GQ2, GQ3 и GQ4 включают в себя либо основной синоним "car" или "refrigerator" после основного синонима "buy". Другими словами, модуль 112 создания индекса может идентифицировать "car" как один из дочерних узлов 824 первого уровня, поскольку GQ1 и GQ2 содержат основной синоним "car" после основного синонима "buy". Также, модуль 112 создания индекса может идентифицировать "refrigerator" как один из дочерних узлов 824 первого уровня, поскольку GQ3 и GQ4 содержат основной синоним "refrigerator" после основного синонима "buy".[108] Further,
[109] В этом случае, слово "car", которое является одним из дочерних узлов 824 первого уровня, может не быть связано с каким-либо обобщенным запросом среди набора обобщенных запросов 600, поскольку набор обобщенных запросов 600 не включает в себя данный обобщенный запрос, представляющий собой: "buy" "car". С другой стороны, слово "refrigerator", которое является одним из дочерних узлов 824 первого уровня, может быть связано с запросом GQ3, поскольку GQ3 представляет собой: "buy" "refrigerator". Следовательно, GQ3 может быть связан со словом "refrigerator", которое является одним из дочерних узлов 824 первого уровня. С учетом того, что GQ3 связан с NQ6 через связь 660 среди обобщающих связей 604; модуль 112 создания индекса может связывать NQ3 со словом "refrigerator", которое является одним из дочерних узлов 824 первого уровня первого логического дерева 802. Следует отметить, что GQ3 может быть связан только с одним узлом в индексной структуре 706.[109] In this case, the word “car,” which is one of the first
[110] Далее, модуль 112 создания индекса может идентифицировать "Moscow" и "Montreal" как два дочерних узла 826 второго уровня первого логического дерева 802, поскольку GQ1 и GQ2 включают в себя либо основной синоним "Moscow" или "Montreal" после основных синонимов "buy" и "car". Другими словами, модуль 112 создания индекса может идентифицировать "Moscow" как один из дочерних узлов 826 второго уровня, поскольку GQ1 содержит основной синоним "Moscow" после основных синонимов "buy" и "car". Также, модуль 112 создания индекса может идентифицировать "Montreal" как один из дочерних узлов 826 второго уровня, поскольку GQ2 содержит основной синоним "Montreal" после основных синонимов "buy" и "car". Кроме того, модуль 112 создания индекса может идентифицировать "Paris" как один из дочерних узлов 826 второго уровня первого логического дерева 802, поскольку GQ4 содержит основной синоним "Paris" после основных синонимов "buy" и "refrigerator".[110] Further, the
[111] В этом случае, слово "Moscow", которое является одним из дочерних узлов 826 второго уровня, может быть связано с запросом GQ1, поскольку GQ1 представляет собой: "buy" "car" "Moscow". Следовательно, GQ1 может быть связан со словом "Moscow", которое является одним из дочерних узлов 826 второго уровня. С учетом того, что GQ1 связан с NQ1, NQ2 и NQ3 через связь 610, связь 620 и связь 630 соответственно среди обобщающих связей 604; модуль 112 создания индекса может связывать NQ1, NQ2 и NQ3 со словом "Moscow", которое является одним из дочерних узлов 826 второго уровня первого логического дерева 802. Следует отметить, что GQ1 может быть связан только с одним узлом в индексной структуре 706.[111] In this case, the word "Moscow", which is one of the second
[112] В этом случае, слово "Montreal", которое является одним из дочерних узлов 826 второго уровня, может быть связано с запросом GQ2, поскольку GQ2 представляет собой: "buy" "car" "Montreal". Следовательно, GQ2 может быть связан со словом "Montreal", которое является одним из дочерних узлов 826 второго уровня. С учетом того, что GQ2 связан с NQ4 и NQ5 через связь 640 и связь 650 соответственно среди обобщающих связей 604; модуль 112 создания индекса может связывать NQ4 и NQ5 со словом "Montreal", которое является одним из дочерних узлов 826 второго уровня первого логического дерева 802. Следует отметить, что GQ2 может быть связан только с одним узлом в индексной структуре 706.[112] In this case, the word "Montreal", which is one of the second
[113] В этом случае, слово "Paris", которое является одним из дочерних узлов 826 второго уровня, может быть связано с запросом GQ4, поскольку GQ4 представляет собой: "buy" "refrigerator" "Paris". Следовательно, GQ4 может быть связан со словом "Paris", которое является одним из дочерних узлов 826 второго уровня. С учетом того, что GQ4 связан с NQ7 через связь 670 среди обобщающих связей 604; модуль 112 создания индекса может связывать NQ7 со словом "Paris", которое является одним из дочерних узлов 826 второго уровня первого логического дерева 802. Следует отметить, что GQ4 может быть связан только с одним узлом в индексной структуре 706.[113] In this case, the word "Paris", which is one of the second
[114] В некоторых вариантах осуществления технического решения, модуль 112 создания индекса может вычислять второе логическое дерево 804 на основе по меньшей мере одного обобщенного запроса (т.е., в этом случае по меньшей мере один обобщенный запрос представляет собой GQ5 и GQ6), связанного по меньшей мере с одним соответствующим нормализованным запросом (т.е., в этом случае по меньшей мере один соответствующий нормализованный запрос представляет собой NQ8 и NQ9).[114] In some embodiments of the technical solution, the
[115] Вычисление второго логического дерева 804 модулем 112 создания индекса будет более подробно описано далее. Модуль 112 создания индекса может вычислять второе логическое дерево 804 путем определения родительского узла 842 второго логического дерева 804, дочернего узла 844 первого уровня второго логического дерева 804 и дочернего узла 846 второго уровня второго логического дерева 804.[115] The calculation of the second
[116] Например, модуль 112 создания индекса может идентифицировать слово "sell" как родительский узел 842 второго логического дерева 804, поскольку по меньшей мере один обобщенный запрос в наборе обобщенных запросов 600 (т.е. в данном случае по меньшей мере один обобщенный запрос представляет собой GQ5 и GQ6) начинается с основного синонима "sell".[116] For example, the
[117] Далее, модуль 112 создания индекса может идентифицировать "car" как дочерний узел 844 первого уровня второго логического дерева 804, поскольку GQ1 и GQ4 включают в себя основной синоним "car" после основного синонима "sell". Модуль 112 создания индекса может идентифицировать "car" как дочерний узел 844 первого уровня второго логического дерева 804 как единственный дочерний узел первого уровня второго логического дерева 804, поскольку, в данном случае, ни один из обобщенных запросов из набора обобщенных запросов 600 не включает в себя другой основной синоним (т.е. отличный от "car") после основного синонима "sell".[117] Further, the
[118] В этом случае, слово "car", которое является дочерним узлом 844 первого уровня, может быть связано с запросом GQ6, поскольку GQ6 представляет собой: "sell" "car". Следовательно, GQ6 может быть связан со словом "car", которое является дочерним узлом 844 первого уровня. С учетом того, что GQ6 связан с NQ9 через связь 690 среди обобщающих связей 604; модуль 112 создания индекса может связывать NQ9 со словом "car", которое является дочерним узлом 844 первого уровня второго логического дерева 804. Следует отметить, что GQ6 может быть связан только с одним узлом в индексной структуре 706.[118] In this case, the word "car", which is a first
[119] Кроме того, модуль 112 создания индекса может идентифицировать "Berlin" как дочерний узел 846 второго уровня второго логического дерева 804, поскольку GQ5 содержит основной синоним "Berlin" после основных синонимов "sell" и "car". Модуль 112 создания индекса может идентифицировать "Berlin" как дочерний узел 846 второго уровня второго логического дерева 804 как единственный дочерний узел второго уровня второго логического дерева 804, поскольку, в данном случае, ни один из обобщенных запросов из набора обобщенных запросов 600 не включает в себя другой основной синоним (т.е. отличный от "Berlin") после основных синонимов "sell" и "car".[119] In addition, the
[120] В этом случае, слово "Berlin", которое является дочерним узлом 846 второго уровня, может быть связано с запросом GQ5, поскольку GQ5 представляет собой: "sell" "car" "Berlin". Следовательно, GQ5 может быть связан со словом "Berlin", которое является дочерним узлом 846 второго уровня. С учетом того, что GQ5 связан с NQ8 через связь 680 среди обобщающих связей 604; модуль 112 создания индекса может связывать NQ8 со словом "Berlin", которое является дочерним узлом 846 второго уровня второго логического дерева 804. Следует отметить, что GQ5 может быть связан только с одним узлом в индексной структуре 706.[120] In this case, the word "Berlin", which is a second
[121] В некоторых вариантах осуществления технического решения, модуль 112 создания индекса может вычислять другое логическое дерево 806 на основе по меньшей мере одного обобщенного запроса, связанного по меньшей мере с одним соответствующим нормализованным запросом. Как было упомянуто ранее, множество поисковых запросов 300 может включать в себя многие другие поисковые запросы, как показано на Фиг. 3, отличающиеся от SQ1, SQ2, SQ3, SQ4, SQ5, SQ6, SQ7, SQ8, SQ9 и SQ10, которые упрощены в некоторых вариантах осуществления настоящего технического решения. Это означает, что набор нормализованных запросов 400 может включать в себя многие другие нормализованные запросы, как показано на Фиг. 4, отличающиеся от NQ1, NQ2, NQ3, NQ4, NQ5, NQ6, NQ7, NQ8 и NQ9, которые упрощены в некоторых вариантах осуществления настоящего технического решения. Это также означает, что набор обобщенных запросов 600 может включать в себя многие другие обобщенные запросы, как показано на Фиг. 6, отличающиеся от GQ1, GQ2, GQ3, GQ4, GQ5 и GQ6, которые упрощены в некоторых вариантах осуществления настоящего технического решения. Следовательно, модуль 112 создания индекса может вычислять другое логическое дерево 806, являющееся по меньшей мере одним другим логически деревом, на основе по меньшей мере одного обобщенного запроса, связанного по меньшей мере с одним соответствующим нормализованным запросом.[121] In some embodiments of the technical solution,
[122] Следует отметить, что в некоторых вариантах осуществления технического решения, родительский узел 822 первого логического дерева 802 и родительский узел 842 второго логического дерева 804 могут быть связаны по меньшей мере с одним обобщенным запросом. В общем случае, данный родительский узел данного логического дерева из набора логических деревьев 808 может быть связан с данным обобщенным запросом и по меньшей мере одним соответственно связанным данным нормализованным запросом.[122] It should be noted that in some embodiments of the technical solution, the
[123] Например, если набор обобщенных запросов 600 содержит другой обобщенный запрос, который представляет собой слово "buy", родительский узел 822 первого логического дерева 802 может быть связан с другим обобщенным запросом. Поскольку другой обобщенный запрос будет связан по меньшей мере с одним другим нормализованным запросом, по меньшей мере один другой нормализованный запрос может быть связан с родительским узлом 822 первого логического дерева 802. Аналогично, если набор обобщенных запросов 600 содержит дополнительный обобщенный запрос, который представляет собой слово "sell", родительский узел 842 второго логического дерева 804 может быть связан с дополнительным обобщенным запросом. Поскольку дополнительный обобщенный запрос будет связан по меньшей мере с одним другим нормализованным запросом, по меньшей мере один дополнительный нормализованный запрос может быть связан с родительским узлом 842 первого логического дерева 804.[123] For example, if the set of
[124] В некоторых вариантах осуществления настоящего технического решения, сервер 108 может быть выполнен с возможностью обрабатывать поисковые фразы, хранящиеся в базе 150 данных целевого содержимого. Для обработки поисковых фраз, введенных в сервис поисковой системы, размещенный на сервере 108, сервер 108 может использовать индексную структуру 706, хранящуюся в индексной базе 170 данных.[124] In some embodiments of the present technical solution, the
[125] Например, сервер 108 может быть выполнен с возможностью получать поисковую фразу среди поисковых фраз из базы 150 данных целевого содержимого. Как было упомянуто ранее, поисковая фраза может быть связана с рекламным объявлением из множества рекламных объявлений, полученных сервером 108 с помощью первого пакета 194 данных для установления совпадения рекламного объявления с текущими поисковыми запросами, введенными в поисковую систему пользователем 102 и/или другими потенциальными пользователями сервиса поисковой системы.[125] For example, the
[126] Сервер 108 может быть выполнен с возможностью обрабатывать поисковые фразы, полученные из базы 150 данных целевого содержимого. В общем случае, обработка поисковой фразы сервером 108 может включать в себя: (i) вычисление нормализованной поисковой фразы на основе поисковой фразы и лексем из набора лексем; (ii) вычисление обобщенной поисковой фразы на основе нормализованной поисковой фразы и синонимов из набора синонимов и (iii) связывание по меньшей мере одного нормализованного запроса из набора нормализованных запросов 400 с поисковой фразой на основе обобщенной поисковой фразы и индексной структуры 706. Подобная обработка поисковой фразы сервером 108 позволяет улучшить установление соответствия между поисковой фразой и текущими поисковыми запросами. Другими словами, улучшенное установление соответствия может снизить время отклика сервера 108 для предоставления данного рекламного объявления пользователю 102 и/или другим потенциальным пользователям в ответ на совпадение между данной поисковой фразой, связанной с данным рекламным объявлением, и данным текущим поисковым запросом, введенным пользователем 102 и/или другими потенциальными пользователями. В других вариантах осуществления технического решения, подобная обработка поисковой фразы может выполняться в оффлайн режиме, что может снизить необходимую пропускную способность нагрузки на сеть 106. Далее, обработка поисковой фразы и поисковых запросов может требовать меньшей вычислительных ресурсов, чем способы, существующие в известном уровне техники, поскольку разрешается проблема комбинаторного взрыва при обработке длинных поисковых запросов и/или поисковых фраз.[126]
[127] Как было ранее упомянуто, обработка поисковой фразы сервером 108 может включать в себя вычисление нормализованной поисковой фразы на основе поисковой фразы и лексемы из набора лексем. Для целей облегчения понимания, предполагается, что поисковая фраза представляет собой "procuring a car in Moscow". Следует отметить, что множество возможных поисковых фраз может быть рассмотрено в других вариантах осуществления технического решения, не выходя за границы настоящей технологии.[127] As previously mentioned, the processing of the search phrase by the
[128] Аналогично тому, что модуль 110 обработки вычисляет данный нормализованный запрос на основе данного поискового запроса, модуль 110 обработки сервера 108 может вычислять нормализованную поисковую фразу на основе поисковой фразы и лексем из набора лексем.[128] Similar to the fact that the
[129] Например, модуль 110 обработки может создавать нормализованную поисковую фразу на основе поисковой фразы и лексем в наборе лексем. Модуль 110 обработки может идентифицировать в поисковой фразе, с помощью парсинга, значимые слова "procuring", "car" и "Moscow". В результате, модуль 110 обработки может создавать нормализованную поисковую фразу с помощью амальгамирования соответствующих лексем значимых слов (т.е. словоизмененных парадигм), идентифицированных в поисковой фразе. Следовательно, модуль 110 обработки может создавать нормализованную поисковую фразу в виде: "procure" "car" "Moscow". В некоторых вариантах осуществления технического решения, сервер 108 может быть выполнен с возможностью сохранять поисковую фразу, нормализованную поисковую фразу и нормализованную связь между поисковой фразой и нормализованной поисковой фразой в базе 160 данных обработки.[129] For example,
[130] Аналогично тому, что модуль 110 обработки вычисляет данный обобщенный запрос на основе данного нормализованного запроса, модуль 110 обработки сервера 108 может вычислять обобщенную поисковую фразу на основе нормализованной поисковой фразы и синонимов из набора синонимов.[130] Similar to the fact that the
[131] Например, модуль 110 обработки может создавать обобщенную поисковую фразу на основе нормализованной поисковой фразы и синонимов из набора синонимов. Поскольку нормализованная поисковая фраза представляет собой "procure" "car" "Moscow", модуль 110 обработки может создавать обобщенную поисковую фразу путем амальгамирования соответствующих основных синонимов каждой лексемы в нормализованной поисковой фразе. Основной синоним лексемы "procure" может представлять собой "buy", поскольку среди синонимов слова "procure", "buy" может быть наиболее часто используемым синонимом. В другом примере, основной синоним лексемы "car" может представлять собой "car", поскольку среди синонимов слова "car", "car" может быть наиболее часто используемым синонимом. В другом примере, основной синоним лексемы "Moscow" может представлять собой "Moscow", поскольку среди синонимов слова "Moscow", "Moscow" может быть наиболее часто используемым синонимом. Следовательно, модуль 110 обработки может создавать обобщенную поисковую фразу в виде: "buy" "car" "Moscow". В некоторых вариантах осуществления технического решения, сервер 108 может далее быть выполнен с возможностью сохранять обобщенную поисковую фразу и обобщенную связь между нормализованной поисковой фразой и обобщенной поисковой фразой в базе 160 данных обработки.[131] For example,
[132] Далее, сервер 108 может быть выполнен с возможностью связывать по меньшей мере один нормализованный запрос из набора нормализованных запросов в индексной структуре 706 с поисковой фразой на основе обобщенной поисковой фразы и индексной структуры 706.[132] Further, the
[133] Например, сервер 108 может получать доступ к индексной структуре 706 в индексной базе 170 данных. Далее, сервер 108 может получать доступ к первому логическому дереву 802, поскольку обобщенная поисковая фраза начинается со слова "buy", и родительский узел 822 первого логического дерева 802 также представляет собой слово "buy". Далее, сервер 108 может получать доступ к дочернему узлу 824 первого уровня, который представляет собой "car", и далее получать доступ к дочернему узлу 826 второго уровня, который представляет собой "Moscow", поскольку обобщенная поисковая фраза включает в себя "car" и "Moscow" после слова "buy". Другими словами, сервер 108 может получать доступ к дочернему узлу 826 второго уровня, который представляет собой "Moscow", поскольку обобщенная поисковая фраза соответствует GQ1. Следовательно, сервер 108 может связывать по меньшей мере один нормализованный запрос, представляющий собой NQ1, NQ2 и NQ3, с поисковой фразой и нормализованной поисковой фразой.[133] For example,
[134] В ответ на связь между NQ1, NQ2 и NQ3 с поисковой фразой, сервер 108 может связывать NQ1, NQ2 и NQ3 и нормализованную поисковую фразу с рекламным объявлением, связанным с поисковой фразой. В некоторых вариантах осуществления технического решения, сервер 108 может сохранять NQ1, NQ2 и NQ3 и нормализованную поисковую фразу в базе 150 данных целевого содержимого, и их соответствующие связи с рекламным объявлением, связанным с поисковой фразой. Другими словами, рекламное объявление может быть соответственно связано с поисковой фразой, NQ1, NQ2, NQ3 и нормализованной поисковой фразой.[134] In response to the association between NQ1, NQ2 and NQ3 with the search phrase,
[135] В дополнительных вариантах осуществления технического решения, сервер 108 может сохранять GQ1 в базе 150 данных целевого содержимого, и их связь с рекламным объявлением, связанным с поисковой фразой. Другими словами, рекламное объявление может быть связано с поисковой фразой, NQ1, NQ2, NQ3, нормализованной поисковой фразой и GQ1 (т.е. в этом случае, GQ1 соответствует обобщенной поисковой фразе).[135] In further embodiments of the technical solution, the
[136] В других вариантах осуществления технического решения, поскольку в данном случае по меньшей мере один нормализованный запрос (NQ1, NQ2 и NQ3) отличается от нормализованной поисковой фразы, сервер 108 может дополнительно связывать нормализованную поисковую фразу "procure" "car" "Moscow" с GQ1 (который связан с дочерним узлом 826 второго уровня, представляющим собой "Moscow") в первом логическом дереве 802 индексной структуры 706.[136] In other embodiments of the technical solution, since in this case at least one normalized query (NQ1, NQ2, and NQ3) is different from the normalized search phrase,
[137] В некоторых вариантах осуществления настоящего технического решения, пользователь 102 может желать ввести текущий поисковый запрос "buying vehicle in Moscow". С этой целью, пользователь 102 может взаимодействовать с клиентским устройством 104 таким образом, что клиентское устройство 104 выполняет браузерное приложение. Кроме того, пользователь 102 может получать доступ к веб-сайту через браузерное приложение, связанное с сервисом поисковой системы, которую выполняет сервер 108. Пользователь 102 может вводить текущий поисковый запрос "buying vehicle in Moscow" в сервис поисковой системы. С этой целью, клиентское устройство 104 может создавать второй пакет 192 данных, который содержит данные, представляющие текущий поисковый запрос, и может передавать второй пакет 192 данных через сеть 106 серверу 108.[137] In some embodiments of the present technical solution, the
[138] В ответ на ввод текущего поискового запроса (т.е. получение второго пакета 192 данных сервером 108), сервер 108 может создавать текущую страницу результатов поиска (SERP) на основе данных, представляющих текущий поисковый запрос. Текущая страница результатов поиска может включать в себя текущее рекламное объявление, которое предназначено пользователю 102 на основе текущего поискового запроса. Далее, сервер 108 может создавать третий пакет 196 данных, который содержит данные, представляющие текущую SERP, и может передавать третий пакет 196 данных клиентскому устройству 104. В ответ на получение третьего пакета 196 данных, клиентское устройство 104 может отображать через браузерное приложение текущую SERP пользователю 102. То, как именно выбирается текущее рекламное объявление сервером 108, чтобы представить клиентскому устройству 104 на SERP, будет описано далее.[138] In response to entering the current search query (ie, receiving the
[139] В некоторых вариантах осуществления настоящего технического решения, модуль 110 обработки может создавать нормализованный поисковый запрос на основе текущего поискового запроса и лексем из набора лексем. Модуль 110 обработки может идентифицировать в текущем поисковом запросе, с помощью парсинга, значимые слова "buying", "vehicle" и "Moscow". В результате, модуль 110 обработки может создавать нормализованный текущий поисковый запроса с помощью амальгамирования соответствующих лексем значимых слов, идентифицированных в текущем поисковом запросе. Следовательно, модуль 110 обработки может создавать нормализованный текущий поисковый запрос в виде: "buy" "vehicle" "Moscow". В некоторых вариантах осуществления технического решения, сервер 108 может быть выполнен с возможностью сохранять текущий поисковый запрос, нормализованный текущий поисковый запрос и нормализованную связь между текущим поисковым запросом и нормализованным текущим поисковым запросом в базе 160 данных обработки.[139] In some embodiments of the present technical solution, the
[140] В других вариантах осуществления технического решения, сервер 108 может быть выполнен с возможностью получать доступ к базе 150 данных целевого содержимого. В результате, сервер 108 может быть выполнен с возможностью устанавливать соответствие нормализованного текущего поискового запроса по меньшей мере с одной нормализованной поисковой фразой и/или по меньшей мере одним нормализованным запросом. В данном случае, сервер 108 может определять, что нормализованный текущий поисковый запрос соответствует NQ2, который связан с рекламным объявлением, связанным с поисковой фразой "procuring a car in Moscow". Несмотря на то, что поисковая фраза "procuring a car in Moscow", предоставляемая ресурсами 180 целевого содержимого в связи с рекламным объявлением, не совпадает с текущим поисковым запросом, сервер 108 может выбирать рекламное объявление как текущее рекламное объявление, которое будет представлено на текущей странице результатов поиска пользователю 102, поскольку нормализованный текущий поисковый запрос соответствует NQ2, который связан с рекламным объявлением. Далее, несмотря на то что нормализованная поисковая фраза "procure" "car" "Moscow", связанная с рекламным объявлением, не совпадает с нормализованным текущим поисковым запросом, сервер 108 может выбирать рекламное объявление как текущее рекламное объявление, которое будет представлено на текущей странице результатов поиска пользователю 102, поскольку нормализованный текущий поисковый запрос соответствует NQ2, который связан с рекламным объявлением.[140] In other embodiments of the technical solution, the
[141] В другом примере, пользователь 102 может ввести текущий поисковый запрос "acquiring a vehicle in Moscow". Модуль 110 обработки может создавать нормализованный поисковый запрос на основе текущего поискового запроса и лексем из набора лексем. В этом случае, модуль 110 обработки может идентифицировать в текущем поисковом запросе, с помощью парсинга, значимые слова "acquiring", "vehicle" и "Moscow". В результате, модуль 110 обработки может создавать нормализованный текущий поисковый запроса с помощью амальгамирования соответствующих лексем значимых слов, идентифицированных в текущем поисковом запросе. Следовательно, в данном случае, модуль 110 обработки может создавать нормализованный текущий поисковый запрос в виде: "acquire" "vehicle" "Moscow".[141] In another example,
[142] В других вариантах осуществления технического решения, сервер 108 может быть выполнен с возможностью получать доступ к базе 150 данных целевого содержимого. Сервер 108 может быть выполнен с возможностью устанавливать соответствие нормализованного текущего поискового запроса по меньшей мере с одной нормализованной поисковой фразой и/или по меньшей мере одним нормализованным запросом. В данном случае, сервер 108 может определять, что нормализованный текущий поисковый запрос не совпадает с какой-либо нормализованной поисковой фразой и/или каким-либо нормализованным запросом в базе 150 данных целевого содержимого. В результате, сервер 108 может быть далее выполнен с возможностью вычислять обобщенный текущий поисковый запрос на основе нормализованного текущего поискового запроса и синонимов из набора синонимов.[142] In other embodiments of the technical solution, the
[143] Поскольку нормализованный текущий поисковый запрос представляет собой "acquire" "vehicle" "Moscow", модуль 110 обработки может создавать обобщенный текущий поисковый запрос путем амальгамирования соответствующих основных синонимов каждой лексемы в нормализованном текущем поисковом запросе. Основной синоним лексемы "acquire" может представлять собой "buy", поскольку среди синонимов слова "acquire", "buy" может быть наиболее часто используемым синонимом. В другом примере, основной синоним лексемы "vehicle" может представлять собой "car", поскольку среди синонимов слова "vehicle", "car" может быть наиболее часто используемым синонимом. В другом примере, основной синоним лексемы "Moscow" может представлять собой "Moscow", поскольку среди синонимов слова "Moscow", "Moscow" может быть наиболее часто используемым синонимом. Следовательно, модуль 110 обработки может создавать обобщенный текущий поисковый запрос в виде: "buy" "car" "Moscow". В некоторых вариантах осуществления технического решения, сервер 108 может далее быть выполнен с возможностью сохранять обобщенный текущий поисковый запрос и обобщенную связь между нормализованным текущим поисковым запросом и обобщенным текущим поисковым запросом в базе 160 данных обработки.[143] Since the normalized current search query is “acquire" "vehicle" "Moscow", the
[144] Далее, сервер 108 может получать доступ к индексной структуре 706, сохраненной в индексной базе 170 данных. Конкретнее, сервер 108 может получать доступ к дочернему узлу 826 второго уровня первого логического дерева 802, который представляет собой "Moscow", поскольку обобщенный текущий поисковый запрос соответствует GQ1. Сервер 108 может быть выполнен с возможностью связывать обобщенный текущий поисковый запрос "acquire" "vehicle" "Moscow" с GQ1 и, следовательно, с дочерним узлом 826 второго уровня первого логического дерева 802, который представляет собой "Moscow".[144] Further, the
[145] В качестве другого варианта осуществления технического решения, сервер 108 может быть выполнен с возможностью устанавливать соответствие обобщенного текущего поискового запроса по меньшей мере с одной нормализованной поисковой фразой и/или по меньшей мере одним нормализованным запросом и/или по меньшей мере одним обобщенным запросом в базе 150 данных целевого содержимого. В данном случае, сервер 108 может определять, что обобщенный текущий поисковый запрос "buy" "car" "Moscow" соответствует GQ1, который связан с рекламным объявлением, связанным с поисковой фразой "procuring a car in Moscow". Несмотря на то, что поисковая фраза "procuring a car in Moscow", предоставляемая ресурсами 180 целевого содержимого в связи с рекламным объявлением, не совпадает с текущим поисковым запросом, сервер 108 может выбирать рекламное объявление как текущее рекламное объявление, которое будет представлено на текущей странице результатов поиска пользователю 102, поскольку обобщенный текущий поисковый запрос соответствует GQ1, который связан с рекламным объявлением.[145] As another embodiment of the technical solution, the
[146] В некоторых вариантах осуществления настоящего технического решения, сервер 108 может быть выполнен с возможностью исполнять способ 900, представленный на Фиг. 9, обработки поисковых запросов. Способ 900 будет более подробно описан далее.[146] In some embodiments of the present technical solution, the
[147] ЭТАП 902: Получение множества поисковых запросов, введенных в поисковую систему[147] STEP 902: Obtaining a plurality of search queries entered into a search engine
[148] Способ 900 начинается на этапе 902, где сервер 902 получает множество поисковых запросов 300 (показано на Фиг. 3), введенных в поисковую систему, размещенную на сервере 108. В некоторых вариантах осуществления технического решения, множество поисковых запросов 300 может быть получено сервером 108 из базы 140 данных поискового запроса через путь 202 данных, показанный на Фиг. 2. Поисковые запросы из множества поисковых запросов 300 могут быть ранее введены пользователем 102 и/или другими потенциальными пользователями в сервис поисковой системы, реализованной сервером 108.[148] The
[149] ЭТАП 904: Обработка каждого поискового запроса из множества поисковых запросов[149] STEP 904: Processing each search query from multiple search queries
[150] Способ 900 продолжается на этапе 904, где сервер 108 обрабатывает каждый запрос из множества поисковых запросов 300.[150]
[151] В некоторых вариантах осуществления технического решения, обработка каждого поискового запроса может включать в себя получение сервером 108 набора лексем и набора синонимов. Например, набор лексем может быть получен из базы 120 данных лексем модулем 110 обработки сервера 108 через путь 204 данных, показанный на Фиг. 2. Набор лексем может быть получен из базы 130 данных синонимов модулем 110 обработки через путь 504 данных, показанный на Фиг. 5.[151] In some embodiments of the technical solution, the processing of each search request may include the
[152] В некоторых вариантах осуществления технического решения, обработка каждого поискового запроса может включать в себя вычисление сервером 108 набора нормализованных запросов 400, показанных на Фиг. 4, на основе поисковых запросов из множества поисковых запросов 300 и лексем из набора лексем.[152] In some embodiments of the technical solution, the processing of each search query may include the
[153] В других вариантах осуществления технического решения, обработка каждого поискового запроса может включать в себя вычисление сервером 108 набора обобщенных запросов 600, показанных на Фиг. 6, на основе нормализованных запросов из набора нормализованных запросов 400 и синонимов из набора синонимов. Модуль 110 обработки может вычислять набор обобщенных запросов 600 так, чтобы каждый нормализованный запрос из набора нормализованных запросов 400 был связан с соответствующим обобщенным запросом из набора обобщенных запросов 600.[153] In other embodiments of the technical solution, the processing of each search request may include the calculation by
[154] В дополнительных вариантах осуществления технического решения, обработка каждого поискового запроса может включать в себя компиляцию сервером 108 индексной структуры 706, показанной на Фиг. 7 и 8, на основе набора логических деревьев 808. В некоторых вариантах осуществления технического решения, компиляция индексной структуры 706 включает в себя вычисление сервером 108 набора логических деревьев 808, показанных на Фиг. 8, причем каждое логическое дерево из набора логических деревьев 808 представляет собой по меньшей мере один обобщенный запрос, связанный по меньшей мере с одним соответствующим нормализованным запросом.[154] In further embodiments of the technical solution, the processing of each search request may include compilation by the
[155] ЭТАП 906: Получение поисковой фразы, введенной в поисковую систему[155] STEP 906: Getting the search phrase entered into the search engine
[156] Способ 900 продолжается на этапе 906, где сервер 108 получает поисковую фразу, введенную в поисковую систему, размещенную на сервере 108. В некоторых вариантах осуществления технического решения, сервер 108 может получать поисковую фразу из базы 150 данных целевого содержимого. Поисковая фраза может быть связана с рекламным объявлением, что позволяет установить соответствие рекламного объявления с текущими поисковыми запросами, который были ранее введены пользователем 102 и/или другими потенциальными пользователями в сервис поисковой системы, реализованной сервером 108.[156] The
[157] В других вариантах осуществления технического решения, поисковая фраза была ранее получена сервером 108 от ресурсов 180 целевого содержимого. Например, ресурсы 180 целевого содержимого могут предоставлять сервису поисковой системы, который реализован сервером 108, данные целевого содержимого, которые включают в себя: (i) данные, связанные с множеством рекламных объявлений, например, продвигающих продукты и/или услуги, (ii) поисковые фразы, связанные соответственно с каждым рекламным объявлением во множестве рекламных объявлений для установления соответствия рекламных объявлений с текущими поисковыми запросами, введенными в поисковую систему пользователем 102 и/или другими потенциальными пользователями сервиса поисковой системы и (iii) цены, предлагаемые соответствующим поставщиком целевого содержимого из множества поставщиков целевого содержимого для отображения их рекламных объявлений пользователю 102 и/или другим потенциальным пользователям сервиса поисковой системы.[157] In other embodiments of the technical solution, the search phrase was previously received by the
[158] Ресурсы 180 целевого содержимого могут передавать серверу 108 через сеть 106 первый пакет 194 данных. Первый пакет 194 данных может включать в себя данные целевого содержимого, которые могут включать в себя, среди прочего, данные, связанные с рекламным объявлением, а также с соответствующей связанной поисковой фразой. В ответ на получение первого пакета 194 данных, сервер 108 может быть выполнен с возможностью сохранять данные целевого содержимого в базе 150 данных целевого содержимого.[158]
[159] ЭТАП 908: Обработка поисковой фразы[159] STEP 908: Processing a search phrase
[160] Способ 900 завершается на этапе 908, где сервер 108 обрабатывает поисковую фразу. Например, обработка поисковой фразы может выполняться модулем 110 обработки сервера 108.[160]
[161] В некоторых вариантах осуществления технического решения, обработка поисковой фразы может включать в себя вычисление нормализованной поисковой фразы на основе поисковой фразы и лексем в наборе лексем. Например, модуль 110 обработки может идентифицировать, с помощью парсинга, значимые слова в поисковой фразе. Далее, для каждого значимого слова в поисковой фразе модуль 110 обработки может определять соответствующую лексему из набора лексем. С этой целью, модуль 110 обработки может извлекать набор лексем из базы 120 данных лексем. В результате, модуль 110 обработки может амальгамировать соответствующие лексемы каждого значимого слова в поисковой фразе для вычисления нормализованной поисковой фразы. В дополнительных вариантах осуществления технического решения, модуль 110 обработки может сохранять поисковую фразу, нормализованную поисковую фразу и нормализованную связь между поисковой фразой и нормализованной поисковой фразой в базе 160 данных обработки для их дальнейшей обработки.[161] In some embodiments of the technical solution, the processing of the search phrase may include calculating a normalized search phrase based on the search phrase and the tokens in the token set. For example,
[162] В других вариантах осуществления технического решения, обработка поисковой фразы может включать в себя вычисление обобщенной поисковой фразы на основе нормализованной поисковой фразы и синонимов в наборе синонимов. Например, модуль 110 обработки может определять для каждой лексемы из нормализованной поисковой фразы соответствующий основной синоним из набора синонимов. С этой целью, модуль 110 обработки может извлекать набор синонимов из базы 130 данных синонимов. В результате, модуль 110 обработки может амальгамировать соответствующие основные синонимы каждой лексемы из нормализованной поисковой фразы для вычисления обобщенной поисковой фразы. В дополнительных вариантах осуществления технического решения, модуль 110 обработки может сохранять обобщенную поисковую фразу, нормализованную поисковую фразу и обобщенную связь между обобщенной поисковой фразой и нормализованной поисковой фразой в базе 160 данных обработки для их дальнейшей обработки.[162] In other embodiments of the technical solution, processing the search phrase may include calculating a generalized search phrase based on the normalized search phrase and synonyms in the set of synonyms. For example,
[163] В дополнительных вариантах осуществления технического решения, обработка поисковой фразы может включать в себя связывание по меньшей мере одного нормализованного запроса из набора нормализованных запросов 400 (показано на Фиг. 4) с поисковой фразой на основе обобщенной поисковой фразы и индексной структуры 706 (показано на Фиг. 7). В некоторых вариантах осуществления технического решения, по меньшей мере один нормализованный запрос может отличаться от нормализованной поисковой фразы.[163] In further embodiments of the technical solution, the processing of the search phrase may include linking at least one normalized query from the set of normalized queries 400 (shown in FIG. 4) with the search phrase based on the generalized search phrase and index structure 706 (shown in Fig. 7). In some embodiments of the technical solution, at least one normalized query may differ from the normalized search phrase.
[164] Для облегчения понимания, предполагается, что поисковая фраза представляет собой "procuring a car in Moscow". В одном примере, нормализованная поисковая фраза может представлять собой "procure" "car" "Moscow". В результате, обобщенная поисковая фраза может представлять собой "buy" "car" "Moscow".[164] To facilitate understanding, it is assumed that the search phrase is “procuring a car in Moscow”. In one example, a normalized search phrase may be "procure" "car" "Moscow". As a result, the generalized search phrase may be "buy" "car" "Moscow".
[165] В некоторых вариантах осуществления технического решения, сервер 108 может получать доступ к индексной структуре 706 (см. Фиг. 8) в индексной базе 170 данных. Далее, сервер 108 может получать доступ к первому логическому дереву 802, поскольку обобщенная поисковая фраза начинается со слова "buy", и родительский узел 822 первого логического дерева 802 также представляет собой слово "buy". Далее, сервер 108 может получать доступ к дочернему узлу 824 первого уровня, который представляет собой "car", и далее получать доступ к дочернему узлу 826 второго уровня, который представляет собой "Moscow", поскольку обобщенная поисковая фраза включает в себя "car" и "Moscow" после слова "buy". Другими словами, сервер 108 может получать доступ к дочернему узлу 826 второго уровня, который представляет собой "Moscow", поскольку обобщенная поисковая фраза соответствует GQ1. Следовательно, сервер 108 может связывать по меньшей мере один нормализованный запрос, представляющий собой NQ1, NQ2 и NQ3, с поисковой фразой и нормализованной поисковой фразой.[165] In some embodiments of the technical solution, the
[166] В ответ на связь между NQ1, NQ2 и NQ3 с поисковой фразой, сервер 108 может связывать NQ1, NQ2 и NQ3 и нормализованную поисковую фразу с рекламным объявлением, связанным с поисковой фразой. В некоторых вариантах осуществления технического решения, сервер 108 может сохранять NQ1, NQ2 и NQ3 и нормализованную поисковую фразу в базе 150 данных целевого содержимого, и их соответствующие связи с рекламным объявлением, связанным с поисковой фразой. Другими словами, рекламное объявление может быть соответственно связано с поисковой фразой, NQ1, NQ2, NQ3 и нормализованной поисковой фразой.[166] In response to the association between NQ1, NQ2 and NQ3 with the search phrase,
[167] В дополнительных вариантах осуществления технического решения, сервер 108 может сохранять GQ1 в базе 150 данных целевого содержимого, и их связь с рекламным объявлением, связанным с поисковой фразой. Другими словами, рекламное объявление может быть связано с поисковой фразой, NQ1, NQ2, NQ3, нормализованной поисковой фразой и обобщенной поисковой фразой (т.е. в этом случае, обобщенная поисковая фраза соответствует GQ1).[167] In further embodiments of the technical solution, the
[168] В других вариантах осуществления технического решения, поскольку в данном случае по меньшей мере один нормализованный запрос (NQ1, NQ2 и NQ3) отличается от нормализованной поисковой фразы, сервер 108 может дополнительно связывать нормализованную поисковую фразу "procure" "car" "Moscow" с GQ1 (который связан с дочерним узлом 826 второго уровня, представляющим собой "Moscow") в первом логическом дереве 802 индексной структуры 706.[168] In other embodiments of the technical solution, since in this case at least one normalized query (NQ1, NQ2, and NQ3) is different from the normalized search phrase,
[169] В некоторых вариантах осуществления способа 900, обработка поисковых запросов из множества поисковых запросов 300 и поисковых фраз сервером 108 может позволить улучшить установление соответствия между поисковыми фразами и текущими поисковыми запросами. Другими словами, улучшенное установление соответствия может снизить время отклика сервера 108 для предоставления данного рекламного объявления пользователю 102 и/или другим потенциальным пользователям в ответ на совпадение между данной поисковой фразой, связанной с данным рекламным объявлением, и данным текущим поисковым запросом, введенным пользователем 102 и/или другими потенциальными пользователями. В других вариантах осуществления технического решения, подобная обработка поисковых фраз и поисковых запросов может выполняться в оффлайн режиме, что может снизить необходимую пропускную способность нагрузки на сеть 106 при предоставлении текущей страницы результатов поиска (SERP) поисковой системы, размещенной на сервере 108. Далее, обработка поисковых фраз и поисковых запросов может требовать меньшей вычислительных ресурсов, чем способы, существующие в известном уровне техники, поскольку разрешается проблема комбинаторного взрыва при обработке длинных поисковых запросов и/или длинных поисковых фраз.[169] In some embodiments of
[170] Некоторые из этих этапов, а также передача-получение сигнала хорошо известны в данной области техники и поэтому для упрощения были опущены в конкретных частях данного описания. Сигналы могут быть переданы-получены с помощью оптических средств (например, опто-волоконного соединения), электронных средств (например, проводного или беспроводного соединения) и механических средств (например, на основе давления, температуры или другого подходящего параметра).[170] Some of these steps, as well as signal transmission-reception, are well known in the art and, therefore, have been omitted in specific parts of this description for simplicity. Signals can be transmitted-received using optical means (for example, fiber optic connection), electronic means (for example, wired or wireless connection) and mechanical means (for example, based on pressure, temperature or other suitable parameter).
[171] С учетом вышеописанных вариантов осуществления технологии, которые были описаны и показаны со ссылкой на конкретные этапы, выполненные в определенном порядке, следует иметь в виду, что эти этапы могут быть совмещены, разделены, обладать другим порядком выполнения - все это не выходит за границы настоящей технологии. Соответственно, порядок и группировка этапов не является ограничением для настоящей технологии.[171] Given the above-described embodiments of the technology that have been described and shown with reference to specific steps performed in a specific order, it should be borne in mind that these steps can be combined, separated, have a different execution order - all this does not go beyond the boundaries of this technology. Accordingly, the order and grouping of stages is not a limitation for the present technology.
[172] Специалисты в данной области техники поймут, что в настоящем описании выражение "получение данных" от пользователя подразумевает получение электронным устройством или другим электронным устройством данных от пользователя в виде электронного (или другого) сигнала. Кроме того, специалисты в данной области техники поймут, что отображение данных пользователю через графический интерфейс пользователя (например, экран компьютерного устройства и тому подобное) может включать в себя передачу сигнала графическому интерфейсу пользователя, этот сигнал содержит данные, которые могут быть обработаны, и по меньшей мере часть этих данных может отображаться пользователю через графический интерфейс пользователя.[172] Those skilled in the art will understand that in the present description, the expression “receiving data” from a user means receiving by an electronic device or other electronic device data from the user in the form of an electronic (or other) signal. In addition, those skilled in the art will understand that displaying data to a user through a graphical user interface (for example, a screen of a computer device and the like) may include transmitting a signal to the graphical user interface, this signal contains data that can be processed, and at least a portion of this data may be displayed to the user via a graphical user interface.
[173] Важно иметь в виду, что не все упомянутые здесь технические результаты могут проявляться в каждом из вариантов осуществления настоящего технического решения. Например, варианты осуществления настоящего технического решения могут быть выполнены без проявления некоторых технических результатов, другие могут быть выполнены с проявлением других технических результатов или вовсе без них.[173] It is important to keep in mind that not all the technical results mentioned here may appear in each of the embodiments of the present technical solution. For example, embodiments of the present technical solution can be performed without the manifestation of some technical results, others can be performed with the manifestation of other technical results or without them.
[174] Модификации и улучшения вышеописанных вариантов осуществления настоящего технического решения будут ясны специалистам в данной области техники. Предшествующее описание представлено только в качестве примера и не несет никаких ограничений. Таким образом, объем настоящего технического решения ограничен только объемом прилагаемой формулы изобретения.[174] Modifications and improvements to the above-described embodiments of the present technical solution will be apparent to those skilled in the art. The preceding description is provided as an example only and is not subject to any restrictions. Thus, the scope of the present technical solution is limited only by the scope of the attached claims.
[175] Варианты осуществления настоящей технологии можно изложить следующим образом, в виде пронумерованных пунктов:[175] Embodiments of the present technology can be summarized as follows, in numbered paragraphs:
[176] ПУНКТ 1 Способ (900) обработки поисковых запросов, способ (900) выполняется на сервере (108), сервер (108) размещает поисковую систему, способ (900) включает в себя:[176] ITEM 1 A method (900) for processing search queries, a method (900) is executed on a server (108), a server (108) hosts a search engine, a method (900) includes:
a. получение (902) сервером (108) множества поисковых запросов (300), введенных в поисковую систему; иa. receiving (902) by the server (108) a plurality of search queries (300) entered into the search engine; and
b. обработку (904) сервером (108) каждого поискового запроса во множестве поисковых запросов (300), обработка (904) каждого поискового запроса включает в себя:b. processing (904) by the server (108) of each search query in a plurality of search queries (300), processing (904) of each search query includes:
i. получение сервером (108) набора лексем и набора синонимов;i. receiving by the server (108) a set of tokens and a set of synonyms;
ii. вычисление сервером (108) набора нормализованных запросов (400) на основе поисковых запросов и лексем из набора лексем;ii. calculation by the server (108) of a set of normalized queries (400) based on search queries and tokens from the set of tokens;
iii. вычисление сервером (108) набора обобщенных запросов на основе нормализованных запросов из набора нормализованных запросов (400) и синонимов из набора синонимов, при этом каждый нормализованный запрос связан с соответствующим обобщенным запросом из набора обобщенных запросов (600);iii. calculation by the server (108) of a set of generalized queries based on normalized queries from a set of normalized queries (400) and synonyms from a set of synonyms, with each normalized query associated with a corresponding generalized query from a set of generalized queries (600);
iv. компиляцию сервером (108) индексной структуры (706) на основе набора логических деревьев (808), причем компиляция индексной структуры (706) включает в себя вычисление сервером (108) набора логических деревьев (808), причем каждое логическое дерево из набора логических деревьев (808) представляет собой по меньшей мере один обобщающий запрос, связанный по меньшей мере с одним нормализованным запросом.iv. compilation by the server (108) of the index structure (706) based on the set of logical trees (808), moreover, compilation of the index structure (706) includes the calculation by the server (108) of a set of logical trees (808), each logical tree from a set of logical trees ( 808) represents at least one generalized query associated with at least one normalized query.
[177] ПУНКТ 2 Способ (900) по п. 1, дополнительно включающий в себя:[177]
a) получение (906) сервером (108) поисковой фразы, введенной в поисковую систему;a) the receipt (906) of the server (108) of the search phrase entered into the search engine;
b) обработку (908) сервером (108) поисковой фразы, обработка (908) поисковой фразы включает в себя:b) processing (908) by the server (108) of the search phrase, processing (908) of the search phrase includes:
i) вычисление сервером (108) нормализованной поисковой фразы на основе поисковой фразы и лексем из набора лексем;i) the server (108) calculating a normalized search phrase based on the search phrase and tokens from the set of tokens;
ii) вычисление сервером (108) обобщенной поисковой фразы на основе нормализованной поисковой фразы и синонимов из набора синонимов; иii) the server (108) calculating a generalized search phrase based on a normalized search phrase and synonyms from a set of synonyms; and
iii) связывание сервером (108) по меньшей мере одного нормализованного запроса из набора нормализованных запросов (400) с поисковой фразой на основе обобщенной поисковой фразы и индексной структуры (706), по меньшей мере один нормализованный запрос отличается от нормализованной поисковой фразы.iii) the server (108) associating at least one normalized query from the set of normalized queries (400) with a search phrase based on a generalized search phrase and index structure (706), at least one normalized query is different from a normalized search phrase.
[178] ПУНКТ 3 Способ (900) по п. 2, в котором вычисление набора нормализованных запросов (400) включает в себя для каждого данного поискового запроса из множества поисковых запросов (300):[178]
a) идентификацию сервером (108) соответствующей лексемы из каждого значимого слова из данного поискового запроса;a) server (108) identifies the corresponding token from each significant word from the given search query;
b) создание сервером (108) данного нормализованного запроса, связанного с данным поисковым запросом, данный нормализованный запрос включает в себя соответствующую лексему каждого значимого слова из данного поискового запроса.b) the creation by the server (108) of this normalized query associated with this search query, this normalized query includes the corresponding token of each significant word from the given search query.
[179] ПУНКТ 4 Способ (900) по п. 3, в котором вычисление набора обобщенных запросов (600) включает в себя для каждого данного нормализованного запроса из набора нормализованных запросов (400):[179] ITEM 4 The method (900) according to
a) идентификацию сервером (108) соответствующего основного синонима для каждой лексемы из данного нормализованного запроса;a) the server (108) identifies the corresponding basic synonym for each token from the given normalized query;
b) создание сервером (108) данного обобщенного запроса, связанного с данным нормализованным запросом, данный обобщенный запрос включает в себя соответствующий основной синоним для каждой лексемы из данного нормализованного запроса.b) the creation by the server (108) of this generalized query associated with this normalized query, this generalized query includes the corresponding main synonym for each token from this normalized query.
[180] ПУНКТ 5 Способ (900) по п. 3, в котором данный нормализованный запрос связан с нормализованным счетчиком частоты, который указывает на ряд поисковых запросов из множества поисковых запросов (300), которые связаны с данным нормализованным запросом.[180] ITEM 5 The method (900) of
[181] ПУНКТ 6 Способ (900) по п. 4, в котором данный обобщенный запрос связан с обобщенным счетчиком частоты, который указывает на ряд нормализованных запросов из набора нормализованных запросов (400), которые связаны с данным обобщенным запросом.[181] ITEM 6 The method (900) of claim 4, wherein the generalized query is associated with a generalized frequency counter that indicates a series of normalized queries from the set of normalized queries (400) that are associated with this generalized query.
[182] ПУНКТ 7 Способ (900) по п. 3, в котором каждое значимое слово является словоизмененной парадигмой соответствующей лексемы.[182] ITEM 7 The method (900) of
[183] ПУНКТ 8 Способ (900) по п. 4, в котором соответствующий основной синоним каждой лексемы определен модулем (112) обработки на основе соответствующих указаний популярности синонимов из набора синонимов.[183] ITEM 8 The method (900) of claim 4, wherein the corresponding main synonym for each token is determined by the processing module (112) based on the corresponding indications of the popularity of synonyms from the set of synonyms.
[184] ПУНКТ 9 Способ (900) по п. 2, в котором по меньшей мере одно логическое дерево из набора логических деревьев (808) включает в себя:[184] ITEM 9 The method (900) according to
a) родительский узел (822);a) parent node (822);
b) по меньшей мере один дочерний узел (824) первого уровня; иb) at least one first level child node (824); and
с. по меньшей мере один дочерний узел (826) второго уровня.from. at least one second level child node (826).
[185] ПУНКТ 10 Способ (900) по п. 9, в котором по меньшей мере одно логическое дерево представляет собой по меньшей мере один соответствующий обобщенный запрос, связанный по меньшей мере с одним соответствующим нормализованным запросом, причем по меньшей мере один обобщенный запрос связан по меньшей мере с одним из:[185] ITEM 10 The method (900) of claim 9, wherein the at least one logical tree is at least one corresponding generalized query associated with at least one corresponding normalized query, wherein at least one generalized query is associated with at least one of:
a) родительским узлом (822);a) parent node (822);
b) по меньшей мере одним дочерним узлом (824) первого уровня; иb) at least one first level child node (824); and
c) по меньшей мере одним дочерним узлом (826) второго уровня.c) at least one child node (826) of the second level.
[186] ПУНКТ 11 Способ (900) по п. 2, дополнительно включающий в себя:[186] ITEM 11 The method (900) of
a) получение сервером (108) текущего поискового запроса, введенного в поисковую систему;a) the server (108) receiving the current search query entered into the search engine;
b) обработку сервером (108) текущего поискового запроса, обработка текущего поискового запроса включает в себя:b) processing by the server (108) of the current search request, processing of the current search request includes:
i) вычисление сервером (108) нормализованного текущего поискового запроса на основе текущего поискового запроса и лексем из набора лексем;i) the server (108) calculating a normalized current search query based on the current search query and tokens from the set of tokens;
ii) вычисление сервером (108) обобщенного текущего поискового запроса на основе нормализованного текущего поискового запроса и синонимов из набора синонимов; иii) calculation by the server (108) of a generalized current search query based on the normalized current search query and synonyms from the set of synonyms; and
iii) связывание сервером (108) нормализованного текущего поискового запроса с целевым содержимым, связанным с поисковой фразой на основе по меньшей мере одного из:iii) linking by the server (108) of the normalized current search query to the target content related to the search phrase based on at least one of:
1) нормализованной поисковой фразы; и1) a normalized search phrase; and
2) по меньшей мере одного нормализованного запроса, связанного с поисковой фразой.2) at least one normalized query related to the search phrase.
[187] ПУНКТ 12 Сервер (108) для обработки поисковых запросов, сервер (108) размещает поисковую систему, сервер (108) выполнен с возможностью выполнять способ (900) по пп. 1-11.[187] ITEM 12 The server (108) for processing search queries, the server (108) places a search engine, the server (108) is configured to perform the method (900) according to claims. 1-11.
Claims (78)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2015156412A RU2632134C2 (en) | 2015-12-28 | 2015-12-28 | Method and system of processing of search requests |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2015156412A RU2632134C2 (en) | 2015-12-28 | 2015-12-28 | Method and system of processing of search requests |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2015156412A RU2015156412A (en) | 2017-07-04 |
RU2632134C2 true RU2632134C2 (en) | 2017-10-02 |
Family
ID=59309488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2015156412A RU2632134C2 (en) | 2015-12-28 | 2015-12-28 | Method and system of processing of search requests |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2632134C2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2730241C1 (en) * | 2019-12-03 | 2020-08-19 | Публичное акционерное общество "Аэрофлот - российские авиалинии" | Method of processing search requests for several relational databases of arbitrary structure |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118134609B (en) * | 2024-05-06 | 2024-08-13 | 浙江开心果数智科技有限公司 | Commodity retrieval ordering system and method based on artificial intelligence |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5590319A (en) * | 1993-12-15 | 1996-12-31 | Information Builders, Inc. | Query processor for parallel processing in homogenous and heterogenous databases |
WO2001041002A1 (en) * | 1999-12-02 | 2001-06-07 | Lockheed Martin Corporation | Method and system for universal querying of distributed databases |
RU2273879C2 (en) * | 2002-05-28 | 2006-04-10 | Владимир Владимирович Насыпный | Method for synthesis of self-teaching system for extracting knowledge from text documents for search engines |
RU2365984C2 (en) * | 2003-03-24 | 2009-08-27 | Майкрософт Корпорейшн | Search for arbitrary text and search by attributes in online program manual data |
RU2375747C2 (en) * | 2004-04-15 | 2009-12-10 | Майкрософт Корпорейшн | Checking relevance between key words and website content |
US20130212092A1 (en) * | 2004-08-13 | 2013-08-15 | Jeffrey A. Dean | Multi-Stage Query Processing System and Method for Use with Tokenspace Repository |
-
2015
- 2015-12-28 RU RU2015156412A patent/RU2632134C2/en active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5590319A (en) * | 1993-12-15 | 1996-12-31 | Information Builders, Inc. | Query processor for parallel processing in homogenous and heterogenous databases |
WO2001041002A1 (en) * | 1999-12-02 | 2001-06-07 | Lockheed Martin Corporation | Method and system for universal querying of distributed databases |
RU2273879C2 (en) * | 2002-05-28 | 2006-04-10 | Владимир Владимирович Насыпный | Method for synthesis of self-teaching system for extracting knowledge from text documents for search engines |
RU2365984C2 (en) * | 2003-03-24 | 2009-08-27 | Майкрософт Корпорейшн | Search for arbitrary text and search by attributes in online program manual data |
RU2375747C2 (en) * | 2004-04-15 | 2009-12-10 | Майкрософт Корпорейшн | Checking relevance between key words and website content |
US20130212092A1 (en) * | 2004-08-13 | 2013-08-15 | Jeffrey A. Dean | Multi-Stage Query Processing System and Method for Use with Tokenspace Repository |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2730241C1 (en) * | 2019-12-03 | 2020-08-19 | Публичное акционерное общество "Аэрофлот - российские авиалинии" | Method of processing search requests for several relational databases of arbitrary structure |
WO2021112712A1 (en) * | 2019-12-03 | 2021-06-10 | Публичное Акционерное Общество "Аэрофлот-Российские Авиалинии" | Method for processing search queries for plurality of unstructured relational databases |
Also Published As
Publication number | Publication date |
---|---|
RU2015156412A (en) | 2017-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11698908B2 (en) | Content inversion for user searches and product recommendations systems and methods | |
US9081821B2 (en) | Spell check using column cursor | |
US10579727B2 (en) | Hybrid grammatical and ungrammatical parsing | |
CN102203774B (en) | Retrieval using a generalized sentence collocation | |
US20160063095A1 (en) | Unstructured data guided query modification | |
US10268651B2 (en) | Method, apparatus and system for obtaining associated word information | |
US9690851B2 (en) | Automatic generation of contextual search string synonyms | |
US9953061B2 (en) | Similarity engine for facilitating re-creation of an application collection of a source computing device on a destination computing device | |
US12073239B2 (en) | Interface and mode selection for digital action execution | |
WO2015200404A1 (en) | Identification of intents from query reformulations in search | |
CN112262391A (en) | Secure Digital Assistant Integration in the Web | |
WO2021107951A1 (en) | Interfacing with applications via dynamically updating natural language processing | |
KR101780310B1 (en) | Ambiguous structured search queries on online social networks | |
RU2632134C2 (en) | Method and system of processing of search requests | |
US20170193119A1 (en) | Add-On Module Search System | |
CN112148958A (en) | Method, apparatus and computer storage medium for information recommendation | |
WO2025036386A1 (en) | Search result display method, and medium and electronic device | |
CN108460020A (en) | Method and device for obtaining information | |
US20170185681A1 (en) | Method of and system for processing a prefix associated with a search query | |
US20170061008A1 (en) | System and method for conducting a search | |
US20190354635A1 (en) | Data Processing System For Generating Entries In Data Structures From Network Requests | |
KR20090116013A (en) | Method tree providing method and system and recording medium therefor | |
KR20130064759A (en) | Method for registering keyword | |
de La Cruz-Caicedo et al. | Anotación semántica de servicios web SOAP basada en técnicas de desambiguación lingüística | |
Corrales et al. | Semantic Annotation of SOAP Web Services based on Word Sense Disambiguation Techniques. |