Для языковой модели я должен предсказать слово для заданной последовательности слов. В моем словарном запасе 1 миллион слов. Я пытаюсь угадать слова по нему. Я пробовал использовать одну горячую кодировку с использованием keras (to_categorical) для предсказываемых слов. Но для такого большого словаря я получаю ошибку памяти в python. Есть ли способ преодолеть это или мой подход неверен?
Я работаю над морфологически богатым языком. Я взял словарь из word2vec-модели этого языка. Стоит ли выбирать наиболее частые слова?
попробуйте найти список стоп-слов для вашего языка, и если вы не необходимость, чтобы включить специальные термины, которые не являются общеупотребительными, попробуйте немного уменьшить его, альтернатива - купить больше барана
Я считаю, что не следует удалять игнорируемые слова при разработке языковой модели. Пробовал на серваке (оперативная память более 100 гб). Я не уверен, почему он все еще показывает ошибку памяти. кстати, спасибо
Я не уверен, но предполагаю, что вы используете Softmax в качестве выходного слоя. Я предлагаю сигмовидную и двоичную кодировку, например, вы хотите предсказать 8 слов, для такого случая будет достаточно 3 нейронов, word0 = 0 0 0 word1 = 0 0 1 word2 = 0 1 0 ... и после запуска модели вы проверяете, если какой-то нейрон пересекает порог и считает их 1.
почему у вас 1 млн слов? вы 1 горячая кодировка для нескольких языков? В английском, например, всего около 200 тысяч слов на en.oxford diversionaries.com/explore/…