У меня есть небольшая программа, которая использует NLTK для получения частотного распределения довольно большого набора данных. Проблема в том, что после нескольких миллионов слов я начинаю есть всю оперативную память в своей системе. Вот что я считаю соответствующие строки кода:Python NLTK FreqDist() Сокращение использования памяти путем написания k, v на диск?
freq_distribution = nltk.FreqDist(filtered_words) # get the frequency distribution of all the words
top_words = freq_distribution.keys()[:10] # get the top used words
bottom_words = freq_distribution.keys()[-10:] # get the least used words
Там должен быть способ, чтобы написать ключ, значение магазина на диск, я просто не знаю, как. Я стараюсь держаться подальше от хранилища документов, такого как MongoDB, и оставаться чисто pythonic. Если у кого-то есть предложения, я был бы признателен.
Я читаю ваше сообщение прямо сейчас и планирую посмотреть, смогу ли я запустить его для моих нужд в течение следующего часа или около того. Мне очень нравится ваш подход, потому что он позволит задать уровень запроса, если я сломаю анализ вниз по датам документов. Я опубликую, как это происходит/любые изменения, которые я делаю. – secumind
Я немного изменил ваш метод, чтобы соответствовать моим потребностям, но общий подход работал отлично, спасибо! – secumind