发布网友 发布时间:2022-04-06 09:50
共2个回答
懂视网 时间:2022-04-06 14:11
需求:做SEO的keywords时,需要从标题或者正文里提取关键字
1.PHPAnalysis下载地址
https://github.com/feixuekeji/PHPAnalysis
下载后解压放到extend目录下(以tp5为例,其他目录也行)
2.封装
<?php /** * @auther: xxf * Date: 2019/8/19 * Time: 11:04 */ namespace WordAnalysis; /** * 中文分词提取关键字 */ class Analysis { /** * Notes:关键字提取 * @auther: xxf * Date: 2019/8/19 * Time: 11:09 * @param string $content * @param int $num 获取数量 * @return string */ public static function getKeywords($content = "",$num = 3) { if (empty ( $content )) { return ''; } require_once 'phpanalysis.class.php'; PhpAnalysis::$loadInit = false; $pa = new PhpAnalysis ( 'utf-8', 'utf-8', false ); $pa->LoadDict (); $pa->SetSource ($content); $pa->StartAnalysis ( true ); $tags = $pa->GetFinallyKeywords ($num); // 获取文章中的n个关键字 return $tags;//返回关键字 } }
3.使用
$data['seo']['keyword'] = Analysis::getKeywords($article_info['title']);
更多相关技术文章,请访问PHP中文网!
热心网友 时间:2022-04-06 11:19
个人认为,我们还是需要通过在实践中来巩固我们所掌握的知识理论,才能更好的实现我们的学习目标。而且还要不断的更新知识,因为每种语言的更新速度都是很快的,如果不持续的学习,我们所掌握的知识就会很快的被淘汰掉。比如,现在的CMS都自带了采集功能,内容和标题相对来说很好处理,但大部分情况关键词很难能提取到。于是自动获取关键字成为当前PHP类CMS的传统问题。1,PHP类CMS通过分词算法将标题和内容分别进行分割,提取出关键词和频度在内容的分词阶段,当前主要的两个算法是中科院的ICTCLAS和隐马尔可夫模型。但这两个都太高端,有一定的门槛,且都是只支持C++/JAVA。基于PHP的当前有两个是值得推荐的PSCWS和HTTPCWS。而HTTPCWS是张宴开发的,之前叫PHPCWS。PHPCWS 先使用ICTCLAS 3.0 共享版中文分词算法的API进行初次分词处理,再使用自行编写的逆向最大匹配算法对分词和进行词语合并处理,并增加标点符号过滤功能,得出分词结果。目前仅支持Linux/Unix系统。2,PHP类CMS将提取结果与现有词库进行比较,得到最符合规则的关键词这里主要就是要看词库了,我们可以自己定义词库,也可以使用现有的成熟词库。3,然后PHP类CMS将这两套关键词进行比较,得到最符合当前内容的关键词在这个阶段就是具体情况具体分析了。当前PHP类CMS都自有自己的提取关键词系统。其中在网络上流传最广的是DEDECMS的分词源码,我也在我的POPCMS上作过测试,效果很不错,过类似我们等无意义的词提取并被列为关键词的频率太高源码天空,甚至有时候还会把空格的HTML提出来做为关键词,亟待改进。不过如果作为辅助功能,它已经很好了。