word2vec 记录缺失值

word2vec logging missing values

我使用的是 gensim 版本“3.8.3”

when im 运行 for model Word2Vec and FastText build_vocab and train
这些函数的日志缺少值

例如FastTextbuild_vocab的部分日志

08/09/2020 08:19:18 AM [INFO] collecting all words and their counts
08/09/2020 08:19:18 AM [INFO] PROGRESS: at sentence #%i, processed %i words, keeping %i word types
08/09/2020 08:19:18 AM [INFO] PROGRESS: at sentence #%i, processed %i words, keeping %i word types
08/09/2020 08:19:18 AM [INFO] PROGRESS: at sentence #%i, processed %i words, keeping %i word types

索引丢失并打印为i

有办法解决吗?是版本错误吗?

per the discussion on the gensim project issue you opened for the same problem 一样,这似乎是您 Python 安装的日志记录功能的一些问题,与 gensim 或 word2vec 算法无关。在某些方面,这个问题更基础和更令人担忧,因为它表明用草率的替代品替换了一些核心功能。

例如,如果您在测试代码中看到类似的问题...

import logging
logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(filename)s:%(lineno)s - %(message)s')

logging.info(
    "TEST A %i B %.2f C %.0f D %i F %i",
    1, 2, 3, 4, 5
)

...那么问题出在核心logging模块。

我建议从一个全新的开发环境开始——至少,一个全新的独立 Python 环境(使用核心 venv 功能或 environment-manager 之类的 conda),如果可行,甚至是全新 machine/OS 安装。

如果上述简单测试代码的问题在新环境中消失,那么您可以通过添加 libraries/tools 增量重现原始环境,在每个主要步骤后检查工作日志记录,如果问题重复出现,您将更好地了解引入它的步骤。