PHPAnalysis是目前廣泛使用的中文分詞類,使用反向匹配模式分詞,因此兼容編碼更廣泛,現將其變量與常用函數詳解如下:
一、比較重要的成員變量
$resultType = 1 生成的分詞結果數據類型(1 為全部, 2為 詞典詞匯及單個中日韓簡繁字符及英文, 3 為詞典詞匯及英文)
這個變量一般用 SetResultType( $rstype ) 這方法進行設置。
$notSplitLen = 5 切分句子最短長度
$toLower = false 把英文單詞全部轉小寫
$differMax = false 使用最大切分模式對二元詞進行消岐
$unitWord = true 嘗試合並單字(即是新詞識別)
$differFreq = false 使用熱門詞優先模式進行消岐
二、主要成員函數列表
1、public function __construct($source_charset='utf-8', $target_charset='utf-8', $load_all=true, $source='')
函數說明:構造函數
參數列表:
$source_charset 源字符串編碼
$target_charset 目錄字符串編碼
$load_all 是否完全加載詞典(此參數已經作廢)
$source 源字符串
如果輸入輸出都是utf-8,實際上可以不必使用任何參數進行初始化,而是通過 SetSource 方法設置要操作的文本
2、public function SetSource( $source, $source_charset='utf-8', $target_charset='utf-8' )
函數說明:設置源字符串
參數列表:
$source 源字符串
$source_charset 源字符串編碼
$target_charset 目錄字符串編碼
返回值:bool
3、public function StartAnalysis($optimize=true)
函數說明:開始執行分詞操作
參數列表:
$optimize 分詞後是否嘗試優化結果
返回值:void
一個基本的分詞過程:
//////////////////////////////////////
$pa = new PhpAnalysis();
$pa->SetSource('需要進行分詞的字符串');
//設置分詞屬性
$pa->resultType = 2;
$pa->differMax = true;
$pa->StartAnalysis();
//獲取你想要的結果
$pa->GetFinallyIndex();
////////////////////////////////////////
4、public function SetResultType( $rstype )
函數說明:設置返回結果的類型
實際是對成員變量$resultType的操作
參數 $rstype 值為:
1 為全部, 2為 詞典詞匯及單個中日韓簡繁字符及英文, 3 為詞典詞匯及英文
返回值:void
5、public function GetFinallyKeywords( $num = 10 )
函數說明:獲取出現頻率最高的指定詞條數(通常用於提取文檔關鍵字)
參數列表:
$num = 10 返回詞條個數
返回值:用","分隔的關鍵字列表
6、public function GetFinallyResult($spword=' ')
函數說明:獲得最終分詞結果
參數列表:
$spword 詞條之間的分隔符
返回值:string
7、public function GetSimpleResult()
函數說明:獲得粗分結果
返回值:array
8、public function GetSimpleResultAll()
函數說明:獲得包含屬性信息的粗分結果
屬性(1中文詞句、2 ANSI詞匯(包括全角),3 ANSI標點符號(包括全角),4數字(包括全角),5 中文標點或無法識別字符)
返回值:array
9、public function GetFinallyIndex()
函數說明:獲取hash索引數組
返回值:array('word'=>count,...) 按出現頻率排序
10、public function MakeDict( $source_file, $target_file='' )
函數說明:把文本文件詞庫編譯成詞典
參數列表:
$source_file 源文本文件
$target_file 目標文件(如果不指定,則為當前詞典)
返回值:void
11、public function ExportDict( $targetfile )
函數說明:導出當前詞典全部詞條為文本文件
參數列表:
$targetfile 目標文件
返回值:void