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

Php 如何从文本中查找关键字(有用的词)?,php,keyword,Php,Keyword,我正在做一个实验项目 我想要实现的是,我想找到文本中的关键词 我试图做到这一点的方法是,我列出一个单词在文本中出现的次数,按最常用的单词排列在顶部 但问题是一些常见的词,比如is,was,were总是排在前面。显然这些都不值得 你们能给我一些好的逻辑来做这件事吗,这样它总能找到好的相关关键词吗?好吧,你们可以使用preg_split来获得单词列表以及它们出现的频率,我假设这就是你们目前为止所做的工作 关于去除不重要的单词,我唯一能想到的是有一本你想忽略的单词词典,包含“a”、“I”、“the”、

我正在做一个实验项目

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

我试图做到这一点的方法是,我列出一个单词在文本中出现的次数,按最常用的单词排列在顶部

但问题是一些常见的词,比如is,was,were总是排在前面。显然这些都不值得


你们能给我一些好的逻辑来做这件事吗,这样它总能找到好的相关关键词吗?

好吧,你们可以使用preg_split来获得单词列表以及它们出现的频率,我假设这就是你们目前为止所做的工作

关于去除不重要的单词,我唯一能想到的是有一本你想忽略的单词词典,包含“a”、“I”、“the”、“and”等。使用这本词典过滤掉不需要的单词


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

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

我的第一种方法是建立数学模型,而不是单纯的编程

有两种“简单”的方法可以解决这样的问题; a) 排除列表(惩罚你认为无用的单词集合) b) 使用权重函数,例如,它建立在单词长度的基础上,因此诸如介词(in,at…)和代词(I,you,me,his…)之类的小词将受到惩罚,并有望落在表中

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

是的,我也想到了这一点,忽略了一些已知的不值得使用的单词。但问题是我不是以英语为母语的人,所以我在基本语法规则方面很弱。我认为不值得使用的单词列表会很长。能给我一张单子吗(我不知道名字叫什么可能是“第一人称”为“他她我”的词)。“我”、“你”、“他”、“她”、“它”、“我们”、“他们”都是人称代词有一个已知的图书馆吗?我知道python有一些很棒的库:我也在寻找一个PHP解决方案来获取关键字。您可能会发现这很有趣: