Вкладення слів у реальне життя: деякі підводні камені та способи їх уникнення

Хоча багато досліджень було присвячено аналізу теоретичних основ вбудовування слів, не так багато зусиль пішло на вивчення обмежень їх використання у виробничих середовищах

(Ця стаття є першою з серії про вбудовування слів як основу для програм для аналізу тексту, орієнтованих на користувачів.)

Швидкий вступ. Вбудовані слова – це, по суті, спосіб перетворення тексту в числа, щоб механізми ML могли працювати з введенням тексту. Вбудовані слова відображають великий просторий гарячий векторний простір у менший і менш розріджений векторний простір. Цей векторний простір генерується шляхом застосування ідей розподільної семантики, а саме того, що слова, що з’являються в подібних контекстах, мають схожу поведінку та значення і можуть бути представлені подібними векторами. Як результат, вектори є дуже корисним поданням, коли мова йде про подачу тексту в алгоритми ML, оскільки вони дозволяють моделям набагато легше узагальнювати.

Хоча ці методи були доступні протягом декількох років, вони були обчислювально дорогими. Саме поява word2vec в 2013 році призвело до широкого поширення вбудованих слів для ML, оскільки він запровадив спосіб генерування вбудованих слів ефективно та без нагляду – принаймні спочатку він вимагає лише великих обсягів тексту, що може бути легко отриманими з різних джерел.

Точність. Загалом, „якість” моделі вбудовування слів часто вимірюється її ефективністю в задачах аналогії слів: найближчим вектором до короля – чоловік + жінка є королева. Хоча ці аналогії є гарною демонстрацією ідей розподільчої семантики, вони не обов’язково є хорошими показниками того, як вбудовування слів буде виконуватися в практичному контексті.

Багато досліджень було присвячено аналізу теоретичних підстав word2vec, а також подібних алгоритмів, таких як StanV GloVe та Facebook fastText. Однак напрочуд мало зроблено для перевірки точності використання вбудованих слів у виробничих середовищах.

Давайте розглянемо деякі проблеми точності, використовуючи попередньо навчені англійською мовою вектори з швидкого тексту Facebook. Для цього ми порівняємо слова та їх вектори, використовуючи косинусну подібність, яка вимірює кут між двома векторами. На практиці цей кут коливається приблизно від 0,25 для абсолютно не пов’язаних між собою слів до 0,75 для дуже подібного.

Проблема 1. гомографи та позначення pos

Сучасні алгоритми вбудовування слів досить добре ідентифікують синоніми. Наприклад, вектори для дому та дому мають косинусну подібність 0,63, що вказує на те, що вони досить подібні, тоді як вектори для дому та машини мають косинусну подібність 0,43.

Ми очікували б, що вектори для подобання та любові теж будуть подібними. Однак вони мають лише косинусну подібність 0,41, що напрочуд мало. Причиною цього є те, що лексема like представляє різні слова: дієслово like (те, що, як ми очікували, буде схоже на любов), і прийменник like, а також like як прислівник, сполучник … Іншими словами, це гомографи – різні слова з різною поведінкою, але з однаковою письмовою формою.

Не маючи можливості розрізнити дієслово від прийменника, вектор для подібного захоплює контексти обох, в результаті отримуючи середнє значення того, якими будуть вектори для цих двох слів, і тому не є таким близьким до вектора для любові, як ми очікували .

На практиці це може суттєво вплинути на ефективність систем ML, таких як розмовні агенти або класифікатори тексту. Наприклад, якщо ми навчаємо чат-бота / асистента, ми очікували б, що вектори для подобається та люблять бути подібними, тому такі запити, як «Я люблю знежирене молоко» та «Я люблю знежирене молоко», розглядаються як семантично еквівалентні.

Як ми можемо обійти цю проблему? Найпростіший спосіб – навчити моделі вбудовування слів із використанням тексту, який був попередньо оброблений за допомогою позначення POS (частина мови). Коротше кажучи, позначення POS дозволяє розрізнити гомографи, ізолюючи різні способи поведінки.

У Bitext ми виробляємо моделі вбудовування слів із маркером + POS, а не лише з маркером, як у fastText від Facebook; як результат, подібно до | VERB та love | VERB мають косинусну подібність 0,72. Зараз ми виробляємо ці моделі (Q4 2018) 7 мовами (англійською, іспанською, німецькою, французькою, італійською, португальською, голландською), і нові в стадії розробки.

Даніель Беніто, Bitext, США; & Антоніо Вальдеррабанос, Bitext EU

(Далі з’являться нові статті про інші мовні явища, які негативно впливають на якість вбудованих слів.)

Спочатку ця публікація була опублікована за адресою https://www.linkedin.com/pulse/word-embeddings-real-life-some-pitfalls-how-avoid-valderrabanos-phd/.

Antonio Valderrabanos, PhD люб’язно дозволив нам перекласти і опублікувати цю статтю.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: