--昨天连标题带内容复制了一个好友的QQ空间日志,首先我对自己没有加【转】表示抱歉,其次,想研究一下提取关键词和什么有关。
一开始,我什么都没做,以自己的经验认识出发,觉得关键词就是一篇文章中出现频率高的一些词。那么,提取关键词就简单了。我想到了一个粗劣的算法。
1.起初,k=1,文中每个字作为一个分组形成一个分组集合I(0).
2.用一个算法找出这k个字的分组集中,有两个或两个以上相同的分组。将这个集合标记为I(k)。那么I中的每个元素就是刚才
的k个字,这k个字在I(K-1)中有重复的。
3.遍历I(K),对I(k)中的每一个元素,如果I(k)不为空,k+1,回到2.中继续。否则,算法结束。
对于2的算法,是指,对于当前I(K)一个重复的分组,在文中定位,在所有出现这个分组的地方,先在其左边加一个字,执行2,再在其右边加一个字,刚才左边加的那个字去掉,在执行2.
当k=1的时候,怎么快速找出文中重复出现的字?还有位置?我想,这就需要从头到尾遍历了,遍历一遍,每个字在遍历的时候都要回溯,那么最好的情况是所有字都相同,执行的次数是文章字数,最坏的情况是所有字都不同,执行的次数是文章字数×(文章字数-1)/2.当然,可以优化,比如说某个字出现了两次或多次,那么下次再次看到这个字时,不用回溯,但是要遍历找出来的相同字的集合,看他在不在里面。这样子做的最坏情况和之前的最坏情况的执行次数,是一样的!
很粗劣,因为表达能力不好,我没有将自己想表达的表达出来,但我自己看了能懂。
但是,我将好友的日志连题目带内容复制了结果发现,关键词不一样!这是为什么呢?我想,QQ提取关键词的方法可能和网络环境有关系。也就是说,它可能是在一片区域中,在数据库中拉出若干日志,将其作为一篇大的文章,然后按照我的类似的算法去得到关键词。
那么,我就想问:什么叫关键词?如果我能知道关键词满足的条件定义,我相信我可以用C语言写出一个程序来!
一开始,我什么都没做,以自己的经验认识出发,觉得关键词就是一篇文章中出现频率高的一些词。那么,提取关键词就简单了。我想到了一个粗劣的算法。
1.起初,k=1,文中每个字作为一个分组形成一个分组集合I(0).
2.用一个算法找出这k个字的分组集中,有两个或两个以上相同的分组。将这个集合标记为I(k)。那么I中的每个元素就是刚才
的k个字,这k个字在I(K-1)中有重复的。
3.遍历I(K),对I(k)中的每一个元素,如果I(k)不为空,k+1,回到2.中继续。否则,算法结束。
对于2的算法,是指,对于当前I(K)一个重复的分组,在文中定位,在所有出现这个分组的地方,先在其左边加一个字,执行2,再在其右边加一个字,刚才左边加的那个字去掉,在执行2.
当k=1的时候,怎么快速找出文中重复出现的字?还有位置?我想,这就需要从头到尾遍历了,遍历一遍,每个字在遍历的时候都要回溯,那么最好的情况是所有字都相同,执行的次数是文章字数,最坏的情况是所有字都不同,执行的次数是文章字数×(文章字数-1)/2.当然,可以优化,比如说某个字出现了两次或多次,那么下次再次看到这个字时,不用回溯,但是要遍历找出来的相同字的集合,看他在不在里面。这样子做的最坏情况和之前的最坏情况的执行次数,是一样的!
很粗劣,因为表达能力不好,我没有将自己想表达的表达出来,但我自己看了能懂。
但是,我将好友的日志连题目带内容复制了结果发现,关键词不一样!这是为什么呢?我想,QQ提取关键词的方法可能和网络环境有关系。也就是说,它可能是在一片区域中,在数据库中拉出若干日志,将其作为一篇大的文章,然后按照我的类似的算法去得到关键词。
那么,我就想问:什么叫关键词?如果我能知道关键词满足的条件定义,我相信我可以用C语言写出一个程序来!