Научная статья на тему 'Работа модели генерации текста с помощью нейронных сетей как составной системы: модульный анализ модуль первый. Языковая модель: работа с текстовыми вхождениями'

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

CC BY
611
87
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
анализ текста / векторное представление слов / программирование / обучение нейронных сетей / языковая модель / текстовые вхождения / text analysis / vector representation of words / programming / neural networks’ training / nlp model / text embeddings

Аннотация научной статьи по языкознанию и литературоведению, автор научной работы — Гринин Игорь Леонидович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Operation of the text generation model using neural networks as a composite system: modulus analysis the module first. NLP-model: working with text embeddings

The aim of the research is to study the structure and operation principles of the first composite module of text generation models language models. The research methodology was to conduct a comparative analysis of popular neural network and non-network vector models of natural language processing, as well as a step-by-step analysis of the operation of one of these models. The result of the research was an experimental analysis of three main models of natural language processing. In the course of the research, data was collected, on the basis of which a comparative analysis table was created with numerical values assigned to describe the capabilities of each of the models. We also obtained a number of theoretical knowledge for the text operations, which can be useful for various possible processing of text data.

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

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

о сч о сч

о ш m

X

<

m О X X

Гринин Игорь Леонидович

магистрант кафедра программного обеспечения автоматизированных систем (ПОАС), Волгоградский Государственный Технический Университет(ВолгГТУ), frederickbrown@yandex.ru

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

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

Введение

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

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

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

На данный момент, в научной литературе на каждый из модулей имеется большое количество информации [1-4]. Анализ литературы показывает, что тема NLP modeling исключительно востребована, всего опубликовано около 100 000 статей, при этом только за 2019 год опубликовано около 17000 статей. Это показывает возрастающий интерес к данной тематике. Однако, именно как составные части, рассматриваемой нами модели. чаше всего не рассматриваются. К тому же, к сожалению, данный вопрос исследуются не системно.

Настоящая статья носит теоретический характер, но некоторые практические результаты в работе с языковыми моделями были показаны в наших предыдущих работах [5]

В статье, рассматривается первый из трех модулей работы - языковая модель.

Языковая модель работает с так называемыми «вхождениями слов» (англ. word embeddings) - словами, или их частями, используемых в системе для анализа.

Языковая модель — это вероятностное распределение на множестве словарных последовательностей. Для смысл содержащих предложений вроде "Привет вам, народ" или " мама мыла раму" языковая модель спо-

собна выдать высокую вероятность существования последовательностью слов, формирующее данное предложение.

Оценкой качества языковой модели является показатель перплексии — показатель эффективности предсказывания деталей тестовой коллекции (чем меньше перплексия, тем лучше модель).

Пример самой простой языковой модели представлен на рисунке ниже:

байт, каждый из которых кодируется отдельно), а отображается на размерности 16, то, например символ а в таком виде будет выглядеть вот так.

array ([ 1.10141766, -0.67602301, 0.69620615, 1.96468627, 0.84881932, 0.88931531, -1.02173674, 0.72357982, -0.56537604, 0.09024946,-1.30529296, -0.76146501, -0.30620322, 0.54770935, -0.74167275, 1.02123129], dtype=float32) Пример 2.

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

Рис. 1 Основные компоненты языковой модели

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

Символьное вхождение

Простым способом представить символ в качестве входного данного - это прямое кодирование, или one-hot encoding. Для реализации данного способа необходимо представить весь входящий корпус символов (например, алфавит) в виде бинарного массива. Тогда для каждого символа, этот массив будет выглядеть как единица, стоящая на позиции символа в корпусе, и окружающие ее нули[6].

Пример 1

onehot('a') =

[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]

onehot('c') =

[0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]

Так в прямом кодировании выглядят буквы а и с латинского алфавита. Однако, этот метод слишком грубый и тяжеловесный. Вместо него используется так называемый «плотное» (dense) распределение символов. Синий блок «Char CNN» из представления нашей языковой модели отвечает за перевод еще не обработанных символов в векторном представлении и их последующую передачу в следующий модуль.

Поскольку представленная модель имеет размерность 256 (не-ASCII символы расширены до нескольких

оО

тм

А *

и

<РАО> I <ГЪ> £, ш <w>

rt </W»

glQ V [<!_ 's s 3

F

P

0 iJ I

6 5 4 -

2 I

Рисунок 3 Представление символов языковой модели в 2-мерном пространстве

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

Векторное представление

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

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

X X

о го А с.

X

го m

о

м о м о

стандартный пример компании Google, создателей этой модели.

о

CS

0

CS

01

О Ш

m

X

3

<

m О X X

0.78321 , -0.91241 Как мы видим,

II ■ I

Рис. - 6 Визуализация вложений вектора

I II

Далее, рассмотрим те же вектора слов, что и в нашем упрощенном примере.

Рисунок - 4 Векторное представление слов в word2vec

На рисунке видно, что по значениям, слова man (мужчина) и woman (женщина) стоят друг к другу ближе, чем к слову king (король). Однако, например, слово «король» условно представляет из себя сумму таких векторов как «мужчина»+«правитель». А ведь существует слово «королева». Это тот же вектор «правитель», но теперь сложенный с «женщиной». Исходя из простой логики, если заменить в слове «король» вектор «мужчины» на «женщину», то у нас получится королева. И именно так, в простом изложении работает векторное представление слов, что показано на рис. 5.

"Woman' ■

Рисунок - 7 Визуализация вложений векторов

Здесь как и раньше слова «мужчина» и «женщина» соответствуют между собой больше, чем с «королем».

Перейдем к сложению векторов. Сложения, как и вычитания, как и все прочие результаты действий с векторами называются аналогиями. Аналогии дают новые значения слов, в зависимости от действий. Однако, это не значит, что если сложить 2 вектора мы точно получим третий, с тем значением, которое нам необходимо. Мы получим приблизительное, очень близкое значение. Может быть даже идентичное, но шанс такого достаточно мал. На примере ниже показано, как это работает.

king - man + woman <*= queen

1

I

Рисунок - 5 Векторное представление слов в word2vec

На рисунке видно, что условное значение вектора «пол», обозначенное у короля и мужчины светло-голубом цветом, в слове «королева» имеет такое же цветовое значение, как и в слове «женщина». Однако, это пример, где если точно не известно, что закодировано, то это возможно предположить. В реальных примерах, это выглядит вектор состоит из гораздо большего количества элементов. Рассмотрим это на примере.

Ниже представлено вложение для слова «король» (вектор, обученный на Википедии):

[ 0.50451 , 0.68607 , -0.59517 , -0.022801, 0.60046 , -0.13498 , -0.08813 , 0.47377 , -0.61798 , -0.31012 , -0.076666, 1.493 , -0.034189, -0.98173 , 0.68229 , 0.81722 , -0.51874 , -0.31503 , -0.55809 , 0.66421 , 0.1961 , -0.13495 , -0.11476 , -0.30344 , 0.41177 , -2.223 , -1.0756 , -1.0783 , -0.34354 , 0.33505 , 1.9927 , -0.04234 , -0.64319 , 0.71125 , 0.49159 , 0.16754 , 0.34344 , -0.25663 , -0.8523 , 0.1661 , 0.40102 , 1.1685 , -1.0137 , -0.21585 , -0.15155 , -1.6106 , -0.64426 , -0.51042 ] здесь 50 вложений, однако, с точки зрения человеческого восприятия они не представляют важности. Для простоты представления, визуализируем эти вложения:

I. ill

king man woman king-man+woman queen |

Рисунок - 8 Визуализация вложений векторов

Как видно на рисунке, сложение векторов короля и женщины не абсолютно равно представлению королевы. Однако, это самое близкое значение из около 400000 вложений в том наборе данных, откуда предоставлены данные значения. Специальные библиотеки, например Gensim, занимаются созданием аналогий и поиском наиболее близких к выходному вектору слов-значений. [6]

На рисунке 9 представлены набор некоторых других векторов для сравнения и анализа модели векторного вхождения.

На рисунке можно заметить несколько особенностей:

1. Через все слова проходит одна красная колонка. То есть эти слова похожи в этом конкретном измерении (при этом, не известно что в нем закодировано).

2. Можно увидеть схожесть между «женщина» и «девушка» , аналогично в случае с «мужчиной» и «мальчиком».

3. «Мальчик» и «девочка» тоже похожи в некоторых измерениях, но отличаются от «женщины» и «мужчины».

4. Есть чёткие измерения, где «король» и «королева» похожи друг на друга и отличаются от всех остальных.

Ill

«II III I 1;

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

и

i

queen woman girl boy man king queen

Рисунок - 9 Визуализация вложений векторов GloVe

I I

II

I

I II II I

I

И I

тельных экспериментов по основным возможностям модели, нами были получены результаты, представленные в таблице, в форме экспертной оценки по десятибалльной системе. Оценочные значения были присвоены каждой из моделей (табл. 1).

Таблица 1

: моделей

Сравнение моделей

На примере описания векторной модели были продемонстрированы основные принципы построения и взаимодействия вхождений, а также математические основы работы языковых моделей.

Как говорилось выше, нами был проведен небольшой сравнительный анализ популярных языковых моделей. Самой популярной, пример работы которой использовался в статье, является word2vec. Также, для сравнения были выбраны еще две модели GloVE и fastText.

Коротко о каждой модели:

word2vec. Эта модель работает на больших корпусах (выборках) текстов, что позволяет определить отношения форм слов к друг другу (например, гендерные, как «король» и «королева»). Именно на этих отношения форм и строятся сами векторы.

Главное преимущество данной модели - ее методология, которая служит для развития новых моделей

GloVe (Global Vectors)

Эта модель была создана примерно в одно время с предыдущей, поэтому очень часто между ними проводят параллели. В отличии от word2vec, GloVe работает со статистикой совпадений - минимизирует среднеквадратичное отклонение, выдает пространство вектора слова с разумной субструктурой [7]. Это позволяет достаточно точно работать с векторной подструктурой и векторами в целом -можно связать между собой различные вектора слов, например язык и все его диалекты.

Главное преимущество данной модели в том, что она дополняет word2vec, добавляя частоту встречаемости слов.

FastText.

Эта модель, разработанная для facebook, как и многие другие, является продолжением word2vec. Основным отличием здесь является то, что вместо слов, вхождениями являются так называемые n-граммы - части этих слов. Самым популярным значением для n является 3, что образуется триграммы. Например, для слова «собака», набор триграмм выглядит как: «соб, оба, бак, ака, ка». И таким образом, например, последовательность «бак» в слове «бак» и в слове «собака» для модели являются разными . Это так же позволяет модели работать с ранее неизвестными словами.

Главное преимущество данной модели в том, что она хорошо работает с редкими или неизвестными словами.

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

Простота архитектуры Ско-рост ь обучения Смы сло-вая нагру зка век-торов Работа с редкими вхождениями Работа на уровне предложений Игно-риро-вание сов-местной встре-чае-мости

Word 2vec 4 7 8 3 2 3

GloV e 3 9 7 2 1 2

fastT ext 5 8 - 8 2 2

Результаты и выводы

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

Лучший результат показала модель word2vec, с абсолютным значением 27 баллов. Однако, разница между моделями небольшая и находится в районе 10% (11% и 7,5% от максимального количества баллов). Стоит отметить, что каждая модель имеет преимущества по отдельным параметрам и отставание по другим параметрам. Например, модель GloVe показала лучший результат по параметру "скорость обучения" (9 баллов), однако, имеет худший результат при работе с редкими вхождениями(2 балла). Модель word2vec имеет лучший средний результат, с наименьшими отклонениями по отклонениями по отдельным параметрам. Это можно объяснить тем, что является базовой моделью, разработанной раньше других. Высокие показатели по отдельным показателям у других моделей, обосновываются тем, что они данные модели являются усовершенствованием word2vec для отдельных направ-ленностей работы.

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

Литература

1. Implementing the concept of neurolinguistic programming related to sustainable human capital development Frankovsky M., Birknerova Z., Stefko R., Benkova E. Sustainability. 2019. Т. 11. № 15. С. 4031.

2. Нейролингвистическое программирование как инструмент рекламы Хашковский А.В. Директор по маркетингу и сбыту. 2015. № 8. С. 63-68.

3. Применение метода universal language model fine-tuning для задачи классификации намерений Морковкин

X X

о

го А с.

X

го m

о

ю

2 О

м о

А.Г., Попов А.А. В сборнике: Наука. Технологии. Инновации. Сборник научных трудов. В 9-и частях. Под редакцией А.В. Гадюкиной. 2019. С. 168-170.

4. Jesus L. Lobo. Evolving Spiking Neural Networks for online learning over drifting data streams /Jesus L. Lobo, Ibai Laña, Javier Del Ser, Miren Nekane Bilbao, Nikola Kasabov // Neural Networks. — 2018. — № 108. — С. 1-19.

5. Разработка, тестирование и сравнение моделей сентиментального

6. анализа коротких текстов, Гринин И.Л., «Инновации и инвестиции» №6, с. 186-190

7. Разбор статистической языковой модели от Google — часть 1: векторное представление символов https://habr.com/ru/company/wunderfund/blog/318454/

8. Чудесный мир Word Embeddings: какие они бывают и зачем нужны? https://habr.com/ru/company/ods/blog/329410

9. Обзор четырёх популярных NLP-моделей https://proglib.io/p/obzor-chetyreh-populyarnyh-nlp-modeley-2020-04-21

Operation of the text generation model using neural networks as a composite system: modulus analysis the module first. NLP-model: working with text embeddings Grinin I.L.

Volgograd State Technical University (VSTU) The aim of the research is to study the structure and operation principles of the first composite module of text generation models - language models. The research methodology was to conduct a comparative analysis of popular neural network and non-network vector models of natural language processing, as well as a step-by-step analysis of the operation of one of these models. The result of the research was an experimental analysis of three main models of natural language processing. In the course of the research, data was collected, on the basis of which a comparative analysis table was created with numerical values assigned to describe the capabilities of each of the models. We also obtained a number of theoretical knowledge for the text operations, which can be useful for various possible processing of text data. Keywords: text analysis, vector representation of words, programming, neural networks' training, nlp model, text embeddings References

1. Implementing the concept of neurolinguistic programming related

to sustainable human capital development Frankovsky M., Birknerová Z., Stefko R., Benková E. Sustainability. 2019.Vol. 11.No. 15, p. 4031.

2. Neuro-linguistic programming as an advertising tool A. Khashkovsky. Marketing and Sales Director. 2015. No. 8. S. 6368.

3. Application of the universal language model fine-tuning method

for the classification problem of intentions AG Morkovkin, AA Popov. In the collection: Science. Technology. Innovation. Collection of scientific papers. In 9 parts. Edited by A.V. Gadyukina. 2019.S. 168-170.

4. Jesus L. Lobo. Evolving Spiking Neural Networks for online

learning over drifting data streams / Jesus L. Lobo, Ibai Laña, Javier Del Ser, Miren Nekane Bilbao, Nikola Kasabov // Neural Networks. - 2018. - No. 108. - S. 1-19.

5. Development, testing and comparison of models of sentimental

analysis of short texts, Grinin I.L., "Innovation and investment" No. 6, p. 186-190

6. Analysis of the statistical language model from Google - part 1:

vector representation of symbols

https://habr.com/ru/company/wunderfund/blog/318454/

7. The wonderful world of Word Embeddings: what are they like and

why are they needed?

https://habr.com/ru/company/ods/blog/329410

8. Review of four popular NLP models https://proglib.io/p/obzor-

chetyreh-populyarnyh-nlp-modeley-2020-04-21

o

CS

о

CS

О Ш

m

X

3

<

m О X X

i Надоели баннеры? Вы всегда можете отключить рекламу.