【发布时间】:2018-01-18 04:25:36
【问题描述】:
我想通过 gensim 训练 doc2vec 模型,但我的语料库太大。 有什么方法可以训练每批句子语料库吗?例如,迭代加载一些语料库并在其上训练模型,然后重新加载另一批语料库....
我不知道是否有任何 api 或方法可以做到这一点。有什么提示吗?
【问题讨论】:
我想通过 gensim 训练 doc2vec 模型,但我的语料库太大。 有什么方法可以训练每批句子语料库吗?例如,迭代加载一些语料库并在其上训练模型,然后重新加载另一批语料库....
我不知道是否有任何 api 或方法可以做到这一点。有什么提示吗?
【问题讨论】:
您的语料库中有多少个独特的词/文档标签,以及您的模型中有多少 size 维度?
这些值有助于模型的不可缩减的必要大小,它必须适合可寻址内存。
您如何将您的语料库提供给Doc2Vec?
它可以采用一个可重新启动的可迭代对象,从磁盘流式传输文本示例,因此完整的语料库不需要在内存中。因此,如果这是您的问题,那么返回 TaggedDocuments 的更好的语料库迭代可能会解决您的内存问题。
请参阅https://rare-technologies.com/data-streaming-in-python-generators-iterators-iterables/ 了解有关制作适当可迭代对象的更多信息。
【讨论】: