zoukankan      html  css  js  c++  java
  • php中文语义分析

    最近公司有个需求要做文章关键词提取,发现有个波森语义分析,还不错,把其http接口封装了一下,
    发布到packagist上了。

    简介

    简单的封装了BosonNLP中文语义识别的api。

    安装

    composer require xdao/boson-nlp

    使用

    require 'vendor/autoload.php';
    
    use XdaoUtilBosonNLP;
    
    $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

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

  • 相关阅读:
    C#项目打包,并自动安装SQL数据库(转)
    [转]将List对象列表转换成JSON格式的类
    查找算法集:顺序查找、二分查找、插值查找、动态查找(数组实现、链表实现)
    C#编码好习惯
    数据库构思与设计规范
    ASP.NET下母版页和内容页中的事件发生顺序整理
    记录要点
    div挡住select的5种方法
    html源码获取方法
    TransactionScope 分布式事务
  • 原文地址:https://www.cnblogs.com/xdao/p/php_semantic.html
Copyright © 2011-2022 走看看