数据挖掘:同义词的那些事


什么是同义词,呵呵,园里有个笑话:老婆的40个同义词
1、配偶 2、妻子 3、老婆 4、夫人 5、太太 6、爱人 7、内人 8、媳妇 9、那口子 10、拙荆
11、贤内助 12、老伴 13、孩子他妈 14、孩子他娘 15、内子 16、婆娘 17、糟糠 18、宝贝 19、小甜甜 20、蜜糖 21贱内 22、达令
23、女人 24、马子 25、主妇 26、女主人 27、财政部长 28、浑人 29、娘子 30、大姐 31、家属 32、屋里的 33、另一半 34、女当家的
35、发妻 36、浑家 37、堂客 38、山妻 39、婆姨 40、中馈

假设电脑里都有这些词,那么程序如何才能判断两个词是同义词或者近义词。

单单从字面上 配偶与妻子 没有一个字是相同,显然仅仅这些信息程序是无法准确判断的。

文献[2]给出了很多词语相似性的度量,这里简要说两种。

1.1.利用词典进行计算

词典是人类智慧的一个记录,把人脑的知识用某种数据结构表示,比如树。把所有词汇按照类似面向对象的继承关系排列。

这样以来词的相似度就可以通过它们在树内的距离计算出来。同义词的话可以放在同一个树结点里,也可以选一个词当代表做它们的唯一父亲结点。

本文的重点还是同义词,如果仅仅考虑同义词,在具体实践中为了提高检索效率,我们可以事先对汉字进行编码或做hash。

这样可以加快比较速度。在文献[1]中给出了一种组织方式,例如同义词 妻子,女人,女主人。那么利用冗余记录如下

关键词:同义词

妻子:女人,女主人

女人:妻子,女主人

女主人:妻子,女人

按照关键词的首个汉字分类存放在不同的文件中,每个文件中按照关键词的长度由大到小排序。

查找同义词时,先利用编码或hash找到文件,然后从上到下,选择第一个匹配的结果。读出同义词。

速度和准确率都挺客观的,但是冗余多,不过跟下面的相比是小屋见大屋。

总之,这种方法与其说是计算相似度。不如说是查询相似度。下面的方法就显得更加智能

1.2.使用大规模的语料统计

要计算两个词的相似度,首先选出一批特征词来。这些特征词就像是一个个观众,来决定他们是否有基情。

观众必须选好,要经常在他们附近徘徊。然后我们计算每个关键词在他们附近出现的频率。然后依托这些

频率就可以计算出相似度。这种方法看起来更多一些智能的味道。但是感觉精度没有前者高。而且存在较大

的不确定性,特征词的选取,场景的选取都很重要。这里就不扯了。

参考:

[1]:http://www.docin.com/p-173845533.html

[2]:http://www.docin.com/p-82696783.html

优质内容筛选与推荐>>
1、控制TEXTAREA輸入框的最大字數
2、Visual Studio 一些好用的插件
3、小白书--求 n!
4、H-Index I & II
5、深入了解 foreach 和 for 循环到底有哪些不同 (二)


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号