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