Алгоритмы машинного слуха в контексте развития современной ИТ-инфраструктуры
Особенности различных моделей клиент-серверного взаимодействия. Взаимное влияние технологий машинного слуха и информационной инфраструктуры на примере алгоритмов распознавания речи. Разработка архитектуры сервиса по подбору музыки под настроение.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 15.09.2018 |
Размер файла | 1,1 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ
«ВЫСШАЯ ШКОЛА ЭКОНОМИКИ»
Факультет бизнеса и менеджмента
Выпускная квалификационная работа
Алгоритмы машинного слуха в контексте развития современной ИТ-инфраструктуры
по направлению подготовки 38.03.05 Бизнес-информатика
образовательная программа «Бизнес-информатика»
Репецкая Татьяна Олеговна
Москва, 2018
Оглавление
- Введение
- Глава 1. Машинный слух
- 1.1 Что такое машинный слух: введение в предметную область
- 1.2 Основные направления машинного слуха
- 1.2.1 Music Recognition
- 1.2.2 Speech Recognition
- 1.2.3 ESR
- 1.3 Основные задачи, которые решаются с помощью алгоритмов машинного слуха
- Глава 2. ИТ-инфраструктура
- 2.1 Понятие ИТ-инфраструктуры
- 2.2 Модели построения архитектуры приложений
- 2.3 Взаимное влияние технологий машинного слуха и ИТ-инфраструктуры на примере алгоритмов распознавания речи (Siri)
- Глава 3. Подход к формированию архитектуры информационных систем, использующих алгоритмы машинного слуха. Разработка архитектуры сервиса по подбору музыки под настроение с использованием предложенного подхода
- 3.1 Разработка подхода к формированию архитектуры информационных систем, использующих алгоритмы машинного слуха
- 3.2 Применение разработанного подхода для задачи построения архитектуры сервиса по подбору музыки под настроение
- 3.2.1 Описание концепции сервиса по подбору музыки под настроение
- 3.2.2 Назначение и задачи сервиса
- 3.2.3 Классификация решаемой задачи
- 3.2.4 Построение логической архитектуры
- 3.2.5 Компоненты информационной системы
- 3.2.6 Соотнесение ограничений задач и групп требований к сервису с требованиями к ИТ-инфраструктуре
- 3.2.7 Оценка вариантов и выбор архитектуры системы
- 3.3 Разработка сервиса по подбору музыки под настроение на базе выбранного типа архитектуры ИТ-инфраструктуры
- Заключение
- Список литературы
Введение
В последнее время особую популярность набирают исследования методов машинного обучения. В решении задач, которые находятся в границах данной научной области, заинтересовано не только научное сообщество, но и бизнес. Так, например, методы машинного обучения активно используются в таких бизнес-инструментах как IBM Business Intelligence [1]. Кроме того, использование знаний из области машинного обучения и искусственного интеллекта в целом делает возможным разработку более эффективных рекомендательных систем как в области рекламы, так и в сфере медиа развлечений [2].
Использование знаний из области машинного обучения и искусственного интеллекта в целом позволяет человеку взаимодействовать с компьютером посредством естественного языка. Способность компьютерных систем воспринимать и интерпретировать информацию о внешнем мире подобно человеку, называется машинным восприятием [3]. На данный момент к машинному восприятию относят машинное зрение (Machine Vision), машинное осязание (Machine Touch) и машинный слух (Machine Hearing) [4]. Возможность использования алгоритмов машинного слуха в контексте развития современной ИТ-инфраструктуры рассматривается в качестве проблемы данного исследования.
Объектом исследования является машинный слух, раздел машинного восприятия. Предметом исследования является использование алгоритмов машинного слуха в контексте развития современной ИТ-инфраструктуры. Актуальность выбранной темы обусловлена следующими факторами:
· нарастающим интересом и развитием технологий искусственного интеллекта - в особенности «сильного», частью которых является и машинное восприятие (Machine Perception) совместно с находящимся на пике своего развития (см. рис. 1) направлением разработки методов машинного обучения, о чем свидетельствует анализ технологий Gartner [5];
· высокой заинтересованностью государства в развитии технологий искусственного интеллекта и машинного восприятия, в том числе машинного слуха, при низкой степени изученности данной области: так, в 2016 году Президиумом Совета при Президенте РФ по модернизации экономики и инновационному развитию России была одобрена «дорожная карта» Нейронета, включающая получивший в конце 2017 года финансовую поддержку проект «НейроУхо», призванный решить ряд задач в области машинного слуха [6];
· необходимостью совершенствования и разработки новых алгоритмов машинного восприятия с целью построения естественных человеко-машинных интерфейсов и решения задач в различных сферах деятельности человека;
Рисунок 1. Кривая новых технологий Gartner
Panetta C.K. Top trends in the Gartner Hype Cycle for emerging technologies. 2017 //Enterprises should explain the business potential of blockchain, artificial intelligence and augmented reality. - 2017.
Исследование темы использования алгоритмов машинного слуха с теоретической точки зрения позволит сформировать понимание типов задач, в решении которых применяются и потенциально могут применяться данные технологии, и закономерно возникающих ограничений, которые необходимо накладывать на архитектуру разрабатываемых программных приложений со стороны ИТ-инфраструктуры с целью успешного решения этих задач. Это позволит выявить взаимосвязь между развитием технологий машинного слуха и ИТ-инфраструктурой. В то же время данная работа имеет и практическое значение, поскольку исследование данной области позволит определить сферы текущего и потенциального применения алгоритмов машинного слуха для тех или иных задач, а также выделить особенности построения архитектуры программных приложений, использующих алгоритмы машинного слуха, и на их основе сформировать подход к разработке их архитектуры. Также стоит отметить, что с точки зрения степени научной проработанности выбранная тема исследования является относительно новой и малоизученной: те проекты в области машинного слуха, которые известны на данный момент, крайне немногочисленны в сравнении с гораздо более развитым смежным направлением машинного восприятия - машинным зрением, и большинство значимых из них было запущено совсем недавно (подробное описание значимых проектов в области машинного восприятия представлено в главе 1). Таким образом, новизна описываемой работы заключается в попытке создать подход к построению архитектуры программных приложений, использующих алгоритмы машинного слуха, который впоследствии послужит опорой при внедрении таких решений на практике.
Резюмируя вышесказанное, можно сформулировать цель работы - исследовать алгоритмы машинного слуха в контексте современной ИТ-инфраструктуры и сформировать подход к разработке архитектуры программных решений с учетом специфики таких алгоритмов. Соответственно в основу исследования ложится гипотеза о том, что использование алгоритмов машинного слуха специфично влияет на построение архитектуры программных решений, в частности со стороны ИТ-инфраструктуры.
В рамках данной работы для достижения поставленной цели было выделено несколько задач:
1. Изучить существующие решения и подходы в области разработки алгоритмов машинного слуха, а также проанализировать сферы деятельности человека, в которых может потенциально быть использована данная технология, и выделить основные типы задач;
2. Проанализировать существующие паттерны и подходы к разработке архитектуры программных решений, сделав акцент на требованиях, предъявляемых к ИТ-инфраструктуре с тем, чтобы выделить связь между типом решаемой задачи и подходом к построению архитектуры ее решения;
3. Сформировать подход к построению архитектуры информационной системы, использующей алгоритмы машинного слуха, в зависимости от сферы ее использования и типа решаемой задачи, и продемонстрировать его использование на практике.
В соответствии с поставленными задачами, первая глава посвящена обзору объекта исследования, а также разбору существующих алгоритмов анализа звуков, областей их применения и типовых задач данной области. Во второй главе проанализированы существующие паттерны и подходы к построению архитектуры программных приложений, а также показана связь технологий машинного слуха и ИТ-инфраструктуры на примере развития такого направления предметной области, как распознавание речи. В заключительной главе представлена практическая часть работы, включающая разработку особенностей построения архитектуры ИС, использующей алгоритмы машинного слуха, и соответствующее выделение классов задач.
В качестве основных источников информации в работе использовались многочисленные статьи ведущих лабораторий о проводимых ими исследованиях таких университетов как MIT, СколТех и другие, а также в целом большое количество статей зарубежных авторов ввиду большей развитости данной темы в ряде иностранных университетов. Теоретической базой данного исследования является учебная и справочная литература по темам «Разработка архитектуры программных приложений», «ИТ-инфраструктура», «Информационные системы» и другим. Кроме того, в работе использованы некоторые нормативные документы РФ, а также различные новостные статьи и другие интернет-ресурсы.
машинный слух речь информационный
Глава 1. Машинный слух
1.1 Что такое машинный слух: введение в предметную область
С появлением такой науки как информатика и развитием информационных технологий в целом человечество неустанно предпринимает попытки к созданию систем, наделенных способностью творчески справляться с различными задачами, решение которых традиционно приписывается человеку. Такие задачи отличаются тем, что их сложно и подчас невозможно жестко определить: постановка задачи, ее результат зависят от непрерывно поступающей из меняющейся внешней среды информации, что требует от решающего проявления гибкости и постоянного саморазвития [7]. Если при этом учесть, что по мере достижения тех или иных результатов развития в области информационных технологий проблемы, возникающие перед человеком, становятся только сложнее, то становится понятно, что узкоспециализированные и детерминированные компьютерные программы уже попросту не могут покрыть весь тот спектр задач, который формируется в ходе попытки эти проблемы решить. Изучением данного вопроса занимается Искусственный Интеллект, ИИ (Artificial Intelligence, AI) - комплекс наук, исследующий проблемы создания и развития интеллектуальных компьютерных программ и систем [7]. В свою очередь, такие системы должны быть наделены сильным искусственным интеллектом, то есть должны обладать рядом таких свойств, как способность принимать решения и использовать различные стратегии в условиях неопределенности, иметь представление о реальности и накапливать о ней знания, уметь планировать и быть способным к обучению, при этом общаясь на естественном языке и применяя перечисленные способности для достижения заданной цели в той или иной сфере деятельности [8].
Перед искусственным интеллектом ставится множество различных задач, среди которых доказательство теорем, распознавание образов, моделирование игр, формирование экспертных решений и множество других задач, возникающих в огромном количестве сфер деятельности как то финансы, медицина, промышленность, развлечения и многие другие. Распознавание объектов при этом занимает особое, пограничное положение: с одной стороны, решение данной проблемы способствует развитию вышеназванного свойства сильного искусственного интеллекта - способности общаться на естественном языке, что делает распознавание объектов задачей ИИ, лежащей в основе проблемы человеко-машинных взаимодействий; с другой стороны, распознавание объектов также является сферой применения достижений ИИ и позволяет решать различные практические задачи: детектирование сложных неполадок, обеспечение безопасности, в том числе с помощью видеотрекинга и другие. Так или иначе, распознавание объектов напрямую связано с таким понятием, как машинное восприятие.
Машинное восприятие (Machine Perception) - это способность компьютерных систем воспринимать и интерпретировать информацию извне в манере, свойственной человеку [3]. Основная цель при этом заключается в том, чтобы научить машину осознанно принимать сложные решения, то есть построить механизм принятия решения таким образом, чтобы она смогла «объяснить» человеческим языком причину его выбора. Сюда входит большой спектр задач, связанный с человеко-машинным взаимодействием и восприятием и анализом окружающей среды в целом: распознавание звуков и речи, изображений, жестов, синтез ответа в форме естественного языка и другие [4]. На текущий момент машинное восприятие включает следующие глобальные области:
· машинное зрение (Machine Vision);
· машинный слух (Machine Hearing);
· машинное осязание (Machine Touch).
Наиболее развитой областью машинного восприятия на данный момент является машинное зрение. Это область машинного восприятия, исследующая методы и технологии, направленные на обучение интеллектуальных систем сбору, обработке и анализу информации в виде изображений без участия человека [7]. Алгоритмы машинного зрения используются в поисковых системах для поиска изображений по заданным параметрам, в системах видеонаблюдения (видеотрекинг) с целью распознавания заданных начальными условиями объектов, в естественных человеко-машинных интерфейсах (управление жестами) [4].
В свою очередь, машинный слух - это способность компьютерной системы с помощью аппаратных и программных методов воспринимать, обрабатывать и анализировать данные в виде звуковых волн [9]. Машинный слух в глобальном смысле существенно отстает в развитии от машинного зрения: на данный момент с относительным успехом решаются только более узкоспециализированные задачи, такие как распознавание музыки или речи. Тем не менее, как уже было сказано выше, машинный слух - очень перспективная область для исследований, поскольку при относительно слабой изученности присутствует большой спрос на решение задач в области его применения.
Наконец, наименее часто встречающаяся и наименее развитая область машинного восприятия - машинное осязание. Машинное осязание - это совокупность методов обработки тактильной информации, поступающей в качестве входных данных в интеллектуальную систему, и последующее взаимодействие с окружающей средой на основе полученных данных [4]. Примером применения алгоритмов машинного осязания могут служить сенсорные поверхности (Touch Pad в ноутбуках нового поколения).
Несмотря на то, что каждая из перечисленных выше областей машинного восприятия занимается своим спектром задач, тем не менее, между ними есть кое-что общее: основным инструментом для решения задач машинного восприятия являются методы машинного обучения (machine learning), в том числе глубокого обучения (deep learning), а также модели нейронных сетей - еще одного раздела искусственного интеллекта. Как это будет показано позже, такая специфика существующего инструментария области машинного восприятия оказывает значительное влияние на формирование ИТ-инфраструктуры при решении тех или иных задач.
В рамках данной работы рассматривается только одно из существующих направлений машинного восприятия - машинный слух. Выбор в пользу этой области обусловлен несколькими факторами. Во-первых, данная область в широком смысле является мало изученной, так как на данный момент инструменты машинного слуха позволяют решать лишь узкий круг специализированных задач. Во-вторых, несмотря на то что область мало изучена, в последнее время интерес к алгоритмам машинного слуха значительно возрос. Так, государство выступает заказчиком и прямо поддерживает инициативы по исследованию и разработке алгоритмов машинного слуха (например, «НейроУхо») для решения таких задач, как распознавание широкого спектра звуковых событий во внешней среде и определение звуковых сцен в сложных акустических условиях [10].
1.2 Основные направления машинного слуха
Существует большое количество задач в области обработки звуковых сигналов: сонография (УЗИ), сейсмическая разведка, запись и обработка музыки, синтез и распознавание речи (а также отдельно выделенные задачи по распознаванию голоса), определение и классификация различных сонарных целей [9]. При этом если ряд из них, например, УЗИ или сейсмическая разведка, эффективнее всего решаются с использованием методов, которые в общем не имеют никакого отношения к слуху, то другие должны решаться с оглядкой на то, «как это звучит для человека», то есть имеют прямое отношение к области машинного слуха. Примерами таких задач являются распознавание речи или распознавание объектов окружающей среды. Однако несмотря на кажущуюся на первый взгляд однообразность, эти задачи реально сильно отличаются друг от друга как с точки зрения входных параметров, так и подходами и методами их решения. Такая специфичность делит раздел машинного слуха на ряд отдельных направлений, соответствующих категориям поставленных задач. Ниже представлен подробный разбор самых популярных из них.
1.2.1 Music Recognition
Первое из этих направлений - это распознавание и анализ музыки (Music Recognition). Музыкальные звуки характеризуются широким диапазоном частот и большим количеством тонов, что позволяет относительно легко детектировать и дискретизировать входные сигналы в данном типе задач. Кроме того, за счет таких физических свойств для анализа аудиофайлов, состоящих из музыкальных звуков, особенно успешно используется метод генерации акустических отпечатков - набора значений, содержащих физические свойства аудиосигнала в компактной форме, - или сигнатур - данные о частотах некоторого отрезка аудиосигнала [11].
С помощью сгенерированных для аудиосигнала акустических отпечатков можно производить поиск похожих треков, как, например, реализован музыкальный сервис социальной сети «ВКонтакте» (рис. 2): некоторая музыкальная композиция при загрузке пользователем на сайт подвергается процедуре генерации акустического отпечатка, после чего полученный акустический отпечаток заносится в базу данных и индексируется с помощью хэш-тегов. Такой подход облегчает дальнейших поиск музыкальных композиций [12].
Другой пример - с использованием метода сигнатур - представляет собой популярный сервис Shazam (рис. 3) - мобильное приложение для определения так называемых метаданных проигрываемой песни [13]. Суть использования метода заключается в том, что записанный фрагмент входящего аудиосигнала длинной не более 20 секунд подвергается обработке, в ходе которой алгоритм формирует набор отличительных сигнатур музыкальной композиции, по которым происходит сверка поступивших на вход данных с данными, размещенными в хранилище данных сервиса.
Рисунок 2. Фрагмент архитектуры музыкального сервиса ВК
Архитектура и алгоритмы индексации аудиозаписей / Блог ВКонтакте.
Сигнатуры для музыкальных звуков - то же, что отпечатки пальцев для человека, именно поэтому такой алгоритм показывает высокую эффективность.
Рисунок 3. Процедура распознавания музыкальных композиций сервисом Shazam
Wang A. The Shazam music recognition service //Communications of the ACM. - 2006. - Т. 49. - №. 8. - С. 44-48.
Однако стоит обратить внимание, что описанные выше задачи в большей степени используют детерминированные, статические подходы к их решению, что в очередной раз говорит о том, что машинный слух, в данном случае в лице области распознавания и анализа музыки, находится на более низком уровне нежели привычное нам машинное зрение.
1.2.2 Speech Recognition
Распознавание речи (Speech recognition) является одним из наиболее развитых направлений машинного слуха на текущий момент: начиная с середины ХХ века системы по распознаванию речи прошли путь от примитивных программ, способных «понимать» исключительно цифры, - такой программой стала «Audrey», до сложных голосовых помощников, например, Siri, встроенных в персональные устройства (ноутбуки, смартфоны). За время развития систем распознавания речи было создано множество подходов и алгоритмов для решения задач данного типа: временные динамические алгоритмы, методы на основе Байесовской дискриминации, скрытые марковские модели и, наконец, нейронные сети [14]. Ключевой особенностью задач данного направления является семантическая составляющая, а также связь с элементами лингвистических наук. Кроме того, распознавание речи - трудоемкий и широко объемлющий класс задач, так как для того, чтобы приблизить решение таких задач к универсальному, необходимо принять во внимание особенности большого количества языков и диалектов, которыми владеет человек.
«Алиса» - одна из последних разработок в области известных персональных голосовых помощников, созданная российской компанией «Яндекс», является примером программного приложения, использующего алгоритмы машинного слуха. В данном случае, поскольку «Алиса» - голосовой помощник, машинный слух используется в качестве человеко-машинного интерфейса: «Алиса» общается с пользователем благодаря встроенным в архитектуру ее решения модулям распознавания (Automatic Speech Recognition) и синтеза (Text To Speech) речи. Функция модуля ASR заключается в записи и синхронной передаче потока входных данных на сервер, где происходит распознавание и анализ речи, после чего приложение уже может использовать полученные данные для последующего анализа [15]. Когда же результат запроса готов, он представляется в виде текста, который синтезируется модулем TTS в выходной поток звуковых данных. Архитектура системы «Алиса» представлена на рисунке 4.
Рисунок 4. Архитектура голосового помощника «Алиса»
Как устроена Алиса. Лекция Яндекса
1.2.3 ESR
Наиболее сложной и малоизученной областью машинного слуха является распознавание звуков окружающей среды (Environment Sound Recognition, ESR). Эта сложность в первую очередь обусловлена тем, что для успешного решения задач ESR необходимо, чтобы алгоритм принимал во внимание и особенности речи, музыки и всех видов смешанных звуков окружающей среды [16]. Решение данной задачи - чистого вида область исследования машинного слуха.
На текущий момент, было разработано небольшое количество подходов к решению проблемы распознавания звуков окружающей среды, то есть распознавание звуков в целом: PiczakConvNet - хронологически появившийся ранее проект и SoundNet - наилучших из существующих на данный момент алгоритмов распознавания звуков окружающей среды, на котором базируются другие исследования. Оба алгоритма тестировались на двух стандартных базах звуковых записей: ESC-50 (набор из 2000 коротких пятисекундных аудиозаписей окружающей среды, состоящих из 50 одинаково сбалансированных классов звуковых событий в 5 основных группах: животные, естественные звуковые ландшафты и звуки воды, человеческие неречевые звуки, внутренние/домашние звуки и внешние/городские шумы) и ESC-10 (стандартизованное подмножество ESC-50 из 10 классов: собачий лай, дождь, морские волны, плач младенца, тикание часов, чихание человека, вертолет, бензопила, петух, треск огня).
Ключевая особенность проекта PiczakConvNet заключается в применении такого инструмента машинного обучения как глубокая сверточная нейронная сеть, которая с самого начала создавалась и затачивалась под работу с аудиосигналами, опираясь на известный и широко применимый в области машинного зрения метод распознавания и поиска изображений [17]. С целью предотвратить переобучение нейросети в алгоритме использовался метод исключения: каждую новую итерацию в процессе обучения сети случайным образом выбирается нейронный слой и исключается из дальнейших вычислений [17].
Создатели алгоритма SoundNet - исследователи из Лаборатории информатики и искусственного интеллекта (CSAIL) Массачусетского технологического института (MIT) пошли по похожему пути с тем лишь отличием, что для обучения SoundNet использовалась естественная синхронизация между алгоритмами машинного зрения и машинного слуха [18-19]. Таким образом нейросеть автоматически научилась получать звуковое «описание» объекта с неразмеченного видеоматериала. Обучение проводилось на видеороликах Flickr (около 2 млн видеороликов ~26 ТБ данных), а также использовалась база аннотированных звуков из 50 категорий, содержащая примерно 2000 образцов.
Хотя обучение нейросети происходило с визуальным «учителем» (архитектура алгоритма представлена на рис. 5), SoundNet показала отличный результат в автономном режиме по классификации минимум трёх стандартных акустических сцен, которые использовались разработчиками. Кроме того, нейросеть научилась самостоятельно распознавать характерные для некоторых сцен звуки, хотя изначально такой цели заложено не было и никаких данных об образцах система не получала. Нейросеть сама усвоила, какой сцене соответствует звук ликующей толпы (это стадион) и птичий щебет (это лужайка или парк), основываясь на данных базы неразмеченных видеоматериалов. В конечном итоге, нейросеть распознает и конкретный объект, который является источником звука, и сцену, в которой он участвует.
Рисунок 5. Архитектура сети SoundNet
Aytar Y., Vondrick C., Torralba A. Soundnet: Learning sound representations from unlabeled video //Advances in Neural Information Processing Systems. - 2016. - С. 892-900.
Таким образом, выше рассмотрены основные направления области машинного слуха, приведены примеры реализации и исследований в каждом из направлений, а также в общем виде выделены особенности задач каждого из направлений. Однако стоит отметить, что несмотря на наличие той или иной специфики каждого из направлений, вне зависимости от того, какая акустическая задача стоит перед компьютерной системой, можно выделить общую процедуру, которой подвергается аудиосигнал. Такая процедура является некоторым базовым подходом, который ранее успешно уже показал себя в решении задач, связанных с областью машинного зрения [16]:
1. Периферический анализатор. Использование некоторого периферического датчика, выполняющего роль внешнего интерфейса звукового анализа, является общим для всех программ, так или иначе связанных с задачами распознавания звуков. Такой анализатор представляет собой модель человеческой ушной улитки, благодаря чему звук сохраняет как мощность, так и структуру точного времени во всех потоках аудиосигнала.
2. Один или более генераторов слуховых образов. С помощью таких генераторов удается демодулировать временную структуру в более медленно меняющиеся представления в виде двумерных карт аудиоизображений.
3. Модуль извлечения характеристик. Как и в системах машинного зрения, этот этап получает аудиоизображения в качестве входных данных и извлекает различные локальные и глобальные характеристики аудиосигналов, которые в дальнейшем можно использовать в алгоритмах машинного слуха с целью выполнения поставленной задачи, например, работать с обучаемым классификатором, если говорить об анализе звука.
4. Обучаемый классификатор или модуль принятия решения. Применение к полученным данным соответствующих алгоритмов машинного слуха, чаще всего с помощью инструментария машинного обучения с тем, чтобы исследовать взаимосвязь идентифицированных на предыдущем этапе характеристик с возможными вариантами решения задачи.
Данная общая черта всех алгоритмов машинного слуха будет в дальнейшем учтена при формировании подхода к разработке архитектуры программных приложений, использующих алгоритмы машинного слуха, а также их ИТ-инфраструктуры.
1.3 Основные задачи, которые решаются с помощью алгоритмов машинного слуха
Теперь, когда рассмотрены основные направления развития и исследования алгоритмов машинного слуха, можно перейти к рассмотрению сфер деятельности человека и соответствующему выделению более узких задач, которые эти алгоритмы призваны решить. Алгоритмы распознавания и анализа музыки чаще всего используются в сфере развлечений. Программные приложения этого направления машинного слуха решают три основные задачи: распознавание трека (описанный ранее сервис Shazam), поиск аналогичных треков (Apple Genius, Pandora, ВКонтакте, Яндекс.Музыка) и распознавание верхнеуровневых признаков трека (WidiSoft, Essentia) [20-22]. Каждое из направлений достаточно широко развито и имеет ряд программных реализаций, большинство из которых на данный момент принадлежат рынку электронной коммерции. Особенностью программных решений, разрабатываемых в рамках этих задач, является высокая ориентированность на пользователей, а также большое количество пользователей в целом, что делает такие свойства систем как, например, надежность и быстродействие, крайне важными при реализации.
Алгоритмы распознавания речи активно применяются для разработки человеко-машинных интерфейсов в форме голосового управления как в сфере обслуживания, так и в различных экстремальных условиях, и на производстве. Также технологии распознавания речи, а именно распознавание голоса, пытаются использовать как инструмент идентификации пользователя по его биометрическим данным с целью обеспечения безопасности/защиты личных данных [14]. Распознавание речи - это направление, методы которого используются в лингвистике. Так, с помощью таких алгоритмов можно осуществлять автоматический синхронный перевод во время проведения встреч, просмотра фильмов. Отдельно стоит выделить направление, исследующее возможности создания голосовых персональных ассистентов, которые не только могут быть использованы человеком в качестве помощника при выполнении рутинных задач, но также позволят людям с ограниченными возможностями, например, слепым, с большей уверенностью передвигаться в пространстве. Особенность всех перечисленных выше задач заключается в требовании к их синхронному выполнению в режиме реального времени, что во многом определяет и другие требования и ограничения, которые предъявляет данный тип задач к разрабатываемому решению.
Наконец, третий перечень задач соотносится с направлением распознавания окружающей среды - наименее развитым на данный момент времени. Два основных фронта действий в этом направлении - это детектирование отдельных звуковых событий и определение звуковых сцен [23-27]. Частично задача детектирования звуковых событий уже была решена с помощью аппаратных средств: например, для контроля за оборудованием в IoT используются звуковые датчики, которые запрограммированы реагировать на специфичные акустические паттерны [23, 25]. Однако на решение задач направления распознавания окружающей среды возложены куда большие надежды: ожидается, что разработка решений в этом направлении позволит создавать системы безопасности нового поколения, прибегнуть к новым методам медицинских измерений и использования полученных данных с целью постановки пациенту диагноза на ранних стадиях, разработать новые подходы к контролю оборудования на производстве, которые дадут возможность детектировать различные дефекты вовремя [23-27].
Сводные данные по каждому типу задач, их требованиям и ограничениям, которые они представляют, представлены в таб. 1. В основе сводной таблицы лежит совокупность изученных в процессе исследования темы данной работы научных статей, кейсов и проектов. При этом такие требования как объем обрабатываемых и хранимых данных, а также нагрузка на систему и ее надежность представлены в относительной форме.
Таблица 1. Типовые задачи, решаемые алгоритмами машинного слуха, и их специфика
Распознавание и анализ музыки (Music Recognition) |
Распознавание речи (Speech Recognition) |
Распознавание окружающей среды (Environment Sound Recognition) |
|||||||
Распознавание трека |
Поиск аналогичных треков |
Распознавание верхнеуровневых признаков трека |
Распознавание слов |
Распознавание слитной речи |
Идентификация паттернов речи |
Определение звуковых сцен |
Распознавание звуковых событий |
||
Требования к входным данным |
Низкий уровень шума |
Отсутствие шума/ Низкий уровень шума |
Отсутствие шума/ Низкий уровень шума |
Низкий уровень шума |
Низкий уровень шума |
Низкий уровень шума |
Не имеет значения |
Не имеет значения |
|
Обработка входных данных |
В режиме реального времени/ Автономно |
В режиме реального времени/ Автономно |
В режиме реального времени/ Автономно |
В режиме реального времени |
В режиме реального времени |
В режиме реального времени |
В режиме реального времени |
В режиме реального времени |
|
Объем обрабатываемых данных |
Средний |
Очень большой |
Средний |
Средний |
Большой |
Средний |
Очень большой |
Очень большой |
|
Инструмент обработки |
Метод сигнатур |
Метод акустических отпечатков/ Машинное обучение |
Метод обертонового ряда |
Скрытая Марковская модель |
Скрытые Марковские модели/ Машинное обучение |
Скрытые Марковские модели/ Нейронные сети |
Машинное обучение |
Машинное обучение |
|
Объем хранимых данных |
Очень большой |
Очень большой |
Низкий |
Средний |
Очень большой |
Средний |
Очень большой |
Очень большой |
|
Нагрузка на систему |
Средняя |
Средняя/Высокая |
Средняя |
Средняя |
Средняя/ Высокая |
Средняя |
Высокая |
Высокая |
|
Надежность |
Высокая |
Высокая |
Средняя |
Высокая |
Высокая |
Высокая |
Высокая |
Высокая |
Таким образом, в данной главе были рассмотрены существующие решения и разработки в области машинного слуха, приведены примеры реализации алгоритмов машинного слуха на практике, а также выделены типовые задачи, для каждого типа которых сформированы предъявляемые требования.
Глава 2. ИТ-инфраструктура
2.1 Понятие ИТ-инфраструктуры
В течение нескольких десятилетий ИТ-инфраструктура развивалась вслед за развитием информационных технологии, проходя путь от относительно простых систем к построению сложной архитектуры: ПО развивалось с точки зрения расширения функциональности и сложности, аппаратные средства эволюционировали в основном в контексте доступных мощностей. В последние годы ИТ-инфраструктура претерпела множество изменений и стала только сложнее благодаря развитию и внедрению таких технологий как хранилище данных, Big Data, Интернет вещей и облачные вычисления. ПО с использованием данных технологий требовали новые и более сложные подходы к построению и поддержке инфраструктур, в частности особенно важными стали такие свойства ИТ-инфраструктуры как масштабируемость, непрерывность и доступность. Бизнес получает совершенно определенную выгоду от качественной ИТ-инфраструктуры: надежная, масштабируемая и модульная инфраструктура создает прочную основу для обеспечения гибкости бизнеса на рынке. С тем, чтобы инфраструктура отвечала потребностям бизнеса, необходимо правильно разработать ее архитектуру.
Архитектура в данном контексте - это свое рода философия, лежащая в основе системы и определяющая ее цель, назначение и структуру. Существует большое количество видов архитектур: бизнес-архитектура, архитектура предприятия, архитектура данных, архитектура приложений и архитектура инфраструктуры [28]. Каждая из этих дисциплин обладает определенными уникальными характеристиками, но основная мысль здесь заключается в том, что на самом базовом уровне все они направлены на сопоставление ИТ-решений с бизнес-значимостью, что позволяет эффективно управлять ИТ-инфраструктурой.
Говоря о самом понятии ИТ-инфраструктуры, на мой взгляд, среди большого количества предложенных определений [28] наиболее корректная и всеобъемлющая следующая трактовка: ИТ-инфраструктура - это совокупность оборудования, программного обеспечения, сетей и иных средств, а также процессов и данных, необходимых для разработки, тестирования, доставки, мониторинга, управления и поддержки ИТ-услуг.
Согласно представленной на рисунке 6 модели, процессы используют информацию, которая хранится и управляется с помощью приложений [28]. Приложениям в свою очередь требуются платформы и инфраструктура. Каждый из блоков управляется с учетом своей специфики. Такая модель, по моему мнению, в отличие от классического определения ИТ-инфраструктуры, которое включает в себя все информационные технологии, но не берет в рассмотрение связанных с ними людей, процессы и информацию, является более полной и позволяет провести ту самую необходимую для бизнеса параллель между выбранными ИТ-решениями и ценностью для бизнеса. В рамках данной работы внимание будет преимущественно сконцентрировано на уровнях (согласно описанной выше модели) ПО, платформ и инфраструктуры.
Рисунок 6. Модель ИТ-инфраструктуры
Laan S. IT Infrastructure Architecture-Infrastructure Building Blocks and Concepts Third Edition. - Lulu. com, 2017.
2.2 Модели построения архитектуры приложений
Инфраструктура - сложное и комплексное понятие, требующее системного подхода в рассмотрении. В состав инфраструктуры входят такие компоненты как: физические сервера, дата центры, системы хранения данных, операционные системы, контролирующие поведение инфраструктуры, модели вычислений, сети, различные платформы (серверы front-end поддержки, серверы приложений, сервисы связи, базы данных), которые обеспечивают основу для вышележащих уровней ИТ-инфраструктуры согласно модели, представленной в предыдущем разделе, а также устройства конечных пользователей [28]. Однако несмотря на то, что физическая инфраструктура, безусловно, играет большую роль, в рамках данной научной работы подробно будет рассмотрена взаимосвязь только части компонентов, поскольку, как уже было сказано ранее, инфраструктура - сложное явление и невозможно покрыть все вопросы, связанные с ее разработкой, одним исследованием. В контексте исследуемой темы рассматривается модель взаимодействия устройств конечных пользователей и инфраструктуры в целом. В данном разделе представлены три наиболее распространенных подхода при разработке программных приложений типа клиент-сервер.
В модели клиент-сервер принято выделять три ее спецификации:
· «толстый» клиент (rich client);
· «тонкий» клиент (thin client);
· смешанная модель;
Под термином «толстый» клиент подразумевается паттерн проектирования взаимодействия типа сервер-клиент с уклоном на вычисление и обработку данных на стороне клиентского приложения [29]. Так, большинство многопользовательских видеоигр работают по модели «толстого» клиента, когда все вычисления, модели и ресурсы предзагружаются и обрабатываются на стороне пользователя, а сервер используется только для отправки обновленного слепка профиля пользователя. Такая концепция является достаточно удобной для пользователя, так как благодаря такой схеме построения программное приложение обладает широким спектром функциональности, становится автономным, может работать без доступа в Интернет, то есть без постоянной связи с сервером, трафик приложения при этом значительно сокращается, что приводит к уменьшению сетевых задержек и повышению общего быстродействия программного приложения при условии соблюдения установленных аппаратных требований на стороне клиента [29]. Однако использование «толстого» клиента несет за собой и ряд недостатков и неудобств, ключевым из которых является необходимость синхронизации и поддержки разных платформ, каждая из которых имеет свою специфику и ограничение. Необходимость поддерживать несколько платформ разом значительно удлиняет циклы разработки, что приводит к неактуальности данных, используемых приложением. Кроме того, такой подход перекладывает всю нагрузку на устройство пользователя, что делает использование сервиса менее толерантным по отношению к устройствам различной мощности.
«Тонкий» клиент же - это концепция, при которой приложение на устройстве конечного пользователя является не столько приложением, сколько интерфейсом для удобного взаимодействия пользователя и основной инфраструктуры предоставляемого сервиса [30]. При использовании данного подхода вся бизнес-логика продукта переносится на инфраструктуру, с которой пользователь вынужден постоянно быть связанным через интерфейс приложения. Создание приложения-интерфейса с минимальной логикой гораздо дешевле, чем разработка полноценного «толстого» клиента, и благодаря этому, организации могут сокращать свои производственные циклы, переходя на «короткие» релизы продуктов. Кроме того, использование «тонких» клиентов делает возможным реализацию сложных программных решений и алгоритмов, требующих больших вычислительных мощностей для их исполнения, и снимает нагрузку с устройств пользователя [30]. Однако при этом не стоит забывать, что существенным минусом «тонкого» клиента является потребность в стабильном канале связи с инфраструктурой, который бы имел высокую пропускную способность для корректной работы. Когда возникают продолжительные проблемы с сетью, сервис становится недоступным для использования, а значит попросту бесполезным. Таким образом, можно заметить, что использование описанных в рамках данной работы моделей взаимодействия клиента и сервера в чистом виде могут быть успешно реализованы только в определенных нишах.
По этой причине большинство продуктов предпочитают третий тип взаимодействия по модели клиент-сервер - смешанное решение: баланс между «тонким» и «толстым» клиентом. Сводные данные по каждому типу модели клиент-серверного взаимодействия представлены в таблице 2.
Таблица 2. Особенности различных моделей клиент-серверного взаимодействия
Особенности спецификации |
||
«толстый» клиент |
? вычисление и обработка данных на стороне пользователя ? программное приложение автономно ? относительно высокое быстродействие программного приложения при условии соблюдения аппаратных требований ? сложность в синхронизации и поддержке многообразия платформ ? основная нагрузка приходится на устройства конечного пользователя |
|
«тонкий» клиент |
? приложение на устройстве конечного пользователя играет роль только интерфейсного взаимодействия ? вся бизнес-логика размещена на сервере: есть возможность реализовывать более сложные решения без привязки к каждому устройству конечного пользователя ? кроссплатформенность с точки зрения синхронизации и поддержки программного решения ? относительно низкое быстродействие программного приложения из-за постоянного взаимодействия с сервером ? для полноценного функционирования программного приложения требуется стабильное подключение к сети ? основная нагрузка лежит на инфраструктуре |
|
смешанный клиент |
? возможно распределение вычислений на усмотрение команды разработки ? программное приложение может быть частично автономным ? кроссплатформенность с точки зрения синхронизации и поддержки программного решения ? бизнес-логика и нагрузка распределена в рамках ИТ-инфраструктуры |
В качестве примера рассмотрим уже упомянутый ранее сервис Shazam, основной функционал которого - определение проигрываемой композиции - реализован с использованием алгоритмов машинного слуха. Архитектура Shazam комбинирует в себе модели «тонкого» и «толстого» клиента [13]. Принцип работы сервиса прост: на начальном этапе приложение записывает песню интервалом до 20 секунд, после чего обрабатывает полученные входные данные и, наконец, выдает результат со своим предположением о том, какому треку может соответствовать композиция на входе.
Если же рассматривать алгоритм работы приложения более подробно, то к «толстому» клиенту относится такая деятельность приложения как: запись двадцатисекундного интервала входного звука, первичная очистка и определение сигнатур трека - эти этапы работы приложения осуществляется на стороне устройства. Как только сигнатуры определены, приложение обращается в свой облачный сервис через фасад балансировщика нагрузки за результатом поиска по предоставленным сигнатурам, и если вдруг первичные сигнатуры не дают конкретного ответа, тогда уже записанный фрагмент отправляется непосредственно в инфраструктуру Shazam, и на ее стороне происходит последующий анализ средствами машинного обучения.
Этап сравнительного анализа полученных сигнатур с эталонами, размещенными в хранилище данных сервиса, и более тщательный анализ фрагмента композиции (при необходимости) можно определить как взаимодействие по модели «тонкого» клиента. Таким образом, можно заметить, что данный сервис достаточно удачно сочетает в себе особенности как модели клиент-серверной организации типа «толстого» клиента, так и «тонкого».
Стоит отметить, что на данный момент развивается новая концепция распределенных между компонентами инфраструктуры вычислений, получившая популярность в последнее время - туманные (fog) вычисления [31]. Туманные вычисления рассматриваются как своего рода расширенное понятие облачных вычислений. Это высоко виртуализированная платформа, которая обеспечивает вычисления, хранение и распределенное предоставление сетевых сервисов между конечными устройствами и традиционными облачными серверами.
В ее основе лежит чип микроконтроллера с памятью и интерфейсом для передачи данных на борту и чип беспроводной связи типа Mesh (сенсорная сеть) [31]. Использование туманных вычислений позволяет сократить объем передаваемых по сети данных и обеспечить частичную автономность клиентской части программного приложения.
2.3 Взаимное влияние технологий машинного слуха и ИТ-инфраструктуры на примере алгоритмов распознавания речи (Siri)
Распознавание речи - одна из задач машинного слуха, которая начала свое развитие в середине прошлого века и продолжает развиваться до сих пор. Во многом добиться тех результатов, которые сейчас демонстрируют различные продукты массового использования и исследовательские проекты, позволило развитие информационных технологий - в частности, тех аспектов, что касаются ИТ-инфраструктуры.
Первой системой, способной в той или иной мере распознавать человеческую речь, стала «Audrey» (Bell Laboratories, 1952): в условиях, предоставляемых в то время инфраструктурных мощностей, она была способна распознавать цифры от «0» до «9», если слова произносились одним и тем же диктором и временной лаг между произносимыми цифрами составлял не менее 350 миллисекунд [32-33].
Последующие системы такие, как «Shoebox» (IBM, 1962), «Harpy» (Университет Карнеги Меллона, 1971-1976), различные системы, основанные на применении метода скрытой марковской модели (1980-е), развивались приблизительно в одном темпе с инфраструктурными компонентами, что позволило применять для решения задачи распознавания речи все более математически сложные алгоритмы, увеличить словарный запас некоторых таких систем до 5000 слов и даже перевести технологию в коммерческое русло (массовый выпуск говорящих кукол Julie Doll) [33-34]. Однако на этом этапе развитие инфраструктуры стало уступать разрабатываемому для решения задач распознавания речи ПО, что и привело к первому застою: обработка слов длилась продолжительное время, по причине чего пользователи должны были делать существенные паузы между словами - иначе программы не работали.
Проблема скорости обработки слов алгоритмами распознавания речи на данном этапе была решена с появлением более быстрых процессоров (1990-е), что позволило разработать ПО, - в том числе общедоступное - способное распознавать нормальную речь, произносимую непрерывно (Dragon Dictate /Dragon Naturally Speaking, VAL) [33-34]. Появившиеся новые технологии способствовали тому, что точность распознавания речи увеличилась до 80% к началу 2000-х, однако на этом быстрое развитие области закончилось: развитие подходов, используемых для решения задач распознавания речи, сильно сдерживалось ограниченными ресурсами ИТ-инфраструктуры.
Вывести технологию распознавания речи до уровня, известного сейчас, позволило развитие облачных технологий: благодаря использованию облачных хранилищ данных стало возможным разгрузить работу алгоритма на устройстве пользователя [33-34]. Теперь для поиска и анализа совпадений в словах и голосовых паттернах, полученных от других пользователей, стали применяться облачные вычисления. Так появились известные и продвинутые на данный момент системы: Google Voice Search, Siri.
Siri - яркий пример широкого использования алгоритмов распознавания речи в современном мире. Siri использует архитектурную модель «тонкого» клиента: анализ речи и формирование ответного действия на обработанный триггер происходит на стороне сервера, в облаке (рис. 7).
Рисунок 7. Архитектура работы голосового помощника Siri
Hey Siri: An On-device DNN-powered Voice Trigger for Apple's Personal Assistant / Machine Learning Journal.
Для построения ответа по запросу Siri может также использовать внешние сервисы, например, сервис погоды для построения ответа на вопрос: «Какая погода будет завтра в Москве?». При этом на стороне клиента происходят минимальные манипуляции - первичное распознавание звука и определение голосовых триггеров.
Таким образом, в рамках данной главы была показана роль ИТ-инфраструктуры в работе программных приложений, представлено сравнение трех основных моделей клиент-серверного взаимодействия, а также приведен практический пример того, как развитие ИТ-инфраструктуры существенно повлияло на эволюцию технологии распознавания речи (как частный случай применения алгоритмов машинного слуха), так как только с появлением мощных инфраструктурных компонентов (развитие процессоров, хранилищ данных) и архитектурных решений (облачные вычисления) данная область смогла существенно продвинуться вперед.
Глава 3. Подход к формированию архитектуры информационных систем, использующих алгоритмы машинного слуха. Разработка архитектуры сервиса по подбору музыки под настроение с использованием предложенного подхода
3.1 Разработка подхода к формированию архитектуры информационных систем, использующих алгоритмы машинного слуха
Существует большое количество различных подходов, методологий и стандартов, которые рассматривают способы построения архитектуры информационных систем, а некоторые, такие как, например, группы стандартов ISO и ГОСТ, в том числе закрепляют установленный перечень атрибутов и терминов, который необходимо использовать при ее описании. Их детальный анализ выходит за границы данной работы, так как ее цель заключается, в первую очередь, в попытке выявить те особенности алгоритмов машинного слуха, которые обязательно нужно учитывать при формировании архитектуры информационной системы, инструментом для которой они становятся.
Разработанный в рамках данной работы подход опирается на два основных источника знаний: SEBoK - свод знаний по системной инженерии - и методологию построения корпоративных информационных систем, описанную Фаулером [37-38].
Прежде, чем приступить к описанию предлагаемого ниже подхода построения архитектуры систем, необходимо отметить, что он не является единственно верным. Кроме того, как и любой другой, описанный в данной работе подход не подразумевает единственность решения, полученного с его помощью.
1. Описание концепта системы. На первом этапе необходимо в любом доступном виде в общих чертах изложить проблему и способ ее решения, который планируется реализовать с помощью инструментов автоматизации (информационной системы). Данный этап призван очень верхнеуровнево отобразить функциональные требования к ИС и пользовательские сценарии, что в дальнейшем позволит сформировать все необходимые группы требований (здесь и далее используется классификация требований к разработке ПО по Вигерсу), в том числе, к инфраструктуре [39].
2. Определение назначения и задачи системы. Следующим шагом на основе описанной проблемы и предложенного концепта ее решения необходимо четко сформулировать, в чем заключается назначение разрабатываемой информационной системы, какие задачи должна решать система и какую ценность это решение несет ее пользователю. Этот этап дает возможность определить функционал системы на уровне бизнес-требований, расставить приоритеты в решении описанной проблемы, а также частично извлечь требования пользователей.
...Подобные документы
Искусственные нейронные сети как одна из широко известных и используемых моделей машинного обучения. Знакомство с особенностями разработки системы распознавания изображений на основе аппарата искусственных нейронных сетей. Анализ типов машинного обучения.
дипломная работа [1,8 M], добавлен 08.02.2017История автоматизированного перевода. Современные компьютерные программы перевода. Сфера использования машинного перевода. Формы организации взаимодействия человека и ЭВМ в машинном переводе. Интерредактирование и постредактирование машинного перевода.
курсовая работа [30,0 K], добавлен 19.06.2015Характеристика модели клиент-сервер как технологии взаимодействия в информационной сети. Разработка и описание алгоритмов работы приложений на платформе Win32 в среде Microsoft Visual Studio, использующих для межпроцессного взаимодействия сокеты.
курсовая работа [544,6 K], добавлен 02.06.2014Сетевое программное обеспечение: общее понятие, содержание, функции. Этапы развития теории компьютерных сетей. Проектирование в среде программирования Borland Builder C++ клиент серверного приложения с использованием сокетов, листинг данной программы.
курсовая работа [191,5 K], добавлен 07.01.2015Історія машинного перекладу як науково-прикладного напряму. Теорія машинного перекладу. Особливості використання систем, орієнтованих на персональні комп’ютери. Напрямки розвитку та застосування машинного перекладу. Приклади систем машинного перекладу.
реферат [21,5 K], добавлен 19.02.2011Критерии и основные стратегии планирования процессора. Разработка моделей алгоритмов SPT (Shortest-processing-task-first) и RR (Round-Robin). Сравнительный анализ выбранных алгоритмов при различных условиях и различном количестве обрабатываемых данных.
курсовая работа [179,3 K], добавлен 21.06.2013Анализ архитектуры информационной системы, в структуру которой входят системы файл-сервер и клиент-сервер. Сравнение языков запросов SQL и QBE. Принципы разработки приложений архитектуры клиент-сервер при помощи структурированного языка запросов SQL.
курсовая работа [88,9 K], добавлен 11.04.2010Разработка системы, базирующейся на протоколе LIMone, для обмена мгновенными сообщениями и пересылки файлов в процессе деловой переписки. Реализация системы в виде клиент-серверного приложения. Расчет экономических показателей программного продукта.
дипломная работа [4,7 M], добавлен 22.08.2016Изучение истории достижений корпорации Oracle. Разработка клиент-серверного приложения на языке Delphi XE, реализующего возможность управления персоналом на предприятии. Основные структуры данных. Создание инструкции работы с приложением "Отдел кадров".
дипломная работа [974,7 K], добавлен 08.06.2013Назначение создания информационной системы "Электронный журнал" для автоматизации контроля учебного процесса. Построение логической и реляционной моделей данных. Разработка клиент-серверного приложения для работы с базой данных; программная реализация.
дипломная работа [5,9 M], добавлен 19.01.2017Особенности современной инфраструктуры веб-приложения как одного из трендов в области разработки программного обеспечения. Использование систем управления конфигурациями (Configuration Management) при эксплуатации IT-инфраструктуры на примере "Ansible".
статья [238,7 K], добавлен 10.12.2016Человеко-машинный интерфейс. Текстовый и смешанный (псевдографический) интерфейсы. Применение человеко-машинного интерфейса в промышленности. Программные средства для разработки человеко-машинного интерфейса. Среда разработки мнемосхем GraphworX32.
дипломная работа [5,3 M], добавлен 19.03.2010Многоуровневые архитектуры клиент–сервер. Диаграммы классов, реализующих уровни презентации, бизнес–логики и базы данных приложения. Словесное описание процесса выполнения транзакций. Создание, изменение и удаление хранимых процедур, их выполнение.
курсовая работа [3,4 M], добавлен 23.03.2013Разработка компьютерной сети. Спецификация и расчет себестоимости спроектированной сети. Выбор инструментальных средств для реализации разрабатываемого клиент-серверного приложения. Описание логической структуры программного продукта, основные алгоритмы.
курсовая работа [942,1 K], добавлен 19.03.2012Понятие информационной инфраструктуры предприятия. Основные виды информационных технологий в деятельности организации. Анализ информационной структуры и конкурентных преимуществ информационных технологий на примере предприятия ООО "Техноплекс".
дипломная работа [622,8 K], добавлен 04.06.2015Разработка конфигурации службы. Исследование вычислительной эффективности алгоритма оптимизации. Программная реализация клиент-серверного приложения. Алгоритм решения непрерывной задачи загрузки рюкзака. Подключение веб-сервиса к клиентскому приложению.
курсовая работа [1,4 M], добавлен 21.01.2017Проектирование информационной системы на основе архитектуры "файл-сервер", "клиент-сервер", многоуровневой архитектуры, Intranet-системы. Преимущества и недостатки файл-серверного подхода при обеспечении многопользовательского доступа к базе данных.
лабораторная работа [220,5 K], добавлен 02.02.2015Анализ методических подходов к оценке эффективного обеспечения безопасности объектов информационной инфраструктуры государства (ИИГ). Описание системы мероприятий по нейтрализации (минимизации) угроз объектам ИИГ и величины их возможного ущерба.
статья [19,8 K], добавлен 17.08.2017Характеристика разновидностей программной реализации чатов. Разработка программы клиент-серверного чата с возможность общения в локальной сети нескольких человек одновременно. Протокол взаимодействия клиента и сервера. Порядок работы с программой.
курсовая работа [530,7 K], добавлен 25.04.2015Особенности развития информационных и коммуникационных технологий в России. Цели развития и пути их достижения. Формирование инфраструктуры, повышение качества социального обслуживания и управления как направления развития коммуникационных технологий.
презентация [422,0 K], добавлен 31.05.2014