International scientific e-journal

ΛΌГOΣ. ONLINE

9 (May, 2020)

e-ISSN: 2663-4139
КВ №20521-13361Р

ENGINEERING AND IT

UDC 004.8

EOI 10.11232/2663-4139.09.08

МЕТОД ВЕКТОРНОГО ПОДАННЯ ПРИРОДОМОВНИХ ТЕКСТІВ НА ОСНОВІ НЕЙРОМЕРЕЖЕВОЇ АРХІТЕКТУРИ TRANSFORMER

БРИКАЛОВА Вікторія Валеріївна

здобувач вищої освіти факультету прикладної математики

Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського»

 

НАУКОВИЙ КЕРІВНИК:

 

ПЕТРАШЕНКО Андрій Васильович

канд. техн. наук., доцент , доцент кафедри Системного програмування та спеціалізованих комп’ютерних систем

Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського»

 

УКРАЇНА


Анотація. Дана стаття розглядає задачу векторного представлення природомовних текстів. В процесі дослідження розглянуто існуючі алгоритми векторизації тексту, принцип роботи та структуру нейромережевої архітектури Transformer. Запропонована нова більш ефективна модель для створення векторного представлення тексту, описані та проаналізовані результати тренування запропонованої архітектури.

Ключові слова: Transformer; NLP; NLU; Self-attention; BERT.

Постановка проблеми. Галузь обробки природної мови (Natural Language Processing (NLP)) є однією з найцікавіших та найменш розвинених на сьогоднішній день у машинному навчанні. Наука про обробку природних мов займається побудовою обчислювальних алгоритмів для автоматичного аналізу та використання людських мов. Рішення, що базуються на NLP, мають широкий спектр застосувань, таких як потужні пошукові системи (Google, Yandex), голосові помічники (Alexa, Siri), машинний переклад, класифікація текстів, генерація діалогу тощо. Для багатьох задач в галузі обробки природної мови центральним є питання представлення тексту у машинно-зрозумілому форматі. Алгоритми машинного навчання працюють у числовому просторі, що є суттєвою перешкодою для роботи з природними людськими мовами. Для використання цих алгоритмів необхідно представити вхідний текст у числовому просторі таким чином, щоб будь-який текстовий документ характеризувався фіксованою кількістю числових значень — вектором заданої розмірності. 

Аналіз досліджень та публікацій.  Існують різні алгоритми векторизації тексту: від простих Bag-of-Words (BOW) [1] та Term Frequency-Inverse Document Frequency (TF-IDF) [2] до більш складних нейромережевих методів, таких як Word2Vec [3] та Doc2Vec [4]. 

Алгоритми BOW та TF-IDF ставлять у відповідність кожному документу вектор, розмірність якого співпадає з розміром словника. В алгоритмі BOW кожному елементу вектора відповідає слово зі словника, а значенням цього елемента є кількість разів появи відповідного слова у документі. В алгоритмі TF-IDF елементами вектора є вагові коефіцієнти, розраховані для кожного слова в документі. Перевагами цих алгоритмів є простота реалізації, однак значними недоліками є те, що вектори текстів зі схожим сенсом можуть бути розташовані далеко один від одного у векторному просторі,  і навпаки вектори несхожих текстів можуть мати малу відстань. Також недоліком є надто великий розмір кінцевого вектору, що потребуватиме великої кількості параметрів при використанні у нейромережах.

Word2Vec це двошарова нейронна мережа, що використовуються для розподіленого представлення слів у корпусі [3]. В процесі тренування приймаючи на вхід набір речень (текстовий корпус) та ітеруючи по кожному слову, модель використовує поточне слово W, щоб передбачити сусідні слова. Після тренування моделі для векторного подання слова  використовується вихідний вектор проміжного шару моделі.

FastText  це ще один метод векторного представлення слів, який є розширенням моделі word2vec [5]. Однак замість вивчення векторів слів безпосередньо, FastText представляє кожне слово як комбінацію символів (n-грами). Такий спосіб представлення допомагає вивчити значення коротших слів і дозволяє векторним представленням розуміти суфікси та префікси.

Doc2Vec нейромережевий алгоритм, побудований на основі Word2Vec та модифікований для векторного представлення текстів [4]. Основними перевагами алгоритмів Word2Vec, FastText та Doc2Vec є можливість тренування на нерозмічених даних, а також те, що вектори текстів зі схожим сенсом розташовані близько один до одного у векторному просторі. Недоліками цих алгоритмів є те, що вони не враховують порядок слів, а також використовують обмежену кількість слів контексту на кожній ітерації під час тренування.

Мета статті. Метою статті є  дослідження та розробка методу векторного подання природомовних текстів на основі нейромережевої архітектури Transformer, що підвищить ефективність використання текстових даних в задачах машинного навчання. 

Виклад основного матеріалу. Transformer це сучасний тип нейромережевої архітектури, що був розроблений для вирішення задач, де вхідними та вихідними даними є послідовності (в тому числі і текстові дані). В основі архітектури Transformer лежить sequence-to-sequence підхід, однак замість одного енкодера та декодера тут використовуються стеки з 6 енкодерів та 6 декодерів. Всі вони мають ідентичну структуру, однак кожен має власну матрицю параметрів (на відміну від модулів рекурентних нейромереж, що використовують спільні параметри) [6]. Self-attention механізм, що використовується в декодері, дозволяє моделі орієнтуватися на відповідні частини вхідної послідовності за потребою. Цей механізм приймає від енкодера не лише останній прихований вектор, а й усі проміжні вектори, що дозволяє використовувати значно більше інформації з вхідної послідовності.

Класична архітектура Transformer початково була розроблена спеціально для задач області NLP, де вхідними та вихідними даними є послідовності різної довжини. Такий тип задач відноситься до підрозділу NLG (від англ. Natural Language Generation генерація природної мови). У запропонованій архітектурі енкодер блоки опрацьовують вхідну послідовність та інкапсулюють отриману з неї інформацію у вектори, що передаються на декодер частину моделі, яка в свою чергу, використовуючи ці вектори та інформацію про попередньо згенеровані елементи послідовності, генерує наступне слово. Задача векторизації тексту відноситься до іншої складової області обробки природних мов NLU (від англ. Natural Language Understanding розуміння природної мови), оскільки полягає у представленні вхідної послідовності таким вектором фіксованої розмірності, що максимально інкапсулює зміст вхідного тексту, для якого розраховується. Приймаючи це до уваги, стає очевидним, що декодер частина моделі не є обов’язковою для такого типу задач, основною частиною є енкодер. Відповідно в якості базової моделі бажано обрати таку, що не містить в своїй архітектурі декодер елементів, тренування яких займе додатковий час та значні апаратні ресурси. Відповідно до зазначених умов в якості базової архітектури Transformer була обрана модель BERT (від англ. Bidirectional Encoder Representations from Transformers двонаправленний енкодер трансформера) [7]. BERT є сучасною архітектурою, що була запропонована дослідниками Google у 2019 році. В її архітектурі присутні лише енкодер шари тренсформера, а декодер частину заміняють кілька лінійних шарів та softmax функція, що необхідні для вирішення задач класифікації, на яких і тренується модель. В оригінальній реалізації тренування BERT відбувається в два етапи: етап попереднього тренування моделі на великій кількості нерозмічених даних та етап fine-tuning це процес дотреновування моделі на спеціальних розмічених даних тієї задачі, для якої і створюється модель.

Ідея тут полягає в тому, що для вирішення конкретної задачі не потрібно збирати велику кількість розмічених даних, щоб оптимізувати випадково ініціалізовані ваги моделі під конкретну задачу під час тренування. Збір та підготовка якісних розмічених текстових даних для задач в області NLP це неймовірно дорогий та довготривалий процес. Натомість можна претренувати модель на нерозмічених даних, наприклад, використовуючи тексти з усіх сторінок вікіпедії чи корпус електронних книжок. Прикладом задачі для такого претренування може бути передбачення наступного слова послідовності, маючи його контекстні слова. Претренована таким чином модель не вирішує цільову задачу, але її ваги вже зміщені в сторону необхідного розподілу, що в рази зменшує час дотреновування моделі на даних задачі, а також необхідну кількість розмічених даних для навчання. Саме тому ще однією перевагою вибору даної архітектури є можливість використання претренованих вагів моделі, що знаходяться і відкритому досупі. Саме це робить можливим використання архітектури Transformer для задачі векторного представлення тексту, оскільки для претренування такої моделі необхідне спеціальне обладнання та значна кількість часу. Існує дві варіації архітектури BERT:

  • BERT-base складається з 12 блоків енкодера, розмірність прихованого вектора 768, загалом має 110 мільйонів параметрів.

  • BERT-large складається з 24 блоків енкодера, розмірність прихованого вектора 1024, загалом має 340 мільйонів параметрів.

На вхід моделі текст передається у токенізованому вигляді, тобто кожному слову відповідає певний індекс. Перетворення токенів на векторне представлення відбувається всередині моделі, таким чином ваги ембедінг шару тренується одночасно з усією моделлю. Крім ембедінгів слів BERT приймає на вхід вектори позиційного кодування слів та ембедінги сегментів, до яких ці слова відносяться. Наприклад речення можуть бути представлені окремим сегментами з метою логічного розділення. Всі три ембедінги сумуються та передаються на енкодер блоки моделі. BERT був претренований на двох основних задачах: передбачення наступного слова у послідовності та передбачення наступного речення в тексті. Для етапу претренування BERT розробниками були використані два текстові корпуси це BooksCorpus (на 800 мільйонів слів) та  English Wikipedia корпус (2500 мільйонів слів). На рисунку 1 представлена структурна схема архітектури  BERT.

Рис 1. Архітектура BERT

 

Загалом вихід останнього енкодер шару моделі BERT, претренованої на двох описаних вище задачах, вже в якійсь мірі є векторним представленням вхідної послідовності. Така модель вже має “знання” про синтаксичні особливості природної мови, для якої була натренована, а також типовий розподіл контекстних слів для кожного слова у словнику. Однак, векторні представлення природомовних текстів використовуються в задачах, що потребують інформації як про синтаксичні зв’язки в текстах, так і про логічні та семантичні (наприклад, прихований смисл, іронія, сарказм тощо). Прикладом такої задачі може бути оцінка токсичності коментарів на веб-сайті для подальшого видалення тих, що перевищують певний рівень токсичності та не відповідають правилам користування ресурсом. Для побудови подібної моделі недостатньо знання про розподіл типових токсичних слів у тексті, необхідно розуміння семантичного  контексту використання будь-якого слова.

З огляду на представлені доводи пропонується дотренування обраної архітектури на задачах, що мають розмічені людиною датасети. Такий підхід дозволить моделі вивчити не лише властивості мови, а й особливості її використання людиною. Важливо розуміти, що в класичній реалізації архітектури BERT етап дотреновування моделі проводився лише на одному датасеті. Якщо ж додати більше задач до тренування виникає питання, як тренувати модель таким чином, щоб під час тренування наступної задачі результат, отриманий з попередньої (натреновані ваги енкодерів), не затирався. Для вирішення цього питання пропонується  замінити останні шари моделі, що відповідали за етап класифікації, на набір структурних елементів, кожен з яких міститиме всі необхідні шари для своєї задачі такі структурні одиниці умовно називаються хедами (від англ. head голова). При цьому кожна хеда матиме свої ваги, що тренуються окремо для кожної задачі, в той час, як ваги моделі BERT, що необхідні для векторного представлення вхідного тексту (вихід енкодер шарів моделі), будуть спільними для всіх задач і при тренуванні оновлюватимуться під впливом кожної з доданих задач, генерадлізуючи таким чином векторне представлення текстів. Така модифікація дозволить тренувати всі задачі одночасно і змінювати ваги моделі векторного представлення рівномірно по відношенню, до кожної з них. На рисунку 2 графічно представлена  модифікації  з додаванням окремої хеди для кожної задачі.

Для тренування запропонованої вище архітектури були використані різноманітні набори даних, що є у відкритому доступі. Загалом для тренування було використано набори даних для 6 різних за типом задач (класифікація та рекресія). Кожен набір даних містить різну кількість екземплярів, різну кількість міток, а також різні за типом та тематикою тексти.

Рис 2. Модифікована архітектура BERT з двома окремими хедами

 

Методи векторизації текстів необхідні в першу чергу для представлення неструктурованих текстових даних у числовому форматі для подальшого використання їх в алгоритмах машинного навчання. Найбільш поширеними задачами з використанням текстових даних є класифікація та регресія. Щоб оцінити якість запропонованого методу необхідно провести порівняльний аналіз результатів виконання цих задач класичними алгоритмами машинного навчання з використанням існуючих алгоритмів векторного представлення та методу, запропонованого в роботі. Для оцінки було обрано дві задачі (задача на класифікацію текстів та задача на регресію), датасети для яких знаходяться у відкритому доступі. Дуже важливою вимогою для оцінки різних методів векторного подання текстів є використання таких датасетів, що ніколи не оброблялися моделлю під час тренування, оскільки можливим є перенавчання моделі тренувальних даних, відповідно і оцінка отриманого результату буде необ’єктивною та завищеною. Саме тому було обрано три окремі датасети, на яких було проведено оцінювання алгоритму. Також для об’єктивності оцінки необхідно використовувати декілька алгоритмів для кожної з задач з використанням розробленого методу представлення текстових даних, оскільки на результати задачі дуже сильно впливає обраний метод її вирішення.

Для зручності порівняння результати по кожній задачі представлені у таблиці, де кожному рядку відповідає певний метод векторного подання, що використовувався для представлення вхідних текстових даних, а кожному стовпчику відповідає алгоритм машинного навчання, що використовувався для вирішення задачі. На перетині рядків та стовпчиків зафіксовані відповідні показники метрик, за якими відбувається порівняння. Останні два рядки кожної таблиці відповідають запропонованому в даній роботі методу векторного представлення текстів, що натренований на основі двох варіацій архітектури. Найкращі значення метрики в кожній таблиці виділені. Варто зазначити, що оскільки алгоритм Word2Vec є алгоритмом векторизації слів – вхідні тексти для нього представляються як усереднений вектор з векторів усіх слів, що містяться у вхідному тексті. У таблиці 1 представлені результати для першої задачі – оцінки семантичної схожості речень. Метрика, значення якої представлене у таблиці – MSE. 

 

Таблиця 1. Результати оцінки для STS-B дата сету (задача регресії)

Як бачимо, найкращі результати отримані для моделі, натренованої на основі BERT-large, результати для BERT-base знаходяться приблизно на рівні з усіма іншими нейромережевими алгоритмами. Значно гірші результати отримано для примітивного методу BOW. У таблиці 2 представлені результати для задачі класифікації тексту. Метрика, значення якої порівнюється у таблицях – F1-score. 

 

Таблиця 2. Результати оцінки для IMDB датасету (задача класифікації)

Як бачимо, для задачі класифікації модель на основі BERT-large архітектури має найкращі показники. При цьому BERT-base поступається якістю більш простим алгоритмам векторизації. Такий розрив можна пояснити різницею в кількості параметрів та розмірністю векторних представлень для двох останніх моделей в таблиці. BERT-large має 340 мільйонів параметрів, в той час як для BERT-base моделі це значення є втричі меншим. Розмірність прихованого вектору обох моделей також відрізняється –1024 проти 768. Так само як і для задачі регресії примітивний метод векторизації BOW має суттєво нижчі показники.

Висновки. У  роботі розглянуті існуючі підходи вирішення задачі векторного представлення тексту, проаналізовані їх переваги та недоліки.. Запропоновано алгоритм векторизації тексту на основі нейромережевої архітектури Transformer. Детально розглянуто структуру та принципи роботи даної моделі. Однією з переваг архітектури є можливість обробляти послідовності слів різної довжини, а також можливість тренування моделі на нерозмічених даних. Сформовані вимоги, яким повинна відповідати базова реалізація для побудови власного методу, в якості цієї реалізації обрана архітектура BERT. Описані та проаналізовані її відмінності від класичної архітектури Transformer. Запропоновані модифікації для побудови на її основі методу векторного подання природомовних текстів. Представлені результати оцінки якості роботи натренованої моделі. Для отримання векторного представлення нового тексту використовується стек з шести енкодерів моделі, вихідний вектор якого і є векторним поданням тексту. За результатами оцінки можна зробити висновок, що запропонована архітектура дозволяє отримати векторні представлення текстових даних більш високої якості для подальшого використання в задачах машинного навчання.


СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ:

 

  • Yin Zhang, Rong Jin, Zhi-Hua Zhou. 2010. Understanding bag-of-words model: A statistical framework. Retrieved from: https://www.researchgate.net/publication/226525014_Understanding_bag-of-words_model_A_statistical_framework.

  • Shahzad Qaiser, Ramsha Ali. Text Mining: Use of TF-IDF to Examine the Relevance of Words to Documents. Retrieved from: https://www.researchgate.net/publication/326425709_Text_Mining_Use_of_TF-IDF_to_Examine_the_Relevance_of_Words_to_Documents.

  • Tomas Mikolov, Kai Chen, Greg Corrado, Jeffrey Dean. 2013. Efficient Estimation of Word Representations in Vector Space. Retrieved from: https://arxiv.org/pdf/1301.3781.pdf.

  • Tomas Mikolov, Quoc Le. 2014. Distributed Representations of Sentences and Documents. Retrieved from: https://arxiv.org/pdf/1405.4053.pdf.

  • P. Bojanowski, G. Edouard. 2017. Enriching Word Vectors with Subword Information. Retrieved from: https://arxiv.org/pdf/1607.04606.pdf.

  • Ashish Vaswan, Noam Shazeer, Niki Parmar. 2017. Attention Is All You Need. Retrieved from: https://arxiv.org/pdf/1706.03762.pdf.

  • J. Devlin, M. Chang. 2019. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. Retrieved from: https://arxiv.org/pdf/1810.04805.pdf.


METHOD OF VECTOR REPRESENTATION OF NATURAL LANGUAGE TEXTS BASED ON THE TRANSFORMER NEURAL NETWORK ARCHITECTURE

BRYKALOVA V.,
student of the Faculty of Applied Mathematics
National Technical University of Ukraine «Kyiv Polytechnic Institute named after Igor Sikorsky»
UKRAINE

SCIENTIFIC ADVISER:

PETRASHENKO A.,
Ph.D (Technical Sciences), Associate Professor, Associate Professor of the Department of System Programming and Specialized Computer Systems
National Technical University of Ukraine «Kyiv Polytechnic Institute named after Igor Sikorsky»
UKRAINE

Abstract.
This article considers the problem of vector representation of natural language texts. In the course of the research the existing text vectoring algorithms, the principle of operation and the structure of the Transformer neural network architecture are considered. A new more efficient model for creating a vector representation of the text is proposed, the training results of the proposed architecture are described and analyzed.


Keywords: Transformer; NLP; NLU; Self-attention; BERT.

© Брикалова В.В., 2020

© Brykalova V., 2020

 

This work is licensed under a Creative Commons Attribution 4.0 International License.

PUBLISHED : 13.05.2020