РАЗРАБОТКА БИБЛИОТЕКИ ДЛЯ ГОЛОСОВОГО ВВОДА



МАТЕМАТИЧЕСКИХ ФОРМУЛ С ПОДДЕРЖКОЙ

ЛОКАЛИЗАЦИИ

 

Объект исследования: процесс распознавания математических формул при использовании систем голосового ввода

Результаты, полученные лично автором: разработана библиотека для перевода распознанного текста в математические формулы.

 

Распознавание речи — процесс преобразования речевого сигнала в цифровую информацию (например, текстовые данные, формулы и т.п.). Обратной задачей является синтез речи.

Все большую популярность применение распознавания речи находит в различных сферах бизнеса. При этом системы распознавания являются независимыми от дикторов, то есть распознают голос любого человека.

В докладе было рассказано о продукте «Voice Art», позволяющему проходить учебные тесты, используя только голосовое управление и устройства для вывода звука.

После завершения разработки серверной части продукта, была выявлена проблема ввода более специфичной информации, нежели текст. Если с тестами по истории, английскому и т.д. хватало только распознавания текстовой информации и набора альтернатив, то для прохождения тестов по математике, физике, химии понадобилась дополнительная обработка текста. Например, для задачи, указанной на рисунке 1, правильным ответом могли служить примерно 24 фразы на естественном языке (one plus x square root of five, one plus x times square root of five, the square root of five x plus one и т.д.)

Рис. 1. Пример формулы

Для решения этой задачи было предпринято разделение процесса распознавания на три этапа:

1. Преобразование речи в строку

2. Преобразование строки в математическую формулу

3. Сравнение полученной формулы с правильной

В итоге, были созданы библиотеки для грейдинга математических формул и для перевода фраз на естественном языке в однозначно трактуемые формулы, записываемые с помощью синтаксиса latex.

Исходные файлы этих библиотек, написанные на языке Javascript, можно посмотреть в репозитории по адресу https://github.com/competentum/voice-art.

Сейчас ведется работа по локализации библиотеки на несколько языков, на данный момент в тестовом режиме программа может работать с английским, испанским и русскими языками.

Материал поступил в редколлегию 03.04.2017

УДК 004.5

А.С. Марочкин, Д.С. Морозов

Научный руководитель: доцент кафедры «Информатика и программное обеспечение», к.т.н., Д.В. Титарев

 

ПРОЕКТИРОВАНИЕ И РАЗРАБОТКА ПРОГРАММНОГО КОМПЛЕКСА ОРГАНИЗАЦИИ СОВМЕСТНЫХ ПОЕЗДОК В ЧЕРТЕ ГОРОДА

 

Объект исследования: процесс организации совместных поездок в черте города.

Результаты, полученные лично авторами: спроектирована архитектура программного комплекса, определены основные требования к программному комплексу, разработана диаграмма вариантов использования.

 

Целью работы является разработка программного комплекса организации совместных поездок в черте города.

На данный момент в центральном федеральном округе, в области пас-сажирских перевозок существуют две крайности: первая – маршрутные такси, троллейбусы, автобусы, вторая – такси. Отсутствие каких-либо альтернатив приводит к целому ряду проблем: увеличение нагрузки на городской, общественный транспорт, отсутствие возможности водителя использовать свой автомобиль как инструмент получения дохода. Проектируемая система призвана решить данные проблемы.

На рис. 1. Представлена диаграмма вариантов использования программного комплекса. После авторизации пользователя в приложении, дальнейшую работу можно разделить на 2 большие части – это работа под ролью водителя или пассажира.

Рис. 1. Диаграмма вариантов использования

Весь функционал приложения доступен пользователю только после прохождения регистрации и последующей авторизации.

Пассажир может создавать поездку, указывать условия поездки, изме-нять условия, изменять свой профиль, осуществлять диалог с водителем. После окончания поездки пассажир может оценить поездку. Так же имеется возможность переключить свою роль с пассажира на водителя.

Водитель, в свою очередь, может просматривать на карте созданные пассажирами поездки, просматривать подробные условия выбранной по-ездки, принимать их, осуществлять диалог с пассажиром, менять данные о своем профиле и переключать свою роль с водителя на пассажира.

На рис. 2. представлена спроектированная архитектура программного комплекса. Она представляет из себя типичную трехзвенную клиент-серверную модель.

Рис. 2. Архитектура программного комплекса

Звенья системы:

•   База данных – база данных приложения представленная СУБД PostgreSQL.

•   Сервер – веб-сервер, поддерживающий логику работы приложе-ния. Представляет из себя кроссплатформенное приложение, со-держащее в себе модули для обработки запросов клиентов и со-хранения данных на сервере базы данных.

•   Приложения клиенты – клиентские мобильные приложения для трех разных платформ:

o  Android.

o  Windows Phone.

o  IOS.

Обмен данными между клиентом и сервером происходит по протоколу HTTP с использованием технологии Web Socket и формата JSON.

Материал поступил в редколлегию 03.04.2017

УДК 004.422.63

П.Н. Мигаль

Научный руководитель: профессор кафедры «Информатика и программное обеспечение», к.т.н., В.К. Гулаков

p.migal@yandex.ru

 

АНАЛИЗ ДРОЖАЩИХ ПИРАМИД

Объект исследования: дрожащая пирамида, основные операции над ней.

Результаты, полученные лично автором: собраны материалы в английском сегменте интернета, разработана программа, проанализированы результаты тестирования.

 

Пирамида – структура данных, предназначенная для выполнения ряда важных операций за минимальное время. Эта структура весьма важна для решения задач оптимизации, сортировки, решения сетевых задач и т.д. Дрожащая пирамида – один из вариантов пирамид и состоит из коллекции турнирных деревьев. Корни всех деревьев объединены в упорядоченный список.

Основные операции над пирамидой:

Операция link – связывает две пирамиды в одну. Сначала объединяются корневые списки пирамид в один корневой список. Далее проверяем его на наличие деревьев одинаковой высоты и объединяют их в одно турнирное дерево. Сложность операции О(log n).

Операции cut – вырезание узла из дерева и вставка его в корневой список. Сложность операции О(1).

Операция create – создать пустую пирамиду. Создается пустой список root list. Сложность операции О(1).

Операция insert. Создаем дерево размера 1 и вставляем его в корневой список. Сложность алгоритма вставки О(1).

Операция find-min – найти минимум в пирамиде. Очевидно, минимум находится в корневом списке, то есть, чтобы его найти нужно пройтись по корневому списку. Сложность: О(root_list.length) = О(log n).

Операция decrease-key(X,K) – уменьшает ключ X в элементе на K. Вырезаем поддерево с корнем в точке X. После этого уменьшим величину X в отдельном новом дереве. Сложность: О(log n).

Операция delete-min. Мы удаляем путь с узлами, которые хранят минимальный элемент. Число деревьев в наборе растет и мы проводим операцию link, для уменьшения их количества. Сложность: О(log n).

Операция delete – удалить произвольный элемент. Сначала уменьшим значение в вершине до минимально возможного значения. А затем удалим минимальный элемент в пирамиде. Сложность: О(log n).

После многих операций уменьшения и вставки турнирные деревья могут вырождаться в список. Мы поддерживаем условие того, что на каждой высоте должно быть не менее 3/4 узлов, имеющих двух потомков. Когда это условие нарушается для высоты i, происходит "дрожащее" событие, и мы удаляем все с высоты i+1 и поднимаем все деревья в корневой список, чтобы снова перестроить дерево.

Теоретическая оценка дрожащих пирамид не уступает различным пирамидам. Однако на практике эффективность пирамид зависит от многих факторов, таких как основные операции в алгоритме решаемых задач и их количественное сочетание.

Материал поступил в редколлегию 03.04.2017

УДК 004.021

П.С. Михалев

Научный руководитель: доцент кафедры «Информатика и программное обеспечение», к.т.н., А.А. Азарченков


Дата добавления: 2018-10-27; просмотров: 243; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!