php中文語義分析


最近公司有個需求要做文章關鍵詞提取,發現有個波森語義分析,還不錯,把其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

  • 詳細的文檔,請查閱官網


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM