查询与一篇文章相关的其他文章,这一功能的实现原理。

Genus 发布于 2012/04/23 13:19
阅读 340
收藏 0
比如,像OSC查看新闻时,会有的相关资讯,或者查看一个开源软件,旁边也会显示相关的其他开源软件,这种功能,是怎么实现的呢?
加载中
0
Grrrr
Grrrr

另: 关于你说的自动提取关键字,其实就是分词. Lucene已经标配了SmartChinese分词器.

一般的应用都够了. 还有更好的比如:IK Analyzer. Paoding Analysis(好象不怎么更新了.目前还不支持Lucene 3.x版本)

Andre.Z
Andre.Z
回复 @Grrrr : 就像我前面说的,关键字一样,顺序也一样,但是连起来就不一样的,可以完全是2个title,这种怎么换算法也没那么准确的。还是自己指定tag的准确啊。OSC右边的类似话题应该是lucene做的,开源软件页面那个,应该是自定义tag关联。看看区别就知道了。
Grrrr
Grrrr
回复 @Andre.Z : 所以说Lucene提供好了接口, 不喜欢原装的自己可以改造. 话说回来, Lucene好象是在3版本后提供的这个功能.还不完善,所以本人觉得是个鸡肋.... 就像Mybatis标配了一个Cache框架.....真是汗~~~~
Andre.Z
Andre.Z
Lucene的这种匹配,有的结果会很让人吐血的,我做过,分词后的组合情况会有很多种,同样的关键词,顺序不一样,东西就完全不一样,会导致根本不相关的东西出现。两个title,出现一样的关键字,但是是完全不一样的东西。
0
鉴客
鉴客
之前有osc介绍过,根据新闻关联的软件或者是标题中提取关键字,然后进行搜索得来的
0
jingshishengxu
jingshishengxu
搞一个计算公式,算下文章的相关度,根据相关度排序
0
Genus
Genus

引用来自“鉴客”的答案

之前有osc介绍过,根据新闻关联的软件或者是标题中提取关键字,然后进行搜索得来的
如何实现自动提取关键字呢?
0
deleted
deleted
据说osc的关键词归类是人肉的........
0
Andre.Z
Andre.Z
OSC的人工智能,这个已经不是秘密。
0
Grrrr
Grrrr

用Lucene吧. 你说的这功能已经完全实现好了.我不知道OSchina也是否这么做的.

一般一篇文章把title提取出来.做分词,并将boost值设置的比较高. 并将这些词保存在Lucene的index文件里面. Lucene会自动完成相似性的匹配工作. 来推荐出其他的文章.

你可以看这篇文章右面的"类似的话题". 基本都有相同的关键字"文章","一篇","查询".而出现次数最多的会放在前面.

Lucene的相似算法是 余弦相似度 Cosine-based Similarity.

当然你可以自己去设计自己的相似算法.太多了. 推荐给你2个文章:

http://blog.csdn.net/v_july_v/article/details/7184318 推荐引擎算法

http://www.cnblogs.com/jianjunyue/archive/2011/04/26/2029454.html lucene计算文本相似度算法

0
Genus
Genus

引用来自“Grrrr”的答案

另: 关于你说的自动提取关键字,其实就是分词. Lucene已经标配了SmartChinese分词器.

一般的应用都够了. 还有更好的比如:IK Analyzer. Paoding Analysis(好象不怎么更新了.目前还不支持Lucene 3.x版本)

谢谢,看来得好好学学lucene。

 

返回顶部
顶部