Код документа: RU2345404C2
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
Делались различные попытки для того, чтобы разрешить взаимодействие с компьютером на основе естественного языка/речи. До настоящего времени результаты таких попыток были ограничены. Это является следствием сочетания несовершенств технологий, отсутствию инфраструктуры для не меняющих основного режима работы программ микрофонов, высоких стоимостей (систем) авторской разработки, укоренившегося поведения заказчиков и наличия конкурента в форме ГПИ (Графического пользовательского интерфейса, ГПИ, GUI), который предлагает высокую цену (или имеет высокую значимость) для многих задач. Настоящее изобретение направлено на два из этих ограничений, на более тесную интеграцию с ГПИ и на сокращенное создание авторских работ.
Графический пользовательский интерфейс (ГПИ) является широко используемым средством интерфейса. ГПИ очень хорошо подходят для задач позиционирования (например, при изменении размеров прямоугольника), задач визуального редактора (например, делая что либо не описываемым оттенком синего) или задач выбора (например, «это есть то конкретное изображение из сотни изображений, которое желательно иметь повернутым»). ГПИ также подходит для быстрого доступа к функциональным возможностям, к которым осуществляют одношаговый доступ. ГПИ приложений является полезным набором инструментальных средств, который сформирован с точки зрения функциональности (например, сформирован в виде меню, инструментальных панелей и т.д.), нежели с точки зрения, ориентированной на задачи (например, сформирован относящимися к более высокому уровню задачами, которые пользователи желают осуществить, например, «сделать мой компьютер безопасным от взломщиков»).
Однако ГПИ также представляют много проблем пользователю. При использовании аналогий, или метафор, набора инструментальных средств пользователь имеет трудности в поиске инструментальных средств в наборе или в понимании того, как использовать инструментальные средства для выполнения задачи. Интерфейс, описываемый одиночными словами, миниатюрными кнопками и вкладками, погруженными в непрозрачную иерархию, не приспособлен для способа, используемого людьми при размышлении о своих задачах. ГПИ требует от пользователя разбиения задач на составные части для того, чтобы определить, какие элементы необходимы для выполнения задачи. Такое требование ведет к сложности. Помимо вопроса сложности, необходимо время на то, чтобы собирать элементы ГПИ (то есть щелчки по меню, щелчки по элементам диалогового окна и т.п.). Это может быть неэффективным и требует времени даже для высококвалифицированных пользователей.
Одним существующим механизмом (средством) для обращения к проблемам ГПИ является записанная справочная методика (процедура). Справочные процедуры часто принимают форму документов Справки, или Справочной системы, статей БЗ (БЗ, KB) (База Знаний) ССПП (ССПП, PSS) (Служба сопровождения программных продуктов), и сообщений группы новостей, которые «заполняют промежуток» между потребностями заказчика и проблемами ГПИ. Они аналогичны руководству (по использованию), которое поступает вместе с набором инструментальных средств, и имеют много преимуществ. Такие преимущества включают в себя, в качестве примера:
1) они просты для разработчика, или автора, даже для нетехнических авторов,
2) они просты для обновления на сервере, так что присоединенные пользователи имеют простой доступ к новому содержимому, и
3) они обучают пользователей, погрузившихся в ГПИ, управлению решением проблем.
Тем не менее, документы Справочной системы, статьи БЗ ССПП и группы новостей имеют ряд своих собственных проблем. Такие проблемы включают в себя, в качестве примера.
1) Сложные задачи требуют значительной доли обработки в пользовательской части. Пользователь вынужден соотносить с ГПИ то, что указано на каждом этапе задачи.
2) Средства выявления неисправностей и даже методический справочный документ часто включают в себя информацию о состоянии, которая создает сложные ветвления внутри тематического раздела справки, делая тематические разделы длинными и трудными для чтения и обработки пользователем. Инструментальные панели могут отсутствовать и могут требовать активизации прежде, чем можно выполнять следующий этап задачи. Средства выявления неисправностей часто задают вопросы о состоянии, которые в лучшем случае расстраивают (поскольку средству выявления неисправностей следовало бы быть способным найти ответ самостоятельно) и в худшем случае являются вопросами, на которые не специалисты не отвечают.
3) Существуют миллионы документов, и поиск ответов вовлекает в себя как проблему - откуда начинать поиск, так и проблему - как затем выбрать наилучший результат поиска из тысяч возвращенных результатов.
4) Не существует совместно используемой структуры (систем) авторских разработок. Сообщения группы новостей, статьи БЗ, средства выявления неисправностей, и методические документы Справочной системы - все они имеют различные структуры и стратегии авторской разработки, несмотря на то, что все они решают сходные проблемы.
Другим существующим механизмом, направленным на проблемы ГПИ, является средство оперативного создания, или «Мастер». «Мастера» были созданы для решения проблем, связанных со слабыми местами ГПИ и записанных справочных методик. Теперь существуют тысячи «мастеров», и эти «мастера» могут быть найдены почти в каждом произведенном программном продукте. Это происходит потому, что «мастера» разрешают реальную потребность, на решение которой в настоящее время не обращены существующие, основанные на тексте справочная система и помощь (пользователю). Они дают возможность пользователям осуществлять доступ к функциональным возможностям, или функциональности, посредством способа, ориентированного на задачу, и могут собирать ГПИ или инструментальные средства автоматически. «Мастера» предоставляет менеджеру программ и разработчику средства для обращения к задачам заказчика. Они подобны специализированному средству из набора, проводящему пользователя через необходимые этапы для успешного решения задачи. Некоторые «мастера» помогают заказчикам устанавливать систему (например, «мастера» установок), некоторые «мастера» включают в себя содержимое вместе с функциональными возможностями и помогают заказчикам создавать содержимое (например, «мастер» информационного бюллетеня или «Мастер АвтоСодержимого» из приложения для подготовки презентаций PowerPoint), и некоторые «мастера» помогают заказчикам диагностировать и решать проблемы (например, средства выявления неисправностей).
«Мастера» обеспечивают много преимуществ пользователю. Некоторые из преимуществ «мастеров» следующие.
1) «Мастера» воплощают понятие «задача». Обычно пользователю ясно, что «мастер» помогает им выполнять. С помощью поэтапных страниц пользователю легко осуществлять выбор(ы) и в случае хорошо спроектированных «мастеров» степень визуального «переполнения» (пользователя) часто уменьшена.
2) «Мастера» автоматически собирают и взаимодействуют с лежащими ниже, или базовыми, функциональными возможностями программного обеспечения и включают в себя информацию или экспертные знания, которые необходимы заказчику, чтобы делать выборы. Это экономит время пользователя при исполнении задачи.
3) «Мастера» автоматически генерируют содержимое и могут экономить время пользователей посредством создания текста и проектирования макета (содержимого).
4) «Мастера» являются также хорошими средствами, чтобы задавать вопросы, получать ответы и осуществлять ветвления к наиболее подходящему следующему вопросу или функциональности.
Однако «мастера» также имеют ряд своих собственных проблем. Некоторые из проблем «мастеров» приведены в качестве примера.
1) Существует намного больше задач, которые люди пытаются выполнять, чем имеется «мастеров» для их выполнения.
2) «Мастера» и побуждающие, или Индуктивные пользовательские интерфейсы (ИПИ, IUI) не обучают заказчиков тому, как использовать лежащий ниже, или базовый, ГПИ и часто, когда «Мастер» завершает работу, пользователи не уверены в том, куда осуществлять переход далее.
3) Стоимость авторских разработок «мастеров» еще является высокой и для создания «Мастера» необходимо наличие персонала с техническими специальными знаниями (например, разработчиков программного обеспечения).
КРАТКОЕ ОПИСАНИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ
Настоящее изобретение относится к решению некоторых проблем «Мастеров», Справочной системы, статей Базы Знаний и средств выявления неисправностей, обеспечивая простой способ для того, чтобы создавать тысячи задач (или «Мастеров»), и либо объединять в одно целое и обучать пользователя работе с ГПИ, либо исполнять задачу от имени пользователя.
Настоящее изобретение может быть реализовано с включением в его состав целого ряда функциональных возможностей. В одном варианте осуществления Пользовательский интерфейс в соответствии с изобретением «проводит» заказчиков через серию элементарных этапов, или действий, для выполнения задачи. Пользовательский интерфейс может быть установлен на верхнем уровне относительно существующего пользовательского интерфейса (ПИ, UI) и взаимодействовать с ним. Пользовательский интерфейс может включать в себя «кнопки» инструментальной панели для быстрого свободного доступа к общим командам, систему меню для настройки свойств, и даже оконный объект, который объединяет некоторые функциональные возможности (например, диалоговое окно). Представление "задач" разделяют на уровни на таком пользовательском интерфейсе (или «инструментальной панели») таким способом, который помогает пользователям быстро собирать инструментальные средства либо автоматической сборкой инструментальных средств для выполнения задачи пользователя, либо обучением пользователя тому, как сделать это. Решение о том, когда автоматически выполнять задачу и когда обучать, может быть тесно связано с запросом от пользователя, например, набран ли запрос в виде текста или произнесен (текстовый или речевой запрос), с типом задачи, с уровнем экспертных знаний пользователя, с типом личности пользователя, с тем, имеет ли пользователь нетрудоспособности (как например, пользователь с ТПС (травма повторяющегося стресса), и с частотой использования данного программного средства и задачи.
Перенесение разработки задач или «мастеров» от разработчика к не техническому персоналу требует абстрагирования от лежащей ниже (или базовой) объектной модели. Поэтому в соответствии с другим вариантом осуществления настоящее изобретение обеспечивает схему для подсоединения к существующему ГПИ.
В одном примере архитектура согласно настоящему изобретению использует технологию автоматизации ГПИ для подсоединения к ГПИ. Примерами модулей автоматизации ГПИ являются модули осуществления доступа, которые поставляют с доступным в настоящее время программным обеспечением операционных систем, как например, Microsoft Active Accessibility (Активный Доступ Microsoft») корпорации Microsoft, Redmond, Washington. Также сценарий, используемый настоящим изобретением, может быть хранимым в формате таком, как РЯР (РЯР, XML), который легко понимаем не техническими пользователями.
Процентный состав Справочной системы, статей БЗ и сообщений группы новостей требуют большей информации о программном обеспечении и состоянии системы прежде, чем предлагать решение данной проблемы, или прежде, чем указывать, как выполнять требуемую задачу. В прошлом такую проверку состояния часто оставляли пользователю. Например, иллюстративной проверкой состояния является «если Вы подсоединены к сети, то делайте это...» или «если у Вас есть совместно используемый принтер, то делайте это...». Архитектура согласно одному варианту осуществления настоящего изобретения дает возможность авторам указывать такие условия ветвления на основании состояния пользователя/программного обеспечения/машины. Во время исполнения интерпретатор в соответствии с настоящим изобретением определяет эти условия состояний автоматически и принимает соответствующие решения так, как указано автором.
Основными компонентами платформы МАС (Мастер активного содержимого, Acw) являются сценарии МАС, инструментальные средства авторской разработки (МАС), интерпретатор МАС и система обратной связи МАС.
В соответствии с одним вариантом осуществления сценарии являются структурированным представлением «мастера», который реализует функциональные возможности настоящего изобретения. Такое представление может содержать информацию, которую использует интерпретатор для того, чтобы исполнить инструкции, а также описания на естественном языке различных этапов задачи, подлежащей выполнению. В файле сценария могут быть различные типы инструкций. Некоторые инструкции исполняют поверх (на фоне) ГПИ, некоторые инструкции предназначены для проверки состояния пользователя/машины, и некоторые - для ведения диалога с пользователем. В одном варианте осуществления сценария языком, используемым для представления сценария, является XML.
Инструментальными средствами авторской разработки в соответствии с одним вариантом осуществления являются инструментальные средства, которые пользователи/авторы системы применяют для разработки сценариев. Они включают в себя инструментальные средства, предназначенные для импорта существующего содержимого Справочной системы/статей БЗ/группы новостей в сценарии, а также простые инструментальные средства авторской разработки, предназначенные для создания новых сценариев.
Несмотря на то, что инструментальные средства авторской разработки не составляют часть настоящего изобретения, они кратко описаны для полноты. Одним примером инструментального средства авторской разработки является инструментальное средство, которое управляет действиями, выполняемыми автором на компьютере, и по ним генерирует сценарий. Например, для того, чтобы создать сценарий «Как в системе Windows изменить вашу переменную пути», автор нажимает кнопку «Start recording» («Начало записывания») на инструментальном средстве, затем пользователь осуществляет щелчок по кнопкам «Start» («Начало»), затем «Control Panel» («Панель управления»), затем «system» («система»), затем по вкладке «Advanced» («Расширенная»). Затем пользователь осуществляет щелчок по (кнопкам) «Environment variables» («Переменные окружения»), выбирает «Path» («Путь»), и затем осуществляет щелчок по кнопке «Редактировать» («Edit»). В этой точке конечный пользователь должен записать свои изменения. Поэтому автор изменяет режим инструментального средства на «User choice» («Пользовательский выбор») и продолжает, чтобы завершить задачу. При завершении пользователь осуществляет щелчок по кнопке «Stop recording» («Остановить записывание») инструментального средства авторской разработки. Затем инструментальное средство авторской разработки генерирует сценарий, который подробно описывает эту задачу. Сценарий содержит описание задачи на естественном языке таком, как английский, а также информацию, которая необходима интерпретатору либо для обучения пользователя тому, как выполнять эту задачу, либо как делать это для него. Кроме того, инструментальное средство позволяет автору редактировать описание, реализованное на естественном языке.
В соответствии с одним вариантом осуществления модуль интерпретатора исполняет инструкции из файла сценария. Интерпретатор может поддержать множественные режимы исполнения, подобные исполнению инструкций от имени пользователя, или проведению пользователя через множество инструкций. Дополнительно интерпретатор может быть управляем посредством любой модальности ввода данных такой, как клавиатура, мышь/речь и т.п. Интерпретатор может включать в себя несколько модулей, и является расширяемым (т.е. к нему могут быть добавлены модули для новой функциональности). Одним примером модуля в составе интерпретатора является модуль автоматизации ГПИ. Такой модуль может исполнять команды поверх ГПИ. Другим примером является модуль, который может выполнять инструкции от (поверх) «Системного реестра». Также могут быть использованы другие модули.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг.1 - блок-схема одной иллюстративной среды, в которой может быть использовано настоящее изобретение.
Фиг.2 - блок-схема одного варианта осуществления настоящего изобретения, иллюстрирующая естественно-языковый пользовательский интерфейс с использованием платформы МАС.
Фиг.3 - блок-схема, иллюстрирующая интерпретатор МАС в соответствии с одним вариантом осуществления настоящего изобретения.
Фиг.4 - структурная схема, иллюстрирующая исполнение выбранной задачи в соответствии с одним вариантом осуществления настоящего изобретения.
Фиг.5A-5J - последовательность моментальных «снимков» экранов, иллюстрирующая исполнение Интерпретатором МАС конкретного сценария МАС.
Фиг.6 - структурная схема, иллюстрирующая создание сценария МАС.
ПОДРОБНОЕ ОПИСАНИЕ ИЛЛЮСТРАТИВНЫХ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
На Фиг.1 иллюстрирован пример соответствующей среды 100 вычислительной системы, в которой может быть реализовано настоящее изобретение. Среда 100 вычислительной системы является только одним примером подходящей вычислительной среды и не подразумевает наложения какого-либо ограничения как на объем использования, так и на функциональные возможности изобретения. Вычислительную среду 100 не следует интерпретировать как имеющую какую-либо зависимость или требование, относящиеся к какому-либо одному или к комбинации компонентов, показанных в иллюстративной операционной среде 100.
Изобретение является действующим со многими другими средами вычислительных систем общего или специального назначения или со структурами. Примерами хорошо известных вычислительных систем, сред и/или структур, которые могут быть пригодными для использования совместно с изобретением, являются, но не ограничиваясь только перечисленными, персональные компьютеры, серверные компьютеры, ручные или портативные устройства, многопроцессорные системы, системы на основе микропроцессоров, телеприставки (декодеры каналов кабельного телевидения), программируемые устройства бытовой электроники, сетевые ПК (ПК, РС), миникомпьютеры, большие ЭВМ (мейнфреймы), распределенные вычислительные среды, которые включают в себя любые из вышеуказанных систем или устройств, и подобное.
Изобретение может быть описано в общем контексте исполняемых компьютером инструкций таких, как программные модули, исполняемые компьютером.
Обычно программные модули включают в себя подпрограммы или процедуры, программы, объекты, компоненты, структуры данных и т.д., которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Настоящее изобретение может быть также осуществлено в распределенных вычислительных средах, в которых задачи выполняют посредством удаленных устройств обработки, связанных через сеть передачи данных. В распределенной вычислительной среде программные модули могут быть расположены в средах хранения информации как локального, так и удаленного компьютера, и включающих в себя запоминающие устройства для хранения информации.
Что касается Фиг.1, то иллюстративная система для реализации изобретения включает в себя вычислительное устройство общего назначения в виде компьютера 110. Компоненты компьютера 110 могут включать в себя, но не ограничиваясь перечисленным, блок 120 обработки, системное запоминающее устройство 130, и системную шину 121, которая соединяет различные системные компоненты, включая системное запоминающее устройство, с блоком 120 обработки. Системная шина 121 может быть любым типом из нескольких типов шинных структур, включающих в себя шину запоминающего устройства или контроллер запоминающего устройства, периферийную шину и локальную шину, использующих любую из множества шинных архитектур. В качестве примера, а не ограничения, такие архитектуры включают в состав Промышленную стандартную архитектуру (ПСА, ISA) шины, Микроканальную архитектуру (МКА, MCA) шины, Расширенную ПСА (РПСА, EISA) шины, локальную шину Ассоциации по стандартам видеооборудования (АСВО, VESA), и шину Межсоединения периферийных компонентов (МПК, PCI), также известную как мезонинную шину.
Компьютер 110 обычно включает в себя разнообразие считываемых компьютером носителей. Считываемые компьютером носители могут быть любыми имеющимися носителями, к которым может осуществлять доступ компьютер 110, и которые включают в себя как энергозависимые, так и энергонезависимые носители, сменяемые и несменяемые носители. В качестве примера, а не ограничения, считываемые компьютером носители могут содержать среды хранения информации компьютера и среды передачи данных. Среды хранения информации компьютера включают в себя как энергозависимые, так и энергонезависимые среды, сменяемые и несменяемые среды, реализованные любым способом или технологией хранения информации, такими как считываемые компьютером инструкции, структуры данных, программные модули или другие данные. Среды хранения информации компьютера включают в себя, не ограничиваясь перечисленным, ОЗУ (RAM), ПЗУ (ROM), ЭСППЗУ (EEPROM), память с групповой перезаписью (флэш-память) или другую технологию для запоминающих устройств, ПЗУ на компакт-диске (CD-ROM), цифровые универсальные диски (ЦУД, DVD) или другое хранилище на оптическом диске, магнитные кассеты, магнитную ленту, хранилище на магнитном диске или другие запоминающие устройства на магнитных носителях, или любой другой носитель, который может быть использован для хранения требуемой информации, и к которому может осуществлять доступ компьютер 110. Среда передачи данных обычно заключает в себе считываемые компьютером инструкции, структуры данных, программные модули или другие данные в модулированном сигнале данных таком, как несущая или другой транспортный механизм, и включает в себя любую среду доставки информации. Термин «модулированный сигнал данных» означает сигнал, у которого есть одна или более характеристик, устанавливаемых или изменяемых таким образом, чтобы в сигнале закодировать информацию. В качестве примера, а не ограничения, среда передачи данных включает в себя проводную среду, такую как проводная сеть или соединение непосредственно проводами, и беспроводную среду такую, как акустическая, РЧ (RF), инфракрасное излучение и другие беспроводные среды. Комбинации любых из вышеуказанных следует также включать в рамки считываемых компьютером носителей.
Системное запоминающее устройство 130 включает в себя среды хранения информации компьютера в виде энергозависимого и/или энергонезависимого запоминающего устройства такого, как постоянное запоминающее устройство (ПЗУ, ROM) 131, запоминающее устройство с произвольной выборкой (ОЗУ, RAM) 132. Базовую систему 133 ввода-вывода (БСВВ, BIOS), содержащую базовые процедуры, которые помогают передавать информацию между элементами внутри компьютера 110, как например, при запуске, обычно хранят в ПЗУ 131. ОЗУ 132 обычно содержит данные и/или программные модули, которые являются непосредственно доступными для блока обработки 120 и/или обрабатываемыми им в настоящий момент. В качестве примера, а не ограничения, на Фиг.1 проиллюстрирована операционная система 134, прикладные программы 135, другие программные модули 136 и программные данные 137.
Компьютер 110 может также включать в себя другие сменяемые/несменяемые энергозависимые/энергонезависимые среды хранения информации компьютера. В качестве лишь примера на Фиг.1 проиллюстрирован накопитель 141 на жестком диске, который осуществляет чтение с несменяемых, энергонезависимых магнитных носителей или запись на них, накопитель 151 на магнитном диске, который осуществляет чтение со сменяемого энергонезависимого магнитного диска 152 или запись на него, и накопитель 155 на оптическом диске, который осуществляет чтение со сменяемого энергонезависимого оптического диска 156 или запись на такой диск, как например, компакт-диск ПЗУ или другие оптические носители. Другие сменяемые/несменяемые, энергозависимые/энергонезависимые среды хранения информации компьютера, которые могут быть использованы в иллюстративной операционной среде, включают в себя, не ограничиваясь перечисленным, кассеты магнитной ленты, карты флэш-памяти, цифровые универсальные диски, цифровую видеоленту, твердотельное ОЗУ, твердотельное ПЗУ, и подобное. Накопитель 141 на жестком диске обычно соединен с системной шиной 121 через интерфейс несменяемого запоминающего устройства такой, как интерфейс 140, и накопитель 151 на магнитном диске и накопитель 155 на оптическом диске обычно соединены с системной шиной 121 посредством интерфейса сменяемого запоминающего устройства такого, как интерфейс 150. Накопители и ассоциированные с ними среды хранения информации компьютера, обсуждаемые выше и проиллюстрированные на Фиг.1, обеспечивают хранилище для считываемых компьютером инструкций, структур данных, программных модулей и других данных (для) компьютера 110. На Фиг.1, например, накопитель 141 на жестком диске проиллюстрирован в качестве хранящего операционную систему 144, прикладные программы 145, другие программные модули 146 и программные данные 147. Имеют в виду, что эти компоненты могут быть либо теми же, либо отличными от операционной системы 134, прикладных программ 135, других программных модулей 136 и программных данных 137. Операционная система 144, прикладные программы 145, другие программные модули 146 и программные данные 147 получили при этом отличающиеся номера, чтобы проиллюстрировать, что как минимум, они являются различными копиями.
Пользователь может вводить команды и информацию в компьютер 110 через устройства ввода такие, как клавиатура 162, микрофон 163 и координатно-указательное устройство 161 такое, как манипулятор для управления курсором, или мышь, шаровой манипулятор или сенсорную клавиатуру. Другие устройства ввода (не показаны) могут включать в себя координатную ручку или джойстик, игровую панель, спутниковую антенну, сканирующее устройство или подобное. Эти и другие устройства ввода часто соединены с блоком 120 обработки через пользовательский входной интерфейс 160, который связан с системной шиной, но может быть соединен с другим интерфейсом и шинными структурами такими, как параллельный порт, игровой порт или универсальная последовательная шина (УПШ, USB). Монитор 191 или другой тип устройства отображения также соединен с системной шиной 121 через интерфейс, такой как видеоинтерфейс 190. В дополнение к монитору компьютеры могут также включать в себя другие периферийные выходные устройства, такие как громкоговорители 197 и печатающее устройство 196, которые могут быть подсоединены через выходной интерфейс 195 периферийных устройств.
Компьютер 110 может действовать в среде сетевой структуры с использованием логических соединений с одним или более удаленным компьютером, таким как удаленный компьютер 180. Удаленный компьютер 180 может быть персональным компьютером, портативным устройством, сервером, маршрутизатором, сетевым ПК, одноранговым устройством или другим узлом общей сети, и обычно включает в себя многие или все элементы, описанные выше относительно компьютера 110. Логические соединения, изображенные на Фиг.1, включают в себя локальную вычислительную сеть (ЛВС, LAN) 171 и глобальную вычислительную сеть (ГВС, WAN) 173, но могут также включать в себя другие сети. Такие среды объединения сетей являются обычными в офисах, вычислительных сетях масштаба предприятия, внутрикорпоративной локальной сети (интранет) и Интернет.
При использовании в сетевой среде ЛВС компьютер 110 подсоединен к ЛВС 171 через сетевой интерфейс или адаптер 170. При использовании в сетевой среде ГВС компьютер 110 обычно включает в себя модем (или модулятор-демодулятор) 172 или другие средства для установления связи по сети ГВС 173, такой как Интернет. Модем 172, который может быть внутренним или внешним, может быть подсоединен к системной шине 121 через пользовательский входной интерфейс 160 или другое соответствующее средство. В среде с сетевой структурой программные модули, изображенные для компьютера 110 или его блоков, могут быть хранимы на удаленном запоминающем устройстве хранения информации. В качестве примера, а не ограничения, на Фиг.1 проиллюстрированы программы 185 удаленных приложений в качестве постоянно хранимых на удаленном компьютере 180. Будет оценено, что показанные сетевые соединения являются иллюстративными, и могут быть использованы другие средства установления линии связи между компьютерами.
На Фиг.2 показана блок-схема модуля естественно-языкового пользовательского интерфейса или системы 200, которая использует один вариант осуществления настоящего изобретения. Естественно-языковый пользовательский интерфейс 200 состоит из трех компонентов. Эти компоненты включают в себя модуль 210 прогнозирования задачи, базу данных 220 задачи и Интерпретатор 230 «мастера» активного содержимого (МАС). Естественно-языковый пользовательский интерфейс 200 принимает также входную пользовательскую команду или запрос 206 от пользователя и выдает выходные данные 250. Запрос представляет задачу, которую требует выполнить пользователь. Входной командой 206 в одном варианте осуществления являются входные данные на естественном языке. Однако другие входные данные могут быть использованы для входной команды 206, такие как логические входные данные, полоса прокрутки изображения, перечень слов или речевые входные данные.
Модуль 210 прогнозирования задачи выполнен с возможностью определения задачи, ассоциируемой с введенной пользовательской командой 206. В одном варианте осуществления модуль 210 прогнозирования задачи для того, чтобы найти соответствия команде пользователя 206, использует существующий модуль поиска справки для поиска в базе данных 220 задач. Модуль 210 прогнозирования задачи принимает входную пользовательскую команду 206 и преобразует и/или обрабатывает входную пользовательскую команду 206 в формат, который дает возможность поиска в базе данных 220 задач. Модуль 210 затем исполняет поиск по базе данных 220 задач для получения информации, связанной с задачей, представленной командой 206.
После поиска модуль 210 прогнозирования задачи принимает результаты поиска от базы данных 220 задач и через соответствующий интерфейс 221 выдает один или более документов задачи из базы данных 220, которые, вероятно, соответствуют пользовательскому запросу 206. В одном варианте осуществления модуль 210 просто выбирает один из документов задачи в качестве выбранной задачи. В другом варианте осуществления пользователь посредством интерфейса 221 может выбирать один из таких документов в качестве выбранного документа. Затем модуль 210 прогнозирования задачи возвращает Интерпретатору 230 МАС такой сценарий мастера (МАС) активного содержимого, который соответствует выбранной задаче. Следует отметить, что модуль 210 прогнозирования задачи был описан как обычный компонент информационного поиска. Однако могут быть использованы другие способы для определения требуемой задачи, представляемой пользовательской командой 206. В качестве примера могут быть приведены любые другие хорошо известные способы информационного поиска, такие как сопоставление с образцом или со словом (текстом), контекстно-независимые грамматики (КНГ, CFG) для поддержки речи, или другие классификаторы, как например, машины поддержки обработки векторных данных и упрощенные Байесовские сети.
На Фиг.3 приведена блок-схема, иллюстрирующая Интерпретатор 230 МАС, проиллюстрированный на Фиг.2. Интерпретатор 230 МАС включает в себя Диалоговый модуль 320, модуль 330 Системного реестра (Регистрации) и модуль 340 Автоматизации ГПИ. Каждый модуль способен выполнять конкретный тип этапов, подробно описанных в сценарии 211 МАС, поставляемому Интерпретатору 230 МАС. Однако Интерпретатор 230 МАС может быть изменен для того, чтобы содержать дополнительные модули или также другие модули, и может быть периодически обновляем новыми или другими модулями. В качестве примера один вариант осуществления модуля 340 Автоматизации ГПИ реализован с использованием Microsoft Windows UI Automation (Автоматизация пользовательского интерфейса Microsoft Windows).
Интерпретатор 230 МАС является компьютерной программой, выполненной с возможностью исполнения элементарных этапов, или действий, для задачи, выбранной пользователем. В одном варианте осуществления интерпретатор 230 МАС содержит модуль Автоматизации ГПИ, реализованный с использованием Microsoft User Interface Automation (Автоматизации пользовательского интерфейса Microsoft) также корпорацией Microsoft Corporation. Этот модуль имитирует действия пользователя по вводу данных, такие как отжимания (отжатия) клавиш клавиатуры, щелчки по кнопке манипулятора «мышь», вращения колесика «мыши» и т.д. Однако модуль автоматизации ГПИ интерпретатора 230 МАС может быть реализован с использованием любого приложения, которое способно программно осуществлять перемещение (навигацию) по графическому пользовательскому интерфейсу и производить и исполнять команды пользовательского интерфейса.
Интерпретатор 230 МАС таким образом исполняет поочередно каждое из элементарных действий, ассоциированных с выбранной задачей. Например, когда задача требует, чтобы пользователь производил щелчок по кнопке на ГПИ для отображения нового меню или окна, интерпретатор 230 МАС использует модуль автоматизации ГПИ, чтобы определить местоположение кнопки на устройстве 191 отображения (таком, как монитор), производит «щелчок» по кнопке, и затем ожидает, пока не будет показано новое окно на устройстве отображения. Тип/имя ожидаемого окна подробно описаны в файле 211 сценария МАС.
На Фиг.4 приведена блок-схема, иллюстрирующая исполнение сценария МАС, выбранного в системе 200 согласно одному варианту осуществления настоящего изобретения. На этапе 410 в ответ на пользовательскую команду 206 модуль 210 прогнозирования задачи идентифицирует и представляет пользователю множество возможных задач, и пользователь выбирает задачу из множества. Задача может быть выбрана с помощью любого механизма (средства), такого как поиск задачи, использование речевых команд или выбор из перечня задач. Затем модуль 210 получает сценарий 422 МАС, соответствующий выбранной задаче. На этапе 428 система 200 выбирает первое действие (первый шаг) из числа элементарных действий (шагов), подлежащих исполнению Интерпретатором 230 МАС. На этапе 434 система 200 определяет, необходимы ли входные пользовательские данные для осуществления этого конкретного элементарного действия. Если для осуществления действия необходимы входные пользовательские данные, то система 200 на этапе 440 отображает конкретное действие (шаг) пользователю. Отображение может быть таким окном на устройстве 191 отображения, в котором запрашивают входные данные, или оно может быть ГПИ, ассоциированным с конкретным элементарным действием (шагом). Например, после отображения текста для этого конкретного действия система 200 ожидает и не переходит к выполнению следующего элементарного действия, пока не примет необходимые входные пользовательские данные на этапе 446. Система может также отображать любую дополнительную информацию, которая полезна пользователю при принятии решения, такую как зависимую (связанную) информацию.
После приема необходимых входных данных, или если никакие входные данные не требуются, система 200 переходит к исполнению текущего элементарного действия на этапе 452. На этапе 458 система 200 осуществляет предварительный просмотр, чтобы понять, есть ли еще другое элементарное действие, которое должно быть исполнено для выбранной задачи. Если есть дополнительные элементарные действия, подлежащие исполнению, система 200 осуществляет проверку на этапе 464, чтобы просмотреть, выбрал ли пользователь пошаговый режим. Если это так, то система 200 исполняет каждое индивидуальное элементарное действие (элементарный шаг) только после того, как примет входные данные от пользователя, указывающие, что пользователь готов к продвижению к следующему элементарному действию из перечня элементарных действий. Эти входные данные принимают на этапе 470. Если система 200 не находится в пошаговом режиме, то система осуществляет возврат к этапу 428 и исполняет следующее действие (шаг) из перечня элементарных действий (шагов) так, как описано выше.
Если на этапе 458 нет дополнительных элементарных действий для исполнения, то система 200 закончила исполнение требуемой задачи на этапе 476.
На Фиг.5A-5J показаны иллюстрации моментальных «снимков» экранов для действий, представленных в сценарии 211 МАС и исполняемых системой 200 при выполнении задачи, соответствующей пользовательской команде 206 «Редактировать переменную пути».
Совокупностью моментальных снимков экранов, приведенных на Фиг.5A-5J, иллюстрируется Интерпретатор 230 МАС, исполняющий последовательности элементарных действий, требуемых для осуществления задачи «Редактировать переменную пути». Интерпретатор 230 исполняет каждое действие и осуществляет приостанов (паузу) только тогда, когда необходимы входные пользовательские данные.
На Фиг.5A в окне 500 показано первое действие иллюстративной последовательности. Показанным действием является «Открыть панель управления». Часть сценария МАС, которая соответствует этому действию, подробно описана ниже:
UIElementType="NONE">
Текстом 501 для отображения в окне 500 является «Открыть панель управления». Интерпретатор 230 МАС исполняет это действие (этот шаг) посредством исполнения сокращенной клавиатурной команды, названной «control.exe», и отображает окно панели управления ниже окна («под» окном) 500, как показано на Фиг.5A.
На Фиг.5B проиллюстрировано второе действие из последовательности элементарных действий. Действием, проиллюстрированным в окне 510, является «Произвести щелчок по пиктограмме системы» на панели управления. Часть сценария МАС, которая соответствует этому действию, подробно описана ниже.
UIElementTyp="LIST"> RawText="System" PersistentID="1"/> PersistentID="X:NotSupported"/> RawText="Control Panel" PersistentID="X:NotSupported"/> ClassName="SHELLDLL_DefView" PersistentID="X:NotSupported"/> RawText="FolderView" PersistentID="l"/> "SysListView32" RawText="System" PersistentID="1"/>
Текстом 511 для отображения в окне 510 является «Произвести щелчок по пиктограмме «Система». Интерпретатор 230 МАС находит пиктограмму 515 «Система» в окне панели управления, используя информацию о пути, содержащуюся в файле сценария. Информацию о пути использует Интерпретатор МАС для того, чтобы программно определить местоположение пиктограммы на экране, применяя некоторую технологию автоматизации ГПИ (например, технологию Windows UI Automation). Когда Интерпретатор 230 МАС находит пиктограмму, то интерпретатор вызывает метод «invoke» (активизировать) для пиктограммы (используя Windows UI Automation), чтобы произвести «щелчок» по ней.
На Фиг.5C-5F показан ход выполнения элементарных шагов задач Интерпретатором 230 МАС.
Согласно Фиг.5C система 200 открыла окно 522, содержащее информацию в системном меню 515, которая на Фиг.5B показана как «выделенная на экране», или выделенная (подсвеченная). На Фиг.5C проиллюстрировано следующее элементарное действие из последовательности, требуемой для задачи. Окно 520 представлено на графическом пользовательском интерфейсе и инструктирует пользователя произвести щелчок по вкладке «Расширенная» в окне 522. В это же время Интерпретатор 230 МАС определяет местоположение вкладки 524 «Расширенная» в окне 522 и выделяет ее на экране. Затем система 200 исполняет команду осуществления «щелчка» (вновь вызывая метод «invoke») для вкладки «Расширенная», заставляя окно 520 отобразить варианты выбора, доступные пользователю во вкладке «Расширенная».
Согласно Фиг.5D система 200 открывает окно 530 на графическом пользовательском интерфейсе и отображает пользователю инструкции для этого шага задачи. Окно 530 содержит инструкции пользователю для исполнения этого шага задачи, отображаемые посредством текста 531, инструктирующего пользователя «Произвести щелчок по кнопке Переменные Окружения» 532. В это же время Интерпретатор 230 МАС определяет местоположение кнопки 532 «Переменные Окружения» в окне 522 и выделяет кнопку 532 на ГПИ. Затем система 200 исполняет команду осуществления «щелчка» по кнопке 532 «Переменные Окружения», вызывая открытие окна 542, как проиллюстрировано на Фиг.5E.
Поскольку присутствуют дополнительные действия, требуемые для осуществления задачи, система 200 отображает пользователю следующее множество инструкций в окне 540. Окно 540 выдает инструкции пользователю «Произвести щелчок по пиктограмме Путь» 541. В это же время интерпретатор 230 МАС определяет местоположение пиктограммы «Путь» 543 в окне 542 и выделяет ее для пользователя. Затем система 200 исполняет команду осуществления «щелчка» по пиктограмме «Путь» 543, вызывая появление окна 550, как проиллюстрировано на Фиг.5F.
Пользователю вновь представляют инструкции, чтобы осуществить это очередное действие из последовательности элементарных действий. Окно 550 посредством текста 551 инструктирует пользователя произвести щелчок по кнопке «Редактировать» 553. В это же время Интерпретатор 230 МАС определяет местоположение кнопки 553 «Редактировать» в окне 542 и выделяет кнопку 553 «Редактировать» в составе ГПИ. Затем система 200 исполняет команду осуществления «щелчка», производя «щелчок» по кнопке «Редактировать» 553, что вызывает открытие окна 562, как проиллюстрировано на Фиг.5G.
На Фиг.5G показано то действие (шаг) в задаче, которое требует пользовательских входных данных. При таком действии от пользователя требуют сделать изменения в переменной (окружения) «Путь». Эта информация присутствует в прямоугольнике. Когда пользователь завершил изменение, пользователь должен нажать кнопку 564 «Далее» («Next») в окне 550, чтобы Интерпретатор МАС продолжил исполнение необходимых действий в «мастере». Соответствующая часть сценария МАС одного варианта осуществления настоящего изобретения показана ниже.
UIElementType="NONE"/> Действие указано как USERACTION (операция пользователя), что дает возможность Интерпретатору МАС узнать, что при этом действии ожидаются пользовательские входные данные, и что он (Интерпретатор) не может продолжать, пока пользователь не завершит (ввод). В окне 550 осуществляют изменения, чтобы выделить вторую инструкцию 563 пользователю. Этой инструкцией пользователю выдают указания сделать требуемые изменения в (переменной) «Путь». Поскольку это действие требует пользовательских входных данных, то система 200 не осуществляет продвижение, пока пользователь не введет требуемую информацию и не произведет щелчок по «Next». Затем система 200 вызывает открытие окна 570, инструктируя пользователя произвести щелчок по кнопке 572 «OK» («Успешно»). В это же время Интерпретатор 230 МАС определяет местоположение и выделяет кнопку 572 в окне 562, как проиллюстрировано на Фиг.5H. На Фиг.5I и Фиг.5J показаны действия, необходимые для выполнения требуемой задачи. После осуществления щелчка по кнопке «OK» 572, показанной на Фиг.5H, система 200 и Интерпретатор 230 МАС отображают пользователю инструкции произвести щелчок по кнопкам «OK» 582 и 592 в окнах 580 и 590 соответственно, и выделяют эти кнопки в соответствующих окнах 542 и 522. Поскольку все элементарные действия завершены, то система 200 переходит в состояние «готов к работе», чтобы ожидать другую пользовательскую команду 206. На Фиг.6 проиллюстрирована последовательность этапов создания сценария МАС для конкретной задачи. На этапе 610 автор определяет, существует ли содержимое для соответствующей задачи. Примеры такого содержимого могут включать в себя документы Справочной системы, статьи БЗ, сообщения группы новостей и т.д. Если документ для задачи уже существует, то автор поставляет документ блоку ввода (блоку импорта) на этапе 620. Блок импорта выполнен с возможностью осуществления синтаксического анализа документа с целью определения элементарных действий, содержащихся в нем, и преобразования в сценарии МАС тех инструкций, содержащихся в документе, которые могут быть исполнимы Интерпретатором 230 МАС. Количество действий (шагов), для которых может быть корректно осуществлен синтаксический анализ, зависит от структуры файла. Файлы Справочной системы обычно имеют разметку в своей структуре. Например, в тексте, который появляется в ГПИ, часто применяют формат «полужирный шрифт». Такие разметки могут быть использованы при синтаксическом анализе. На этапе 630, предположив, что выбранная задача находится в документе Справочной системы, блок импорта осуществляет синтаксический анализ документа Справочной системы для того, чтобы идентифицировать элементарные действия для компонента, входящего в состав документа Справочной системы, и определить также очередность этих элементарных действий. В одном варианте осуществления блок импорта осуществляет синтаксический анализ документа Справочной системы, чтобы идентифицировать ключевые слова в документе Справочной системы, такие как «щелчок», «вкладка», «кнопка», «меню» и другие слова, которые набраны жирным шрифтом в тексте документа Справочной системы. Такие ключевые слова преобразуют в команды, которые являются исполнимыми Интерпретатором 230 МАС. Однако могут быть также использованы другие способы синтаксического анализа задачи. На этапе 640 автор исследует, успешно ли преобразован в сценарий МАС проанализированный синтаксически документ. Автор может использовать любой известный способ для проверки гипотетического синтаксического анализа. Если синтаксический анализ был неуспешным, то тогда автор исправляет ошибки синтаксического анализа, и может создавать части сценария, которые блок ввода не смог проанализировать. Эти этапы не составляют часть настоящего изобретения и могут быть выполнены так, как желательно. Если автор на этапе 610 определяет, что нет существующего содержимого для требуемой задачи, то автор для задачи создаст новый сценарий МАС, используя среду МАС авторской разработки задач, такая разработка указана посредством этапа 650. В одном варианте осуществления средством авторской разработки является регистратор макрокоманд, которое записывает действия, производимые автором по отношению к ГПИ при выполнении задачи, и которое выводит сценарий МАС, описывающий действия, произведенные для законченного выполнения этой задачи. На этапе 670 автор может проверить, что сгенерированный сценарий МАС является точным. Этот этап может быть ручной или автоматической проверкой сценария МАС, осуществляемой, чтобы гарантировать, что в окончательный результат передают минимальное количество ошибок. Например, если сценарий МАС имеет орфографическую ошибку, то Интерпретатор 230 МАС не может найти такой элемент и такую ошибку автору выделяют на экране. После либо этапа 670, либо этапа 640 завершенный сценарий МАС на этапе 680 сохраняют в базе данных сценариев. Посредством объединения авторской разработки задачи в авторскую разработку содержимого Справочной системы/статьи БЗ стоимость авторской разработки задач/мастеров существенно снижают. Несмотря на то, что настоящее изобретение было описано со ссылками на конкретные варианты осуществления, специалисты в данной области техники признают, что могут быть сделаны изменения в вариантах и деталях осуществления, не выходящие за пределы существа и объема изобретения.
Изобретение описывает систему для «мастеров», предназначенных для авторской разработки и исполнения. Новые мастера созданы либо по существующему структурированному содержимому, подобному файлам Справочной системы, статьям и т.д., либо созданы с использованием простых инструментальных средств авторской разработки, что задает авторам экспертные знания приложений (не требуя навыков разработки). «Мастера» работают на верхнем уровне относительно существующего Графического пользовательского интерфейса (ГПИ) с использованием существующих модулей автоматизации ГПИ и могут либо обучать пользователей выполнению задачи, либо выполнять задачи вместо них. Кроме того, «мастера», созданные авторами, могут также вести диалог с пользователями, помогая им делать выбор(ы), и могут осуществлять доступ к состоянию системы/пользователя для выполнения условных действий. «Мастера» обновляемы посредством дополнительной системы обратной связи. Технический результат - упрощение способа создания тысячи задач. 3 н. и 20 з.п. ф-лы, 15 ил.
Компьютерная система и способ подготовки текста на исходном языке и перевода на иностранные языки