本文实例讲述了php中文语义分析实现方法。分享给大家供大家参考,具体如下:
最近公司有个需求要做文章关键词提取,发现有个波森语义分析,还不错,把其http接口封装了一下,
发布到packagist上了。
简介
简单的封装了bosonnlp中文语义识别的api。
安装
1
|
composer require xdao/boson-nlp |
使用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
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
- 详细的文档,请查阅官网
希望本文所述对大家PHP程序设计有所帮助。
原文链接:https://www.cnblogs.com/xdao/p/php_semantic.html