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(APP_ROOT.'/pscws4.class.php');
$pscws = new PSCWS4();
$pscws->set_dict(APP_ROOT.'/scws/dict.utf8.xdb');
$pscws->set_rule(APP_ROOT.'/scws/rules.utf8.ini');
$pscws->set_ignore(true);
$pscws->send_text($title);
$words = $pscws->get_tops(5);
$tags = array();
foreach ($words as $val) {
$tags[] = $val['word'];
}
$pscws->close();
return $tags;
}
print_r(get_tags_arr($test));
//============================================================
function get_keywords_str($content){
require(APP_ROOT.'/phpanalysis.class.php');
PhpAnalysis::$loadInit = false;
$pa = new PhpAnalysis('utf-8', 'utf-8', false);
$pa->LoadDict();
$pa->SetSource($content);
$pa->StartAnalysis( false );
$tags = $pa->GetFinallyResult();
return $tags;
}
print(get_keywords_str($test));

相关下载地址

SCWS – 简易中文分词系统

SCWS 在概念上并无创新成分,采用的是自行采集的词频词典,并辅以一定程度上的专有名称、人名、地名、数字年代等规则集,经小范围测试大概准确率在 90% ~ 95% 之间,已能基本满足一些中小型搜索引擎、关键字提取等场合运用。 SCWS 采用纯 C 代码开发,以 Unix-Like OS 为主要平台环境,提供共享函数库,方便植入各种现有软件系统。此外它支持 GBK,UTF-8,BIG5 等汉字编码,切词效率高。

系统平台:Windows/Unix
开发语言:C
使用方式:PHP扩展

演示网址:http://www.ftphp.com/scws/demo.php
开源官网:http://www.ftphp.com/scws/

晴枫附注:作为PHP扩展,容易与现有的基于PHP架构的Web系统继续集成,是其一大优势。

PhpanAlysis - PHP无组件分词系统

PhpanAlysis分词系统是基于字符串匹配的分词方法 ,这种方法又叫做机械分词方法,它是按照一定的策略将待分析的汉字串与一个“充分大的”机器词典中的词条进行配,若在词典中找到某个字符串,则匹配成功(识别出一个词)。按照扫描方向的不同,串匹配分词方法可以分为正向匹配 和逆向匹配;按照不同长度优先匹配的情况,可以分为最大(最长)匹配和最小(最短)匹配;按照是否与词性标注过程相结合,又可以分为单纯分词方法和分词与标注相结合的一体化方法。 

系统平台:PHP环境

开发语言:PHP

使用方式:HTTP服务

演示网址:http://www.itgrass.com/phpanalysis/
开源官网:http://www.itgrass.com/phpanalysis/

晴枫附注:实现简单,容易使用,能做一些简单应用,但大数据量的计算效率不如前几种。

试用了几个系统,基本分词功能都没什么问题,只是在个别一些词的划分上存在一些差异;对于词性的确定,系统间有所不同。

http://www.jb51.net/codes/40139.html

时间: 2024-10-13 21:27:30

PHP中文分词 自动获取关键词介绍_php实例的相关文章

Php实现自动获取关键词的分析

现在的CMS都自带了采集功能,内容和标题相对来说很好处理,但大部分情况关键词很难能提取到.于是自动获取关键字成为当前PHP类CMS的"传统问题".那如何才能自动获取关键词呢,其主要步骤主要可以分为如下三个步骤: 1,通过分词算法将标题和内容分别进行分割,提取出关键词和频度在内容的分词阶段,当前主要的两个算法是中科院的ICTCLAS和隐马尔可夫模型.但这两个都太高端,有一定的门槛,且都是只支持C++/JAVA.基于PHP的当前有两个是值得推荐的PSCWS和HTTPCWS. SCWS于20

开源php中文分词系统SCWS安装和使用实例_php实例

一.SCWS简介 SCWS 是 Simple Chinese Word Segmentation 的首字母缩写(即:简易中文分词系统).这是一套基于词频词典的机械式中文分词引擎,它能将一整段的中文文本基本正确地切分成词. 词是中文的最小语素单位,但在书写时并不像英语会在词之间用空格分开, 所以如何准确并快速分词一直是中文分词的攻关难点.SCWS 采用纯 C 语言开发,不依赖任何外部库函数,可直接使用动态链接库嵌入应用程序, 支持的中文编码包括 GBK.UTF-8 等.此外还提供了 PHP 扩展模

php 中文字符串首字母的获取函数分享_php实例

复制代码 代码如下: function chineseFirst($str){     $str= iconv("UTF-8","gb2312", $str);    //如果程序是gbk的,此行就要注释掉     //判断字符串是否全都是中文    if (preg_match("/^[\x7f-\xff]/", $str))    {        $fchar=ord($str{0});           if($fchar>=or

PHP 中 DOMDocument保存xml时中文出现乱码问题的解决方案_php实例

php中DOMDocument对于xml操作我们只要是英文是没有问题了,但如果是中文字体就会有乱码问题了,下面我们就此问题给各位介绍一些解决办法吧. PHP的DOM内部是utf8机制的,在loadHTML时,是通过检查字符中meta的charset来设置编码的,如果没有charset,就当iso8859进行处理了,而这种情况下进行saveXML时,输出来的却是utf8,所以就看到乱码了. 这么说是不是还不太理解,举个例子: $xml = new DOMDocument(); @$xml->loa

简单PHP会话(session)说明介绍_php实例

现在程序员愈发的不容易了,想要精通,必然要寻本溯源,这其实与目前泛滥的愈发高级的语言以及众多的框架刚好相反,因为它们在尽可能的掩盖本源使其简单,个人称之为程序员学习悖论. 注:作者接触web开发和php两周左右,以下内容适合初学者. 1.导读 从文题目看,<简单PHP会话(Session)说明> 是已经圈定了本文的内容范围,试图阐明Session(文中对会话称为Session) 在PHP语言中是如何实现以及使用的,重点在于基本理解后的使用. 文章思路是首先搞清楚session是什么东西,Ses

PHP字符串的编码问题的详细介绍_php实例

      大家都知道,不同字符编码,其在内存占用的字节数不一样.如ASCII编码字符占用1个字节,UTF-8编码的中文字符是3字节,GBK为2个字节.       PHP 也自带几种字符串截取函数,其中常用到的就是 substr 和 mb_substr.     使用substr截取中文字符时会出现乱码,这是因为substr是按字节来截取的.即UTF-8编码的中文,使用substr截取,只会截取1/3个中文,当然出现乱码了.     mb_substr ( string $str , int

PHP命名空间和自动加载类_php实例

PHP的命名空间(namespace)是php5.3之后才有的.这个概念在C#中已经很早就有了,php中的namespace其实和c#的概念是一样的. 为什么php中要使用namespace? 假设如果不使用namespace,那么每个类在一个项目中的名字就必须是固定的.因为php在new的时候不管是调用autoload还是调用已加载过的类,都存在一个类名对应的文件.所以在没有namespace的时候,我们会想各种命名规则来区分不同的类,比如project1_school1_class1_Stu

PHP中的Streams详细介绍_php实例

Streams 是PHP提供的一个强有力的工具,我们常常在不经意会使用到它,如果善加利用将大大提高PHP的生产力. 驾驭Streams的强大力量后,应用程序将提升到一个新的高度. 下面是PHP手册中对Streams的一段描述: 复制代码 代码如下: Streams 是在PHP 4.3.0版本被引入的,它被用于统一文件.网络.数据压缩等类文件的操作方式,为这些类文件操作提供了一组通用的函数接口.简而言之,一个stream就是一个具有流式行为的资源对象.也就是说,我们可以用线性的方式来对stream

php arsort 数组降序排序详细介绍_php实例

arsort 对数组进行降序排序并保持索引关系. 基本语法 bool arsort ( array &$array [, int $sort_flags = SORT_REGULAR ] ) 本函数对数组进行降序排序,数组的索引保持和单元的关联. arsort函数主要用于对那些单元顺序很重要的结合数组进行排序. 参数介绍: 参数 描述 array 必需.输入的数组. sort_flags 可选.规定如何排列数组的元素/项目.可能的值: 0 = SORT_REGULAR - 默认.把每一项按常规顺