






















在信息论中常用互信息(MI,Mutual Information)来衡量两个词的相关度MI(X,Y)=log2p(x,y)/p(x)p(y)
MI越大,表示两个词之间的结合越紧密。
当X,Y关联大时,MI(X,Y)大于0;当X与Y关系弱时,MI(X,Y)等于0;当MI(X,Y)小于0时,X与Y称为“互补关系”
这个算式看起来很直观,但计算还是有些麻烦,因为计算概率值p(x),p(y)都需要在语料中进行分词,
这就涉及到词典的构成以及分词的算法。
下面介绍一个简便而直观的算法:
假设一个文章集合 {C},总文章数目为N,其中含有单词X的文章总数为Nx,含有单词Y的文章总数是Ny,含有{X+Y}的文章总数是 Nxy,那么相关性这么计算
Corr(X,Y)= Math.log10(N/Nx)*Math.log10(N/Ny)*Nxy/(Nx+Ny-Nxy)
我写了一个程序进行测试,首先准备一个词典,然后准备大量语料,为检索方便,用lucence建索引,然后查询每个词与两个词交集的个数。测试汽车,前两百名结果非常好。测试一个不常见的词,如活性炭,得到的结果如下,还蛮不错的。
主关键词x
关联词y
关联词数Ny
主关键词数Nx
总文章数N
Nxy
Coorr(X,y)
活性碳
不织布
16
72
1127199
9
2.316674
活性碳
回力胶
25
72
1127199
9
1.996593
活性碳
吸音棉
29
72
1127199
9
1.883334
活性碳
珍珠棉
31
72
1127199
9
1.831631
活性碳
滤袋
39
72
1127199
8
1.453371
活性碳
防尘网
59
72
1127199
9
1.32477
活性碳
云母片
26
72
1127199
6
1.26853
活性碳
压敏胶
27
72
1127199
6
1.250454
活性碳
超滤膜
19
72
1127199
4
0.92056
活性碳
海棉
119
72
1127199
9
0.82483
活性碳
反渗透
155
72
1127199
10
0.746471
活性碳
滤膜
47
72
1127199
4
0.639034
活性碳
电导仪
4
72
1127199
2
0.617857
活性碳
铜箔
100
72
1127199
6
0.614342
活性碳
糊精
52
72
1127199
4
0.606269
活性碳
铝粉
52
72
1127199
4
0.606269
活性碳
制冰机
27
72
1127199
3
0.605689
活性碳
水净化
219
72
1127199
10
0.554048
活性碳
滤芯
356
72
1127199
15
0.533304
活性碳
ro膜
14
72
1127199
2
0.489964
活性碳
工业水
165
72
1127199
7
0.489529
活性碳
二氧化钛
83
72
1127199
4
0.459238
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。