Алгоритми вбудовування в слово з точки зору продуктивності


11

Я намагаюся вкласти приблизно 60 мільйонів фраз у векторний простір , а потім обчислити схожість косинусів між ними. Я використовую sklearn CountVectorizerз спеціально вбудованою функцією токенізатора, яка створює уніграми та біграми. Виявляється, що для отримання значущих уявлень, я повинен передбачити величезну кількість стовпців, лінійних за кількістю рядків. Це призводить до неймовірно рідких матриць і вбиває продуктивність. Це було б не так вже й погано, якби було лише близько 10 000 стовпців, що, на мою думку, є досить розумним для вкладення слів.

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

Я досить новачок у галузі вбудовування слів, тому будь-яка порада допоможе.

Я також повинен додати, що я вже використовую сингулярне розкладання значення для підвищення продуктивності.


Ви використовуєте Spark?
eliasah

1
Це одна з причин, що я спочатку запропонував Іскру. Вибачте, я по телефону. Я не маю доступу до будь-якої довідки стосовно попередньо вбудованих методів PCA.
eliasah

1
Я не впевнений, що це надмірна кількість з такою кількістю даних.
eliasah

1
Видалення зайвих лексем не повинно значно зменшити розмірність, оскільки ви працюєте з текстами. Враховуючи словник з 150000 слів, видалення стоп-слів за приклад принесуть вам користь пару десятків. Це не допоможе.
eliasah

1
В іншому випадку ви можете розглянути теми моделювання за допомогою Latent Dirichlet Allocation, щоб зменшити розмір тексту тексту на фразу.
eliasah

Відповіді:


3

Останнім часом проводиться робота над динамічним призначенням розміру word2vec (пропуск грам) за допомогою машин Boltzmann. Перевірте цей документ:

"Нескінченне розмірне вкладення слова" -Нальснік, Раві

Основна ідея полягає в тому, щоб ваш навчальний набір диктував розмірність вашої моделі word2vec, яка карається терміном регуляризації, який пов'язаний з розміром розміру.

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.