УДК 004.03 ВАК 05.13.00 РИНЦ 14.01.85
вычислительный комплекс с использованием сервисов речевого взаимодействия1
В статье рассматриваются подходы и методы применения бортовых вычислительных комплексов различного назначения с использованием сервисов речевого взаимодействия. Рассматриваются механизмы и методы организации и построения речевых интерфейсов. Показана демо-версия модуля речевого взаимодействия.
Ключевые слова: бортовой вычислительный комплекс, сервисно-ориентированная архитектура, сервисы, машинное обучение, планирование речевых сообщений.
ONBOARD COMPUTER COMPLEX USING THE SERVICE OF VERBAL INTERACTION
The article examines the approaches and methods of use onboard computing systems for various purposes, using the services of speech interaction. The mechanisms and methods of constructing and voice interfaces. It shows a demo unit of verbal interaction.
Keywords: On-board computer complex, service-oriented architecture, services, machine learning, planning, speech messages.
В.М. Трембач
Бортовой
Введение
В современном мире, в области приложений вычислительной техники, стали широко использоваться бортовые вычислительные комплексы (БВК). Данный факт объясняется их огромной ролью при решении различных задач в авиации, космонавтике, робототехнике, автомобилестроении, управлении морскими автономными объектами и др.
В настоящее время для нашей страны острым становится вопрос развития собственных исследований и разработок в области новейших технологий. Для перспективных БВК должны максимально использоваться передовые наработки и, в первую очередь, интеллектуальные приложения на основе сервисно-ориентированных архитектур.
Интеллектуальные технологии позволяют решать сложные, труд-ноформализуемые задачи, используя знания экспертов, хранимые в электронном виде в базах знаний.
Такие знания легко тиражировать и использовать для машинного обучения. На основе баз знаний возможно решение задач управления целенаправленным поведением. Архитектуры, ориентированные на сервисы являются распределенными, поэтому их модули могут размещаться по множеству вычислительных систем и способны к взаимодействию с использованием сетевых технологий.
В статье рассматривается бортовой вычислительный комплекс с использованием сервисов речевого взаимодействия, подходы к организации речевого интерфейса. Показана демо-версия модуля речевого взаимодействия компьютера с пользователем.
1. Бортовые
вычислительные комплексы, системы и сети
Бортовые вычислительные комплексы, как отдельная ветвь вычислительной техники, появились в
начале 1960-х годов. К настоящему времени бортовая вычислительная техника (БВТ) находит применение во многих направлениях человеческой деятельности.
В авиации БВТ входит в состав бортового оборудования состоящего из приборов, систем и агрегатов. Бортовое оборудование обеспечивает: управление летательным аппаратом (ЛА), (беспилотным летательным аппаратом - БПЛА); энергообеспечение ЛА (БПЛА); обеспечение жизнедеятельности экипажа и пассажиров ЛА [11].
В системах управления ракетными комплексами, космическими аппаратами и системами решаются задачи, связанные с наведением на цель, доставкой космической аппаратуры к месту запланированных исследований (планете, спутнику планеты Солнечной системы, астероиду, комете и т.д.), обеспечением жизнедеятельности космонавтов на околоземной орбите, систем и агрегатов при перелете,
1 Статья подготовлена при поддержке гранта РФФИ № 14-07-00880.
Василий Михайлович Трембач, к.т.н., доцент, профессор кафедры «Прикладная информатика в экономике», Московский государственный университет экономики, статистики и информатики (МЭСИ) доцент кафедры 304, МАИ Тел.: 8 (495) 442-80-98 Эл. почта: [email protected] www.mesi.ru
Vasilij M. Trembach,
PhD in Technical Science, Professor, Department of Applied Informatics in Economics, Moscow State University of Economics, Statistics and Informatics
(MESI)
Moscow State Aviation Institute Тел.: 8 (495) 442-80-98 E-mail: [email protected] www.mesi.ru
а также при проведении научных исследований.
Используются бортовые вычислительные комплексы в автомобилях, выполняя самые разные задачи от управления работой отдельных агрегатов до автономного управления движением автомобиля без участия человека.
БВК стали важным элементом роботов самого различного назначения. Например, БВК подводных роботов обеспечивают решение задач обследования склонов подводных вулканов на больших глубинах, морского дна, сбора океанографической информации с целью планирования маршрутов прокладки подводных коммуникаций, для инспекции и обслуживания подводных трубопроводов, кабелей и связанных с ними сооружений [2].
БВК являются неотъемлемой частью систем с целенаправленным поведением. К этой категории относятся все рассмотренные ранее объекты, работающие под управлением БВК. В авиации, в составе бортового оборудования самолетов, БВК появились на рубеже 1960-х годов и за относительно короткий срок практически полностью заменили используемые ранее аналоговые вычислители. Это произошло из-за их возможности обеспечивать более высокую точность решения задач. БВК характеризуются большей универсальностью применения, им присущи широкие логические возможности.
Обладая такими качествами, БВК использовались практически во всех подсистемах бортового оборудования самолета. Устойчивость к усложнению алгоритмов позволяет применять на практике более сложные, более совершенные законы управления самолетом и его подсистемами. БВК позволили осуществить информационное взаимодействие между отдельными (ранее непосредственно не взаимодействовавшими) подсистемами бортового оборудования и образовать единый комплекс всего бортового оборудования, что, в конечном счете, повысило эффективность выполнения полетного задания и безопасность полета [3].
Для БЦВМ первого поколения были характерны невысокий информационно-вычислительный потенциал и довольно примитивная структура, реализуемая с применением дискретных компонентов. В состав этих БЦВМ входили арифметическое устройство (АУ), оперативное и постоянное запоминающие устройства (ОЗУ и ПЗУ), устройство управления (УУ) и вторичный источник питания (ВИП). На тот момент память бортовых машин была одноуровневой. Ограниченность архитектуры этих машин следовала из того, что они строилась на основе функциональных блоков, которые разрабатывались специально для каждого конкретного случая. В случае модернизации требовались дополнительные разработки новых функциональных блоков с измененными характеристиками. Программирование производилось в машинных кодах одноадресных БЦВМ, а для отработки программ использовались интерпретирующие системы и пульты контроля и индикации. [3].
2 Архитектура БВК с использованием сервисов на основе
агентно-ориентированного подхода
Одним из подходов к созданию БВК является использование сервисно-ориентированной архитектуры (СОА). В основе СОА лежит модульный подход к разработке программного обеспечения, базирующийся на использовании сервисов со стандартизированными интерфейсами. В СОА предусматривается возможность многократного использования функциональных элементов (модулей, реализующих сервисы), ликвидации дублирования функциональности в объектах (например, интеллектуальных обучающих системах), унификации типовых процессов. Функциональные элементы БВК объектов (модули, приложения) обычно реализуются, как набор имеющихся разработок с простым протоколом для обмена произвольными сообщениями в формате XML. Возможно исполь-
зование и других реализаций (например, на базе jini, CORBA, на основе REST) [10].
В образовательной деятельности, в качестве программных сервисов БВК для тренажеров могут использоваться учебные объекты, которые рассматриваются как специальные виды объектов, представляемые в общем реестре (репози-тории) образовательных сервисов информационного образовательного пространства [5]. Основными классами образовательных сервисов в работе [6] выделяются классы для:
- Формирования образовательной программы с учетом возможности построения индивидуальной траектории обучения.
- Формирования учебно-методических комплексов под индивидуальную траекторию обучения.
- Выбора и выполнения тестовых заданий с учетом их адекватности формируемым компетенциям и оценки соответствующего уровня.
- Формирования и выполнения практических заданий (проектной деятельности), включая постановку практической задачи с учетом профиля обучающегося и отбор проектных решений по прецедентам.
При разработке интеллектуальных обучающих систем (ИОС) дополнительно нужны программные сервисы, обеспечивающие функционирование модулей обучающей системы и их взаимодействие друг с другом. Одной из признанных специалистами концепций построения ИОС является ее архитектура на основе агентно-ориентирован-ного подхода, с использованием персональной среды обучения и формированием индивидуальных траекторий обучения [1]. Обязательным является наличие в системе возможности оценки компетенций обучающихся, как в процессе обучения, так и после завершения этапа обучения. Следует отметить появление и использование в практических приложениях элементов когнитивного моделирования. Поэтому актуальным является рассмотрение возможности использования в ИОС подсистемы формирования
Рис. 1. Архитектура БВК с использованием сервисов на основе агентно-ориентированного подхода
и анализа динамики процесса обучения на основе когнитивных карт.
Работы последних лет в области создания и использования ИОС показали необходимость расширения ее функциональности, т.е. использования дополнительных сервисов. На рис. 1 показан бортовой вычислительный комплекс с сервисно-ориентированной архитектурой.
Бортовой вычислительный комплекс с сервисно-ориентированной архитектурой является многоагент-ной системой (МАС). МАС состоит из множества групп агентов, обеспечивающих определенные сервисы, агента-координатора, базы знаний для задач планирования, памяти для хранения результатов планирования - управляющих воздействий, и базы данных для хранения примеров ситуаций, которые необходимы для обучения БВК.
Среди групп агентов, обеспечивающих сервисы, наиболее значимыми являются:
- агенты сервисов планирования;
- агенты сервисов обучения;
- агенты сервисов датчиков;
- агенты сервисов телеметрической системы;
- агенты сервисов технического зрения;
- агенты сервисов речевого взаимодействия.
В настоящее время актуальным является вопрос взаимодействия человека-пользователя с разрабатываемыми системами. Важность этого вопроса подтвердила ситуация с новым вооружением при подготовке к параду 70-летия Победы. Эту ситуацию Дмитрий Рогозин назвал как «...разрыв связи между новой системой и человеком.». В области интеллектуальных информационных систем скорость обновления приложений достаточно высокая, поэтому расширение возможностей интерфейса с программными приложениями является актуальной.
3. Обзор интерфейсов программных систем
С появлением электронных вычислительных машин (ЭВМ) возникла необходимость в организации взаимодействия связи, сопряжения и согласования человека и вычислительной машины. Решением данной ситуации стали создание и использование различных интерфейсов. В информатике под интерфейсом понимается совокупность унифицированных технических и программных средств и правил (описаний, соглашений, протоколов), обеспечивающих взаимодействие кибернетических сис-
тем (вычислительных устройств в технических объектах, вычислительных устройств и людей в человеко-машинных системах) и/ или программ в вычислительных средах или сопряжение между устройствами, системами, людьми в вычислительных средах [4].
Первыми были аппаратные интерфейсы, построенные из электронных компонентов (кнопки, коммутационные панели, тумблеры, клавиатура, печатающие устройства и др.). С помощью аппаратного интерфейса пользователем подавались команды компьютеру, который их выполнял и выдавал результат. Данные интерфейсы применялись на ЭВМ с однопользовательской операционной системой и пакетным режимом решения задач. Они использовали технологию командной строки.
В рамках технологии командной строки единственным способом ввода информации от человека к компьютеру служит клавиатура. Вывод компьютером информации пользователю осуществляется с помощью алфавитно-цифрового дисплея (монитора).
Дальнейшим развитием интерфейсов стало появление графического интерфейса в середине 1970-х годов. Его появлению предшествовало уменьшение времени реакции компьютера на команду, увеличение объема оперативной памяти, а также развитие технической базы компьютеров. Первоначально визуальный интерфейс использовался только в программах. Постепенно он стал переходить и на операционные системы. Широкое распространение этот интерфейс получил благодаря операционной системе MS-DOS. Примером использования этого вида интерфейса является файловая оболочка Nortron и текстовый редактор Multi-Edit.
Следующим шагом в развитии графического интерфейса стал «чистый» интерфейс WIMP. Для него характерны следующие особенности:
1. Вся работа с программами, файлами и документами происходит в окнах - определенных очерченных рамкой частях экрана.
2. Все программы, файлы, документы, устройства и другие объекты представляются в виде значков - иконок. При открытии иконки превращаются в окна.
3. Все действия с объектами осуществляются с помощью меню. Хотя меню появилось на первом этапе становления графического интерфейса, оно не имело в нем главенствующего значения, а служило лишь дополнением к командной строке. В чистом WIMP - интерфейсе меню становится основным элементом управления.
4. Широкое использование манипуляторов для указания на объекты, которые становятся основным элементом управления. Следует отметить, что WIMP требует для своей реализации цветной растровый дисплей с высоким разрешением и манипулятор. Также программы, ориентированные на этот вид интерфейса, предъявляют повышенные требования к производительности компьютера, объему его памяти, пропускной способности шины и т.п. Однако этот вид интерфейса наиболее прост в усвоении и интуитивно понятен. Поэтому сейчас WIMP - интерфейс стал стандартом де-факто. Ярким примером программ с графическим интерфейсом является операционная система Microsoft Windows [8].
В настоящее время стали активно развиваться и использоваться SILK-интерфейсы (SILK от: Speech - речь; Image - образ; Language - язык; Knowlege -знание). В основе интерфейсов данного типа заложено общение пользователя с компьютером. В перспективе SILK-интерфейсы будут поддерживать естественную форму общения человека с компьютером. В настоящее время разрабатываются интерфейсы использующие положение рук (жесты) человека, положение тела в пространстве, выражение лица, голосовые сообщения, интонацию голоса и др. Для формирования сообщений компьютера пользователю используются интеллектуальные технологии, в частности, планирование речевых сообщений по текущим результатам работы [8,9].
4. Демо-пример агента речевого взаимодействия
Бортовые вычислительные комплексы автономных объектов ориентированы на решение большого круга задач. Для их эффективного решения необходимо организовать человеко-машинное взаимодействие. С этой целью используются различные сервисы для речевого взаимодействия. Каждый сервис, обычно, реализуется отдельным агентом, но возможно и в одном агенте реализовать несколько сервисов.
В многоагентной системе для решения задач управления автономными объектами [7] интерфейс для диалога с пользователем включает окна для ввода-вывода данных, а также технологии распознавания речевых команд и интеллектуальные технологии формирования ответов системы на естественном языке. Этот интерфейс является многофункциональным и сложным. Например, пользователь может вводить данные и знания, используя модуль ввода данных и знаний, а для управления автономным объектом на ограниченном естественном языке может использоваться модуль голосового взаимодействия с пользователем.
Агент речевого взаимодействия мобильного автономного объекта включает в себя [7]:
- модуль оконного интерфейса, обеспечивающий задание режимов работы модуля речевого взаимодействия, вывод сообщений пользователю и протоколов работы модуля речевого взаимодействия;
- модуль речевого взаимодействия, включающий в себя блок анализа речи и блок синтеза речевых сообщений;
- модуль формирования признаков из речевых сообщений;
- систему ввода данных и знаний, обеспечивающую распознавание команд;
- базу знаний (словарь) для формирования признаков, описывающих текущее состояние автономного объекта, и синтеза голосовых запросов пользователю или другим участникам общения;
States (MainContainer)
1 Двигатели запущены
2 Шасси выпущены
3 Борт поворачивает направо
4 Борт поворачивает налево
5 Двигатели работают в максимальном режиме
6 Шасси подняты
7 Борт поднят на высоту 10 киллометров над уровнем моря
Рис. 2. Табличное представление структуры диалога
действия. На рис. 2 представлены таблицы, отражающие логическую структуру диалога. Данный подход хорошо применять для систем, ориентированных только на диалог.
При организации речевого взаимодействия с динамическими объектами должно учитываться и текущее состояние автономного объекта. Текущее состояние объекта формируется с помощью признаков, описывающих как состояние объекта, так и состояние окружающей среды с помощью датчиков.
Использование планировщика для синтеза сообщений компьютера пользователю дает возможность отражать в диалоге текущее состояние автономного объекта. Для работы планировщика необходима база знаний. На рис. 3 показан фрагмент базы знаний для организации речевого взаимодействия в динамических системах.
- систему воспроизведения ответа пользователю или другим автономным объектам;
- систему ввода данных и знаний, обеспечивающую распознавание команд.
Основными этапами работы агента речевого взаимодействия являются:
- распознавание голоса пользователя;
- формирование признаков в зависимости от команды пользователя;
- формирование ответа пользователю;
- синтез ответных сообщений.
Агент речевого взаимодействия
был выполнен для автономного мобильного объекта (робота). Основными функциями этого агентв являются:
- распознавание команд из числа заложенных;
- перевод речевых команд во внутренний язык;
- выдача команд во внутренний формат планировщика;
- получение внутренних признаков от ТМС;
- формирование на основе признаков ТМС речевых фраз (ответы, сообщения о ситуации, запросы).
Существует множество подходов к организации речевого взаимо-
<?xml version = "1.0" encoding="UTF-16"?> <AIBase>
cconcept comments= cconcept comments= cconcept comments= cconcept comments= cconcept comments= cconcept comments= cconcept comments= cconcept comments= cconcept comments= cconcept comments= cconcept comments= cconcept comments= cconcept comments= cconcept comments= cconcept comments= cconcept comments= cconcept comments= cconcept comments= cconcept comments= cconcept comments= cconcept comments=
привет" пате="у\/1"/> как" пате = "у\/2"/> дела" пате="м/3"/> что" пате="у\/4"/> делаешь" пате="\м5"/> тебя" пате="\«6"/> зовут" пате="у\/7"/> хорошо" пате=">«8"/> плохо" пате="\л/9"/> отлично" пате="\л/10'У> было" пате="\«11"/> приятно" пате="\1У12"/> пообщаться" пате="\м13"/> скорой" пате="у\/14"/> встречи" пате="У¥15"/> случилось" пате="у716"/> сегодня" пате="у¥17"/> 13" пате="\«18"/> пятница" пате="\«19"/> 1епоуо" пате="м>20"/>
"google" name="w21"/>
- cconcept comments="npHBeT, а как у тебя дела?" name="rl">
- cPRDU>
celement name="wl" ODZname="fla" w="0.00000"/> c/PRDU> c/concept>
- cconcept comments="oTflH4Ho, а как тебя зовут?" name="r2">
- cPRDU>
celement name="w8" ODZname="fla" w="0.00000"/> celement name="w2" ODZname="fla" w="0.00000"/> celement name="w3" ODZname="fla" w="0.00000"/> c/PRDU> c/concept>
- cconcept comments="xopouio, а как у тебя дела?" name="r3">
- cPRDU>
celement name="w8" ODZname="HeT" w="0.00000"/> celement name="w2" ODZname="fla" w="0.00000"/> celement name="w3" ODZname="fla" w="0.00000"/> c/PRDU> c/concept>
- cconcept comments="nnoxo" name="r4">
- cPRDU>
Рис. 3. Фрагмент базы знаний для организации речевого взаимодействия
Заключение
Полученные результаты в ходе создания демо-версии агента речевого взаимодействия показали перспективность разработки
приложений на основе сервисов. Дальнейшее развитие информационных технологий позволяет разрабатывать сервисы в виде отдельных модулей с единым интерфейсом взаимодействия.
В результате использования библиотеки таких модулей возможно существенное снижение затрат на создание новых вычислительных комплексов.
Литература
1. Зенкина С.В., Трембач В.М. Некоторые подходы к представлению действительности для решения задач обучения специалистов в современной образовательной среде, // Научно-практический журнал «Открытое образование», МЭСИ, №4, 2014, с. 39-49.
2. Инзарцев А., Львов О. Бортовые вычислительные сети автономных подводных роботов, http://www. cta.ru/issues/239856.htm
3. История развития бортовых цифровых вычислительных машин в России (206)32^1999 Автор: Константин Колпаков 31.08.1999 http://www.pcweek.ru/
4. Першиков В. И., Савинков В. М. Толковый словарь по информатике / Рецензенты: канд. физ.-мат. наук А. С. Марков и д-р физ.-мат. наук И. В. Поттосин. -М.: Финансы и статистика, 1991. - 543 с].
5. Тельнов Ю. Ф. Модель многоагентной системы реализации информационно-образовательного пространства // Четырнадцатая национальная конференция по искусственному интеллекту с международным участием КИИ-2014 (24-27 сентября 2014 г., г. Казань, Россия): Труды конференции. Т.1. - Казань: Изд-во РИЦ «Школа», 2014. - С. 334 - 343.
6. Тельнов Ю.Ф., Гаспариан М.С., Диго С.М., Казаков ВА., СмирноваГ.Н., ЯрошенкоЕ.В., Трембач В.М. Реализация процессов учебно-методического обеспечения в интегрированном информационно-образовательном пространстве на основе сервисной архитекту-ры//Экономика, статистика и информатика. - Вестник УМО, № 1, 2015, с. 198-205.
7. Трембач В.М. Многоагентная система для решения зада целенаправленного поведения. // В кн. Четырнадцатая национальная конференция по искусственному интеллекту с международным участием КИИ 2014 (24-27 ентября 2014г., г. Казань, Россия): Труды конференции. Т. 1. - Казань: Изд-во РИЦ «Школа», 2014. - с. 344-353.
8. http://citforum.oldbank.eom/operating_systems/ois/a. shtml
9. http://edu.dvgups.ru/METDOC/ITS/STRPRO/ASY/ METOD/UP/frame/1_2.htm
10. https://ru.wikipedia.org/wiki - Википедия.
11. http : //www. mo dern-avionic s. ru/analytics/2 014/ modern-role-of-avionics-aircraft/
References
1. Zenkina S.V., Trembach V.M. Nekotory'e podxody' k predstavleniyu dejstvitel'nosti dlya resheniya zadach obucheniya specialistov v sovremennoj obrazovatel'noj srede, // Nauchno-prakticheskij zhurnal «Otkry'toe obrazovanie», ME'SI, №4, 2014, s. 39-49.
2. Inzarcev A., L'vov O. Bortovy'e vy'chislitel'ny'e seti avtonomny'x podvodny'x robotov, http://www.cta.ru/ issues/239856.htm
3. Istoriya razvitiya bortovy'x cifrovy'x vy'chislitel'ny'x mashin v Rossii (206)32*1999 Avtor: Konstantin Kolpakov 31.08.1999 http://www.pcweek.ru/
4. Pershikov V. I., Savinkov V. M. Tolkovy'j slovar' po informatike / Recenzenty': kand. fiz.-mat. nauk A. S. Markov i d-r fiz.-mat. nauk I. V. Pottosin. - M.: Finansy' i statistika, 1991. - 543 s].
5. Tel'nov Yu.F. Model' mnogoagentnoj sistemy' realizacii informacionno-obrazovatel'nogo prostranstva // Chety'rnadcataya nacional'naya konferenciya po iskusstvennomu intellektu s mezhdunarodny'm uchastiem KII-2014 (24-27 sentyabrya 2014 g., g. Kazan', Rossiya): Trudy' konferencii. T.1. - Kazan': Izd-vo RIC «Shkola», 2014. - S. 334 - 343.
6. Tel'nov Yu.F., Gasparian M.S., Digo S.M., Kazakov V.A., Smirnova G.N., Yaroshenko E.V., Trembach V.M. Realizaciya processov uchebno-metodicheskogo obespecheniya v integrirovannom informacionno-obrazovatel'nom prostranstve na osnove servisnoj arxitektury' // E'konomika, statistika i informatika, -Vestnik UMO, № 1, 2015, s. 198-205.
7. Trembach VM.Mnogoagentnaya sistema dlya resheniya zada celenapravlennogo povedeniya. // V kn. Chety'rnadcataya nacional'naya konferenciya po iskusstvennomu intellektu s mezhdunarodny'm uchastiem KII 2014 (24-27 entyabrya 2014 g., g. Kazan', Rossiya): Trudy' konferencii. T. 1. - Kazan': Izd-vo RIC «Shkola», 2014. - S. 344-353.
8. http://citforum.oldbank.com/operating_systems/ois/a. shtml
9. http://edu.dvgups.ru/METDOC/ITS/STRPRO/ASY/ METOD/UP/frame/1_2.htm
10. https://ru.wikipedia.org/wiki - Vikipediya.
11. http://www.modern-avionics.ru/analytics/2014/ modern-role-of-avionics-aircraft/