布尔模型和向量空间模型上的问题求解
布尔模型:
它是一个基于集合论和布尔代数的简单检索模型。查询被设计成具有精确语义的布尔表达式。检索策略基于二元决策准则。布尔模型认为索引项在文档中存在或不存在。
问题解决:
考虑 5 个包含 6 个术语的文档
- 文档 1 =“术语 1 术语 3”
- 文件 2 = '条款 2 条款 4 条款 6 '
- 文件 3 = '条款 1 条款 2 条款 3 条款 4 条款 5 '
- 文件 4 = '条款 1 条款 3 条款 6 '
- 文件 5 = '条款 3 条款 4 '
布尔模型中的文档
考虑一下这个查询
找到包含条款 1 和条款 3 而不是条款 2的文件
term1 ∧ term3 ∧ ¬ term2
- 文档 1 : 1 ∧ 1∧ 1 = 1
- 文档 2 : 0 ∧ 0 ∧ 0 = 0
- 文档 3 : 1 ∧ 1 ∧ 0 = 0
- 文件 4 : 1 ∧ 1 ∧ 1 = 1
- 文档 5 : 0 ∧ 1 ∧ 1 = 0
基于以上计算文档 1 和文档 4 与给定的查询相关
矢量模型:
执行运算的方法和计算所需的公式在第 1 部分的上一篇文档中有介绍。考虑以下文档集合。
- 文档 1 = '一二'
- 文件 2 = '三二四'
- 文档 3 = '一二三'
- 文档 4 = '一二'
使用的公式
有些术语在文档中出现三次、两次,有时只有一次。文档总数 N=4。因此,这些术语的 IDF 值为:
one --> log2(4/3) = 0.4147
two --> log2(4/4) = 0
three --> log2(4/2) = 1
four -->log2(4/1) = 2
布尔模型中的表示
词频计算
one --> 3/4 = 0.75
two --> 4/4 = 1
three --> 2/4 = 0.5
four --> 1/4 = 0.25
权重的计算(tf * idf )
weight(one) --> 0.75 * 0.4147 = 0.3110
weight(two) --> 1 * 0 = 0
weight(three) --> 0.5 * 1 = 0.5
weight(four) --> 0.25 * 2 = 0.5
用权重表示向量模型
查询:包含“一三三”的文档
计算查询术语的权重(术语频率)
- 重量(一)–> 1/3 = 0.333
- 重量(三)–> 2/3 = 0.667
向量表示
- 文件
- 查询
相似度计算
文档的排名(对于排名,我们遵循了统计中的方法,将相同的排名分配给两个不同的项目)
由于文档 3 之间的相似性大于其他文档之间的相似性,第三文档与查询更相关。
版权属于:月萌API www.moonapi.com,转载请注明出处