最近公司有個需求要做文章關鍵詞提取,發現有個波森語義分析,還不錯,把其http接口封裝了一下,
發布到packagist上了。
簡介
簡單的封裝了BosonNLP中文語義識別的api。
安裝
composer require xdao/boson-nlp
使用
require 'vendor/autoload.php';
use Xdao\Util\BosonNLP;
$news = <<<EOF
繼前不久始於中國的召回風波,寶馬因為車輛的發動機螺栓故障,在全球范圍將召回48.9萬輛車,在原有中國召回的基礎上數量進一步增加。
據悉,召回車輛將包括北美市場的15.6萬輛,寶馬曾於3月宣布在華召回232,098輛發動機螺栓故障車輛。涉及車型包括搭載六缸發動機的寶馬5系、7系、X3、X5,。
但具體型號Santer並沒有透露。寶馬發言人Bernhard Santer表示,目前尚無該故障造成事故或傷亡的報告。但他仍建議相關車主及時檢查車輛引擎。
Santer說,憑借剩余的動力,車輛仍舊可以堅持到最近的修理廠。
EOF;
//example1 不拋出異常
$bnlp = new BosonNLP("your_key");
$response= $bnlp->keywords($news);
if($response){
var_dump($response);
}
//example2 拋出異常
$bnlp = new BosonNLP("your_key",true,true);
try {
$response= $bnlp->keywords($news."\"");
var_dump($response);
} catch (Exception $ex) {
echo $ex->getMessage();
}
//example3 去除英文標點
$response= $bnlp->keywords(BosonNLP::removePunct($news."\""));
var_dump($response);
注意
-
為了簡潔,使用的是php內置的file_get_contents,不支持異步,返回原始所有數據,未做處理
-
有兩種處理錯誤方式,一種是錯誤時返回false,一種是拋出異常
-
BosonNLP有點傻,如果末尾帶了英文的引號就不能處理了,如上exampl2,於是提供了一個去除英文標點的靜態方法removePunct
-
詳細的文檔,請查閱官網