php自定义中文分词方法,PHPAnalysis中文分词类详解
PHPAnalysis是目前廣泛使用的中文分詞類,使用反向匹配模式分詞,因此兼容編碼更廣泛,現(xiàn)將其變量與常用函數(shù)詳解如下:
一、比較重要的成員變量
$resultType?? = 1??????? 生成的分詞結(jié)果數(shù)據(jù)類型(1 為全部, 2為 詞典詞匯及單個(gè)中日韓簡(jiǎn)繁字符及英文, 3 為詞典詞匯及英文)
這個(gè)變量一般用 SetResultType( $rstype ) 這方法進(jìn)行設(shè)置。
$notSplitLen? = 5??????? 切分句子最短長(zhǎng)度
$toLower????? = false??? 把英文單詞全部轉(zhuǎn)小寫
$differMax??? = false??? 使用最大切分模式對(duì)二元詞進(jìn)行消岐
$unitWord???? = true???? 嘗試合并單字(即是新詞識(shí)別)
$differFreq?? = false??? 使用熱門詞優(yōu)先模式進(jìn)行消岐
二、主要成員函數(shù)列表
1、public function __construct($source_charset='utf-8', $target_charset='utf-8', $load_all=true, $source='')
函數(shù)說明:構(gòu)造函數(shù)
參數(shù)列表:
$source_charset????? 源字符串編碼
$target_charset????? 目錄字符串編碼
$load_all??????????? 是否完全加載詞典(此參數(shù)已經(jīng)作廢)
$source????????????? 源字符串
如果輸入輸出都是utf-8,實(shí)際上可以不必使用任何參數(shù)進(jìn)行初始化,而是通過 SetSource 方法設(shè)置要操作的文本
2、public function SetSource( $source, $source_charset='utf-8', $target_charset='utf-8' )
函數(shù)說明:設(shè)置源字符串
參數(shù)列表:
$source????????????? 源字符串
$source_charset????? 源字符串編碼
$target_charset????? 目錄字符串編碼
返回值:bool
3、public function StartAnalysis($optimize=true)
函數(shù)說明:開始執(zhí)行分詞操作
參數(shù)列表:
$optimize??????????? 分詞后是否嘗試優(yōu)化結(jié)果
返回值:void
一個(gè)基本的分詞過程:
//
$pa = new PhpAnalysis();
$pa->SetSource('需要進(jìn)行分詞的字符串');
//設(shè)置分詞屬性
$pa->resultType = 2;
$pa->differMax? = true;
$pa->StartAnalysis();
//獲取你想要的結(jié)果
$pa->GetFinallyIndex();
4、public function SetResultType( $rstype )
函數(shù)說明:設(shè)置返回結(jié)果的類型
實(shí)際是對(duì)成員變量$resultType的操作
參數(shù) $rstype 值為:
1 為全部, 2為 詞典詞匯及單個(gè)中日韓簡(jiǎn)繁字符及英文, 3 為詞典詞匯及英文
返回值:void
5、public function GetFinallyKeywords( $num = 10 )
函數(shù)說明:獲取出現(xiàn)頻率最高的指定詞條數(shù)(通常用于提取文檔關(guān)鍵字)
參數(shù)列表:
$num = 10? 返回詞條個(gè)數(shù)
返回值:用","分隔的關(guān)鍵字列表
6、public function GetFinallyResult($spword=' ')
函數(shù)說明:獲得最終分詞結(jié)果
參數(shù)列表:
$spword??? 詞條之間的分隔符
返回值:string
7、public function GetSimpleResult()
函數(shù)說明:獲得粗分結(jié)果
返回值:array
8、public function GetSimpleResultAll()
函數(shù)說明:獲得包含屬性信息的粗分結(jié)果
屬性(1中文詞句、2 ANSI詞匯(包括全角),3 ANSI標(biāo)點(diǎn)符號(hào)(包括全角),4數(shù)字(包括全角),5 中文標(biāo)點(diǎn)或無法識(shí)別字符)
返回值:array
9、public function GetFinallyIndex()
函數(shù)說明:獲取hash索引數(shù)組
返回值:array('word'=>count,...) 按出現(xiàn)頻率排序
10、public function MakeDict( $source_file, $target_file='' )
函數(shù)說明:把文本文件詞庫編譯成詞典
參數(shù)列表:
$source_file?? 源文本文件
$target_file?? 目標(biāo)文件(如果不指定,則為當(dāng)前詞典)
返回值:void
11、public function ExportDict( $targetfile )
函數(shù)說明:導(dǎo)出當(dāng)前詞典全部詞條為文本文件
參數(shù)列表:
$targetfile? 目標(biāo)文件
返回值:void
總結(jié)
以上是生活随笔為你收集整理的php自定义中文分词方法,PHPAnalysis中文分词类详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php 仓储 sqlite_详解php封
- 下一篇: php post收不到值,php 取不到