Одно горячее кодирование категории 1 миллион

Для языковой модели я должен предсказать слово для заданной последовательности слов. В моем словарном запасе 1 миллион слов. Я пытаюсь угадать слова по нему. Я пробовал использовать одну горячую кодировку с использованием keras (to_categorical) для предсказываемых слов. Но для такого большого словаря я получаю ошибку памяти в python. Есть ли способ преодолеть это или мой подход неверен?

почему у вас 1 млн слов? вы 1 горячая кодировка для нескольких языков? В английском, например, всего около 200 тысяч слов на en.oxford diversionaries.com/explore/…

vencaslac 13.11.2018 21:46

Я работаю над морфологически богатым языком. Я взял словарь из word2vec-модели этого языка. Стоит ли выбирать наиболее частые слова?

xoxis 13.11.2018 21:53

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

vencaslac 13.11.2018 21:55

Я считаю, что не следует удалять игнорируемые слова при разработке языковой модели. Пробовал на серваке (оперативная память более 100 гб). Я не уверен, почему он все еще показывает ошибку памяти. кстати, спасибо

xoxis 13.11.2018 21:59

Я не уверен, но предполагаю, что вы используете Softmax в качестве выходного слоя. Я предлагаю сигмовидную и двоичную кодировку, например, вы хотите предсказать 8 слов, для такого случая будет достаточно 3 нейронов, word0 = 0 0 0 word1 = 0 0 1 word2 = 0 1 0 ... и после запуска модели вы проверяете, если какой-то нейрон пересекает порог и считает их 1.

viceriel 14.11.2018 08:17
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
5
120
0

Другие вопросы по теме