Способ обработки поискового запроса пользователя и сервер
METHOD OF USER SEARCH REQUEST PROCESSING AND SERVER

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
[01] Настоящее решение относится к компьютерным системам и способам обработки поискового запроса пользователя, связанного с электронным устройством. В частности, системы и способы нацелены на формирование результирующего набора на основе анализа первого и второго интересующего объекта, указания, связанного с географическим положением, и указания, связанного со сценарием.
УРОВЕНЬ ТЕХНИКИ
[02] В самых разнообразных случаях пользователь будет полагаться на свое электронное устройство для поиска информации, связанной с конкретной обстановкой или конкретной ситуацией, с которой он/она может столкнуться. Такая конкретная обстановка или ситуация могут включать, например, изменение места проживания, командировку, отпускную поездку, необходимость пройти определенную административную процедуру, посещение интересующего места или интересующей области. Существующие поисковые системы, такие как Yandex™ или Google™, дают возможность находить множество видов информации, доступных из множества источников, с помощью электронного устройства пользователя; пользователь, столкнувшийся с определенной обстановкой или ситуацией, обычно начинает интерактивный процесс, состоящий из отправки множества запросов в одну или несколько поисковых систем. В результате пользователь получает разнообразные страницы результатов поиска, каждая из которых содержит множество интересующих его объектов, которые могут относиться или не относиться к конкретным обстоятельствам или ситуации пользователя. В некоторых случаях пользователь может захотеть собрать информацию в виде списка, который может содержать последовательность интересующих объектов. К примеру, если пользователь поехал в командировку, он может захотеть получить список мест, которые относятся к его/ее конкретным обстоятельствам, например, список отелей, аптек, банков и станций метро, расположенных поблизости от того места, где он/она будет принимать участие в деловой встрече. Список может также быть запрошен пользователем с вручную введенным конкретным параметром, таким как, например, часы открытия или закрытия, расстояние от определенного географического объекта и т.д.
[03] Хотя мобильные устройства и, более конкретно, поисковые системы, доступные с мобильных устройств, поддерживают неавтоматическое создание списка интересующих объектов в соответствии с конкретным обстоятельством или ситуацией, необходимые для этого многочисленные неавтоматические итерации делают процесс утомительным для пользователя и часто приводят к повышенному объему передачи данных из-за многочисленных поисковых запросов, которые необходимо ввести пользователю. Такой объем передачи данных не только чрезмерно увеличивает сетевой трафик, но также может чрезмерно повысить расходы пользователя, особенно если пользователь находится в роуминге.
[04] Были разработаны некоторые пути решения этой проблемы для определенного ограниченного количества обстоятельств, например, для планирования отпускной поездки. Эти разработки включают в себя способ и систему, описанные в заявке США 2014/0229102, где путешественнику предоставляется определенная информация, чтобы он решил, куда сходить и чем заняться. Хотя можно добиться определенной автоматизации планирования поездки, описанные метод и система соответствуют только случаю отпускной поездки и не решают проблему автоматизации создания списка интересующих объектов для разнообразных деталей интересующих объектов и, что важнее всего, для сценариев, не связанных с отпускными поездками.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
[05] Задачей настоящего решения является устранение недостатков, присущих известному уровню техники: в частности, создание результирующего набора, являющегося списком объектов, относящихся к конкретному обстоятельству или ситуации, с которыми столкнулся пользователь, в результате запроса, полученного от электронного устройства пользователя.
[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-9 представлены снимки экрана, иллюстрирующие отображение результирующего набора, созданного в соответствии со способом из Фиг. 6; и
[43] На Фиг. 10 представлена блок-схема, отображающая способ, являющийся вариантом осуществления.
[44] Также следует отметить, что чертежи выполнены не в масштабе, если специально не указано иное.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
[45] Все примеры и используемые здесь условные конструкции предназначены, главным образом, для того, чтобы помочь читателю понять принципы настоящего решения, а не для установления границ его объема. Следует также отметить, что специалисты в данной области техники могут разработать различные схемы, отдельно не описанные и не показанные здесь, но которые, тем не менее, воплощают собой принципы настоящего решения и находятся в границах его объема.
[46] Кроме того, для ясности в понимании, следующее описание касается достаточно упрощенных вариантов осуществления. Как понятно специалисту в данной области техники, многие варианты осуществления будут обладать большей сложностью.
[47] Некоторые полезные примеры модификаций также могут быть охвачены нижеследующим описанием. Целью этого является также исключительно помощь в понимании. Эти модификации не представляют собой исчерпывающего списка, и специалисты в данной области техники могут создавать другие модификации, остающиеся в границах объема настоящего решения. Кроме того, те случаи, где не были представлены примеры модификаций, не должны интерпретироваться как то, что никакие модификации невозможны, и/или что то, что было описано, является единственным вариантом осуществления этого элемента.
[48] Более того, все заявленные здесь принципы, аспекты и варианты осуществления, равно как и конкретные их примеры, предназначены для обозначения их структурных и функциональных основ, вне зависимости от того, известны ли они на данный момент или будут разработаны в будущем. Таким образом, например, специалистами в данной области техники будет очевидно, что представленные здесь блок-схемы представляют собой концептуальные иллюстративные схемы, отражающие принципы решения. Аналогично, любые блок-схемы, диаграммы переходного состояния, псевдокоды и т.п. представляют собой различные процессы, которые могут быть представлены на машиночитаемом носителе и, таким образом, использоваться компьютером или процессором, вне зависимости от того, показан явно подобный компьютер или процессор или нет.
[49] Функции различных элементов, показанных на фигурах, включая функциональный блок, обозначенный как "процессор", могут быть обеспечены с помощью специализированного аппаратного обеспечения или же аппаратного обеспечения, способного использовать подходящее программное обеспечение. Когда речь идет о процессоре, функции могут обеспечиваться одним специализированным процессором, одним общим процессором или множеством индивидуальных процессоров, причем некоторые из них могут являться общими. Более того, использование термина "процессор" или "контроллер" не должно подразумевать исключительно аппаратное обеспечение, способное поддерживать работу программного обеспечения, и может включать в себя, без установления ограничений, цифровой сигнальный процессор (DSP), сетевой процессор, интегральная схема специального назначения (ASIC), программируемую пользователем вентильную матрицу (FPGA), постоянное запоминающее устройство (ПЗУ) для хранения программного обеспечения, оперативное запоминающее устройство (ОЗУ) и энергонезависимое запоминающее устройство. Также может быть включено другое аппаратное обеспечение, обычное и/или специальное.
[50] Программные модули или простые модули, представляющие собой программное обеспечение, которое может быть использовано здесь в комбинации с элементами блок-схемы или другими элементами, которые указывают на выполнение этапов процесса и/или текстовое описание. Подобные модели могут быть выполнены на аппаратном обеспечении, показанном напрямую или косвенно.
[51] С учетом этих примечаний, далее будут рассмотрены некоторые не ограничивающие варианты осуществления.
[52] На Фиг. 1 представлена диаграмма компьютерной система 100, которая подходит для некоторых вариантов осуществления, причем компьютерная система 100 включает в себя различные аппаратные компоненты, включая один или несколько одно- или многоядерных процессоров, которые представлены процессором 110, твердотельный накопитель 120, ОЗУ 130, интерфейс 140 монитора, и интерфейс 150 ввода/вывода.
[53] Связь между различными компонентами компьютерной системы 100 может осуществляться с помощью одной или несколько внутренних и/или внешних шин 160 (например, шины PCI, универсальной последовательной шины, высокоскоростной шины IEEE 1394, шины SCSI, шины Serial ATA и так далее), с которыми электронным способом соединены различные аппаратные компоненты. Интерфейс 140 монитора может быть соединен с монитором 142 (например, через HDMI-кабель 144), видимом пользователю 170, интерфейс 150 ввода/вывода может быть соединен с сенсорным экраном (не изображен), клавиатурой 151 (например, через USB-кабель 153) и мышью 152 (например, через USB-кабель 154), как клавиатура 151, так и мышь 152 используются пользователем 170.
[54] В соответствии с вариантами осуществления твердотельный накопитель 120 хранит программные инструкции (машиночитаемые коды), подходящие для загрузки в ОЗУ 130, и использующиеся процессором 110 для обработки поискового запроса пользователя, связанного с электронным устройством. Например, программные инструкции могут представлять собой часть библиотеки или приложение.
[55] На Фиг. 2 показана сетевая вычислительная среда 200, подходящая для использования совместно с некоторыми вариантами осуществления настоящей технологии; причем сетевая вычислительная среда 200 состоит из пользовательского устройства 208 (также упоминается как "клиентское устройство", "электронное устройство" или "электронное устройство, связанное с пользователем"), ресурса 216, ресурса 218, сервера 222 приложения, связанного с сервером 232, базы данных 226 запросов, связанной с сервером 224, базы данных 230 пользовательских профилей, связанной с сервером 228, базы данных 238 объектов, связанной с сервером 236, базы данных 240 сценариев, связанной с сервером 234, а также сети 220, позволяющей этим системам обмениваться данными.
[56] Варианты осуществления пользовательского устройства 208 никак конкретно не ограничены, но, в качестве примера, пользовательское устройство 208 может взаимодействовать с сервером 222 приложения, получая ввод пользователя 170 и получая и передавая данные через сеть 220. Пользовательское устройство 208 может, в качестве не ограничивающего примера, представлять собой настольный компьютер, ноутбук, смартфон (например, Apple iPhone или Samsung Galaxy S5), персональный цифровой помощник (PDA) или другое устройство, включающее в себя функциональность вычисления и возможности коммуникации. Пользовательское устройство 208 может включать в себя внутренние аппаратные компоненты, такие как один или несколько многоядерных процессоров, которые представлены на чертеже в виде процессора 110, ОЗУ 130, каждый компонент является аналогом к соответственно пронумерованным компонентам компьютерной системы 100, показанным на Фиг.1, также как и сетевого интерфейса (не показан) для связи с сервером 222 приложения. Пользовательское устройство 208 может также включать в себя GPS-приемник (не изображен) для получения сигнала GPS от одного или нескольких спутников GPS, таких как спутник 500 на Фиг. 5.
[57] В одном варианте осуществления, пользовательское устройство 208 отображает контент сервера 222 приложения с помощью обработки документа 214 на языке разметки, полученного от сервера 222 приложения. Документ 214 на языке разметки определяет содержимое и одну или несколько инструкций, описывающих форматирование или представление содержимого. Путем выполнения инструкций, включенных в документ 214 на языке разметки браузерное приложение 210 отображает и определяет содержимое с помощью формата или представления, описанного в документе 214 на языке разметки. В различных вариантах осуществления технологии, документ 214 на языке разметки включает в себя файл данных, включая данные на расширяемом языке разметки (XML), данные на расширяемом языке гипертекстовой разметки (XHTML) или данные на любом другом языке разметки. В разнообразных вариантах осуществления пользовательское устройство 208 реализует пользовательский интерфейс с помощью браузерного приложения 210 и/или с помощью специализированного поискового приложения (не показано), предварительно установленного на пользовательском устройстве 208. В общем случае, целью поискового интерфейса является предоставление пользователю 170 возможности сформулировать поисковый запрос и выполнить поиск с использованием поисковой системы, которая в этом варианте осуществления технологии, приведенном в пример, находится на сервере 222 приложения. С этой целью поисковое приложение может содержать поисковый интерфейс (не показан), в котором пользователь 170 может формулировать поисковый запрос с помощью, например, взаимодействия с сенсорным экраном на пользовательском устройстве 208. Поисковый интерфейс может также содержать интерфейс поисковых результатов (не показан) для отображения результирующего набора, созданного далее для обработки поискового запроса.
[58] Реализация поискового приложения никак конкретно не ограничена. Одним из примеров выполнения поискового приложения является доступ пользователем на вебсайт, соответствующий поисковой системе, для получения доступа к серверу 222 приложения. Например, поисковое приложение может быть вызвано путем ввода URL, связанного с поисковой системой Yandex www.yandex.ru. Важно иметь в виду, что поисковое приложение может быть вызвано с помощью любой другой коммерчески доступной или собственной поисковой системы.
[59] В других вариантах осуществления, пользовательское устройство 208 может также включать в себя файл cookie 212, содержащие данные, которые указывают на то, зарегистрировался ли пользователь 170, с пользовательского устройства 208, на сервере 222 приложения. Файл cookie 212 может указывать на то, участвует ли пользователь 170 в активном сеансе, в котором пользовательское устройство 208 обменивается данными с сервером 222 приложения, тем самым указывая на то, что пользователь 170 обладает учетной записью, связанной сервером 222 приложения.
[60] Пользовательское устройство 208 соединено с сетью 220 через линию передачи данных (не пронумерована). В некоторых вариантах осуществления, сеть может представлять собой Интернет. В других вариантах осуществления сеть 220 может быть реализована иначе - в виде глобальной сети передачи данных, локальной сети передачи данных, частной сети передачи данных и т.п.
[61] Реализация линии передачи данных не ограничена и будет зависеть от того, какое пользовательское устройство 208 используется. В качестве примера (но не ограничения) в данных вариантах осуществления в случаях, когда пользовательское устройство 208 представляет собой беспроводное устройство связи (например, смартфон), линия передачи данных представляет собой беспроводную сеть передачи данных (например, среди прочего, линия передачи данных 3G, линия передачи данных 4G, беспроводной интернет Wireless Fidelity или WiFi, Bluetooth и т.п.). В тех примерах, где пользовательское устройство 208 представляет собой портативный компьютер, линия передачи данных может быть как беспроводной (беспроводной интернет Wireless Fidelity или WiFi, Bluetooth и т.п) так и проводной (соединение на основе сети Ethernet).
[62] Важно иметь в виду, что варианты реализации пользовательского устройства 208, линия передачи данных и сеть 220 даны исключительно для наглядности. Таким образом, специалисты в данной области техники смогут понять подробности других конкретных вариантов осуществления пользовательского устройства 208, линии передачи данных и сети 220. То есть представленные здесь примеры не ограничивают объем настоящего решения.
[63] Также соединен с сетью 220 сервер 232, на котором может находиться сервер 222 приложения. Сервер 232 может представлять собой обычный компьютерный сервер. В примере варианта осуществления сервер 232 может представлять собой сервер Dell™ PowerEdge™, на котором используется операционная система Microsoft™ Windows Server™. Излишне говорить, что сервер 232 может представлять собой любое другое подходящее аппаратное и/или прикладное программное, и/или системное программное обеспечение или их комбинацию. В представленном варианте осуществления, сервер 232 является одиночным сервером. В других вариантах осуществления, функциональность сервера 232 может быть разделена, и может выполняться с помощью нескольких серверов.
[64] Варианты осуществления сервера 232 широко известны среди специалистов в данной области техники. Тем не менее, для краткой справки: сервер 232 содержит интерфейс связи (не показан), который настроен и выполнен с возможностью устанавливать соединение с различными элементам (например, пользовательским устройством 208 и другими устройствами, потенциально соединенные с сетью 220) через сеть 220. Сервер 232 включает в себя один или несколько пунктов из следующего: компьютерный процессор (не показан), функционально соединенный с интерфейсом связи и настроенный и выполненный с возможностью выполнять различные процессы, описанные здесь.
[65] Сервер 232 функционально соединен (или имеет доступ каким-то иным способом) с сервером 222 приложения, реализующем поисковую систему в соответствии с некоторыми вариантами осуществления. Таким образом сервер 232 может иногда называться "поисковым сервером" или "поисковым входным сервером". Хотя сервер 222 приложения изображен как отдельный от сервера 232 сервер, в некоторых вариантах осуществления функциональность сервера 222 приложения может быть реализована сервером 232. В других вариантах осуществления, функциональность сервера 222 приложения может быть разделена, и может выполняться с помощью нескольких серверов.
[66] Основной задачей сервера 222 приложения является выполнение поиска в ответ на запрос пользователя, введенный, например, с помощью пользовательского устройства 208, и вывод результатов поиска для представления их пользователю с помощью интерфейса результатов поиска. Далее следует описание варианта осуществления сервера 222 приложения, не ограничивающего объем. Тем не менее, следует иметь в виду, что существуют другие варианты осуществления сервера 222 приложения. Важно иметь в виду, что для упрощения нижеследующего описания конфигурация сервера 222 приложения была сильно упрощена. Считается, что специалисты в данной области техники смогут понять подробности реализации сервера 222 приложения и его компонентов, которые могли быть опущены с целью упрощения.
[67] В общем случае целью сервера 222 приложения является: (i) получать поисковый запрос от пользовательского устройства 208; (ii) определять указание, связанное с географическим положением, которое, в свою очередь, связано с пользователем 170; (iii) определять указание, связанное со сценарием, отражающим конкретное обстоятельство или ситуацию пользователя; (iv) создавать результирующий набор, содержащий указание первого интересующего объекта и указание второго интересующего объекта; и (v) инициировать отображение результирующего набора на пользовательском устройстве 208. Конфигурация сервера 222 приложения для выполнения поиска конкретно ничем не ограничена. Специалистам в данной области техники будут понятны некоторые способы и средства для выполнения поиска с помощью сервера 222 приложения и, соответственно, некоторые структурные компоненты сервера 222 приложения будут описаны только на поверхностном уровне.
[68] Сервер 222 приложения имеет доступ к множеству ресурсов по сети 220. Множество ресурсов может представлять собой (в качестве не ограничивающего примера) ресурс 216 и ресурс 218, оба соединенные с сервером 222 приложения через сеть 220. Каждый из ресурсов (ресурс 216 и ресурс 218) представляет сетевой ресурс, доступный (либо всем, либо некоторыми из: пользовательскому устройству 208, серверам 224, 228, 234 и 236) по сети 220 и хранящий конкретную информацию.
[69] В качестве примера ресурс 216 может быть веб-ресурсом, на котором хранится веб-ресурс WIKIPEDIA™ ("Свободная энциклопедия"), доступный, например, по следующему URL: www.wikipedia.org. В качестве другого примера ресурс 218 может быть веб-ресурсом, на котором хранится веб-ресурс YP™ ("Желтые страницы"), доступный, например, по следующему URL: www.vellowpages.com. Следует понимать, что ресурс 216 и ресурс 218 могут быть выполнены по-другому и что ряд дополнительных веб-ресурсов (таких же, как примеры ресурса 216 и ресурса 218, или иных) может быть представлен в альтернативных исполнениях системы 200.
[70] Сервер 224 функционально соединен (или имеет доступ каким-то иным способом) с базой данных 226 запросов, реализующей базу данных, доступную серверу 222 приложения, в соответствии с некоторыми вариантами осуществления настоящей технологии. База данных 226 запросов может содержать один или несколько наборов данных, относящихся к поисковым запросам пользователя или других пользователей, которые пользовались сервером 222 приложения ранее. В одном варианте осуществления, приведенном в качестве примера, сервер 222 приложения может получать доступ к поисковым запросам, которые пользователь оправлял ранее с помощью: (i) определения профиля пользователя посредством доступа к базе данных 230 пользовательских профилей; и (ii) (на основе определенного пользовательского профиля) извлечения поисковых запросов, которые пользователь оправлял ранее на сервере 222 приложения. Поисковые запросы, которые пользователь оправлял ранее на сервере 222 приложения могут быть затем использованы с целью создания результирующего набора, относящегося к обстоятельству или ситуации пользователя. Сервер 222 приложения может использовать, не менее чем частично, поисковые запросы, которые пользователь оправлял ранее, для определения географического положения и/или сценария, отражающего обстоятельство или ситуацию пользователя, и которое потом используется для создания результирующего набора.
[71] Сервер 228 функционально соединен (или имеет доступ каким-то иным способом) с базой данных 230 пользовательских профилей, реализующей базу данных, доступную серверу 222 приложения в соответствии с некоторыми вариантами осуществления. База данных 308 пользовательских профилей содержит структуры данных и поля, подходящие для описания профиля пользователя. В одном варианте осуществления, приведенном в качестве примера, когда создается новый профиль пользователя, сервер 222 приложения инициализирует новую структуру данных соответствующего типа, назначает ей уникальный идентификатор объекта и начинает добавлять данные к профилю пользователя по мере необходимости. Такая ситуация может возникнуть, например, когда пользователь становится пользователем сервера 222 приложения; при этом сервер 222 приложения создает новый экземпляр профиля пользователя в базе данных 230 профилей пользователей, назначает уникальный идентификатор профилю пользователя, и начинает заполнять поля профиля пользователя информацией, предоставляемой пользователем. Как указано выше в отношении базы данных 226 запросов, сервер 222 приложения может получать доступ к базу данных 226 запросов для извлечения поисковых запросов, которые пользователь оправлял ранее на сервере 222 приложения. Поисковые запросы, которые пользователь отправлял ранее, на сервере 222 приложения могут быть затем использованы с целью создания результирующего набора, относящегося к обстоятельству или ситуации пользователя. Например, сервер 222 приложения может использовать, не менее чем частично, поисковые запросы, которые пользователь оправлял ранее, для определения географического положения и/или сценария, отражающего обстоятельство или ситуацию пользователя, и которое потом используется для создания результирующего набора. В другом варианте осуществления, сервер 222 приложения может получить доступ к профилю пользователя и использовать, не менее чем частично, данные, связанные с профилем пользователя, для определения географического положения и/или сценария, отражающего обстоятельство или ситуацию пользователя, и которое потом используется для создания результирующего набора.
[72] Сервер 228 функционально соединен (или имеет доступ каким-то иным способом) с базой данных 238 объектов, реализующей базу данных, доступную серверу 222 приложения, в соответствии с некоторыми вариантами. В одном варианте осуществления, приведенном в качестве примера, база данных 238 объектов объединяет данные, полученные из разнообразных Интернет-ресурсов, таких как, например, ресурс 216 и ресурс 218. База данных 238 объектов содержит структуры данных, подходящие для описания объектов (также упоминающиеся как "интересующие объекты"). Пример структуры данных, которая может содержаться в базе данных объектов, изображен на Фиг. 3, где показан объект 506. Структура данных, показанная на Фиг. 3, содержит следующие поля: "имя объекта", "описание", "адрес", "контакты" и "параметры". В других вариантах осуществления структура данных может включать в себя большее или меньшее количество полей.
[73] В одном варианте осуществления, приведенном в качестве примера, имя объекта может быть идентифицирующим именем, идентификатором или указателем на идентификатор, таким как указание объекта. В варианте осуществления, имя объекта - это уникальный идентификатор, идентифицирующий объект 506 в базе данных 238 объектов. В примере, в котором объект 506 будет обноситься к музею, например, к государственному музею Эрмитаж, поле имени объекта 506 может быть заполнено последовательностью символов "государственный музей Эрмитаж".
[74] В том же самом примере поле описания может быть заполнено последовательностью символов и/или медиа файлом (например, аудиофайлом, файлом с изображением, видеофайлом) или указателем на последовательность символов и/или медиа файл. В примере, в котором объект 506 будет относиться к "государственному музею Эрмитаж", поле описания может содержать конкретную информацию, относящуюся к музею, например, об основателе, описание музейного комплекса и т.д.
[75] В том же самом примере поле адреса может быть заполнено последовательностью символов или указателем на последовательность символов, или другими данными, позволяющими идентифицировать адрес, связанный с объектом 506. В примере, в котором объект 506 будет относиться к "государственному музею Эрмитаж", поле адреса может быть заполнено следующей последовательностью символов: "Государственный музей Эрмитаж, Россия, 190000, Санкт-Петербург, Дворцовая набережная, 34".
[76] В том же самом примере поле контактов может быть заполнено последовательностью символов или указателем на последовательность символов, или другими данными, относящимися к контактной информации, связанной с объектом 506. В примере, в котором объект 506 будет относиться к "государственному музею Эрмитаж", поле контактов может быть заполнено следующей последовательностью символов: "Контактная информация: Телефон: +7(812)710-95-10; Факс: +7(812)312-15-67; E-mail: press@hermitage.ru".
[77] В том же самом примере поле параметров может быть заполнено последовательностью символов или указателем на последовательность символов, или другими данными, относящимися к информации, связанной с объектом 506. В том же самом примере поле параметров может быть заполнено последовательностью символов или указателем на последовательность символов, или другими данными, относящимися к информации, связанной с объектом 506. В некоторых вариантах осуществления, поле параметров может включать тип объектов (например, музей, магазин, кафе, офис и т.д.), географические координаты (дополнительно или вместо поля адреса), указание на то, что объект 506 является частью набора сервисов, указание на рабочие дни и часы объекта 506, указание на тендерные ограничения, связанные с объектом 506, указание на возрастные ограничения, связанные с объектом 506, указание на доступность объекта 506 для людей с ограниченной подвижностью, указание на карту, связанную с объектом 506, указание на веб-сайт, связанный с объектом 506.
[78] Следует понимать, что этот список не носит исчерпывающей характер и поле параметров может включать другие типы параметров. Кроме того, поле параметров может включать в себя одну или несколько групп параметров, группируя параметры в соответствии с общим шаблоном. Например, первая группа параметров, "социальные", может группировать указание рабочих дней и часов и указание на тендерные ограничения. Вторая группа параметров, "географические", может группировать адрес и координаты GPS. В пределах объема настоящего решения могут быть использованы другие варианты. В примере, в котором объект 506 будет относиться к "государственному музею Эрмитаж", поле параметров может быть заполнено указанием на рабочие дни и часы объекта 506, например "Часы работы/ вторник, четверг-воскресенье: 10:30-18:00; среда: 10:30-21:00". В примере, в котором объект 506 будет относиться к "государственному музею Эрмитаж", поле параметров может быть заполнено с указанием на возрастные ограничения.
[79] Как будет понятно специалисту в области техники, многочисленные типы объектов и/или объекты, имеющие разнообразную природу, могут заполнять базу данных 238 в пределах объема настоящей технологии. Например (без ограничений) объект 506 может относиться к интересующему месту, интересующей области, интересующему пункту, услуге, месту оказания услуг, транспортной организации, организации по оказанию услуг и т.д. Примеры объектов могут включать организацию, компанию, кино, кафе, почту, банк, общественную инфраструктуру, и т.д.
[80] Кроме того, поле параметров объекта 506 может включать указание на порядок идентификации конкретного пункта в последовательности событий, связанной с объектом 506. Указание на порядок может быть использовано сервером 222 приложения после составления и/или распределения объектов для представления пользователю 170. В качестве примера, объект 506 связан с паспортным столом. В этом примере поле параметров объекта 506 может включать указание на порядок, отражающий позицию объекта 506 в последовательности событий, связанной подачей заявления на получение паспорта. В этом примере указание на порядок позволит серверу 222 приложения определить, что объект 506 следую перечислить в списке пунктов после объекта, связанного с местом, где пользователь 170 может сфотографироваться, чтобы его/ее фотография была использована в заявлении на получение паспорта. Следует, однако, понимать что указание порядка - это только пример того, как сервер 222 приложения может определить порядок позиций объектов в списке, сравнивая его с позицией другого объекта в том же самом списке. Например, сервер 222 приложения может исходить из указания рабочих дней и часов объекта 506 для определения того, что объект 506 должен быть размещен в списке перед или после другого объекта, связанного с указанием рабочих дней и часов.
[81] Например, сервер 222 приложения может определять, что объект связанный с аптекой, следует расположить перед объектом, связанным с почтой, потому что сервер 222 приложения определил, что аптека находится ближе, чем почта. Возможны другие варианты, например (без ограничений), позволяющие серверу 222 приложения исходить из указания возрастных ограничений и/или тендерных ограничений и/или порядка объекта по сравнению с другим объектом в списке, который будет представлен пользователю 170. В других вариантах поле параметров может быть связано со сценарием, который определяет последовательность событий и отражает конкретное обстоятельство или ситуацию, связанную с пользователем 170. В общем случае решение может исходить из одного или нескольких параметров объекта для составления и/или упорядочения результирующего набора, содержащего первый и второй объект, содержащий, например (без ограничений), один или несколько наборов параметров, указанных выше.
[82] Среди разнообразных преимуществ, которые база данных 238 объектов может предоставить пользователю 170, и которые будут очевидны специалистам в данной области техники, следует отметить, что пользователю 170 больше не нужно будет знать имя, связанное с объектом, заранее, чтобы сформулировать поисковый запрос. В некоторых вариантах осуществления, приведенных в качестве примера, сервер 222 приложения может идентифицировать один или несколько объектов, относящихся к обстоятельству или ситуации пользователя, на основе определенных параметров, связанных с одним или несколькими объектами.
[83] В соответствии с некоторыми вариантами, база данных 238 объектов может быть заполнена перед получением сервером 222 приложения поискового запроса, например (без ограничений), база данных 238 объектов может быть заполнена сервером 236 с помощью ресурса 216 А и/или ресурса 218 В. В других вариантах осуществления, база данных 238 объектов может быть заполнена не менее чем частично после получения поискового запроса. В других вариантах осуществления, сервер 222 приложения может напрямую объединять данные из разных ресурсов Интернета без доступа к базе данных 238 объектов.
[84] Сервер 234 функционально соединен (или имеет доступ каким-то иным способом) с базой данных 240 сценариев, реализующей базу данных, доступную серверу 222 приложения, в соответствии с некоторыми вариантами осуществления. База данных 240 сценариев содержит структуры данных с полями, подходящими для описанных сценариев. В общем случае сценарий может быть связан с обстоятельством или ситуацией, с которой столкнулся пользователь 170 и содержать данные, определяющие последовательность событий. В итоге решение может создавать результирующий набор, содержащий объекты, относящиеся к обстоятельству или ситуации пользователя на основе связанного сценария. Например, результирующий набор, направленный одному и тому же пользователю может различаться, если выбранный сценарий - "командировка" или "отпускная поездка". Другие примеры сценариев могут включать "изменение места жительства", "административную процедуру", "посещение интересующей области", "посещение интересующего места" и т.д. Пример структур данных, которые могут содержаться в базе данных сценариев, изображены на Фиг. 4, где показан объект 507. Структура данных, показанная на Фиг. 4, содержит следующие поля: "имя сценария", "описание", "связанные объекты", "последовательность событий". В других вариантах структура данных может включать в себя большее или меньшее количество полей.
[85] В одном варианте осуществления, приведенном в качестве примера, имя сценария может быть идентифицирующим именем, идентификатором или указателем на идентификатор, таким как указание сценария. В варианте осуществления, имя сценария - это уникальный идентификатор, идентифицирующий объект 507 в базе данных 240 сценариев. В примере, в котором сценарий 507 будет обноситься к командировке, поле имени сценария 507 может быть заполнено последовательностью символов "командировка".
[86] В этом же примере, поле описания может быть заполнено последовательностью символов и/или указателем на последовательность символов. В примере, в котором сценарий 507 будет относиться к "командировке", поле описания может содержать конкретную информацию, относящуюся к командировке, например, длительность, более конкретные цели и т.д.
[87] В этом же примере связанные объекты могут содержать данные или указатель на данные, связанные с конкретным сценарием одним или несколькими объектами, например, объектами из базы данных 238 объектов. В примере, в котором сценарий 507 будет относиться к "командировке", связанное поле объекта может содержать один или несколько указателей на следующие объекты: "кафе", "банк", "прачечная" и "транспортная организация". В другом примере, в котором сценарий 507 будет относиться к "смене места жительства", связанное поле объекта может содержать один или несколько указателей на следующие объекты: "магазин", "кафе", "аптека" и "парикмахер".
[88] В этом же примере последовательность символов может содержать данные, идентифицирующие порядок, который может быть использован сервером 222 приложения после составления и/или распределения объектов, которые будут представлены пользователю 170. Поле последовательности событий может позволить серверу 222 приложения определить порядок позиций объектов в списке, сравнивая его с позицией другого объекта в том же самом списке. Сценарий из базы данных сценариев может быть связан с последовательностью событий. В результате последовательность событий может отличаться в том или ином сценарии. Например, последовательность событий, связанная с "командировка - долговременная" может отличаться от последовательности событий, связанной с "командировка - кратковременная". Также следует отметить, что в некоторых вариантах осуществления последовательность событий может не отражать конкретный порядок в реальности, а отражать позицию объектов в списке по сравнению с позицией другого объекта с том же самом списке. Например, в последовательности событий, связанной со сценарием "смена места жительства", может быть указано, что в списке объект "больница" должен быть расположен перед объектом "почта", даже если пользователь 170 может сначала захотеть пойти на почту, а потом в больницу. Это может случиться из-за того, что информация, связанная с объектом "больница" может быть более важной, чем информация, связанная с объектом "почта", В этом примере последовательность событий может отражать приоритет объекта в отношении к другому объекту, а не конкретный порядок, которому пользователь 170 должен следовать или будет следовать в реальности.
[89] Как поймут специалисты, база данных 240 сценариев может также содержать дополнительные поля и/или параметры, какие как, например, поля, связанные с квалификацией сценария, такой как "долговременность" или "кратковременность". В общем случае решение может исходить из одного или нескольких параметров сценария для составления и/или упорядочения результирующего набора, содержащего первый и второй объект, содержащий, например (без ограничений), один или несколько наборов параметров, указанных выше.
[90] Сценарий из базы данных 240 сценариев может использоваться или не использоваться сервером 222 приложений в связи с объектами из базы данных 238 объектов для создания результирующего набора, содержащего объекты, которые относятся к обстоятельству или ситуации пользователя. Сценарий может быть выбран пользователем 170 или частично или полностью автоматически определен сервером 222 приложения. В примерах, где сценарий частично или полностью автоматически определен сервером 222 приложения, сценарий может быть выбран сервером 222 приложения на основе географического положения, связанного с пользователем 170, данных, связанных с профилем пользователя (например, профиля пользователя, извлеченного из базы данных 230 пользовательских профилей), поискового запроса, полученного от пользовательского устройства 208 и/или других данных, полученных от пользовательского устройства 208.
[91] Среди разнообразных преимуществ, которые база данных 240 сценариев может предоставить пользователю 170, и которые будут очевидны специалистам в данной области техники, следует отметить, что пользователю 170 больше не нужно будет знать имя, связанное с объектом, заранее, чтобы сформулировать поисковый запрос. В некоторых вариантах осуществления, сервер 222 приложения может идентифицировать один или несколько объектов, относящихся к обстоятельству или ситуации пользователя, на основе определенных параметров, связанных со сценарием.
[92] В соответствии с некоторыми вариантами осуществления, база данных 240 сценариев может быть заполнена перед получением сервером 222 приложения поискового запроса, например (без ограничений), база данных 240 сценариев может быть заполнена сервером 234. В других вариантах осуществления, база данных 240 сценариев может быть заполнена не менее чем частично после получения поискового запроса. В других вариантах осуществления, сервер 222 может создавать сценарий без доступа к базе данных 240 сценариев.
[93] Теперь обратимся к Фиг. 5-9, на которых изображено настоящее решение. На Фиг. 5 пользователь 170 взаимодействует с пользовательским устройством 208 для передачи поискового запроса серверу 222 приложения. В этом примере пользовательское устройство 208 соединено с сервером 222 приложения через сеть 220. Кроме того, пользовательское устройство 208 может определять географическое положение с помощью получения и обработки сигнала GPS, полученного от спутника 500. Способ выполнения этого приведенного в пример сценария начинается с этапа 600, когда пользователь 170 выбирает сценарий из списка предварительно определенных сценариев. В этом примере поисковый запрос соответствует сценарию, выбранному пользователем 170 на пользовательском устройстве 208. Выбранный сценарий в этом примере - "смена места жительства". Способ переходит к этапу 602, где определяется географическое положение пользователя, например, с помощью пользовательского устройства 208 на основе сигнала GPS, полученного от спутника 500. И выбранный сценарий "смена места жительства" и географическое положение направляются на сервер 222 приложения. Затем способ переходит на этап 604, где сервер 604 приложения запрашивает информацию пользовательского профиля, например, из базы данных 230 пользовательских профилей.
[94] На этапе 606 сервер 222 приложения создает результирующий набор, состоящий из многочисленных объектов. Результирующий набор состоит из многочисленных объектов, которые были определены как имеющие отношение к обстоятельству пользователя "смена места жительства"; каждый объект был определен как относящийся к обстоятельству пользователя сервером 222 приложения с помощью: (i) анализа данных, связанных с объектом (например, с помощью анализа не менее чем одного из полей, изображенных на Фиг. 3; (ii) анализа выбранного сценария (например, с помощью анализа не менее чем одного из полей, изображенных на Фиг. 4). Сервер 222 приложения может также составлять список объектов упорядочением объектов на основе одного или нескольких критериев, например, на основе географического соседства каждого объекта по отношению к пользователю 170. Затем, на этапе 608 способ определяет, является ли результирующий набор конечным. Если результирующий набор не является конечным, затем способ переходит к этапу 610, на котором пользователя 170 просят указать какой объект из списка объектов подходит лучше всего. Как только пользователь 170 идентифицировал объект из списка объектов, сервер 222 приложения создает на этапе 612 обновленный результирующий набор, содержащий не менее одного обновленного объекта. Если результирующий набор определен как конечный, способ переходит к этапу 614, на котором создается информация и/или действие, которая будет связана с результирующим набором. Такая информация и/или действие может быть картой, представляющей географическое положение, связанной с каждым объектом результирующего набора. Способ далее переходит к этапу 616, на котором результирующий набор и связанная информация и/или действие отображается на пользовательском устройстве 208. Если на этапе 618 определено изменение ситуации, например, изменение географического положения или изменение сценария, то способ переходит к этапу 608, чтобы перепроверить, является ли результирующий набор конечным. Если на этапе 618 изменения ситуации не определено, соединение между пользовательским устройством 208 и сервером 222 приложения может быть прекращено.
[95] Фиг. 7-9 показывают пример множества результирующих наборов, созданных в соответствии со способом, изображенным на Фиг.6; наборы отображаются на пользовательском устройстве 208. Результирующие наборы представляют группу объектов, которые сервер 222 приложения определил как относящиеся к пользовательской ситуации "смена места жительства". Множество разделов 700, 702, 704, 706 и 708 отображаются на пользовательском устройстве 208. Раздел 700 показывает информацию, относящуюся к пользовательскому профилю, а также информацию, предоставленную сервером 222 приложения. Раздел 702 показывает группу объектов, озаглавленных "Услуги". Группа объектов включает в себя список объектов и информации, связанной не менее чем с некоторыми объектами. Раздел 702 также содержит карту, которая может представлять географическое положение объектов, которые образуют группу. Раздел 704 показывает группу объектов, озаглавленных "Государственные учреждения". Раздел 706 показывает группу объектов, озаглавленных "Круглосуточные". Раздел 708 показывает группу объектов, озаглавленных "Чрезвычайные ситуации".
[96] После описания со ссылками на Фиг. 1-4 некоторые не ограниченные примеры исполнений системы 200 для использования в связи с проблемой обработки поискового запроса пользователя и создания результирующего набора, состоящего из интересующих объектов, которые относятся к обстоятельству или ситуации пользователя, будет описано общее решение проблемы со ссылкой на Фиг. 10.
[97] Конкретнее, Фиг. 10 изображает блок-схему компьютерного способа обработки поискового запроса пользователя и создания результирующего набора, содержащего интересующие объекты, которые относятся к обстоятельству или ситуации пользователя для выполнения на сервере 222 приложения в соответствии с вариантами осуществления настоящей технологии. Выполняемый на компьютере способ, изображенный на Фиг. 10, может включать в себя выполняемый на компьютере способ, реализуемый процессором сервера 232, на котором хранится сервер 222 приложения, способ включает в себя серии этапов, выполняемых сервером 222 приложения.
[98] Компьютерный способ, изображенные на Фиг. 10, может быть осуществлен, например, в случае сервера 232, на котором хранится сервер 222 приложения, изображенного на Фиг. 2, процессорами 110, выполняющими программные инструкции, загруженные в ОЗУ 130 из твердотельного накопителя 120 сервера 232.
[99] На этапе 1000 сервер 222 приложения может получить поисковый запрос от пользовательского устройства 208 через сеть передачи данных. Поисковый запрос может быть, например, не вводя ограничений, последовательностью символов, относящихся к теме, интересующему объекту и/или сценарию. В других примерах поисковый запрос может быть создан пользовательским устройством 208 на основе взаимодействия пользователя 170 с пользовательским устройством 208, например, с помощью предоставления возможности пользователю 170 выбрать интересующий объект и/или сценарий из списка интересующих объектов и/или сценариев. В других примерах поисковый запрос может быть основан на голосовой команде пользователя 170, интерпретированной пользовательским устройством 208. В других примерах поисковый запрос может быть получен сервером 222 приложения в результате определения пользовательским устройством 208 изменения географического положения пользователя.
[100] На этапе 1002 процессор 110 сервера 232 может определять указание, связанное с географическим положением, которое, в свою очередь, связано с пользователем 170. Географическое положение может являться текущим положением пользователя 170 или желаемым положением, выбранным пользователем 170. Географическое положение может быть автоматически определено пользовательским устройством 208 или, не менее чем частично, предоставлено пользователем 170 вручную с помощью взаимодействия с пользовательским устройством 208.
[101] На этапе 1004 процессор 110 сервера 232 может определять указание, связанное со сценарием, причем сценарий определяет последовательность событий. Определение указания, связанного со сценарием, может быть основано на указании, связанном с географическим положением, которое, в свою очередь, связано с пользователем 170; на данных, связанных с пользовательским профилем и извлеченных из базы данных 230 пользовательских профилей; на поисковых запросах, извлеченных из базы данных 226 запросов; на поисковых запросах, полученных от пользовательского устройства 208; и/или других данных, полученных от пользовательского устройства 208. Определение указания, связанного со сценарием, может быть также основано на анализе полученного поискового запроса; на анализе выбора сценария, произведенного пользователем 170; на данных, определяющих последовательность событий, и извлеченных из базы данных 240 сценариев; и/или данных, извлеченных из базы данных 230 пользовательских профилей. Определение указания, связанного со сценарием, может также содержать выбор процессором 110 сервера 232 последовательности событий среди множества предварительно установленной последовательности событий. В некоторых вариантах осуществления, приведенных для примера, данные, определяющие последовательность событий, могут содержать указание смены места жительства, указание административной процедуры, указание отпускной поездки, указание командировки, указание посещения интересующей области и указание посещения интересующего места.
[102] На этапе 1006 результирующий набор, связанный с поисковым запросом, создается с помощью исполнения этапов 1008, 1010, 1012 и 1014. В некоторых вариантах осуществления, приведенных для примера, этап 1006 может быть выполнен автоматически сервером 222 приложения без запросов какого-либо ввода у пользователя 170. В некоторых других вариантах осуществления, этап 1008 может включать предложение пользователю 170 предоставить дополнительный ввод перед тем, как может быть создан результирующий набор.
[103] На этапе 1008 процессор 110 сервера 323 может определять указание, связанное с первым интересующим объектом, на основе анализа данных, связанных с первым интересующим объектом; указание, связанное с географическим положением; указание, связанное со сценарием.
[104] На этапе 1010 процессор 110 сервера 323 может определять указание, связанное со вторым интересующим объектом, отличающимся от первого интересующего объекта, на основе анализа данных, связанных со вторым интересующим объектом; указание, связанное с географическим положением; указание, связанное со сценарием. Данные, связанные с первым интересующим объектом и данные, связанные со вторым интересующим объектом, могут быть извлечены из базы данных 238 объектов сервером 222 приложения. В некоторых вариантах осуществления, приведенных для примера, данные, определяющие последовательность событий, могут быть связаны с данными, которые, в свою очередь, связаны со вторым интересующим объектом, прежде, чем будет создан результирующий набор, связанный с поисковым запросом. В некоторых вариантах осуществления, приведенных для примера, связывание данных, определяющих последовательность событий с указанием, связанным со вторым интересующим объектом основано на данных, связанных с первым интересующим объектом и данных, связанных со вторым интересующим объектом. В некоторых других вариантах осуществления, приведенных для примера, и данные, связанные с первым интересующим объектом и данные, связанные со вторым интересующим объектом, связаны с: указанием интересующей области; указанием интересующего места; указанием места осуществления деловых операций; указанием места оказываемых услуг; указанием транспортной организации; указанием времени закрытия; указанием доступности для людей с ограниченной подвижностью; указанием порядка посещения; указанием географического положения; указанием транспортных услуг и/или указанием стоимости.
[105] На этапе 1012 процессор 110 севера 232 может составлять результирующий набор, содержащий указание первого интересующего объекта и указание второго интересующего объекта. Создание результирующего набора может содержать в себе выполнение правила запроса, чтобы последовательно запрашивать указание, связанное с первым интересующим объектом и указание, связанное со вторым интересующим объектом. Правило запроса для последовательного запроса указания, связанного с первым интересующим объектом и указания, связанного со вторым интересующим объектом может быть основано на: указании, связанном с географическим положением, которое, в свою очередь, связано с пользователем; данных, связанных с первым интересующим объектом; данных, связанных со вторым интересующим объектом; данных, связанных с возрастом пользователя; данных, связанных с полом пользователя; поисковом запросе и/или данных, полученных от электронном устройства.
[106] На этапе 1014 процессор 110 сервера 232 может сохранять результат в памяти, например, на ОЗУ 130 сервера 232.
[107] На этапе 1016 результирующий набор передается пользовательскому устройству 208 и инициируется отображение результирующего набора на пользовательском устройстве 208. В одном варианте осуществления, инициирование отображения пользовательским устройством 208 результирующего набора пользователю 170 может содержать инициирование отображения на пользовательском устройстве 208 списка интересующих объектов и списка действий, связанных с интересующими объектами. В таком варианте осуществления, инициирование отображения на пользовательском устройстве 208 списка интересующих объектов и списка действий, связанных с интересующими объектами, может также содержать инициирование отображения пользовательским устройством 208 информации, связанной с интересующими объектами, и информации, описывающей действия, связанные с интересующим объектом. В некоторых других вариантах осуществления, инициирование отображения (этап 1018) пользовательским устройством 208 результирующего набора пользователю 170 содержит создание страницы результатов поиска, включающей результирующий набор, и/или карты объекта, включающей в себя результирующий набор.
[108] В некоторых вариантах осуществления, создание результирующего набора, связанного с поисковым запросом, может также содержать определение процессором 110 сервера 232 указания, связанного с первым интересующим объектом, не менее чем частично, на основе реакции пользователя на предварительно переданный результирующий набор и/или интересующего объекта, выбранного пользователем 170. В некоторых других вариантах осуществления, создание результирующего набора, связанного с поисковым запросом, может также содержать определение процессором 110 сервера 232 указания, связанного со вторым интересующим объектом, не менее чем частично, на основе реакции пользователя на предварительно переданный результирующий набор и/или интересующего объекта, выбранного пользователем 170.
[109] С учетом вышеописанных вариантов осуществления, которые были описаны и показаны со ссылкой на конкретные этапы, выполненные в определенном порядке, следует иметь в виду, что эти этапы могут быть совмещены, разделены, обладать другим порядком выполнения - все это не выходит за границы настоящего решения. Соответственно, порядок и группировка этапов не является ограничением решения.
[110] Специалисты в данной области техники поймут, что в настоящем описании выражение "получение данных" от пользователя подразумевает получение пользовательским устройством 208 или другим электронным устройством данных от пользователя в виде электронного (или другого) сигнала. Кроме того, специалисты в данной области техники поймут, что отображение данных пользователю через графический интерфейс пользователя (например, экран электронного устройства и тому подобное) может включать в себя передачу сигнала графическому интерфейсу пользователя, этот сигнал содержит данные, которые могут быть обработаны, и по меньшей мере часть этих данных может отображаться пользователю через графический интерфейс пользователя.
[111] Некоторые из этих этапов, а также передача-получение сигнала хорошо известны в данной области техники и поэтому для упрощения были опущены в конкретных частях данного описания. Сигналы могут быть переданы-получены с помощью оптических средств (например, оптоволоконного соединения), электронных средств (например, проводного или беспроводного соединения) и механических средств (например, на основе давления, температуры или другого подходящего параметра).
[112] Модификации и улучшения вышеописанных вариантов осуществления будут ясны специалистам в данной области техники. Предшествующее описание представлено только в качестве примера и не несет никаких ограничений. Таким образом, объем настоящего решения ограничен только объемом прилагаемой формулы изобретения.