實用PHP+jieba(結巴)中文關鍵字提取 - 台部落

文章推薦指數: 80 %
投票人數:10人

jieba(結巴)中文分詞jieba(結巴)中文分詞是目前國內一款較好的中文分詞插件。

1.兼容當前絕大部分流行開發語言,例:Java、C/C++、PHP、Ios、 ... 請輸入正確的登錄賬號或密碼 註冊 忘記密碼 首頁 php 正文 實用PHP+jieba(結巴)中文關鍵字提取 原創 mrqinxd 2019-03-0915:41 jieba(結巴)中文分詞 jieba(結巴)中文分詞是目前國內一款較好的中文分詞插件。

1.兼容當前絕大部分流行開發語言,例:Java、C/C++、PHP、Ios、 Node.js等開發語言。

2.搜索引擎模式,全模式和精確模式匹配,以及關鍵詞提取的實用性的功能 3.代碼開源,詞庫自定義等優勢 4.對GBK不是特別友好、需要轉譯一次;中英文分詞兼容性不是很好;詞庫更新較緩慢,如果是長期的分詞使用,需要頻繁更新詞庫。

下面通過PHP+jieba來進行中文分詞 安裝 代碼(zip)下載地址:https://github.com/fukuball/jieba-php  下載之後放在PHP運行環境中並且在使用時需要引入 require_once"/path/to/your/vendor/multi-array/MultiArray.php"; require_once"/path/to/your/vendor/multi-array/Factory/MultiArrayFactory.php"; require_once"/path/to/your/class/Jieba.php"; require_once"/path/to/your/class/Finalseg.php" composer安裝: composerrequirefukuball/jieba-php:dev-master 基本分詞 注:本文是通過zip下載方式進行安裝 目錄結構 在test下建立我們測試的.php文件,導入以下代碼: //設置PHP運行佔用內存 ini_set('memory_limit','1024M'); //導入文件 require_once"../src/vendor/multi-array/MultiArray.php"; require_once"../src/vendor/multi-array/Factory/MultiArrayFactory.php"; require_once"../src/class/Jieba.php"; require_once"../src/class/Finalseg.php"; useFukuball\Jieba\Jieba; useFukuball\Jieba\Finalseg; Jieba::init(); Finalseg::init(); echo"

";
$seg_list=Jieba::cut("結巴中文分詞:做最好的中文分詞!");
var_dump($seg_list);
echo"
"; $seg_list=Jieba::cut("結巴分詞-全模式分詞",true); var_dump($seg_list);#全模式 echo"
"; $seg_list=Jieba::cut("默認就是精確模式",false); var_dump($seg_list);#默認精確模式 echo"
"; $seg_list=Jieba::cutForSearch("搜索引擎模式,會將這句話分詞成功類似搜索引擎的模式");#搜索引擎模式 var_dump($seg_list); echo"
"; 關鍵詞提取 //設置PHP運行佔用內存 ini_set('memory_limit','600M'); //導入核心文件 require_once"../src/vendor/multi-array/MultiArray.php"; require_once"../src/vendor/multi-array/Factory/MultiArrayFactory.php"; require_once"../src/class/Jieba.php"; require_once"../src/class/Finalseg.php"; require_once"../src/class/JiebaAnalyse.php"; useFukuball\Jieba\Jieba; useFukuball\Jieba\Finalseg; useFukuball\Jieba\JiebaAnalyse; //實例化:第一個參數表示開啓測試模式dict表示讀取small詞庫,如果是繁體需要改成big Jieba::init(array('mode'=>'test','dict'=>'small')); Finalseg::init(); JiebaAnalyse::init(); //越小精確度越高|提取的關鍵詞越準|默認20 $top_k=10; //讀取luric.txt文件中的中文字符,進行提取 $content=file_get_contents("../src/dict/lyric.txt","r"); $tags=JiebaAnalyse::extractTags($content,$top_k); var_dump($tags); 導入自定義的詞庫 //設置PHP運行佔用內存 ini_set('memory_limit','1024M'); //導入核心文件 require_once"../src/vendor/multi-array/MultiArray.php"; require_once"../src/vendor/multi-array/Factory/MultiArrayFactory.php"; require_once"../src/class/Jieba.php"; require_once"../src/class/Finalseg.php"; useFukuball\Jieba\Jieba; useFukuball\Jieba\Finalseg; Jieba::init(); Finalseg::init(); jieba::loadUserDict("../src/dict/user_dict.txt");//重點在這裏,導入自定義的詞庫 //接下來的詞庫中就會有你導入的詞庫 $seg_list=Jieba::cut("結巴中文分詞:做最好的中文分詞!"); var_dump($seg_list); 導入自定義詞庫並提取關鍵詞 這個主要是用在某種特定的情況下,看看我們分析的文本中,我們自定義的關鍵字比重是多大 //設置PHP運行佔用內存 ini_set('memory_limit','600M'); //導入核心文件 require_once"../src/vendor/multi-array/MultiArray.php"; require_once"../src/vendor/multi-array/Factory/MultiArrayFactory.php"; require_once"../src/class/Jieba.php"; require_once"../src/class/Finalseg.php"; require_once"../src/class/JiebaAnalyse.php"; useFukuball\Jieba\Jieba; useFukuball\Jieba\Finalseg; useFukuball\Jieba\JiebaAnalyse; //實例化:第一個參數表示開啓測試模式dict表示讀取small詞庫,如果是繁體需要改成big Jieba::init(array('mode'=>'test','dict'=>'small')); Finalseg::init(); JiebaAnalyse::init(); jieba::loadUserDict("../src/dict/user_dict.txt");//導入自定義的詞語 //越小精確度又高|提取的關鍵詞越準|默認20 $top_k=10; $content=file_get_contents("../src/dict/lyric.txt","r"); //這裏是定義截斷性比重佔比分析 JiebaAnalyse::setStopWords('../src/dict/stop_words.txt'); //調用方法分析詞語的佔比 $tags=JiebaAnalyse::extractTags($content,$top_k); echo"
";
var_dump($tags);
其他還有很多可以用到的,博主覺得比較實用的就這幾種,不同的業務環境,可以使用不同的方式,總體來說,jieba分詞是一款靈活,強大的中文分詞工具








發表評論




登录



所有評論

還沒有人評論,想成為第一個評論的人麼?請在上方評論欄輸入並且點擊發布.



相關文章




PHP代碼行數統計





還可以把URL打出來,很是方便。

從而很少用$_GET和$_POST超全局變量。

不過,從今以後我會盡量不再使用$_REQUEST 二两天涯 2020-07-0812:16:43 php函數名前面加@是何意 一、、、、@運算符只對表達式有效。

對新手來說一個簡單的規則就是:如果能從某處得到值,就能在它前面加上@運算符。

例如,可以把它放在變量,函數和include()調用,常量,等等之前。

不能把它放在函數或類的定義之前,也不能用於條件 二两天涯 2020-07-0812:16:42 PHP和Javascript的JSON交互(處理一個二維數組)(轉) xmphoenix 2020-07-0812:00:47 php,checkbox多選框上傳失敗 用慣java和其他語言的時候,表單上傳只需要checkbox的name相同的時候就可以上傳了 選項1 characet($fileContent); moliyiran 2020-07-0811:15:53 php+go實現grpc 1.先安裝編譯器:https://github.com/google/protobuf/releases把bin下的exe放到環境PATH目錄。

做成環境變量. 2.獲取go支持庫的插件: //gRPC運行時接口編解碼支持庫 g moliyiran 2020-07-0811:15:42 Linux中PHP鏈接擴展.so動態庫 前幾天的一個實驗中涉及到使用PHP將本地文件部署到雲端,但是具體的實現卻還是需要費一番手腳,在網上找到的資料很多都沒辦法解決我自己遇到的實際困難,因此記錄下來僅供參考。

1、初始 我使用的雲端服務器是CentOS7.6,PHP版本是PHP 寒. 2020-07-0811:14:55 PHP之TRUE與FALSE總結 以下代碼主要用於測試PHP中進行條件判斷時各種情況。



請為這篇文章評分?