Основанные на контексте мгновенные поисковые рекомендации
INSTANT CONTEXT-BASED SEARCH RECOMMENDATIONS

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
[0001] Данное техническое описание относится к поисковым машинам.
ПРЕДПОСЫЛКИ СОЗДАНИЯ ИЗОБРЕТЕНИЯ
[0002] В целом, пользователь может запрашивать информацию посредством ввода запроса в поисковую машину. Поисковая машина может обрабатывать запрос и может предоставлять информацию для вывода пользователю в ответ на запрос.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0003] Система может принимать обращения на предмет рекомендуемых поисковых запросов в течение поискового сеанса. В ответ на обращение, система может генерировать рекомендуемые поисковые запросы на основе идентификации одного или более субъектов, например, певцов, актеров, музыкантов, писателей, режиссеров, телевизионных сетей, или других производственных компаний, которые ассоциированы с одним или более поисковыми запросами, принятыми в течение поискового сеанса. Система использует недавние поисковые запросы, принятые в течение поискового сеанса, в качестве контекстных понятий, чтобы смещать оценку потенциальных рекомендуемых поисковых запросов к местам, людям или любым субъектам, которые могут быть извлечены из поискового сеанса.
[0004] Инновационные аспекты изобретения, описываемого в данном техническом описании, могут быть воплощены в способах, которые включают в себя действия в виде приема, в течение поискового сеанса, обращения на предмет рекомендуемого поискового запроса; в ответ на прием обращения на предмет рекомендуемого поискового запроса: выбирают шаблон запроса из базы данных шаблонов запросов; идентифицируют субъект, который ассоциирован с одним или более поисковыми запросами, принятыми в течение поискового сеанса; генерируют рекомендуемый поисковый запрос на основе выбранного шаблона запроса и идентифицированного субъекта; и предоставляют данные, которые обеспечивают предоставление сгенерированного рекомендуемого поискового запроса в интерфейсе пользователя. Таким образом, объем обработки, требуемый, чтобы генерировать рекомендуемый поисковый запрос, может быть уменьшен. В частности, посредством идентификации субъекта на основе поисковых запросов, принятых во время сеанса, и выбора шаблона запроса, способ способен в большей степени предугадывать, какие рекомендации поискового запроса наиболее вероятно будут выбраны. Посредством предоставления релевантных рекомендаций поискового запроса, используя обработку, описанную выше, уменьшается потребность в генерировании дальнейших поисковых запросов. Кроме того, посредством уменьшения генерирования множественных рекомендаций поискового запроса, объем данных, который передается через сеть во время поисковой операции, также может быть уменьшен. Дополнительно, посредством уменьшения количества поисковых запросов, которые генерируются, и посредством уменьшения объема данных, который отправляется через сеть, время, затраченное на выполнение поисковой операции (с запрашивания рекомендуемого поискового запроса до выбора результата поиска), также может быть уменьшено.
[0005] Другие варианты осуществления данного аспекта включают в себя соответствующие компьютерные системы, устройство и компьютерные программы, записанные на одном или более компьютерных запоминающих устройствах, при этом каждое выполнено с возможностью выполнения действий способов. Система из одного или более компьютеров может быть выполнена с возможностью выполнения конкретных операций или действий в силу наличия программного обеспечения, встроенного программного обеспечения, аппаратного обеспечения или их сочетания, инсталлированного в системе, которое при работе вызывает или предписывает системе выполнять действия. Одна или более компьютерные программы могут быть выполнены с возможностью выполнения конкретных операций или действий в силу включения инструкций которые, когда исполняются устройством обработки данных, предписывают устройству выполнять действия.
[0006] Вышеупомянутые и другие варианты осуществления каждый может опционально включать в себя один или более из следующих признаков, отдельно или в сочетании. В некоторых реализациях способы могут включать в себя идентификацию набора субъектов, на которые ссылается один или более поисковых запросов, принятых в течение поискового сеанса; для каждого субъекта в наборе субъектов, идентификацию одного или более субъектов, которые связаны с этим субъектом; расширение набора субъектов, чтобы он включал в себя субъекты, которые связаны с каждым субъектом в наборе субъектов; и сохранение, в буфере, расширенного набора субъектов, при этом субъект идентифицируется из расширенного набора субъектов, хранящегося в буфере.
[0007] В некоторых реализациях способы могут включать в себя, для каждого субъекта в расширенном наборе субъектов, назначение оценки релевантности субъекту.
[0008] В других реализациях, идентификация субъекта, который ассоциирован с одним или более поисковыми запросами, принятыми в течение поискового сеанса, содержит: идентификацию типа субъекта, совпадающего с типом заполнителя в выбранном шаблоне запроса; и идентификацию субъекта, который (i) имеет идентифицированный тип субъекта, и (ii) ассоциирован с одном или более поисковыми запросами, принятыми в течение поискового сеанса.
[0009] В некоторых случаях, идентификация субъекта, который (i) имеет идентифицированный тип субъекта, и (ii) ассоциирован с одним или более поисковыми запросами, принятыми в течение поискового сеанса, содержит: осуществление доступа, посредством буфера, к расширенному набору субъектов; выбор набора субъектов, которые имеют идентифицированный тип субъекта; выбор субъекта из набора субъектов на основе оценок каждого субъекта в наборе субъектов, которые имеют идентифицированный тип субъекта.
[0010] В некоторых реализациях обращение на предмет рекомендуемых поисковых запросов содержит частичный поисковый запрос, который включает в себя один или более символы, введенные пользователем.
[0011] В других реализациях, обращение на предмет рекомендуемого поискового запроса не включает в себя каких-либо символов, введенных пользователей.
[0012] В некоторых случаях, выбор шаблона запроса содержит: определение того, что частичный поисковый запрос совпадает с частью шаблона запроса, хранящегося в базе данных шаблонов запросов; и выбор шаблона запроса, хранящегося в базе данных шаблонов запросов.
[0013] В других случаях, выбор шаблона содержит: идентификацию одного или более недавних шаблонов запроса, введенных в течение поискового сеанса; определение того, что один или более из идентифицированных недавних шаблонов запроса связаны с предварительно определенным списком субъектов; и выбор шаблона запроса, который определяется как связанный с предварительно определенным списком субъектов.
[0014] В некоторых случаях, определение того, что один или более из идентифицированных недавних шаблонов запроса связаны с предварительно определенным списком субъектов, содержит определение, является ли список субъектов упорядоченным списком субъектов или неупорядоченным списком субъектов.
[0015] В некоторых реализациях список субъектов является упорядоченным списком субъектов.
[0016] В некоторых реализациях определение того, что один или более из идентифицированных недавних шаблонов запроса связаны с предварительно определенным списком субъектов, содержит определение того, что один или более идентифицированных недавних шаблонов запроса связаны с последовательными элементами в списке субъектов.
[0017] В других реализациях идентификация субъекта, который ассоциирован с одним или более поисковыми запросами, принятыми в течение поискового сеанса, содержит идентификацию следующего субъекта в списке субъектов.
[0018] В некоторых реализациях список субъектов является неупорядоченным списком субъектов.
[0019] В некоторых случаях определение того, что один или более из идентифицированных недавних шаблонов запроса связаны с предварительно определенным списком субъектов, содержит определение того, что один или более идентифицированных недавних шаблоны запроса связаны с элементами в списке субъектов.
[0020] В других случаях идентификация субъекта, который ассоциирован с одним или более поисковыми запросами, принятыми в течение поискового сеанса, содержит идентификацию субъекта в списке субъектов.
[0021] В некоторых реализациях база данных шаблонов запросов хранит шаблоны запроса, которые были извлечены из журналов регистрации поискового запроса.
[0022] Подробности одного или более вариантов осуществления изобретения, описываемого в данном техническом описании, излагаются на сопроводительных чертежах и в описании ниже. Другие потенциальные признаки, аспекты и преимущества предмета изобретения станут очевидны из описания, чертежей и формулы изобретения
ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0023] Фиг. 1A-1C изображают примерную систему для предоставления рекомендуемых поисковых запросов на основе одного или более контекстных понятий.
[0024] Фиг. 2 изображает блок-схему примерного процесса для предоставления рекомендуемых поисковых запросов на основе одного или более контекстных понятий.
[0025] Фиг. 3A и 3B изображают часть примерного интерфейса пользователя, которая предлагает рекомендуемые поисковые запросы на основе одного или более контекстных понятий, используя основанное на субъекте смещение.
[0026] Фиг. с 4A по 4C изображают часть примерного пользовательского интерфейса, который предоставляет рекомендуемые поисковые запросы на основе одного или более контекстных понятий, используя экстраполяцию субъекта.
[0027] Подобные ссылочные символы на разных чертежах указывают подобные элементы.
ПОДРОБНОЕ ОПИСАНИЕ
[0028] Данное техническое описание описывает систему для использования истории поиска в течение поискового сеанса, чтобы смещать или экстраполировать оценку потенциальных рекомендуемых поисковых запросов к местам, людям или любым субъектам, которые могут быть извлечены из истории поиска. Система может принимать поисковые запросы в течение поискового сеанса, которые включают в себя идентификаторы субъектов, например, певцов, актеров, музыкантов, писателей, режиссеров, телевизионных сетей или других производственных компаний. В ответ на прием обращения на предмет предлагаемого поискового запроса в течение поискового сеанса, система может выбирать шаблон запроса, например, «weather in $city» (погода в $городе), «$country population 2014», (население $страны в 2014) из базы данных шаблонов запросов, идентифицировать тип заполнителя в выбранном шаблоне запроса, например «$city» ($город) или «$country» ($страна), идентифицировать субъект в качестве контекстного понятия, которое совпадает с типом заполнителя и ассоциировано с одним или более поисковыми запросами, принятыми в течение поискового сеанса, и генерировать рекомендуемый поисковый запрос. Система может выполнять основанное на субъекте смещение, при этом система выполняет основанную на шаблоне оценку и идентифицирует субъекты с высокой оценкой, которые соответствуют шаблону в недавнем контексте. Система также может выполнять экстраполяцию субъекта посредством определения того, что много поисковых запросов связано с лежащими в основе списками, и посредством предсказания вероятного следующего поискового запроса на основе элемента в лежащем в основе списке.
[0029] Фиг. 1A и 1B изображают примерную систему 100 для предоставления рекомендуемых поисковых запросов на основе одного или более контекстных понятий. В частности, система 100 относится к реализации, в которой обращение на предмет рекомендуемого поискового запроса, т.е. автозавершение поискового запроса, принимается в течение поискового сеанса, и один или более рекомендуемых поисковых запросов предоставляются в ответ на обращение, где один или более рекомендуемых поисковых запросов генерируются на основе одного или более контекстных понятий, которые извлекаются из поисковых запросов, принятых в течение поискового сеанса.
[0030] Коротко, система 100 может принимать один или более поисковых запросов в течение поискового сеанса, такие как один или более запросов на естественном языке, введенные пользователем. Система 100 может идентифицировать один или более субъектов, на которые ссылается один или более поисковых запросов, и может выбирать один или более шаблонов запроса, на которые ссылается один или более поисковых запросов. Система 100 может генерировать рекомендуемые поисковые запросы на основе идентификации одного или более субъектов и выбора одного или более шаблонов запроса, на которые ссылается один или более поисковых запросов. Список рекомендуемых поисковых запросов может быть предоставлен в ответ на принятое обращение, например, в качестве вывода пользователю посредством предоставления списка рекомендуемых поисковых запросов в поле ввода поискового запроса. Система 100 включает в себя клиентское устройство 102, внешний интерфейс 110 машины запросов, базу 112 данных шаблонов, базу 114 данных субъектов, внутрисеансовую базу 116 данных и генератор 120 автозавершения. Компоненты системы 100 могут находиться на связи через одну или более сетей, такие как одна или более LAN или WAN, либо могут находиться на связи посредством одного или более других проводных или беспроводных соединений.
[0031] Как изображено на Фиг. 1A, во время операции (A), т.е. в течение поискового сеанса, внешний интерфейс 110 машины запросов принимает данные, в которых закодированы один или более поисковых запросов, введенные пользователем. Например, пользователь может подавать запрос «Band-A» (Ансамбль-A) на клиентском устройстве 102, и данные, в которых закодирован этот запрос, могут быть приняты внешним интерфейсом 110 машины запросов. В некоторых реализациях, внешний интерфейс 110 машины запросов может принимать данные, в которых закодирован введенный пользователем запрос, через одну или более сетей или через одно или более других беспроводных или проводных соединений.
[0032] Клиентское устройство 102 может быть мобильным вычислительным устройством, таким как мобильный телефон, смартфон, персональный цифровой помощник (PDA), музыкальный проигрыватель, устройство для чтения электронных книг, планшетный компьютер, носимое вычислительное устройство, компьютер класса лэптоп, настольный компьютер или другое портативное или стационарное вычислительное устройство. Клиентское устройство 102 может содержать микрофон, клавиатуру, сенсорный экран или другой интерфейс, который позволяет пользователю вводить запрос в устройство. В некоторых реализациях, пользователь может предоставлять запрос в интерфейс, который представляется или доступен на клиентском устройстве 102. Например, пользователь может вводить запрос в поисковую машину, которая доступна на клиентском устройстве 102, может вводить запрос в базу данных, которая доступна на клиентском устройстве 102, или может предоставлять запрос в любом другом интерфейсе, который содержит возможности поиска, например, в интерфейсе социальной сети.
[0033] Пользователь может предоставлять запрос на естественном языке на клиентском устройстве 102, как, например, посредством произнесения одного или более понятий запроса, печатания одного или более понятий запроса, выбора одного или более понятий поискового запроса, например, из меню доступных понятий, выбора запроса, который содержит одно или более понятий, например, из меню доступных запросов, или посредством предоставления запроса с использованием любого другого способа. В других реализациях, пользователь может предоставлять обращение, используя другой способ, например, посредством выбора или указания изображения, которое пользователь хотел бы найти, посредством предоставления аудио или видео образца контента, который пользователь хотел бы найти, или посредством иного ввода запроса на клиентском устройстве 102.
[0034] Данные, которые включают в себя запрос, введенный пользователем, и которые идентифицируют одно или более понятий, на которые ссылается запрос, введенный пользователем, могут быть приняты внешним интерфейсом 110 машины запросов в едином пакете данных или в нескольких пакетах данных. Данные, ассоциированные с введенным пользователем запросом, могут быть дополнительно приняты одновременно или могут быть приняты раздельно в разные моменты времени.
[0035] После приема данных, в которых закодирован запрос, введенный пользователем, внешний интерфейс 110 машины запросов может передавать данные, ассоциированные с введенным пользователем запросом, внутрисеансовой базе 116 данных. Например, на основе приема данных, которые включают в себя введенный пользователем поисковый запрос «Band-A», внешний интерфейс 110 машины запросов может извлекать данные ассоциированные с введенным пользователем запросом «Band-A» и может передавать данные, ассоциированные с запросом внутри-сеансовой базе 116 данных.
[0036] Во время операции (B), внутрисеансовая база 116 данных может принимать информацию, ассоциированную с введенным пользователем запросом, и может идентифицировать субъект, ассоциированный с введенным пользователем запросом. Например, внутрисеансовая база 116 данных может принимать информацию, ассоциированную с запросом «Band-A», и может идентифицировать субъект, ассоциированный с запросом, как ансамбль «Band-A».
[0037] В некоторых реализациях, внутрисеансовая база 116 данных может идентифицировать субъект, ассоциированный с запросом, посредством сравнения понятий запроса с понятиями, ассоциированными с набором известных субъектов. Например, запрос, принятый внутрисеансовой базой 116 данных, может быть запросом на естественном языке, например, запросом «Band-A», и внутрисеансовая база 116 данных может идентифицировать субъект «Band-A» как ассоциированный с запросом на основе сравнения понятий запроса с понятиями, ассоциированными с набором известных субъектов. В некоторых реализациях, известный набор субъектов может быть доступен внутрисеансовой базе 116 данных в базе данных субъектов, такой как база 114 данных субъектов, которая ассоциирована с внутрисеансовой базой 116 данных или которая иным образом доступна внутрисеансовой базе 116 данных, например, через одну или более сети.
[0038] В некоторых вариантах осуществления внутрисеансовая база 116 данных может идентифицировать один или более субъектов, которые связаны с идентифицированным субъектом, ассоциированным с введенным пользователем запросом. Например, запрос, принятый внутрисеансовой базой 116 данных, может быть запросом на естественном языке, например, запросом «Band-A», и внутрисеансовая база 116 данных может идентифицировать один или более субъектов как связанные с запросом, как, например, участник ансамбля Band-A «Member#1» (Участник#1),= или песня, исполняемая ансамблем Band-A «Dancing King» (Танцующий Король). В некоторых реализациях, внутрисеансовая база 116 данных может идентифицировать один или более субъектов, которые связаны с идентифицированным субъектом, ассоциированным с введенным пользователем запросом, используя базу данных субъектов, такую как база 114 данных субъектов, которая ассоциирована с внутрисеансовой базой 116 данных или которая иным образом доступна внутрисеансовой базе 116 данных, например, через одну или более сетей.
[0039] Каждому субъекту, идентифицированному внутрисеансовой базой 116 данных, может быть назначена оценка релевантности. Субъекту может быть назначена оценка релевантности на основе многочисленных факторов, таких как насколько недавно субъект был включен в введенный пользователем поисковый запрос в течение поискового сеанса, например, был ли субъект включен в предыдущий поисковый запрос, насколько часто субъект включался в введенные пользователем поисковые запросы в течение поискового сеанса, например, был ли субъект включен более одного раза в течение поискового сеанса, или насколько важным считается субъект, например, на основе того, насколько много просмотров или щелчков принял субъект или ресурс, ассоциированный с субъектом. Оценки релевантности могут быть использованы, чтобы смещать рекомендации поискового запроса к любым субъектам, которые могут быть извлечены из недавних поисковых запросов пользователя, и могут быть динамически отрегулированы в течение поискового сеанса. В некоторых случаях, внутрисеансовая база 116 данных может назначать оценки релевантности субъектам, либо оценка релевантности может быть назначена субъекту другой системой или назначена субъекту человеком, например, модератором или пользователем системы 100.
[0040] В некоторых реализациях, внутри-сеансовая база 116 данных может идентифицировать типы, ассоциированные с идентифицированным субъектом. Например, запрос, принятый внутри-сеансовой базой 116 данных, может быть запросом на естественном языке, например, запросом, «Band-A», и внутрисеансовая база 116 данных может идентифицировать субъект «Band-A» как ассоциированный с типом «$band» ($ансамбль) и связанный с ним субъект «Dancing King» как ассоциированный с типом «$song» ($песня). Другие примеры типов субъекта включают в себя, среди прочего, «$city», «$singer» ($певец) или «$country». В некоторых реализациях, известный набор субъектов и их ассоциированные типы могут быть доступны внутрисеансовой базе 116 данных в базе данных субъектов, такой как база 114 данных субъектов, которая ассоциирована с внутрисеансовой базой 116 данных или которая иным образом доступна внутрисеансовой базе 116 данных, например, через одну или более сетей.
[0041] В некоторых реализациях, внутрисеансовая база 116 данных может идентифицировать шаблоны запроса, ассоциированные с введенным пользователем запросом. Например, запрос, принятый внутри-сеансовой базой 116 данных, может быть запросом на естественном языке, например, запросом, «Dancing King lyrics Band-A» (“Текст Dancing King Band-A”)_ и внутрисеансовая база 116 данных может идентифицировать шаблон запроса «$song lyrics $band» ($песня текст $ансамбль). Другие примеры шаблонов запроса включают в себя «weather in $city», «$singer birthday» ($певец дата рождения) или «$country population 2014». В некоторых реализациях, известный набор шаблонов запроса может быть доступен внутрисеансовой базе данных в базе данных шаблонов запросов, такой как база 112 данных шаблонов запросов, которая ассоциирована с внутрисеансовой базой 116 данных или которая иным образом доступна внутрисеансовой базе 116 данных, например, через одну или более сетей.
[0042] Внутрисеансовая база 116 данных может хранить информацию, ассоциированную с поисковым сеансом, в буфере 118, такую как информация, которая связна с каждым субъектом, идентифицированным в течение поискового сеанса. Например, как изображено на Фиг. 1A, внутрисеансовая база 116 данных может хранить субъект, идентифицированный из введенного пользователем поискового запроса, например, «Band-A», вместе с ассоциированным типом субъекта, например «$band» и оценкой релевантности «1.0». В данном примере, субъекту «Band-A» назначается оценка релевантности равная 1.0, поскольку текущий поисковый запрос, введенный пользователем, является «Band-A». Внутрисеансовая база данных также хранит информацию, ассоциированную с идентифицированными связанными субъектами «Member#1» и «Dancing King», совместно с ассоциированными типами субъекта «$singer» и «$song», соответственно. В данном примере, субъектам «Member#1» и «Dancing King» каждому назначена оценка релевантности «0.8», отражающая соединение субъектов с текущим поисковым запросом «Band-A». В некоторых реализациях внутрисеансовая база 116 данных также может хранить другую информацию, ассоциированную с поисковым сеансом, такую как идентифицированные принятые шаблоны запроса или история поиска поискового сеанса.
[0043] Как изображено на Фиг. 1B, во время операции (C), т.е. во время того же самого поискового сеанса, внешний интерфейс 110 машины запросов может принимать обращение на предмет рекомендуемого поискового запроса. Например, пользователь может начинать новый поисковый запрос на клиентском устройстве 102, например, щелкая в поле ввода поискового запроса «|», и данные, в которых закодирован обращение на предмет нового запроса, могут быть приняты внешним интерфейсом 110 машины запросов. В некоторых реализациях, внешний интерфейс 110 машины запросов может принимать данные, в которых закодировано обращение на предмет нового запроса, через одну или более сетей или через одно или более других беспроводных или проводных соединений. Внешний интерфейс 110 машины запросов может передавать данные, в которых закодирован обращение на предмет нового запроса, в генератор 120 автозавершения.
[0044] Генератор 120 автозавершения может принимать данные, в которых закодирован обращение на предмет нового запроса, от внешнего интерфейса 110 машины запросов на операции (D). Во время операции (E), генератор 120 автозавершения может осуществлять доступ к информации, хранящейся во внутрисеансовой базе 116 данных, а также к информации, хранящейся в базе 112 данных шаблонов и базе 114 данных субъектов, для того чтобы генерировать рекомендуемый поисковый запрос. Например, генератор 120 автозавершения может выбирать шаблон запроса, например, «$песня lyrics», из базы 112 данных шаблонов и идентифицировать субъект, который ассоциирован с одним или более поисковыми запросами, принятыми в течение поискового сеанса, например, «Band-A», из буфера 118 во внутрисеансовой базе 116 данных, чтобы сгенерировать рекомендуемый поисковый запрос. Выбор шаблонов запроса и идентификация субъектов для того, чтобы генерировать рекомендуемые поисковые запросы, описываются более подробно ниже со ссылкой на Фиг. 2.
[0045] Во время операции (F), генератор 120 автозавершения может предоставлять данные, в которых закодирован один или более рекомендуемых поисковых запросов 124, клиентскому устройству 102 для представления в пользовательском интерфейсе 122. Например, как показано на Фиг. 1B, на основе одного или более запросов, принятых в течение поискового сеанса, например, поискового запроса «Band-A», генератор 120 автозавершения предоставил рекомендуемые поисковые запросы «Dancing King lyrics» и «Member#1 birthday» (Участник#1 дата рождения).
[0046] Как показано на Фиг. 1C, во время операции (G), внешний интерфейс 110 машины запросов может принимать обращение на предмет рекомендуемого поискового запроса, например, обращение на предмет автозавершения. Например, как показано на Фиг. 1C, пользователь может подавать частичный поисковый запрос, например, «D|», в клиентском устройстве 102, т.е. поисковый запрос, который включает в себя один или более символов, и данные, в которых закодирован частичный поисковый запрос, могут быть приняты внешним интерфейсом 110 машины запросов. В некоторых реализациях, внешний интерфейс 110 машины запросов может принимать данные, в которых закодирован частичный поисковый запрос, через одну или более сетей или через одно или более других беспроводных или проводных соединений. Внешний интерфейс 110 машины запросов может передавать данные, в которых закодирован частичный поисковый запрос, генератору 120 автозавершения.
[0047] Генератор 120 автозавершения может принимать данные, в которых закодирован частичный поисковый запрос, от внешнего интерфейса 110 машины запросов на операции (H). Во время операции (I), генератор 120 автозавершения может осуществлять доступ к информации, хранящейся во внутрисеансовой базе 116 данных, а также к информации, хранящейся в базе 112 данных шаблонов и базе 114 данных субъектов, чтобы генерировать автозавершение частичного поискового запроса. Например, генератор 120 автозавершения может определять, что частичный поисковый запрос совпадает с частью шаблона запроса в базе 112 данных шаблонов, и выбирать шаблон запроса. Кроме того, генератор 120 автозавершения может идентифицировать субъект, который ассоциирован с одним или более поисковыми запросами, принятыми в течение поискового сеанса, например, «Band-A», из буфера 138 во внутрисеансовой базе 116 данных для того, чтобы генерировать автозавершение. В данном примере, буфер 138 включает в себя субъект «David's Donuts» (Пончики от Дэвида) с оценкой релевантности 0.5, отражающей, что запрос, связанный с «David's Donuts», мог быть принят в течение поискового сеанса, или является, скорее всего, запросом, который должен быть принят пользователем. Выбор шаблонов запроса и идентификация субъектов, которые соответствуют шаблону в недавнем контексте, чтобы генерировать автозавершения поискового запроса, описывается более подробно ниже со ссылкой на Фиг. 2.
[0048] Во время операции (J), генератор 120 автозавершения может предоставлять данные, в которых закодирован один или более рекомендуемых поисковых запросов 134, клиентскому устройству 102 для представления в пользовательском интерфейсе 132. Например, как показано на Фиг. 1C, на основе одного или более запросов, принятых в течение поискового сеанса, например, поискового запроса «Band-A», и частичного поискового запроса «D|», генератор 120 автозавершения предоставил рекомендуемые поисковые запросы «Dancing King lyrics» и «Directions to Stockholm» (Как добраться до Стокгольма) (где предполагается, что ансамбль «Band-A» происходит из Стокгольма). В некоторых реализациях рекомендуемые поисковые запросы могут включать в себя рекомендации, которые связаны с субъектами, отличными от самого недавнего принятого поискового запроса. Например, рекомендуемые поисковые запросы 134 также включают в себя «David's Donuts», отражая то, что пользователем, возможно, введен поисковый запрос, связанный с «David's» и/или «Donuts», в некоторый момент в течение поискового сеанса.
[0049] Фиг. 2 представляет собой примерный процесс 200 для предоставления рекомендуемых поисковых запросов на основе одного или более контекстных понятий. Например, процесс 200 может быть выполнен системой 100 в ответ на прием обращения на предмет рекомендуемого поискового запроса.
[0050] На этапе 202, принимается обращение на предмет рекомендуемого поискового запроса. Обращение принимается в течение поискового сеанса. В некоторых реализациях, обращение на предмет рекомендуемого поискового запроса включает в себя частичный поисковый запрос, который, в свою очередь, включает в себя один или более символов, введенных пользователем. Например, обращение на предмет рекомендуемого поискового запроса может включать в себя понятия «weather in |» («погода в |»). В других реализациях, обращение на предмет рекомендуемого поискового запроса может не включать в себя каких-либо символов, введенных пользователем. Например, обращение на предмет рекомендуемого поискового запроса может включать в себя указание того, что пользователь начал новый поисковый запрос, до того как пользователь введет один или более символов, посредством щелчка в окне ввода поискового запроса.
[0051] На этапе 204, в ответ на прием обращения на предмет рекомендуемого поискового запроса, шаблон запроса выбирается из базы данных шаблонов запросов. База данных шаблонов запросов хранит шаблоны запроса, которые были извлечены из журналов регистрации поисковых запросов. Например, шаблоны запроса могут быть извлечены при автономной работе из журналов регистрации поисковых запросов, включая историю поиска пользователя. Шаблон запроса может включать в себя одно или более понятий-заполнителей, которые могут быть идентифицированы с помощью некоторых типов. Например, шаблон запроса «flights to $city» (рейсы в $город) включает в себя понятие-заполнитель «$city», которое идентифицируется с помощью места или местоположения. В качестве другого примера, шаблон запроса «$song lyrics $bandname» ($песня текст $названиеансамбля) включает в себя понятия-заполнители «$song» и «$bandname» ($названиеансамбля), которые могут быть идентифицированы с помощью песни и названия ансамбля, соответственно.
[0052] Как описано выше со ссылкой на этап 202, в некоторых реализациях обращение на предмет рекомендуемого поискового запроса может включать в себя частичный поисковый запрос. В таких случаях, выбор шаблона запроса из базы данных шаблонов запросов может включать в себя определение того, что частичный поисковый запрос совпадает с частью шаблона запроса, хранящегося в базе данных шаблонов запросов, и выбор шаблона запроса, хранящегося в базе данных шаблона запроса. Например, частичный обращение на предмет рекомендуемого поискового запроса может включать в себя понятия «weather in|». В таких случаях, может быть определено, что частичный поисковый запрос «weather in|» совпадает в частью шаблона запроса «weather in $city».
[0053] В других реализациях, выбор шаблона запроса из базы данных шаблонов запросов может включать в себя идентификацию одного или более недавних шаблонов запроса, введенных в течение поискового сеанса, определение того, что один или более из идентифицированных недавних шаблонов запроса связаны с предварительно определенным списком субъектов, и выбор шаблона запроса, который определяется как связанный с предварительно определенным списком субъектов. Например, может быть идентифицировано, что в течение поискового сеанса пользователь возможно недавно вводил один или более экземпляров шаблона запроса, такого как «$song1 lyrics $bandname», за которым следовал «$song2 lyrics $bandname». В таком случае может быть определено, что недавние шаблоны запроса связаны с последовательными песнями в альбоме ансамбля, и может быть выбран шаблон запроса, который определяется как связанный со списком песен в альбоме ансамбля.
[0054] В некоторых реализациях, предварительно определенный список субъектов является упорядоченным списком субъектов. Например, как описано в абзаце выше, предварительно определенный список субъектов может быть списком песен в альбоме ансамбля. В таком случае определение того, что один или более из идентифицированных недавних шаблонов запроса связаны с предварительно определенным списком субъектов, может включать в себя определение того, что один или более идентифицированных недавних шаблонов запроса связаны с последовательными элементами в списке субъектов.
[0055] В других реализациях, предварительно определенный список субъектов является неупорядоченным списком субъектов. Например, предварительно определенный список субъектов может быть списком актеров или актрис, появляющихся в фильме, или списком стран в Европе. В таких случаях определение того, что один или более из идентифицированных недавних шаблонов запроса связаны с предварительно определенным списком субъектов, может включать в себя определение того, что один или более идентифицированных недавних шаблонов запроса связаны с элементами в списке субъектов.
[0056] На этапе 206, в ответ на прием обращения на предмет рекомендуемого поискового запроса, идентифицируется субъект, который ассоциирован с одним или более поисковыми запросами, принятыми в течение поискового сеанса. В некоторых реализациях, может быть идентифицирован набор субъектов, на который ссылается один или более поисковых запросов, принятые в течение поискового сеанса. Для каждого субъекта в наборе субъектов, на которые ссылается один или более поисковых запросов, может быть идентифицирован один или более субъектов расширения, которые связаны с субъектом, и набор субъектов может быть расширен, чтобы включать в себя субъекты расширения, которые связаны с каждым субъектом в наборе субъектов. Каждому субъекту в расширенном наборе субъектов может быть назначена соответствующая оценка релевантности. Расширенный набор субъектов может быть сохранен в буфере, и субъект, который ассоциирован с одним или более поисковыми запросами, принятыми в течение поискового сеанса, может быть идентифицирован из расширенного набора субъектов, хранящегося в буфере.
[0057] В некоторых реализациях, идентификация субъекта, который ассоциирован с одним или более поисковыми запросами, принятыми в течение поискового сеанса, включает в себя идентификацию типа субъекта, совпадающего с типом заполнителя в выбранном шаблоне запроса, и идентификацию субъекта, который (i) имеет идентифицированный тип субъекта и (ii) ассоциирован с одним или более поисковыми запросами, принятыми в течение поискового сеанса. Например, система может идентифицировать тип субъекта «$city» как совпадающий с типом заполнителя «$city» в шаблоне запроса «weather in $city» и идентифицировать субъект «Happytown» как имеющий тип субъекта «$city» и ассоциированный с одним или более поисковыми запросами, принятыми в течение поискового сеанса.
[0058] В некоторых реализациях, идентификация субъекта, который (i) имеет идентифицированный тип субъекта и (ii) ассоциирован с одним или более поисковыми запросами, принятыми в течение поискового сеанса, включает в себя осуществление доступа к расширенному набору субъектов, хранящемуся в буфере, выбор набора субъектов, которые имеют идентифицированный тип субъекта, и выбор субъекта из выбранного набора субъектов на основе оценок релевантности каждого субъекта в выбранном наборе субъектов, которые имеют идентифицированный тип субъекта. Например, система может осуществлять доступ к расширенному набору субъектов, хранящемуся в буфере, и выбирать набор субъектов, которые имеют тип «$city». Затем система может выбирать конкретный субъект, т.е. конкретное название города, из набора субъектов, которые имеют тип «$city», на основе оценок релевантности у субъектов, которые имеют тип «$city». Если пользователь недавно вводил поисковые запросы, связанные с субъектом «Happytown», например «flights to Happytown» (рейсы в Happytown), субъект «Happytown» может иметь более высокую оценку релевантности, чем другой город, который пользователь не включал недавно в какие-либо поисковые запросы.
[0059] В некоторых случаях, как описано выше со ссылкой на этап 204, набор субъектов с конкретным типом может быть упорядоченным списком субъектов, таким как список песен в альбоме ансамбля. В таких случаях, идентификация субъекта, который ассоциирован с одним или более поисковыми запросами, принятыми в течение поискового сеанса, включает в себя идентификацию следующего субъекта в списке субъектов. Например, если пользователь ввел один или более поисковых запросов, связанных с первыми двумя песнями в альбоме ансамбля, система может идентифицировать третью песню в альбоме ансамбля в качестве субъекта, который ассоциирован с одним или более поисковыми запросами, принятыми в течение поискового сеанса.
[0060] В других случаях, как описано выше со ссылкой на этап 204, набор субъектов с конкретным типом может быть неупорядоченным списком субъектов, таким как список актеров и актрис, появляющихся в фильме. В таких случаях, идентификация субъекта, который ассоциирован с одним или более поисковыми запросами, принятыми в течение поискового сеанса, включает в себя идентификацию субъекта в списке субъектов. Например, если пользователь вводил один или более поисковых запросов, связанных с двумя актерами, появляющимися в фильме, система может идентифицировать третьего актера или актрису, появляющихся в фильме, в качестве субъекта, который ассоциирован с одним или более поисковыми запросами, принятыми в течение поискового сеанса.
[0061] На этапе 208, в ответ на прием обращения на предмет рекомендуемого поискового запроса, на основе выбранного шаблона запроса и идентифицированного субъекта генерируется рекомендуемый поисковый запрос.
[0062] На этапе 210, в ответ на прием обращения на предмет рекомендуемого поискового запроса, предоставляется сгенерированный рекомендуемый поисковый запрос. Представления пользовательских интерфейсов, которые предоставляют рекомендуемые поисковые запросы на основе одного или более контекстных понятий, используя основанное на субъекте смещение и экстраполяцию субъекта, описываются более подробно ниже со ссылкой на Фиг. 3A-3B и 4A-4C.
[0063] Фиг. 3A и 3B иллюстрируют часть примерного пользовательского интерфейса 300, который предоставляет рекомендуемые поисковые запросы на основе одного или более контекстных понятий, используя основанное на субъекте смещение. Пользовательский интерфейс 300 может быть представлен пользователям в течение поискового сеанса. В некоторых реализациях, пользовательский интерфейс 300 может быть представлен в web-браузере или другом приложении, которое выполнено с возможностью предоставления пользователю функции запроса, например, на страницах результатов поиска, предоставленных поисковой машиной, которая доступна пользователям через web-браузер.
[0064] Пользовательский интерфейс 300, как изображено на Фиг. 3A, является представлением пользовательского интерфейса пользователя для отображения результатов поиска в ответ на запрос, введенный пользователем. В некоторых реализациях, пользовательский интерфейс 300, как изображено на Фиг. 3A, может быть представлен пользователю в ответ на предоставление пользователем запроса в поисковой машине или другой системе, которая позволяет пользователю предоставлять запросы информации. Коротко, пользовательский интерфейс 300 включает в себя поле 302 ввода запроса, элемент 304 управления запрашиванием запроса и результаты 308 поиска.
[0065] Пользовательский интерфейс 300, как изображено на Фиг. 3A, может быть представлен в ответ на запрос, введенный пользователем в течение поискового сеанса. Например, как показано на Фиг. 3A, пользователь ввел поисковый запрос 306 «flights to Happytown» в поле 302 ввода запроса, и пользовательский интерфейс 300 может быть представлен пользователю в ответ на то, что пользователь выбирает элемент 304 управления запрашиванием запроса. Пользовательский интерфейс 300 представляет результаты 308 поиска, которые являются релевантными запросу «flights to Happytown». Например, как показано на Фиг. 3A, результаты 308 поиска включают в себя результаты для онлайновой услуги бронирования рейсов в Happytown и web-сайт, подробно представляющий информацию о расписании рейсов для Happytown.
[0066] Пользовательский интерфейс 300 пользователя, как изображено на Фиг. 3B, является представлением пользовательского интерфейса для отображения рекомендуемых поисковых запросов в ответ на частичный ввод запроса пользователем позже в течение того же самого поискового сеанса, используя основанное на субъекте смещение. Например, как показано на Фиг. 3B, пользователь ввел частичный поисковый запрос 326 «Weather in|» в поле 302 ввода запроса. В некоторых реализациях пользователь может не вводить частичный поисковый запрос, а начинать новый поисковый запрос посредством щелчка в поле ввода запроса, как описано выше со ссылкой на Фиг. 2.
[0067] На основе идентификации, по меньшей мере, субъекта «Happytown» в качестве субъекта, который ассоциирован с одним или более поисковыми запросами, принятыми в течение поискового сеанса, пользовательский интерфейс 300, как изображено на Фиг. 3B, представляет список рекомендуемых поисковых запросов 328, которые являются релевантными частичному поисковому запросу «weather in|» и предыдущим поисковым запросам, введенным пользователем в течение поискового сеанса. Например, как показано на Фиг. 3B, список рекомендуемых поисковых запросов 328 включает в себя «Weather in Happytown» (Погода в Happytown) и «Weather in Rainyville» (Погода в Rainyville). Рекомендуемый поисковый запрос «Weather in Happytown» появляется выше в списке рекомендуемых поисковых запросов, чем рекомендуемый поисковый запрос «Weather in Rainyville», поскольку предыдущий поисковый запрос, введенный пользователем в течение поискового сеанса, включал в себя запрос «flights to Happytown», как показано на Фиг. 3A. Контекстное понятие города «Happytown» вследствие этого обладает более высокой оценкой релевантности, чем другие города в наборе возможных рекомендаций, например, родной город пользователя.
[0068] Фиг. с 4A по 4C иллюстрируют часть примерного пользовательского интерфейса, который предоставляет рекомендуемые поисковые запросы на основе одного или более контекстных понятий, используя экстраполяцию субъекта. Пользовательский интерфейс 400 может быть представлен пользователям в течение поискового сеанса. В некоторых реализациях, пользовательский интерфейс 400 может быть представлен в web-браузере или другом приложении, которое выполнено с возможностью предоставления пользователям функции запроса, например, на странице результатов поиска, предоставленной поисковой машиной, которая доступна пользователям через web-браузер.
[0069] Пользовательский интерфейс 400, как изображено на Фиг. 4A, является представлением пользовательского интерфейса для отображения результатов поиска в ответ на запрос, введенный пользователем. В некоторых реализациях, пользовательский интерфейс 400, как изображено на Фиг. 4A, может быть представлен пользователю в ответ на предоставление пользователем запроса в поисковой машине или другой системе, которая позволяет пользователям предоставлять запросы информации. Коротко, пользовательский интерфейс 400 включает в себя поле 402 ввода запроса, элемент 404 управления запрашиванием запроса и результаты 406 поиска.
[0070] Пользовательский интерфейс 400, как изображено на Фиг. 4A, может быть представлен в ответ на запрос, введенный пользователем в течение поискового сеанса. Например, как показано на Фиг. 4A, пользователь ввел поисковый запрос «A-Song lyrics Two Directions» (A-Song текст Two Directions) в поле 402 ввода запроса, и пользовательский интерфейс 400 может быть представлен пользователю в ответ на выбор пользователем элемента 404 управления запрашиванием запроса. Интерфейс 400 пользователя представляет результаты 406 поиска, которые являются релевантными запросу «A-Song lyrics Two Directions». Например, как показано на Фиг. 4A, результаты 406 поиска включают в себя результаты для официального web-сайта ансамбля «Two Directions».
[0071] Пользовательский интерфейс 400, как изображено на Фиг. 4B, является представлением пользовательского интерфейса для отображения рекомендуемых поисковых запросов в ответ на частичный запрос, вводимый пользователем позже в течение того же самого поискового сеанса. Например, как показано на Фиг. 4B, пользователь ввел частичный поисковый запрос «B|» в поле 402 ввода запроса. В некоторых реализациях пользователь может не вводить частичный поисковый запрос, а начинает новый поисковый запрос посредством щелчка в поле ввода запроса, как описано выше со ссылкой на Фиг. 2. На основе идентификации, по меньшей мере, субъектов «Two Directions» и «A-Song» в недавнем поисковом запросе, введенном пользователем, пользовательский интерфейс 400, как изображено на Фиг. 4B, представляет рекомендуемый поисковый запрос 426, который является релевантным как частичному поисковому запросу «B», так и предыдущим поисковым запросам, введенным пользователем в течение поискового сеанса. Например, как показано на Фиг. 4B, рекомендуемым поисковым запросом 426 является «B-Song lyrics Two Directions» (B-Song стихи Two Directions).
[0072] Пользовательский интерфейс 400, как изображено на Фиг. 4C, является представлением пользовательского интерфейса для отображения рекомендуемых поисковых запросов в ответ на начало пользователем нового поискового запроса в течение того же самого поискового сеанса, используя экстраполяцию субъекта. Например, как показано на Фиг. 4C, пользователь начал новый поисковый запрос посредством щелчка в поле 402 ввода запроса. На основе идентификации шаблона запроса «$song lyrics $bandname» в одном или более недавних поисковых запросах, введенных пользователем, например, поисковых запросах 408 и 428 на Фиг. 4A и 4B, соответственно, и определения того, что шаблон «$song lyrics $bandname» связан с предварительно определенным списком песен в альбоме ансамбля, пользовательский интерфейс 400, как изображено на Фиг. 4C, представляет рекомендуемый поисковый запрос 436. Например, как показано на Фиг. 4C, система идентифицировала шаблон поискового запроса «$song lyrics $bandname», идентифицировала предварительно определенный список песен в альбоме ансамбля «Two Directions», выбрала третью песню «C-Song» из предварительно определенного списка песен и сгенерировала рекомендуемый поисковый запрос «C-Song lyrics Two Directions».
[0073] Было описано некоторое количество реализаций. Тем не менее будет понятно, что разнообразные модификации могут быть выполнены не отступая от сущности и объема раскрытия. Например, разнообразные формы потоков, показанных выше, могут быть использованы с переупорядоченными, добавленными, или удаленными этапами. Соответственно, другие реализации находятся в рамках объема нижеследующей формулы изобретения.
[0074] В тех случаях, когда системы и/или способы, обсуждаемые здесь, могут собирать персональную информацию касательно пользователей, или могут использовать персональную информацию, пользователям может быть предоставлена возможность управления тем, собирают ли программы или функции персональную информацию, например, информацию касательно социальной сети пользователя, социальных действий и активностей, профессии, предпочтений, или текущего местоположения, или управления тем, могут ли и/или каким образом система и/или способы выполнять операции более релевантным образом для пользователя. В дополнение, некоторые данные могут быть обезличены одним или более способами до того, как они сохраняются или используются таким образом, что удаляется персонально идентифицируемая информация. Например, идентификационные данные пользователя могут быть обезличены с тем, чтобы никакая персонально идентифицируемая информация не могула быть определена в отношении пользователя, или географическое местоположение пользователя может быть обобщено, в случае когда получается информация местоположения, как например до города, почтового индекса, или уровня штата, так, что не может быть определено конкретное местоположение пользователя. Таким образом, пользователь может иметь управление над тем, каким образом собирается и используется информация о нем или о ней.
[0075] Варианты осуществления и все из функциональных операций, описанных в данном техническом описании, могут быть реализованы в цифровой электронной схеме, или в компьютерном программном обеспечении, встроенном программном обеспечении, или аппаратном обеспечении, включая структуры, раскрываемые в данном техническом описании и их структурные эквиваленты, или в сочетаниях одного или более из них. Варианты осуществления могут быть реализованы в качестве одного или более компьютерных программных продуктов, т.е., одного или более модулей из инструкций компьютерной программы, закодированных на машиночитаемом носителе информации для исполнения посредством, или управления работой, устройства обработки данных. Машиночитаемый носитель информации может быть машиночитаемым запоминающим устройством, машиночитаемой запоминающей подложкой, устройством памяти, сочетанием сущности, производящей машиночитаемый распространяемый сигнал, или сочетанием одного или более из них. Понятие «устройство обработки данных» охватывает всю аппаратуру, устройства, и машины для обработки данных, включая, в качестве примера, программируемый процессор, компьютер, или несколько процессоров или компьютеров. Устройство может включать в себя, в дополнение к аппаратному обеспечению, код, который создает среду исполнения для рассматриваемой компьютерной программы, например, код, который составляет встроенное программное обеспечение процессора, стек протоколов, систему администрирования базы данных, операционную систему, или сочетание одного или более из них. Распространяемый сигнал является искусственно генерируемым сигналом, например, генерируемым машиной электрическим, оптическим, или электромагнитным сигналом, который генерируется, чтобы кодировать информацию для передачи подходящему устройству приемнику.
[0076] Компьютерная программа (также известная как программа, программное обеспечение, приложение программного обеспечения, сценарий, или код) может быть написана в любой форме языка программирования, включая компилируемые или интерпретируемые языки, и она может быть развернута в любой форме, включая в качестве автономной программы или в качестве модуля, компонента, подпрограммы, или другого блока, подходящего для использования в вычислительной среде. Компьютерная программа не обязательно соответствует файлу в файловой системе. Программа может быть сохранена в части файла, который удерживает другие программы или данные (например, один или более сценарии, хранящиеся в документе языка разметки), в одном файле, предназначенном для рассматриваемой программы, или в нескольких скоординированных файлах (например, файлах, которые хранят один или более модули, подпрограммы, или части кода). Компьютерная программа может быть развернута, чтобы исполняться на одном компьютере или на нескольких компьютерах, которые располагаются в одном месте или распределены по нескольким местам и взаимно соединены посредством сети связи.
[0077] Процессы и логические потоки, описанные в данном техническом описании, могут быть выполнены посредством одного или более программируемых процессоров, исполняющих одну или более компьютерные программы, чтобы выполнять функции посредством оперирования над входными данными и генерирования вывода. Процессы и логические потоки также могут быть выполнены посредством, и устройство также может быть реализовано в качестве, логической схемы особого назначения, например, FPGA (программируемая вентильная матрица) или ASIC (проблемно-ориентированная интегральная микросхема).
[0078] Процессоры, подходящие для исполнения компьютерной программы, включают в себя, в качестве примера, микропроцессоры как общего, так и особого назначения, и любой один или более процессоры любого вида цифрового компьютера. В целом, процессор будет принимать инструкции и данные от постоянной памяти или памяти с произвольным доступом, или как от той, так и другой.
[0079] Неотъемлемыми элементами компьютера являются процессор для выполнения инструкций и одно или более устройства памяти для хранения инструкций и данных. Как правило, компьютер также будет включать в себя, или будет оперативно связан, чтобы принимать данные от и переносить данные к, или как для того, так и другого, одному или более запоминающим устройствам большой емкости для хранения данных, например, магнитным, магнитооптическим дискам, или оптическим дискам. Тем не менее, компьютеру не требуется наличие таких устройств. Более того, компьютер может быть встроен в другое устройство, например, планшетный компьютер, мобильный телефон, персональный цифровой помощник (PDA), мобильный аудио проигрыватель, приемник Глобальной Системы Позиционирования (GPS), чтобы назвать некоторые. Машиночитаемые запоминающие носители информации, подходящие для хранения инструкций компьютерной программы и данных, включают в себя все формы энергонезависимой памяти, носителей информации и устройств памяти, включая, в качестве примера, устройства полупроводниковой памяти, например, EPROM, EEPROM, и устройства флэш-памяти; магнитные диски, например, внутренние жесткие диски или съемные диски; магнитооптические диски; и диски CD ROM и DVD-ROM. Процессор и память могут быть дополнены, или включены в, логическую схему особого назначения.
[0080] Для обеспечения взаимодействия с пользователем, варианты осуществления могут быть реализованы на компьютере с дисплейным устройством, например, монитором CRT (электронно-лучевая трубка) или LCD (жидкокристаллический дисплей), для отображения информации пользователю, и клавиатурой и указательным устройством, например, мышью или шаровым манипулятором, посредством которого пользователь может обеспечивать ввод в компьютер. Другие виды устройств также могут быть использованы, чтобы обеспечивать взаимодействие с пользователем; например, обратная связь, предоставляемая пользователю, может быть любой формы из сенсорной обратной связи, например, визуальной обратной связью, слышимой обратной связью, или тактильной обратной связью; и ввод от пользователя может быть принят в любой форме, включая акустический, речевой, или тактильный ввод.
[0081] Варианты осуществления могут быть реализованы в вычислительной системе, которая включает в себя компонент внутреннего интерфейса, например, как сервер данных, или которая включает в себя компонент промежуточного слоя, например, сервер приложений, или которая включает в себя компонент внешнего интерфейса, например, клиентский компьютер с графическим интерфейсом пользователя или web-браузером, посредством которого пользователь может взаимодействовать с реализацией, или любое сочетание из одного или более таких компонентов внутреннего интерфейса, промежуточного слоя, или внешнего интерфейса. Компоненты системы могут быть взаимно соединены посредством любой формы или среды связи для передачи цифровых данных, например, сети связи. Примеры сетей связи включают в себя локальную сеть («LAN») и глобальную сеть («WAN»), например, Интернет.
[0082] Вычислительная система может включать в себя клиентов и серверы. Клиент и сервер, как правило, удалены друг от друга и, обычно, взаимодействуют посредством сети связи. Отношение клиента и сервера возникают в силу компьютерных программ, выполняемых на соответствующих компьютерах и обладающих отношением клиент-сервер друг с другом.
[0083] Несмотря на то, что данное техническое описание содержит много особенностей, они не должны толковаться как ограничения для объема раскрытия или того, что может быть заявлено, а наоборот в качестве описаний признаков особых для конкретных вариантов осуществления. Некоторые признаки, которые описываются в данном техническом описании в контексте отдельных вариантов осуществления, также могут быть реализованы в сочетании в одном варианте осуществления. И наоборот, разнообразные признаки, которые описаны в контексте одного варианта осуществления, также могут быть реализованы в нескольких вариантах осуществления раздельно или в любом подходящем суб-сочетании. Более того, несмотря на то, что признаки могут быть описаны выше в качестве действующих в некоторых сочетаниях или даже исходно заявлены как таковые, один или более признаки из заявленного сочетания могут в некоторых случаях быть исключены из сочетания, и заявленное сочетание может быть направлено на суб-сочетание или вариацию суб-сочетания.
[0084] Сходным образом, несмотря на то, что операции изображаются на чертежах в конкретной очередности, это не следует понимать как требующее того, чтобы такие операции выполнялись в конкретной показанной очередности или в последовательной очередности, или что выполняются все иллюстрируемые операции, чтобы достигнуть требуемых результатов. В некоторых обстоятельствах, преимущественной может быть многозадачность и параллельная обработка. Более того, разделение разнообразных компонентов системы в вариантах осуществления, описанных выше, не следует понимать как требуемое такое разделение во всех вариантах осуществления, и следует понимать, что описанные компоненты программы и системы могут, в целом, быть интегрированы вместе в едином продукте программного обеспечения или упакованы в несколько продуктов программного обеспечения.
[0085] В каждом случае, где упоминается файл HTML, может быть произведена замена на другой формат или тип файла. Например, может быть произведена замена файла HTML на XML, JSON, чистый текст, или другие типы файлов. Более того, там, где упоминается таблица или хэш-таблица, могут быть использованы другие структуры данных (такие как электронные таблицы, реляционные базы данных, или структурированные файлы).
[0086] Таким образом, были описаны конкретные варианты осуществления. Другие варианты осуществления находятся в рамках объема нижеследующей формулы изобретения. Например, действия, перечисленные в формуле изобретения, могут быть выполнены в другой очередности и по-прежнему достигать требуемых результатов.