[go: up one dir, main page]

RU2632134C2 - Method and system of processing of search requests - Google Patents

Method and system of processing of search requests Download PDF

Info

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
Application number
RU2015156412A
Other languages
Russian (ru)
Other versions
RU2015156412A (en
Inventor
Борис Михайлович Беляев
Денис Валерьевич Хромов
Original Assignee
Общество С Ограниченной Ответственностью "Яндекс"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Общество С Ограниченной Ответственностью "Яндекс" filed Critical Общество С Ограниченной Ответственностью "Яндекс"
Priority to RU2015156412A priority Critical patent/RU2632134C2/en
Publication of RU2015156412A publication Critical patent/RU2015156412A/en
Application granted granted Critical
Publication of RU2632134C2 publication Critical patent/RU2632134C2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3334Selection or weighting of terms from queries, including natural language queries
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query 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

FIELD: information technology.
SUBSTANCE: plenty of search requests entered into a search system are got in the method of processing search requests. Each search request is processed. The processing includes obtaining a set of lexemes and a set of synonyms, calculating a set of normalized requests based on search requests and lexemes, calculating a set of generalized requests based on normalized requests and synonyms, and compiling an index structure based on a set of logical trees. Each normalized request is associated with the corresponding generalized request. Compiling of the index structure includes computing a set of logical trees. Each logical tree is a general request which is associated with a generalized request.
EFFECT: reduction of calculating resources due to the fact that the problem of combinatorial explosion is resolved when processing long search requests.
22 cl, 9 dwg

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 system 100 suitable for use with some embodiments of the present technology. System 100 may comprise, inter alia, client device 104, network 106, server 108, and target content resources 180.

[54] Варианты осуществления клиентского устройства 104 никак конкретно не ограничены, но, в качестве примера, клиентское устройство 104 может взаимодействовать с сервером 108, путем передачи/получения данных серверу 108/от сервера 108. Клиентское устройство 104 может, например, в качестве не ограничивающего примера, представлять собой настольный компьютер, ноутбук, смартфон (например, Apple iPhone™ or a Samsung Galaxy S5™), персональный цифровой органайзер (PDA) или другое устройство, включающее в себя функциональность вычисления и возможности передачи данных. Клиентское устройство 104 может включать в себя, среди прочего, внутренние аппаратные компоненты, включая один или несколько одно- или мультиядерных процессоров, которые коллективно представлены здесь как процессор (не показан), ОЗУ (не показано), сетевой интерфейс (не показано) для связи с сервером 108.[54] Embodiments of the client device 104 are not particularly limited, but, as an example, the client device 104 may communicate with the server 108 by transmitting / receiving data to the server 108 / from the server 108. The client device 104 may, for example, not A limiting example is a desktop computer, laptop, smartphone (e.g. Apple iPhone ™ or a Samsung Galaxy S5 ™), personal digital organizer (PDA), or other device that includes computing functionality and data transfer capabilities. Client device 104 may include, inter alia, internal hardware components, including one or more single or multi-core processors, collectively represented here as a processor (not shown), RAM (not shown), a network interface (not shown) for communication with server 108.

[55] Клиентское устройство 104 связано с пользователем 102, который может взаимодействовать с клиентским устройством 104. В некоторых вариантах осуществления настоящего технического решения, клиентское устройство 104 может быть выполнено с возможностью выполнять браузерное приложение (не показано). В общем случае, задачей браузерного приложения является предоставление пользователю 102 доступа к одному или нескольким веб-ресурсам. Реализация браузерного приложения никак конкретно не ограничена. Например, браузерное приложение 104 может быть реализовано как Яндекс™ браузер. Несмотря на то, что клиентское устройство 104 связано с пользователем 102, эта связь не требует от пользователя 102 авторизации или чего-либо подобного.[55] The client device 104 is associated with a user 102 that can interact with the client device 104. In some embodiments of the present technical solution, the client device 104 may be configured to execute a browser application (not shown). In general, the task of a browser application is to provide a user 102 with access to one or more web resources. The implementation of the browser application is not specifically limited. For example, the browser application 104 may be implemented as a Yandex ™ browser. Although the client device 104 is associated with the user 102, this communication does not require authorization 102 or the like from the user 102.

[56] Клиентское устройство 104 соединено с сетью 106 через сети передачи данных (не пронумерована). В некоторых вариантах осуществления настоящего технического решения, сеть 106 может быть реализована как Интернет. В других вариантах осуществления настоящей технологии сеть 106 может быть реализована иначе - в виде глобальной сети передачи данных, локальной сети передачи данных, частной сети передачи данных и т.п.[56] Client device 104 is connected to network 106 through data networks (not numbered). In some embodiments of the present technical solution, the network 106 may be implemented as the Internet. In other embodiments of the present technology, the network 106 may be implemented differently — as a global data network, a local data network, a private data network, and the like.

[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 client device 104 is used. By way of example (but not limitation) in these embodiments of the present technology, in cases where the client device 104 is a wireless communication device (eg, a smartphone), the data line is a wireless data network (for example, inter alia, a data line 3G, 4G data line, Wireless Fidelity or WiFi®, Bluetooth®, etc.). In those examples where the client client device 104 is a laptop computer, the data line can be either wireless (Wireless Internet Wireless Fidelity or WiFi®, Bluetooth®, etc.) or wired (Ethernet-based connection).

[58] Важно иметь в виду, что варианты реализации клиентского устройства 104, линии передачи данных и сети 106 приведены исключительно для наглядности. Таким образом, специалисты в данной области техники смогут понять подробности других конкретных вариантов осуществления клиентского устройства 104, линии передачи данных и сети 106. То есть, представленные здесь примеры не ограничивают объем настоящего технического решения.[58] It is important to keep in mind that the implementations of client device 104, data lines, and network 106 are for illustrative purposes only. Thus, those skilled in the art will be able to understand the details of other specific embodiments of the client device 104, data line and network 106. That is, the examples presented here do not limit the scope of this technical solution.

[59] Также с сетью 106 соединен сервер 108, на котором может быть расположен сервис поисковой системы для обработки поисковых запросов, связанных с одним или несколькими пользователями (например, пользователем 102). Сервер 108 может представлять собой обычный компьютерный сервер. В примере варианта осуществления настоящей технологии, сервер 108 может представлять собой сервер Dell™ PowerEdge™, на котором используется операционная система Microsoft™ Windows Server™. Излишне говорить, что сервер 108 может представлять собой любое другое подходящее аппаратное и/или прикладное программное, и/или системное программное обеспечение или их комбинацию. В представленном варианте осуществления настоящего технического решения, не ограничивающем ее объем, сервер 108 является одиночным сервером. В других вариантах осуществления настоящего технического решения, не ограничивающих ее объем, функциональность сервера 108 может быть разделена, и может выполняться с помощью нескольких серверов.[59] Also connected to the network 106 is a server 108, on which a search engine service may be located to process search queries related to one or more users (eg, user 102). Server 108 may be a conventional computer server. In an example embodiment of the present technology, server 108 may be a Dell ™ PowerEdge ™ server that uses a Microsoft ™ Windows Server ™ operating system. Needless to say, the server 108 may be any other suitable hardware and / or application software and / or system software, or a combination thereof. In the presented embodiment of the present technical solution, not limiting its scope, server 108 is a single server. In other embodiments of the present technical solution, not limiting its scope, the functionality of the server 108 can be divided, and can be performed using multiple servers.

[60] Варианты осуществления сервера 108 широко известны среди специалистов в данной области техники. Тем не менее, вкратце: сервер 108 содержит интерфейс связи (не показан), который настроен и выполнен с возможностью устанавливать соединение с различными элементами (например, клиентским устройством 180 и другими устройствами, потенциально соединенными с сетью 106) через сеть 106.[60] Embodiments of the server 108 are well known to those skilled in the art. However, in short: the server 108 comprises a communication interface (not shown) that is configured and configured to connect to various elements (eg, client device 180 and other devices potentially connected to network 106) via network 106.

[61] Как было упомянуто ранее, сервер 108 может реализовать сервис поисковой системы. В общем случае, сервис поисковой системы находится под контролем и/или управлением поставщика поисковой системы (не показан), такого, например, как оператор поисковой системы Yandex™. Таким образом, поисковая система сервера 108 может быть выполнена с возможностью производить один или несколько поисков в ответ на поисковые запросы, которые введены пользователем 102 и/или потенциальными пользователями сервиса поисковой системы. Сервис поисковой системы сервера 108 также выполнен с возможностью передавать клиентскому устройству 104 набор результатов поиска, который будет отображаться пользователю 102, связанный с поисковыми запросами, которые были введены пользователем 102.[61] As mentioned previously, the server 108 may implement a search engine service. In general, a search engine service is controlled and / or managed by a search engine provider (not shown), such as, for example, the Yandex ™ search engine operator. Thus, the search engine of the server 108 can be configured to perform one or more searches in response to search queries that are entered by the user 102 and / or potential users of the search engine service. The search engine service of the server 108 is also configured to transmit to the client device 104 a set of search results that will be displayed to the user 102 associated with the search queries that have been entered by the user 102.

[62] С сетью 106 передачи данных также соединены ресурсы 180 целевого содержимого. В общем случае, ресурсы 180 целевого содержимого управляются множеством поставщиков целевого содержимого, которые продвигают продукты и/или услуги. В другом примере, ресурсы 180 целевого содержимого могут предоставлять поисковой системе, которая расположена на сервере 108, данные целевого содержимого, которые включают в себя: (i) данные, связанные с множеством рекламных объявлений, продвигающих продукты и/или услуги, например, изображения, видео, текст или другие данные, (ii) поисковые фразы, связанные соответственно с каждым рекламным объявлением во множестве рекламных объявлений для установления соответствия рекламных объявлений с поисковыми запросами, введенными в сервис поисковой системы пользователем 102 и/или другими потенциальными пользователями сервиса поисковой системы и (iii) цены, предлагаемые соответствующим поставщиком целевого содержимого из множества поставщиков целевого содержимого, для отображения их рекламных объявлений пользователю 102 и/или другим потенциальным пользователям сервиса поисковой системы.[62] Target content resources 180 are also connected to the data network 106. In general, target content resources 180 are managed by a plurality of target content providers that promote products and / or services. In another example, target content resources 180 may provide the search engine, which is located on server 108, target content data, which includes: (i) data related to a variety of advertisements promoting products and / or services, for example, images, video, text or other data, (ii) search phrases associated with each advertisement in the set of advertisements, respectively, to establish the correspondence of advertisements with the search queries entered into the search engine service systems by the user 102 and / or other potential users of the search engine service, and (iii) prices offered by the respective target content provider from the plurality of target content providers to display their advertisements to the user 102 and / or other potential users of the search engine service.

[63] Аналогично серверу 108, ресурсы 180 целевого содержимого могут быть реализованы как обычные компьютерные серверы. В примере варианта осуществления настоящего технического решения, ресурсы 180 целевого содержимого могут представлять собой сервер Dell™ PowerEdge™, на котором используется операционная система Microsoft™ Windows Server™. Излишне говорить, что ресурсы 180 целевого содержимого могут представлять собой любое другое подходящее аппаратное и/или прикладное программное, и/или системное программное обеспечение или их комбинацию. В других вариантах осуществления технического решения, ресурсы 180 целевого содержимого могут быть реализованы как веб-сайты, соответственно связанные со множеством поставщиков целевого содержимого и расположенные на соответствующей обычной серверной системе.[63] Like server 108, target content resources 180 can be implemented as ordinary computer servers. In an example embodiment of the present technical solution, the target content resources 180 may be a Dell ™ PowerEdge ™ server that uses the Microsoft ™ Windows Server ™ operating system. Needless to say, the target content resources 180 may be any other suitable hardware and / or application software and / or system software, or a combination thereof. In other embodiments of the technical solution, the target content resources 180 may be implemented as websites, respectively, associated with a plurality of target content providers and located on a corresponding conventional server system.

[64] В других вариантах осуществления технического решения, ресурсы 180 целевого содержимого могут предоставлять серверу 108 данные целевого содержимого для продвижения продуктов и/или услуг. Например, ресурсы 180 целевого содержимого могут передавать серверу 108 через сеть 106 первый пакет 194 данных. Первый пакет 194 данных может содержать данные целевого содержимого. В ответ на получение первого пакета 194 данных, сервер 108 может быть выполнен с возможностью сохранять данные целевого содержимого в базе 150 данных целевого содержимого.[64] In other embodiments of the technical solution, target content resources 180 may provide target content data to server 108 to promote products and / or services. For example, target content resources 180 may transmit to server 108 via network 106 a first data packet 194. The first data packet 194 may contain target content data. In response to receiving the first data packet 194, the server 108 may be configured to store the target content data in the target content database 150.

[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 server 108 may be connected and / or functionally connected to the token database 120, the synonym database 130, the search query database 140, the target content database 150, the processing database 160 and the index a database of 170 data. Although the token database 120, the synonym database 130, the search query database 140, the target content database 150, the processing database 160, and the index database 170 are schematically distributed for ease of illustration, it is believed that some or all of the token database 120, the synonym database 130, the search query database 140, the target content database 150, the processing database 160, and the index database 170 can be implemented as a single element. The functionality of each database of tokens database 120, synonym database 130, search query database 140, target content database 150, processing database 160 and index database 170, as well as the data and / or information that is stored on them, will be described Further.

[66] База 120 данных лексем может быть выполнена с возможностью хранить данные, связанные с лексемами и соответственно связанными словоизмененными парадигмами. В общем случае, из-за грамматических правил различных языков, данная лексема может быть связана с набором данных словоизмененных парадигм. Например, если данная лексема представляет собой "ride", то набор словоизмененных парадигм может включать в себя данные словоизмененные парадигмы: "riding", "ridden", "rode" и так далее. В другом примере, если данная лексема представляет собой "sing", то набор словоизмененных парадигм может включат в себя данные словоизмененные парадигмы: "singing", "sang", "sung" и так далее. База 120 данных лексем может включать в себя данные, относящиеся к тысячам лексем, и соответственно связанным словоизмененным парадигмам. Следует отметить, что для примера и для простоты понимания были использованы данные лексемы и соответственно связанные словоизмененные парадигмы английской грамматики, но лексемы и соответственно связанные словоизмененные парадигмы других грамматик (например, русской, французской, немецкой, испанской и так далее) также могут быть представлены в некоторых вариантах, не выходя на границы настоящего технического решения.[66] Token database 120 may be configured to store data associated with tokens and correspondingly related modified paradigms. In the general case, due to the grammatical rules of various languages, this token may be associated with a data set of inflected paradigms. For example, if a given token is a ride, then the set of modified paradigms may include these modified paradigms: riding, ridden, rode, and so on. In another example, if a given token is a "sing", then the set of modified paradigms may include these modified paradigms: "singing", "sang", "sung" and so on. The token database 120 may include data related to thousands of tokens and related associated paradigms. It should be noted that for example and for ease of understanding, these lexemes and correspondingly related inflected paradigms of English grammar were used, but tokens and accordingly related inflected paradigms of other grammars (for example, Russian, French, German, Spanish and so on) can also be represented in some options, without going beyond the boundaries of this technical solution.

[67] В некоторых вариантах осуществления настоящего технического решения, база 130 данных синонимов может быть доступна серверу 108. База 130 данных синонимов может быть выполнена с возможностью хранить данные, связанные со словами и соответственно связанными синонимами. В общем случае, синоним представляет собой слово, обладающее тем же или схожим значением, что и другое слово. Например, в английском языке слова "happy" и "joyful" являются синонимами слова "elated". База 130 данных синонимов может включать в себя данные, относящиеся к большому числу синонимов, связанных соответствующими словами, для которых они являются синонимами. В другом варианте, база 130 данных синонимов может включать в себя данные, связанные со словами и их соответствующими синонимами в других языках, например, русском, французском, немецком, испанском и так далее.[67] In some embodiments of the present technical solution, the synonym database 130 may be available to the server 108. The synonym database 130 may be configured to store data associated with words and correspondingly associated synonyms. In general, a synonym is a word with the same or similar meaning as another word. For example, in English, the words “happy” and “joyful” are synonyms for the word “elated”. The synonym database 130 may include data relating to a large number of synonyms associated with the corresponding words for which they are synonyms. In another embodiment, the synonym database 130 may include data associated with words and their corresponding synonyms in other languages, for example, Russian, French, German, Spanish, and so on.

[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 synonym database 130 may be associated with an indication of their popularity in a given language. For example, the words "buy", "purchase", "acquire" and "procure" can be included in the synonym set in the synonym database 130, and an indication of the popularity of each synonym among the words "buy", "purchase", "acquire" and "procure" may indicate that the word "buy" is the most popular synonym and / or most commonly used synonym and / or main synonym in English, among "buy", "purchase", "acquire" and "procure".

[69] В некоторых вариантах осуществления технического решения, сервер 108 может быть выполнен с возможностью использования информации из истории, собранной из большого числа предыдущих поисковых запросов, которые могут храниться в базе 140 данных поисковых запросов. База 140 данных поисковых запросов, показанная на Фиг. 1, может быть доступна серверу 108. База 140 данных поисковых запросов может быть выполнена с возможностью хранить данные, связанные с поисковыми запросами, которые были введены пользователем 102 и/или другими потенциальными пользователями сервиса поисковой системы в поисковую систему, размещенную на сервере 108. Следует отметить, что поисковые запросы, введенные в сервис поисковой системы, реализованный сервером 108, могут быть реализованы на других языках, отличных от английского.[69] In some embodiments of the technical solution, server 108 may be configured to use history information collected from a large number of previous search queries that may be stored in the search query database 140. The search query database 140 shown in FIG. 1 may be accessible by the server 108. The search query database 140 may be configured to store data related to the search queries that have been entered by the user 102 and / or other potential users of the search engine service into a search engine located on the server 108. It should be note that the search queries entered into the search engine service implemented by the server 108 can be implemented in languages other than English.

[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 server 108 / server 108 are not specifically limited, and only as an example, data related to search queries stored in the database 140 search queries can be received by the server 108 through the network 106 from the client device 104 and / or other potential client devices associated with other potential users of the search engine service implemented by the server 108.

[71] Как было упомянуто ранее, сервер 108 может сохранять данные целевого содержимого в базе 150 данных целевого содержимого. В некоторых вариантах осуществления технического решения, сервер 108 может быть выполнен с возможностью запрашивать и получать данные целевого содержимого от ресурсов 180 целевого содержимого. В других вариантах осуществления технического решения, ресурсы 180 целевого содержимого могут быть выполнены с возможностью передавать данные целевого содержимого серверу 108 без инициирования сервером 108 запроса. Сервер 108 может быть выполнен с возможностью получать первый пакет 194 данных, который включает в себя данные целевого содержимого, и сохранять данные целевого содержимого в базе 150 данных целевого содержимого.[71] As mentioned previously, the server 108 may store the target content data in the target content database 150. In some embodiments of the technical solution, the server 108 may be configured to request and receive target content data from the target content resources 180. In other embodiments of the technical solution, target content resources 180 may be configured to transmit target content data to server 108 without initiating a request from server 108. Server 108 may be configured to receive a first data packet 194, which includes target content data, and store target content data in a target content database 150.

[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 user 102. This advertisement may be associated with a given price offered by this provider target content related to this advertisement to display the advertisement to user 102 in response to a correspondence between the data search terms and this search phrase related to this ad.

[73] В некоторых вариантах осуществления настоящего технического решения, сервер 108 может обладать доступом к базе 160 данных обработки. База 160 данных обработки может быть выполнена с возможностью сохранять различные типы данных. В общем случае, база 160 данных обработки может сохранять данные, связанные с обработкой поисковых запросов, поисковых фраз, лексем и синонимов сервером 108. Обработка поисковых запросов, поисковых фраз, лексем и синонимов сервером 108 будет описана далее и, следовательно, функциональности базы 160 данных обработки будут понятны специалистам в данной области техники.[73] In some embodiments of the present technical solution, server 108 may have access to processing database 160. The processing database 160 may be configured to store various types of data. In general, the processing database 160 may store data related to the processing of search queries, search phrases, tokens and synonyms by the server 108. The processing of search queries, search phrases, tokens and synonyms by the server 108 will be described later and, therefore, the functionality of the database 160 treatments will be apparent to those skilled in the art.

[74] В некоторых вариантах осуществления настоящего технического решения, сервер 108 может далее обладать доступом к индексной базе 170 данных. Индексная база 170 данных может включать в себя индексную структуру 706 (показано на Фиг. 8), которая показана в некоторых вариантах осуществления настоящего технического решения. Индексная структура 706 может быть описана и сохранена сервером 108 в индексной базе 170 данных на основе обработки поисковых запросов, поисковых фраз, лексем и синонимов. То, как именно сервер 108 может компилировать индексные структуры, будет подробнее описано далее.[74] In some embodiments of the present technical solution, the server 108 may further have access to the index database 170. The index database 170 may include an index structure 706 (shown in FIG. 8), which is shown in some embodiments of the present technical solution. The index structure 706 can be described and stored by the server 108 in the index database 170 based on the processing of search queries, search phrases, tokens and synonyms. How server 108 can compile index structures will be described in more detail below.

[75] В некоторых вариантах осуществления настоящего технического решения, сервер 108 может быть выполнен с возможностью обрабатывать поисковые запросы. Для этого сервер 108 может реализовать модуль 110 обработки и модуль 112 создания индекса. Модуль 110 обработки и модуль 112 создания индекса могут представлять собой устройство или множество модулей, выполненных с использованием аппаратного обеспечения, например, с помощью, например, интегральной схемы специального назначения (ASIC) или программируемой логической интегральной схемы (FPGA), или же комбинации аппаратного и программного обеспечения, например, с помощью микропроцессорной системы и набора инструкций, реализующих функционал модуля, которые (при выполнении) трансформируют микропроцессорную систему в устройство специального назначения. Модуль 110 обработки и модуль 112 создания индекса также могут быть реализованы в виде комбинации обоих, причем некоторые конкретные функций реализуются за счет аппаратного обеспечения, а другие функции реализуются комбинацией аппаратного и программного обеспечения.[75] In some embodiments of the present technical solution, the server 108 may be configured to process search queries. To this end, server 108 may implement processing module 110 and index creation module 112. The processing module 110 and the index generating module 112 may be a device or a plurality of modules made using hardware, for example, using, for example, a special purpose integrated circuit (ASIC) or programmable logic integrated circuit (FPGA), or a combination of hardware and software, for example, using a microprocessor system and a set of instructions that implement the functionality of the module, which (when executed) transform the microprocessor system into a special device Nogo destination. The processing module 110 and the index generating module 112 can also be implemented as a combination of both, with some specific functions implemented through hardware and other functions implemented by a combination of hardware and software.

[76] В других вариантах осуществления технического решения, модуль 110 обработки и модуль 112 создания индекса могут также быть реализованы в программном обеспечении для выполнения различных типов процессоров. Любой из модуля 110 обработки и модуля 112 создания индекса может, например, включать в себя один или несколько физических или логических блоков компьютерных инструкций, которые могут, например, быть организованы как объект, процедура или функция. Тем не менее, исполняемые файлы данного модуля не обязательно должны быть расположены вместе, а могут состоять из разрозненных инструкций, хранящихся в различных местах, которые, в случае их логического соединения, представляют собой данный модуль и достигают целей, заявленных для данного модуля. Следует отметить, что в других вариантах осуществления настоящего технического решения, модуль 110 обработки и модуль 112 создания индекса могут быть реализованы сервером 108 как единый элемент.[76] In other embodiments of the technical solution, the processing module 110 and the index generating module 112 may also be implemented in software to execute various types of processors. Any of the processing module 110 and the index generating module 112 may, for example, include one or more physical or logical blocks of computer instructions, which may, for example, be organized as an object, procedure, or function. However, the executable files of this module do not have to be located together, but can consist of separate instructions stored in various places, which, if they are logically connected, represent this module and achieve the goals stated for this module. It should be noted that in other embodiments of the present technical solution, the processing module 110 and the index creating module 112 may be implemented by the server 108 as a single element.

[77] В дополнительных вариантах осуществления технического решения, модуль 110 обработки и модуль 112 создания индекса не обязаны быть реализованы одинаковыми способами. Например, модуль 110 обработки может быть реализован как программный модуль, а модуль 112 создания индекса может быть реализован как комбинация аппаратного и/или программного обеспечения или наоборот. Функциональности модуля 110 обработки и модуля 112 создания индекса будут более подробно описаны далее, и по меньшей мере некоторые их преимущества станут поняты специалистам в данной области техники.[77] In further embodiments of the technical solution, the processing module 110 and the index generating module 112 need not be implemented in the same ways. For example, processing module 110 may be implemented as a software module, and index creation module 112 may be implemented as a combination of hardware and / or software, or vice versa. The functionality of the processing module 110 and the index generating module 112 will be described in more detail below, and at least some of their advantages will become apparent to those skilled in the art.

[78] В некоторых вариантах осуществления настоящего технического решения, сервер 108 может быть выполнен с возможностью получать множество поисковых запросов 300 (показано на Фиг. 3), введенных в поисковую систему, размещенную на сервере 108. Множество поисковых запросов 300 может включать в себя сотни или тысячи или даже миллионы поисковых запросов, которые были введены в поисковую систему. Например, модуль 110 обработки сервера 108 может получать множество поисковых запросов 300 из базы 140 данных поисковых запросов через путь 202 данных, показанный на Фиг. 2.[78] In some embodiments of the present technical solution, the server 108 may be configured to receive a plurality of search queries 300 (shown in FIG. 3) entered into a search engine hosted on the server 108. The plurality of search queries 300 may include hundreds or thousands or even millions of search queries that have been entered into a search engine. For example, the processing module 110 of the server 108 may receive a plurality of search queries 300 from the search query database 140 via the data path 202 shown in FIG. 2.

[79] Модуль 110 обработки может быть выполнен с возможностью подвергать синтаксическому анализу (парсингу) каждый поисковый запрос из множества поисковых запросов 300 для идентификации значимых слов, содержащихся в каждом поисковом запросе из множества поисковых запросов 300. В некоторых вариантах осуществления технического решения, все слова в данном поисковом запросе, за исключением предлогов, например, "a", "the", "with", "for" и тому подобного, могут быть значимыми словами данного поискового запроса. То, как именно значимые слова из каждого поискового запроса идентифицируются, будет понятно специалисту в данной области техники с учетом следующих примеров.[79] Processing module 110 may be configured to parse each search query from multiple search queries 300 to identify meaningful words contained in each search query from multiple search queries 300. In some embodiments of the technical solution, all words in this search query, with the exception of the prepositions, for example, "a", "the", "with", "for" and the like, can be significant words of this search query. How exactly the relevant words from each search query are identified will be clear to a person skilled in the art, taking into account the following examples.

[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 processing module 110 in other embodiments of the present technical solution, and that the search queries SQ1 , SQ2, SQ3, SQ4, SQ5, SQ6, SQ7, SQ8, SQ9 and SQ10 are represented by lko for ease of understanding.

[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, processing module 110 may parse the search query SQ1 to identify meaningful words: "buying", "car" and "Moscow". Processing module 110 may parse the search query SQ2 to identify meaningful words: "bought", "car" and "Moscow". Processing module 110 may parse the SQ3 search query to identify meaningful words: "buying", "vehicles" and "Moscow". Processing module 110 may parse the search query SQ4 to identify meaningful words: "purchasing", "automobiles" and "Moscow". Processing module 110 may parse the SQ5 search query to identify meaningful words: "purchased", "cars" and "Montreal". Processing module 110 may parse the SQ6 search query to identify meaningful words: "buying", "car" and "Montreal". Processing module 110 may parse SQ7 search to identify meaningful words: "purchasing" and "fridge". Processing module 110 may parse the SQ8 search query to identify meaningful words: “buying,” “fridge,” and “Paris.” Processing module 110 may parse the search query SQ9 to identify meaningful words: "selling", "car" and "Berlin". Processing module 110 may parse the search query SQ10 to identify meaningful words: "sold" and "car".

[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 processing module 110 may be configured to obtain a set of tokens associated with meaningful words identified with a plurality of search queries 300. For example, a set of tokens may be obtained from a token database 120 through data path 204 shown in FIG. 2. In this case, the set of tokens may include tokens associated with significant words (for example, inflected paradigms): "buying", "car", "Moscow", "bought", "vehicles", "automobiles", " purchasing "," purchased "," cars "," Montreal "," fridge "," Paris "," selling "," Berlin "and" sold ".

[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, processing module 110 may be configured to calculate normalized query data 206 based on search queries from a plurality of search queries 300 and tokens from a set of tokens. Further, the processing unit 110 may be configured to store normalized request data 206 in the processing data base 160. For example, processing module 110 may transmit normalized request data 206 to processing data base 160 via data path 208. Normalized request data 206 will now be described with reference to FIG. four.

[85] На Фиг. 4 представлены данные 206 нормализованного запроса, которые включают в себя: множество поисковых запросов 300, связи 404 нормализации, нормализованные счетчики 402 частот и набор нормализованных запросов 400. Модуль 110 обработки может создавать набор нормализованных запросов 400, который включает в себя первый нормализованный запрос (NQ1), второй нормализованный запрос (NQ2), третий нормализованный запрос (NQ4), четвертый нормализованный запрос (NQ5), шестой нормализованный запрос (NQ6), седьмой нормализованный запрос (NQ7), восьмой нормализованный запрос (NQ8) и девятый нормализованный запрос (NQ9).[85] In FIG. 4 presents normalized query data 206, which includes: a plurality of search queries 300, normalization communications 404, normalized frequency counters 402, and a set of normalized queries 400. Processing module 110 may create a set of normalized queries 400 that includes a first normalized query (NQ1 ), the second normalized query (NQ2), the third normalized query (NQ4), the fourth normalized query (NQ5), the sixth normalized query (NQ6), the seventh normalized query (NQ7), the eighth normalized query (NQ8 ) and the ninth normalized query (NQ9).

[86] В общем случае, вычисление набора нормализованных запросов 400 модулем 110 обработки может включать в себя, для каждого поискового запроса из множества поисковых запросов, (i) определение соответствующей лексемы для каждого значимого слова в данном поисковом запросе и (ii) создание данного нормализованного запроса, связанного с данным поисковым запросом, причем данный нормализованный запрос включает в себя соответствующие лексемы каждого значимого слова в данном поисковом запросе.[86] In general, computing a set of normalized queries 400 by processing module 110 may include, for each search query from a plurality of search queries, (i) determining an appropriate token for each meaningful word in a given search query and (ii) creating a given normalized query associated with this search query, and this normalized query includes the corresponding tokens of each significant word in this search query.

[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, processing module 110 may generate NQ1 based on SQ1 and tokens in the token set. Since SQ1 is “buying a car in Moscow”, the processing module 110 identifies in SQ1 by parsing the meaningful words “buying”, “car” and “Moscow”. As a result, the processing module 110 can create NQ1 by amalgamating the corresponding meaningful tokens identified in SQL. Therefore, the processing module 110 can create NQ1 in the form: "buy" "car" "Moscow". In another example, processing module 110 may generate NQ1 based on SQ2 and tokens in the token set. Since SQ2 is “bought a car in Moscow”, the processing module 110 identifies in SQ2 by parsing the significant words “bought”, “car” and “Moscow”. As a result, processing module 110 can create NQ1 by amalgamating the corresponding meaningful tokens identified in SQ2. Therefore, the processing module 110 may create NQ1 in the form: "buy" "car" "Moscow".

[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 processing unit 110 may associate NQ1 with the normalized frequency counter “2” since NQ1 may be associated with two separate search queries, for example, SQ1 and SQ2. The relationship of NQ1 with SQ1 and SQ2, respectively, is shown in FIG. 4 among other normalized relationships 404.

[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, processing module 110 may generate NQ2 based on SQ3 and tokens in the token set. Since SQ3 is “buying vehicles in Moscow”, the processing module 110 identifies in SQ3 by parsing the significant words “buying”, “vehicles” and “Moscow”. As a result, processing module 110 can create NQ1 by amalgamating the corresponding meaningful tokens identified in SQ3. Therefore, the processing module 110 may create NQ2 in the form: "buy" "vehicle" "Moscow".

[90] Модуль 110 обработки может связывать NQ2 с нормализованным счетчиком частоты «1», поскольку NQ2 может быть связан только с одним поисковым запросом из множества поисковых запросов 300, например, SQ3. Связь NQ2 с SQ2 соответственно показана на Фиг. 4 среди других нормализованных связей 404.[90] Processing module 110 may associate NQ2 with a normalized frequency counter “1”, since NQ2 can be associated with only one search query from a plurality of search queries 300, for example, SQ3. The association of NQ2 with SQ2 is respectively shown in FIG. 4 among other normalized relationships 404.

[91] Далее, модуль 110 обработки может создавать NQ3, NQ4, NQ5, NQ6, NQ7, NQ8 и NQ9 аналогично тому, как модуль 110 обработки создает NQ2.[91] Further, processing module 110 may create NQ3, NQ4, NQ5, NQ6, NQ7, NQ8, and NQ9 in the same way that processing module 110 creates NQ2.

[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, processing module 110 may be configured to calculate generalized request data 506. To this end, processing module 110 may receive normalized query data 206 from processing database 160 through data path 502 and a set of synonyms from synonyms database 130 through data path 504. As previously mentioned, normalized query data 206 may include, but is not limited to, data associated with a set of tokens and a set of normalized queries 400. As a result, processing module 110 may obtain a synonym set from the synonym database 130 including the corresponding synonyms each token from the set of tokens. Processing module 110 may be configured to store normalized query data 506 in processing database 160. For example, processing module 110 may transmit generalized request data 506 to processing database 160 through data path 508. Generic request data 506 will now be described with reference to FIG. 6.

[93] На Фиг. 6 представлены данные 506 обобщенного запроса, которые включают в себя: набор нормализованных запросов 400, нормализованные счетчики 602 частот, обобщенные связи 604, обобщенные счетчики 602 частот и набор обобщенных запросов 600. Модуль 110 обработки может выполнять набор обобщенных запросов 600, включая первый обобщенный запрос (GQ1), второй обобщенный запрос (GQ2), третий обобщенный запрос (GQ3), четвертый обобщенный запрос (GQ4), пятый обобщенный запрос (GQ5) и шестой обобщенный запрос (GQ6).[93] In FIG. 6, generalized query data 506 is presented, which includes: a set of normalized queries 400, normalized frequency counters 602, generalized relationships 604, generalized frequency counters 602, and a set of generalized queries 600. Processing module 110 may execute a set of generalized queries 600, including a first generalized query (GQ1), the second generalized query (GQ2), the third generalized query (GQ3), the fourth generalized query (GQ4), the fifth generalized query (GQ5) and the sixth generalized query (GQ6).

[94] В общем случае, вычисление набора обобщенных запросов 600 модулем 110 обработки может включать в себя, для каждого данного нормализованного запроса из набора нормализованных запросов 400, (i) определение соответствующего основного синонима для каждой лексемы в данном поисковом запросе и (ii) создание данного обобщенного запроса, связанного с данным нормализованным запросом, причем данный обобщенный запрос включает в себя соответствующие основные синонимы каждой лексемы в данном нормализованном запросе.[94] In general, the calculation of the set of generalized queries 600 by the processing unit 110 may include, for each given normalized query from the set of normalized queries 400, (i) determining the corresponding basic synonym for each token in the given search query and (ii) creating this generalized query associated with this normalized query, and this generalized query includes the corresponding basic synonyms of each token in this normalized query.

[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, processing module 110 may generate GQ1 based on NQ1 and synonyms from a set of synonyms. Since NQ1 is a "buy" "car" "Moscow", processing module 110 can create GQ1 by amalgamating the corresponding basic synonyms of each token in NQ1. For example, the main synonym for the token "buy" may be "buy", because among the synonyms the words "buy", "buy" may be the most commonly used synonym. In another example, the main synonym for the token "car" may be "car", because among the synonyms the words "car", "car" may be the most commonly used synonym. In another example, the main synonym for the token “Moscow” may be “Moscow”, because among the synonyms the words “Moscow”, “Moscow” may be the most frequently used synonym. Processing module 110 may determine a basic synonym for a given token based on an appropriate indication of the popularity of each synonym in the synonym database 130. Therefore, the processing module 110 may create GQ1 in the form: "buy" "car" "Moscow".

[96] Далее, модуль 110 обработки может создавать GQ1 на основе NQ2 и синонимов из набора синонимов. Поскольку NQ2 представляет собой "buy" "vehicle" "Moscow", модуль 110 обработки может создавать GQ1 путем амальгамирования соответствующих основных синонимов каждой лексемы в NQ2. В одном примере, основной синоним лексемы "vehicle" может представлять собой "car", поскольку среди синонимов слова "vehicle", "car" может быть наиболее часто используемым синонимом. Следовательно, модуль 110 обработки может создавать GQ1 в виде: "buy" "car" "Moscow".[96] Further, processing module 110 may create GQ1 based on NQ2 and synonyms from a set of synonyms. Since NQ2 is a "buy" "vehicle" "Moscow", processing module 110 can create GQ1 by amalgamating the corresponding basic synonyms of each token in NQ2. In one example, the main synonym for the vehicle token may be car, because among the synonyms for vehicle, car may be the most commonly used synonym. Therefore, the processing module 110 may create GQ1 in the form: "buy" "car" "Moscow".

[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, processing module 110 may generate GQ1 based on NQ3 and synonyms from a set of synonyms. Since NQ3 is a "purchase" "automobile" "Moscow", processing module 110 may create GQ1 by amalgamating the corresponding basic synonyms of each token in NQ3. For example, the main synonym for the token “purchase” may be “buy”, because among the synonyms the words “purchase”, “buy” may be the most commonly used synonym. In another example, the main synonym for the token "automobile" may be "car", because among the synonyms the words "automobile", "car" may be the most commonly used synonym. Therefore, the processing module 110 may create GQ1 in the form: "buy" "car" "Moscow".

[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 queries 400 that are associated with this generalized query. Therefore, the processing unit 110 may associate GQ1 with a generalized frequency counter “3” since GQ1 may be associated with three separate normalized queries from the set of normalized queries 400, such as NQ1, NQ2, and NQ3. The links 610, 620 and 630 of the GQ1 request, respectively, with NQ1, NQ2 and NQ3 are shown in FIG. 6 among generalizing relationships 604.

[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, processing module 110 may generate GQ2 based on NQ4 and synonyms from a set of synonyms. Since NQ4 is a "purchase" "car" of "Montreal", processing module 110 can create GQ2 by amalgamating the corresponding basic synonyms of each token in NQ4. For example, the main synonym for the token “purchase” may be “buy”, because among the synonyms the words “purchase”, “buy” may be the most commonly used synonym. In another example, the main synonym for the token "car" may be "car", because among the synonyms the words "car", "car" may be the most commonly used synonym. In another example, the main synonym for the Montreal token may be Montreal, because among the synonyms for Montreal, Montreal may be the most commonly used synonym. Therefore, processing module 110 may create GQ1 in the form: "buy" "car" "Montreal". Similarly, processing module 110 may generate GQ2 based on NQ5 and synonyms from a set of synonyms.

[100] Следовательно, модуль 110 обработки может связывать GQ2 с обобщенным счетчиком частоты «2», поскольку GQ2 может быть связан с двумя отдельными нормализованными запросами из множества нормализованных запросов 400, например, NQ4 и NQ5. Связи 610, 640 и 650 запроса GQ2 соответственно с NQ4 и NQ5 представлены на Фиг. 6 среди обобщающих связей 604.[100] Therefore, the processing unit 110 may associate GQ2 with a generalized frequency counter “2” since GQ2 may be associated with two separate normalized queries from a plurality of normalized queries 400, for example, NQ4 and NQ5. The links 610, 640 and 650 of the GQ2 request, respectively, with NQ4 and NQ5 are shown in FIG. 6 among generalizing relationships 604.

[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 processing unit 110 may create GQ3, GQ4, GQ5 and GQ6 in the same way as the processing unit 110 creates GQ1 and / or GQ2. A relationship of 660 GQ3 with NQ6, a relationship of 670 GQ4 with NQ7, a relationship of 680 GQ5 with NQ8 and a relationship of 690 GQ6 with NQ9 are shown in FIG. 6 among generalizing relationships 604.

[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, server 108 may be configured to compile the index structure 706. To this end, index creation module 112 may receive generalized query data 506 from processing database 160 through data path 702. As mentioned earlier, generalized query data 506 may include a set of normalized queries 400, normalized frequency counters 402, generalized relationships 604, generalized frequency counters 602, and a set of generalized queries 600. Index creation module 112 may also be configured to maintain an index structure 706 in the index database 170 data. For example, index creation module 112 may transmit the index structure 706 to the index database 170 via the data path 708. The index structure 706 will now be described with reference to FIG. 8.

[103] На Фиг. 8 представлена индексная структура 706, которая включает в себя, среди прочего, набор логических деревьев 808. Модуль 112 создания индекса может включать в себя первое логическое дерево 802, второе логическое дерево 804 и другое логическое дерево 806, причем каждое логическое дерево из набора логических деревьев 808 может представлять собой по меньшей мере один обобщенный запрос, связанный по меньшей мере с одним соответствующим нормализованным запросом. Следует отметить, что в других вариантах осуществления технического решения, индексная структура 706 может включать в себя другие структуры, отличные от логических деревьев, представленных на Фиг. 8. Другими словами, индексная структура 706 может представлять собой любую другую индексную структуру, не выходя за границы настоящего технического решения.[103] In FIG. 8 illustrates an index structure 706 that includes, among other things, a set of logical trees 808. The index creation module 112 may include a first logical tree 802, a second logical tree 804, and another logical tree 806, each logical tree from a set of logical trees 808 may be at least one generalized query associated with at least one corresponding normalized query. It should be noted that in other embodiments of the technical solution, the index structure 706 may include other structures other than the logical trees shown in FIG. 8. In other words, the index structure 706 can be any other index structure without going beyond the boundaries of this technical solution.

[104] В общем случае, модуль 112 создания индекса компилирует индексную структуру 706 и может включать в себя вычисление набора логических деревьев 808 для индексирования набора обобщенных запросов 600, связанных с набором нормализованных запросов 400. Как было упомянуто выше, каждое логическое дерево в наборе логических деревьев 808 может представлять собой по меньшей мере один обобщенный запрос, связанный по меньшей мере с одним соответствующим нормализованным запросом.[104] In general, the index creation module 112 compiles the index structure 706 and may include computing a set of logical trees 808 to index a set of generalized queries 600 associated with a set of normalized queries 400. As mentioned above, each logical tree in a set of logical trees 808 may be at least one generalized query associated with at least one corresponding normalized query.

[105] В некоторых вариантах осуществления технического решения, модуль 112 создания индекса может вычислять первое логическое дерево 802 на основе по меньшей мере одного обобщенного запроса (т.е., в этом случае по меньшей мере один обобщенный запрос представляет собой GQ1, GQ2, GQ3 и GQ4), связанного по меньшей мере с одним соответствующим нормализованным запросом (т.е. в этом случае по меньшей мере один соответствующий нормализованный запрос представляет собой NQ1, NQ2, NQ3, NQ4, NQ5, NQ6 и NQ7).[105] In some embodiments of the technical solution, index creation module 112 may compute a first logical tree 802 based on at least one generalized query (ie, in this case, at least one generalized query is GQ1, GQ2, GQ3 and GQ4) associated with at least one corresponding normalized query (i.e., in this case, at least one corresponding normalized query is NQ1, NQ2, NQ3, NQ4, NQ5, NQ6, and NQ7).

[106] Вычисление первого логического дерева 802 модулем 112 создания индекса будет более подробно описано далее. Модуль 112 создания индекса может вычислять первое логическое дерево 802 путем определения родительского узла 822 первого логического дерева 802, дочерних узлов 824 первого уровня первого логического дерева 802 и дочерних узлов 826 второго уровня первого логического дерева 802.[106] The calculation of the first logical tree 802 by the index creating module 112 will be described in more detail below. Index creation module 112 may calculate the first logical tree 802 by determining the parent node 822 of the first logical tree 802, the first level child nodes 824 of the first logical tree 802, and the second level child nodes 826 of the first logical tree 802.

[107] Например, модуль 112 создания индекса может идентифицировать слово "buy" как родительский узел 822 первого логического дерева 802, поскольку по меньшей мере один обобщенный запрос в наборе обобщенных запросов 600 (т.е. в данном случае по меньшей мере один обобщенный запрос представляет собой GQ1, GQ2, GQ3 и GQ4) начинается с основного синонима "buy".[107] For example, the index creation module 112 may identify the word “buy” as the parent node 822 of the first logical tree 802, because at least one generalized query in the set of generalized queries 600 (ie, in this case at least one generalized query represents GQ1, GQ2, GQ3 and GQ4) begins with the main synonym "buy".

[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, index creation module 112 may identify “car” and “refrigerator” as first level child nodes 824 of the first logical tree 802, since GQ1, GQ2, GQ3 and GQ4 include either the primary synonym for “car” or “refrigerator” after the main synonym "buy". In other words, index creation module 112 can identify “car” as one of the first level child nodes 824, since GQ1 and GQ2 contain the main synonym “car” after the main synonym “buy”. Also, index creation module 112 may identify “refrigerator” as one of the first level child nodes 824, since GQ3 and GQ4 contain the main synonym “refrigerator” after the main synonym “buy”.

[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 level child nodes 824, may not be associated with any generalized query among the set of generalized queries 600, since the set of generalized queries 600 does not include this generalized query representing: "buy" "car". On the other hand, the word "refrigerator", which is one of the first level child nodes 824, may be associated with a GQ3 request, since GQ3 is: "buy" "refrigerator". Therefore, GQ3 can be associated with the word "refrigerator", which is one of the first level child nodes 824. Given the fact that GQ3 is linked to NQ6 via bond 660 among the generalizing bonds 604; index creation module 112 may associate NQ3 with the word "refrigerator", which is one of the first level child nodes 824 of the first logical tree 802. It should be noted that GQ3 can be associated with only one node in the index structure 706.

[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 index creation module 112 may identify "Moscow" and "Montreal" as two child nodes 826 of the second level of the first logical tree 802, since GQ1 and GQ2 include either the main synonym "Moscow" or "Montreal" after the main synonyms "buy" and "car". In other words, the index creation module 112 may identify “Moscow” as one of the second level child nodes 826, since GQ1 contains the main synonym “Moscow” after the main synonyms “buy” and “car”. Also, index creation module 112 may identify "Montreal" as one of the second-level child nodes 826, since GQ2 contains the main synonym "Montreal" after the basic synonyms "buy" and "car". In addition, the index creation module 112 may identify “Paris” as one of the second level child nodes 826 of the first logical tree 802, since GQ4 contains the main synonym “Paris” after the basic synonyms “buy” and “refrigerator”.

[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 level child nodes 826, may be associated with the query GQ1, since GQ1 is: "buy" "car" "Moscow". Therefore, GQ1 may be associated with the word "Moscow", which is one of the second level child nodes 826. Given that GQ1 is connected to NQ1, NQ2, and NQ3 via link 610, link 620 and link 630, respectively, among the generalizing bonds 604; index creation module 112 may associate NQ1, NQ2 and NQ3 with the word “Moscow”, which is one of the second level child nodes 826 of the first logical tree 802. It should be noted that GQ1 can be associated with only one node in the index structure 706.

[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 level child nodes 826, may be associated with the query GQ2, since GQ2 is: "buy" "car" "Montreal". Therefore, GQ2 can be associated with the word "Montreal", which is one of the child nodes 826 of the second level. Given the fact that GQ2 is associated with NQ4 and NQ5 via bond 640 and bond 650, respectively, among the generalizing bonds 604; index creation module 112 may associate NQ4 and NQ5 with the word "Montreal", which is one of the child nodes 826 of the second level of the first logical tree 802. It should be noted that GQ2 can be associated with only one node in the index structure 706.

[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 level child nodes 826, may be associated with a GQ4 request, since GQ4 is: "buy" "refrigerator" "Paris". Therefore, GQ4 can be associated with the word "Paris", which is one of the second level child nodes 826. Given that GQ4 is linked to NQ7 via link 670 among the generalizing bonds 604; index creation module 112 may associate NQ7 with the word “Paris”, which is one of the second level child nodes 826 of the first logical tree 802. It should be noted that GQ4 can only be associated with one node in the index structure 706.

[114] В некоторых вариантах осуществления технического решения, модуль 112 создания индекса может вычислять второе логическое дерево 804 на основе по меньшей мере одного обобщенного запроса (т.е., в этом случае по меньшей мере один обобщенный запрос представляет собой GQ5 и GQ6), связанного по меньшей мере с одним соответствующим нормализованным запросом (т.е., в этом случае по меньшей мере один соответствующий нормализованный запрос представляет собой NQ8 и NQ9).[114] In some embodiments of the technical solution, the index creation module 112 may calculate a second logical tree 804 based on at least one generalized query (ie, in this case, at least one generalized query is GQ5 and GQ6), associated with at least one corresponding normalized query (i.e., in this case, at least one corresponding normalized query is NQ8 and NQ9).

[115] Вычисление второго логического дерева 804 модулем 112 создания индекса будет более подробно описано далее. Модуль 112 создания индекса может вычислять второе логическое дерево 804 путем определения родительского узла 842 второго логического дерева 804, дочернего узла 844 первого уровня второго логического дерева 804 и дочернего узла 846 второго уровня второго логического дерева 804.[115] The calculation of the second logical tree 804 by the index creation module 112 will be described in more detail below. Index creation module 112 may calculate the second logical tree 804 by determining the parent node 842 of the second logical tree 804, the first level child node 844 of the second logical tree 804, and the second level child node 846 of the second logical tree 804.

[116] Например, модуль 112 создания индекса может идентифицировать слово "sell" как родительский узел 842 второго логического дерева 804, поскольку по меньшей мере один обобщенный запрос в наборе обобщенных запросов 600 (т.е. в данном случае по меньшей мере один обобщенный запрос представляет собой GQ5 и GQ6) начинается с основного синонима "sell".[116] For example, the index creation module 112 may identify the word “sell” as the parent node 842 of the second logical tree 804, because at least one generalized query is in the set of generalized queries 600 (ie, in this case, at least one generalized query represents GQ5 and GQ6) begins with the main synonym "sell".

[117] Далее, модуль 112 создания индекса может идентифицировать "car" как дочерний узел 844 первого уровня второго логического дерева 804, поскольку GQ1 и GQ4 включают в себя основной синоним "car" после основного синонима "sell". Модуль 112 создания индекса может идентифицировать "car" как дочерний узел 844 первого уровня второго логического дерева 804 как единственный дочерний узел первого уровня второго логического дерева 804, поскольку, в данном случае, ни один из обобщенных запросов из набора обобщенных запросов 600 не включает в себя другой основной синоним (т.е. отличный от "car") после основного синонима "sell".[117] Further, the index creation module 112 may identify “car” as a first level child node 844 of the second logical tree 804, since GQ1 and GQ4 include the primary synonym “car” after the primary synonym “sell”. Index creation module 112 may identify “car” as a first level child node 844 of the second logical tree 804 as the only first level child node of the second logical tree 804, since, in this case, none of the generalized queries from the set of generalized queries 600 includes another main synonym (ie different from "car") after the main synonym "sell".

[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 level child node 844, may be associated with a GQ6 request, since GQ6 is: "sell" "car". Therefore, GQ6 may be associated with the word "car", which is a first level child node 844. Given that GQ6 is linked to NQ9 via link 690 among the generalizing bonds 604; index creation module 112 may associate NQ9 with the word "car", which is a first level child node 844 of the second logical tree 804. It should be noted that GQ6 can only be associated with one node in the index structure 706.

[119] Кроме того, модуль 112 создания индекса может идентифицировать "Berlin" как дочерний узел 846 второго уровня второго логического дерева 804, поскольку GQ5 содержит основной синоним "Berlin" после основных синонимов "sell" и "car". Модуль 112 создания индекса может идентифицировать "Berlin" как дочерний узел 846 второго уровня второго логического дерева 804 как единственный дочерний узел второго уровня второго логического дерева 804, поскольку, в данном случае, ни один из обобщенных запросов из набора обобщенных запросов 600 не включает в себя другой основной синоним (т.е. отличный от "Berlin") после основных синонимов "sell" и "car".[119] In addition, the index creation module 112 may identify “Berlin” as a second level child node 846 of the second logical tree 804, since GQ5 contains the main synonym “Berlin” after the main synonyms “sell” and “car”. Index creation module 112 may identify “Berlin” as a second-level child node 846 of the second logical tree 804 as the only second-level child node of the second logical tree 804, since, in this case, none of the generalized queries from the set of generalized queries 600 includes another main synonym (ie different from "Berlin") after the main synonyms "sell" and "car".

[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 level child node 846, may be associated with a GQ5 request since GQ5 is: "sell" "car" "Berlin". Therefore, GQ5 can be associated with the word "Berlin", which is a child node 846 of the second level. Given that GQ5 is linked to NQ8 via link 680 among the generalizing bonds 604; index creation module 112 may associate NQ8 with the word "Berlin", which is a child node 846 of the second level of the second logical tree 804. It should be noted that GQ5 can be associated with only one node in the index structure 706.

[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, index creation module 112 may compute another logical tree 806 based on at least one generalized query associated with at least one corresponding normalized query. As mentioned previously, a plurality of search queries 300 may include many other search queries, as shown in FIG. 3, different from SQ1, SQ2, SQ3, SQ4, SQ5, SQ6, SQ7, SQ8, SQ9 and SQ10, which are simplified in some embodiments of the present technical solution. This means that the set of normalized queries 400 can include many other normalized queries, as shown in FIG. 4, different from NQ1, NQ2, NQ3, NQ4, NQ5, NQ6, NQ7, NQ8 and NQ9, which are simplified in some embodiments of the present technical solution. This also means that the set of generalized queries 600 can include many other generalized queries, as shown in FIG. 6, different from GQ1, GQ2, GQ3, GQ4, GQ5 and GQ6, which are simplified in some embodiments of the present technical solution. Therefore, index creation module 112 may compute another logical tree 806, which is at least one other logical tree, based on at least one generalized query associated with at least one corresponding normalized query.

[122] Следует отметить, что в некоторых вариантах осуществления технического решения, родительский узел 822 первого логического дерева 802 и родительский узел 842 второго логического дерева 804 могут быть связаны по меньшей мере с одним обобщенным запросом. В общем случае, данный родительский узел данного логического дерева из набора логических деревьев 808 может быть связан с данным обобщенным запросом и по меньшей мере одним соответственно связанным данным нормализованным запросом.[122] It should be noted that in some embodiments of the technical solution, the parent node 822 of the first logical tree 802 and the parent node 842 of the second logical tree 804 may be associated with at least one generic request. In general, a given parent node of a given logical tree from a set of logical trees 808 may be associated with this generalized query and at least one correspondingly associated data with a normalized query.

[123] Например, если набор обобщенных запросов 600 содержит другой обобщенный запрос, который представляет собой слово "buy", родительский узел 822 первого логического дерева 802 может быть связан с другим обобщенным запросом. Поскольку другой обобщенный запрос будет связан по меньшей мере с одним другим нормализованным запросом, по меньшей мере один другой нормализованный запрос может быть связан с родительским узлом 822 первого логического дерева 802. Аналогично, если набор обобщенных запросов 600 содержит дополнительный обобщенный запрос, который представляет собой слово "sell", родительский узел 842 второго логического дерева 804 может быть связан с дополнительным обобщенным запросом. Поскольку дополнительный обобщенный запрос будет связан по меньшей мере с одним другим нормализованным запросом, по меньшей мере один дополнительный нормализованный запрос может быть связан с родительским узлом 842 первого логического дерева 804.[123] For example, if the set of generalized requests 600 contains another generalized request, which is the word "buy", the parent node 822 of the first logical tree 802 may be associated with another generalized request. Since another generalized query will be associated with at least one other normalized query, at least one other normalized query may be associated with the parent node 822 of the first logical tree 802. Similarly, if the set of generalized queries 600 contains an additional generalized query, which is a word "sell", the parent node 842 of the second logical tree 804 may be associated with an additional generic request. Since an additional generalized query will be associated with at least one other normalized query, at least one additional normalized query may be associated with the parent node 842 of the first logical tree 804.

[124] В некоторых вариантах осуществления настоящего технического решения, сервер 108 может быть выполнен с возможностью обрабатывать поисковые фразы, хранящиеся в базе 150 данных целевого содержимого. Для обработки поисковых фраз, введенных в сервис поисковой системы, размещенный на сервере 108, сервер 108 может использовать индексную структуру 706, хранящуюся в индексной базе 170 данных.[124] In some embodiments of the present technical solution, the server 108 may be configured to process search phrases stored in the target content database 150. To process the search phrases entered into the search engine service hosted on the server 108, the server 108 may use the index structure 706 stored in the index database 170.

[125] Например, сервер 108 может быть выполнен с возможностью получать поисковую фразу среди поисковых фраз из базы 150 данных целевого содержимого. Как было упомянуто ранее, поисковая фраза может быть связана с рекламным объявлением из множества рекламных объявлений, полученных сервером 108 с помощью первого пакета 194 данных для установления совпадения рекламного объявления с текущими поисковыми запросами, введенными в поисковую систему пользователем 102 и/или другими потенциальными пользователями сервиса поисковой системы.[125] For example, the server 108 may be configured to retrieve a search phrase from search phrases from the target content database 150. As mentioned earlier, the search phrase may be associated with an advertisement from a plurality of advertisements received by the server 108 using the first data packet 194 to match the advertisement with the current search queries entered into the search engine by the user 102 and / or other potential users of the service search engine.

[126] Сервер 108 может быть выполнен с возможностью обрабатывать поисковые фразы, полученные из базы 150 данных целевого содержимого. В общем случае, обработка поисковой фразы сервером 108 может включать в себя: (i) вычисление нормализованной поисковой фразы на основе поисковой фразы и лексем из набора лексем; (ii) вычисление обобщенной поисковой фразы на основе нормализованной поисковой фразы и синонимов из набора синонимов и (iii) связывание по меньшей мере одного нормализованного запроса из набора нормализованных запросов 400 с поисковой фразой на основе обобщенной поисковой фразы и индексной структуры 706. Подобная обработка поисковой фразы сервером 108 позволяет улучшить установление соответствия между поисковой фразой и текущими поисковыми запросами. Другими словами, улучшенное установление соответствия может снизить время отклика сервера 108 для предоставления данного рекламного объявления пользователю 102 и/или другим потенциальным пользователям в ответ на совпадение между данной поисковой фразой, связанной с данным рекламным объявлением, и данным текущим поисковым запросом, введенным пользователем 102 и/или другими потенциальными пользователями. В других вариантах осуществления технического решения, подобная обработка поисковой фразы может выполняться в оффлайн режиме, что может снизить необходимую пропускную способность нагрузки на сеть 106. Далее, обработка поисковой фразы и поисковых запросов может требовать меньшей вычислительных ресурсов, чем способы, существующие в известном уровне техники, поскольку разрешается проблема комбинаторного взрыва при обработке длинных поисковых запросов и/или поисковых фраз.[126] Server 108 may be configured to process search phrases obtained from target content database 150. In general, processing the search phrase by the server 108 may include: (i) calculating a normalized search phrase based on the search phrase and tokens from the set of tokens; (ii) calculating a generalized search phrase based on a normalized search phrase and synonyms from a set of synonyms; and (iii) linking at least one normalized query from a set of normalized queries 400 to a search phrase based on a generalized search phrase and index structure 706. Similar processing of a search phrase the server 108 can improve the establishment of correspondence between the search phrase and the current search queries. In other words, improved matching can reduce the response time of the server 108 for delivering this advertisement to the user 102 and / or other potential users in response to a match between the given search phrase associated with this advertisement and this current search query entered by the user 102 and / or other potential users. In other embodiments of the technical solution, such search phrase processing can be performed offline, which can reduce the necessary bandwidth load on the network 106. Further, processing the search phrase and search queries may require less computing resources than the methods existing in the prior art. , since the problem of a combinatorial explosion is resolved when processing long search queries and / or search phrases.

[127] Как было ранее упомянуто, обработка поисковой фразы сервером 108 может включать в себя вычисление нормализованной поисковой фразы на основе поисковой фразы и лексемы из набора лексем. Для целей облегчения понимания, предполагается, что поисковая фраза представляет собой "procuring a car in Moscow". Следует отметить, что множество возможных поисковых фраз может быть рассмотрено в других вариантах осуществления технического решения, не выходя за границы настоящей технологии.[127] As previously mentioned, the processing of the search phrase by the server 108 may include calculating a normalized search phrase based on the search phrase and the token from the set of tokens. For the purpose of facilitating understanding, it is assumed that the search phrase is “procuring a car in Moscow”. It should be noted that many possible search phrases can be considered in other embodiments of the technical solution, without going beyond the boundaries of this technology.

[128] Аналогично тому, что модуль 110 обработки вычисляет данный нормализованный запрос на основе данного поискового запроса, модуль 110 обработки сервера 108 может вычислять нормализованную поисковую фразу на основе поисковой фразы и лексем из набора лексем.[128] Similar to the fact that the processing unit 110 calculates a given normalized query based on the given search query, the processing unit 110 of the server 108 can calculate the normalized search phrase based on the search phrase and tokens from the set of tokens.

[129] Например, модуль 110 обработки может создавать нормализованную поисковую фразу на основе поисковой фразы и лексем в наборе лексем. Модуль 110 обработки может идентифицировать в поисковой фразе, с помощью парсинга, значимые слова "procuring", "car" и "Moscow". В результате, модуль 110 обработки может создавать нормализованную поисковую фразу с помощью амальгамирования соответствующих лексем значимых слов (т.е. словоизмененных парадигм), идентифицированных в поисковой фразе. Следовательно, модуль 110 обработки может создавать нормализованную поисковую фразу в виде: "procure" "car" "Moscow". В некоторых вариантах осуществления технического решения, сервер 108 может быть выполнен с возможностью сохранять поисковую фразу, нормализованную поисковую фразу и нормализованную связь между поисковой фразой и нормализованной поисковой фразой в базе 160 данных обработки.[129] For example, processing module 110 may generate a normalized search phrase based on the search phrase and tokens in the token set. Processing module 110 may identify the relevant words "procuring", "car" and "Moscow" in a search phrase, using parsing. As a result, the processing module 110 can create a normalized search phrase by amalgamating the corresponding tokens of meaningful words (i.e., modified paradigms) identified in the search phrase. Therefore, the processing module 110 may create a normalized search phrase in the form: "procure" "car" "Moscow". In some embodiments of the technical solution, the server 108 may be configured to store a search phrase, a normalized search phrase, and a normalized relationship between the search phrase and the normalized search phrase in processing database 160.

[130] Аналогично тому, что модуль 110 обработки вычисляет данный обобщенный запрос на основе данного нормализованного запроса, модуль 110 обработки сервера 108 может вычислять обобщенную поисковую фразу на основе нормализованной поисковой фразы и синонимов из набора синонимов.[130] Similar to the fact that the processing unit 110 computes the given generalized query based on the given normalized query, the processing unit 110 of the server 108 can calculate the generalized search phrase based on the normalized search phrase and synonyms from the set of synonyms.

[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, processing module 110 may create a generic search phrase based on a normalized search phrase and synonyms from a set of synonyms. Since the normalized search phrase is "procure" "car" "Moscow", the processing module 110 may create a generalized search phrase by amalgamating the corresponding basic synonyms of each token in the normalized search phrase. The main synonym for the procure token may be buy, since among the synonyms the words procure, buy may be the most commonly used synonym. In another example, the main synonym for the token "car" may be "car", because among the synonyms the words "car", "car" may be the most commonly used synonym. In another example, the main synonym for the token “Moscow” may be “Moscow”, because among the synonyms the words “Moscow”, “Moscow” may be the most frequently used synonym. Therefore, the processing module 110 may create a generalized search phrase in the form: "buy" "car" "Moscow". In some embodiments of the technical solution, the server 108 may further be configured to store a generalized search phrase and a generalized relationship between a normalized search phrase and a generalized search phrase in processing database 160.

[132] Далее, сервер 108 может быть выполнен с возможностью связывать по меньшей мере один нормализованный запрос из набора нормализованных запросов в индексной структуре 706 с поисковой фразой на основе обобщенной поисковой фразы и индексной структуры 706.[132] Further, the server 108 may be configured to associate at least one normalized query from a set of normalized queries in the index structure 706 with a search phrase based on a generalized search phrase and index structure 706.

[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, server 108 may access the index structure 706 in the index database 170. Further, the server 108 can access the first logical tree 802, since the generalized search phrase begins with the word "buy", and the parent node 822 of the first logical tree 802 is also the word "buy". Further, the server 108 can access the first level child node 824, which is “car,” and then access the second level child node 826, which is “Moscow,” since the generic search phrase includes “car” and "Moscow" after the word "buy". In other words, the server 108 can access the second level child node 826, which is “Moscow,” since the generic search phrase matches GQ1. Therefore, the server 108 may associate at least one normalized query, which is NQ1, NQ2, and NQ3, with a search phrase and a normalized search phrase.

[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, server 108 may associate NQ1, NQ2 and NQ3 and the normalized search phrase with an advertisement associated with the search phrase. In some embodiments of the technical solution, the server 108 may store NQ1, NQ2, and NQ3 and a normalized search phrase in the target content database 150, and their corresponding associations with the advertisement associated with the search phrase. In other words, the advertisement may be associated with the search phrase, NQ1, NQ2, NQ3, and the normalized search phrase, respectively.

[135] В дополнительных вариантах осуществления технического решения, сервер 108 может сохранять GQ1 в базе 150 данных целевого содержимого, и их связь с рекламным объявлением, связанным с поисковой фразой. Другими словами, рекламное объявление может быть связано с поисковой фразой, NQ1, NQ2, NQ3, нормализованной поисковой фразой и GQ1 (т.е. в этом случае, GQ1 соответствует обобщенной поисковой фразе).[135] In further embodiments of the technical solution, the server 108 may store GQ1 in the target content data base 150, and their association with the advertisement associated with the search phrase. In other words, the advertisement may be associated with a search phrase, NQ1, NQ2, NQ3, a normalized search phrase, and GQ1 (i.e., in this case, GQ1 corresponds to a generalized search phrase).

[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, server 108 may further associate the normalized search phrase "procure" "car" "Moscow" with GQ1 (which is associated with the second level child node 826 representing "Moscow") in the first logical tree 802 of the index structure 706.

[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 user 102 may wish to enter the current search query “buying vehicle in Moscow”. To this end, the user 102 can interact with the client device 104 so that the client device 104 runs the browser application. In addition, user 102 can access the website through a browser application associated with a search engine service that is executed by server 108. User 102 can enter the current search term “buying vehicle in Moscow” into the search engine service. To this end, the client device 104 may create a second data packet 192 that contains data representing the current search request, and may transmit the second data packet 192 through the network 106 to the server 108.

[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 second data packet 192 by the server 108), the server 108 may create a current search results page (SERP) based on data representing the current search query. The current search results page may include a current advertisement that is targeted to the user 102 based on the current search query. Further, the server 108 may create a third data packet 196 that contains data representing the current SERP, and may transmit the third data packet 196 to the client device 104. In response to receiving the third data packet 196, the client device 104 may display the current SERP to the user through a browser application 102. How exactly the current advertisement is selected by the server 108 to present to the client device 104 on the SERP will be described later.

[139] В некоторых вариантах осуществления настоящего технического решения, модуль 110 обработки может создавать нормализованный поисковый запрос на основе текущего поискового запроса и лексем из набора лексем. Модуль 110 обработки может идентифицировать в текущем поисковом запросе, с помощью парсинга, значимые слова "buying", "vehicle" и "Moscow". В результате, модуль 110 обработки может создавать нормализованный текущий поисковый запроса с помощью амальгамирования соответствующих лексем значимых слов, идентифицированных в текущем поисковом запросе. Следовательно, модуль 110 обработки может создавать нормализованный текущий поисковый запрос в виде: "buy" "vehicle" "Moscow". В некоторых вариантах осуществления технического решения, сервер 108 может быть выполнен с возможностью сохранять текущий поисковый запрос, нормализованный текущий поисковый запрос и нормализованную связь между текущим поисковым запросом и нормализованным текущим поисковым запросом в базе 160 данных обработки.[139] In some embodiments of the present technical solution, the processing unit 110 may generate a normalized search query based on the current search query and tokens from the set of tokens. Processing module 110 may identify the relevant words "buying", "vehicle" and "Moscow" in the current search query, using parsing. As a result, the processing unit 110 may generate a normalized current search query by amalgamating the relevant meaningful tokens identified in the current search query. Therefore, the processing module 110 may generate a normalized current search query in the form: "buy" "vehicle" "Moscow". In some embodiments of the technical solution, the server 108 may be configured to save the current search query, the normalized current search query, and the normalized relationship between the current search query and the normalized current search query in the processing database 160.

[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 server 108 may be configured to access the target content database 150. As a result, the server 108 may be configured to match a normalized current search query with at least one normalized search phrase and / or at least one normalized query. In this case, the server 108 may determine that the normalized current search query matches NQ2, which is associated with the advertisement associated with the search phrase "procuring a car in Moscow". Although the search phrase “procuring a car in Moscow” provided by the targeted content resources 180 in connection with the advertisement does not match the current search query, server 108 may select the advertisement as the current advertisement to be presented on the current page search results to user 102 because the normalized current search query matches NQ2, which is associated with the advertisement. Further, although the normalized search phrase "procure" "car" "Moscow" associated with the advertisement does not match the normalized current search query, server 108 may select the advertisement as the current advertisement that will be presented on the current results page the search to user 102 because the normalized current search query corresponds to NQ2, which is associated with the advertisement.

[141] В другом примере, пользователь 102 может ввести текущий поисковый запрос "acquiring a vehicle in Moscow". Модуль 110 обработки может создавать нормализованный поисковый запрос на основе текущего поискового запроса и лексем из набора лексем. В этом случае, модуль 110 обработки может идентифицировать в текущем поисковом запросе, с помощью парсинга, значимые слова "acquiring", "vehicle" и "Moscow". В результате, модуль 110 обработки может создавать нормализованный текущий поисковый запроса с помощью амальгамирования соответствующих лексем значимых слов, идентифицированных в текущем поисковом запросе. Следовательно, в данном случае, модуль 110 обработки может создавать нормализованный текущий поисковый запрос в виде: "acquire" "vehicle" "Moscow".[141] In another example, user 102 may enter the current search query "acquiring a vehicle in Moscow". Processing module 110 may generate a normalized search query based on the current search query and tokens from the set of tokens. In this case, the processing module 110 may identify the relevant words "acquiring", "vehicle" and "Moscow" in the current search query, using parsing. As a result, the processing unit 110 may generate a normalized current search query by amalgamating the relevant meaningful tokens identified in the current search query. Therefore, in this case, the processing module 110 may create a normalized current search query in the form: "acquire" "vehicle" "Moscow".

[142] В других вариантах осуществления технического решения, сервер 108 может быть выполнен с возможностью получать доступ к базе 150 данных целевого содержимого. Сервер 108 может быть выполнен с возможностью устанавливать соответствие нормализованного текущего поискового запроса по меньшей мере с одной нормализованной поисковой фразой и/или по меньшей мере одним нормализованным запросом. В данном случае, сервер 108 может определять, что нормализованный текущий поисковый запрос не совпадает с какой-либо нормализованной поисковой фразой и/или каким-либо нормализованным запросом в базе 150 данных целевого содержимого. В результате, сервер 108 может быть далее выполнен с возможностью вычислять обобщенный текущий поисковый запрос на основе нормализованного текущего поискового запроса и синонимов из набора синонимов.[142] In other embodiments of the technical solution, the server 108 may be configured to access the target content database 150. Server 108 may be configured to match a normalized current search query with at least one normalized search phrase and / or at least one normalized query. In this case, the server 108 may determine that the normalized current search query does not match any normalized search phrase and / or any normalized query in the target content database 150. As a result, the server 108 may be further configured to calculate a generalized current search query based on a normalized current search query and synonyms from a set of synonyms.

[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 processing module 110 may generate a generalized current search query by amalgamating the corresponding basic synonyms of each token in the normalized current search query. The main synonym for the token “acquire” can be “buy”, because among the synonyms the words “acquire”, “buy” may be the most commonly used synonym. In another example, the main synonym for the vehicle token may be car, since among the synonyms for the word vehicle, car may be the most commonly used synonym. In another example, the main synonym for the token “Moscow” may be “Moscow”, because among the synonyms the words “Moscow”, “Moscow” may be the most frequently used synonym. Therefore, the processing module 110 may create a generalized current search query in the form: "buy" "car" "Moscow". In some embodiments of the technical solution, the server 108 may further be configured to store a generalized current search query and a generalized relationship between a normalized current search query and a generalized current search query in the processing database 160.

[144] Далее, сервер 108 может получать доступ к индексной структуре 706, сохраненной в индексной базе 170 данных. Конкретнее, сервер 108 может получать доступ к дочернему узлу 826 второго уровня первого логического дерева 802, который представляет собой "Moscow", поскольку обобщенный текущий поисковый запрос соответствует GQ1. Сервер 108 может быть выполнен с возможностью связывать обобщенный текущий поисковый запрос "acquire" "vehicle" "Moscow" с GQ1 и, следовательно, с дочерним узлом 826 второго уровня первого логического дерева 802, который представляет собой "Moscow".[144] Further, the server 108 can access the index structure 706 stored in the index database 170. More specifically, the server 108 can access the second level child node 826 of the first logical tree 802, which is “Moscow,” since the generic current search query matches GQ1. Server 108 may be configured to associate a generic current search query "acquire" "vehicle" "Moscow" with GQ1 and, therefore, with a child node 826 of the second level of the first logical tree 802, which is "Moscow".

[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 server 108 may be configured to match a generalized current search query with at least one normalized search phrase and / or at least one normalized query and / or at least one generalized query in the database 150 of the target content data. In this case, server 108 may determine that the generalized current search query "buy" "car" "Moscow" matches GQ1, which is associated with an advertisement associated with the search phrase "procuring a car in Moscow". Although the search phrase “procuring a car in Moscow” provided by the targeted content resources 180 in connection with the advertisement does not match the current search query, server 108 may select the advertisement as the current advertisement to be presented on the current page search results to user 102 because the generalized current search query corresponds to GQ1, which is associated with an advertisement.

[146] В некоторых вариантах осуществления настоящего технического решения, сервер 108 может быть выполнен с возможностью исполнять способ 900, представленный на Фиг. 9, обработки поисковых запросов. Способ 900 будет более подробно описан далее.[146] In some embodiments of the present technical solution, the server 108 may be configured to execute the method 900 of FIG. 9, search query processing. Method 900 will be described in more detail below.

[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 method 900 begins at block 902, where the server 902 receives a plurality of search queries 300 (shown in FIG. 3) entered into a search engine located on the server 108. In some embodiments, a plurality of search queries 300 may be received. a server 108 from the search query database 140 via the data path 202 shown in FIG. 2. Search queries from a plurality of search queries 300 may be previously entered by a user 102 and / or other potential users into a search engine service implemented by the server 108.

[149] ЭТАП 904: Обработка каждого поискового запроса из множества поисковых запросов[149] STEP 904: Processing each search query from multiple search queries

[150] Способ 900 продолжается на этапе 904, где сервер 108 обрабатывает каждый запрос из множества поисковых запросов 300.[150] Method 900 continues to block 904, where server 108 processes each request from a plurality of search queries 300.

[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 server 108 receiving a set of tokens and a set of synonyms. For example, a set of tokens can be obtained from the token database 120 by the processing module 110 of the server 108 via the data path 204 shown in FIG. 2. A set of tokens can be obtained from the synonym database 130 by the processing unit 110 through the data path 504 shown in FIG. 5.

[152] В некоторых вариантах осуществления технического решения, обработка каждого поискового запроса может включать в себя вычисление сервером 108 набора нормализованных запросов 400, показанных на Фиг. 4, на основе поисковых запросов из множества поисковых запросов 300 и лексем из набора лексем.[152] In some embodiments of the technical solution, the processing of each search query may include the server 108 calculating a set of normalized queries 400 shown in FIG. 4, based on search queries from a plurality of search queries 300 and tokens from a set of tokens.

[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 server 108 of a set of generalized queries 600 shown in FIG. 6, based on normalized queries from a set of normalized queries 400 and synonyms from a set of synonyms. Processing module 110 may calculate a set of generalized queries 600 so that each normalized query from the set of normalized queries 400 is associated with a corresponding generalized query from the set of generalized queries 600.

[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 server 108 of the index structure 706 shown in FIG. 7 and 8, based on the set of logical trees 808. In some embodiments of the technical solution, compiling the index structure 706 includes calculating by the server 108 the set of logical trees 808 shown in FIG. 8, wherein each logical tree from the set of logical trees 808 represents at least one generalized query associated with at least one corresponding normalized query.

[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 method 900 continues to block 906, where the server 108 obtains a search phrase entered into a search engine located on the server 108. In some embodiments of the technical solution, the server 108 may obtain a search phrase from the target content database 150. The search phrase may be associated with the advertisement, which allows you to establish the correspondence of the advertisement with the current search queries, which were previously entered by the user 102 and / or other potential users in the search engine service implemented by the server 108.

[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 server 108 from resources 180 of the target content. For example, target content resources 180 may provide the search engine service, which is implemented by server 108, target content data that includes: (i) data associated with a variety of advertisements, for example, promoting products and / or services, (ii) search phrases associated with each advertisement in a plurality of advertisements to establish correspondence of advertisements with current search queries entered into the search engine by user 102 and / or other potential all users of the search engine service and (iii) prices offered by the respective target content provider from a plurality of target content providers to display their advertisements to the user 102 and / or other potential users of the search engine service.

[158] Ресурсы 180 целевого содержимого могут передавать серверу 108 через сеть 106 первый пакет 194 данных. Первый пакет 194 данных может включать в себя данные целевого содержимого, которые могут включать в себя, среди прочего, данные, связанные с рекламным объявлением, а также с соответствующей связанной поисковой фразой. В ответ на получение первого пакета 194 данных, сервер 108 может быть выполнен с возможностью сохранять данные целевого содержимого в базе 150 данных целевого содержимого.[158] Target content resources 180 may transmit to server 108 via network 106 a first data packet 194. The first data packet 194 may include target content data, which may include, inter alia, data related to the advertisement, as well as to a related related search phrase. In response to receiving the first data packet 194, the server 108 may be configured to store the target content data in the target content database 150.

[159] ЭТАП 908: Обработка поисковой фразы[159] STEP 908: Processing a search phrase

[160] Способ 900 завершается на этапе 908, где сервер 108 обрабатывает поисковую фразу. Например, обработка поисковой фразы может выполняться модулем 110 обработки сервера 108.[160] Method 900 ends at step 908, where server 108 processes the search phrase. For example, search phrase processing may be performed by processing module 110 of server 108.

[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, processing module 110 may identify, using parsing, relevant words in a search phrase. Further, for each significant word in the search phrase, the processing module 110 may determine the corresponding token from the set of tokens. To this end, processing module 110 may retrieve a set of tokens from the token database 120. As a result, the processing unit 110 may amalgamate the corresponding tokens of each significant word in the search phrase to calculate a normalized search phrase. In further embodiments of the technical solution, the processing module 110 may store the search phrase, the normalized search phrase, and the normalized relationship between the search phrase and the normalized search phrase in the processing database 160 for further processing.

[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, processing module 110 may determine, for each token from a normalized search phrase, a corresponding primary synonym from a set of synonyms. To this end, processing module 110 may retrieve a set of synonyms from the synonym database 130. As a result, the processing module 110 can amalgamate the corresponding basic synonyms of each token from the normalized search phrase to calculate a generalized search phrase. In further embodiments of the technical solution, the processing module 110 may store the generalized search phrase, the normalized search phrase, and the generalized relationship between the generalized search phrase and the normalized search phrase in the processing database 160 for further processing.

[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 server 108 may access the index structure 706 (see FIG. 8) in the index database 170. Further, the server 108 can access the first logical tree 802, since the generalized search phrase begins with the word "buy", and the parent node 822 of the first logical tree 802 is also the word "buy". Further, the server 108 can access the first level child node 824, which is “car,” and then access the second level child node 826, which is “Moscow,” since the generic search phrase includes “car” and "Moscow" after the word "buy". In other words, the server 108 can access the second level child node 826, which is “Moscow,” since the generic search phrase matches GQ1. Therefore, the server 108 may associate at least one normalized query, which is NQ1, NQ2, and NQ3, with a search phrase and a normalized search phrase.

[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, server 108 may associate NQ1, NQ2 and NQ3 and the normalized search phrase with an advertisement associated with the search phrase. In some embodiments of the technical solution, the server 108 may store NQ1, NQ2, and NQ3 and a normalized search phrase in the target content database 150, and their corresponding associations with the advertisement associated with the search phrase. In other words, the advertisement may be associated with the search phrase, NQ1, NQ2, NQ3, and the normalized search phrase, respectively.

[167] В дополнительных вариантах осуществления технического решения, сервер 108 может сохранять GQ1 в базе 150 данных целевого содержимого, и их связь с рекламным объявлением, связанным с поисковой фразой. Другими словами, рекламное объявление может быть связано с поисковой фразой, NQ1, NQ2, NQ3, нормализованной поисковой фразой и обобщенной поисковой фразой (т.е. в этом случае, обобщенная поисковая фраза соответствует GQ1).[167] In further embodiments of the technical solution, the server 108 may store GQ1 in the target content data base 150, and their association with the advertisement associated with the search phrase. In other words, the advertisement may be associated with a search phrase, NQ1, NQ2, NQ3, a normalized search phrase, and a generalized search phrase (i.e., in this case, the generalized search phrase corresponds to GQ1).

[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, server 108 may further associate the normalized search phrase "procure" "car" "Moscow" with GQ1 (which is associated with the second level child node 826 representing "Moscow") in the first logical tree 802 of the index structure 706.

[169] В некоторых вариантах осуществления способа 900, обработка поисковых запросов из множества поисковых запросов 300 и поисковых фраз сервером 108 может позволить улучшить установление соответствия между поисковыми фразами и текущими поисковыми запросами. Другими словами, улучшенное установление соответствия может снизить время отклика сервера 108 для предоставления данного рекламного объявления пользователю 102 и/или другим потенциальным пользователям в ответ на совпадение между данной поисковой фразой, связанной с данным рекламным объявлением, и данным текущим поисковым запросом, введенным пользователем 102 и/или другими потенциальными пользователями. В других вариантах осуществления технического решения, подобная обработка поисковых фраз и поисковых запросов может выполняться в оффлайн режиме, что может снизить необходимую пропускную способность нагрузки на сеть 106 при предоставлении текущей страницы результатов поиска (SERP) поисковой системы, размещенной на сервере 108. Далее, обработка поисковых фраз и поисковых запросов может требовать меньшей вычислительных ресурсов, чем способы, существующие в известном уровне техники, поскольку разрешается проблема комбинаторного взрыва при обработке длинных поисковых запросов и/или длинных поисковых фраз.[169] In some embodiments of method 900, processing search queries from a plurality of search queries 300 and search phrases by server 108 may improve the mapping between search phrases and current search queries. In other words, improved matching can reduce the response time of the server 108 for delivering this advertisement to the user 102 and / or other potential users in response to a match between the given search phrase associated with this advertisement and this current search query entered by the user 102 and / or other potential users. In other embodiments of the technical solution, similar processing of search phrases and search queries can be performed offline, which can reduce the necessary bandwidth load on the network 106 by providing the current page of search results (SERP) of the search system located on the server 108. Next, processing search phrases and search queries may require less computational resources than the methods existing in the prior art, since the problem of a combinatorial explosion is solved when processing long search queries and / or long search phrases.

[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] ITEM 2 The method (900) according to claim 1, further including:

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] ITEM 3 The method (900) according to claim 2, wherein calculating a set of normalized queries (400) includes for each given search query from a plurality of search queries (300):

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 claim 3, in which the calculation of the set of generalized queries (600) includes for each given normalized query from the set of normalized queries (400):

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 claim 3, wherein the given normalized query is associated with a normalized frequency counter that indicates a series of search queries from a plurality of search queries (300) that are associated with this normalized query.

[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 claim 3, wherein each significant word is a modified paradigm of the corresponding token.

[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 claim 2, wherein at least one logical tree from the set of logical trees (808) includes:

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 claim 2, further comprising:

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)

1. Способ обработки поисковых запросов, способ выполняется на сервере, сервер размещает поисковую систему, способ включает в себя:1. The method of processing search queries, the method is performed on the server, the server hosts the search engine, the method includes: - получение сервером множества поисковых запросов, введенных в поисковую систему; и- receipt by the server of a multitude of search queries entered into the search engine; and - обработку сервером каждого поискового запроса во множестве поисковых запросов, обработка каждого поискового запроса включает в себя:- server processing of each search query in a plurality of search queries, processing of each search query includes: i) получение сервером набора лексем и набора синонимов;i) receipt by the server of a set of tokens and a set of synonyms; ii) вычисление сервером набора нормализованных запросов на основе поисковых запросов и лексем из набора лексем;ii) the server calculates a set of normalized queries based on search queries and tokens from the set of tokens; iii) вычисление сервером набора обобщенных запросов на основе нормализованных запросов из набора нормализованных запросов и синонимов из набора синонимов, при этом каждый нормализованный запрос связан с соответствующим обобщенным запросом из набора обобщенных запросов;iii) computing by the server 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; iv) компиляцию сервером индексной структуры на основе набора логических деревьев, причем компиляция индексной структуры включает в себя вычисление сервером набора логических деревьев, причем каждое логическое дерево из набора логических деревьев представляет собой по меньшей мере один обобщающий запрос, связанный по меньшей мере с одним нормализованным запросом.iv) 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 from the set of logical trees representing at least one generalized query associated with at least one normalized query . 2. Способ по п. 1, дополнительно включающий в себя:2. The method according to p. 1, further comprising: - получение сервером поисковой фразы, введенной в поисковую систему;- receipt by the server of the search phrase entered into the search system; - обработку сервером поисковой фразы, обработка поисковой фразы включает в себя:- processing by the server of the search phrase, the processing of the search phrase includes: i) вычисление сервером нормализованной поисковой фразы на основе поисковой фразы и лексем из набора лексем;i) the server calculating a normalized search phrase based on the search phrase and tokens from the set of tokens; ii) вычисление сервером обобщенной поисковой фразы на основе нормализованной поисковой фразы и синонимов из набора синонимов; иii) the server calculating a generalized search phrase based on a normalized search phrase and synonyms from a set of synonyms; and iii) связывание сервером по меньшей мере одного нормализованного запроса из набора нормализованных запросов с поисковой фразой на основе обобщенной поисковой фразы и индексной структуры, по меньшей мере один нормализованный запрос отличается от нормализованной поисковой фразы.iii) server 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, at least one normalized query is different from a normalized search phrase. 3. Способ по п. 2, в котором вычисление набора нормализованных запросов включает в себя для каждого данного поискового запроса из множества поисковых запросов:3. The method according to p. 2, in which the calculation of the set of normalized queries includes for each given search query from the set of search queries: - идентификацию сервером соответствующей лексемы из каждого значимого слова из данного поискового запроса;- server identification of the corresponding token from each significant word from a given search query; - создание сервером данного нормализованного запроса, связанного с данным поисковым запросом, данный нормализованный запрос включает в себя соответствующую лексему каждого значимого слова из данного поискового запроса.- creation by the server of this normalized query associated with this search query, this normalized query includes the corresponding token of each significant word from this search query. 4. Способ по п. 3, в котором вычисление набора обобщенных запросов включает в себя для каждого данного нормализованного запроса из множества нормализованных запросов:4. The method according to p. 3, in which the calculation of the set of generalized queries includes for each given normalized query from the set of normalized queries: - идентификацию сервером соответствующего основного синонима для каждой лексемы из данного нормализованного запроса;- identification by the server of the corresponding basic synonym for each token from this normalized request; - создание сервером данного обобщенного запроса, связанного с данным нормализованным запросом, данный обобщенный запрос включает в себя соответствующий основной синоним для каждой лексемы из данного нормализованного запроса.- creation by the server of this generalized request associated with this normalized request, this generalized request includes the corresponding main synonym for each token from this normalized request. 5. Способ по п. 3, в котором данный нормализованный запрос связан с нормализованным счетчиком частоты, который указывает на ряд поисковых запросов из множества поисковых запросов, которые связаны с данным нормализованным запросом.5. The method of claim 3, wherein the 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. 6. Способ по п. 4, в котором данный обобщенный запрос связан с обобщенным счетчиком частоты, который указывает на ряд нормализованных запросов из набора нормализованных запросов, которые связаны с данным обобщенным запросом.6. The method according to claim 4, in which the generalized query is associated with a generalized frequency counter, which indicates a series of normalized queries from a set of normalized queries that are associated with this generalized query. 7. Способ по п. 3, в котором каждое значимое слово является словоизмененной парадигмой соответствующей лексемы.7. The method according to p. 3, in which each significant word is a modified paradigm of the corresponding token. 8. Способ по п. 4, в котором соответствующий основной синоним каждой лексемы определен модулем обработки на основе соответствующих указаний популярности синонимов из набора синонимов.8. The method according to claim 4, in which 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. 9. Способ по п. 2, в котором по меньшей мере одно логическое дерево из набора логических деревьев включает в себя:9. The method of claim 2, wherein the at least one logical tree from the set of logical trees includes: - родительский узел;- parent node; - по меньшей мере один дочерний узел первого уровня; и- at least one first level child node; and - по меньшей мере один дочерний узел второго уровня.- at least one child node of the second level. 10. Способ по п. 9, в котором по меньшей мере одно логическое дерево представляет собой по меньшей мере один соответствующий обобщенный запрос, связанный по меньшей мере с одним соответствующим нормализованным запросом, причем по меньшей мере один обобщенный запрос связан по меньшей мере с одним из:10. The method 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 : - родительский узел;- parent node; - по меньшей мере один дочерний узел первого уровня; и- at least one first level child node; and - по меньшей мере один дочерний узел второго уровня.- at least one child node of the second level. 11. Способ по п. 2, дополнительно включающий в себя:11. The method according to p. 2, further comprising: - получение сервером текущего поискового запроса, введенного в поисковую систему;- receipt by the server of the current search query entered into the search system; - обработку сервером текущего поискового запроса, обработка текущего поискового запроса включает в себя:- server processing the current search query, processing the current search query includes: i) вычисление сервером нормализованного текущего поискового запроса на основе текущего поискового запроса и лексем из набора лексем;i) the server calculating the normalized current search query based on the current search query and tokens from the set of tokens; ii) вычисление сервером обобщенного текущего поискового запроса на основе нормализованного текущего поискового запроса и синонимов из набора синонимов; иii) the server computes a generalized current search query based on the normalized current search query and synonyms from the set of synonyms; and iii) связывание сервером нормализованного текущего поискового запроса с целевым содержимым, связанным с поисковой фразой на основе по меньшей мере одного из:iii) the server associating a normalized current search query with targeted content related to the search phrase based on at least one of: - нормализованной поисковой фразы; и- a normalized search phrase; and - по меньшей мере одного нормализованного запроса, связанного с поисковой фразой.- at least one normalized query related to the search phrase. 12. Сервер для обработки поисковых запросов, сервер размещает поисковую систему, сервер выполнен с возможностью осуществлять:12. A server for processing search queries, the server hosts a search engine, the server is configured to: - получение множества поисковых запросов, введенных в поисковую систему; и- receiving multiple search queries entered into the search engine; and - обработку каждого поискового запроса из множества поисковых запросов, и для обработки каждого поискового запроса сервер выполнен с возможностью осуществлять:- processing each search query from a plurality of search queries, and for processing each search query, the server is configured to: i) получение набора лексем и набора синонимов;i) obtaining a set of tokens and a set of synonyms; ii) вычисление набора нормализованных запросов на основе поисковых запросов и лексем из набора лексем;ii) calculating a set of normalized queries based on search queries and tokens from a set of tokens; iii) вычисление набора обобщенных запросов на основе нормализованных запросов из набора нормализованных запросов и синонимов из набора синонимов, при этом каждый нормализованный запрос связан с соответствующим обобщенным запросом из набора обобщенных запросов; иiii) calculating a set of generalized queries 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 iv) компиляцию индексной структуры на основе набора логических деревьев, для компиляции индексной структуры сервер выполнен с возможностью осуществлять вычисление сервером набора логических деревьев, причем каждое логическое дерево из набора логических деревьев представляет собой по меньшей мере нормализованным запросом.iv) compiling the index structure based on the set of logical trees, to compile the index structure, the server is configured to compute the set of logical trees by the server, each logical tree from the set of logical trees being at least a normalized query. 13. Сервер по п. 12, сервер дополнительно выполнен с возможностью осуществлять:13. The server according to p. 12, the server is additionally configured to perform: - получение поисковой фразы, введенной в поисковую систему;- getting the search phrase entered into the search engine; - обработку поисковой фразы, для обработки поисковой фразы сервер выполнен с возможностью осуществлять:- processing of the search phrase, for processing the search phrase, the server is configured to: i) вычисление нормализованной поисковой фразы на основе поисковой фразы и лексем из набора лексем;i) calculating a normalized search phrase based on the search phrase and tokens from the set of tokens; ii) вычисление обобщенной поисковой фразы на основе нормализованной поисковой фразы и синонимов из набора синонимов; иii) calculating a generalized search phrase based on a normalized search phrase and synonyms from a set of synonyms; and iii) связывание по меньшей мере одного нормализованного запроса из набора нормализованных запросов с поисковой фразой на основе обобщенной поисковой фразы и индексной структуры, по меньшей мере один нормализованный запрос отличается от нормализованной поисковой фразы.iii) linking at least one normalized query from the set of normalized queries to a search phrase based on a generalized search phrase and index structure, at least one normalized query is different from a normalized search phrase. 14. Сервер по п. 13, в котором для вычисления набора нормализованных запросов сервер выполнен с возможностью осуществлять для каждого данного поискового запроса из множества поисковых запросов:14. The server according to claim 13, in which for calculating a set of normalized queries, the server is configured to implement for each given search query from a plurality of search queries: - идентификацию соответствующей лексемы из каждого значимого слова из данного поискового запроса;- identification of the corresponding token from each significant word from a given search query; - создание данного нормализованного запроса, связанного с данным поисковым запросом, данный нормализованный запрос включает в себя соответствующую лексему каждого значимого слова из данного поискового запроса.- the creation of this normalized query associated with this search query, this normalized query includes the corresponding token of each significant word from this search query. 15. Сервер по п. 14, в котором для вычисления набора обобщенных запросов сервер выполнен с возможностью осуществлять для каждого данного нормализованного запроса из набора нормализованных запросов:15. The server according to claim 14, in which to calculate the set of generalized requests, the server is configured to implement for each given normalized request from the set of normalized requests: - идентификацию соответствующего основного синонима для каждой лексемы из данного нормализованного запроса;- identification of the corresponding basic synonym for each token from the given normalized query; - создание данного обобщенного запроса, связанного с данным нормализованным запросом, данный обобщенный запрос включает в себя соответствующий основной синоним для каждой лексемы из данного нормализованного запроса.- creation of this generalized query associated with this normalized query, this generalized query includes the corresponding main synonym for each token from this normalized query. 16. Сервер по п. 14, в котором данный нормализованный запрос связан с нормализованным счетчиком частоты, который указывает на ряд поисковых запросов из множества поисковых запросов, которые связаны с данным нормализованным запросом.16. The server of claim 14, wherein the 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. 17. Сервер по п. 15, в котором данный обобщенный запрос связан с обобщенным счетчиком частоты, который указывает на ряд нормализованных запросов из набора нормализованных запросов, которые связаны с данным обобщенным запросом.17. The server according to claim 15, wherein the generalized request is associated with a generalized frequency counter that indicates a series of normalized requests from a set of normalized requests that are associated with this generalized request. 18. Сервер по п. 14, в котором каждое значимое слово является словоизмененной парадигмой соответствующей лексемы.18. The server of claim 14, wherein each significant word is a modified paradigm of the corresponding token. 19. Сервер по п. 15, в котором соответствующий основной синоним каждой лексемы определен на основе соответствующих указаний популярности синонимов из набора синонимов.19. The server of claim 15, wherein the corresponding primary synonym of each token is determined based on the corresponding indications of the popularity of synonyms from the set of synonyms. 20. Сервер по п. 13, в котором по меньшей мере одно логическое дерево из набора логических деревьев включает в себя:20. The server according to claim 13, in which at least one logical tree from a set of logical trees includes: - родительский узел;- parent node; - по меньшей мере один дочерний узел первого уровня; и- at least one first level child node; and - по меньшей мере один дочерний узел второго уровня.- at least one child node of the second level. 21. Сервер по п. 20, в котором по меньшей мере одно логическое дерево представляет собой по меньшей мере один соответствующий обобщенный запрос, связанный по меньшей мере с одним соответствующим нормализованным запросом, причем по меньшей мере один обобщенный запрос связан по меньшей мере с одним из:21. The server according to claim 20, in which at least one logical tree is 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 node; - по меньшей мере один дочерний узел первого уровня; и- at least one first level child node; and - по меньшей мере один дочерний узел второго уровня.- at least one child node of the second level. 22. Сервер по п. 13, в котором сервер также выполнен с возможностью осуществлять:22. The server according to claim 13, in which the server is also configured to: - получение текущего поискового запроса, введенного в поисковую систему;- receiving the current search query entered into the search engine; - обработку текущего поискового запроса, для обработки текущего поискового запроса сервер выполнен с возможностью осуществлять:- processing the current search request, to process the current search request, the server is configured to: i) вычисление нормализованного текущего поискового запроса на основе текущего поискового запроса и лексем из набора лексем;i) calculating the normalized current search query based on the current search query and tokens from the set of tokens; ii) вычисление обобщенного текущего поискового запроса на основе нормализованного текущего поискового запроса и синонимов из набора синонимов; иii) calculating a generalized current search query based on a normalized current search query and synonyms from a set of synonyms; and iii) связывание нормализованного текущего поискового запроса с целевым содержимым, связанным с поисковой фразой на основе по меньшей мере одного из:iii) associating a normalized current search query with targeted content related to the search phrase based on at least one of: - нормализованной поисковой фразы; и- a normalized search phrase; and - по меньшей мере одного нормализованного запроса, связанного с поисковой фразой.- at least one normalized query related to the search phrase.
RU2015156412A 2015-12-28 2015-12-28 Method and system of processing of search requests RU2632134C2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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.