實用PHP+jieba(結巴)中文關鍵字提取 - 台部落
文章推薦指數: 80 %
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("結巴分詞-全模式分詞",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相同的時候就可以上傳了
做成環境變量. 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中進行條件判斷時各種情況。
延伸文章資訊
- 1fukuball jieba-php - ReleaseEye
結巴"中文分詞:做最好的PHP 中文分詞、中文斷詞組件。 / "Jieba" (Chinese for "to stutter") Chinese text segmentation: buil...
- 2GitHub - fukuball/jieba-php: "結巴"中文分詞
"結巴"中文分詞:做最好的PHP 中文分詞、中文斷詞組件。 / "Jieba" (Chinese for "to stutter") Chinese text segmentation: bui...
- 3jieba-php/composer.json at master - GitHub
"結巴"中文分詞:做最好的PHP 中文分詞、中文斷詞組件。 / "Jieba" (Chinese for "to stutter") Chinese text segmentation: bui...
- 4Jieba-php by fukuball - "結巴"中文分詞
只要將字典切換為big 模式即可! "Jieba" (Chinese for "to stutter") Chinese text segmentation: built to be the b...
- 5jieba繁體Jieba-PHP - QUEMDX
jieba繁體Jieba-PHP. 到了繁簡體轉換全部成為了雞肋。 詞庫較大。 結巴分詞是面向全體漢字分組的,先下載,C++,基於jieba 0.39,jieba.cut分詞三種模式jieba....