gpt4 book ai didi

python - 处理语料库以实现 word2vec

转载 作者:行者123 更新时间:2023-11-30 09:39:56 25 4
gpt4 key购买 nike

作为类项目的一部分,我正在尝试用 Python 编写一个 word2vec 实现,并在约 6GB 的语料库上对其进行训练。我正在尝试编写一个合理优化的解决方案,这样我就不必让我的电脑闲置数天。

浏览 C word2vec 源代码,我注意到每个线程从文件中读取单词,并花时间查找每个单词的索引。最后,它存储单词索引的“句子”。

将整个语料库翻译成包含适当单词的整数索引的语料库不是合乎逻辑的吗?这样,在哈希表查找训练期间就不会浪费时间,而翻译过程只是一次性费用。

据我所知,对于非常大的语料库,您实际上将磁盘上占用的数量加倍,您可能希望避免这种情况。

但是,如果你有内存,这不是会显着提高效率吗?或者我只是高估了表查找的影响?

最佳答案

哈希表查找可能非常快,重复查找可能不会对整体运行时间造成太大影响。

但是,真正了解所建议的优化的潜在加速效果的唯一方法是实现它,并与之前的行为进行比较来对其进行分析。

此外,正如您所注意到的,为了能够重复使用单遍 token 查找,您需要将这些结果存储在某处。与许多其他实现一样,Google 的 word2vec.c 代码力求与远大于可寻址内存的输入语料库配合良好。与重复查找的基线相比,将临时标记化写入磁盘需要额外的代码复杂性和额外的磁盘工作空间。因此:即使它确实加快了速度,实现者也可能会认为额外的复杂性是不可取的。

关于python - 处理语料库以实现 word2vec,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59473926/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com