ИНТЕРФЕЙС ВОПРОС-ОТВЕТ НА ОСНОВЕ КОНТЕКСТНОЙ ИНФОРМАЦИИ
QUESTION-AND-ANSWER INTERFACE BASED ON CONTEXTUAL INFORMATION

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
[0001] Настоящее описание изобретения относится к пользовательским интерфейсам, и конкретно к пользовательским интерфейсам для осуществления доступа к поисковым средствам.
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
[0002] Некоторые пользователи имеют ограничения своей способности взаимодействовать с компьютерами, включая ограничение своей способности вводить поисковые запросы в компьютеры.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0003] Согласно некоторым аспектам новизны изобретения, представленного в этом описании, вычислительное устройство обеспечивает упрощенный пользовательский интерфейс к поисковому средству. В частности вычислительное устройство предоставляет пользователю интерфейс, который включает в себя релевантную информацию, при минимальном взаимодействии с пользователем путем предложения пользователю вопросов для инициирования поиска. Интерфейс может включать в себя релевантную информацию на основе контекстной информации о пользователе, такой как местоположение пользователя или интересы пользователя. Пользователь может выбрать предоставленный вопрос, и в ответ интерфейс обновляется, чтобы отобразить ответы, которые являются связанными с выбранным вопросом. Пользователь может затем выбрать один из предоставленных ответов, который в свою очередь используется в качестве основы для идентификации дополнительных вопросов, связанных с выбранным ответом. Интерфейс обновляется, чтобы отобразить дополнительные вопросы, и процесс повторяется многократно, пока более не будет других связанных вопросов или ответов.
[0004] Интерфейс, обеспечиваемый посредством вариантов осуществления, приведенных в этом описании, может быть технически улучшенным, поскольку он является более простым и легким для использования. Интерфейс может позволять, чтобы поисковые запросы вводились без необходимости ввода текста с использованием клавиатуры или другого механизма ввода текста, такого как распознавание речи. Это может позволять, чтобы интерфейс использовался категориями пользователей, которые иначе не смогут легко пользоваться поисковыми системами, включая маленьких детей, пользователей с ограниченным тонким двигательным контролем, пользователей без способности к речевой деятельности и т.д. Это также может позволять, чтобы интерфейс использовался пользователями в ситуациях, где текстовый ввод может быть трудным или невозможным, как, например, в ситуациях с высоким фоновым шумом, где распознавание речи не является возможным, или в условиях холода, где ношение пользователем перчаток на руках мешает ему использовать устройство ввода текста, такое как виртуальная или малоразмерная клавиатура, на своем мобильном устройстве.
[0005] В одной примерной реализации пользователь запускает приложение, работающее на мобильном вычислительном устройстве, и приложение может первоначально отобразить интерфейс, включающий в себя релевантные вопросы пользователю, на основе местоположения пользователя. Например, пользователь находится в центре города Нью-Йорк, и интерфейс может отображать популярные вопросы относительно Нью-Йорка, такие как, "Каковы лучшие места в Нью-Йоркеʺ и "Каковы лучшие шоу, чтобы посмотреть в Нью-Йоркеʺ. Пользователь может выбрать вопрос "Каковы лучшие места в Нью-Йоркеʺ, и, в свою очередь, интерфейс обновляется, чтобы отобразить релевантные ответы на вопрос, такие как "Эмпайр Стейт Билдинг" и ʺТаймс Скверʺ. Пользователь может затем выбрать "Эмпайр Стейт Билдинг", и интерфейс тогда обновляется, чтобы на основе ответа "Эмпайр Стейт Билдинг" включить дополнительные вопросы, такие как "Какова высота Эмпайр Стейт Билдингʺ и "Сколько лет Эмпайр Стейт Билдинг.ʺ Пользователь может выбрать вопрос "Сколько лет Эмпайр Стейт Билдингʺ, и интерфейс тогда обновляется, чтобы включить ответ ʺ84 годаʺ. После выбора пользователем ответа ʺ84 годаʺ определяют, что не имеется последующих вопросов, связанных с ответом "84 годаʺ. Однако интерфейс может быть обновлен для ввода дополнительного вопроса, предоставленного пользователем для ассоциации с ответом ʺ84 годаʺ.
[0006] Новаторские аспекты изобретения, представленного в этом описании, могут быть осуществлены в способах, которые включают в себя действия, в соответствии с которыми принимают данные, идентифицирующие один или более контекстов; выбирают начальный набор из одного или более вопросов на основе, по меньшей мере, одного или более контекстов; обеспечивают, для вывода, соответственное представление одного или более вопросов начального набора; принимают данные, указывающие выбор конкретного представления, ассоциированного с конкретным вопросом из начального набора вопросов; выбирают набор из одного или более ответов, ассоциированных с конкретным вопросом; обеспечивают, для вывода, соответственное представление одного или более ответов набора, которые ассоциированы с конкретным вопросом; принимают данные, указывающие выбор конкретного представления, ассоциированного с конкретным ответом набора, которые ассоциированы с конкретным вопросом; определяют, что дополнительный набор из одного или более других вопросов ассоциирован с конкретным ответом; и в ответ на определение, что дополнительный набор из одного или более других вопросов ассоциирован с конкретным ответом, обеспечивают, для вывода, соответственное представление одного или более других вопросов дополнительного набора.
[0007] Другие варианты осуществления этих аспектов включают в себя соответствующие системы, аппаратуру и компьютерные программы, сконфигурированные для выполнения действий способов, закодированных на компьютерных устройствах хранения данных.
[0008] В другом аспекте компьютерная программа содержит машиночитаемые команды, которые при их исполнении вычислительной аппаратурой предписывают ей выполнять вышеуказанный способ.
[0009] Эти и другие варианты осуществления могут каждый в необязательном порядке включать в себя один или более следующих признаков. Например, определяют, что другие вопросы не являются ассоциированными с конкретным ответом; и в ответ на определение того, что другие вопросы не являются ассоциированными с конкретным ответом: обеспечивают, для вывода, элемент управления для подачи нового вопроса, принимают новый вопрос, введенный через элемент управления, и сохраняют данные, ассоциирующие новый вопрос с конкретным ответом. Один или более контекстов включают в себя контекст, основывающийся на местоположении мобильного вычислительного устройства, обеспечивающего данные, идентифицирующие один или более контекстов. Один или более контекстов включают в себя контекст, основывающийся на интересах пользователя, связанного с мобильным вычислительным устройством, обеспечивающим данные, идентифицирующие один или более контекстов. Один или более вопросов начального набора ранжируются на основе популярности каждого из вопросов. Один или более ответов набора ранжируются на основе популярности каждого из ответов. Обеспечение, для вывода, соответственного представления одного или более ответов набора, которые ассоциированы с конкретным вопросом, дополнительно включает в себя: обеспечение, для вывода, элемента управления для подачи нового ответа, прием нового вопроса, введенного через элемент управления, и сохранение данных, ассоциирующих новый ответ с конкретным вопросом.
[0010] Подробности одного или более вариантов осуществления изобретения, представленного в этом описании, изложены на сопроводительных чертежах и в описании ниже. Другие потенциальные признаки, аспекты и преимущества изобретения станут очевидными из описания, чертежей и формулы изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0011] Фигуры Фиг.1A-1E изображают примерную страницу представления.
[0012] Фиг.2 изображает систему для обеспечения страницы представления.
[0013] Фигуры Фиг.3A-3C изображают блок-схему примерного процесса для обеспечения страницы представления.
[0014] Фиг.4 изображает блок-схему примерной вычислительной системы и мобильного вычислительного устройства, каковое может использоваться, чтобы реализовывать способы, описанные в документе.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
[0015] Фиг.1A изображает примерную страницу 102a представления. В общем, страница 102a представления предлагает пользователю вопросы, чтобы инициировать поиск с минимальным взаимодействием по отношению к пользователю. Конкретно, страница 102a представления включает в себя область 104 карты и область 106 вопросов. Область 104 карты отображает карту, и в некоторых примерах, является связанной с текущим местоположением 108 мобильного вычислительного устройства, обеспечивающего страницу 102a представления. Область 106 вопросов включает в себя один или более вопросов, связанных с одним или несколькими параметрами пользователя мобильного вычислительного устройства. В некоторых примерах область 106 вопросов включает информацию, связанную с текущим местоположением 108.
[0016] В некоторых реализациях страница 102a представления, и конкретно, область 106 вопросов включает в себя графические представления вопросов 110a, 110b, 110c - в совокупности именуемых вопросами 110. Страница 102a представления включает вопросы 110 независимо от обеспечения пользователем вопросов 110 вручную и/или независимо от обеспечения пользователем ввода, чтобы инициировать представление вопросов 110. Страница 102a представления генерируется автоматически и включает в себя вопросы 110, после первоначального исполнения приложения, например, собственного приложения или приложения браузера, исполняющегося на мобильном вычислительном устройстве, обеспечивающем страницу 102a представления.
[0017] В некоторых примерах вопросы 110 являются связанными с контекстом пользователя, основывающемся на местоположении. Например, вопросы 110 являются связанными с текущим местоположением 108 пользователя. В некоторых примерах вопросы 110 являются ассоциированными с предварительно предоставленными запросами, которые предварительно были связаны с текущим местоположением 108 пользователя, например, вопросы, предварительно поданные другими пользователями. В иллюстрируемом примере вопрос 110a является связанным с запросом "Здесь есть какие-либо хорошие рестораны?ʺ, который основывается на текущем местоположении 108 пользователя. Конкретно, порция "здесь" вопроса 110a относится к текущему местоположению 108. Подобным образом в иллюстрируемом примере, вопрос 110b является связанным с запросом "Где находится лучшее место быстрого питания?ʺ, который основывается на текущем местоположении 108; и вопрос 110c является связанным с запросом "Какова самая выгодная цена на питание в этом районе?ʺ, который основывается на текущем местоположении 108.
[0018] В некоторых примерах вопросы 110 являются связанными с контекстом пользователя, основывающемся на интересах. Контекст, основывающийся на интересах пользователя, может быть определен исходя из явных интересов, указанных пользователем, или определен выводом логически из онлайнового присутствия пользователя, например, профиля социальных сетей. Например, контекст, основывающийся на интересах, может включать в себя такие интересы как предпочтения питания, ценовые предпочтения и т.п.
[0019] В иллюстрируемом примере каждый из вопросов 110a, 110b, 110c является связанным с соответственной выбираемой кнопкой 112a, 112b, 112c - в совокупности именуемыми выбираемыми кнопками 112. Выбираемые кнопки 112, после выбора пользователем, например, посредством тактильного ввода или другого, выделяют соответственный вопрос 110. Дополнительно, в некоторых примерах, выбираемые кнопки 112 могут визуально представлять количество ответов, связанных с каждым вопросом 110, например, количество результатов, связанных с соответственным вопросом 110. В иллюстрируемом примере выбираемая кнопка 112a и вопрос 110a являются связанными с тремя ответами; выбираемая кнопка 112b и вопрос 110b являются связанными с тремя ответами; и выбираемая кнопка 112c и вопрос 110c являются связанными с двумя ответами.
[0020] В некоторых примерах каждый из вопросов 110a, 110b, 110c связывается с соответственными данными 114a, 114b, 114c голосования - в совокупности именуемыми данными 114 голосования. Данные 114 голосования могут представлять предварительно поданные голоса за соответственный вопрос, например, предварительно поданные другими пользователями. В некоторых примерах данные 114 голосования могут представлять популярность соответственного вопроса, например, более высокий результат голосования указывает более высокую популярность соответственного вопроса. В иллюстрируемом примере вопросы 110 отображаются в области 106 вопросов на основе ранжирования соответственных данных 114 голосования. Вопросы 110, связанные с более высокими данными 114 голосования, например, более высоким количеством голосов, отображаются выше в области 106 вопросов относительно остальных вопросов 110. В иллюстрируемом примере данные 114a голосования связаны с 400 голосами; данные 114b голосования связаны с 133 голосами; и данные 114c голосования связаны с 44 голосами.
[0021] Фиг.1B изображает примерную страницу 102b представления. Конкретно, страница 102b представления является последующим видоизменением страницы 102a представления после выбора одного из вопросов 110 страницы 102a представления. В ответ на выбор одного из вопросов 110, страница 102a представления обновляется, чтобы обеспечить страницу 102b представления. Страница представления включает в себя область 104 карты, область 116 ответов и область 118 подачи.
[0022] В иллюстрируемом примере страница 102b представления обеспечивается на основе выбранного вопроса 110a, например, ʺЕсть здесь какие-либо хорошие рестораны?ʺ. Конкретно, страница 102b представления и, в частности, область 116 ответов, включает в себя графические представления ответов 120a, 120b, 120c - в совокупности именуемых ответами 120. Ответы 120 ассоциированы с выбранным вопросом 110a. В некоторых примерах ассоциация может включать, что ответы 120 являются результатами запроса, связанного с выбранным вопросом 110a. В иллюстрируемом примере ответ 120a является связанным с ʺРестораном Aʺ для выбранного вопроса 110a; ответ 120b является связанным с "Рестораном B" для выбранного вопроса 110a; и ответ 120b является связанным с "Рестораном C" для выбранного вопроса 110a.
[0023] Кроме того, после выбора одного из вопросов 110, область 104 карты обновляется на основе выбранного вопроса 110. В иллюстрируемом примере область 104 карты обновляется на основе выбранного вопроса 110a. Конкретно, область 104 карты включает в себя идентифицированные местоположения 121a, 121b, 121c - в совокупности именуемые местоположениями 121. Местоположения 121 являются связанными с ответами 120 для выбранного вопроса 110a. Например, местоположение 121a является связанным с ответом 120a; местоположение 121b является связанным с ответом 120b; и местоположение 121c является связанным с ответом 120c.
[0024] В некоторых примерах ответы 120 являются связанными с соответственными данными 122a, 122b, 122c голосования - в совокупности именуемыми данными 122 голосования. Данные 122 голосования могут представлять предварительно поданные голоса за соответственный ответ, например, предварительно поданные другими пользователями. В некоторых примерах данные 122 голосования могут представлять популярность соответственного ответа, например, более высокий результат голосования указывает более высокую популярность соответственного ответа. В иллюстрируемом примере ответы 120 отображаются в области 116 ответов на основе ранжирования соответственных данных 122 голосования. Ответы 120, связанные с более высокими данными 122 голосования, например, более высоким количеством голосов, отображаются выше в области 116 ответов по отношению к остальным ответам 120. В иллюстрируемом примере данные 122a голосования связаны с 68 голосами; данные 122b голосования связаны с 49 голосами; и данные 122c голосования связаны с пятью голосами.
[0025] В некоторых примерах область 118 подачи обеспечивает ввод дополнительного ответа, ассоциируемого с выбранным вопросом 110, например, посредством пользовательского взаимодействия со страницей 102b представления. Например, ответ, предоставленный в область 118 подачи, может быть ассоциирован с одним из вопросов 110. В иллюстрируемом примере ответ, предоставленный в область 118 подачи, может быть ассоциирован с вопросом 110a.
[0026] Фиг.1C изображает примерную страницу 102c представления. Конкретно, страница 102c представления является последующим видоизменением страницы 102b представления после выбора одного из ответов 120 страницы 102b представления. В ответ на выбор одного из ответов 120, страница 120b представления обновляется, чтобы обеспечить страницу 102c представления. Страница 102c представления включает в себя область 104 карты и область 124 вопросов.
[0027] В иллюстрируемом примере страница 102c представления обеспечивается на основе выбранного ответа 120c, например, ʺРесторан Cʺ. Конкретно, страница 102c представления и, в частности, область 124 вопросов, включает в себя графические представления вопросов 126a, 126b, 126c - в совокупности именуемых вопросами 126. Вопросы 126 являются связанными с выбранным ответом 110c. Конкретно, вопросы 126 являются результатами, обусловленными ответом 110c в качестве запроса. Например, в ответ на выбор ответа 110c, вопросы 126 идентифицируют как ассоциированные с ответом 110c. В иллюстрируемом примере вопрос 126a "Что является лучшим блюдомʺ, ассоциирован с "Рестораном C" ответа 110c; вопрос 126b "Сколько стоит средний обедʺ ассоциирован с "Рестораном C" ответа 110c; и вопрос 126a ʺОн обычно переполнен в 19:00?ʺ ассоциирован с "Рестораном C" ответа 110c.
[0028] В иллюстрируемом примере каждый из вопросов 126a, 126b, 126c связывается с соответственными выбираемыми кнопками 128a, 128b, 128c - в совокупности именуемыми выбираемыми кнопками 128. Выбираемые кнопки 128 подобны выбираемым кнопкам 112 страницы 102a представления по Фиг.1. В иллюстрируемом примере выбираемая кнопка 128a и вопрос 126a связаны с 3 ответами; выбираемая кнопка 128b и вопрос 126b связаны с 3 ответами; и выбираемая кнопка 128c и вопрос 126c связаны с 2 ответами. Кроме того, в некоторых примерах, каждый из вопросов 126a, 126b, 126c является связанным с соответственными данными 130a, 130b, 130c голосования - в совокупности именуемыми данными голосования 130. Данные 130 голосования подобны данным 114 голосования на странице 102a представления Фиг.1. В иллюстрируемом примере данные 130a голосования связаны с 40 голосами; данные голосования 130b связаны с тринадцатью голосами; и данные голосования 130c связаны с четырьмя голосами.
[0029] Дополнительно, после выбора одного из ответов 120, область 104 карты обновляется на основе выбранного ответа 126. В иллюстрируемом примере область 104 карты обновляется на основе выбранного ответа 120c. Конкретно, область 104 карты включает в себя только идентифицированное местоположение 121c, которое связано с выбранным ответом 120c.
[0030] Фиг.1D изображает примерную страницу 102d представления. Конкретно, страница 102d представления является последующим видоизменением страницы 102c представления после выбора одного из вопросов 126 страницы 102c представления. В ответ на выбор одного из вопросов 126, страница 102c представления обновляется, чтобы обеспечить страницу 102d представления. Страница 120d представления включает в себя область 104 карты и область 132 ответов.
[0031] В иллюстрируемом примере страница 102d представления обеспечивается на основе выбранного вопроса 126a, например, ʺЧто является лучшим блюдом?ʺ. Конкретно, страница 102d представления и, в частности, область 132 ответов, включает в себя графические представления ответов 134a, 134b, 134c - в совокупности именуемых ответами 134. Ответы 134 ассоциированы с выбранным вопросом 126a. В некоторых примерах ассоциация может заключать в себе, что ответы 134 являются результатами запроса, связанного с выбранным вопросом 126a. В иллюстрируемом примере ответ 134a связан с ʺБлюдом Aʺ для выбранного вопроса 126a; ответ 134b связан с ʺБлюдом Bʺ для выбранного вопроса 126a; и ответ 134b связан с ʺБлюдом Cʺ для выбранного вопроса 126c.
[0032] В некоторых примерах ответы связываются с соответственными данными 136a, 136b, 136c голосования - в совокупности именуемыми данными голосования 136. Данные 136 голосования могут представлять предварительно поданные голоса за соответственный ответ, например, предварительно поданные другими пользователями. Данные 136 голосования подобны данным 122 голосования по Фиг.1B. В иллюстрируемом примере данные 136a голосования связаны с 54 голосами; данные голосования 136b связаны с 48 голосами; и данные голосования 136c связаны с тринадцатью голосами.
[0033] Фиг.1E изображает примерную страницу 102e представления. Конкретно, страница 102e представления является последующим видоизменением страницы 102d представления после выбора одного из ответов 134 страницы 102d представления. В ответ на выбор одного из ответов 134, страница 120d представления обновляется, чтобы обеспечить страницу 102e представления. Страница 102e представления включает в себя область 104 карты и область 138 подачи.
[0034] В иллюстрируемом примере страница 102e представления обеспечивается на основе выбранного ответа 136b, например, ʺБлюдо Bʺ. Конкретно, страница 102e представления и, в частности, область 138 подачи, предусматривает ввод дополнительного вопроса, связанного с выбранным ответом 136b, например, посредством пользовательского взаимодействия со страницей 102e представления. В некоторых примерах область 138 подачи обеспечивается на основе отсутствия каких-либо дальнейших вопросов, ассоциируемых с выбранным ответом 136b. Кроме того, вопрос, предоставленный в область 138 подачи, может быть ассоциирован с выбранным ответом 136b.
[0035] Фиг.2 иллюстрирует среду 200 для генерации страницы представления, например, одной из страниц 102a-102e представления. Среда 200 включает в себя мобильное вычислительное устройство 202, подсистему 204 переднего плана (front-end), средство генерирования (генератор) 206 пользовательского интерфейса (UI), средство выбора (селектор) 208 вопросов, диспетчер 210 хранилища данных вопрос-ответ, средство связывания (ассоциатор) 212 вопрос-ответ, кэш 214 и граф 216 знаний. Мобильное вычислительное устройство 202 обменивается информацией с подсистемой 204 переднего плана по одной или нескольких сетей, например, сети 218. Пользователь 220 связан с мобильным вычислительным устройством 202. Кэш 214 сохраняет данные вопрос-ответ и в конкретных сгенерированных системой вопросах и ответах 222, и поданных пользователем вопросах и ответах 224. В некоторых примерах кэш 214 обменивается информацией с графом 216 знаний, например, структурой данных, представляющей i) сущности - вопросы и ответы и ii) отношения между сущностями.
[0036] Подсистема 204 переднего плана принимает данные, идентифицирующие контексты, от мобильного вычислительного устройства 202 по сети 218. В некоторых примерах контекст включает в себя контекст, основывающийся на местоположении мобильного вычислительного устройства 202. Например, контекст, основывающийся на местоположении, может включать в себя данные глобальной системы определения местоположения (GPS), данные триангуляции сотового телефона или другие данные, основывающиеся на местоположении. В некоторых примерах контекст включает в себя контекст, основывающийся на интересах пользователя 220. Например, контекст, основывающийся на интересах, может включать в себя явно указанный пользователем 220 контекст, или контекст, определяемый логическим выводом из онлайнового присутствия пользователя 220, например, профиля социальных сетей.
[0037] Селектор 208 вопросов выбирает начальный набор вопросов на основе принятого контекста. Конкретно, селектор 208 вопросов принимает учитывающие контекст данные от подсистемы 204 переднего плана. Диспетчер 210 хранилища данных вопрос-ответ обеспечивает интерфейс для осуществления доступа к кэшу 214 со стороны селектора 208 вопросов. В частности, селектор 208 вопросов выбирает начальный набор вопросов, сохраненный кэшем 214, на основе принятого контекста, используя диспетчер 210 хранилища данных вопрос-ответ.
[0038] Подсистема 204 переднего плана принимает начальный набор вопросов от селектора 208 вопросов и предоставляет таковой на генератор 206 UI. Генератор 206 UI генерирует соответственное представление вопросов начального набора для вывода, и подсистема 204 переднего плана предоставляет таковой, для вывода, на мобильное вычислительное устройство 202 по сети 218. Например, подсистема 204 переднего плана предоставляет страницу 102a представления на мобильное вычислительное устройство 202, включая вопросы 110 на основе контекста, основывающегося на местоположении.
[0039] Подсистема 204 переднего плана принимает данные, указывающие выбор конкретного представления, ассоциированного с конкретным вопросом из начального набора вопросов, например, от мобильного вычислительного устройства 202 по сети 218. Селектор 208 вопросов выбирает набор ответов, ассоциированных с конкретным вопросом. Конкретно, селектор 208 вопросов принимает данные выбранного вопроса от подсистемы 204 переднего плана. Селектор 208 вопросов выбирает ответы, сохраненные кэшем 214, на основе конкретного вопроса, используя диспетчер 210 хранилища данных вопрос-ответ.
[0040] Подсистема 204 переднего плана принимает набор ответов от селектора 208 вопросов и предоставляет таковой на генератор 206 UI. Генератор 206 UI генерирует соответственное представление ответов набора, и подсистема 204 переднего плана предоставляет таковой, для вывода, на мобильное вычислительное устройство 202 по сети 218. Например, подсистема 204 переднего плана предоставляет страницу 102b представления на мобильное вычислительное устройство 202, включая ответы 120 на основе выбранного вопроса 110a.
[0041] В некоторых примерах подсистема 204 переднего плана обеспечивает элемент управления для подачи нового ответа на мобильное вычислительное устройство 202 по сети 218. Конкретно, новый ответ предназначен для связывания с конкретным вопросом из начального набора вопросов. Например, подсистема 204 переднего плана предоставляет на мобильное вычислительное устройство 202 страницу 102b представления, включающую область 118 подачи. Дополнительно, подсистема 204 переднего плана может принимать данные нового ответа, вводимого через элемент управления, от мобильного вычислительного устройства 202 по сети 218. Ассоциатор 212 вопрос-ответ сохраняет данные, связывающие (ассоциирующие) новый ответ с конкретным вопросом, в кэше 214, используя диспетчер 210 хранилища данных вопрос-ответ.
[0042] Подсистема 204 переднего плана принимает данные, указывающие выбор конкретного представления, ассоциированного с конкретным ответом из набора, которые ассоциированы с конкретным вопросом, например, от мобильного вычислительного устройства 202, по сети 218.
[0043] В некоторых примерах селектор 208 вопрос-ответ определяет, что дополнительный набор других вопросов ассоциирован с конкретным ответом. Конкретно, селектор 208 вопрос-ответ принимает данные выбранного ответа от подсистемы 204 переднего плана. Селектор 208 вопрос-ответ осуществляет доступ к кэшу 214 и определяет, что выбранный ответ ассоциирован с дополнительным набором других вопросов, сохраненных кэшем 214. В ответ на определение селектором 208 вопрос-ответ, что дополнительный набор других вопросов ассоциирован с конкретным ответом, селектор 208 вопрос-ответ предоставляет дополнительный набор других вопросов на подсистему 204 переднего плана. Подсистема 204 переднего плана предоставляет дополнительный набор других вопросов на генератор 206 UI. Генератор 206 UI генерирует соответственное представление вопросов дополнительного набора, и подсистема 204 переднего плана предоставляет таковой, для вывода, на мобильное вычислительное устройство 202 по сети 218. Например, подсистема 204 переднего плана предоставляет страницу 102c представления на мобильное вычислительное устройство 202, включая вопросы 126 на основе выбранного ответа 120c.
[0044] В некоторых примерах селектор 208 вопрос-ответ определяет, что нет других вопросов, ассоциированных с конкретным ответом. Конкретно, селектор 208 вопрос-ответ принимает данные выбранного ответа от подсистемы 204 переднего плана. Селектор 208 вопрос-ответ осуществляет доступ к кэшу 214 и определяет, что конкретный ответ не является ассоциированным с другими вопросами. В ответ на определение селектором 208 вопрос-ответ, что нет других вопросов, ассоциированных с конкретным ответом, подсистема 204 переднего плана обеспечивает на мобильное вычислительное устройство 202 по сети 218 элемент управления для подачи нового вопроса. Например, подсистема 204 переднего плана предоставляет на мобильное вычислительное устройство 202 страницу 102e представления, включающую область 138 подачи. Кроме того, подсистема 204 переднего плана может принимать данные нового вопроса, вводимого через элемент управления, от мобильного вычислительного устройства 202 по сети 218. Ассоциатор 212 вопрос-ответ сохраняет данные, связывающие новый вопрос с конкретным ответом, в кэше 214, используя диспетчер 210 хранилища данных вопрос-ответ.
[0045] Фиг.3A, 3B, 3C изображают блок-схему примерного процесса 300 для генерации страницы представления, чтобы предлагать вопросы и ответы пользователю. Примерный процесс 300 может исполняться с использованием одного или более вычислительных устройств. Например, мобильное вычислительное устройство 202, подсистема 204 переднего плана, генератор 206 UI, селектор 208 вопросов, диспетчер 210 хранилища данных вопрос-ответ и/или ассоциатор 212 вопрос-ответ могут использоваться, чтобы исполнять примерный процесс 300.
[0046] Принимают (302) данные, идентифицирующие один или более контекстов. Конкретно, подсистема 204 переднего плана принимает данные, идентифицирующие контексты, от мобильного вычислительного устройства 202 по сети 218. Например, данные, идентифицирующие контексты, могут включать в себя контекст, основывающийся на местоположении мобильного вычислительного устройства 202 и/или пользователя 220. Начальный набор из одного или более вопросов выбирают на основе, по меньшей мере, одного или более контекстов (304). Конкретно, селектор 208 вопросов выбирает начальный набор вопросов, сохраненный кэшем 214, на основе принятого контекста, используя диспетчер 210 хранилища данных вопрос-ответ.
[0047] Обеспечивают для вывода (306) соответственное представление одного или более вопросов начального набора. Генератор 206 UI генерирует соответственное представление вопросов начального набора для вывода, и подсистема 204 переднего плана предоставляет таковой, для вывода, на мобильное вычислительное устройство 202 по сети 218. Например, подсистема 204 переднего плана предоставляет на мобильное вычислительное устройство 202 страницу 102a представления, включая вопросы 110 на основе контекста, основывающегося на местоположении.
[0048] Принимают (308) данные, указывающие выбор конкретного представления, ассоциированного с конкретным вопросом из начального набора вопросов. Конкретно, подсистема 204 переднего плана принимает данные, указывающие выбор конкретного представления, ассоциированного с конкретным вопросом из начального набора вопросов, например, от мобильного вычислительного устройства 202 по сети 218. Выбирают (310) набор из одного или большего количества ответов, ассоциированных с конкретным вопросом. Конкретно, селектор 208 вопросов выбирает ответы, сохраненные кэшем 214, на основе конкретного вопроса, используя диспетчер 210 хранилища данных вопрос-ответ.
[0049] Соответственное представление одного или более ответов набора, которые ассоциированы с конкретным вопросом, обеспечивают для вывода (312). Генератор 206 UI генерирует соответственное представление ответов набора, и подсистема 204 переднего плана предоставляет таковой, для вывода, на мобильное вычислительное устройство 202 по сети 218. Например, подсистема 204 переднего плана предоставляет на мобильное вычислительное устройство 202 страницу 102b представления, включая ответы 120 на основе выбранного вопроса 110a.
[0050] Принимают (314) данные, указывающие выбор конкретного представления, ассоциированного с конкретным ответом набора, которые являются ассоциированными с конкретным вопросом. Конкретно, подсистема 204 переднего плана принимает данные, указывающие выбор конкретного представления, ассоциированного с конкретным ответом набора, которые ассоциированы с конкретным вопросом, например, от мобильного вычислительного устройства 202 по сети 218.
[0051] В некоторых примерах дополнительный набор из одного или более других вопросов определяют являющимся ассоциированным с конкретным ответом (316). Конкретно, селектор 208 вопрос-ответ осуществляет доступ к кэшу 214 и определяет, что выбранный ответ ассоциирован с дополнительным набором других вопросов, сохраненных кэшем 214. В ответ на определение, что дополнительный набор из одного или более других вопросов ассоциирован с конкретным ответом, обеспечивают соответственное представление одного или большего количества других вопросов дополнительного набора, для вывода (318). Конкретно, генератор 206 UI генерирует соответственное представление вопросов дополнительного набора, и подсистема 204 переднего плана предоставляет таковой, для вывода, на мобильное вычислительное устройство 202 по сети 218. Например, подсистема 204 переднего плана обеспечивает на мобильное вычислительное устройство 202 страницу 102c представления, включая вопросы 126 на основе выбранного ответа 120c.
[0052] В некоторых примерах, никакие другие вопросы не определены ассоциированными с конкретным ответом (320). Конкретно, селектор 208 вопрос-ответ осуществляет доступ к кэшу 214 и определяет, что конкретный ответ не ассоциирован с другими вопросами. В ответ на определение, что никакие другие вопросы не ассоциированы с конкретным ответом, обеспечивают для вывода (322) элемент управления для подачи нового вопроса. Конкретно, подсистема 204 переднего плана обеспечивает элемент управления для подачи нового вопроса на мобильное вычислительное устройство 202 по сети 218. Например, подсистема 204 переднего плана предоставляет на мобильное вычислительное устройство 202 страницу 102e представления, включающую область 138 подачи. Кроме того, в ответ на определение, что нет других вопросов, ассоциированных с конкретным ответом, принимают новый вопрос, вводимый через элемент управления (324). Конкретно, подсистема 204 переднего плана может принимать данные нового вопроса, вводимого через элемент управления, от мобильного вычислительного устройства 202 по сети 218. Кроме того, в ответ на определение, что никакие другие вопросы не ассоциированы с конкретным ответом, сохраняют данные, ассоциирующие новый вопрос с конкретным ответом (326). Конкретно, ассоциатор 212 вопрос-ответ сохраняет данные, ассоциирующие новый вопрос с конкретным ответом, в кэше 214, используя диспетчер 210 хранилища данных вопрос-ответ.
[0053] Фиг.4 показывает пример обобщенного компьютерного устройства 400 и обобщенного мобильного компьютерного устройства 440, которые могут использоваться со способами, описанными в документе. Вычислительное устройство 400 предназначено для представления различных форм цифровых компьютеров, таких как переносные компьютеры, настольные компьютеры, рабочие станции, персональные цифровые ассистенты, серверы, одноплатные серверы, большие компьютеры и другие соответствующие компьютеры. Вычислительное устройство 440 предназначено для представления различных форм мобильных устройств, таких как персональные цифровые ассистенты, мобильные телефоны, смартфоны и другие подобные вычислительные устройства. Компоненты, показанные здесь, их соединения и взаимосвязи, и их функции подразумеваются являющимися лишь примерными, и не предназначены для ограничения реализаций изобретений, описанных и/или заявленных в этом документе.
[0054] Вычислительное устройство 400 включает в себя процессор 402, память 404, устройство 406 хранения данных, высокоскоростной интерфейс 408, соединяющий с памятью 404 и высокоскоростными портами 410 расширения, и низкоскоростной интерфейс 412, соединяющий с низкоскоростной шиной 414 и устройством 406 хранения данных. Каждый из компонентов 402, 404, 406, 408, 410 и 412 соединяют с использованием различных шин, и могут монтироваться на общей системной плате или другими способами, как надлежит. Процессор 402 может обрабатывать команды для исполнения в рамках вычислительного устройства 400, включая команды, сохраненные в памяти 404 или на устройстве 406 хранения данных, чтобы отображать графическую информацию для GUI на внешнем устройстве ввода-вывода, таком как устройство 416 отображения, соединенное с высокоскоростным интерфейсом 408. В других реализациях множество процессоров и/или множество шин могут использоваться, как надлежит, наряду с множеством блоков памяти и типов памяти. Кроме того, множество вычислительных устройств 400 могут быть соединены, причем каждое устройство обеспечивает части необходимых операций (например, как банк серверов, группа одноплатных серверов или многопроцессорная система).
[0055] Память 404 сохраняет информацию в вычислительном устройстве 400. В одной реализации память 404 является блоком или блоками энергозависимой памяти. В другой реализации память 404 является блоком или блоками энергонезависимой памяти. Память 404 также может быть другой формой читаемого компьютером носителя, такой как магнитный или оптический диск.
[0056] Устройство 406 хранения данных способно обеспечивать внешнюю память большого объема для вычислительного устройства 400. В одной реализации устройство 406 хранения данных может являться или содержать читаемый компьютером носитель, такой как запоминающее устройство на гибком диске, запоминающее устройство на жестком диске, запоминающее устройство на оптическом диске или запоминающее устройство на магнитной ленте, флэш-память или другое подобное устройство твердотельной памяти, или массив устройств, включая устройства в сети устройств хранения данных или другие конфигурации. Компьютерный программный продукт может быть материально осуществлен в информационном носителе. Компьютерный программный продукт также может содержать команды, которые, когда исполняются, выполняют один или более способов, таких как описанные выше. Информационный носитель является читаемым компьютером или машиной носителем, таким как память 404, устройство 406 хранения данных или память в процессоре 402.
[0057] Высокоскоростной контроллер 408 управляет емкими по полосе пропускания операциями вычислительного устройства 400, тогда как низкоскоростной контроллер 412 управляет менее емкими по полосе пропускания операциями. Такое распределение функций является лишь примерным. В одной реализации высокоскоростной контроллер 408 соединен с памятью 404, устройством 416 отображения (например, через графический процессор или акселератор), и с высокоскоростными портами 410 расширения, каковые могут принять различные платы расширения (не показаны). В реализации низкоскоростной контроллер 412 соединен с устройством 406 хранения данных и низкоскоростным портом 414 расширения. Низкоскоростной порт расширения, который может включать в себя различные порты связи (например, стандартов USB, Bluetooth, Ethernet, беспроводного Ethernet) может быть соединен с одним или более устройствами ввода-вывода, такими как клавиатура, указательное устройство, сканер, или сетевым устройством, таким как коммутатор или маршрутизатор, например, через сетевой адаптер. В некоторых примерах устройство 406 хранения данных соединено с высокоскоростной шиной.
[0058] Вычислительное устройство 400 может реализовываться во многих различных формах, как показано на фигуре. Например, оно может быть реализовано как обычный сервер 420, или кратно в группе таких серверов. Оно также может быть реализовано в виде части системы 424 стойки серверов. Кроме того, оно может быть реализовано в персональном компьютере, таком как переносной компьютер 422. Альтернативно, компоненты из вычислительного устройства 400 могут быть объединены с другими компонентами в мобильном устройстве (не показано), таком как устройство 440. Каждое из таких устройств может содержать один или более вычислительных устройств 400, 440, и вся система может быть составлена из множества вычислительных устройств 400, 440, осуществляющих связь друг с другом.
[0059] Вычислительное устройство 440 включает в себя процессор 452, память 464, устройство ввода-вывода, такое как устройство 454 отображения, связной интерфейс 476 и приемопередатчик 468, наряду с прочими компонентами. Устройство 440 также может быть оснащено устройством хранения данных, таким как микронакопитель или другое устройство, чтобы обеспечивать дополнительное хранилище. Каждый из компонентов 440, 452, 464, 454, 476 и 468, соединяют с использованием различных шин, и несколько из компонентов могут монтироваться на общей системной плате или другими способами, как надлежит.
[0060] Процессор 452 может исполнять команды в вычислительном устройстве 640, включая команды, сохраненные в памяти 464. Процессор может быть реализован как микропроцессорный набор микросхем, которые включают в себя отдельные и множественные аналоговые и цифровые процессоры. Процессор может обеспечивать, например, координацию других компонентов устройства 440, таких как элементы управления пользовательских интерфейсов, приложения, исполняемые посредством устройства 440, и беспроводную связь посредством устройства 440.
[0061] Процессор 452 может осуществлять связь с пользователем через интерфейс 468 управления и интерфейс 446 устройства отображения, соединенный с устройством 454 отображения. Устройство 454 отображения может быть, например, устройством LCD TFT (жидкокристаллический дисплей на тонкопленочных транзисторах) или OLED-дисплеем (дисплей на органических светодиодах), или другой соответствующей техникой отображения. Интерфейс 446 устройства отображения может содержать соответствующую схему для приведения в действие устройства 454 отображения, чтобы представлять графическую и другую информацию пользователю. Интерфейс 448 управления может принимать команды от пользователя и преобразовывать их для подачи в процессор 452. Кроме того, внешний интерфейс 462 может обеспечиваться в связи с процессором 452 с тем, чтобы давать устройству 440 возможность связи ближнего радиуса действия с другими устройствами. Внешний интерфейс 462 может обеспечиваться, например, для проводной связи в некоторых реализациях, или для беспроводной связи в других реализациях, и также могут использоваться несколько интерфейсов.
[0062] Память 464 сохраняет информацию в вычислительном устройстве 440. Память 464 может быть реализована в виде одного или более из читаемого компьютером носителя или носителей, блока или блоков энергозависимой памяти, либо блока или блоков энергонезависимой памяти. Расширительная память 444 также может обеспечиваться и подключаться к устройству 440 через интерфейс 442 расширения, который может включать в себя, например, интерфейс платы SIMM (модуль памяти с односторонним расположением микросхем). Такая расширительная память 444 может обеспечивать добавочную область памяти для устройства 440 или также может сохранять приложения или другую информацию для устройства 440. Конкретно, расширительная память 444 может включать в себя команды, чтобы выполнять или дополнять процессы, описанные выше, и может включать в себя защищенную информацию также. Таким образом, например, расширительная память 444 может обеспечиваться в качестве модуля обеспечения безопасности для устройства 440 и может быть запрограммирована с инструкциями, которые разрешают защищенное использование устройства 440. Кроме того, защищенные приложения могут обеспечиваться с помощью карт SIMM наряду с дополнительной информацией, такой как размещение идентифицирующей информации на карте SIMM «невзламываемым» образом.
[0063] Память может включать в себя, например, флэш-память и/или энергонезависимую память с произвольным доступом (NVRAM), как обсуждено ниже. В одной реализации компьютерный программный продукт материально осуществлен в информационном носителе. Компьютерный программный продукт содержит команды, которые, когда исполняются, выполняют один или более способов, таких как описанные выше. Информационный носитель является читаемым компьютером или машиной носителем, таким как память 464, расширительная память 444, память в процессоре 452, или распространяемый сигнал, который может приниматься, например, через приемопередатчик 468 или внешний интерфейс 462.
[0064] Устройство 440 может осуществлять связь беспроводным образом через связной интерфейс 476, который может включать в себя схему цифровой обработки сигналов, если необходимо. Связной интерфейс 476 может обеспечивать связь под различными режимами или протоколами, такими как речевые вызовы GSM, обмен сообщениями служб SMS (коротких сообщений), EMS (электронных сообщений) или MMS (мультимедийных сообщений), стандартов CDMA, TDMA, PDC, WCDMA, CDMA2000 или GPRS, наряду с прочими. Такая связь может иметь место, например, через радиочастотный приемопередатчик 468. Кроме того, может иметь место связь ближнего действия, такая как использующая стандарт Bluetooth, WiFi, или другой такой приемопередатчик (не показан). Кроме того, модуль 440 приемника GPS (глобальная система определения местоположения) может предоставлять дополнительные навигационные и связанные с определением местоположения данные беспроводной связи на устройство 440, каковые могут использоваться, как надлежит, приложениями, работающими на устройстве 440.
[0065] Устройство 440 может также осуществлять связь слышимым образом, используя аудиокодек 460, который может принимать речевую информацию от пользователя и преобразовывать ее в пригодную к использованию цифровую информацию. Аудиокодек 460 может подобным образом генерировать для пользователя слышимый звуковой сигнал, как например, через динамик, например, в телефонной трубке устройства 440. Такой звуковой сигнал может включать в себя звуковой сигнал из речевых телефонных вызовов, может включать в себя записанный звуковой сигнал (например, речевые сообщения, музыкальные файлы, и т.д.) и может также включать в себя звуковой сигнал, сгенерированный приложениями, работающими на устройстве 440.
[0066] Вычислительное устройство 440 может быть реализовано во многих различных формах, как показано на фигуре. Например, оно может быть реализовано в виде сотового телефона 480. Оно также может быть реализовано как часть смартфона 482, персонального цифрового ассистента, или другое подобное мобильное устройство.
[0067] Различные исполнения систем и способов, описанных здесь, могут быть реализованы в цифровой электронной схемотехнике, интегральной схемотехнике, специально спроектированных ASIC (специализированные интегральные микросхемы), аппаратных средствах, микропрограммном обеспечении, программном обеспечении компьютера, и/или комбинации этого. Эти различные реализации могут включать в себя реализацию в одной или большем количестве компьютерных программ, которые являются исполнимыми и/или интерпретируемыми в программируемой системе, включающей в себя, по меньшей мере, один программируемый процессор, который может быть специализированным или универсальным, соединенным, чтобы принимать данные и команды от системы хранения данных, по меньшей мере, одного устройства ввода, и, по меньшей мере, одного устройства вывода, и передавать данные и команды на таковые.
[0068] Эти компьютерные программы (также известные как программы, программное обеспечение, программно-реализованные приложения или код) включают в себя машинные команды для программируемого процессора и могут быть реализованы на высокоуровневом процедурном и/или объектно-ориентированном языке программирования, и/или на языке ассемблера/машины. Как используется в документе, термины ʺ машиночитаемый носительʺ, ʺчитаемый компьютером носительʺ относятся к какому-либо компьютерному программному продукту, аппаратуре и/или устройству (например, магнитным дискам, оптическим дискам, памяти, программируемым логическим устройствам (PLD)), используемым, чтобы обеспечивать машинные команды и/или данные на программируемый процессор, включая читаемый машиной носитель, который принимает машинные команды в виде читаемого машиной сигнала. Термин ʺмашиночитаемый сигналʺ относится к любому сигналу, используемому, чтобы обеспечивать машинные команды и/или данные на программируемый процессор.
[0069] Чтобы обеспечивать взаимодействие с пользователем, системы и способы, описанные в документе, могут быть реализованы на компьютере, имеющем устройство отображения (например, монитор на CRT (электронно-лучевая трубка) или LCD (жидкокристаллический дисплей)) для отображения информации пользователю, и клавиатуру и указательное устройство (например, мышь или шаровой манипулятор), посредством чего пользователь может обеспечивать ввод в компьютер. Другие виды устройств также могут использоваться, чтобы обеспечивать взаимодействие с пользователем; например, обратная связь, обеспечиваемая пользователю, может быть любой формой сенсорной обратной связи (например, визуальной обратной связью, слуховой обратной связью, или тактильной обратной связью); и ввод от пользователя может приниматься в любой форме, включая акустический, речевой или тактильный ввод.
[0070] Системы и способы, описанные в документе, могут быть реализованы в вычислительной системе, которая включает в себя внутренний (back end) компонент (например, в виде сервера базы данных), или которая включает в себя компонент промежуточного программного обеспечения (middleware) (например, сервер приложений), или которая включает в себя компонент переднего плана (например, клиентский компьютер, имеющий графический пользовательский интерфейс или Web-браузер, через который пользователь может взаимодействовать с реализацией систем и способов, описанных здесь), или любую комбинацию из таких компонентов внутренней части, промежуточного программного обеспечения или переднего плана. Компоненты системы могут обмениваться информацией посредством любой формы или носителя передачи цифровых данных (например, сети связи). Примеры сетей связи включают в себя локальную сеть (ʺLANʺ), глобальную сеть (ʺWANʺ) и сеть Интернет.
[0071] Вычислительная система может включать в себя клиенты и серверы. Клиент и сервер является обычно удаленными друг от друга и обычно взаимодействует через сеть связи. Отношение клиента и сервера возникает благодаря компьютерным программам, работающим на соответственных компьютерах и имеющим отношение клиент-сервер друг к другу.
[0072] Хотя это раскрытие включает в себя некоторые подробности, их не следует рассматривать как ограничения на объем раскрытия или того, что может быть заявлено, а предпочтительнее как описания признаков примерных реализаций раскрытия. Некоторые признаки, которые описаны в этом раскрытии в контексте отдельных реализаций, также могут обеспечиваться в комбинации в одной реализации. Напротив, различные признаки, которые описаны в контексте одной реализации, также могут обеспечиваться во множестве реализаций отдельно или в любой подходящей подкомбинации. Кроме того, хотя признаки могут быть описаны выше как действующие в некоторых комбинациях и даже первоначально заявлены как таковые, один или более признаков из заявленной комбинации в некоторых случаях могут быть изъяты из комбинации, и заявленная комбинация может быть направлена на подкомбинацию или разновидность подкомбинации.
[0073] Подобным образом, хотя операции изображены на чертежах в конкретном порядке, это не следует понимать требованием, что такие операции должны выполняться в конкретном показанном порядке или в последовательном порядке, или что все проиллюстрированные операции должны быть выполнены для достижения требуемых результатов. При некоторых обстоятельствах могут быть полезными многозадачность и параллельная обработка. Кроме того, разделение различных компонентов системы в реализациях, описанных выше, не следует понимать требующим такое разделение во всех реализациях, и следует понимать, что описанные программные компоненты и системы обычно могут быть объединены вместе в единый программный продукт или сформированы в пакеты множества программных продуктов.
[0074] Таким образом, были описаны конкретные реализации настоящего раскрытия. Другие реализации находятся в рамках объема последующей формулы изобретения. Например, действия, изложенные в формуле изобретения, могут выполняться в другом порядке и все еще достигать требуемых результатов. Был описан ряд реализаций. Однако будет подразумеваться, что могут делаться различные модификации без выхода за рамки существа и объема раскрытия. Например, могут использоваться различные формы последовательностей операций, показанных выше, с переупорядоченными, добавленными или удаленными этапами. Соответственно, другие реализации находятся в рамках объема последующей формулы изобретения.