我正在尝试为文档聚类实现期望最大化算法。我打算使用 Lucene 术语向量来查找 2 个文档之间的相似性。使用朴素贝叶斯的 EM 算法有 2 种:多元模型和多项模型。简单来说,多项式模型使用文档中不同单词的频率,而多元模型仅使用文档中是否存在单词的信息(布尔向量)。
我知道 Lucene 中的术语向量存储当前文档中存在的术语及其频率。这正是多项式模型所需要的。
但是多变量模型需要以下内容: 一个向量,用于存储特定项的存在或不存在。因此,所有文档中的所有术语都必须由该向量处理。
举个例子:
doc1 : 字段 CONTENT 有以下术语:这是快乐的世界。
doc2 : field CONTENT 有以下术语:这个神奇的世界充满了讽刺的人。
现在我需要的向量应该是
<这是令人惊叹的充满讽刺的人的快乐世界>(它包含了所有文件中的所有文字)
对于 doc1,这个向量的值是 <1 1 1 1 1 1 0 0 0 0>
对于 doc2,这个向量的 vakue 是 <1 1 0 1 0 0 1 1 1 1>
有没有办法在 Lucene 中生成这样的布尔向量?