关键词与关键词之间的相关度计算

本文介绍了一种计算文本中词汇间关联性的简便算法,并通过实例展示了如何使用该算法找到与特定词汇高度相关的其他词汇。
在信息论中常用互信息(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总文章数NNxyCoorr(X,y)
活性碳不织布1672112719992.316674
活性碳回力胶2572112719991.996593
活性碳吸音棉2972112719991.883334
活性碳珍珠棉3172112719991.831631
活性碳滤袋3972112719981.453371
活性碳防尘网5972112719991.32477
活性碳云母片2672112719961.26853
活性碳压敏胶2772112719961.250454
活性碳超滤膜1972112719940.92056
活性碳海棉11972112719990.82483
活性碳反渗透155721127199100.746471
活性碳滤膜4772112719940.639034
活性碳电导仪472112719920.617857
活性碳铜箔10072112719960.614342
活性碳糊精5272112719940.606269
活性碳铝粉5272112719940.606269
活性碳制冰机2772112719930.605689
活性碳水净化219721127199100.554048
活性碳滤芯356721127199150.533304
活性碳ro膜1472112719920.489964
活性碳工业水16572112719970.489529
活性碳二氧化钛837211271994
 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值