ИССЛЕДОВАНИЕ ВОЗМОЖНОСТЕЙ РЕКУРРЕНТНЫХ НЕЙРОННЫХ СЕТЕЙ ДЛЯ РЕШЕНИЯ ЗАДАЧИ КЛАССИФИКАЦИИ СЛАБОСТРУКТУРИРОВАННОЙ ИНФОРМАЦИИ НА ПРИМЕРЕ БИБЛИОГРАФИЧЕСКИХ ДАННЫХ

ИНФОРМАЦИОННО-КОММУНИКАЦИОННЫЕ

ТЕХНОЛОГИИ INFORMATION-COMMUNICATION TECHNOLOGIES

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

УДК 004.032.26

doi:10.24151/1561-5405-2022-27-2-259-267

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

Е. Н. Петров, Е. М. Портнов

Национальный исследовательский университет «МИЭТ», г. Москва, Россия

fiddenmar@gmail. com

Аннотация. С развитием информационных технологий проблема автоматизированной обработки данных возникает в различных предметных областях, в том числе при библиографическом описании. Когда собираемая из разных источников информация представлена в виде неоднородно структурированных библиографических записей, содержащих неточности в оформлении, перенос данных в сводную таблицу или отчет становится трудоемкой задачей, результат выполнения которой подвержен влиянию человеческого фактора. В связи с этим автоматизировать классификацию информации, содержащейся в библиографических записях, актуально. В работе исследованы возможности рекуррентных нейронных сетей для решения задачи классификации слабоструктурированной информации на примере библиографических данных. Показано, что для применения рекуррентной нейронной сети, прежде всего, необходимо перейти от естественного представления полученных записей к признаковому. При этом выбор комплекса признаков представляет собой отдельную нетривиальную задачу. Для программной реализации выбран язык Python. Для оценки результатов работы созданного программного модуля использована тестовая выборка библиографических записей, составленных на основе научных трудов сотрудников Института системной и программной инженерии и информационных технологий МИЭТ за последние пять лет. Итоговая точность составила 86 %, что на 11 % больше результата, полученного при использовании нейронной сети прямого распространения. Разработанные признаковое представление и структура рекуррентной нейронной сети позволят перейти к автоматизированной обработке библиографических данных с последующей обязательной коррекцией результатов оператором.

© Е. Н. Петров, Е. М. Портнов, 2022

Ключевые слова: рекуррентные нейронные сети, обработка данных, разработка программного обеспечения, язык программирования Python

Финансирование работы: работа выполнена при финансовой поддержке РФФИ (проект № 20-37-90008).

Для цитирования: Петров Е. Н., Портнов Е. М. Исследование возможностей рекуррентных нейронных сетей для решения задачи классификации слабоструктурированной информации на примере библиографических данных // Изв. вузов. Электроника. 2022. Т. 27. № 2. С. 259-267. doi: https://doi.org/10.24151/1561-5405-2022-27-2-259-267

Original article

Investigation of the capabilities of recurrent neural networks for solving the problem of classification of poorly structured information on the example of bibliographic data

E. N. Petrov, E. M. Portnov

National Research University of Electronic Technology, Moscow, Russia fiddenmar@gmail.com

Abstract. New fields of automatic data processing become available, including bibliographic data, with current progress of information technologies. When bibliographic data is gathered from multiple sources and contains non-uniformly structured bibliographic records with formatting mistakes, transmitting the data to the summary table costs time and effort while the result is prone to human factor impact. Consequently, automatic bibliographic data processing is relevant and in demand. This work investigates the capabilities of recurrent neural networks for solving the problem of classification of poorly structured bibliographic information. It was shown that to apply a recurrent neural network one needs to change from natural to feature presentation of bibliographic data gathered, that is to present the data as a set of features. Choosing such a feature set is another complex problem. The developed recurrent neural network structure was implemented using Python programming language. To estimate the developed software module performance a test set was formed from the publications list of MIET Institute of Systems and Software Engineers and Information Technology, covering the past five years. The module's precision has reached 86 % that is 11 % over the results of feed-forward network implementation. The developed feature set and recurrent neural network structure make possible automatic bibliographic data processing with obligatory user post-processing.

Keywords: recurrent neural networks, data processing, software development, Python programming language

Funding: the work has been supported by Russian Foundation for Basic Research (project No. 20-37-90008).

For citation: Petrov E. N., Portnov E. M. Investigation of the capabilities of recurrent neural networks for solving the problem of classification of poorly structured information on the example of bibliographic data. Proc. Univ. Electronics, 2022, vol. 27, no. 2, pp. 259-267. doi: https://doi.org/10.24151/1561-5405-2022-27-2-259-267

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

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

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

В нейронной сети прямого распространения все связи направлены строго от входных нейронов к выходным [2]. В РНС часть связей направлена с выходных нейронов на входные. РНС часто используются при обработке естественных языков [3], так как учитывают лингвистический контекст, передавая на вход нейронной сети не только само классифицируемое слово, но и результаты обработки предыдущих слов.

LSTM - это РНС с долгой краткосрочной памятью, способная обучаться долгосрочным зависимостям, необходимым для эффективного лингвистического анализа [4]. Слой LSTM имеет сложную структуру и состоит из слоя утраты, отвечающего за очистку состояния ячейки, слоя сохранения, обновляющего состояние ячейки, и выхода, учитывающего сохраненное и текущее состояния ячейки. Такая структура запоминает информацию в течение длительного времени и устраняет проблему долгосрочных зависимостей, что позволяет выполнять классификацию библиографических данных.

Рассмотрим частное решение задачи классификации библиографических данных с помощью разработки РНС на основе LSTM и сравним ее с нейронной сетью прямого распространения.

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

Разработанный набор признаков для формирования признакового представления при решении задачи классификации состоит из общей и специальной частей. В общей части присутствуют подходящие для универсальной обработки текста признаки: буквенного, цифрового и смешанного составов слова; регистра первого символа; положения в предложении. В специальную часть добавлены признаки, специфичные для библиографических записей: разделителей «-» и «//»; окончания на точку или запятую; инициалов. Дополнительно в набор признаков входят сокращенные наборы признаков предыдущего и последующего слов, а также флаги первого и последнего слов.

Структура рекуррентной нейронной сети. Второй этап при решении задачи классификации - разработка структуры РНС. Полученная структура имеет шесть слоев с общим числом параметров 553 338 (табл. 1).

Таблица 1

Структура рекуррентной нейронной сети

Table 1

Recurrent neural network structure

Слой Выходные данные Число параметров

Embedding (None, 50, 50) 250 000

ConvlD (None, 50, 32) 4832

MaxPoolinglD (None, 25, 32) 0

LSTM (None, 256) 295 936

Dense (None, 10) 2570

Activation (None, 10) 0

Опишем назначение каждого слоя:

- Embedding отвечает за преобразование признакового представления в единое матричное пространство, где каждое значение каждого признака имеет свои координаты, что облегчает работу последующим слоям;

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

- MaxPooling1D осуществляет операцию максимальной подвыборки, уменьшающую общую сложность модели данных;

- LSTM отвечает за непосредственное обучение модели, формируя долгосрочные связи;

- Dense является полносвязным слоем и предоставляет итоговый результат работы нейронной сети;

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

Программная реализация. Рассмотрим программную реализацию разработанной структуры РНС на языке Python с применением модулей sklearn [5], keras [6] и matplotlib [7].

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

dict_vectorizer = DictVectorizer

Все библиографические записи перед обучением унифицированы: слишком короткие увеличены до целевого значения, а слишком длинные урезаны:

Xtrain = sequence.pad_sequences

Модуль keras использовали для программной реализации слоев РНС:

model = Sequential([

InputLayer(inputdim),

Embedding(5000, inputdim, input_length=50, trainable = True),

Conv1D(filters=32, kernel_size=3, padding='same', activation='relu'),

MaxPooling1D(pool_size=2),

LSTM(hidden_neurons),

Dense (output dim),

Activation

])

Размер скрытых слоев 256, обучение проводили в 20 эпохах по 32 батча.

Основным показателем эффективности классификации выбрана точность [1], в качестве функции потерь - категориальная кросс-энтропия [8], в качестве алгоритма оптимизации - адаптивная оценка момента [9].

Результаты и их обсуждение. В ходе вычислительного эксперимента в качестве входных данных использовали тестовую выборку размеченных библиографических записей, составленных на основе научных трудов сотрудников Института системной и программной инженерии и информационных технологий МИЭТ за последние пять лет. Входные данные делили на три части в соотношении 70:10:20 соответственно для обучения, валидации и проверки [10] РНС на основе LSTM. Результаты обучения для каждой эпохи приведены в табл. 2, графики точности и потерь - на рис. 1.

Таблица 2

Процесс обучения рекуррентной нейронной сети

Table 2

Recurrent neural network learning process

Эпоха Потери Точность

1 1,8427 0,3209

2 1,5256 0,4002

3 1,1445 0,5317

4 0,9612 0,6071

5 0,8008 0,6944

6 0,6959 0,7324

7 0,6315 0,7528

8 0,5771 0,7636

9 0,5399 0,7761

10 0,5129 0,7800

11 0,4879 0,7891

12 0,4686 0,7976

13 0,4662 0,7993

14 0,4739 0,7948

15 0,4267 0,8112

16 0,4183 0,8141

17 0,3847 0,8248

18 0,3800 0,8146

19 0,3721 0,8299

20 0,3714 0,8192

Итого 0,3459 0,8568

0,8 -

0,7 -

л

о о 0,6 -

о 0,5 -

н

0,4 -

0,3 -

1,6 -

s 1,4 -

сх о 1,2 -

о Е 1,0 -

0,8 -

0,6 -

0,4 -

—_ _ —

5 10 Эпоха а 15 20

2

5 10 15 20

Эпоха

б

Рис. 1. Графики точности (а) и потерь (б) рекуррентной нейронной сети: 1 - обучение; 2 - валидация Fig. 1. Accuracy (a) and loss (b) of recurrent neural network: 1 - training; 2 - validation

В итоге точность работы РНС при решении задачи классификации библиографических данных составила 0,8568, или 86 %.

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

Таблица 3

Структура нейронной сети прямого распространения

Table 3

Feed-forward neural network structure

Слой Выходные данные Число параметров

Dense (None, 512) 13 824

Activation (None, 512) 0

Dropout (None, 512) 0

Dense (None, 512) 262 656

Activation (None, 512) 0

Dropout (None, 512) 0

Dense (None, 10) 5130

Структура нейронной сети прямого распространения включает в себя семь слоев, общее число параметров 281 610. После каждого слоя активации идет слой Dropout, отвечающий за случайное отбрасывание части результатов для предотвращения переобучения. Чтобы предотвратить переобучение, характерное для нейронных сетей такого вида, число эпох снижено до 5. Процесс обучения по эпохам приведен в табл. 4, а графики точности и потерь представлены на рис. 2.

Таким образом, точность при использовании РНС по сравнению с нейронной сетью прямого распространения повысилась на 11 %.

Таблица 4

Процесс обучения нейронной сети прямого распространения

Table 4

Feed-forward neural network learning process

Эпоха Потери Точность

1 1,7949 0,3859

2 1,1770 0,5696

3 0,9023 0,6875

4 0,7218 0,7603

5 0,6194 0,7747

Итого 0,6075 0,7471

2 3 4 5

Эпоха a

12 3 4 5

Эпоха б

Рис. 2. Графики точности (а) и потерь (б) нейронной сети прямого распространения:

1 - обучение; 2 - валидация Fig. 2. Accuracy (a) and loss (b) of feed-forward neural network: 1 - training; 2 - validation

Заключение. Методика, использующая РНС со слоями долгой краткосрочной памяти, позволяет добиться точности классификации 86 %, что на 11 % превосходит результат, полученный нейронной сетью прямого распространения на том же наборе данных и признаков. Таким образом, разработанные признаковое представление и структура РНС дают возможность перейти к автоматизированной обработке слабоструктурированных библиографических данных с последующей обязательной коррекцией результатов оператором библиографического программного обеспечения.

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

Литература

1. McCulloch W. S., Pitts W. A logical calculus of the ideas immanent in nervous activity // Bulletin of Mathematical Biophysics. 1943. Vol. 5. No. 4. P. 115-133. doi: https://doi.org/10.1007/BF02478259

2. Bebis G., GeorgiopoulosM. Feed-forward neural networks // IEEE Potentials. 1994. Vol. 13. Iss. 4. P. 27-31. doi: https://doi.org/10.1109/45.329294

3. Sutskever I., Vinyals O., Quoc V. L. Sequence to sequence learning with neural networks // Advances in Neural Information Processing Systems Conference 27: [web] / NeurlPS Proceedings. 2014. URL: https://proceedings.neurips.cc/paper/2014/file/a14ac55a4f27472c5d894ec1c3c743d2-Paper.pdf (дата обращения: 08.02.2022).

4. Gers F. A., Schmidhuber J., Cummins F. Learning to forget: Continual prediction with LSTM // Neural Computation. 2000. Vol. 12. Iss. 10. P. 2451-2471. doi: https://doi.org/10.1162/089976600300015015

5. Trappenberg T. P. Machine learning with sklearn // Fundamentals of Machine Learning. Oxford: Oxford University Press, 2019. P. 38-65.

6. Gulli A., Pal S. Deep learning with Keras: Implement neural networks with Keras on Theano and TensorFlow. Birmingham: Packt Publishing, 2017. 318 p.

7. Sial A. H., Rashdi S. Y. S., Khan A. H. Comparative analysis of data visualization libraries Matplotlib and Seaborn in Python // International Journal of Advanced Trends in Computer Science and Engineering. 2021. Vol. 10. No. 1. P. 277-281.

8. De Boer P.-T., Kroese D. P., Mannor S., Rubinstein R. Y. A tutorial on the cross-entropy method // Ann. Oper. Res. 2005. Vol. 134. Iss. 1. P. 19-67. doi: https://doi.org/10.1007/s10479-005-5724-z

9. KingmaD. P., Ba J. Adam: a method for stochastic optimization: preprint // arXiv.org: [web]. 2014. URL: https://arxiv.org/abs/1412.6980v1 (дата обращения: 08.02.2022).

10. Guyon I. A scaling law for the validation-set training-set size ratio // AT&T Bell Laboratories Technical Journal. 1997. Vol. 1. P. 1-11.

Статья поступила в редакцию 13.09.2021 г.; одобрена после рецензирования 13.09.2021 г.;

принята к публикации 22.02.2022 г.

Информация об авторах

Петров Евгений Николаевич - аспирант Института системной и программной инженерии и информационных технологий Национального исследовательского университета «МИЭТ» (Россия, 124498, г. Москва, г. Зеленоград, пл. Шокина, 1), fiddenmar@gmail.com

Портнов Евгений Михайлович - доктор технических наук, профессор Института системной и программной инженерии и информационных технологий Национального исследовательского университета «МИЭТ» (Россия, 124498, г. Москва, г. Зеленоград, пл. Шокина, 1), evgen_uis@mail.ru

References

1. McCulloch W. S., Pitts W. A logical calculus of the ideas immanent in nervous activity. Bulletin of Mathematical Biophysics, 1943, vol. 5, no. 4, pp. 115-133. doi: https://doi.org/10.1007/BF02478259

2. Bebis G., Georgiopoulos M. Feed-forward neural networks. IEEE Potentials, 1994, vol. 13, iss. 4, pp. 27-31. doi: https://doi.org/10.1109/45.329294

3. Sutskever I., Vinyals O., Quoc V. L. Sequence to sequence learning with neural networks. Advances in Neural Information Processing Systems Conference 27. NeurIPS Proceedings, 2014. Available at: https://proceedings.neurips.cc/paper/2014/file/a14ac55a4f27472c5d894ec1c3c743d2-Paper.pdf (accessed: 08.02.2022).

4. Gers F. A., Schmidhuber J., Cummins F. Learning to forget: Continual prediction with LSTM. Neural Computation, 2000, vol. 12, iss. 10, pp. 2451-2471. doi: https://doi.org/10.1162/089976600300015015

5. Trappenberg T. P. Machine learning with sklearn. Fundamentals of Machine Learning. Oxford, Oxford University Press, 2019, pp. 38-65.

6. Gulli A., Pal S. Deep learning with Keras: Implement neural networks with Keras on Theano and Ten-sorFlow. Birmingham, Packt Publishing, 2017. 318 p.

7. Sial A. H., Rashdi S. Y. S., Khan A. H. Comparative analysis of data visualization libraries Matplotlib and Seaborn in Python. International Journal of Advanced Trends in Computer Science and Engineering, 2021, vol. 10, no. 1, pp. 277-281.

8. De Boer P.-T., Kroese D. P., Mannor S., Rubinstein R. Y. A tutorial on the cross-entropy method. Ann. Oper. Res., 2005, vol. 134, iss. 1, pp. 19-67. doi: https://doi.org/10.1007/s10479-005-5724-z

9. Kingma D. P., Ba J. Adam: a method for stochastic optimization: preprint. arXiv.org. 2014. Available at: https://arxiv.org/abs/1412.6980v1 (accessed: 08.02.2022).

10. Guyon I. A scaling law for the validation-set training-set size ratio. AT&T Bell Laboratories Technical Journal, 1997, vol. 1, pp. 1-11.

The article was submitted 13.09.2021; approved after reviewing 13.09.2021;

accepted for publication 22.02.2022.

Information about the authors

Evgeny N. Petrov - PhD student of the Institute of System and Software Engineering and Information Technology, National Research University of Electronic Technology (Russia, 124498, Moscow, Zelenograd, Shokin sq., 1), fiddenmar@gmail.com

Evgeny M. Portnov - Dr. Sci. (Eng.), Prof. of the Institute of System and Software Engineering and Information Technology, National Research University of Electronic Technology (Russia, 124498, Moscow, Zelenograd, Shokin sq., 1), evgen_uis@mail.ru

Вниманию читателей журнала «Известия высших учебных заведений. Электроника»

Подписку на печатную версию журнала можно оформить:

• по каталогу «Периодические издания. Газеты и журналы» ООО «Урал-Прссс Округ». Подписной индекс 47570

• по объединенному каталогу «Пресса России» ООО «Агентство «Книга-Сервис». Подписной индекс 38934

• через редакцию - с любого номера и до конца года