phpanalysis 类的词典是用unicode编码编译为二叉树结构的,如果需要修改词条,需要重新编译,国内目前的分词系统大多数都是原生gbk编码 的,phpanalysis是唯一一个用unicode原生分词的分词程序,更适合我们公司的常规项目应用,有需要的项目可以使用,并且环境好配置 php-apc 这样可以达到佳性能。
phpanalysis 类放在 library 文件夹,由于不是直接放在非标准存放路径,因此使用时需要用
require PATH_LIBRARY.'/phpanalysis/phpanalysis.class.php';
引入类文件
phpanalysis 类基本用法如下:
1、构造函数
public function __construct($source_charset='utf-8', $target_charset='utf-8', $load_all=false, $source='')
$source_charset='utf-8' 源字符串的编码
$target_charset='utf-8' 输出目标的编码
$load_all=false 是否载入所有词条(false的情况下只载入基本的head)
$source='' 源字符串
2、设置待分词的源字符串
public function SetSource( $source, $source_charset='utf-8', $target_charset='utf-8' )
3、执行分词
public function StartAnalysis($optimize=true)
$optimize 是否对分词结果进行消岐优化
4、获得终的分词结果
public function GetFinallyResult($spword=' ', $word_meanings=false)
$spword 分隔符,通常是空格
$word_meanings 是否包含词义?
5、重新编译词典
public function MakeDict( $sourcefile, $maxWordLen=16, $target='' )
$sourcefile 未编译的词典文件(phpanalysis/dict/not-build/base_dic_full.txt)
$maxWordLen 大词长($maxWordLen/2 个unicode汉字)
$target 目标文件(phpanalysis/dict/base_dic_full.dic)
使用范例:
-
- $do_fork = true;
-
- $do_unit = true;
-
- $do_multi = false;
-
- $do_prop = false;
-
- $pri_dict = false;
-
-
- $pa = new PhpAnalysis('utf-8', 'utf-8', $pri_dict);
- $pa->differMax = $do_multi;
- $pa->unitWord = $do_unit;
-
-
- $pa->SetSource($str);
- $pa->StartAnalysis( $do_fork );
- $okresult = $pa->GetFinallyResult(' ', $do_prop);
>>点击此浏览分词程序的实例演示>>
|