Web-приложение "Текстовый анализатор"

Реализация web-сервиса для сбора и анализа статистических данных по тексту, а также web-приложения, поддерживающего взаимодействие с сервисом и организующего пользовательский интерфейс. Проектирование архитектуры приложения. Язык программирования C#.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 25.03.2015
Размер файла 417,6 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Введение

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

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

В связи с востребованностью статистического анализа было реализовано web-приложение “Текстовый анализатор”.

Предусмотрено решение следующих задач:

1. Обзор материалов, освещающих методы статистического анализа текста.

2. Моделирование предметной области.

3. Обоснование средства реализации.

4. Проектирование архитектуры приложения.

5. Программная реализация проекта.

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

1. Анализ предметной области

1.1 Методы анализа естественно-языкового текста

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

Анализ текста -- изучение текста в его неформализованном виде. Процесс изучения сводится к тем или иным видам интерпретации содержания текста.

Существует несколько видов анализа текста:

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

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

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

герменевтический - теория интерпретации и понимания текстов.

Благодаря развитию информационных технологий анализировать текст стало гораздо проще. Большое количество текстовой информации стало доступно в электронном виде, что позволяет произвести анализ текста не прилагая больших усилий. Этому способствуют большое количества web-сервисов.

1.2 Существующие приложения для анализа текста

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

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

Не смотря на то, что текстовых анализаторов большое количество, у каждого из них есть своя особенность. Особенность web-приложения “Текстовый анализатор” заключается в выводе статистики по тексту в виде диаграмм и графиков.

2. Проектирование web-приложения

2.1 Выбор программных средств по реализации web-приложения

Язык программирования C#

Язык С# был выбран в первую очередь потому, что позволяет более рационально создавать популярные на сегодня web-сервисы. Язык C# тесно интегрирован с языком XML, различными веб-технологиями. Язык C# интегрировал в себе преимущества языка Java и С++, что и обуславливает популярность данного языка среди разработчиков. При этом в объединенном языке исключены некоторые спорные директивы, макросы, отменены глобальные переменные.

Технология ASP.Net MVS 5

В качестве технологии разработки было выбрано ASP.NET и паттерн проектирования MVC 5. Преимущества его использования в следующем:

1. Взаимодействие пользователя с MVC приложением следует естественному циклу: пользователь совершает действие, в ответ на это приложение меняет свою модель данных и предоставляет пользователю обновленный вид. А затем цикл повторяется. Это очень удобно для веб-приложений, предоставляемых в виде серии HTTP запросов и ответов.

2. Необходимость веб приложению объединять несколько технологий (например, базы данных, HTML и исполняемый код), как правило, разбивается на множество уровней или слоев. Моделей, которые вытекают из этих комбинаций, естественны для концепции MVC.

ASP.NET MVC Framework реализует MVC паттерн и, тем самым, обеспечивает значительно улучшенное разделение концепций. На самом деле ASP.NET MVC реализует современный вариант MVC паттерна, который особенно хорошо подходит для веб сервисов.

А так как целью является разработка web-сервиса, то данные технологии как нельзя лучше подходят для наших целей.

Выбор СУБД(MS SQL)

Выбор конкретной СУБД в качестве сервера баз данных осуществлялся исходя из тех преимуществ, которые она имеет перед другими, а также удобства работы с ней. В данном случае был выбрана клиент-серверная СУБД MS SQL. Её архитектура изображена на рис.1.1

Рис. 1.1. Клиент-серверная архитектура MS SQL

Самая подходящая для MS SQL сфера применения - это Интернет, благодаря хорошей системе безопасности этого пакета, стабильной работе и высокому быстродействию. Для создания web-приложения была выбрана платформа ASP.NET, а MS SQL - одна из самым популярных СУБД, которая поддерживается этой платформой. В ASP.NET есть множество функций, которые позволяют удобно и эффективно работать с базами данных - и это одна из причин выбора данной СУБД.

Средства для реализации диаграмм (jQuery Chart)

jQuery -- библиотека JavaScript, фокусирующаяся на взаимодействии JavaScript и HTML. Библиотека jQuery помогает легко получать доступ к любому элементу DOM, обращаться к атрибутам и содержимому элементов DOM, манипулировать ими. Также библиотека jQuery предоставляет удобный API для работы с AJAX.

Работу с jQuery можно разделить на 2 типа:

· Получение jQuery-объекта с помощью функции $(). Например, передав в неё CSS-селектор, можно получить jQuery-объект всех элементов HTML, попадающих под критерий и далее работать с ними с помощью различных методов jQuery-объекта. В случае, если метод не должен возвращать какого-либо значения, он возвращает ссылку на jQuery объект, что позволяет вести цепочку вызовов методов согласно концепции текучего интерфейса.

· Вызов глобальных методов у объекта $, например, удобных итераторов по массиву.

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

2.2 Роли пользователей

Разрабатываемая система может быть использована только авторизованными пользователями. Стало быть, необходима реализация компонента авторизации и входа. Информацию о данных предполагается хранить в базе данных.

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

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

2.3 Архитектура приложения

Архитектуру приложения можно отобразить следующим образом:

3. Программная реализация web- приложения

3.1 Логическая структура программы

приложение сервис программирование интерфейс

Любой серьёзный сервис должен быть грамотно спроектирован и разделен на отдельные модули, которые должны быть относительно независимыми друг от друга. Подобное разделение значительно облегчает не только реализацию сервиса, но и возможную его модификацию. В этом заключается принцип модульности объектно-ориентированного программирования.

Web-сервис «Текстовый анализатор» представляет собой многофункциональный сервис, который целесообразно разделить на слои.

Были выделены следующие слои:

1. Обработка загружаемой информации.

2. База данных.

3. Сбор статистики в xml файл.

4. Пользовательский интерфейс.

3.2 Реализация web-сервиса

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

Часть алгоритма для сбора статистических данных выглядит следующим образом:

public TextContent ParseFile(string path)

{

var content = new TextContent();

const string reg = @"((?sx-m)[^\r\n].*?(?:(?:\.|\?|!)\s))";

StreamReader reader;

try

{

reader = new StreamReader(path, Encoding.GetEncoding(1251));

}

catch

{

Console.WriteLine("Cannot read the file");

return null;

}

var i = 0;

while (!reader.EndOfStream)

{

var line = reader.ReadLine();

if (line != null)

{

content.SymbolCount += line.Length;

var sentences = new List<string>(Regex.Split(line, reg));

foreach (var pr in sentences)

{

if (String.IsNullOrEmpty(pr))

continue;

var sentence = new Sentence();

sentence.Create(ParseToWord(pr), i);

content.Add(sentence);

}

}

i++;

}

reader.Close();

return content;

}

В алгоритме реализован подсчет количества слов без повторений, общее количество слов, количество символов, предложений и строк. Так же производится поиск максимального и минимального слова. Реализован конкорданс.

Также в web-сервисе «Текстовый анализатор» реализована одна база данных Uploads, с одной таблицей «Items», которая хранит в себе: имя загружаемого файла, путь к результату, имя пользователя, время загрузки файла, путь к файлу.

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

Пример собранных данных в виде xml-файла выглядит следующим образом:

<Concordanse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<Items>

<ConcordanseItem>

<Count>1</Count>

<PageList><int>1</int></PageList>

<Word>

<_value>медвед</_value>

</Word>

<IncrementCount>1</IncrementCount>

</ConcordanseItem>

<ConcordanseItem>

<Count>1</Count>

<PageList><int>1</int></PageList>

<Word><_value>привет</_value></Word>

<IncrementCount>1</IncrementCount>

</ConcordanseItem>

</Items>

<SybolCount>14</SybolCount>

<WordCount>2</WordCount>

<LineCount>1</LineCount>

<SentenseCount>1</SentenseCount>

<SentensePartCount>0</SentensePartCount>

</Concordanse>

3.3 Реализация web-приложения

Для реализации интерфейса Web-приложения в качестве технологии разработки был выбрано ASP.NET (MVC 5). Информация о пользователях (ролях пользователей, логинах, паролях) хранится в базе данных “Users”.

За внешний вид пользовательского интерфейса отвечают представления для каждого из контроллера. Так как у нас это web-сервис, то в интерфейсе у нас присутствует меню с ссылками на различные страницы. Каждая страница отвечает за свои действия. И каждой странице соответствует свой метод контроллера. Для стилизации web приложения используется каскадная таблица стилей(css). Динамическое отображение страниц реализуется с помощью javascript.

Основной задачей приложения было графически отобразить собранную статистику по тексту. Для этого использовалась библиотека jQuery - chart.js. Всю статистическую информацию приложение получает в виде xml файла.

По xml файлу строится модель. На основе этой модели строятся графики. Алгоритм реализации модели выглядит следующим образом.

public class AnaliseModel

{

public string FileName { get; set; }

public int SymbolCount { get; set; }

public int WordCount { get; set; }

public int DictionaryWordCount { get; set; }

public int UnoqueWordCount { get; set; }

public List<string> TopWord { get; set; }

public string MaxWord { get; set; }

public string MinWord{get;set;}

public int LineCount { get; set; }

public int SentenseCount { get; set; }

public int SentensePartCount { get; set; }

public List<SymbolFrequency> Frequencies { get; set; }

}

Для отображения графика и диаграммы был написан следующий алгоритм:

@foreach (var item in Model.Frequencies)

{

<script>

labelsList[labelsList.length] = '@item.Symbol';

dataList [dataList.length] = @item.Frequency;

</script>

}

<script>

var lineChartData = {

labels: labelsList,

datasets: [

{

fillColor: "rgba(220,220,220,0.7)",

strokeColor: "rgba(220,220,220,1)",

pointColor: "rgba(220,220,220,1)",

pointStrokeColor: "#fff",

data: dataList

}

]

};

Заключение

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

Были решены следующие задачи:

3. Проведен обзор материалов, освещающих методы статистического анализа текста.

4. Выполнено моделирование предметной области.

5. Предложены и обоснованы средства реализации.

6. Спроектирована архитектура приложения.

7. Выполнена программная реализация проекта.

В перспективе предполагается расширение функциональности и разработка удобного пользовательского интерфейса.

Список использованных источников

1. Библиотека MSDN [Электронный ресурс] - Режим доступа: http://msdn.microsoft.com/ru-ru/library/ms123401.aspx. - Дата доступа: 30.03.2014г.

2. Википедия - свободная энциклопедия [Электронный ресурс] - Режим доступа: http://ru.wikipedia.org - Дата доступа: 15.04.2014г.

3. Форум программистов и сисадминов CyberForum.ru [Электронный ресурс] - Режим доступа: http://www.cyberforum.ru/ - Дата доступа: 07.04.2014г.

4. Троелсен, Э. Язык программирования C# 2010 и платформа.NET 4 / Э. Троелсен, - 5-е изд. // Пер. с англ. - М. : ООО «И.Д. Вильямс», 2011. - 1392 с.

5. Павловская, Т. А. С#. Программирование на языке высокого уровня. Учебник для вузов. / Т. А. Павловская, - СПб.: Питер, 2009. -- 432 с: ил.

Приложение

Внешний вид программы

Рисунок 1. Главная страница

Рисунок 2. Представление данных анализа

Рисунок 3. Личный кабинет пользователя

Размещено на Allbest.ru


Подобные документы

  • Назначение и возможности разработанного приложения для контроля активности сетевых и периферийных устройств предприятия. Язык программирования Java. Распределенные многоуровневые приложения. Структура базы данных, интерфейс разработанного приложения.

    курсовая работа [1,0 M], добавлен 16.12.2012

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

    курсовая работа [564,9 K], добавлен 26.09.2014

  • Мобильное приложение и его предназначение для организации информационного обмена между мобильными сотрудниками компании (водитель эвакуатора, мастер техпомощи) и CRM системой. Синхронизация данных о заказах. Пользовательский интерфейс приложения.

    дипломная работа [594,5 K], добавлен 12.08.2017

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

    реферат [183,1 K], добавлен 15.11.2011

  • Характеристика объектно-ориентированного, процедурного, функционального программирования. Выбор языка программирования для создания программного обеспечения для управления справочником "Спортсмены". Алгоритм работы приложения, пользовательский интерфейс.

    курсовая работа [1,6 M], добавлен 23.02.2016

  • Описание технологии asp.net. Страницы веб-приложения, тестирование системы. Описание функциональной, динамической модели системы. Диаграммы вариантов использования, последовательности, база данных приложения. Реализация программы, интерфейс, тестирование.

    курсовая работа [3,2 M], добавлен 30.01.2013

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

    дипломная работа [7,0 M], добавлен 11.02.2012

  • Эксплуатация анализатора качества электроэнергии Satec PM175. Создание документов "Видение" и "Спецификация требований" для системы сбора данных с анализатора. Проектирование серверного и клиентского приложения в среде программного обеспечения LabVIEW.

    курсовая работа [830,6 K], добавлен 25.09.2013

  • Обзор подходов к разработке музейных приложений с элементами дополненной реальности, формирование требований к ним. Выбор методов разработки приложения, разработка пользовательского интерфейса. Принципы тестирования. Реализация раздела "Распознавание".

    дипломная работа [2,8 M], добавлен 03.07.2017

  • Архитектура и история создания операционной системы Android. Язык программирования Java. Выбор средства для реализации Android приложения. Программная реализация Android приложения. Проведение тестирования разработанного программного обеспечения.

    курсовая работа [167,8 K], добавлен 18.01.2017

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.