ГЕНЕРИРОВАНИЕ ДИАЛОГОВЫХ РЕКОМЕНДАЦИЙ ДЛЯ ЧАТОВЫХ ИНФОРМАЦИОННЫХ СИСТЕМ
GENERATION OF INTERACTIVE RECOMMENDATIONS FOR CHAT INFORMATION SYSTEMS

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее описание изобретения, в целом, относится к чатовым информационным системам и, более конкретно, к технологии для интеллектуального и проактивного генерирования диалоговых рекомендаций для пользователей матовых информационных систем на основе множества критериев, как описано здесь.
ОПИСАНИЕ ПРЕДШЕСТВУЮЩЕГО УРОВНЯ ТЕХНИКИ
Методики, описанные в этом разделе, могут осуществляться, но необязательно представляют собой методики, которые ранее рассматривались или осуществлялись. Следовательно, если только не указано иное, не следует исходить из того, что любая из методик, описанных в этом разделе, квалифицируется как предшествующий уровень техники только в силу их включения в этот раздел.
Чатовая информационная система (ЧИС) представляет собой агент на основе компьютера, имеющий человекоцентричный интерфейс для доступа и управления информацией. Традиционно, ЧИС может взаимодействовать с пользователями на естественном языке для симуляции интеллектуального общения и предоставления персональной помощи пользователям. Например, пользователи могут задавать ЧИС такие вопросы как, например, "Где находится ближайший отель?" или "Какая сейчас погода?", и получать соответствующие ответы. Пользователи также могут просить ЧИС выполнить определенные функции, включая, например, создание электронных писем, выполнение телефонных звонков, поиск информации, получение данных, переадресацию пользовательских запросов, направление пользователя, обеспечение заметок и напоминаний и так далее. ЧИС и системы персональных цифровых помощников широко применяются и оказывают огромную помощь для пользователей компьютеров и являются особенно полезными для владельцев портативных электронных устройств, например смартфонов, планшетных компьютеров, игровых консолей и так далее.
Термин "чатовая информационная система" также может быть известен как "разговорная диалоговая система", "диалоговая система", "коммуникационный агент", "робот-собеседник", "бот-собеседник", "чатбот", "чат агент", "цифровой персональный помощник/агент", "автоматизированный онлайн помощник" и так далее. Все эти термины подпадают под объем настоящего описания изобретения и называются "чатовой информационной системой" или "ЧИС" для упрощения.
По существу, пользователи ЧИС могут задавать большое количество различных вопросов и запрашивать большой диапазон информации, относящейся к мировым и местным новостям, погоде, контенту электронной почты, календарным встречам, запланированным событиям и любому другому доступному для поиска контенту. ЧИС может быть полезной не только для доступа к определенной информации, но также для генерирования контента, планирования событий, написания электронных писем, навигации, и гораздо большего. С другой стороны, часто для пользователей трудно понять, какой тип информации может запрашиваться через ЧИС в конкретный момент времени. Например, начинающие пользователи могут с трудом понимать или знать принципы работы приложения ЧИС или его конкретные функциональные возможности. Пользователи могут недопонимать, что несколько особенностей приложения ЧИС могут очень часто применяться для решения их повседневных задач и потребностей. Следовательно, по-прежнему существует необходимость развития ЧИС и, в частности, существует необходимость усовершенствования интерфейса взаимодействия человека с ЧИС.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Настоящая сущность изобретения приведена для представления выборки концепций в упрощенной форме, которые дополнительно описываются ниже в разделе описании осуществления изобретения. Настоящая сущность изобретения не подразумевается идентифицировать ключевые признаки или существенные признаки заявленного предмета изобретения и не подразумевается использоваться в качестве вспомогательного средства при определении объема заявленного предмета изобретения.
Настоящее изобретение представляет собой технологию интеллектуального генерирования диалоговых рекомендаций для пользователей ЧИС на основе множества критериев. Эта технология устраняет по меньшей мере некоторые недостатки систем предшествующего уровня техники, а также улучшает интерфейс взаимодействия пользователя с ЧИС и способ взаимодействия пользователя от использования ЧИС.
В соответствии с одним аспектом настоящего изобретения, предложен способ выдачи диалоговых рекомендаций в ЧИС. Иллюстративный способ может включать получение, процессором, функционально соединенным с памятью, пользовательского ввода на основе речи. Способ может дополнительно включать распознавание, процессором, по меньшей мере части пользовательского ввода на основе речи для генерирования распознанного ввода. Способ может дополнительно включать предоставление, процессором, по меньшей мере одного ответа на распознанный ввод. Способ может дополнительно включать идентификацию, процессором, по меньшей мере одного инициирующего события. Способ может дополнительно включать генерирование, процессором, по меньшей мере одной диалоговой рекомендации по меньшей мере частично на основе идентификации. Способ может дополнительно включать представление, процессором, по меньшей мере одной диалоговой рекомендации пользователю посредством пользовательского устройства.
В определенных вариантах осуществления, идентификация по меньшей мере одного инициирующего события может включать распознавание, процессором, одного или более заданных слов в распознанном вводе. В определенных вариантах осуществления, идентификация по меньшей мере одного инициирующего события может включать распознавание, процессором, типа контекста диалога пользователя с ЧИС. В определенных вариантах осуществления, идентификация по меньшей мере одного инициирующего события может включать распознавание, процессором, одного или более режимов работы ЧИС, никогда не использовавшихся пользователем. В определенных вариантах осуществления, идентификация по меньшей мере одного инициирующего события может включать распознавание, процессором, одного или более режимов работы ЧИС, которые пользователь не использовал в течение заданного периода времени. В определенных вариантах осуществления, идентификация по меньшей мере одного инициирующего события может включать распознавание, процессором, одного или более событий, связанных с по меньшей мере одной социальной сетью или блоговым сайтом. В определенных вариантах осуществления, идентификация по меньшей мере одного инициирующего события может включать распознавание, процессором, одного или более электронно-инициированных определяемых событий, связанных с активностью пользователя, активностью коллег или друзей пользователя или общественной активностью. В определенных вариантах осуществления, идентификация по меньшей мере одного инициирующего события может включать распознавание, процессором, одного или более событий, связанных с уведомлениями, лентами новостей, оповещениями, информационными постами, предупреждениями и так далее, непосредственно не связанными с пользователем.
В определенных вариантах осуществления, способ может дополнительно включать определение, процессором, текущего времени, связанного с пользовательским устройством, и идентификация по меньшей мере одного инициирующего события по меньшей мере частично может быть основана на текущем времени. В определенных вариантах осуществления, идентификация по меньшей мере одного инициирующего события может включать распознавание, процессором, одного или более календарных событий, запланированных в пределах заданного периода времени от текущего времени.
В определенных вариантах осуществления, способ может дополнительно включать определение, процессором, текущего географического положения, связанного с пользовательским устройством, и идентификация по меньшей мере одного инициирующего события по меньшей мере частично может быть основана на текущем географическом положении. В определенных вариантах осуществления, идентификация по меньшей мере одного инициирующего события может включать определение, процессором, нахождения пользовательского устройства в пределах заданной географической области. В определенных вариантах осуществления, идентификация по меньшей мере одного инициирующего события может включать распознавание, процессором, наличия одного или более периферийных электронных устройств в пределах заданного расстояния от текущего географического положения, связанного с пользовательским устройством.
В определенных вариантах осуществления, идентификация по меньшей мере одного инициирующего события может включать распознавание, процессором, нахождения пользовательского устройства в пределах одной или более беспроводных сетей. В определенных вариантах осуществления, идентификация по меньшей мере одного инициирующего события может включать распознавание, процессором, характера взаимодействия пользователя с ЧИС пользователя, аналогичного характеру, связанному с взаимодействием пользователя с ЧИС по меньшей мере одного другого пользователя.
В определенных вариантах осуществления, способ может дополнительно включать получение, процессором, второго пользовательского ввода на основе речи, и второй пользовательский ввод на основе речи может быть связан с по меньшей мере одной диалоговой рекомендацией. Способ может дополнительно включать выполнение, процессором, автоматического распознавания речи по меньшей мере части второго пользовательского ввода на основе речи для генерирования второго распознанного ввода. Способ может дополнительно включать предоставление, процессором, второго ответа на второй распознанный ввод.
В определенных вариантах осуществления, по меньшей мере одна диалоговая рекомендация может выдаваться на пользовательское устройство в виде активируемого сообщения. В определенных вариантах осуществления, способ может дополнительно включать получение, процессором, пользовательского выбора по меньшей мере одной диалоговой рекомендации и генерирование, процессором, ответа на пользовательский выбор. В определенных вариантах осуществления, распознавание по меньшей мере части пользовательского ввода на основе речи для генерирования распознанного ввода включает выполнение автоматического распознавания речи, используя одно или более средств распознавания речи. В различных вариантах осуществления, одно или более средств распознавания речи могут включать одно или более из следующего: средство распознавания речи на основе шаблона, средство распознавания свободной диктовки, средство распознавания на основе адресной книги и динамически создаваемое средство распознавания.
В соответствии с другим аспектом настоящего описания изобретения, предложена ЧИС. ЧИС может включать в себя модуль распознавания речи, выполненный с возможностью получения пользовательского ввода на основе речи и распознавания по меньшей мере части пользовательского ввода на основе речи и генерирования распознанного ввода. ЧИС может дополнительно включать в себя диалоговый диспетчер, выполненный с возможностью генерирования по меньшей мере одного ответа на распознанный ввод. ЧИС может дополнительно включать в себя диспетчер событий, выполненный с возможностью идентификации по меньшей мере одного инициирующего события. ЧИС может дополнительно включать в себя диспетчер рекомендаций, выполненный с возможностью генерирования по меньшей мере одной диалоговой рекомендации по меньшей мере частично на основе идентификации по меньшей мере одного инициирующего события.
В различных вариантах осуществления, ЧИС может дополнительно включать в себя выходной рендерер, выполненный с возможностью предоставления по меньшей мере одного ответа и по меньшей мере одной диалоговой рекомендации пользователю посредством пользовательского устройства. В определенных вариантах осуществления, выходной рендерер может включать генератор преобразования текста в речь. В определенных вариантах осуществления, выходной рендерер может быть выполнен с возможностью предоставления по меньшей мере одного ответа в виде звукового сообщения. В определенных вариантах осуществления, выходной рендерер может быть выполнен с возможностью предоставления по меньшей мере одной диалоговой рекомендации в виде текстового сообщения или графического сообщения. В определенных вариантах осуществления, модуль распознавания речи может включать в себя множество средств распознавания речи. В определенных вариантах осуществления, по меньшей мере одно из модуля распознавания речи, диалогового диспетчера, диспетчера событий и диспетчера рекомендаций может представлять собой распределенный вычислительный модуль. В определенных вариантах осуществления, одно из модуля распознавания речи, диалогового диспетчера, диспетчера событий и диспетчера рекомендаций может представлять собой облачный вычислительный модуль.
В дополнительных иллюстративных вариантах осуществления настоящего описания изобретения, этапы способа хранятся на машиночитаемом носителе, содержащем команды, которые, когда воплощаются одним или более процессорами, осуществляют изложенные этапы. В еще дополнительных иллюстративных вариантах осуществления, аппаратные системы или устройства могут адаптироваться для осуществления изложенных этапов. Другие признаки, примеры и варианты осуществления описаны ниже.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Варианты осуществления показаны в качестве примера, а не ограничения, на фигурах сопровождающих чертежей, на которых одинаковые ссылочные позиции обозначают аналогичные элементы и на которых:
ФИГ. 1 представляет собой высокоуровневую блок-схему взаимодействия пользователя с ЧИС.
ФИГ. 2 представляет собой высокоуровневую архитектуру ЧИС, в соответствии с иллюстративным вариантом осуществления.
ФИГ. 3 представляет собой высокоуровневую блок-схему иллюстративной системы, подходящей для практического осуществления настоящих технологий для выдачи диалоговых рекомендаций.
ФИГ. 4 представляет собой высокоуровневую блок-схему иллюстративной системной среды, подходящей для практического осуществления настоящих технологий, для динамического генерирования диалоговых рекомендаций.
ФИГ. 5 представляет собой высокоуровневую блок-схему другой иллюстративной системной среды, подходящей для практического осуществления настоящих технологий, для динамического генерирования диалоговых рекомендаций.
ФИГ. 6 представляет собой высокоуровневую блок-схему еще одной другой иллюстративной системной среды, подходящей для практического осуществления настоящих технологий.
ФИГ. 7 представляет собой схематичное изображение графического пользовательского интерфейса с чатовыми функциями для пользовательского устройства, в соответствии с иллюстративным вариантом осуществления.
ФИГ. 8 представляет собой блок-схему последовательности процессов, показывающую способ выдачи диалоговых рекомендаций в ЧИС, в соответствии с иллюстративным вариантом осуществления.
ФИГ. 9 представляет собой блок-схему последовательности процессов, показывающую способ выдачи диалоговых рекомендаций в ЧИС, в соответствии с другим иллюстративным вариантом осуществления.
На ФИГ. 10 показано схематичное изображение вычислительного устройства для машины в иллюстративной электронной форме компьютерной системы, в которой может выполняться набор команд для побуждения машины осуществлять любую одну или более методологий, рассмотренных здесь.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
Нижеследующее описание осуществления изобретения включает в себя ссылки на сопровождающие чертежи, которые составляют часть подробного описания. На чертежах показаны иллюстрации в соответствии с иллюстративными вариантами осуществления. Эти иллюстративные варианты осуществления, которые также называются здесь "примерами", описываются достаточно подробно для обеспечения возможности практического осуществления специалистами в данной области техники настоящего предмета изобретения. Варианты осуществления могут комбинироваться, другие варианты осуществления могут использоваться, или конструктивные, логические и электрические изменения могут выполняться, не выходя за пределы объема формулы изобретения. Следовательно, нижеследующее подробное описание не следует рассматривать в ограничивающем смысле, и объем определяется прилагаемой формулой изобретения и ее эквивалентами. В настоящем документе, единственное число используется, как принято в патентных документах, для включения единственного числа или множественного числа. В настоящем документе, союз "или" используется для ссылки на неисключительное "или", таким образом "А или В" включает в себя "А, но не В", "В, но не А", а также "А и В", если не указано иное.
Варианты осуществления, раскрытые в данном документе, могут воплощаться, используя множество технологий. Например, способы, описанные здесь, могут воплощаться в программном обеспечении, выполняющемся на компьютерной системе, или в аппаратных средствах, использующих либо комбинацию микропроцессоров, либо другие специально разработанные интегральные схемы специального назначения (ASIC), программируемые логические устройства или различные их комбинации. В частности, способы, описанные здесь, могут воплощаться последовательностью выполняемых компьютером команд, хранящихся на носителе данных, например дисковом накопителе или машиночитаемом носителе. Следует отметить, что способы, раскрытые здесь, могут воплощаться компьютером (например, стационарным компьютером, планшетным компьютером, портативным компьютером), игровой консолью, ручным игровым устройством, сотовым телефоном, смартфоном, телевизионной смарт системой и так далее.
Введение
Варианты осуществления настоящего описания изобретения относятся к способам и соответствующим системам для предоставления диалоговых рекомендаций для пользователей в ЧИС. Обычно, диалоговые рекомендации могут динамично и проактивно генерироваться для привлечения внимания пользователей на основе одного или более критериев, которые называются здесь "инициирующими событиями". Как описано более подробно ниже, ЧИС может осуществлять мониторинг диалогового контекста, взаимодействия пользователя с системой, текущего времени и географического положения, наличия одного или более специальных устройств в пределах заданной области от пользователя, наличия определенных беспроводных сетей в пределах заданной области от пользователя, запланированных событий и встреч, событий социальных сетей, истории взаимодействия пользователя с ЧИС, различных оповещений, предупреждений, уведомлений, новостей, постов, ориентированных на пользователя активностей (событий), ориентированных не на пользователя активностей (событий) и так далее. На основе мониторинга и идентификации одного или более инициирующих событий, ЧИС может интеллектуально генерировать одну или более диалоговых рекомендаций и представлять их в виде текстовых и/или графических сообщений на дисплее пользовательского устройства. По существу, пользователи могут взаимодействовать с ЧИС, используя голосовые команды, хотя вводимые с помощью клавиатуры команды или команды на основе жестов также являются возможными. Как описано ниже более подробно, ЧИС может относиться к программному приложению, установленному на пользовательском устройстве, сервере, или удаленном устройстве, или она может относиться к распределенному приложению. Пользователь может взаимодействовать с ЧИС, используя пользовательское устройство, выбранное из широкого диапазона электронных устройств, включая, например, компьютер (стационарный компьютер, портативный компьютер, планшетный компьютер, персональный цифровой помощник), смартфон, сотовый телефон, игровую консоль, игровой планшет, удаленный контроллер, телевизионное устройство, смарт (интернет) телевизионное устройство, аудиосистему, автомобильную компьютерную систему, информационно-развлекательную систему или любое другое подходящее электронное устройство.
На ФИГ. 1 показана высокоуровневая блок-схема 100 взаимодействия пользователя с ЧИС. Как показано на этой фигуре, пользователь может начинать взаимодействие на этапе 110 с обеспечением (звукового) пользовательского ввода на основе речи через посредством пользовательского устройства (например, используя один или более микрофонов). Пользовательский ввод может относиться к информационному запросу, такому как "Какая сейчас погода?", или голосовой команде, например для генерирования и отправки текстового сообщения или тому подобное.
На этапе 120, автоматическое средство распознавания речи (АСРР) ЧИС может распознавать пользовательский ввод таким образом, чтобы переводить произносимые слова, фразы и предложения в текст, которые называются здесь распознанным вводом. Распознанный ввод затем анализируется на этапе 130 посредством модуля обработки естественного языка (ОЕЯ) (например, выполняются морфологический анализ, лексико-грамматический анализ или поверхностный синтаксический анализ). Модуль ОЕЯ также может преобразовывать распознанный ввод или его части в одно или более смысловых представлений (например, семантический фрейм), из которых диалоговый акт, пользовательская цель и именованные сущности извлекаются посредством семантического анализатора или статистической модели.
На этапе 140, диалоговый диспетчер генерирует выходные данные (ответ) по меньшей мере частично на основе распознанного ввода и найденных смысловых представлений. Например, диалоговый диспетчер может получать специфическую информацию от одного или более ресурсов (например, электронного календаря, базы данных, веб-сайта и т.д.). На этапе 150, выходные данные предоставляются пользователю (например, в виде текстового, графического, звукового или видео сообщения). Для этих целей, может использоваться выходной рендерер, который может преобразовывать текст в речь и предоставлять выходные данные в виде генерируемого машиной звукового сигнала. В качестве альтернативы, выходные данные могут предоставляться в виде текстового сообщения и отображаться на дисплее пользовательского устройства.
Вышеприведенное взаимодействие пользователя с системой дополнительно показано на ФИГ. 2, на которой показана высокоуровневая архитектура ЧИС 200, в соответствии с иллюстративным вариантом осуществления. Следует отметить, что каждый модуль ЧИС 200 может включать в себя аппаратные компоненты, программные компоненты или их комбинацию. ЧИС 200 может быть встроена в пользовательское устройство или сервер или может быть представлена в виде облачного вычислительного модуля и/или распределенного вычислительного модуля.
ЧИС 200 может включать в себя АСРР 210, выполненное с возможностью получения и обработки пользовательских вводов на основе речи в последовательность параметрических векторов. АСРР 210 дополнительно преобразует последовательность параметрических векторов в распознанный ввод (т.е. текстовый ввод, имеющий одно или более слов, фраз или предложений). АСРР 210 может включать в себя одно или более средств распознавания речи, например средство распознавания речи на основе шаблонов, средство распознавания свободной диктовки, средство распознавания на основе адресной книги, динамически создаваемое средство распознавания и так далее.
Более того, ЧИС 200 может включать в себя модуль 220 ОЕЯ для понимания ввода на основе разговорного языка. Конкретно, модуль 220 ОЕЯ может производить разбор и синтаксический анализ распознанного ввода для получения фрагментов речи, которые затем анализируются, используя, например, морфологический анализ, лексико-грамматический анализ, поверхностный синтаксический анализ и тому подобное, и затем преобразовывать распознанный ввод или его части в смысловые представления.
ЧИС 200 может дополнительно включают в себя диалоговый диспетчер 230, который представляет собой важную часть ЧИС 200, так как он координирует активность всех компонентов, управляет диалоговыми потоками и взаимодействует с внешними приложениями/устройствами. Диалоговый диспетчер 230 может играть множество ролей, которые включают дискурсивный анализ, контекстный анализ, запрос к базе знаний и предсказание действий системы на основе дискурсивного контекста. В некоторых вариантах осуществления, диалоговый диспетчер 230 может обращаться к одному или более диспетчерам задач (не показаны), которые могут обладать информацией в области конкретных задач. В некоторых вариантах осуществления, диалоговый диспетчер 230 может взаимодействовать с различными вычислительными, логическими или накопительными ресурсами 240, которые могут включать, например, базу инициирующих данных, базу данных правил, электронную адресную книгу, агенты электронной почты или текстовых сообщений, базу данных истории диалогов, различные базы знаний, картографическую базу данных, базу данных точек интереса, устройство определения географического положения, часы, детектор беспроводной сети, поисковые службы, вебсайты социальных сетей, блоговые веб-сайты и так далее. Диалоговый диспетчер 230 может применять множество различных методик для генерирования выходных данных в ответ на распознанный ввод. Некоторые методики могут включать использование статистического анализа, алгоритмов машинного обучения (например, нейронные сети), эвристического анализа и так далее. Диалоговый диспетчер 230 представляет собой один из центральных компонентов ЧИС 200. Главная роль диалогового диспетчера 230 заключается в выборе правильных действий системы на основе обнаруженных свидетельств и выведенных диалоговых положений из результатов ОЕЯ (например, диалогового акта, пользовательской цели и дискурсивной истории). Кроме того, диалоговый диспетчер 230 должен быть способным обрабатывать ошибки, когда пользовательский ввод имеет ошибки АСРР и ОЕЯ, вызванные шумами или случайными вводами.
ЧИС 200 может дополнительно включать в себя выходной рендерер 250 для преобразования выходных данных диалогового диспетчера 230 в форму, подходящую для предоставления пользователю. Например, выходной рендерер 250 может применять механизм речевого воспроизведения текста или может обращаться к предварительно записанной аудио базе данных для генерирования звукового сообщения, соответствующего выходным данным диалогового диспетчера 230. В определенных вариантах осуществления, выходной рендерер 250 может представлять выходные данные диалогового диспетчера 230 в виде текстового сообщения, изображения или видео сообщения для дальнейшего отображения на экране дисплея пользовательского устройства.
Архитектура системы
На ФИГ. 3 показана высокоуровневая блок-схема иллюстративной системы 300, подходящей для практического осуществления настоящих технологий для выдачи диалоговых рекомендаций. Специалистам в данной области техники будет понятно, что все компоненты системы 300 могут включать логические элементы, аппаратные компоненты, программные (микропрограммные) компоненты или их комбинацию. Модули системы 300 могут находиться в одном устройстве (например, пользовательском устройстве), множестве устройств (например, в клиент-серверной среде) или могут представлять собой распределенные вычислительные модули или облачные вычислительные модули. Более того, все модули, показанные на ФИГ. 3, могут функционально соединяться, используя любые подходящие проводные, беспроводные, радио или оптические стандарты.
Как показано на ФИГ. 3, система 300 может включать в себя один или более модулей 302 ввода, например микрофон, сенсорный экран, клавишную панель, клавиатуру, сенсорную панель, трекбол, видеокамеру (для распознавания жестов) и тому подобное. Система 300 также может включать в себя один или более выходных модулей 304, например динамики или дисплей.
Система 300 дополнительно включает в себя ЧИС 306 для обеспечения человекоцентричного интерфейса для доступа и управления информацией, как рассмотрено выше. ЧИС 306 может быть представлена иллюстративным воплощением, показанным выше со ссылкой на ФИГ. 2.
Система 300 дополнительно включает в себя диспетчер 308 событий для осуществления мониторинга активностей и идентификации одного или более инициирующих событий. Инициирующие события могут относиться к широкому диапазону различных активностей или событий. Некоторые примеры инициирующих событий могут включать:
- идентификацию одного или более заданных слов, фраз или предложений при идентификации ввода, обработанного ЧИС 306;
- идентификацию типа контекста диалога пользователя с ЧИС;
- идентификацию тех режимов работы, функций или особенностей ЧИС, никогда не использовавшихся пользователем;
- идентификацию тех режимов работы, функций или особенностей ЧИС, которые пользователь не использовал в течение заданного периода времени;
- идентификацию событий, связанных с социальными сетями или блоговыми сайтами (например, нового поста друга, события друга, нового статуса друга);
- идентификацию текущего времени/даты и определение того, что одно или более запланированных событий запланированы на это время или на заданный период времени от текущего времени/даты;
- идентификацию текущего географического положения пользовательского устройства и определение того, что одно или более запланированных событий запланированы в этом местоположении или в пределах заданной области, связанной с этим местоположением;
- идентификацию того, что одно или более заданных сетевых (периферийных) устройств расположены в пределах заданной области (расстояния) от текущего местоположения пользовательского устройства;
- идентификацию того, что пользовательское устройство находится в пределах одной или более заданных беспроводных сетей;
- идентификацию того, что контекст или характер взаимодействия пользователя с ЧИС является аналогичным одному или более ранее записанным или ранее заданным контекстам или характерам взаимодействия пользователя с ЧИС, связанным с другими пользователями; и так далее.
Диспетчер 308 событий может обращаться к базе данных 310 инициирующих критериев, которая может хранить различные критерии, правила, эталонные инициирующие события и так далее. Например, база данных 310 инициирующих критериев может хранить перечень инициирующих слов (например, "погода", "электронная почта", "где", "расписание", "когда" и т.д.), перечень заданных географических положений, перечень беспроводных сетей, перечень периферийных устройств, перечень типов взаимодействия пользователя с ЧИС, истории диалогов и многие другие правила или критерии.
Система 300 может включать в себя диспетчер 312 рекомендаций для генерирования диалоговых рекомендаций для пользователя по меньшей мере частично на основе инициирующих событий, идентифицированных диспетчером 308 событий, правил, хранящихся в базе данных 314 правил, и/или шаблонов рекомендаций, хранящихся в базе данных 316 рекомендаций. Более конкретно, как только диспетчер 308 событий идентифицирует конкретное инициирующее событие, диспетчер 312 рекомендаций обращается к базе данных 314 правил и/или базе данных 316 рекомендаций для нахождения данных и/или правил, связанных с идентифицированным инициирующим событием. На основе найденных данных/правил и самого инициирующего события, диспетчер 312 рекомендаций создает одну или более диалоговых рекомендаций для пользователя, которые затем могут быть представлены пользователю через посредство выходного модуля 304 (например, рекомендация может отображаться на дисплее). Например, когда диспетчер 308 событий идентифицирует, что инициирующее событие относится к пользовательскому запросу "Какая сейчас погода?", диспетчер 312 рекомендаций может генерировать диалоговые рекомендации, чтобы предложить пользователю спросить, какая погода будет завтра, послезавтра, в соседнем городе, или в городе, куда пользователь часто ездит. В примере, когда диспетчер 308 событий идентифицирует, что инициирующее событие относится к доступу к цифровому календарю и определению местоположения конкретных запланированных событий, диспетчер 312 рекомендаций может генерировать диалоговые рекомендации для пользователя, чтобы подсказать ему попросить установить напоминания, пригласить участников для запланированного события, проложить ему маршрут до места запланированного события и так далее. В еще одном другом примере, инициирующее событие может относиться только к случаю, когда пользователь никогда не использовал специальные функции ЧИС, например навигацию, напоминания, ежедневные короткие приложения и тому подобное, и диспетчер 312 рекомендаций может генерировать диалоговые рекомендации для пользователя, чтобы подсказать ему начать использование этих функций. Некоторые другие примеры приведены ниже.
По-прежнему ссылаясь на ФИГ. 3, система 300 может включать часы 318 для предоставления текущего времени или текущего времени и даты для запрашивающего модуля. Часы 318 могут представлять собой либо внутренний или удаленный модуль. Система 300 может дополнительно включать в себя устройство 320 определения геолокации для определения текущего географического положения пользовательского устройства. Устройство 320 определения геолокации может использовать несколько разных способов для определения географического положения, включая, например, получение и обработку сигналов глобальной системы позиционирования (GPS), спутниковой навигационной системы GLONASS или спутниковой навигационной системы Galileo; использование мультилатерации радиосигналов между радиобашнями (базовыми станциями); или использование способов геолокации, связанных с адресами Интернет-протокола (IP), адресами контроля доступа к носителю информации (MAC), радиочастотной идентификацией (RFID) или другими технологиями.
Система 300 может включать в себя один или более локальных или удаленных накопительных или вычислительных ресурсов 322, включая, например, веб-ресурсы, вебсайты, веб-сайты социальных сетей, блоговые веб-сайты, ленты новостей, серверы электронной почты, веб-календари, базы данных событий, билетные агрегаторы, картографические базы данных, базы данных точек интереса и так далее. Должно быть очевидным, что диспетчер 308 событий и диспетчер 312 рекомендаций также могут обращаться к этим ресурсам 322 для идентификации инициирующих событий или создания диалоговых рекомендаций.
По-прежнему ссылаясь на ФИГ. 3, ЧИС 306 может иметь различные типы общения пользователя с ЧИС (они могут рассматриваться в качестве режимов работы). Более конкретно, типы общения пользователя с ЧИС могут включать один или более из нижеследующих: базовый тип общения для выдачи ответов на общие запросы пользователя, тип общения для выдачи новостей, навигационный тип общения, тип общения для ежедневной сводки информации, тип общения для мониторинга электронной почты, тип общения для подготовки электронного письма/текста, тип общения для мониторинга социальной сети, тип общения для мониторинга блога, тип общения для мониторинга календарных событий, тип общения для предложений на основе местоположения, режим поиска в Интернете, тип общения для мониторинга погоды и так далее. Соответственно, диспетчер 308 событий может осуществлять мониторинг того, использовались ли или опробовались ли или нет все эти режимы пользователем (особенно начинающим пользователем).
На ФИГ. 4 показана высокоуровневая блок-схема иллюстративной системной среды 400, подходящей для практического осуществления настоящих технологий, для динамического генерирования диалоговых рекомендаций. Системная среда 400 может включать в себя пользовательское устройство 410, распределенные модули, включая ЧИС 306, диспетчер 308 событий, диспетчер 312 рекомендаций, одну или более баз данных (например, базу данных 310 инициирующих критериев, базу данных 314 правил, базу данных 316 рекомендаций), один или более веб-ресурсов и/или одну или более веб-служб 420 и коммуникационную сеть 430.
В соответствии с различными вариантами осуществления, пользовательское устройство 410 может обращаться к клиенту в "клиент-серверной среде". Обычно, пользовательское устройство 410 может включать компьютер (например, стационарный компьютер, портативный компьютер, планшетный компьютер), смартфон, радиотелефон, сотовый телефон, телевизионную систему, игровую консоль, игровой планшет, автомобильный компьютер, информационно-развлекательную систему, компьютер для умного дома, и любые другие электронные устройства, имеющие по меньшей мере один обрабатывающий или вычислительный блок. Пользовательское устройство 410 должно быть выполнено с возможностью получения или записи пользовательских звуковых вводов (например, через посредство одного или более микрофонов). Более того, пользовательское устройство 410 может запускать специализированное программное обеспечение, позволяющее ему осуществлять на практике принципы настоящего описания изобретения. В примере, пользовательское устройство 410 может запускать браузер, позволяющий пользователю посещать специализированную веб-страницу, которая использует по меньшей мере некоторые функциональные возможности ЧИС 306 и других модулей. В другом примере, пользовательское устройство 410 может запускать специализированное мобильное приложение, обеспечивающее возможность коммуникации с ЧИС 306 и другими модулями. Следует понимать, что ЧИС 306, диспетчер 308 событий, диспетчер 312 рекомендаций и/или другие модули или базы данных могут работать на пользовательском устройстве 410 или сетевом сервере, или, они могут составлять распределенное(ые) программное(ые) приложение(я), работающее(ие) как на пользовательском устройстве 410, так и сетевом сервере (не показан) или на множестве сетевых серверах (например, представляющих собой вариант осуществления на основе облачной технологии).
Коммуникационная сеть 430 может представлять собой беспроводную или проводную сеть, или их комбинацию. Например, сеть может включать одно или более из следующего: Интернет, локальный интранет, PAN (персональная сеть), LAN (локальная сеть), WAN (глобальная сеть), MAN (городская сеть), виртуальная частная сеть (VPN), сеть хранения данных (SAN), соединение frame relay, соединение развитой интеллектуальной сети (AIN), соединение синхронной оптической сети (SONET), цифровая Т1, Т3, El или Е3-линия, соединение службы передачи цифровых данных (DDS), (соединение цифровой абонентской линии связи) DSL, Ethernet-соединение, линия (цифровой сети с интеграцией услуг) ISDN, кабельный модем, соединение ATM (режима асинхронной передачи данных) или соединение FDDI (распределенного интерфейса передачи данных по оптоволокну) или CDDI (распределенного интерфейса передачи данных по медным кабельным линиям). Более того, коммуникации также могут включать связи с любой из множества беспроводных сетей, включая GPRS (общий сервис пакетной радиопередачи), GSM (глобальная система мобильной связи), CDMA (множественный доступ с кодовым разделением) или TDMA (множественный доступ с временным разделением), сотовые телефонные сети, GPS, CDPD (сотовая система передачи данных с пакетной коммутацией), RIM (Research in Motion, Limited) дуплексная пейджинговая сеть, Bluetooth радио, или радиочастотная сеть на основе IEEE 802.11.
В различных вариантах осуществления, один или более веб-ресурсов и/или одна или более веб-служб 420 могут включать одно или более из следующего: веб-страницы, веб-сайты, поисковые службы в Интернете, базы данных, накопитель данных, агрегаторы данных (например, билетные агрегаторы), веб-сайты совместного доступа к файлам, почтовые серверы, почтовые службы, службы мгновенного обмена сообщениями, вебсайты социальных сетей, блоговые веб-сайты, микроблоговые веб-сайты, службы новостей, новостные обогащенные сводки сайтов (RSS), картографические службы, службы онлайн банкинга, службы онлайн календаря, службы онлайн планирования встреч, службы определения местоположения, службы погоды, службы времени, интерфейсы программирования приложений (API) и так далее. ЧИС 306, диспетчер 308 событий, диспетчер 312 рекомендаций и пользовательское устройство 410 могут быть выполнены с возможностью функционального взаимодействия с этими или аналогичными веб-ресурсами/службами 420 для обмена данными в зависимости от применения. Например, ЧИС 306 может взаимодействовать с по меньшей мере одним веб-ресурсом/службой 420 для генерирования ответов на пользовательские вводы (например, для нахождения/загрузки информации о погоде). В другом примере, диспетчер 308 событий может взаимодействовать с по меньшей мере одним веб-ресурсом/службой 420 для идентификации инициирующих событий (например, идентификации нового статуса друга пользователя через посредство по меньшей мере одного сайта социальной сети). В еще одном другом варианте осуществления, диспетчер 312 рекомендаций может взаимодействовать с по меньшей мере одним веб-ресурсом/службой 420 для генерирования одной или более диалоговых рекомендаций для пользователя (например, взаимодействуя с картографической службой для идентификации точек интереса, расположенных рядом с текущим положением пользователя).
На ФИГ. 5 показана высокоуровневая блок-схема другой иллюстративной системной среды 500, подходящей для практического осуществления настоящих технологий, для динамического генерирования диалоговых рекомендаций. В частности, в этом варианте осуществления, ЧИС 306, диспетчер 308 событий, диспетчер 312 рекомендаций и/или множество баз данных 310, 314, 316 могут находиться на одном или более сетевых серверах 510. Также должно быть очевидным, что эти модули могут работать на множестве сетевых серверов или в вычислительном облаке.
На ФИГ. 6 показана высокоуровневая блок-схема еще одной другой иллюстративной системной среды 600, подходящей для практического осуществления настоящих технологий. В частности, в этом варианте осуществления, ЧИС 306, диспетчер 308 событий, диспетчер 312 рекомендаций и, если требуется, множество баз данных 310, 314, 316 могут находиться в пользовательском устройстве 410.
Графический пользовательский интерфейс
На ФИГ. 7 показано схематичное изображение графического пользовательского интерфейса 700 с чатовыми функциями для пользовательского устройства 410, в соответствии с иллюстративным вариантом осуществления. Хотя пользовательское устройство 410 представляет собой смартфон в показанном примере, такой же или аналогичный графический пользовательский интерфейс 700 может быть предусмотрен для стационарного или портативного компьютера, планшетного компьютера или любого другого подходящего устройства. В показанном примере, пользовательское устройство 410 включает в себя сенсорный экран, на котором отображается пользовательский интерфейс 700. В иллюстративном варианте осуществления, пользовательский интерфейс 700 включает в себя панель (выходной блок) 702, где отображается аватар 704. Если необходимо, пользователь может выбрать другой аватар или составить его из различных элементов (например, выбрать одежду, глаза, прическу и т.д.). Если необходимо, может применяться множество панелей для множества тематических разделов. Пользовательский интерфейс 700 также включает в себя панель 706 для отображения сообщения (текста, изображения или видео), сгенерированного системой (т.е., ответ ЧИС). Пользовательский интерфейс 700 также может включать в себя панель 708 для отображения пользовательского ввода (например, распознанного звукового ввода или ручного текстового ввода). Пользовательский интерфейс 700 также включает в себя панель 710 для отображения одной или более диалоговых рекомендаций, сгенерированных диспетчером 312 рекомендаций. Диалоговые рекомендации могут представляться в виде текста, изображения, видео или их комбинации. Более того, диалоговые рекомендации могут отображаться в отдельных активируемых сообщениях (кнопках) или гиперссылках. Пользователь может иметь возможность щелкнуть или выбрать одну из отображаемых диалоговых рекомендаций, что было бы эквивалентным произносимым диалоговым рекомендациям. Также следует понимать, что пользователь может произносить диалоговые рекомендации, и ЧИС будет предоставлять соответствующий ответ.
В соответствии с определенными вариантами осуществления, пользователь может взаимодействовать с пользовательским интерфейсом 700 посредством осуществления контакта или посредством касания панелей. Пользовательский интерфейс 700 также может включать в себя одну или более кнопок 712 управления. Кнопки 712 управления могут использоваться для выбора или изменения конкретных настроек, характеристик отображения или управления другими опциями. Контакт может представлять собой жест, такой как, например, одно или более нажатий или одно или более смахиваний (слева направо, справа налево, вверх и/или вниз). Таким образом, пользователь может активировать или взаимодействовать с пользовательским интерфейсом 700 посредством выполнения сенсорных жестов (любых подходящих касаний или смахиваний).
В определенных вариантах осуществления, пользователь может активировать или взаимодействовать с пользовательским интерфейсом 700 посредством активации традиционных кнопок, имеющихся на пользовательском устройстве, (например, кнопки "главное меню" или клавишной панели). В еще других вариантах осуществления, пользователь может активировать или взаимодействовать с пользовательским интерфейсом 700 посредством задания голосовой или текстовой команды. В еще других вариантах осуществления, пользовательский интерфейс 700 может активироваться и представляться пользователю автоматически посредством внешней команды, например от удаленного сервера.
Иллюстративные способы работы
ФИГ. 8 представляет собой блок-схему последовательности процессов, показывающую способ 800 выдачи диалоговых рекомендаций в ЧИС, в соответствии с иллюстративным вариантом осуществления. Способ 800 может выполняться посредством логики обработки, которая может содержать аппаратные средства (например, логику принятия решений, специализированную логику, программируемую логику и микрокод), программное обеспечение (например, программное обеспечение, работающее на компьютерной системе общего назначения или специализированной машине), или комбинацию и того и другого. В одном иллюстративном варианте осуществления, логика обработки находится в ЧИС 306, диспетчере 308 событий и/или диспетчере 312 рекомендаций. Другими словами, способ 800 может выполняться различными компонентами, рассмотренными выше со ссылкой на ФИГ. 2-6.
Как показано на ФИГ. 8, способ 800 может начинаться на этапе 810, когда ЧИС 306 получает (звуковой) ввод на основе речи от пользователя. Пользовательский ввод может выполняться, например, через посредство микрофона пользовательского устройства 410. На этапе 820, ЧИС 306 распознает по меньшей мере часть пользовательского ввода и генерирует распознанный ввод.
На этапе 830, ЧИС 306 генерирует по меньшей мере один ответ на распознанный ввод и предоставляет его пользователю в виде сгенерированного машиной звукового сообщения и/или отображаемого текста, изображения или видео сообщения. Выходной рендерер 250 может использоваться для этих действий.
На этапе 840, диспетчер 308 событий может постоянно осуществлять мониторинг активности пользователя и/или данных окружающей среды (т.е. "внешних событий") и идентифицировать по меньшей мере одно инициирующее событие. Инициирующие события могут относиться к широкому диапазону различных активностей или событий, таких как заданные слова, фразы или предложения; заданные типы диалоговых контекстов пользователя с ЧИС; режимы работы, функции или особенности, никогда не использовавшиеся пользователем; режимы работы, функции или особенности, которые пользователь не использовал в течение заданного периода времени; заданные события, связанные с социальными сетями или блоговыми сайтами; запланированные события; нахождение в заданном географическом положении или области; наличие одного или более заданных сетевых (периферийных) устройств в пределах заданной области от пользователя; нахождение в пределах одной или более заданных беспроводных сетей; заданный контекст или характер взаимодействия пользователя с ЧИС; сходство с одним или более предварительно записанными или заданными контекстами или характерами взаимодействия пользователя с ЧИС, связанными с другими пользователями; и так далее. Диспетчер 308 событий может взаимодействовать с базой данных 310 инициирующих критериев, которая может хранить конкретные критерии или правила, необходимые для идентификации инициирующий событий.
На этапе 850, диспетчер 312 рекомендаций генерирует одну или более диалоговых рекомендаций на основе инициирующих событий, идентифицированных на этапе 840. Диалоговые рекомендации также могут относиться к широкому диапазону текстовых, графических, звуковых или видео сообщений, включая, например, рекомендации или предложения для пользователя касательно того, как продолжить или приступить к диалогу с ЧИС. В некоторых иллюстративных вариантах осуществления, диалоговые рекомендации могут включать, например, предположения касательно того, какие вопросы может задать пользователь, какие режимы работы или функции ЧИС пользователь может активировать, какую информацию пользователь может получить от ЧИС и так далее.
На этапе 860, диспетчер 312 рекомендаций или выходной рендерер 250 ЧИС 306 предоставляет одну или более диалоговых рекомендаций пользователю в виде активируемых сообщений на экране дисплея пользовательского устройства 410.
На этапе 870, пользователь может выбирать (щелкать) одну из показанных диалоговых рекомендаций, и, соответственно, ЧИС 306 может получать новый ввод, связанный с выбранной диалоговой рекомендацией. Так как этот ввод уже задан в машиночитаемом формате, нет необходимости выполнять распознавание речи этого ввода, и ЧИС 306 может приступать к его анализу, как рассмотрено выше.
На этапе 880, ЧИС 306 может генерировать второй ответ пользователю, и выходной рендерер 250 может отображать его и/или генерировать соответствующие звуковые выходные данные для пользователя. Второй ответ должен решать выбранную диалоговую рекомендацию.
В иллюстративном воплощении, пользователь может запланировать поездку из одного места в другое и может иметь эту информацию в его цифровом календаре, хранящемся в пользовательском устройстве 410. Как только пользователь приезжает в новое место, пользователь может использовать ЧИС 306 для того, чтобы узнать больше о том, где он может арендовать машину. ЧИС может обрабатывать этот пользовательский запрос, как описано выше, и предоставлять соответствующий ответ. Одновременно, диспетчер 308 событий может определять текущее положение пользователя и также что, в определенных аналогичных случаях взаимодействия пользователя с ЧИС, другие пользователи были заинтересованы узнать места хороших ресторанов. Соответственно, одно или более инициирующих событий могут определяться диспетчером 308 событий, которые затем используются диспетчером 312 рекомендаций для генерирования группы диалоговых рекомендаций для пользователя, как например: "Где рестораны в этом районе?", "Пожалуйста, проложи мне маршрут к ближайшему отелю", "Какие события будут сегодня в ночных клубах?" и так далее. Более того, пользователь может выбрать, например, диалоговую рекомендацию "Где рестораны в этом районе?", и ЧИС 306 может обращаться к приложению карты или любой другой подходящей веб-службе, чтобы показать ближайшие рестораны, сегодняшние специальные предложения, рекламу, направления и так далее. Следует понимать, что диспетчер 312 рекомендаций может интеллектуально генерировать диалоговые рекомендации на основе по меньшей мере профиля пользователя (например, который может храниться на веб-сайте социальной сети). В этом случае, диспетчер 312 рекомендаций может знать, например, возраст пользователя и решать, что может быть интересно для людей конкретной возрастной категории. Специалисты в данной области должны понимать, что множество различных критериев и правил может применяться для генерирования диалоговых рекомендаций.
В другом иллюстративном воплощении, пользователь может использовать ЧИС 306 для создания электронного письма, чтобы пригласить друзей на вечеринку. ЧИС может обрабатывать этот пользовательский запрос, как описано выше, и предоставлять соответствующий ответ посредством генерирования и отправки электронного письма. Одновременно, диспетчер 308 событий может определять инициирующее событие, которое относится к слову или действию, связанному с планированием событий. В этом отношении, диспетчер 312 рекомендаций может генерировать группу диалоговых рекомендаций для пользователя, например "Запланировать событие в моем календаре", "Пригласить моих друзей через веб-сайт социальной сети", "Где находятся магазины товаров для вечеринок" и так далее. Более того, пользователь может выбрать, например, диалоговую рекомендацию "Пригласить моих друзей через веб-сайт социальной сети", и ЧИС 306 может обращаться к API соответствующей веб-службы социальной сети, чтобы запланировать событие.
ФИГ. 9 представляет собой блок-схему последовательности процессов, показывающую способ 900 выдачи диалоговых рекомендаций в ЧИС, в соответствии с другим иллюстративным вариантом осуществления. Способ 900 может выполняться посредством логики обработки, которая может содержать аппаратные средства (например, логику принятия решений, специализированную логику, программируемую логику и микрокод), программное обеспечение (например, программное обеспечение, работающее на компьютерной системе общего назначения или специализированной машине), или комбинацию и того и другого. В одном иллюстративном варианте осуществления, логика обработки находится в ЧИС 306, диспетчере 308 событий и/или диспетчере 312 рекомендаций. Другими словами, способ 900 может выполняться различными компонентами, рассмотренными выше со ссылкой на ФИГ. 2-6.
Как показано на ФИГ. 9, способ 900 может начинаться на этапе 910, когда ЧИС 306 получает ввод на основе речи от пользователя. На этапе 920, ЧИС 306 распознает по меньшей мере часть пользовательского ввода и генерирует распознанный ввод. На этапе 930, ЧИС 306 генерирует по меньшей мере один ответ на распознанный ввод и предоставляет его пользователю в виде сгенерированного машиной звукового сообщения и/или отображаемого текста, изображения или видео сообщения. На этапе 940, диспетчер 308 событий может идентифицировать по меньшей мере одно инициирующее событие. На этапе 950, диспетчер 312 рекомендаций генерирует одну или более диалоговых рекомендаций на основе инициирующих событий, идентифицированных на этапе 940. На этапе 960, диспетчер 312 рекомендаций или выходной рендерер 250 ЧИС 306 предоставляет одну или более диалоговых рекомендаций пользователю в виде отображаемых сообщений на экране дисплея пользовательского устройства 410. На этапе 970, пользователь произносит по меньшей мере одну из диалоговых рекомендаций, и, соответственно, ЧИС 306 может получать новый связанный ввод на основе речи. На этапе 980, ЧИС 306 может обрабатывать новый ввод на основе речи (т.е., выполнять распознавание речи, как рассмотрено выше), создавать соответствующий распознанный ввод и генерировать второй ответ для пользователя и предоставлять его пользователю, как рассмотрено выше.
Иллюстративная вычислительная среда
На ФИГ. 10 показано схематичное изображение вычислительного устройства для машины в иллюстративной электронной форме компьютерной системы 1000, в которой может выполняться набор команд для побуждения машины осуществлять любую одну или более методологий, рассмотренных здесь. В различных иллюстративных вариантах осуществления, машина работает в качестве автономного устройства или может быть соединена (например, по сети) с другими машинами. При сетевом размещении, машина может работать в качестве сервера или клиентской машины в сетевой среде сервер-клиент, или в качестве пиринговой машины в пиринговой (или распределенной) сетевой среде. Машина может представлять собой персональный компьютер (ПК), планшетный ПК, телевизионную приставку (STB), персональный цифровой помощник, сотовый телефон, портативный музыкальный плеер (например, портативное аудиоустройство с жестким диском, например (МРЗ) плеер аудиокодека 3-го уровня, разработанного группой Moving Picture Experts Group), игровой планшет, портативную игровую консоль, автомобильный компьютер, компьютер для умного дома или любую машину, способную выполнять набор команд (последовательно или иным образом), которые задают действия, подлежащие выполнению этой машиной. Более того, хотя только одна машина показана, также термин "машина" следует рассматривать включающим любую совокупность машин, которые по отдельности или совместно выполняют набор (или множество наборов) команд для осуществления любой одной или более методологий, рассмотренных здесь.
Иллюстративная компьютерная система 1000 включает в себя процессор или множество процессоров 1005 (например, центральный процессорный блок (CPU), графический процессорный блок (GPU) или и то и другое), и оперативную память 1010 и статическую память 1015, которые взаимодействуют друг с другом посредством шины 1020. Компьютерная система 1000 может дополнительно включать в себя устройство 1025 визуального отображения (например, жидкокристаллический дисплей (LCD) или катодно-лучевую трубку (CRT)). Компьютерная система 1000 также включает в себя по меньшей мере одно устройство 1030 ввода, например алфавитно-цифровое устройство ввода (например, клавиатуру), устройство управления курсором (например, мышку), микрофон, цифровую камеру, видеокамеру и так далее. Компьютерная система 1000 также включает в себя дисковый накопительный блок 1035, устройство 1040 генерирования сигнала, (например, динамик) и сетевое интерфейсное устройство 1045.
Дисковый накопительный блок 1035 включает в себя машиночитаемый носитель 1050, который хранит один или более наборов команд и структуры данных (например, команды 1055), воплощающих или использующихся любой одной или более методологиями или функциями, описанными здесь. Команды 1055 также могут находиться, полностью или по меньшей мере частично, в оперативной памяти 1010 и/или в процессорах 1005 во время их выполнения компьютерной системой 1000. Оперативная память 1010 и процессоры 1005 также составляют машиночитаемый носитель.
Команды 1055 дополнительно могут передаваться или приниматься по сети 430 через посредство сетевого интерфейсного устройства 1045, используя любой один из нескольких общеизвестных протоколов передачи (например, протокол передачи гипертекста (HTTP), CAN, Serial и Modbus).
Хотя машиночитаемый носитель 1050 показан в иллюстративном варианте осуществления в виде одного носителя, термин "машиночитаемый носитель" следует рассматривать включающим один носитель или множество носителей (например, централизованную или распределенную базу данных, и/или связанные кэши и серверы), которые хранят один или более наборов команд. Термин "машиночитаемый носитель" также следует рассматривать включающим любой носитель, который способен хранить, кодировать или передавать набор команд для выполнения машиной и который побуждает машину осуществлять любую одну или более методологий настоящей заявки, или который способен хранить, кодировать или передавать структуры данных, использующиеся или связанные с таким набором команд. Термин "машиночитаемый носитель", соответственно, следует рассматривать включающим, но не ограничиваясь этим, полупроводниковые памяти, оптические и магнитные носители. Такие носители также могут включать, без ограничения, жесткие диски, флоппи-диски, карты флэш-памяти, цифровые видео-диски (DVD), оперативное запоминающее устройство (ОЗУ), постоянное запоминающее устройство (ПЗУ) и тому подобное.
Иллюстративные варианты осуществления, описанные здесь, могут воплощаться в операционной среде, содержащей выполняемые компьютером команды (например, программное обеспечение), установленной на компьютер, в аппаратных средствах, или в комбинации программного обеспечения и аппаратных средств. Выполняемые компьютером команды могут быть написаны на компьютерном языке программирования или могут воплощаться в аппаратной логике. Если написаны на языке программирования в соответствии с признанным стандартом, такие команды могут выполняться на множестве аппаратных платформ и для интерфейсов для множества операционных систем. Хотя не ограничиваясь этим, компьютерные программы системы программного обеспечения для воплощения настоящего способа могут быть написаны на любом количестве подходящих языков программирования, таких как, например, язык гипертекстовой разметки (HTML), динамический HTML, расширяемый язык разметки (XML), расширяемый язык таблиц стилей (XSL), язык семантики стиля и спецификаций документов (DSSSL), каскадные таблицы стилей (CSS), язык интеграции синхронизированных мультимедийных данных (SMIL), язык разметки документов для беспроводной связи (WML), JavaTM, JiniTM, С, С++, Perl, UNIX Shell, Visual Basic или Visual Basic Script, язык разметки событий виртуальной реальности (VRML), ColdFusionTM или другие компиляторы, ассемблеры, интерпретаторы или другие компьютерные языки или платформы.
Таким образом, раскрыты способы и системы для динамичного и интеллектуального генерирования диалоговых рекомендаций. Хотя варианты осуществления были описаны со ссылкой на конкретные иллюстративные варианты осуществления, будет очевидным, что различные модификации и изменения могут выполняться относительно этих иллюстративных вариантов осуществления, не отступая от более широких идеи и объема настоящей заявки. Соответственно, описание изобретения и чертежи следует рассматривать скорее в иллюстративном, нежели чем ограничительном смысле.