http://blog.sina.com.cn/s/blog_593af2a70101g3d4.html
今天有同志提到这个问题,说说我的看法
大神们 问个简单的问题,两篇topic很相似的文章(都是体育的),一篇讲李娜,一篇讲莎拉波娃,余弦相似度很高,但是显然不是重复的文章,有什么最简单有效的方法可以解决下? 直接检测出描述主语是李娜和莎娃,容易么?谢谢。
首先,核心问题是怎么定义核心词和龙套词
通常我们认为一篇文章,或者一个新闻,是围绕一个主体展开的。这个主体不一定是一个人,可能是围绕李娜的一个新闻,也可能是围绕一项网球技术发展的新闻。前者李娜是核心词,网球术语是龙套。后者网球术语是核心,李娜,莎娃等采用这项技术的球星是龙套。
其次,一个核心技术问题是,怎么区分龙套词和核心词
我们都知道一个新闻来了,首先词袋模型,向量化一把,这样一个文章就变成了类似
新闻1 -> 李娜:4
失误:1 犯规:1
新闻2 -> 莎娃:5
失误
:1 犯规:2
有人可能会说,哪个词出现多次,
哪个就是核心词,大错啊,有的新闻,李娜就出现一次,其他都用她指代;而且有些词比如网球好多次,肿么办?
正确的方法(我个人认为)是这样的;
每个词都找出其相关词list
会发现李娜的相关词,在新闻1中出现不多。
而龙套词的相关词,往往在新闻1的向量list中有出现(龙套自己暴露了其他龙套)
比如李娜的相关词,可能是一些其他名人,或者他的特别属性
而龙套词的相关词还是龙套词,比如失误的相关词,是犯规什么的。
如果是一个围绕网球技术的新闻
新闻3 -> 上网打法:4
桑普拉斯:1
李娜:2
再用这个方法,就会发现,李娜的相关词有桑普拉斯,说明李娜是龙套词,在这个情况下。
如果一个词出现次数多,且他的平行相关词没有出现在文章中,这个词就是核心词
如果一个词出现次数一般,且他的平行相关词大量出现在文章中,这个词就是龙套词
另新闻标题也是一个重要的特征,考察新闻标题的词在文中的出现次数,也可以作为选择核心词的特征。
最后核心词的发现,肯定是监督学习得到的一个候选list,选好的,就齐了。
某人做的一个词库API,大家可以看看,体会一下。