如何从文本中查找关键词(有用的单词)?

时间:2010-10-18 16:08:12

标签: php keyword

我正在做一个实验项目。

我想要实现的是,我想找到该文本中的关键词。

我是如何尝试这样做的,我列出了一个单词在文本中出现的次数,按照最常用的单词排序。

但问题是一些常见的词语,如是,是,总是在顶部。显然这些都不值得。

你们可以建议我做一些好的逻辑,所以它总能找到好的相关关键词吗?

3 个答案:

答案 0 :(得分:6)

使用类似Brill Parser的内容来识别不同的词性,如名词。然后只提取名词,并按频率对它们进行排序。

答案 1 :(得分:1)

那么你可以使用preg_split获取单词列表以及它们出现的频率,我假设到目前为止你已经开始工作了。

我唯一想到的关于剥离非重要单词的事情就是要有一个你要忽略的单词词典,包含“a”,“I”,“the”,“and”等。使用这个字典过滤掉不需要的单词。

为什么这样做,是否用于搜索页面内容?如果是,那么大多数后端数据库都提供某种文本搜索功能,MySQL和Postgres都有一个全文搜索引擎,例如,它会自动丢弃不重要的单词。我建议使用您正在使用的后端数据库的全文功能,因为他们可能已经实现了满足您要求的内容。

答案 2 :(得分:0)

我对这类事物的第一种方法是比纯编程更多的数学建模。

有两种“简单”方法可以解决像这样的问题; a)排除清单(惩罚你认为没用的单词集合) b)使用权重函数,例如,建立在单词长度上,因此介词(in,at ...)和代词(我,你,我,他......)之类的小词将受到惩罚,并希望落在中间位置

我不确定这是不是你想要的,但我希望它有所帮助。 顺便说一句,我知道上下文文本处理是一个积极研究的主题,你可能会发现一些可能有趣的项目。