Способ и система обработки поисковых запросов
Иллюстрации
Показать всеИзобретение относится к системам и способам обработки поисковых запросов, введенных в сервис поисковой системы. Техническим результатом является уменьшение вычислительных ресурсов за счет того, что разрешается проблема комбинаторного взрыва при обработке длинных поисковых запросов. В способе обработки поисковых запросов получают множество поисковых запросов, введенных в поисковую систему. Обрабатывают каждый поисковый запрос, причем обработка включает получение набора лексем и набора синонимов, вычисление набора нормализованных запросов на основе поисковых запросов и лексем, вычисление набора обобщенных запросов на основе нормализованных запросов и синонимов и компиляцию индексной структуры на основе набора логических деревьев. Каждый нормализованный запрос связан с соответствующим обобщенным запросом. Компиляция индексной структуры включает вычисление набора логических деревьев, причем каждое логическое дерево представляет собой обобщающий запрос, связанный с обобщенным запросом. 2 н. и 20 з.п. ф-лы, 9 ил.
Реферат
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
[01] Настоящая технология относится к системам и способам обработки поисковых запросов, введенных в сервис поисковой системы. Конкретнее, системы и способы нацелены на вычисление обобщенных запросов на основе поисковых запросов для предоставления содержимого пользователю.
УРОВЕНЬ ТЕХНИКИ
[02] Совпадение по ключевым словам является удобным способом для предоставления целевого содержимого пользователям сервисов поисковых систем. В некоторых случаях такое совпадение может предоставлять более релевантные поисковые результаты пользователю в ответ на введенный запрос в поисковую систему. В других случаях, поставщики целевого содержимого могут предоставлять информацию о продукте и/или услуге, которые они рекламируют, о поисковых фразах, которые будут использованы для установления соотношения рекламного объявления с поисковых запросом, введенным пользователем, и о ценах, предлагаемых поставщиком сервиса поисковой системы для отображения своих рекламных объявлений. Например, когда пользователь вводит поисковый запрос в поисковую систему, процедура установления соответствия выполняется между поисковым запросом и поисковой фразой, предоставляемой рекламодателем и/или поставщиком содержимого, и рекламное объявление и/или поисковые результаты, релевантные поисковому запросу выбираются поисковой системой для предоставления рассматриваемому пользователю. Тем не менее, следует иметь в виду, что могут присутствовать семантические ошибки, грамматические ошибки, орфографические ошибки и так далее, связанные с процедурой установления соответствия.
[03] Например, поисковые запросы, введенные пользователями, могут содержать опечатки, которые пользователи по ошибке вводят в момент введения поисковых запросов. В другом примере, поисковый запрос и поисковая фраза могут быть ведены в поисковую систему на другом языке. В другом варианте, поисковый запрос может включать в себя не значимые слова, например, предлоги, которые могут усложнять процедуру установления соответствия между данным поисковым запросом и данной поисковой фразой.
[04] Одна из проблем, возникающих при установлении соответствия поисковых запросов и поисковых фраз, относится к синонимам. Действительно, в некоторых случаях, если поисковый запрос включает в себя синоним слова, содержащегося в поисковой фразе, данный поисковый запрос и данная поисковая фраза могут не совпадать. Это несовпадение является нежелательным для: (i) пользователя, поскольку он может не получить рекламное объявление об интересующем продукте; (ii) рекламодателя и/или поставщика содержимого, поскольку их продукт и/или услуга и/или содержимое не достаточно хорошо рекламируются; и (iii) поставщика поисковой системы, поскольку не достигается оптимальная монетизация, связанная с рекламными объявлениями/содержимым, которые рекламируются с помощью страницы результатов поиска (SERP).
[05] Некоторые поставщики поисковой системы могут создавать синонимичные фразы, эквивалентные поисковым запросам, для попытки установления соответствия между синонимичными фразами и поисковыми фразами, предоставляемыми рекламодателем. Обычный подход к созданию синонимичных фраз выглядит следующим образом. Поисковый запрос считается набором из слов, для которого выбирается набор синонимов, и далее синонимичные фразы создаются как возможные комбинации рассматриваемых синонимов. Количество таких комбинаций представляет собой 2N-1, причем N - число слов в поисковом запросе. Это означает, что более длинные поисковые запросы приводят к экспоненциальному росту комбинаций, также известному как комбинаторный взрыв.
РАСКРЫТИЕ
[06] Настоящее техническое решение может уменьшить по меньшей мере некоторые недостатки, присущие текущему уровню техники в отношении обработки поисковых запросов.
[07] В некоторых вариантах осуществления технического решения, предлагается способ обработки поисковых запросов, который выполняется на сервере, и в котором сервер размещает поисковую систему. Способ включает в себя: получение сервером множества поисковых запросов, введенных в поисковую систему; и обработку сервером каждого поискового запроса во множестве поисковых запросов. Обработка каждого поискового запроса включает в себя: получение сервером набора лексем и набора синонимов; вычисление сервером набора нормализованных запросов на основе поисковых запросов и лексем из набора лексем; вычисление сервером набора обобщенных запросов на основе нормализованных запросов из набора нормализованных запросов и синонимов из набора синонимов, при этом каждый нормализованный запрос связан с соответствующим обобщенным запросом из набора обобщенных запросов; и компиляцию сервером индексной структуры на основе набора логических деревьев, причем компиляция индексной структуры включает в себя вычисление сервером набора логических деревьев. Каждое логическое дерево в наборе логических деревьев представляет собой по меньшей мере один обобщенный запрос, связанный по меньшей мере с одним соответствующим нормализованным запросом.
[08] В некоторых вариантах осуществления способа, способ дополнительно включает в себя: получение сервером поисковой фразы, введенной в поисковую систему; обработку сервером поисковой фразы. Обработка поисковой фразы включает в себя: вычисление сервером нормализованной поисковой фразы на основе поисковой фразы и лексем из набора лексем; вычисление сервером обобщенной поисковой фразы на основе нормализованной поисковой фразы и синонимов из набора синонимов; и связывание сервером по меньшей мере одного нормализованного запроса из набора нормализованных запросов с поисковой фразой на основе обобщенной поисковой фразы и индексной структуры, причем по меньшей мере один нормализованный запрос отличается от нормализованной поисковой фразы.
[09] В некоторых вариантах осуществления способа, вычисление набора нормализованных запросов включает в себя для каждого поискового запроса из множества поисковых запросов: определение сервером соответствующей лексемы для каждого значимого слова в данном поисковом запросе; создание сервером данного нормализованного запроса, связанного с данным поисковым запросом, причем данный нормализованный запрос включает в себя соответствующую лексему каждого значимого слова в данном поисковом запросе.
[10] В некоторых вариантах осуществления способа, вычисление набора обобщенных запросов включает в себя для каждого нормализованного запроса из набора нормализованных запросов: определение сервером соответствующего основного синонима для каждой лексемы в данном нормализованном запросе; создание сервером данного обобщенного запроса, связанного с данным нормализованным запросом, причем данный обобщенный запрос включает в себя соответствующий основной синоним каждой лексемы в данном нормализованном запросе.
[11] В некоторых вариантах осуществления способа, данный нормализованный запрос связан с нормализованным счетчиком частоты, который указывает на ряд поисковых запросов из множества поисковых запросов, которые связаны с данным нормализованным запросом.
[12] В некоторых вариантах осуществления способа, данный обобщенный запрос связан с обобщенным счетчиком частоты, который указывает на ряд нормализованных запросов из набора нормализованных запросов, которые связаны с данным обобщенным запросом.
[13] В некоторых вариантах осуществления способа, каждое значимое слово является словоизмененной парадигмой соответствующей лексемы.
[14] В некоторых вариантах осуществления способа, соответствующий основной синоним каждой лексемы определен модулем обработки на основе соответствующих указаний популярности синонимов из набора синонимов.
[15] В некоторых вариантах осуществления способа, по меньшей мере одно логическое дерево из набора логических деревьев включает в себя: родительский узел; по меньшей мере один дочерний узел первого уровня и по меньшей мере один дочерний узел второго уровня.
[16] В некоторых вариантах осуществления способа, по меньшей мере одно логическое дерево представляет по меньшей мере один соответствующий обобщенный запрос, связанный по меньшей мере с одним соответствующим нормализованным запросом, причем по меньшей мере один обобщенный запрос связан по меньшей мере с одним из: родительским узлом, по меньшей мере одним дочерним узлом первого уровня и по меньшей мере одним дочерним узлом второго уровня.
[17] В некоторых вариантах осуществления способа, способ дополнительно включает в себя: получение сервером текущего поискового запроса, введенного в поисковую систему; обработку сервером текущего поискового запроса. Обработка текущего поискового запроса включает в себя: вычисление сервером нормализованного текущего поискового запроса на основе текущего поискового запроса и лексем из набора лексем; вычисление сервером обобщенного текущего поискового запроса на основе нормализованного поискового запроса и синонимов из набора синонимов и связывание сервером нормализованного текущего запроса с целевым содержимым, связанным с поисковой фразой на основе по меньшей мере одного из: нормализованной поисковой фразы и по меньшей мере одного нормализованного запроса, связанного с поисковой фразой.
[18] В некоторых вариантах осуществления технического решения, предлагается сервер для обработки поисковых запросов, который размещает поисковую систему. Сервер выполнен с возможностью осуществлять: получение сервером множества поисковых запросов, введенных в поисковую систему; и обработку сервером каждого поискового запроса во множестве поисковых запросов. Для обработки каждого поискового запроса сервер выполнен с возможностью осуществлять: получение набора лексем и набора синонимов; вычисление набора нормализованных запросов на основе поисковых запросов и лексем из набора лексем; вычисление набора обобщенных запросов на основе нормализованных запросов из набора нормализованных запросов и синонимов из набора синонимов, при этом каждый нормализованный запрос связан с соответствующим обобщенным запросом из набора обобщенных запросов; и компиляцию индексной структуры на основе набора логических деревьев, причем компиляция индексной структуры включает в себя сервер, выполненный с возможностью осуществлять вычисление набора логических деревьев, причем каждое логическое дерево из набора логических деревьев представляет по меньшей мере один обобщенный запрос, связанный по меньшей мере с одним соответствующим нормализованным запросом.
[19] В некоторых вариантах осуществления сервера, сервер дополнительно выполнен с возможностью осуществлять: получение поисковой фразы, введенной в поисковую систему; обработку поисковой фразы. Для обработки поисковой фразы сервер выполнен с возможностью осуществлять: вычисление нормализованной поисковой фразы на основе поисковой фразы и лексем из набора лексем; вычисление обобщенной поисковой фразы на основе нормализованной поисковой фразы и синонимов из набора синонимов и связывание по меньшей мере одного нормализованного запроса из набора нормализованных запросов с поисковой фразой на основе обобщенной поисковой фразы и индексной структуры, причем по меньшей мере один нормализованный запрос отличается от нормализованной поисковой фразы.
[20] В некоторых вариантах осуществления сервера, для вычисления набора нормализованных запросов, сервер дополнительно выполнен с возможностью осуществлять, для каждого данного поискового запроса из множества поисковых запросов: определение соответствующей лексемы для каждого значимого слова в данном поисковом запросе; создание данного нормализованного запроса, связанного с данным поисковым запросом, причем данный нормализованный запрос включает в себя соответствующую лексему каждого значимого слова в данном поисковом запросе.
[21] В некоторых вариантах осуществления способа, для вычисления набора обобщенных запросов, сервер выполнен с возможностью осуществлять, для каждого нормализованного запроса из набора нормализованных запросов: определение соответствующего основного синонима для каждой лексемы в данном нормализованном запросе; создание данного обобщенного запроса, связанного с данным нормализованным запросом, причем данный обобщенный запрос включает в себя соответствующий основной синоним каждой лексемы в данном нормализованном запросе.
[22] В некоторых вариантах осуществления сервера, данный нормализованный запрос связан с нормализованным счетчиком частоты, который указывает на ряд поисковых запросов из множества поисковых запросов, которые связаны с данным нормализованным запросом.
[23] В некоторых вариантах осуществления сервера, данный обобщенный запрос связан с обобщенным счетчиком частоты, который указывает на ряд нормализованных запросов из набора нормализованных запросов, которые связаны с данным обобщенным запросом.
[24] В некоторых вариантах осуществления сервера, каждое значимое слово является словоизмененной парадигмой соответствующей лексемы.
[25] В некоторых вариантах осуществления сервера, соответствующий основной синоним каждой лексемы определен на основе соответствующих указаний популярности синонимов из набора синонимов.
[26] В некоторых вариантах осуществления сервера, по меньшей мере одно логическое дерево из набора логических деревьев включает в себя: родительский узел; по меньшей мере один дочерний узел первого уровня и по меньшей мере один дочерний узел второго уровня.
[27] В некоторых вариантах осуществления сервера, по меньшей мере одно логическое дерево представляет по меньшей мере один соответствующий обобщенный запрос, связанный по меньшей мере с одним соответствующим нормализованным запросом, причем по меньшей мере один обобщенный запрос связан по меньшей мере с одним из: родительским узлом, по меньшей мере одним дочерним узлом первого уровня и по меньшей мере одним дочерним узлом второго уровня.
[28] В некоторых вариантах осуществления сервера, сервер дополнительно выполнен с возможностью осуществлять: получение текущего поискового запроса, введенного в поисковую систему; обработку текущего поискового запроса. Для обработки текущего поискового запроса, сервер выполнен с возможностью осуществлять: вычисление нормализованного текущего поискового запроса на основе текущего поискового запроса и лексем из набора лексем; вычисление обобщенного текущего поискового запроса на основе нормализованного поискового запроса и синонимов из набора синонимов; и связывание нормализованного текущего запроса с целевым содержимым, связанным с поисковой фразой на основе по меньшей мере одного из: нормализованной поисковой фразы и по меньшей мере одного нормализованного запроса, связанного с поисковой фразой.
[29] В контексте настоящего описания, если четко не указано иное, "электронное устройство", "пользовательское устройство", "сервер", "удаленный сервер" и "компьютерная система" подразумевают под собой аппаратное и/или системное обеспечение, подходящее к решению соответствующей задачи. Таким образом, некоторые неограничивающие примеры аппаратного и/или программного обеспечения включают в себя компьютеры (серверы, настольные компьютеры, ноутбуки, нетбуки и так далее), смартфоны, планшеты, сетевое оборудование (маршрутизаторы, коммутаторы, шлюзы и так далее) и/или их комбинацию.
[30] В контексте настоящего описания, если четко не указано иное, "машиночитаемый носитель" и "память" подразумевает под собой носитель абсолютно любого типа и характера, не ограничивающие примеры включают в себя ОЗУ, ПЗУ, диски (компакт диски, DVD-диски, дискеты, жесткие диски и т.д.), USB-ключи, флеш-карты, твердотельные накопители и накопители на магнитной ленте.
[31] В контексте настоящего описания, если четко не указано иное, «указание» информационного элемента может представлять собой сам информационный элемент или указатель, отсылку, ссылку или другой косвенный способ, позволяющий получателю указания найти сеть, память, базу данных или другой машиночитаемый носитель, из которого может быть извлечен информационный элемент. Например, указание на файл может включать в себя сам файл (т.е. его содержимое), или же оно может являться уникальным дескриптором файла, идентифицирующим файл по отношению к конкретной файловой системе, или каким-то другими средствами передавать получателю указание на сетевую папку, адрес памяти, таблицу в базе данных или другое место, в котором можно получить доступ к файлу. Как будет понятно специалистам в данной области техники, степень точности, необходимая для такого указания, зависит от степени первичного понимания того, как должна быть интерпретирована информация, которой обмениваются получатель и отправитель указателя. Например, если до установления связи между отправителем и получателем понятно, что признак информационного элемента принимает вид ключа базы данных для записи в конкретной таблице заранее установленной базы данных, содержащей информационный элемент, то передача ключа базы данных - это все, что необходимо для эффективной передачи информационного элемента получателю, несмотря на то, что сам по себе информационный элемент не передавался между отправителем и получателем указания.
[32] В контексте настоящего описания, если конкретно не указано иное, слова «первый», «второй», «третий» и т.д. используются в виде прилагательных исключительно для того, чтобы отличать существительные, к которым они относятся, друг от друга, а не для целей описания какой-либо конкретной взаимосвязи между этими существительными. Так, например, следует иметь в виду, что использование терминов «первый сервер» и «третий сервер» не подразумевает какого-либо порядка, отнесения к определенному типу, хронологии, иерархии или ранжирования (например) серверов/между серверами, равно как и их использование (само по себе) не предполагает, что некий "второй сервер" обязательно должен существовать в той или иной ситуации. В дальнейшем, как указано здесь в других контекстах, упоминание «первого» элемента и «второго» элемента не исключает возможности того, что это один и тот же фактический реальный элемент. Так, например, в некоторых случаях, «первый» сервер и «второй» сервер могут являться одним и тем же программным и/или аппаратным обеспечением, а в других случаях они могут являться разным программным и/или аппаратным обеспечением.
[33] Каждый вариант осуществления настоящего технического решения преследует по меньшей мере одну из вышеупомянутых целей и/или объектов, но наличие всех не является обязательным. Следует иметь в виду, что некоторые объекты данной технического решения, полученные в результате попыток достичь вышеупомянутой цели, могут не удовлетворять этой цели и/или могут удовлетворять другим целям, отдельно не указанным здесь.
[34] Дополнительные и/или альтернативные характеристики, аспекты и преимущества вариантов осуществления настоящего технического решения станут очевидными из последующего описания, прилагаемых чертежей и прилагаемой формулы изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[35] Для лучшего понимания настоящего технического решения, а также других ее аспектов и характерных черт сделана ссылка на следующее описание, которое должно использоваться в сочетании с прилагаемыми чертежами, где:
[36] На Фиг. 1 представлена диаграмма компьютерной системы, которая подходит для реализации настоящей технологии, и/или которая используется в сочетании с вариантами осуществления настоящей технологи.
[37] На Фиг. 2 представлено схематическое изображение обработки поисковых запросов из множества поисковых запросов модулем обработки, в некоторых вариантах осуществления настоящего технического решения, для вычисления, среди прочего, набора нормализованных запросов.
[38] На Фиг. 3 представлено множество поисковых запросов, которое хранится в базе данных поисковых запросов, как описано в некоторых вариантах осуществления настоящего технического решения.
[39] На Фиг. 4 представлен набор нормализованных запросов и связей между нормализованными запросами и соответственными связанными поисковыми запросами, как показано в некоторых вариантах осуществления настоящего технического решения.
[40] На Фиг. 5 представлено схематическое изображение обработки нормализованных запросов из набора нормализованных запросов модулем обработки, в некоторых вариантах осуществления настоящего технического решения, для вычисления, среди прочего, набора обобщенных запросов.
[41] На Фиг. 6 представлен набор обобщенных запросов и связей между обобщенными запросами и соответственными связанными нормализованными запросами, созданными модулем обработки и хранящимися в базе данных обработки, как показано в некоторых вариантах осуществления настоящего технического решения.
[42] На Фиг. 7 представлено схематическое изображение обработки обобщенных запросов и нормализованных запросов модулем обработки, в некоторых вариантах осуществления настоящего технического решения, для компиляции индексной структуры.
[43] На Фиг. 8 представлена индексная структура, включающая в себя набор логических деревьев, который хранится в индексной базе данных, как описано в некоторых вариантах осуществления настоящего технического решения.
[44] На Фиг. 9 представлена блок-схема способа обработки поисковых запросов, который выполняется сервером в некоторых вариантах осуществления настоящего технического решения.
[45] Также следует отметить, что чертежи выполнены не в масштабе, если не специально указано иное.
ОСУЩЕСТВЛЕНИЕ
[46] Все примеры и используемые здесь условные конструкции предназначены, главным образом, для того, чтобы помочь читателю понять принципы настоящей технологии, а не для установления границ ее объема. Следует также отметить, что специалисты в данной области техники могут разработать различные схемы, отдельно не описанные и не показанные здесь, но которые, тем не менее, воплощают собой принципы настоящей технологии и находятся в границах ее объема.
[47] Кроме того, для ясности в понимании, следующее описание касается достаточно упрощенных вариантов осуществления настоящей технологии. Как будет понятно специалисту в данной области техники, многие варианты осуществления настоящего технического решения будут обладать гораздо большей сложностью.
[48] Некоторые полезные примеры модификаций настоящей технологии также могут быть охвачены нижеследующим описанием. Целью этого является также исключительно помощь в понимании, а не определение объема и границ настоящего технического решения. Эти модификации не представляют собой исчерпывающего списка, и специалисты в данной области техники могут создавать другие модификации, остающиеся в границах объема настоящей технологии. Кроме того, те случаи, где не были представлены примеры модификаций, не должны интерпретироваться как то, что никакие модификации невозможны, и/или что то, что было описано, является единственным вариантом осуществления этого элемента настоящей технологии.
[49] Более того, все заявленные здесь принципы, аспекты и варианты осуществления настоящей технологии, равно как и конкретные их примеры, предназначены для обозначения их структурных и функциональных основ, вне зависимости от того, известны ли они на данный момент или будут разработаны в будущем. Таким образом, например, специалистами в данной области техники будет очевидно, что представленные здесь блок-схемы представляют собой концептуальные иллюстративные схемы, отражающие принципы настоящей технологии. Аналогично, любые блок-схемы, диаграммы, псевдокоды и т.п. представляют собой различные процессы, которые могут быть представлены на машиночитаемом носителе и, таким образом, использоваться компьютером или процессором, вне зависимости от того, показан явно подобный компьютер или процессор, или нет.
[50] Функции различных элементов, показанных на фигурах, включая функциональный блок, обозначенный как «процессор» или «графический процессор», могут быть обеспечены с помощью специализированного аппаратного обеспечения или же аппаратного обеспечения, способного использовать подходящее программное обеспечение. Когда речь идет о процессоре, функции могут обеспечиваться одним специализированным процессором, одним общим процессором или множеством индивидуальных процессоров, причем некоторые из них могут являться общими. В некоторых вариантах осуществления настоящей технологии процессор может являться универсальным процессором, например, центральным процессором (CPU) или специализированным для конкретной цели процессором, например, графическим процессором (GPU). Более того, использование термина "процессор" или "контроллер" не должно подразумевать исключительно аппаратное обеспечение, способное поддерживать работу программного обеспечения, и может включать в себя, без установления ограничений, цифровой сигнальный процессор (DSP), сетевой процессор, интегральная схема специального назначения (ASIC), программируемую пользователем вентильную матрицу (FPGA), постоянное запоминающее устройство (ПЗУ) для хранения программного обеспечения, оперативное запоминающее устройство (ОЗУ) и энергонезависимое запоминающее устройство. Также может быть включено другое аппаратное обеспечение, обычное и/или специальное.
[51] Программные модули или простые модули, представляющие собой программное обеспечение, которое может быть использовано здесь в комбинации с элементами блок-схемы или другими элементами, которые указывают на выполнение этапов процесса и/или текстовое описание. Подобные модели могут быть выполнены на аппаратном обеспечении, показанном напрямую или косвенно.
[52] С учетом этих примечаний, далее будут рассмотрены некоторые не ограничивающие варианты осуществления аспектов настоящей технологии.
[53] На Фиг. 1 представлена система 100, подходящая для использования с некоторыми вариантами осуществления настоящей технологии. Система 100 может содержать, среди прочего, клиентское устройство 104, сеть 106, сервер 108 и ресурсы 180 целевого содержимого.
[54] Варианты осуществления клиентского устройства 104 никак конкретно не ограничены, но, в качестве примера, клиентское устройство 104 может взаимодействовать с сервером 108, путем передачи/получения данных серверу 108/от сервера 108. Клиентское устройство 104 может, например, в качестве не ограничивающего примера, представлять собой настольный компьютер, ноутбук, смартфон (например, Apple iPhone™ or a Samsung Galaxy S5™), персональный цифровой органайзер (PDA) или другое устройство, включающее в себя функциональность вычисления и возможности передачи данных. Клиентское устройство 104 может включать в себя, среди прочего, внутренние аппаратные компоненты, включая один или несколько одно- или мультиядерных процессоров, которые коллективно представлены здесь как процессор (не показан), ОЗУ (не показано), сетевой интерфейс (не показано) для связи с сервером 108.
[55] Клиентское устройство 104 связано с пользователем 102, который может взаимодействовать с клиентским устройством 104. В некоторых вариантах осуществления настоящего технического решения, клиентское устройство 104 может быть выполнено с возможностью выполнять браузерное приложение (не показано). В общем случае, задачей браузерного приложения является предоставление пользователю 102 доступа к одному или нескольким веб-ресурсам. Реализация браузерного приложения никак конкретно не ограничена. Например, браузерное приложение 104 может быть реализовано как Яндекс™ браузер. Несмотря на то, что клиентское устройство 104 связано с пользователем 102, эта связь не требует от пользователя 102 авторизации или чего-либо подобного.
[56] Клиентское устройство 104 соединено с сетью 106 через сети передачи данных (не пронумерована). В некоторых вариантах осуществления настоящего технического решения, сеть 106 может быть реализована как Интернет. В других вариантах осуществления настоящей технологии сеть 106 может быть реализована иначе - в виде глобальной сети передачи данных, локальной сети передачи данных, частной сети передачи данных и т.п.
[57] Реализация линии передачи данных не ограничена и будет зависеть от того, какое клиентское устройство 104 используется. В качестве примера (но не ограничения) в данных вариантах осуществления настоящей технологии в случаях, когда клиентское устройство 104 представляет собой беспроводное устройство связи (например, смартфон), линия передачи данных представляет собой беспроводную сеть передачи данных (например, среди прочего, линию передачи данных 3G, линию передачи данных 4G, беспроводной интернет Wireless Fidelity или WiFi®, Bluetooth® и т.п.). В тех примерах, где клиентское клиентское устройство 104 представляет собой портативный компьютер, линия передачи данных может быть как беспроводной (беспроводной интернет Wireless Fidelity или WiFi®, Bluetooth® и т.п) так и проводной (соединение на основе сети Ethernet).
[58] Важно иметь в виду, что варианты реализации клиентского устройства 104, линии передачи данных и сети 106 приведены исключительно для наглядности. Таким образом, специалисты в данной области техники смогут понять подробности других конкретных вариантов осуществления клиентского устройства 104, линии передачи данных и сети 106. То есть, представленные здесь примеры не ограничивают объем настоящего технического решения.
[59] Также с сетью 106 соединен сервер 108, на котором может быть расположен сервис поисковой системы для обработки поисковых запросов, связанных с одним или несколькими пользователями (например, пользователем 102). Сервер 108 может представлять собой обычный компьютерный сервер. В примере варианта осуществления настоящей технологии, сервер 108 может представлять собой сервер Dell™ PowerEdge™, на котором используется операционная система Microsoft™ Windows Server™. Излишне говорить, что сервер 108 может представлять собой любое другое подходящее аппаратное и/или прикладное программное, и/или системное программное обеспечение или их комбинацию. В представленном варианте осуществления настоящего технического решения, не ограничивающем ее объем, сервер 108 является одиночным сервером. В других вариантах осуществления настоящего технического решения, не ограничивающих ее объем, функциональность сервера 108 может быть разделена, и может выполняться с помощью нескольких серверов.
[60] Варианты осуществления сервера 108 широко известны среди специалистов в данной области техники. Тем не менее, вкратце: сервер 108 содержит интерфейс связи (не показан), который настроен и выполнен с возможностью устанавливать соединение с различными элементами (например, клиентским устройством 180 и другими устройствами, потенциально соединенными с сетью 106) через сеть 106.
[61] Как было упомянуто ранее, сервер 108 может реализовать сервис поисковой системы. В общем случае, сервис поисковой системы находится под контролем и/или управлением поставщика поисковой системы (не показан), такого, например, как оператор поисковой системы Yandex™. Таким образом, поисковая система сервера 108 может быть выполнена с возможностью производить один или несколько поисков в ответ на поисковые запросы, которые введены пользователем 102 и/или потенциальными пользователями сервиса поисковой системы. Сервис поисковой системы сервера 108 также выполнен с возможностью передавать клиентскому устройству 104 набор результатов поиска, который будет отображаться пользователю 102, связанный с поисковыми запросами, которые были введены пользователем 102.
[62] С сетью 106 передачи данных также соединены ресурсы 180 целевого содержимого. В общем случае, ресурсы 180 целевого содержимого управляются множеством поставщиков целевого содержимого, которые продвигают продукты и/или услуги. В другом примере, ресурсы 180 целевого содержимого могут предоставлять поисковой системе, которая расположена на сервере 108, данные целевого содержимого, которые включают в себя: (i) данные, связанные с множеством рекламных объявлений, продвигающих продукты и/или услуги, например, изображения, видео, текст или другие данные, (ii) поисковые фразы, связанные соответственно с каждым рекламным объявлением во множестве рекламных объявлений для установления соответствия рекламных объявлений с поисковыми запросами, введенными в сервис поисковой системы пользователем 102 и/или другими потенциальными пользователями сервиса поисковой системы и (iii) цены, предлагаемые соответствующим поставщиком целевого содержимого из множества поставщиков целевого содержимого, для отображения их рекламных объявлений пользователю 102 и/или другим потенциальным пользователям сервиса поисковой системы.
[63] Аналогично серверу 108, ресурсы 180 целевого содержимого могут быть реализованы как обычные компьютерные серверы. В примере варианта осуществления настоящего технического решения, ресурсы 180 целевого содержимого могут представлять собой сервер Dell™ PowerEdge™, на котором используется операционная система Microsoft™ Windows Server™. Излишне говорить, что ресурсы 180 целевого содержимого могут представлять собой любое другое подходящее аппаратное и/или прикладное программное, и/или системное программное обеспечение или их комбинацию. В других вариантах осуществления технического решения, ресурсы 180 целевого содержимого могут быть реализованы как веб-сайты, соответственно связанные со множеством поставщиков целевого содержимого и расположенные на соответствующей обычной серверной системе.
[64] В других вариантах осуществления технического решения, ресурсы 180 целевого содержимого могут предоставлять серверу 108 данные целевого содержимого для продвижения продуктов и/или услуг. Например, ресурсы 180 целевого содержимого могут передавать серверу 108 через сеть 106 первый пакет 194 данных. Первый пакет 194 данных может содержать данные целевого содержимого. В ответ на получение первого пакета 194 данных, сервер 108 может быть выполнен с возможностью сохранять данные целевого содержимого в базе 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 данных, а также данные и/или информация, которые на них хранятся, будут описаны далее.
[66] База 120 данных лексем может быть выполнена с возможностью хранить данные, связанные с лексемами и соответственно связанными словоизмененными парадигмами. В общем случае, из-за грамматических правил различных языков, данная лексема может быть связана с набором данных словоизмененных парадигм. Например, если данная лексема представляет собой "ride", то набор словоизмененных парадигм может включать в себя данные словоизмененные парадигмы: "riding", "ridden", "rode" и так далее. В другом примере, если данная лексема представляет собой "sing", то набор словоизмененных парадигм может включат в себя данные словоизмененные парадигмы: "singing", "sang", "sung" и так далее. База 120 данных лексем может включать в себя данные, относящиеся к тысячам лексем, и соответственно связанным словоизмененным парадигмам. Следует отметить, что для примера и для простоты понимания были использованы данные лексемы и соответственно связанные словоизмененные парадигмы английской грамматики, но лексемы