Судеревская Д. А.

РГПУ им. А.И. Герцена,

г. Санкт-Петербург

Модель электронного учебного курса для обучения будущих учителей информатики технологиям обработки естественного языка

Статья посвящена описанию модели электронного учебного курса «Обработка естественного языка на Python». Рассматриваются цели и задачи разрабатываемого курса, его компоненты и тематический план. Также в статье приводятся примеры заданий для отработки навыков программирования.

Suderevskaia D. A.

HSPU

St. Petersburg, Russia 

A model of an electronic training course for teaching future computer science teachers natural language processing technologies

The article is devoted to the description of the model of the electronic training course "Natural language processing in Python". The goals and objectives of the developing course, its components and thematic plan are considered. The article also provides examples of tasks for practicing programming skills.

Введение

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

Одним из основополагающих направлений искусственного интеллекта являются технологии обработки естественного языка (Natural language processing – NLP). Обработка естественного языка – это направление машинного обучения и компьютерной лингвистики, направленное на изучение проблемы синтеза естественных языков и компьютерного анализа [1]. Другими словами, это технологии, позволяющие компьютерам понимать человеческую речь. Они являются основой чат-ботов, голосовых помощников, поисковых систем, систем машинного перевода и многих других [5].


К основным алгоритмам и функциям обработки естественного языка относят:

·   Токенизацию – процесс разделения целого предложения или текста на токены (части). Чаще всего встречаются следующие токенизаторы:

o   Токенизатор предложений – для деления текста на фрагменты с опорой на пунктуацию.

o   Токенизаторы слов и пунктуаций – для выделения из текста слов и знаков препинания в порядке их использования.

На изображении ниже представлено исходное предложение и результаты работы с ним трёх вариантов токенизаторов:

suderevskaya-1

Рис. 1 – Демонстрация результатов работы токенизаторов

 

· Стемминг используется для приведения слов к их базовым формам или, другими словами, поиска основ этих слов. Обычно рассматриваются три основных стеммера [3]: стеммер Портера (по фамилии создателя), стеммер Сноуболл («Снежный ком» по формату работы программы) и Ланкастерский стеммер (по названию университета, в котором был разработан). Вышеперечисленные стеммеры могут вести себя по-разному с одним и тем же словом, выделяя ему различные основы.

· Лемматизацию – процесс приведения слов к их корневым формам. В отличие от результатов работы стеммеров, формы слов, полученные при лемматизации имеют смысл и сами по себе уже являются словами [4].

· Чанкинг – разбиение текста на блоки (чанки). Делается это для дальнейшего анализа текста, однако чанкинг используется не всегда, но в большинстве случаев работы с текстами.

· Построение модели «Мешок слов» для преобразования текста из словесной в числовую форму. Во время работы модель создаёт словарь из всех слов, использованных в тексте, и их количеств.

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

Рассмотренные технологии базируются на сложных моделях компьютерной лингвистики и алгоритмах машинного обучения. По мнению автора [2], наибольшие трудности при разработке учебного курса состоят в:

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

· Подборе демонстрационных примеров на языке программирования, наглядно иллюстрирующих алгоритмы и подходы к решению задач NLP;

· Подготовке заданий для практический заданий, ориентированных на развитие у студентов готовности самостоятельно решать простые задачи NLP средствами языка Python.

Обучение обработке естественного языка

Для обучения будущих преподавателей информатики технологиям искусственного интеллекта для обработки естественного языка разрабатывается курс на базе платформы Stepik.

Цель электронного курса: Обучение студентов старших курсов бакалавриата работе с технологиями искусственного интеллекта для обработки естественного языка.

Задачи нами сформулированы как повышение уровня осведомлённости студентов о возможностях технологий искусственного интеллекта в области обработки естественного языка и развитии у обучающихся навыков программирования и работы с библиотеками данных для обработки естественного языка на Python.

Электронный курс включает в себя компоненты, необходимые для качественного обучения. Для диагностики начальных и итоговых знаний используются входные и выходные тестирования и анкетирования. Основная информация заложена в теоретические материалы к лекциям, предложены также дополнительные источники. Для отработки навыков предусмотрены несколько вариантов практических заданий. Кроме того, электронный курс содержит элементы для комфортного обучения и взаимодействия студентов: инструкцию, чат Telegram и электронный журнал.

Тематическое планирование

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

Содержание обучения направлено на формирование у студентов знаний в области NLP и навыков использования основными алгоритмами. Для постепенного погружения в материал предусмотрены части «Прежде чем начать» (содержит организационную информацию) и «Введение» (теория по обработке естественного языка и установка пакетов данных). Часть «Алгоритмы» включает в себя основные темы курса: токенизация, стемминг, лемматизация, чанкинг и модель «Мешок слов». В разделе «Проектная деятельность» учащиеся могут выбрать одно из предложенных направлений для изучения и разработки программы: прогнозатор категорий, анализатор грамматических родов, сентимент-анализатор или тематическое моделирование. Выбранные для проектов темы вынесены отдельно от остальных ввиду их узкой направленности и повышенной сложности, которая потребует большего количества времени на выполнение, чем обычные темы. Часть «Заключение» позволяет подвести итоги обучения и обозначить результаты учащихся.

Задания

Ниже представлены варианты трёх заданий электронного курса по теме «Токенизация». Задания на развитие навыков программирования по остальным темам модуля «Алгоритмы» имеют аналогичное строение.

·        Задание 1 заключается в повторении и запуске программы на Python, предложенной в лекции. Наличие задания такого типа обусловлено необходимостью закрепления первичных полученных знаний на практике. Недостаточно просто посмотреть на программу, важно понять и отработать каждую её часть в отдельности.

suderevskaya-2

Рис. 2 – Пример выполнения задания 1

 

·        Задание 2 – это первичное изменение программного кода. Данный тип заданий помогает учащимся сильнее погрузиться в суть программы, отметить некоторые изменения, которые происходят с кодом и отражаются на результатах работы, а также расширить спектр знаний о её возможностях.

suderevskaya-3

Рис. 3 – Пример выполнения задания 2

 

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

suderevskaya-4

Рис. 4 – Пример выполнения задания 3

 

Заключение

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

 

Литература:

1. Обработка естественного языка / Я. П. Горожанкин, А. О. Иванов, А. А. Миронов [и др.]. — Текст : непосредственный // Молодой ученый. — 2019. — № 26 (264). — С. 28-30.

2. Баранова, Е. В. Подготовка будущих учителей информатики области искусственного интеллекта / Е. В. Баранова, И. В. Симонова // Методика преподавания в современной школе: проблемы и инновационные решения: Материалы российско-узбекского образовательного форума по проблемам общего образования, Ташкент, 23–24 ноября 2022 года / Под научной редакцией С.В. Тарасова. – Санкт-Петербург: Российский государственный педагогический университет им. А. И. Герцена, 2022. – С. 119-125. – EDN YGEERO.

3. Джоши П. Искусственный интеллект с примерами на Python: Пер. с англ.. - СПб: ООО "Диалектика", 2019. - 448 с.

4. Бенджамин Б., Ребекка Б., Тони О. Прикладной анализ текстовых данных на Python. Машинное обучение и создание приложений обработки естественного языка. – " Издательский дом " Питер"", 2018.

5. Бабаев А. М. Основные принципы обработки естественного языка // Дневник науки. – 2019. – №. 12. – С. 14-14.

комментарии: