Введение
В Национальной стратегии развития искусственного интеллекта (ИИ) в Российской Федерации на период до 2030 г. поставлена стратегическая задача – повысить уровень обеспечения отечественного рынка технологий ИИ квалифицированными кадрами. Для ее решения необходимы «разработка и внедрение образовательных модулей в рамках образовательных программ всех уровней образования, программ повышения квалификации и профессиональной переподготовки для получения гражданами знаний, приобретения ими компетенций и навыков в области математики, программирования, анализа данных, машинного обучения, способствующих развитию искусственного интеллекта» [1].
В современном информационном обществе наблюдается широкое применение ИИ в компьютерной лингвистике и обработке естественного языка (ОЕЯ), где одним из основных направлений применения является исследование текста: извлечение ключевых слов и понятий, кластеризация, обобщение и семантический анализ [2].
Цель исследования – разработать методику преподавания основ обработки естественного языка студентам образовательных организаций среднего специального и высшего образования.
Материалы и методы исследования
В работе исследованы нормативно-правовые документы, регулирующие образовательную деятельность, применены методы сбора, анализа, обобщения литературы, посвященной технологиям ОЕЯ; возможностям языка программирования Python и библиотек ИИ; методикам преподавания, проведения теоретических и практических занятий по изучению ИИ.
Результаты исследования и их обсуждение
Основой современных технологий ОЕЯ служат морфологические анализаторы текста [3], с помощью которых начинается обработка. Широкое распространение получил анализатор текста на русском языке Pymorphy2 [4].
Автор предлагает разделить процесс изучения возможностей морфологического анализатора текста Pymorphy2 на следующие этапы (темы занятий): изучение документации, инсталляция программного обеспечения, исследование свойств и методов класса MorphAnalyzer, применение морфологического анализатора Pymorphy2 при решении прикладных задач, практическая работа на заданную тему, отчет о НИР. Результатом представленного курса обучения является приобретение студентом универсальных и общепрофессиональных компетенций, перечисленных в Федеральном государственном образовательном стандарте высшего образования по направлению подготовки 09.03.01 «Информатика и вычислительная техника» [5] (таблица).
На занятии «Изучение документации» студенты знакомятся с официальной документацией по морфологическому анализатору Pymorphy2 на сайте https://Pymorphy2.readthedocs.io в следующей последовательности: терминология, обозначения для граммем на русском языке (часть речи, падеж, число, род, нестандартные граммемы), установка, морфологический анализ, работа с тегами, кириллические названия тегов, склонение слов, постановка слов в начальную форму, согласование слов с числительными, выбор правильного разбора [6].
Для программирования прикладных задач обучающимся необходимо прочитать документацию по библиотеке Natural Language Toolkit (NLTK) на официальном сайте https://www.nltk.org и по библиотеке Wordcloud на официальном сайте https://pypi.org/project/wordcloud.
Занятие «Инсталляция программного обеспечения» посвящено установке библиотеки Pymorphy2 для языка программирования Python и электронных словарей Pymorphy2-dicts-ru для обработки русского языка. Варианты инсталляции: для операционной системы MS Windows (согласно официальной документации разработчиков), для отечественной операционной системы Alt Linux (пакет python3-модуль-Pymorphy2).
Аналогично выполняется установка библиотек NLTK и Wordcloud.
Темы занятий и компетенции
Тема занятия |
Компетенции ФГОС |
Изучение документации |
УК-1. Способен осуществлять поиск, критический анализ и синтез информации, применять системный подход для решения поставленных задач |
Инсталляция программного обеспечения |
ОПК-5. Способен инсталлировать программное и аппаратное обеспечение для информационных и автоматизированных систем |
Исследование свойств и методов класса MorphAnalyzer |
ОПК-1. Способен применять естественнонаучные и общеинженерные знания, методы математического анализа и моделирования, теоретического и экспериментального исследования в профессиональной деятельности. ОПК-2. Способен понимать принципы работы современных информационных технологий и программных средств, в том числе отечественного производства, и использовать их при решении задач профессиональной деятельности |
Применение морфологического анализатора Pymorphy2 при решении прикладных задач |
ОПК-9. Способен осваивать методики использования программных средств для решения практических задач |
Практическая работа на заданную тему |
ОПК-8. Способен разрабатывать алгоритмы и программы, пригодные для практического применения |
Отчет о НИР |
ОПК-4. Способен участвовать в разработке стандартов, норм и правил, а также технической документации, связанной с профессиональной деятельностью |
Источник: составлено автором на основании Приказа Министерства образования и науки РФ от 19 сентября 2017 г. № 929 [5].
На занятии «Исследование свойств и методов класса MorphAnalyzer» студентам предлагается создать программу (py-файл) в интегрированной среде программирования IDLE (включена в стандартный пакет «Альт Образование»), в которой с помощью следующей команды подключается библиотека морфологического анализатора текста:
import Pymorphy2
Создается объект класса морфологического анализатора MorphAnalyzer:
morph = Pymorphy2.MorphAnalyzer()
Выполняется метод Parse для получения информации по анализу слова, введенного как входной параметр, например: morph.parse(‘аналитические’). Результат выполнения метода:
[Parse(word=’аналитические’, tag=OpencorporaTag(‘ADJF plur,nomn’), normal_form=’аналитический’, score=0.5, methods_stack = ((DictionaryAnalyzer(), ‘аналитические’, 16, 20),)),
Parse(word=’аналитические’, tag=OpencorporaTag(‘ADJF inan,plur,accs’), normal_form=’аналитический’, score=0.5, methods_stack = ((DictionaryAnalyzer(), ‘аналитические’, 16, 24),))]
С помощью изученной на первом занятии документации обучающемуся предлагается расшифровать полученные тэги. Для приведенного выше примера получится следующая расшифровка:
1) слово «аналитические»; граммемы – имя прилагательное (полное), множественное число, именительный падеж; нормальная форма «аналитический»;
2) слово «аналитические»; граммемы – имя прилагательное (полное), неодушевленное, множественное число, винительный падеж; нормальная форма «аналитический».
С помощью метода lat2cyr студент выполняет перевод граммемы с английского языка на русский язык, например: morph.lat2cyr(‘ADJF plur,nomn’). Результат выполнения метода: ‘ПРИЛ мн,им’.
С помощью метода inflect выполнится склонение слова, например, в родительном падеже:
w = morph.parse(‘аналитические’)[0]
w.inflect({‘gent’})
Результат выполнения метода:
Parse(word=’аналитических’, tag=OpencorporaTag(‘ADJF plur,gent’), normal_form=’аналитический’, score=1.0, methods_stack= ((DictionaryAnalyzer(), ‘аналитических’, 16, 21),))
С помощью свойства lexeme студент выводит на экран лексему (все возможные формы слова) и расшифровывает полученные тэги.
С помощью свойства normal_form можно получить нормальную форму слова (именительный падеж, единственное число): w.normal_form. Результат выполнения кода: ‘аналитический’.
Рис. 1. Облако слов
Рис. 2. Облако биграмм
С помощью метода make_agree_with_number выполняется согласование слова с числительным, например 20: w.make_agree_with_number(20).word. Результат выполнения метода: ‘аналитических’.
Для закрепления полученных знаний студенты выполняют практическое задание: с помощью морфологического анализатора текста Pymorphy2 выполнить анализ предложения объемом не менее 10 слов.
На занятии «Применение морфологического анализатора Pymorphy2 при решении прикладных задач» студенты составляют программу на языке python, в которой подключают библиотеку NLTK, загружают текст научной статьи из txt-файла, выполняют токенизацию текста.
Применив функцию частотного анализа текста, обучающийся печатает 10 токенов в порядке убывания частоты:
fdist = FreqDist(text)
print(fdist.most_common(10))
Результат выполнения кода не содержит никакой полезной информации:
[(‘и’, 29), (‘в’, 21), (‘для’, 14), (‘–’, 13), (‘из’, 9), (‘с’, 8), (‘на’, 8), (‘людей’, 7), (‘социальных’, 7), (‘социальные’, 6)].
Необходимо изучить методы применения стоп-слов и с помощью морфологического анализатора перевести токены в нормальную форму. В итоге программный код составляет последовательность ключевых слов, которые несут смысловую нагрузку, например: [(‘социальный’, 17), (‘сеть’, 10), (‘анализ’, 9), (‘человек’, 8), (‘группа’, 7), (‘слово’, 7), (‘язык’, 6), (‘сообщество’, 5), (‘тошнота’, 5), (‘библиотека’, 5)].
С помощью библиотеки WordCloud можно графически отобразить результаты частотного анализа текста в форме «облака слов» (рис. 1).
С помощью морфологического анализатора текста Pymorphy2 студенты осваивают методы извлечения биграмм (прилагательное + существительное) (рис. 2), триграмм (существительное + глагол + существительное) и т.п.
На занятии «Практическая работа на заданную тему» студент самостоятельно выполняет научно-исследовательскую работу по обработке и семантическому анализу текста, результатом которой становится «Отчет о НИР». Отчет должен содержать следующую информацию: источники исходных данных (электронные научные журналы, тезисы студенческих конференций), программы загрузки и предварительной обработки текстовых файлов, программы исследования текстов с использованием морфологического анализатора, визуализация результатов частотного анализа.
Заключение
Разработана методика преподавания основ ОЕЯ, основанная на языке программирования Python и библиотеках Pymorphy2, NLTK и Wordcloud. Приобретенные знания дают студентам возможность приступить к изучению таких актуальных тем применения искусственного интеллекта, как извлечение фактов из неструктурированных текстов с помощью парсеров, основанных на грамматиках и правилах, оценка семантической близости документов, тематическое моделирование, построение графов и сетей социальных групп, поиск информационных кластеров и др.
Предложенный автором курс практических занятий прошел пилотную апробацию в Московском государственном техническом университете им. Н.Э. Баумана при подготовке бакалавров по направлениям 09.03.01 «Информатика и вычислительная техника» и 09.03.03 «Прикладная информатика» (профиль «Информационная аналитика»). На занятиях с помощью морфологического анализатора были исследованы статьи из девяти сборников студенческих работ «Аналитические технологии в социальной сфере: теория и практика», которые были представлены на ежегодных конференциях АНО «Научно-исследовательский центр проблем национальной безопасности». Составлены ключевые слова к ним, проведен семантический анализ изменения сферы научных интересов авторов статей за период с 2019 по 2023 г. Полученные результаты наглядно продемонстрированы в форме «облаков слов».
Библиографическая ссылка
Самохвалов А.Э. МЕТОДИКА ПРЕПОДАВАНИЯ ОСНОВ ОБРАБОТКИ ЕСТЕСТВЕННОГО ЯЗЫКА // Научное обозрение. Педагогические науки. 2025. № 1. С. 30-34;URL: https://science-pedagogy.ru/ru/article/view?id=2563 (дата обращения: 24.04.2025).
DOI: https://doi.org/10.17513/srps.2563