Есть ли альтернатива полной загрузке предварительно подготовленных вложений word в память?

#python #machine-learning #memory-management #nlp #word-embedding

#python #машинное обучение #управление памятью #nlp #встраивание word

Вопрос:

Я хочу использовать предварительно подготовленные вложения word в моей модели машинного обучения. Имеющийся у меня файл встраиваний word имеет размер около 4 ГБ. В настоящее время я считываю весь файл в память в словаре, и всякий раз, когда я хочу сопоставить слово с его векторным представлением, я выполняю поиск в этом словаре.

Использование памяти очень велико, и я хотел бы знать, есть ли другой способ использования вложений word без загрузки всех данных в память.

Недавно я столкнулся с генераторами на Python. Могут ли они помочь мне уменьшить использование памяти?

Спасибо!

Ответ №1:

Какую задачу вы имеете в виду? Если это задача, основанная на подобии, вы могли бы просто использовать load_word2vec_format метод в gensim, это позволяет вам ввести ограничение на количество загружаемых векторов. Векторы в чем-то вроде набора Googlenews упорядочены по частоте, это даст вам критические векторы. Теоретически это также имеет смысл, поскольку слова с низкой частотой обычно будут иметь относительно плохие представления.

Комментарии:

1. Спасибо. Я буду использовать Googlenews и извлекать только слова с наибольшей частотой (например. первые 40 тыс. слов).