C++ 的词袋方法/工具/库?

bag-of-words approach / tools / library for C++?

我有一个文件夹,其中包含许多旅游评论的 .txt 文件。我想使用 bag of words 方法将它们转换为某种数字表示形式以用于 c++ 中的机器学习(Latent Dirichlet Allocation - LDA),以训练系统识别每个文档的主题。

但不知何故我不知道如何使用 Bag of Word 算法,我听说了一些工具,如 Scikit-learn。但是 Scikit-learn 在 python 环境中工作。我想知道,是否有一些推荐工具/库可以帮助我解决我的词袋模块问题?或者是否有针对 C++ 的 scikit-learn 的 C++ 包装器?

我已经到了不知道该做什么的程度,希望能提供一些指导。谢谢:)

您可以 take a look at these resources 用于 C++。

嗯...编码应该很容易吧?

最愚蠢但保证有效的方法是对所有文档进行两次迭代。在第一次迭代期间,创建单词的哈希图和唯一索引(类似于 HashMap 的结构),在第二次迭代期间,您执行 table 查找并打印单词的索引以创建数据的数字表示.

如果你想要一个词袋表示,在第二次迭代时,你可以在每次看到一个新文档时创建一个哈希图(HashMap),并增加每个词索引的计数,一旦你到达终点一份文件,你读出计数,然后打印出来。