我正在考虑编写一个 PHP 脚本来分析 CMS 页面的内容(即数据库字段),然后自动生成 (X)HTML META 描述和关键字标签,但与往常一样,重新发明轮子没有意义,所以我想知道有没有人知道这样的野兽?
前者我想像一个相对简单的正则表达式来抓取第一句话或两句话,而后者可能涉及根据常用词词典消除单词,然后对频率或类似内容进行加权。
我正在考虑编写一个 PHP 脚本来分析 CMS 页面的内容(即数据库字段),然后自动生成 (X)HTML META 描述和关键字标签,但与往常一样,重新发明轮子没有意义,所以我想知道有没有人知道这样的野兽?
前者我想像一个相对简单的正则表达式来抓取第一句话或两句话,而后者可能涉及根据常用词词典消除单词,然后对频率或类似内容进行加权。
您正在考虑的问题有两个:一个是关键字提取,另一个是文档摘要。第一个,我显然会用于关键字,它有一个非常简单的天真的方法:选择内容中最常见的词,减去所有停用词(如果你不知道这些是什么,请在 Wikipedia 中查找)。还有许多更高级的方法,包括为包含同义词、文本或标记中的位置等加权。有几个 PHP 中简单的关键字提取脚本示例,您可以轻松实现。只需谷歌搜索“PHP 关键字提取”之类的内容,您就会找到一些。
另一方面,第二个问题有点困难,仍然是很多学术工作的来源。您需要对非常全面的元描述标签进行总结。如果你不是在寻找一个可能仍然僵硬或不连贯的长期人工智能项目,那么实际上可能不值得你花时间。另一种方法是简单的使用关键字提取的启发式方法:“这篇文章是关于(第一个最常见的关键字)、(第二个最常见的关键字)和(第三个最常见的关键字)”。您至少可以从关键字和描述中的某些内容中受益。如果您想改变它,请改用一些同义词。WordNet有一个半功能的PHP 实现,但我对于那里的繁重工作,因为大部分工作已经为您完成。
我想花一点时间来鼓励您在这方面的研究,并忽略 Warnica 先生的反对意见。元信息对于搜索领域的文档分类和信息提取都很重要。没有数据是愚蠢的,事实上,为大型内容管理系统自动化它是值得的。祝你的努力好运。
Yahoo Pipes Term Extractor模块的功能与您想要的类似。不幸的是,我不知道管道模块打开的来源。