当我还在大四的时候,记得曾经碰到过这样一个难题。那个时候硬是没有解决。结果后来才知道,那是个世界级的难题,不知道现在还是不是。

     问题是这样的:

     比如:本篇文章,或者,现在就找个 实验站 吧,实验站 这个里面的任何一篇文章,或者博客园里面的任何一篇文章都行。写好了,但是没有标题,没有关键词,你怎么能够使用程序自己把标题,关键词,还有摘要生成出来。而且是要比较准确哦,不是我们说的,提取前面多少个字。

     现在把问题简单化一点吧,仅仅就说关键词的提取。首先把实验文章暂时说为 文章A。

     1.文章A的所有文字,使用一个数据库表(停用词表),去掉里面需要筛选的字词,比如 “的”,“啊”等这些无实际意义的助词。这个停用词表的内容我就不在说了,大家应该都明白了。

     2.把隔离开的有意义的词计数然后放入一个升序链,这样基本的关键词就出来了。但是有很多,那些才是比较正确的关键词呢?有的人说出现最多的应该就是的吧。其实不是这样的,在不同的领域不同,在图书管理学当中,因为写作比较规范,文章比较长,科学家们经过很多次的试验发现了一个关键词的比较正确的密度。好像修正后真确率可以达到60左右。但是在其他领域就不行了。

现在就是想知道园子里有没有这个方面的高手,说说你的算法怎么样的。

 

第二个问题,两篇文章的比较

这也是个比较伤脑筋的问题,不过看看现在的搜索引擎,google应该已经在这个方面有很好的算法了。不过还不能说精确,只能说基本正确。

我的算法思想是这样的

现在拿文章A和文章B比较吧,前提条件是,关键词已经完美的有了。如何比较两篇文章的相似度呢?这个最早的应用是在比较两篇论文的相似度的。

文章A = A

文章B = B

A中各段叫做 A1,A2,A3,A4.........An

B中各段叫做B1,B2,B3,B4.........Bn

1.首先把各段用停用词表筛选

2.然后使用A中各段和B中各段比较每段的关键词的重复密度

3.把每段的重复密度最高的叫做相近的段

4.把各个相近段密度平均处理得到这个文章的相似度。

这个就是我的基本方法。不知道园子里面其他人的更好方法呢?我曾经看到过,很多使用数学里面的矩阵和公式来计算的。但是现在基本忘记完了,况且他们的公式很多也是经过试验得出的结果,也就没太大的意义去记住了。

 

本人表达能力不是特别强,不知道你们有看懂没。

 

 

 

 

posted on 2009-02-07 08:15  Mix  阅读(2091)  评论(18编辑  收藏  举报