Проектирование мобильного приложения
Разработка приложения для проверки использования времен глаголов в английском языке. Создание базы данных. Анализ используемых средств для реализации автоматического разбора текста. Проектирование мобильного приложения с помощью диаграмм деятельности.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 13.09.2017 |
Размер файла | 2,6 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Введение
В настоящее время существуют множество различных языков, но одним из самых используемых языков в мире считается английский язык. Согласно статистике на 2016 год английский занимает 3 место в топ 10 самых используемых языков мира [1]. Кроме того, считается, что 85 процентов всех научных публикаций, 75 процентов всей международной коммуникации в письменной форме, 80 процентов всей информации в компьютерах в мире и 90 процентов интернет-контента находятся на английском языке [2]. Следовательно, знание английского языка необходимо каждому современному человеку.
На изучение английского языка тратится много времени и сил. Для облегчения изучения английского созданы множество уроков, упражнений, тестов, а также сайтов, компьютерных программ и мобильных приложений. Но материалов по изучению одной из самых сложных тем времен глаголов в английском языке недостаточно. Большинство материалов или слишком легкие, или ограничены по количеству или платные.
В последние несколько лет, вопрос об использовании мобильных технологий в обучении стал действительно распространен. Например, двумя китайскими учеными было проведено исследование на данную тему [3]. В данном исследовании поднимались следующие вопросы: Как сейчас происходит обучение с помощью мобильных технологий? Какие мобильные технологии используются в настоящее время? Как студенты реагируют на использование мобильных технологий? Исследование на данную тему проводилось в течении двух лет на 122 студентах. В течении двух лет студенты проходили обучение английскому языку с помощью мобильного приложения. Для выявления результатов данного подхода к изучению использовалось анкетирование 120 студентов. Анкетирование показало, что 92 процента опрошенных используют мобильные технологии для обучения и это помогло поднять успеваемость. Также опрошенные утверждают, что наиболее удобный способ для получения доступа к урокам является использование мобильные технологии и считаю данную отрасль востребованной в будущем. В результате данного исследования можно сделать вывод, что использование мобильных технологий в образовании, действительно, перспективная область в настоящее время.
Для изучения английского языка существует большое количество мобильных приложений, таких как Lingualeo, Easy ten, Duolingo, Полиглот и другие. Но каждое из этих приложений имеют свои недостатки.
Мобильное приложение Lingualeo в основном платный, и для доступа к реальным текстам из интернета придется платить деньги и реальные тексты не помогают выучить времена неправильных глаголов [4]. Также в данном приложении бесплатным являются только тестовые материалы, что не совсем помогает хорошо усвоить реальный английский язык. В основе обучения мобильного приложения по изучению английского языка Easy ten лежит изучения 10 слов за день, что действительно помогает выучить новые слова и пополнить свой словарный запас английских слов [5]. Однако, в данном приложение нет изучения времен английских глаголов. В мобильном приложение Duolingo времена английских глаголов учатся с помощью тестовых упражнений, чтения и перевода текста, а также аудирования[6]. Что не позволяет учить английский язык на реальных текстах в реальном времени. Изучение английских глаголов в приложение Полиглот строится на основе перевода русского текста в английский, что является не совсем продуктивным и скорей всего подходит для начинающих изучение английского [7].
На основе данных приложений, можно ясно выявить проблему исследования, что на данный момент не существует приложений, позволяющих изучать английский на реальных текстах в режиме реального времени. Разработанное в данной работе приложение позволит изучать времена английских глаголов на реальных текстах в режиме реального времени. Текст для изучения времен английских глаголов будет автоматически генерироваться из таких источников как «The New York Times», «Harvard Library», «Cambridge Library» и другие.
Объектом исследования является процесс изучения использования времен глаголов в английском языке. Предметом исследования является организованное и обеспеченное необходимой информационной поддержкой средство для изучения использования времен английских глаголов на основе автоматической генерации реальных текстовых материалов.
Целью данной работы является разработка мобильного приложения для проверки использования времен глаголов в английском языке.
Достижение цели возможно посредством решения следующих задач:
1. провести анализ методик изучения времен английских глаголов;
2. сформулировать требования к разрабатываемому мобильному приложению;
3. провести анализ существующих мобильных приложений для изучения английского языка, существующих графематических и морфологических библиотек;
4. проанализировать инструментальные средства и технологии;
5. выполнить экономическое обоснование разработки мобильного приложения;
6. разработать архитектуру мобильного приложения и спроектировать интерфейс приложения;
7. реализовать мобильное приложение и протестировать.
При разработке и проектировании мобильного приложения использовались объектно-ориентированная методология разработки, методы объектно-ориентированного проектирования UML, тестирование согласно ГОСТ Р ИСО/МЭК 25010-2015.
Практическая значимость данной работы состоит в том, что автоматическая генерация тестовых материалов и примеры на реальных текстах поможет снизить затраты времени и усилий на изучение времен глаголов в английском языке.
Глава 1. Анализ решений задачи проверки использования времен английских глаголов
В данной главе будет проведен анализ способов получения образования в современном мире, сформулированы основные требования к приложению, проанализированы мобильные приложения конкурентов и выбраны средства для гарфематического и морфологического анализа обработки естественного языка.
база данные мобильный диаграмма
1.1 Способы получения образования в современном мире
В настоящее время существует множество способов получения образования, которые значительно отличаются от того что было еще 20 лет назад. Люди, которые следят за последними тенденциями в данной сфере являются наиболее конкурентоспособными и приспособленными к современному миру. Для начала необходимо сформулировать четкое определение термину «Образование». Образование - единый целенаправленный процесс воспитания и обучения, являющийся общественно значимым благом и осуществляемый в интересах человека, семьи, общества и государства, а также совокупность приобретаемых знаний, умений, навыков, ценностных установок, опыта деятельности и компетенции определенных объема и сложности в целях интеллектуального, духовно-нравственного, творческого, физического и (или) профессионального развития человека, удовлетворения его образовательных потребностей и интересов[7]. Из данного определения четко видно, что образование необходимо для развития человека и удовлетворения его образовательных потребностей и интересов. Главной целью образования является получение знаний, которые пригодятся в дальнейшей жизни и сделают человека востребованным на рынке труда.
Образование можно получить следующими способами:
1. официальная система образования РФ, которая включает в себя дошкольное, общее и профессиональное образование;
2. самообразование, которое включает в себя получения знаний из книг и учебников, при чтении прессы, прослушивания радио или просмотра телевизора и наконец в результате посещения курсов, мастер классов или других подобных мероприятий;
3. самообразование с использованием интернета, которое включает в себя online курсы от ведущих университетов мира, электронные библиотеки и социальные сети.
Из рассмотренных выше способов самым удобным и часто используемым является самообразование с использованием интернета, так как в основном все ресурсы являются бесплатными и находятся в свободном доступе. Данный вывод является результатом социального опроса потенциальных пользователей от 15 до 43 лет в количество 173 человек (рис. 1.1).
Рисунок 1.1. Социальный опрос «Наиболее удобный способ получения образования»
Самообразование с помощью интернета происходит в основном с использованием веб-сайтов, настольных приложений и мобильных приложений. В настоящее время популярны образовательные онлайн платформы, благодаря которым каждый может получать образования от мировых университетов и бизнес-школ, например, MIT, Стэнфорд, Мичиганский университет и еще множество подобных всем известных университетов. С помощью данных образовательных сервисов люди могут прослушивать лекции и проходить мастер-классы у профессионалов. С каждым днем появляется все больше таких платформ. Самыми популярными являются Coursera, Udacity, Udemy, Universarium, Постнаука, Интуит. Гиганты данных онлайн платформ имеют как веб-сайт, так и мобильные приложения. На основе этого можно сделать вывод что наиболее используемыми являются веб-сайты и мобильные приложения. Данное мнение подтверждает социальный опрос (рис. 1.2).
Рисунок 1.2. Социальный опрос «Наиболее удобные средства получения образования»
Для определения потребностей пользователя, необходимо выявить наиболее сложную и востребованную тематику для составления упражнений для обучения английскому языку. Для этого выявим наиболее распространенные темы по грамматике в английском языке.
1. Порядок слов - данная тема вызывает сложности у русскоговорящих людей, т.к. в русском языке нет четкого требования по расстановке слов в предложении. В английском языке существует четкий порядок составления предложения.
2. Времена английских глаголов - в русском языке существует только 3 времени глаголов, когда в английском языке их 16. Поэтому человеку, который привык использовать только 3 времени, тяжело для понимания, что существуют и другие времена. Так же сложность данной темы является большое количество неправильных глаголов, которые строятся каждый по-своему.
3. Артикли -в русском языке не существует артиклей, поэтому человеку, который знает русский язык не понятно зачем его необходимо употреблять и как правильно его использовать.
После выявления наиболее сложных тем для изучения в английском языке, был проведен опрос на определение направленности упражнений в мобильном приложении (рис. 1.3).
Рисунок 1.3. Социальный опрос «Наиболее удобные средства получения образования»
1.2 Формулировка требований к приложению
Для людей, которые приступили к изучению английского языка, изучение времен английских глаголов кажется сложным и непонятным. Потому что традиционно выделяют 12 времен английских глаголов, в то время как в русском языке их три. Для освоения данной темы необходимо структурировать знания по данной тематике, т.к. основных времен английских глаголов 3: настоящее (Present),будущее (Future),прошедшее (Past).Дальше представленные выше три группы делятся еще на три: Simple (простое), Continuous (продолженное), Perfect (Совершенное) и Perfect Continuous (совершенное продолженное). Для усвоения данного материала необходимо использовать следующую таблицу (табл.1.1):
Таблица 1.1 Таблица правил использования времен английских глаголов
Исходя из материала, представленного выше, понятно первое требование к создаваемому мобильному приложению:
Во-первых, в мобильном приложении необходимо реализовать просмотр правил использования времен английских глаголов в структурированном виде.
Несмотря на то, что после изучении структурированной таблице по применению времен английских глаголов становится все понятнее и проще, есть еще одна сложная задача для учеников - это неправильные глаголы. Проблема изучения неправильных глаголов состоит в том, что их больше, чем правильных и используются такие глаголычаще. При изучении неправильных глаголов нет никакой логической связи, и запомнить их трудно.
На основе это можно появляется второе требование к мобильному приложению:
Во-вторых, в мобильном приложении необходимо реализовать просмотр неправильных глаголов в удобном виде, то есть через поиск по списку, так как их более 400 [8].
Ну и наконец, для изучения английского языка есть некоторый список правил:
- сначала необходимо учить на простых примерах, плавно переходя к более сложным;
- для полного изучения английского языка, необходимо не зубрить правила, а понимать их;
- главное в изучении языка это постоянная практика и лучше на реальных примерах. Теория без практики является бесполезной;
- не нужно использовать только легкие примеры или ограниченный список времен;
- не стоит боятся ошибок, ведь на основе ошибок мы получаем опыт и навыки.
Посмотрев на вышеизложенные правила можно вывести еще несколько требований к мобильному приложению:
В-третьих, изучение времен английских глаголов должно строится на реальных англоязычных источниках.
В-четвертых, процесс изучения времен английских глаголов необходимо разделить на уровни знаний.
И наконец, каждое задание должно оцениваться по 5-бальной шкале и сохранятся в виде дневника пользователя.
Далее необходимо выяснить какой источник текстов будет использоваться в упражнениях для обучения использования времен в английском языке. Для этого был проведен опрос среди потенциальных пользователей мобильного приложения, на основе которого было решено использовать реальные тексты из СМИ и тексты, которые будет загружать пользователь (рис. 1.4).
Рисунок 1.4. Социальный опрос «Наиболее востребованные источники для упражнений по обучению языка»
1.2.1 Определение типа приложения
Большинство людей всегда находятся в движении, из этого можно предъявить первое требование к приложению: приложение для изучения использования времен английских глаголов должно быть мобильным.
Мобильных приложений на рынке очень много, но приложений использующие реальные текста и тексты пользователей не существует. Из чего можно сделать вывод, разрабатывая приложение для данной сферы, мобильное приложение будет востребовано и достаточно перспективно.
1.2.2 Требования к приложению
Далее необходимо рассмотреть требования к мобильному приложению для проверки использования времен английских глаголов.
Известночто, когда происходит разработка приложения необходимо ставить высокие требования для него. Чем выше будут поставлены требования, тем лучше получится приложение после его реализации. Именно поэтому в данной работе будут предъявлена наиболее высокие требования к разрабатываемому приложению.
Так как идея уже определена (создать мобильное приложение для проверки использования времен английских глаголов), можно перейти к более конкретным параметрам. Согласно ГОСТ 34.602-89[9] в требованиях к приложению должны быть предъявлены требования к входным данным приложения, требования к системе, запрашиваемой приложением. Данное приложение будет разрабатываться в соответствие с требованиями, описанными ниже.
Требования к входным данным. Сначала необходимо определить входные данные, а именно то что будет надо ввести, что бы приложение работало:
- ввод email;
- ввод пароля;
- ввод названия файла для загрузки
- загрузка файла.
Требуемые ресурсы ПО аппаратные устройства. Согласно пункту 2.6.1 ГОСТ 34.602-89 «Требования к системе в целом», 2.6.2 «Требования к функциям (задачам)», 2.6.3 «Требования к видам обеспечения» к разрабатываемому приложению должны предъявляться требования изложенные ниже.
Требования к системе в целом:
- приложение должно занимать не более 1 мб оперативной памяти устройства;
- приложено должно свободно функционировать на устройствах с минимальной мощностью;
- приложение не должно завершаться аварийно;
- приложение должно продолжать свое функционирование после сворачивания с целью осуществления другой функции устройства;
- полное и безошибочное осуществление заявленных функций;
- корректный перенос бюджета с одного месяца на другой;
- при удалении информации пользователем осуществляется очистка данных из БД;
- низкий уровень энергозатратности.
Требования к функциям (задачам):
- регистрация и аутентификация пользователя;
- просмотр правил использования времен английских глаголов в структурированном виде;
- просмотр списка неправильных глаголов;
- выбор темы текста для обучения;
- обучение в виде теста;
- просмотр оценки после прохождения теста;
- просмотр ошибок после прохождения теста;
- загрузка файла для преобразования в упражнения.
Требования к видам обеспечения:
- приложение должно быть написано для операционной системы iOS;
- приложение должно иметь клиент-серверную архитектуру.
1.3 Анализ приложений для изучения английского языка
В настоящее время существует множество мобильных приложений для изучения английского языка. У каждого приложения есть свои плюсы и минусы и различный подход к изучению английского языка, в том числе для обучения использования английских глаголов. В данном пункте будут рассмотрены популярные мобильные приложения для изучения английского.
1.3.1 Мобильное приложение для изучения английского в игровой форме Lingualeo
На настоящее время это один из самых популярных сервисов для изучения английского языка [4]. Данный вид сервиса представлен как в виде веб-сайта, так и в виде мобильного приложения. Перед началом работы данного приложения необходимо пройти тестирования для определения уровня грамматики, которое состоит из проверки знаний правил грамматики. Далее будут представлены набор заданий, которые обновляются по мере их прохождения (рис. 1.5): изучение правил грамматики, пополнение словарного запаса, тренировка чтения и понимания текста, тренировка понимания аудио материалов.
Так же в данном приложении представлены тексты и видеоматериалы из открытых источников таких как конференциях TED, курсы Coursera, тематические уроки, публикуемые в Evernote-блокноте.
Один из главных минусов данного приложения, то что бесплатных функций мало и для приобретения полного доступа к всем функциям необходимо купить Premium аккаунт. Также еще один минус данного мобильного приложения, в нем не показаны правила грамматики, т.е. изучение происходит в режиме выполнения заданий, что является неудобным для новичков.
Рисунок 1.5 Окно приложения LinguaLeo
1.3.2 Мобильное приложение для изучения слов Easy ten
Данное мобильное приложение создано для пополнения словарного запаса. В основе данного приложения лежит изучения новых слов и прохождения тестов с использованием этих слов [5] (рис. 1.6). Создатели мобильного приложения утверждают, что слова и тесты чередуются в особой последовательности, оптимальной для запоминания. Каждый день пользователю необходимо выучить 10 новых слов, только после этого он может приступить к выполнению следующих уроков. Изучение новых слов происходит в виде соревнования с друзьями и другими пользователями. Также можно выбрать тематику изучаемых слов, например: путешествия, транспорт, музыка, искусство, дом и сад, право.
Изучения слов происходит по следующей методике: прослушать все слова на английском, затем посмотреть ассоциативные карточки, на которых указан перевод слова, плюсом данного приложения является что примеры использования данных слов взяты не из стандартных уроков, а из твиттера, что позволяет понять, как употребляются данные слова в реальной жизни реальными людьми.
Рисунок 1.6 Окно приложения EasyTen
Главным минусом данного приложения является ограниченный функционал, а именно данное приложение специализируется только на изучение новых слов. Вторым минусом является недоступность некоторых функций для бесплатного аккаунта, таких как ежедневное пополнение новых слов.
1.3.3 Бесплатное мобильное приложение для изучения английского Duolingo
Мобильное приложение Duolingoявляется бесплатным мобильным приложением для изучения английского языка. Перед началом работы с приложением пользователю необходимо выбрать цель, от которой зависит время, потраченное на изучение языка в день [6]. Далее необходимо определить уровень знаний, для этого надо пройти квалификационный тест. После этого пользователь может перейти к ежедневным урокам, на основе которых выставляется оценка. в день необходимо достичь определенной оценки, чтобы прейти к следующему уроку.
Для изучения английского языка Duolingoиспользует метод, который основан на анализе большого количества данных. Если у пользователя возникают трудности, либо он совершает ошибки - мобильное приложение запоминает это на каждом этапе работы. после этого для каждого пользователя строится индивидуальный план для изучения английского языка (рис. 1.7).
Рисунок 1.7 Окно приложения Duolingo
Главным минусом данного приложения является не возможность учить английский язык на реальных текстах носителей языка.
1.3.4 Мобильное приложение по мотивам серии передач Полиглот
Мобильное приложение Полиглот (рис. 1.8) создано на основе телепередачи «Полиглот. Выучи английский за 16 часов», показанной на телеканале Культура.
Рисунок 1.8. Окно приложения Полиглот
Изучение английского языка разделено на 16 уроков, после которого происходит сдача экзамена [7]. Каждый урок состоит из простых предложений на русском языке, которые необходимо перевести. после прохождения каждого урока выставляется оценка, перейти к следующему уроку возможно только если пользователь набрал больше чем 4,5 балла за урок
Минусов у данного приложения довольно много:
1. бесплатно можно пройти только первые два урока;
2. не интуитивно понятный интерфейс;
3. нет примеров, основанных на реальных тестах;
4. изучение языка происходит поверхностно.
1.3.5 Сравнение приложений конкурентов
После разбора каждого приложения, необходимо провести сравнение всех приложения. сравнение будет происходить на основе функциональных требований к мобильному приложению, которые были определены в разделе 1.1:
1. в мобильном приложении необходимо реализовать просмотр правил использования времен английских глаголов в структурированном виде;
2. в мобильном приложении необходимо реализовать просмотр неправильных глаголов в удобном виде, т.е. через поиск по списку, т.к. их более 400;
3. изучение времен английских глаголов должно строится на реальных англоязычных источниках;
4. процесс изучения времен английских глаголов необходимо разделить на уровни знаний;
5. каждое задание должно оцениваться по 5-бальной шкале и сохранятся в виде дневника пользователя.
Результаты сравнения представлены в таблице (табл. 1.2):
Таблица 1.2. Результат сравнения мобильных приложений конкурентов
Lingualeo |
Easy ten |
Duolingo |
Полиглот |
||
Просмотр правил использования времен английских глаголов |
- |
- |
- |
+ |
|
Просмотр списка неправильных глаголов |
- |
- |
- |
- |
|
Материалы основаны из реальных англоязычных источников |
+ |
+ |
- |
- |
|
Процесс разделен на уровни знаний |
+ |
+ |
+ |
- |
Сравниваемые мобильные приложения для изучения английского языка во многом похожи и подходят для изучения времен английских глаголов. Данные программные продукты наделены богатым функционалом, которые позволяют выучить английский язык и пополнять свой словарный запас. Тем не менее, основной недостаток этих программ в том, что у них нет возможности полностью удовлетворять всем требованиям к мобильному приложению. Следовательно, наиболее приемлемым решением проблемы может быть только создание мобильного приложения, разработанное с учетом всех особенностей процесса изучения времен английских глаголов.
1.4 Анализ используемых средств для реализации автоматического разбора текста
Существует большое количество программного обеспечения для автоматической обработки текста. Для реализации мобильного приложения проверки написания английских глаголов необходимо использовать графематический и морфологический анализ текста.
1.4.1 Графематический анализ текста
Графематический анализ - используется для выделения синтаксических или структурных единиц текста. Графематический анализ основной компонент системы, который предназначен для предварительной работы с текстом. Данный компонент системы выполняет следующие задачи:
1. разделение текста на абзацы;
2. разделение текста на заголовок и основной текст;
3. разделение текста на предложения;
4. разделение текста на слова, знаки препинания, формулы и т.д.;
5. выделения устойчивых выражения (словосочетаний) в одну единицу текста.
Как видно, графематический анализ выполняет предварительную обработку текста, для последующей работы. Для графематического анализа текста используются следующие методы:
- машинное обучение;
- правил;
- регулярные выражения;
- словарный;
- эвристика.
1.4.1.1 Обзор методов для графематического анализа
При использовании машинного обучения, используются методы обучения классификациям объектов. В данном случае способы обучения - это получение необходимых и достаточных правил, с помощью которых можно произвести классификацию объектов, похожих на те, которые использовались для обучения нейросети. Для правильной работы такой системы основанной на машинном обучении необходимо произвести выбор и формирование признаков, проверку гипотез о сходстве объектов и классов, задание бинарных операций сходств объекта, задание мер сходств объекта, сформировать обучающую выборку, сформировать итоговую выборку, и наконец выбрать адекватный алгоритм для обучения.
При использовании правил для графематического анализа текста, в основном используются следующие правила, незначительно отличающиеся в зависимости от задачи.
1. Отметить признак начала и окончания текста.
2. Поиск начала и конца абзаца.
3. Отметить признак окончания предложения с помощью специальных знаков пунктуации.
4. Если встречаются кавычки, то передвинуть признак окончания предложения.
5. Если предыдущее слово сокращение или нет заглавной буквы, то передвинуть признак окончания предложения.
6. Убрать признак окончания предложения если за знаками препинания «?», «!» отсутствует заглавная буква.
При использовании регулярных выражений для графематического анализа текста, используется правила формального языка. При создании правил сначала необходимо выделить алфавит для описания формального языка, например, для русского языка будут существовать следующий алфавит: собственное слово, иностранное слово, множество слов, буквенная последовательность, сокращения, целое число, дробное число и т.д.
При использовании словарного метода графематического анализа текста, используется уже созданный справочник слов, по которому происходит последовательный поиск слов и выделения этих слов из текста.
1.4.1.2 Обзор средств для графематического анализа
Программные средства, используемые для графематического анализа текста:NLTK, Stanford CoreNLP, Apache OpenNLP, TextBlob.
NLTK - это open source библиотека методов для машинной обработки естественного языка [10]. Данная библиотека написана на языке Python и открыта в свободном доступе. Задачи, которые можно выполнить с использованием данной библиотеки:
- методы для вычисления базовой статистики текста;
- работа с корпусами и лексико графическими ресурсами;
- обработка естественного языка (токенизация, лемматизация, стемминг, pos-tagging, parsing);
- классификация;
- машинный перевод;
- работа с XML-документами;
- представление знаний.
NLTK является ведущей платформой для создания программ Python для работы с данными на естественном языке. Он обеспечивает простые в использовании интерфейсы для более чем 50 корпораций и лексических ресурсов, таких как WordNet, а также набор библиотек обработки текстов для классификации, токенизации, лемматизации, стемминга, pos-tagging, parsing, синтаксического разбора для индустриальных библиотек NLP. Благодаря практическому руководству, которое содержит основы программирования и темыо вычислительной лингвистике, а также полной документацией по API, NLTK подходит для лингвистов, инженеров, студентов, преподавателей, исследователей и промышленных пользователей. NLTK доступен для Windows, Mac OS X и Linux.
Stanford CoreNLP предоставляет набор инструментов анализа естественного языка [11]. Он может дать базовые формы слов, их части речи, будь то имена компаний, людей и т.д., нормализовать даты, время и числовые величины, разметить структуру предложений учитываятермины и устойчивые словосочетания, зависимости слов, указать какие именные фразы относятся к одним и тем же сущностям, указывают на настроения, извлекают особые или открытые отношения между упоминаниями в сущности, получают цитаты людей и т.д.
Stanford CoreNLP выполняет следующие задачи:
- интегрированный инструментарий с хорошим набором инструментов грамматического анализа;
- быстрый, надежный анализ произвольных текстов;
- общая текстовая аналитика самого высокого качества;
- поддержка ряда основных (естественных) языков;
- доступные интерфейсы для большинства современных языков программирования;
- возможность запуска как простой веб-службы.
Цель Stanford CoreNLP состоит в том, чтобы очень легко применить множество языковых инструментов анализа к фрагменту текста.Конвейер инструмента можно запустить на куске простого текста всего двумя строками кода. Stanford CoreNLP объединяет многие инструменты NLP Стэнфорда, включая тег-речевые части (POS), распознавать части слова (NER), анализатор, систему разрешения взаимодействия, анализ настроений, обучение шаблону начальной загрузки и инструменты для извлечения открытой информации. Библиотека может включать дополнительные пользовательские или сторонние аннотаторы. Анализ CoreNLP обеспечивает базовые строительные блоки для приложений понимания текста на более высоком уровне и для конкретных доменов.
Библиотека Apache OpenNLP представляет собой инструментарий машинного обучения, предназначенный для обработки текста на естественном языке [12]. Он поддерживает наиболее распространенные задачиNLP, такие как токенизация, сегментирование предложений, пометка части речи, извлечение именованных объектов, разбиение на блоки, анализ и разрешение кореферентности. Эти задачи обычно требуются для создания более сложных служб обработки текста. OpenNLP также включает в себя максимальное обучение на основе энтропии и персептрона.
Библиотека TextBlob - это библиотека Python для обработки текстовых данных [13]. Он предоставляет простой API для погружения в обычные задачи обработки естественного языка (NLP), такие как частичная речевая маркировка, извлечение фразы, анализ настроений, классификация, перевод и т.д.
Библиотека TextBlob использует библиотекиNLTK иWordNet, и прекрасно сочетает функции обоих:
- выделение имен существительных;
- пометка частей речи;
- анализ настроений;
- классификация;
- перевод и определение языка на основе Google Translate;
- Tokenization (разделение текста на слова и предложения);
- частоты слов и фраз;
- словоизменение (плюрализация и сингуляризация) и лемматизация;
- коррекция правописания;
- добавление новых моделей или языков с помощью расширений;
- интеграция с WordNet.
1.4.2 Морфологический анализ текста
Целью морфологического анализа слов является определение части речи (глагол, существительное, местоимение и т.д.) и выяснение его нормальной формы. То есть в случае создания мобильного приложения для проверки использования времен английских глаголов необходимо с помощью морфологического анализа текста, найти глаголы и поставить их в нормальную форму(инфинитив).
Для морфологического анализа слов используются следующие методы:
- алгоритм Витерби;
- алгоритм Портера;
- деревья принятия решения;
- машинное обучение;
- словарный;
- метод опорных векторов;
- правила;
- разрешение омонимии.
Методы машинного обучения, правила, регулярные выражения, словарный уже были описаны в разделе 1.4.1. Разберем оставшиеся методы.
1.4.2.1 Обзор методов для морфологическогоанализа
Алгоритм Витерби- это алгоритм динамического программирования, который выполняет поиск наиболее подходящего списка состояний и получает наиболее вероятную последовательность произошедших событий. Этот алгоритм назван в честь создателя - американского инженера итальянского происхождения Эндрю Витерби. Данный алгоритм применяется для задач обработки естественного языка, подразумевающих использование скрытых Марковских моделей. Например, разметка частей речи и извлечение именованных существительных.
Алгоритм Портера, так же называется стеммер Портера - это алгоритм стемминга. Алгоритм используетосновы слов, применяя последовательно ряд правил, отсекает окончания и суффиксы, основываясь на особенностях языка, в связи с чем работает быстро, но не всегда безошибочно.
Дерево принятия решения или Морфологическое И/ИЛИ-дерево является одним из способов представления модели морфологического множества уровня идентификации. Морфологическое дерево имеет два типа вершин: ИЛИ-вершины, представляющие собой классификационные признаки и означающие возможность выбора одного из ребер, которые соответствуют значениям классификационных признаков, и И-вершины, обычно представляющие агрегацию подсистем.
Метод контекстного разрешения функциональной омонимии включает: Построение полной классификации типов функциональных омонимов. Выделение минимального множества разрешающих контекстов для каждого типа. Минимальность множества означает, что для каждого типа функционального омонима следует оценить сложность распознавания каждой части речи, принадлежащей данному типу. Затем построить множество разрешающих контекстов, имеющих минимальную сложность распознавания. В алгоритмической записи данное требование будет выглядеть следующим образом: Если для функционального омонима Х, имеющего тип T1 или Т2, применено правило из МРК, то тип омонима Х определяется примененным правилом, иначе приписывается альтернативный тип. Построение управляющей структуры для множества разрешающих контекстов, обеспечивающей максимальную точность распознавания.
Метод опорных векторов - набор схожих алгоритмов обучения с учителем, использующихся для задач классификации и регрессионного анализа. Принадлежит семейству линейных классификаторов и может также рассматриваться как специальный случай регуляризации по Тихонову. Особым свойством метода опорных векторов является непрерывное уменьшение эмпирической ошибки классификации и увеличение зазора, поэтому метод также известен как метод классификатора с максимальным зазором. Основная идея метода - перевод исходных векторов в пространство более высокой размерности и поиск разделяющей гиперплоскости с максимальным зазором в этом пространстве. Две параллельных гиперплоскости строятся по обеим сторонам гиперплоскости, разделяющей классы. Разделяющей гиперплоскостью будет гиперплоскость, максимизирующая расстояние до двух параллельных гиперплоскостей. Алгоритм работает в предположении, что чем больше разница или расстояние между этими параллельными гиперплоскостями, тем меньше будет средняя ошибка классификатора.
1.4.2.2 Обзор средств для морфологического анализа
Программные средства, используемые для морфологического анализа текста: Myaso, Snowball, TreeTagger, NLTK, TextBlob, АОТ, pymystem3, ОРФО, SVMTool, AskNet.
Библиотека Myaso является библиотекой для морфологического анализа и синтакисческого анализа, написанной на Ruby[14]. На данный момент Myaso имеет довольно быстрый метод определения части речи (POS) Tagger, построенной на скрытых марковских моделей (СММ). Поскольку Яндекс выпустила Mystem анализатор в виде разделяемой библиотеки, это позволяет использовать анализатор через интерфейс внешней функции. Myaso выполняет POS пометку, используя его собственную реализацию алгоритма Витерби на ПММ. Выход имеет следующий формат: token<TAB>tag.
К сожалению, текущая реализация Tagger имеет два существенных недостатка:
1. Tagger обрабатывает неизвестные слова не безошибочно;
2. работает достаточно быстро, но перед этим требует довольно долгой процедуры обучения,которая происходит только один раз.
Библиотека Snowballнебольшой язык обработки строк, предназначенный для создания алгоритмов, для использования в информационно - поисковых системах [15]. Snowball компилятор переводит Snowball скрипт на другой язык - в настоящее время поддерживаются следующие языки ISO C, Java и Python.
Библиотека TreeTagger представляет собой инструмент для аннотирования текста из слов и информации леммы [16]. Он был разработан Хельмут Шмид в проектеИнститута вычислительной лингвистики Университета Штутгарта. TreeTagger был успешно использовуется на языках немецкий, английский, французский, итальянский, голландский тексты и адаптируются к другим языкам, если словарный запас и ручное обучения системымогут быть произведены.
БиблиотекаPymystem3 модуль содержит оболочку для отличного морфологического анализатора на русском языке Яндекс Mystem 3.0 выпущен в июне 2014 г. морфологического анализатора может выполнять лемматизации текста и получить набор морфологических признаков для каждых маркеров [17]. Python является языком выбора для многих вычислительных лингвистов, в том числе тех, кто работает с русским языком.
Библиотека ОРФО-система проверки правописания, разработанная российской компанией OOO «Информатик» [18]. Регулярно выходят её новые версии. Программа, помимо поддержки русского языка, обладает возможностью проверять тексты на украинском, английском, немецком, французском, испанском, итальянском и португальском языках. Начиная с 1995 года, посредством ОРФО осуществлялась проверка правописания в русскоязычной версии MS Office. В MS Office была интегрирована особая версия ОРФО, обладающая ограниченным функционалом (компанией Microsoft была лицензирована примерно четверть лингвистических технологий ОРФО).
Библиотека SVMTool представляет собой простой и эффективный генератор последовательных Taggers на основе опорных векторов [19]. SVMTool применяется к ряду проблем NLP, таким как разметка частей речи и устойчивых выражений на разных языках. Предлагаемый SVM на основе Таггер является надежным и гибким, эффективно обучается с минимальным количеством обучающих примеров, чтобы настроиться, и могут помечать тысячи слов в секунду, что делает его очень практичным для реальных приложенийNLP.
Библиотека AskNet - российская интеллектуальнаяметапоисковая система, первая вопросно-ответная система в Рунете[20]. Вопросно-ответная поисковая системасистема AskNet предназначена для поиска текстовой информации по запросу пользователя на естественном языке. В настоящее время поиск ответов на вопросы пользователей поддерживается для русско- и (или) англоязычных запросов пользователей и текстов.
1.4.3 Выбор программных средств для морфологического и графематического анализа текста
На основе разбора каждого метода и программного средства, произведем анализ каждого программного средства, для выбора подходящего для разработки мобильного приложения проверки использования времен английских глаголов. Сравнение будет производится на основе 4 характеристик: метод, поддерживаемые языка, платформа/язык (т.к. существует ограничение, мобильное приложение разрабатываете на MacOS), доступность [21].
Далее будет предоставлена таблица сравнения описанных программных средств, на основе которых будет выбрана наиболее подходящая данному проекту библиотека для графематического анализа текста (см. табл. 1.3).
Таблица 1.3 Сравнение средств для графематического анализа
Название |
Метод |
Языки |
Платформа/язык |
Доступность |
|
NLTK |
Машинное обучение |
Английский |
Python |
Бесплатно |
|
Stanford CoreNLP |
Эвристика |
Английский |
Java |
Бесплатно |
|
Apache OpenNLP |
Регулярные выражения, машинное обучение |
Английский |
Java |
Бесплатно |
|
TextBlob |
Регулярные выражения, машинное обучение |
Английский |
Python |
Бесплатно |
Далее будет предоставлена таблица сравнения описанных программных средств, на основе которых будет выбрана наиболее подходящая данному проекту библиотека для морфологического анализа текста (табл. 1.4).
Таблица 1.4 Сравнение средств для морфологического анализа
Название |
Метод |
Языки |
Платформа/язык |
Доступность |
|
NLTK |
Машинное обучение |
Английский |
Python |
Бесплатно |
|
Stanford CoreNLP |
Эвристика |
Английский |
Java |
Бесплатно |
|
Apache OpenNLP |
Регулярные выражения, машинное обучение |
Английский |
Java |
Бесплатно |
|
TextBlob |
Регулярные выражения, машинное обучение |
Английский |
Python |
Бесплатно |
|
Myaso |
Алгоритм Витерби |
Русский, английский |
Ruby |
Бесплатно |
|
Snowball |
Алгоритм Потера |
Русский, английский |
Linux, Windows |
Бесплатно |
|
TreeTagger |
Деревья принятия решений |
Русский, английский, немецкий, французский, итальянский, нидерландский, испанский, болгарский, греческий. |
Linux, Windows |
Платно |
|
Pymystem3 |
Разрешение омонимии |
Русский, английский |
Python, C++ |
Бесплатно |
|
ОРФО |
Слоаварный |
Русский, украинский, английский, французский, немецкий, испанский, итальянский, португальский |
Windows |
Платно |
|
SVMTool |
Метод опорных векторов |
Русский, английский |
Perl |
Платно |
|
AskNet |
Словарный, правила |
Русский, английский |
Windows |
Платно |
На основе приведенных таблиц сравнения программного обеспечения для анализа текста, можно сразу исключить следующие средства: AskNet, SVMTool, ОРФО, TreeTaggerт.к. данное ПО является платным.
Snowball, Masyo,Pymystem3не является оптимальным для использования т.к. методы используемые для решения задач анализа текста не являются сто процентным правильным и могут выдавать ошибки.
TextBlob используют библиотеки NLTK, поэтому данное ПО не будет использоваться. Лучше сразу же использовать библиотеку NLTK.
Из оставшихся средств для анализа текста, наиболее большой функционал представляет библиотекаNLTK. Также данная библиотека хорошо документирована и обсуждается на множестве форумах.
1.5 Заключение главы анализа предметной области
В данной главе были рассмотрены способы получения образования и выявлен наиболее удобный способ получения образования с помощью социального опроса. На основе данного обзора и опроса появилось первое требование к приложению - оно должно быть мобильным. Так же в данной главе были разобраны мобильные приложения конкурентов и произведен их сравнительный анализ. Разобраны способы и средства обработки естественного языка. Был произведен их сравнительный анализ. Были сформулированы требования к мобильному приложению и определены его функции.
Глава 2. Экономическое обоснование разработки системы
Разработка программного продукта всегда является денежно и трудозатратным процессом. Для того что бы понять необходимость разработки системы нужно рассмотреть разработку ПО со стороны экономической целесообразности и пользы. Целью экономического обоснования разработки ПО является понять насколько экономически будет полезно создавать такую систему. Согласно статистике, большинство проектов являются провальнымиз-за неточных требований к проекту - 39%, неопределённая смета расходов 29%, неадекватное прогнозирование ресурсов [22].
Существует несколько методик для определения экономической целесообразности продукта.
1. IFPUG FPA - метод функциональных точек. Данный метод предназначен для оценки экономического обоснования программного продукта, на основе количества функциональности, который необходим заказчику и будет разработан программистом. Достоинством данного метода является не зависимость от средств разработки, т.е. какие бы подходы к разработке не использовались расчет будет одинаковым. Недостатком данного метода является сложность применения и большие трудозатраты. На начальном этапе разработки данная методика не подходит [23].
2. COCOMO II- представляет собой метод, который позволяет оценить затраты, усилия и график при планировании новой разработки программного обеспечения. COCOMO II состоит из трех подмоделей, каждая из которых рассчитана на один из этапов планирования проекта и процесса проектирования. Данный метод применим к большим и средним проектам. Для небольших проектов, затраты на проведение оценки слишком высоки и недостаточно точны [24].
3. FPA Mark II- использует простой тип базовых функциональных компонентов и выражает все функциональные требования как каталог логических транзакций. Методика значительно проще IFPUG, но обладает теми же недостатками, как сложность оценки в виду необходимости достаточной проработки проекта информационной системы и точных требований [25].
4. СETIN -это новый подход в оценке стоимости разработки информационных систем, который позволяет оценить стоимость создания на ранних стадиях проектирования. Преимуществами методики CETIN являются: оценка на основании функционального размера и оценка на основании производственных процессов создания ИС [26].
Из рассмотренных методик, наиболее подходящая к данному проекту является методика CETIN, потому что данная методика позволяет произвести расчет трудозатратности проекта на основе UML диаграмм, которые будут созданы на этапе проектирования мобильного приложения, и данная методика позволяет оценить трудозатратность на ранних сроках работы над проектом.
2.1 Расчет сроков по методике CETIN
Расчет по данной методике происходит за счет подсчета функциональных единиц программного обеспечения:
1. количество вариантов использования (Case) - C;
2. количество типов объектов (бизнес объектов) (Entity) - Е;
3. количество свойств типов объектов (Tool) - Т;
4. количество взаимодействий между типами объектов (Interaction) - I;
5. типов узлов (Node) - N.
Итоговый функциональный размер приложения обозначается следующим способом: SIZE = {C, E, T, I, N}.
Посчитаем основные функциональные единицы (см. табл. 2.1):
С. Количество вариантов использования равняется 6 - это авторизация, регистрация, просмотр правил использования глаголов, просмотр неправильных глаголов, выбор темы, прохождение обучения.
E. Количество типов объектов 25 - является количество неодинаковых классов (Приложение 1).
T. Количество свойств типов объектов 32 - является количество свойств классов, на диаграмме классов.
I. Количество взаимодействий между типами объектов 16 - является количеством связей на диаграмме коммуникаций.
N. Типов узлов 8 - количество типов узлов на диаграмме развертывания.
Таблица 2.1 Результаты расчетов CETIN
Количество вариантов использования |
Количество типов объектов |
Количество свойств типов объектов |
Количество взаимодействий между типами объектов |
Количество узлов |
||
SIZE |
6 |
25 |
32 |
16 |
8 |
Базовая трудоемкость процесса рассчитывается для каждого процесса разработки:
1. бизнес моделирование;
2. управление требованиями;
3. проектирование;
4. реализация;
5. тестирование;
6. развертывание.
Трудоемкость этапов рассчитывается по следующей формуле (2.1):
, (2.1.)
где - трудоемкость процесса разработки с номером i в [человеко-месяц];
i - номер процесса разработки (значения от 1 до 6);
(C) - норматив трудоемкости реализации одного варианта использования в процессе разработки с номером i=1,2,…,6, {[человеко-час]/[вариант использования]};
Подобные документы
Разработка программного решения по созданию мобильного приложения. Изучение технологий для разработки приложений. Анализ работы торговых агентов. Обоснование выбора языка программирования. Проектирование интерфейса структуры и верстка, листинг программы.
дипломная работа [2,2 M], добавлен 08.06.2017Анализ российского рынка мобильных приложений. Мобильное приложение как новый канал коммуникации с целевой аудиторией. Этапы создания мобильного приложения. План продвижения мобильного приложения в сети Интернет. Бесплатные инструменты продвижения.
дипломная работа [1,6 M], добавлен 23.06.2016Изучение языков программирования PHP, SQL, C++, HTML. Рассмотрение правил запуска и использования локального сервера Denwer. Составление технического задания по разработке программного продукта. Описание создаваемого мобильного и веб-приложения.
курсовая работа [212,4 K], добавлен 07.04.2015Общая характеристика и анализ требований к разрабатываемому приложению, функциональные особенности и сферы практического применения. Проектирование базы данных и выбор системы управления ею. Тестирование приложения и выбор языка программирования.
дипломная работа [791,8 K], добавлен 10.07.2017Проектирование удобного приложения для комфортной навигации по файлам облачного хранилища в одном файловом менеджере. Выбор интегрированной среды разработки. Выбор инструментов для визуализации приложения. Выбор средств отслеживания HTTPзапросов.
курсовая работа [3,6 M], добавлен 16.07.2016Проектирование базы данных для автоматизации деятельности по учету автотранспорта ГИБДД Вяземского района. Выбор инструментария для разработки базы данных и приложения по её ведению. Описание интерфейса и физической структуры приложения баз данных.
курсовая работа [2,2 M], добавлен 28.06.2011Разработка приложения, позволяющего автоматизировать документооборот предприятия по списанию основных средств. Мероприятия по защите и обеспечению целостности базы данных. Разработка клиентского приложения. Запросы к базе данных, руководство пользователя.
курсовая работа [700,0 K], добавлен 14.01.2015Современное состояние рынка мобильных приложений. Основные подходы к разработке мобильных приложений. Обоснование выбора целевой группы потребителей приложения. Этапы проектирования и разработки мобильного приложения для операционной системы Android.
курсовая работа [987,1 K], добавлен 27.06.2019Информационные технологии и виртуальные туры в туризме. Построение диаграмм вариантов использования, последовательности, классов и компонентов. Описание таблиц базы данных. Реализация структуры интерфейса и квестов. Основные принципы работы с приложением.
дипломная работа [1,4 M], добавлен 12.08.2017Обзор мобильной ОС Android. Выбор инструментов и технологий. Проектирование прототипа графического интерфейса. Характеристика и описание пользовательского интерфейса. Проектирование и разработка базы данных. Определение списка необходимых разрешений.
курсовая работа [376,6 K], добавлен 13.09.2017