我正在用Java实现Naive Bayes文本分类算法。
到目前为止我所做的是,声明一个名为Vocabulary的散列集,它存储来自给定文本文件(测试文件)的所有唯一单词。
该算法的一个步骤是将测试文件的所有成员连接成一个文本文件。事实证明这是一个相当大的文件,包含每个文件中的文字。
现在,我必须使用连接的文本文件计算词汇表中每个单词的出现次数。我的第一个猜测是保持一种包含每个单词频率的数组结构。但话说回来,我会有太多条目。
有人可以给我更好的建议吗?
答案 0 :(得分:4)
使用字典(HashMap),其中单词是键,值是出现次数。如果HashSet适合内存,那么HashMap也应该适用。
答案 1 :(得分:0)
您可以尝试使用Tries,叶节点可以存储单词的频率。