УДК 004.89
ОБЗОР МЕТОДОВ СЕМАНТИЧЕСКОГО АНАЛИЗА ТЕКСТОВ
К. А. Соколова Научный руководитель - В. В. Буряченко
Сибирский государственный университет науки и технологий имени академика М. Ф. Решетнева Российская Федерация, 660037, г. Красноярск, просп. им. газ. «Красноярский рабочий», 31
E-mail: panteleeva998@gmail.com
В работе описываются программные средства и нейронные сети для задачианализа текста проверочных работ студентов. Рассмотрены достоинства и недостатки различных методов.
Ключевые слова: векторное представление, Word2Vec, нейронные сети, сверточные нейронные сети, FastText, spaCy.
REVIEW OF SEMANTIC TEXT ANALYSIS METHODS
K. A. Sokolova Scientific supervisor - V.V. Buryachenko
Reshetnev Siberian State University of Science and Technology 31, Krasnoyarskii rabochii prospekt, Krasnoyarsk, 660037, Russian Federation E-mail: panteleeva998@gmail.com
The paper describes software tools and neural networks for the task of analyzing the text of students' test papers. The advantages and disadvantages of various methods are considered.
Keywords: vector representation, Word2Vec, neural networks, convolutional neural networks, FastText, spaCy.
В настоящее время многие аспекты нашей жизни перешли в формат online, в том числе и образование. Проверка знаний является неотъемлемым этапом процесса обучения, поэтому электронный анализ текстов является одним из перспективных направлений для исследования. В научной работе будут рассмотрены текущие подходы семантического анализа текстов с рассмотрением их сильных и слабых сторон, для оценки их возможности применения в процессе проверки знаний обучающихся.
Основной задачей по поиску решений стоит выявление связности и смысла текста, а также выявление соответствия текста по отношению к заранее заданным шаблонам. Решение данных задач поможет в правильной оценке работ обучающихся как самой системой анализа текста, так и преподавателю при ручной проверке полученных результатов.
Так как работа происходит с естественным языком, необходимо понимать, что получаемый текст составлен из отдельных единиц (знаков), а также возможно несколько способов разбиения (членения) текста на единицы, относящимся к разным уровням [1]:
- синтаксический - уровень предложений (высказываний, словосочетаний);
- морфологический - уровень слов (словоформ - слов в определенной грамматической форме);
- лексический - уровень лексем (совокупность всех конкретных грамматических форм).
Для решения поставленных задач необходим семантический (смысловой) анализ, который подразделяется на 3 этапа, где первый этап - обработка естественного языка (NaturalLanguageProcessing - NLP). Данный этап включает в себя:
- токенизация (разделение исходного текста на синтаксический уровень);
- поиск частей речи (морфологический и лексический уровень);
- лемматизация (приведение слов к нормальной словарной форме); удаление «стоп слов»; тематические моделирование»;
- поиск устойчивых словосочетаний (n-gram).
На втором этапе проводится векторизация текста - перевод набора слов в вектор признаков, для чего используются следующие методы:
Word2Vec - данный метод основан на представлении полученных слов в виде векторов заданной размерности, в результате чего похожие слова располагаются близко к друг другу [2]. В самом начале просматривается весь текст, на основе которого составляется «словарь», который в дальнейшем будет использован для определения векторов. Данный способ позволяет более гибко передавать данные для дальнейшего обучения и создания шаблонов. Метод включает в себя два подхода: а) CSOW-непрерывная модель мешка слов -предсказывает среднее слово на основе слов окружающего контекста, где контекст состоит из слов до и после среднего слова. Порядок слов в контексте не нужен; б) Skip-gram-непрерывная модель пропуска - предсказывает слова в определенном диапазоне до и после текущего слова в том же предложении;
CNN (ConvolutionNeuralNetworks) или сверточные нейронные сети [3] - метод базируется на обученной Word2Vec модели, для формирования признакового пространства частот. Позволяет не только определить тональность текста, но и смысл текста в соответствии с шаблонами. Архитектура CNN представлена на рисунке 1.
ш
I
>
Г I
дЯ
&
&
& &
0
□
, 06pa6mva сло|Ш| свергай ,
Карга пршнаков
Уменьшение Карта OóiuTjfl вектор Скрытий псшю- Выходной
Рис. 1. Архитектура С 'NN \ 31
FastText - библиотека, содержащая предобученные готовые векторные представления слов и классификаторов [4]. Также как ШоМ2Уееиспользует 2 метода: СБОЖи^Ыр^аш. ИспользуетсяsuЪword-модель, в которой слова представляются через цепочки символов (п-граммы) с пот 3 до 6 символов от начала до конца слова, к которому приписывается само слово целиком. Данный подход позволяет работать со словами, которые ранее не встречались модели. Данный метод работает быстрее ШоМ2Уее за счет преобразования слов в хэши.
spaCy - представляет собой библиотеку на языке Cython, со встроенным методом анализа [5]. В spaCy токены векторизуются в виде плотных массивов, в которых для каждой позиции определены ненулевые значения. Также библиотеку БраСу имеет встроенный классификатор текста.
На последнем, третьем этапе, происходит классификация и обучение. Для классификации текста при помощи машинного обучения используются такие распространенные инструменты как: TensorFlow,Keras,PyTorch, scikit-learn.
Таблица 1
Сравнение методов семантического анализа текстов
Метод Word2Vec CNN FastText spaCy
Плюсы для векторизации встроенное встроенное встроенное
используется 2 метода; обучение и обучение и обучение и
большой набор классификация; классификация; классификация;
параметров; быстрое быстрая работа за быстрая работа за
малый размер обучение; счет хэша; с счет языка Cython;
векторов; быстро возможно помощью п- простая в
обучается и обучение «без граммы работает изучении и
генерирует векторные учителя»; хорошо работает использовании;
слова; векторные удобное на редких и есть встроенные
слова наделены распараллеливай устаревших вектора слов;
смыслом, а спорные ие вычислений; словах; основан открытый
моменты поддаются работает со на Word2Vec; исходный код;
расшифровке. многими можно уменьшить есть возможность
языками. размер модели без особых потерь. работы с хэшем.
Минусы медленная; необходимо не учитывает менее гибкая;
необходимы большое контекст слов; не быстрая
сторонние ресурсы для количество совместная токенизация
обучения модели; не примеров для встречаемость предложений;
учитывает контекст обучения. игнорируется. поддерживает
слов; совместная малое количество
встречаемость языков.
игнорируется; плохо
обрабатывает
неизвестные и редкие
слова; работает не со
всеми языками.
В таблице 1 представлены основные преимущества и недостатки рассмотренных методов. На основании данной таблицы наиболее подходящим подходом для задачи выявления связности и смысла текста, а также сравнения соответствия текста с заранее заданным шаблоном будет являться использование сверточных нейронных сетей (CNN).
Библиографические ссылки
1. Автоматическая обработка текстов на естественном языке и анализ данных: учеб. пособие / Большакова Е.И., Воронцов К.В., Ефремова Н.Э., Клышинский Э.С., Лукашевич Н.В., Сапин АС. — М.: Изд-во НИУ ВШЭ, 2017. — 269 с.
2. Word2Vec [Электронный ресурс] - URL: https://www.tensorflow.org/tutorials/text/word2vec(дата обращения 10.03.2022).
3. Ахметгалиев, А.И., Гафаров, Ф.М., Ситдикова, Ф.Б. Анализ тональности текстов с использованием нейросетевыхмоделей : Магистерская диссертация / А.И. Ахметгалиев, Ф. М. Гафаров, Ф. Б. Ситдикова; Казанский Федеральный университет. - Казань, 2019. - 8 с. -Текст : непосредственный. doi: 10.18411/sr-10-04-2019-69.
4. Joulin, A., Grave, E., Bojanowski, P., Mikolov, T. Bag of Tricks for Efficient Text Classification. In Proceedings of the 15th Conference of the European Chapter of the Association for Computational Linguistics: Volume 2, Short Papers, pages 427-431, 2017.
5. Краткий обзор NLP библиотеки spaCy [Электронный ресурс] - URL: https://habr.com/ru/post/504680/ (дата обращения 24.03.2022).
© Соколова К. А., 2022