最近公司有个需求要做文章关键词提取,发现有个波森语义分析,还不错,把其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

  • 详细的文档,请查阅官网

php中文语义分析的更多相关文章

  1. NLP+语义分析(四)︱中文语义分析研究现状(CIPS2016、角色标注、篇章分析)

    摘录自:CIPS2016 中文信息处理报告<第二章 语义分析研究进展. 现状及趋势>P14 CIPS2016> 中文信息处理报告下载链接:http://cips-upload.bj. ...

  2. Solr5.5.1 IK中文分词配置与使用

    前言 用过Lucene.net的都知道,我们自己搭建索引服务器时和解决搜索匹配度的问题都用到过盘古分词.其中包含一个词典. 那么既然用到了这种国际化的框架,那么就避免不了中文分词.尤其是国内特殊行业比 ...

  3. NLP+语篇分析(五)︱中文语篇分析研究现状(CIPS2016)

    摘录自:CIPS2016 中文信息处理报告<第三章 语篇分析研究进展.现状及趋势>P21 CIPS2016 中文信息处理报告下载链接:http://cips-upload.bj.bcebo ...

  4. NLP+句法结构(三)︱中文句法结构(CIPS2016、依存句法、文法)

    摘录自:CIPS2016 中文信息处理报告<第一章 词法和句法分析研究进展.现状及趋势>P8 -P11 CIPS2016> 中文信息处理报告下载链接:http://cips-uplo ...

  5. NLP+词法系列(二)︱中文分词技术简述、深度学习分词实践(CIPS2016、超多案例)

    摘录自:CIPS2016 中文信息处理报告<第一章 词法和句法分析研究进展.现状及趋势>P4 CIPS2016 中文信息处理报告下载链接:http://cips-upload.bj.bce ...

  6. TensorFlow从1到2(五)图片内容识别和自然语言语义识别

    Keras内置的预定义模型 上一节我们讲过了完整的保存模型及其训练完成的参数. Keras中使用这种方式,预置了多个著名的成熟神经网络模型.当然,这实际是Keras的功劳,并不适合算在TensorFl ...

  7. 【文智背后的奥秘】系列篇——分布式爬虫之WebKit

    版权声明:本文由文智原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/139 来源:腾云阁 https://www.qclou ...

  8. AI 语音对话技术

    机器学习以及自然语言处理技术的进步,开启了人与人工智能进行语音交互的可能,人们透过对话的方式获取信息.与机器进行交互,将不再只是存在科幻情结当中.语音交互是未来的方向,而智能音箱则是语音交互落地的第一 ...

  9. Python自然语言处理资料库

    1.LTP [1]- 语言技术平台(LTP) 提供包括中文分词.词性标注.命名实体识别.依存句法分析.语义角色标注等丰富. 高效.精准的自然语言处理技术.经过哈工大社会计算与信息检索研究中心 11 年 ...

随机推荐

  1. iCheck的全选和获取value

    一.全选 在使用jQuery iCheck 插件的时候遇到了一个问题,就是当我们使用普通的js全选功能无效了. $("#checkall").click( function(){ ...

  2. Git 别名(分布式版本控制系统)

    1.Git 别名 Git 并不会在你输入部分命令时自动推断出你想要的命令.如果不想每次都输入完整的 Git 命令,可以通过 git config 文件来轻松地为每一个命令设置一个别名.这里有一些例子你 ...

  3. Percona XtraBackup介绍

    Percona XtraBackup开源的.免费的mysql热备软件,可以执行无阻塞备份InnoDB和XtraDB数据库. Percona XtraBackup有以下优点: ·备份快速.可靠 ·备份期 ...

  4. win8 应用商店程序使用SQLITE数据库

    http://www.cnblogs.com/zhuzhenyu/archive/2012/11/27/2790193.html using SQLite; using System; using S ...

  5. Java原理之HashMap

    一下JDK1.7测试没问题,1.8就不一样了,应该散列的更优化. 最近看了很多java底层之HashMap的原理,根据自己的实现如下: package com.gmq.chapter02; impor ...

  6. MPU6050陀螺仪和加速度计的校准

    加速度计和陀螺仪的校准: 在传感器静止不动水平放置时,测出陀螺仪和加速度计各轴的偏移值,保存.以后每次上电调用dmp_set_xx_bias()就行了. u8 run_self_test(void) ...

  7. Axis1.4开发webservice个人笔记

    Axis1.4开发webservice SOAP 是基于 XML 的简易协议,SOAP 即Simple Object Access Protocol(简单对象访问协议),可使应用程序在 HTTP 之上 ...

  8. Android 数据分析系列一:sharedPreferences

    Android数据存储方式,包括下面四种: 1. Shared Preferences:用来存储"key-value"paires格式的数据,它是一个轻量级的键值存储机制,只可以存 ...

  9. python标准库介绍——34 commands 模块详解

    ==commands 模块== (只用于 Unix) ``commands`` 模块包含一些用于执行外部命令的函数. [Example 3-7 #eg-3-7] 展示了这个模块. ====Exampl ...

  10. JAVA中Set集合--HashSet的使用

    一.使用HashSet添加一个String类型的值: public static void hashSet1(){ HashSet<String> hashSet = new HashSe ...