Я отвечаю сам, потому что понял, что забыл разобраться с некоторыми параметрами памяти в классе Phrases.
Итак, сначала я разделил max_vocab_size на 2, чтобы он занимал меньше памяти, а такжеЯ решил сохранять объект Phrases каждые 100 000 статей, а затем перезагружать его из сохраненного файла, поскольку подобные уловки показали, что они могут быть полезны с некоторыми другими классами в библиотеке gensim ...
ЗдесьЭто новый код, возможно, немного медленнее, но он успешно выполнил задачу:
corpus = smart_open(corpusFile, "r")
max_vocab_size=20000000
phrases = Phrases(max_vocab_size=max_vocab_size)
chunks_size = 10000
save_every = 100000
texts, i = [], 0
for text in corpus:
texts.append(text.split())
i += 1
if i % chunks_size == 0:
phrases.add_vocab(texts)
texts = []
if i % save_every == 0:
phrases.save(phrasesFile)
phrases = Phrases.load(phrasesFile)
corpus.close()
phrases.save(phrasesFile)
В моем случае 412 816 фраз в моем случае после помещения всего этого в объект Phraser.