Библиографическое описание:

Булычева П. А. Разработка алгоритма работы веб-модуля для структурирования знаний студента по дисциплине // Молодой ученый. — 2015. — №8. — С. 123-130.

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

Ключевые слова: веб-модуль, обработка естественного языка, алгоритмизация.

 

Введение

Такая тема, как обработка естественного языка, затронутая в данной работе очень актуальна в современном мире. Данной проблемой в свое время занимались Michael Collins и Den Yuretsky. Сейчас очень развито общение, работа и осуществление каких-либо операций через сеть Интернет. Появилась потребность в создании универсального веб-модуля, который смог бы осуществлять сбор нужной информации с Веб-сайта и передачу этой информации в определенную базу данных, в последствии эта информация обрабатывается, задаются какие-либо дополнительные вопросы, и, как результат, пользователь получает структурированную информацию по своей работе [1].

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

Существует 2 типа взаимодействия с пользователем. Первый тип — это просто размещение информации, которая интересует пользователя, но пользователь сам ищет, обрабатывает информацию. Второй тип — это диалог с участием пользователя, при котором происходит более тесное взаимодействие с пользователем [2]. Второй тип, как правило, подразделяется на 2 вида исследований: маркетологическое и психологическое [3]. В данной работе было принято решение уделить внимание второму виду исследования. Было решено придумать алгоритм работы сайта под названием «Виртуальный преподаватель». На этом сайте моделируется диалог с пользователем, который помогает пользователю написать курсовую работу, научную статью или реферат, есть возможность загрузить фотографию «преподавателя», в зависимости от ответов пользователя генерируются вопросы, выводятся на экран, и в конце выдается результат.

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

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

1.                   Ознакомление со структурами и архитектурой клиент-серверных приложений, понятием фреймворк.

Существует некая структура Model-View-Controller, которая обеспечивает связь с пользователем. Она состоит из трех компонентов, которые отвечают за различные части работы и взаимодействия с пользователем: модель, вид и контроллер. Модель — это компонент, который предоставляет знания: данные работы с этими данными, он реагирует на запросы, изменяя свое состояние, но он не содержит информации о том, как эти знания можно визуализировать. За это отвечает вид, а также он отвечает за отображение информации. А контроллер обеспечивает связь между пользователем и системой, а именно он контролирует ввод данных, их обработку и использует вид и модель для реализации поставленной задачи [4].

Очень важно, что вид и контроллер зависят от модели, но модель независима. Следовательно, можно построить модель независимо от визуального представления, а также оставлять несколько визуальных представлений для одной модели. Для реализации структуры Модель-Вид-Контроллер существует множество шаблонов проектирования, а также он применим в очень широкой сфере [5], и более подробно в данной работе рассмотрены клиент-серверные приложения, в которых и применяется данная схема.

2. Создание алгоритма работы «искусственного интеллекта».

В первую очередь необходимо описать алгоритм, по которому будет работать «искусственный интеллект». Веб-страница должна выглядеть примерно следующим образом (Рис 1. Вид веб-страница сайта).

Рис 1. Вид веб-страницы сайта

 

Далее рассмотрим алгоритм. В определенный момент он становится линейным. Когда пользователь вводит «Привет!» в окно для ввода (далее окно1), начинается работа и в окно генерирования вопроса (далее окно2) выводится фраза «Добрый день, добро пожаловать на мой сайт. Я помогу Вам структурировать информацию о Вашей работе, вместе мы напишем хорошую работу! Как я могу Вас называть?». Далее то, что введет пользователь, мы берем за переменную ИМЯ и используем везде, где происходит обращение к пользователю. В окне2 появляется фраза «Отлично, ИМЯ! Постарайся формулировать свои мысли четко и лаконично, тогда у нас все получится! Для начала я хочу узнать, какой тип работы Вы выбрали: курсовая работа, научная статья или реферат?». Пользователь вводит одно из трех слов. Если вдруг пользователь не вводит необходимые данные, в окно 2 выводим фразу «Вы меня огорчили, так дело не пойдет, пожалуйста, введите один из трех вариантов: курсовая работа, научная статья, реферат».

Далее, в зависимости от введенного слова, выбираем дальнейшее развитие событий. Если пользователь вводит словосочетание «курсовая работа», в окно 2 выводим фразу «Отлично, курсовая работа — это не так сложно, как кажется! Сейчас разберемся! Назовите тему Вашего исследования». Строку, которую вводит пользователь, мы запоминаем, в конце диалога нужно будет ее вывести в графу «Название». Далее в окне 2 появляется фраза «А почему вам интересна данная тема?». То, что введет пользователь, мы забиваем в графу «Актуальность для меня». Далее в окно 2 выводим фразу «А для общества эта тема будет интересна?».

1.                   Если ответ пользователя «Да», в окно 2 выводим вопрос «А почему? Может быть, кто-то уже проводил такое исследование? Или же оно уникально?», то, что введет пользователь, записываем в графу «Актуальность и уникальность».

2.                   Если ответ пользователя «Нет», в окно 2 выводим «Зачем же Вы взялись за это исследование? Я советую Вам пересмотреть Ваши взгляды на данную проблему! Если тема не актуальна для общества, ее не стоит исследовать. Может быть, Вы все-таки передумали и нашли те причины, по которым тема актуальна для общества? Если нашли, введите «да», если не нашли, введите что-нибудь другое». Если пользователь вводит «да», отправляем его действовать по сценарию, описанному в пункте 1, если же пользователь вводит что-то иное, отправляем его на метку «Неудачный конец».

3.                   Если пользователь пишет что-то отличное от «да» и «нет», в окно 2 выводится фраза «Я не совсем Вас поняла, «да» или «нет»?». Далее, в зависимости от ответа пользователя, отправляем его по сценарию пункта 1 или пункта 2.

Только сценарий развития под пунктом 1 предполагает дальнейшие действия. В окно 2 выводим фразу «Что самое главное в Вашем исследовании?», ответ пользователя записываем в графу «Цель исследования». В окно 2 выводим фразу «А для того, чтобы добиться этого, какие действия Вам нужно выполнить?», ответ пользователя записываем в графу «Задачи исследования». В окно 2 выводим фразу «Как Вы думаете, какие инструменты Вам пригодятся?», ответ пользователя кладем в графу «Инструменты исследования». Далее в окно 2 выводим вопрос «Как Вы думаете, какие темы Вы должны осветить в своем исследовании?», ответ пользователя кладем в графу «Следует подробнее рассмотреть следующие темы». Затем в окно 2 выводим вопрос «Как Вы думаете, какие книги Вам пригодятся для проведения исследования?», ответ забиваем в графу «Примерный список литературы». В окно 2 выводим фразу «Отлично, теперь Вы готовы к написанию работы. Для того, чтобы написать заключение своей работы, обратитесь к системе в следующий раз, после выполнения основной части исследования! Для того, чтобы это сделать, напишите сразу «Хочу сделать заключение». А сейчас вам будет доступен результат нашей с Вами работы». Теперь пользователю предоставляется возможность перейти на страницу, где будет выведен результат работы с «виртуальным преподавателем». Вся информация будет структурирована по следующему шаблону (Таблица 1.):

Таблица 1

Шаблон для вывода результатов по курсовой работе

Курсовая работа

Название

Введение:

Актуальность для меня: …

Актуальность и уникальность: …

Цель исследования: …

Задачи исследования: …

Инструменты исследования: …

Основная часть:

Следует подробнее рассмотреть следующие темы: …

Список литературы:

Примерный список литературы: …

Помните о простых правилах: БЛОК «ПРАВИЛА»

Помните о том, что при написании статьи следует соблюдать правила построения научной публикации и придерживаться требований научного стиля речи. Основные признаки научного стиля — объективность, логичность, точность. Большим бонусом будет, если Вы представите результаты своего исследования в наглядной форме: в виде таблиц, графиков, диаграмм.

Сам текст оформляется следующим образом:

Печатать следует на одной стороне листе формата A4 (210 x 297 мм). Поля страницы: левое — 3 см, правое — 1,5 см, нижнее 2 см, верхнее — 2 см до номера страницы. Текст печатается через 1,5 интервала, красная строка — 1,25 см. Шрифт: Times New Roman, размер шрифта — 14 пт. В практике частым отступлением является 12 или 13 шрифт — зависит от особенностей работы.

Страницы работы следует нумеровать арабскими цифрами, соблюдая сквозную нумерацию по всему документу. Номер проставляется внизу посередине листа шрифтом № 10. Титульный лист включается в общую нумерацию, но номер страницы на нем не проставляется (в настройках начинается с нуля). Иллюстрации, таблицы, графики, расположенные на отдельных листах, включаются в общую нумерацию страниц. Основную часть работы состоит из разделов, подразделов, глав, параграфов, пунктов и подпунктов. Должны иметь свои названия. Они нумеруются (кроме введения, заключения, списка литературы, приложений) арабскими цифрами.

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

 

Также в работе был предусмотрен «Неудачный конец». В этом случае, пользователю в окне 2 выводится фраза «Извините, мне не нравится Ваша тема и Ваше отношение к работе! Пересмотрите свои взгляды и возвращайтесь позже!». После чего диалог прекращается и в окне 2 появляется фраза «Для того, чтобы начать новый диалог, напишите «Привет»». Предполагается, что пользователь некоторое время будет писать работу, затем вернется и захочет написать заключение. Для того чтобы это сделать, пользователь должен написать сразу «Хочу сделать заключение». Далее последует ряд вопросов. В окно 2 выводим вопрос «Все ли задачи вы выполнили? Расскажите поподробнее о ваших результатах!», ответ пользователя кладем в графу «1». В окно 2 выводим вопрос «Достигли ли Вы цели исследования? Расскажите поподробнее!», ответ пользователя кладем в графу «2». В окно 2 выводим вопрос «Пригодились ли вам инструменты? Я жду подробного изложения», ответ пользователя кладем в графу «3». Затем выдаем стандартный шаблон (Таблица 2.):

Таблица 2

Шаблон для вывода результатов по заключению

Заключение:

1+2+3

 

Если пользователь вводит словосочетание «научная статья», в окно 2 выводим фразу «Отлично, научная статья — это не так сложно, как кажется! Сейчас разберемся! Помните о том, что главная цель научной публикации — познакомить научное сообщество с результатами исследования автора, а также обозначить его приоритет в избранной области науки. Назовите тему Вашего исследования». Ответ пользователя помещаем в графу «Название». Далее в окно 2 выводим вопрос «Оцените, пожалуйста, на данный момент, каково состояние данного вопроса в мире? Это вопрос актуален?», ответ пользователя записываем в графу «Современное состояние вопроса». Далее в окно 2 выводим фразу «Что самое главное, по Вашему мнению, в данном вопросе», ответ пользователя кладем в графу «Цель исследования». Затем в окно 2 выводим фразу «Какие методы Вы использовали (собираетесь использовать) в проведении исследования?», ответ пользователя записываем в графу «Методика». Далее в окно 2 выводим фразу «Опишите, какие ступени Вы преодолели, какие результаты были на каждой из них?», ответ пользователя записываем в графу «Результаты». Далее в окно 2 выводим фразу «Замечательно!!! Как Вы думаете, насколько точны Ваши результаты?», ответ пользователя кладем в графу «Точность результатов». Далее в окно 2 выводим фразу «Отлично! Мы почти закончили! Теперь предлагаем Вам переместиться на страницу, где Вы увидите результат нашей работы!», пользователь переходит на страницу с результатами, они выведены в следующей форме (Таблица 3.):

Таблица 3

Шаблон для вывода результатов по научной статье

Научная статья

Название:

Современное состояние вопроса:

Цель исследования:

Методика:

Результат:

Точность результатов:

БЛОК «Правила»

 

Если пользователь вводит слово «реферат», в окно 2 выводим фразу «Отлично, реферат — это не так сложно, как кажется! Сейчас разберемся! Напоминаю, что Содержание материала должно быть логичным, изложение материала носит проблемно-поисковый характер. Назовите тему Вашего реферата». Ответ пользователя помещаем в графу «Название». Далее в окно 2 выводим вопрос «Как вы думаете, в чем суть проблемы, которую вы исследуете? Приведите, пожалуйста, развернутый ответ», ответ пользователя записываем в графу «Суть исследования». Далее в окно 2 выводим фразу «Замечательно! А какие точки зрения существуют по этому поводу?», ответ пользователя кладем в графу «Точки зрения». Затем в окно 2 выводим фразу «Вспомните, какие книги можно использовать при исследовании?», ответ пользователя записываем в графу «Составление библиографии». Далее в окно 2 выводим фразу «Выделите несколько пунктов в своем реферате, подумайте, о чем Вы хотите рассказать?», ответ пользователя записываем в графу «План реферата». Далее в окно 2 выводим фразу «Попробуйте своими словами пересказать материал исследования!», ответ пользователя кладем в графу «Краткий пересказ». Далее в окно 2 выводим фразу «А как конкретно Вы к этому относитесь?», ответ пользователя кладем в графу «Личная оценка». Далее в окно 2 выводим фразу «Попробуйте подвести итог всему вышесказанному?», ответ пользователя кладем в графу «Заключение». Далее в окно 2 выводим фразу «Отлично! Мы почти закончили! Теперь предлагаем Вам переместиться на страницу, где Вы увидите результат нашей работы!», пользователь переходит на страницу с результатами, они выведены в следующей форме (Таблица 4.):

Таблица 4

Шаблон для вывода результатов по реферату

Реферат

Название

План реферата:

Суть исследования:

Точки зрения:

Краткий пересказ:

Личная оценка:

Заключение:

Составление библиографии:

БЛОК «Правила»

 

1.                   Разработка кода

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

В первую очередь рассмотрим первую страницу, на которую попадает пользователь при переходе на сайт. Код этой страницы содержится в файле index.php. Здесь он представлен в виде 4 скриншотов (Рис.2 Скриншот(1) файла index.php, Рис.3 Скриншот(2) файла index.php, Рис.4 Скриншот(3) файла index.php, Рис.5 Скриншот(4) файла index.php).

Рис. 2. Скриншот(1) файла index.php

 

Рис. 3. Скриншот(2) файла index.php

 

Рис. 4. Скриншот(3) файла index.php

 

Рис. 5. Скриншот(4) файла index.php

 

Также здесь представлен скриншот одной из форм. (Рис.6 Скриншот(1) файла name.php, Рис.7 Скриншот(2) файла name.php)

Рис. 6. Скриншот(1) файла name.php

 

Рис. 7. Скриншот(2) файла name.php

 

Заключение

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

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

 

Литература:

 

1.       Стивен Сандерсон ASP.NET MVC Framework с примерами на C# для профессионалов. — М.: Вильямс, 2009. — ISBN 978–5-8459–1609–9

2.       Конноли Т. Базы данных. Проектирование, реализация и сопровождение /Т. Конноли, К. Бегг. — Москва: Вильяме, 2003.

3.       Сайт «Все об Ubuntu». Ссылка на доступ: http://ubuntovod.ru/bablo/zend-framework-bazovye-vozmozhnosti-i-preimushhestva-ispolzovaniya.html

4.       Официальный сайт Zend Framework. Ссылка на доступ: http://framework.zend.com/

5.       Дмитрий Котеров, Алексей Костарев. PHP. В подлиннике. — Спб.: «БХВ-Петербург», 2005. — С. 1120. — ISBN 5–94157–245-Х

6.       Джейсон Ленгсторф. PHP и jQuery для профессионалов = Pro PHP and jQuery. — М.: «Вильямс», 2010. — С. 352. — ISBN 978–5-8459–1693–8.

Обсуждение

Социальные комментарии Cackle