在2019年12月下旬,Phpcms官网phpcms.cn关闭后,原有的分词api接口(http://tool.phpcms.cn/api/get_keywords.php)已经失效,在录入标题后再也不能自动提取关键词到关键词的输入栏了,针对这一问题,CMSYOU在之前的分词经验基础上,做了几个分词系统的分析,最后完善整理出来Phpcms v9关键词自动分词组件,今天在这里与大家分享中文分词的那些事。
一、没有了原来的自动分词获取关键词后怎么办?
Phpcms原有的分词api接口失效后报错
解决方式1:忽视它、或者注释掉,手动录入关键词,这样更精准。
具体方法:修改api/get_keywords.php,把echo get_keywords($data, $number);改成//echo get_keywords($data, $number); 也就是注释掉这一行,不执行操作,这样避免引发报错。
解决方式2:改造它、省事的功能不能停!
如果你之前一直用,一下子没有了,是不是很不习惯?那么自己就动手改造、实现恢复这个自动分词功能!
二、实现Phpcms v9关键词自动分词的方法
解决方式1:如果你对Php程序或者Phpcms不熟悉,可以选择Phpcms v9关键词自动分词组件,省事的办法,也省时。
Phpcms v9关键词自动分词组件截图
解决方式2:自己动手改造。
当前市面上,常见的分词工具组件有ICTCLAS、HTTPCWS、SCWS、PhpanAlysis、MMSEG4J、IKAnalyzer、盘古分词这些,其中号称最强大的ICTCLAS汉语分词系统不开源,SCWS开源免费但需要对PHP环境安装php_scws.dll拓展、限制了一部分用户。此外,CMSYOU觉得PhpanAlysis不错,比较轻量,准确度也比较好,大家可以深入研究。如果服务器支持,可以考虑开源的SCWS中文分词,以下是SCWS的介绍:
SCWS 是 Simple Chinese Word Segmentation 的首字母缩写(即:简易中文分词系统)。
这是一套基于词频词典的机械式中文分词引擎,它能将一整段的中文文本基本正确地切分成词。 词是中文的最小语素单位,但在书写时并不像英语会在词之间用空格分开, 所以如何准确并快速分词一直是中文分词的攻关难点。
SCWS 采用纯 C 语言开发,不依赖任何外部库函数,可直接使用动态链接库嵌入应用程序, 支持的中文编码包括 GBK、UTF-8 等。此外还提供了 PHP 扩展模块, 可在 PHP 中快速而方便地使用分词功能。
分词算法上并无太多创新成分,采用的是自己采集的词频词典,并辅以一定的专有名称,人名,地名, 数字年代等规则识别来达到基本分词,经小范围测试准确率在 90% ~ 95% 之间, 基本上能满足一些小型搜索引擎、关键字提取等场合运用。首次雏形版本发布于 2005 年底。
SCWS中文分词演示:http://www.xunsearch.com/scws/demo/v48.php
刚才说的方式是自有接口的方式,也可以考虑百度分词这些外部接口,免费或者付费,准确度还是不错的。
百度分词体验:http://ai.baidu.com/tech/nlp/lexical
在此,CMSYOU只是做引入介绍,具体改造方法还需要对Phpcms熟悉及程序功能,欢迎大家探讨!
最后,Phpcms官方虽不能访问了,但研究Phpcms还在继续,CMSYOU将继续与大家一道,加油!
点击加载更多