`
fulerbakesi
  • 浏览: 561916 次
文章分类
社区版块
存档分类
最新评论

php实现自动获取生成关键词功能

阅读更多
以前写程序一直在逃避这个问题,tag什么的都是要求使用程序的人自行输入,对于某些懒人及为了程序的体验,则是希望可以有自动生成文章关键词,自动获取文章tag的类似功能,这次为了迎接新的项目,所以捣鼓了一晚上,研究了一下这个功能。
要实现自动获取关键词的功能,大概可以分成三步
1,通过分词算法将标题和内容分别进行分割,提取出关键词和频度。当前主要的两个算法是中科院的ICTCLAS和隐马尔可夫模型。但这两个都太高端,有一定的门槛,且都是只支持C++/JAVA。基于PHP的当前有两个是值得推荐的PSCWS和HTTPCWS。 SCWS于2008-03-08发布1.0.0 正式版,到现在最新版本已经到了1.0.4。PSCWS是它的PHP版。而HTTPCWS是张宴开发的,之前叫PHPCWS。PHPCWS 先使用“ICTCLAS 3.0 共享版中文分词算法”的API进行初次分词处理,再使用自行编写的“逆向最大匹配算法”对分词和进行词语合并处理,并增加标点符号过滤功能,得出分词结果。不过很遗憾目前仅支持Linux系统,尚未移植到win平台上。
2,将提取结果与现有词库进行比较,处理,去除无用的词得到最符合规则的关键词。这里主要就是要看词库了,我们可以自己定义词库,也可以使用现有的成熟词库。比如新浪和网易博客都有这个功能,。他们分词应该有不错的词库,因为他们都是大网站,而我呢,区区一个小程序员,不可能搞到什么权威的词库,所以只能从现有的开源程序上入手,看看他们的词库。
3,在处理后的提取结果中选择适当的作为最终的关键词,得到最符合当前内容的关键词,在这个阶段就是具体情况具体分析了,无论如何也不可能达到人的那种智能化。最多是。当前PHP类CMS都自有自己的提取关键词系统。
目前在网络上流传最广的是DEDECMS的分词源码,我做了测试,发现相当的呆,效果很不好。它先设置一个关键词长度,确定获取关键词的数量,然后取词,它认为标题分好的词就是所需关键词,在加上从正文中读取关键词只到达到这个所设置的长度,就是最终关键词了。另外类似“我们”等无意义的词也没有去除掉提取并被列为关键词的频率太高,甚至有时候还会把空格的HTML提出来做为关键词,亟待改进。不过如果作为辅助功能,它已经很好了。而discuz的稍微好一些,但是discuz并没有提供源码,只是提供了一个在线api。
而dede的分词也有好几个版本,最好的应该是最新版的吧,出现频率什么都有了,下面就以dede5.7的分词和discuz的api的结果对比下
测试例子:

  1. $title="THINKPHP官方即将停止对2.0版本的支持";
  2. $body="了更好地做好ThinkPHP框架的开发、维护和支持工作,官方宣布从2012年5月1日起s对2.0及之前版本的维护和支持,为了节能低碳考虑,同时也取消官网的相应版本和文档下载。
  3. 就此缅怀那些年,曾经一起开发的ThinkPHP版本吧!
  4. 关于ThinkPHP 2.0版本
  5. ThinkPHP 诞生于2006年,致力于WEB应用的快速开发,其2.0版本发布于2009年10月1日 ,在之前的1.*版本上完成新的重构和飞跃,当时是一次划时代的版本,为新版奠定了基础,同时也积累了较多的用户群和网站,随着框架的快速更新,和新版 2.1、2.2和3.0版本的陆续发布,预示着ThinkPHP的3.0时代到来了,2.0的生命周期宣告结束。但基本上2.0的很多功能都延续或者完善到2.1版本中了,从2.0版本升级到2.1和2.2版本也相对轻松。2.2版本是2.*版本的最终版本,不再更新功能,仅做BUG修复。";

一、dede分词
将结果排序后如下

  1. 标题Array
  2. (
  3. [THINKPHP] => 1
  4. [官方] => 1
  5. [即将] => 1
  6. [停止] => 1
  7. [对] => 1
  8. [2.0] => 1
  9. [版本] => 1
  10. [的] => 1
  11. [支持] => 1
  12. )
  13. 内容Array
  14. (
  15. [版本] => 12
  16. [的] => 12
  17. [和] => 8
  18. [ThinkPHP] => 5
  19. [2.0] => 5
  20. [也] => 3
  21. [2.2] => 3
  22. [2.1] => 3
  23. [开发] => 3
  24. [3.0] => 2
  25. [是] => 2
  26. [快速] => 2
  27. [到] => 2
  28. [发布] => 2
  29. [维护] => 2
  30. [之前] => 2
  31. [了] => 2
  32. [新版] => 2
  33. [支持] => 2
  34. [框架] => 2
  35. [同时] => 2
  36. [从] => 2
  37. *******

对此如何取出最终的需要的关键词呢? 初步思路是先去除“的”,“些”这些词,再按照内容的排序顺序,依次看分到是否出现在标题中出现即为所需的,这样可以取出一定量的词最为最终关键词。如上结果我们可以得到

  1. 版本 thinkphp 2.0 支持 停止

五个关键词。看起来结果还是可以接受的。
二、在来看discuz的,利用api得到的是一个xml文档,解析后得到的关键词是

  1. 的、快速、版本升级、开发、用户


五个词,第一个是“的”......
对比这两种方式发现第一种dede+后续处理的较为接近文档的内容,应该是稍好一些,而discuz的偏离了文章的主题,但是其取到词有一定的热门性。

分享到:
评论

相关推荐

    php实现自动获取生成文章主题关键词功能的深入分析

    本篇文章是对php实现自动获取生成文章主题关键词功能进行了详细的分析介绍,需要的朋友参考下

    PHP中文分词 自动获取关键词介绍

    php header(“Content-Type:text/html; charset=utf-8”); define(‘APP_ROOT’, str_replace(‘\\’, ‘/’, dirname(__FILE__))); $test = ‘这里是一段中文测试代码!’; function get_tags_arr($title) { require...

    淘宝客程序全自动采集版源码 淘宝客自动采集软件

    12、只需在后台设置好淘点金代码 即可实现全站的,所有淘宝链接自动转换成佣金链接。 13、友情链接 增加、修改、删除友情链接功能。后台可添加js广告或图片或flash广告。 14、首页商品板块不限制,可以自定义增加、...

    关键字网站生成系统PHP版

    本系统能生成与提供的关键词相关的网站,具体原理是它能根据设置的关键词,分别从搜索引擎获取与这些关键词相关的热点关键词,并自动把从搜索引擎获取与这些热点关键词相关的网页生成静态页面。 [使用方法] 1、...

    phpcms_v9.6.6_UTF8去掉phpsso模块手机电脑同时生成html

    PHPCMS V9.6.6 修改版 修改内容列表: 1.修改后台界面 2.修改前台界面 3.修改phpcms目录为cms 4.去掉phpsso模块 5.手机电脑同时生成html ...7.安装完删除安装目录 8.安装删除友情链接、...20200714添加百度关键词获取API

    关键字网站生成系统源码 v1.3

    本系统能生成与提供的关键词相关的网站,具体原理是它能根据设置的关键词,分别从搜索引擎获取与这些关键词相关的热点关键词,并自动把从搜索引擎获取与这些热点关键词相关的网页生成静态页面。 [使用方法] 1、第一...

    vivi A5论坛小偷 v3.2

    vivi A5论坛小偷3.0功能简介:采用php小偷技术自动与A5论坛同步更新!动态浏览与静态后台自由切换!全站伪原创.全站可生成页面缓存,减轻服务器负担,读取速度加快!四种采集方式,兼容98%空间服务器,独立模板风格。...

    美加新闻发布系统ElitePublish v1.5.zip

    支持自动获取原创新闻内容(通过机器翻译来实现和原文不同),支持网站动态更新。 支持自定义的RSS信息来源,支持网页模式识别的调整,可以随意扩展、定制本系统。 支持众多SEO功能:网址静态化,自动为搜索引擎...

    美加PHP新闻聚合系统 v4.0 长尾词SEO版.rar

    特点介绍——免费软件,自动生成原创内容,针对SEO特别优化支持自动获取原创新闻内容(通过机器翻译或者自动伪原创来实现和原文不同),支持网站动态更新。支持自定义的RSS信息来源,全自动网页模式识别,可以添加...

    猴岛论坛免费版自动同官网更新

    6.keyword自动分词获取。内容过滤功能。包含自定义词语的内容将不采集 7.关键词内链, 文章内容包含指定关键词将自动添加链接!后台自定义关键词! 8.帖子随机乱序排列处理 ......等等 默认后台:http://程序地址/...

    viviphp猴岛论坛小偷v3.0

    猴岛论坛小偷 功能简介: 1.采用php小偷技术自动与猴岛论坛同步更新! 2.动态浏览与静态后台自由切换! 3.全站伪原创.全站可生成页面缓存,减轻服务器...关键词内链, 文章内容包含指定关键词将自动添加链接!后台自定

    admin5论坛小偷 v4.01

    6.keyword自动分词获取。内容过滤功能。包含自定义词语的内容将不采集 7.关键词内链, 文章内容包含指定关键词将自动添加链接!后台自定义关键词! 8.可随机打乱帖子顺序 账号 admin 更新说明: 2012.05.06 ...

    美加新闻发布系统:ElitePublish

    支持自动获取原创新闻内容(通过机器翻译来实现和原文不同),支持网站动态更新。 支持自定义的RSS信息来源,支持网页模式识别的调整,可以随意扩展、定制本系统。 支持众多SEO功能:网址静态化,自动为搜索引擎...

    飞飞CMS影视导航系统 4.0.zip

    飞飞导航影视导航系统是一款免费开源的PHP电影程序,自适应电脑、手机、平板、APP多个终端入口,无任何加密代码、安全有保障,是您最佳的建站...优化自动获取关键词接口服务;优化字符串截取优先函数;优化导航管理。

    乐淘客程序支持淘宝网最新TOP API2.0接口 v1.22.rar

     3、自动获取通过百度和Google过来的关键词,生成对应的关键词去search8的链接,这样每个用户进来都能看到一个完全匹配自己关键词的超链接,更好地把用户转入淘宝网  4、支持伪静态页面,全站实现伪静态重写,...

    vivi 猴岛论坛小偷 v3.0.rar

    6.keyword自动分词获取。内容过滤功能。包含自定义词语的内容将不采集 7.关键词内链, 文章内容包含指定关键词将自动添加链接!后台自定义关键词! 8.帖子随机乱序排列处理 ......等等   默认...

    大佬广州论坛小偷系统 v1.5

    增加了伪原创功能、内容过滤功能、自定义词语的内容将不采集增加关键词内链, 文章内容包含指定关键词将自动添加链接!后台自定义关键词!2012.3.4增加了内容楼层顺序打乱、列表显示顺序打乱。有助于SEO。增加了后台...

    大佬北京论坛小偷系统 v1.1

    增加了伪原创功能、内容过滤功能、自定义词语的内容将不采集增加关键词内链, 文章内容包含指定关键词将自动添加链接!后台自定义关键词!2012.3.4增加了内容楼层顺序打乱、列表显示顺序打乱。有助于SEO。增加了后台...

Global site tag (gtag.js) - Google Analytics