php中文语义分析实现方法示例
本文实例讲述了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
- 详细的文档,请查阅官网
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP扩展开发教程》、《PHP网络编程技巧总结》、《php curl用法总结》、《PHP数组(Array)操作技巧大全》、《PHP数据结构与算法教程》、《php程序设计算法总结》及《php字符串(string)用法总结》
希望本文所述对大家PHP程序设计有所帮助。
相关推荐
-
php实现的中文分词类完整实例
本文实例讲述了php实现的中文分词类.分享给大家供大家参考,具体如下: 该中文分词类源码使用http://tools.jb51.net/code/jb51_php_format进行了格式化处理,便于阅读.具体代码如下: class Segmentation { var $options = array('lowercase' => TRUE, 'segment_english' => FALSE); var $dict_name = 'Unknown'; var $dict_words = a
-
支持汉转拼和拼音分词的PHP中文工具类ChineseUtil
PHP 中文工具类,支持汉字转拼音.拼音分词.简繁互转. PHP Chinese Tool class, support Chinese pinyin, pinyin participle, simplified and traditional conversion 目前本类库拥有的三个功能,都是在实际开发过程中整理出来的.这次使用的数据不同于以前我开源过汉字转拼音和简繁互转,数据都是从字典网站采集下来的,比以前的数据更加准确. 由于中文的博大精深,字有多音字,简体字和繁体字也有多种对应.并且本
-
开源php中文分词系统SCWS安装和使用实例
一.SCWS简介 SCWS 是 Simple Chinese Word Segmentation 的首字母缩写(即:简易中文分词系统).这是一套基于词频词典的机械式中文分词引擎,它能将一整段的中文文本基本正确地切分成词. 词是中文的最小语素单位,但在书写时并不像英语会在词之间用空格分开, 所以如何准确并快速分词一直是中文分词的攻关难点.SCWS 采用纯 C 语言开发,不依赖任何外部库函数,可直接使用动态链接库嵌入应用程序, 支持的中文编码包括 GBK.UTF-8 等.此外还提供了 PHP 扩展模
-
PHPAnalysis中文分词类详解
PHPAnalysis是目前广泛使用的中文分词类,使用反向匹配模式分词,因此兼容编码更广泛,现将其变量与常用函数详解如下: 一.比较重要的成员变量 $resultType = 1 生成的分词结果数据类型(1 为全部, 2为 词典词汇及单个中日韩简繁字符及英文, 3 为词典词汇及英文) 这个变量一般用 SetResultType( $rstype ) 这方法进行设置.$notSplitLen = 5
-
使用Discuz关键词服务器实现PHP中文分词
不同于使用自己的服务器进行分词,Discuz!在线中文分词服务是基于API返回分词结果的.在项目中,我们只需要一个函数即可方便地进行分词.关键词提取.以下是根据Discuz!在线分词服务API写的函数,测试可正常运行: 复制代码 代码如下: /** * DZ在线中文分词 * @param $title string 进行分词的标题 * @param $content string 进行分词的内容 * @param $encode string API返回的数据编码 * @return arra
-
PHP中文分词 自动获取关键词介绍
复制代码 代码如下: <?php header("Content-Type:text/html; charset=utf-8"); define('APP_ROOT', str_replace('\\', '/', dirname(__FILE__))); $test = '这里是一段中文测试代码!'; function get_tags_arr($title) { require(APP_ROOT.'/pscws4.class.php'); $pscws = new PSCWS
-
php+正则将字符串中的字母数字和中文分割
如:$str="php如何将字 符串中322的字母数字sf f45d和中文_分割?";按数字或字母分割. 复制代码 代码如下: $str = "php如何将字 符串中322的字母数字Asf f45d和中文_分割?";$arr = preg_split("/([a-zA-Z0-9]+)/", $str, 0, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE); print_r($arr); 结果 复制
-
PHP中文分词的简单实现代码分享
当然, 本文不是要对中文搜索引擎做研究, 而是分享如果用 PHP 做一个站内搜索引擎. 本文是这个系统中的一篇. 我使用的分词工具是中科院计算所的开源版本的 ICTCLAS. 另外还有开源的 Bamboo, 我随后也会对该工具进行调研. 从 ICTCLAS 出发是个不错的选择, 因为其算法传播比较广泛, 有公开的学术文档, 并且编译简单, 库依赖少. 但目前只提供了 C/C++, Java 和 C# 版本的代码, 并没有 PHP 版本的代码. 怎么办呢? 也许可以学习它的 C/C++ 源码和学术
-
php实现scws中文分词搜索的方法
本文实例讲述了php实现scws中文分词搜索的方法.分享给大家供大家参考,具体如下: 1.4个文件(本站下载地址.)解压后,放到一个地方 eg:E:/wamp/scws 2.php.ini 中配置 extension = php_scws.dll scws.default.charset = utf8 //配置默认的编码方式 scws.default.fpath = "E:/wamp/scws" //加压后文件的路径 3.使用 $so = scws_new(); $so->set
-
php中文语义分析实现方法示例
本文实例讲述了php中文语义分析实现方法.分享给大家供大家参考,具体如下: 最近公司有个需求要做文章关键词提取,发现有个波森语义分析,还不错,把其http接口封装了一下, 发布到packagist上了. 简介 简单的封装了BosonNLP中文语义识别的api. 安装 composer require xdao/boson-nlp 使用 require 'vendor/autoload.php'; use Xdao\Util\BosonNLP; $news = <<<EOF 继前不久始于中
-
Python使用中文正则表达式匹配指定中文字符串的方法示例
本文实例讲述了Python使用中文正则表达式匹配指定中文字符串的方法.分享给大家供大家参考,具体如下: 业务场景: 从中文字句中匹配出指定的中文子字符串 .这样的情况我在工作中遇到非常多, 特梳理总结如下. 难点: 处理GBK和utf8之类的字符编码, 同时正则匹配Pattern中包含汉字,要汉字正常发挥作用,必须非常谨慎.推荐最好统一为utf8编码,如果不是这种最优情况,也有酌情处理. 往往一个具有普适性的正则表达式会简化程序和代码的处理,使过程简洁和事半功倍,这往往是高手和菜鸟最显著的差别.
-
Python实现按中文排序的方法示例
本文实例讲述了Python实现按中文排序的方法.分享给大家供大家参考,具体如下: 安装中文库 sudo apt-get update sudo apt-get install language-pack-zh-hans-base sudo dpkg-reconfigure locales 使用 import locale locale.setlocale(locale.LC_COLLATE, 'zh_CN.UTF8') cmp = locale.strcoll courses.sort(lamb
-
jsp传值中文乱码问题解决方法示例介绍
在jsp中,我们经常从数据库读取数据返回客户端,但我们常常在制作时出现乱码现象,所以我们可以用<%request.setCharacterEncoding("UTF-8");%>这个方法来保证中文的正确输出,下面举个例子吧, 我们要接住表单的值或者把数据库数据打印出来的之前,先把<%request.setCharacterEncoding("UTF-8");%>放在他们的前面,然后,表单的提交方式必须是post,即method="p
-
Linux内核如何输出中文字符的方法示例
你在Windows/MacOS的登录Linux的SSH终端上很容易输入中文并且获得中文输出,比如下面这样: 但是却几乎不可能将中文显示在Linux自身的 虚拟终端 上: [root@localhost font]# echo 皮鞋 >/dev/tty2 显示了两个问号,显然Linux内核并不能识别中文. 为什么说是Linux内核不能识别中文呢?这里需要理清一个关系: 你在远程SSH终端上的输入和显示输出的行为,都是SSH终端的宿主机完成的,比如Windows,MacOS,和Linux无关. 你在
-
基于Java实现中文分词系统的示例代码
目录 1.问题描述 2.相关工作 3.系统框架和算法设计 3.1系统整体框架 1.问题描述 中文分词 (Chinese Word Segmentation) 指的是将一个汉字序列切分成一个一个单独的词.分词就是将连续的字序列按照一定的规范重新组合成词序列的过程.我们知道,在英文的行文中,单词之间是以空格作为自然分界符的,而中文只是字.句和段能通过明显的分界符来简单划界,唯独词没有一个形式上的分界符,虽然英文也同样存在短语的划分问题,不过在词这一层上,中文比之英文要复杂的多.困难的多. 而对于中文
-
Java用GDAL读写shapefile的方法示例
GDAL介绍 GDAL(Geospatial Data Abstraction Library)是一个在X/MIT许可协议下的开源栅格空间数据转换库.它利用抽象数据模型来表达所支持的各种文件格式.它还有一系列命令行工具来进行数据转换和处理. GDAL官方网址:http://www.gdal.org/,它能支持当前流行的各种地图数据格式,包括栅格和矢量地图,具体参考官方网站.该库使用C/C++开发,在Java中使用需要自己编译,具体编译过程这里就不说了,下面来看看本文的主要内容吧. Java使用G
-
php中文字符串截取方法实例总结
本文实例总结了php中文字符串截取方法,非常实用的技巧.分享给大家供大家参考.具体方法分析如下: 用PHP函数substr截取中文字符可能会出现乱码,主要是substr可能硬生生的将一个中文字符"锯"成两半. 解决办法如下: 1.使用mbstring扩展库的mb_substr截取就不会出现乱码了. 2.自己书写截取函数,但效率不如用mbstring扩展库来得高. 3.如果仅是为了输出截取的串,可用如下方式实现:substr($str, 0, 30).chr(0). substr()函数
-
wxPython窗口中文乱码解决方法
本文实例讲述了wxPython窗口中文乱码解决方法,分享给大家供大家参考.具体方法如下: 文件保存为 utf-8 文件开头添加 # -*- coding: utf-8 -*- 在有中文字符串前加u或U,例如:u"我的网站:http://www.jb51.net" 示例如下: 复制代码 代码如下: # -*- coding: utf-8 -*- import wx class App(wx.App): def OnInit(self): frame = wx.
-
Python实现针对中文排序的方法
本文实例讲述了Python实现针对中文排序的方法.分享给大家供大家参考,具体如下: Python比较字符串大小时,根据的是ord函数得到的编码值.基于它的排序函数sort可以很容易为数字和英文字母排序,因为它们在编码表中就是顺序排列的. >> print ','< '1'<'A'<'a'<'阿' True 但要很处理中文就没那么容易了.中文通常有拼音和笔画两种排序方式,在最常用中文标准字符集GB2312中,3755个一级中文汉字是按照拼音序进行编码的,而3008个二级汉
随机推荐
- jQuery自动或手动图片切换效果
- AngularJS的脏检查深入分析
- windows环境下Redis+Spring缓存实例讲解
- VB.net读取Word文档属性的方法
- Java数组的扩容代码示例
- Equals和==的区别 公共变量和属性的区别小结
- python面向对象_详谈类的继承与方法的重载
- 编写简单的Python程序来判断文本的语种
- 在C语言中对utmp文件进行查找和写入操作的函数小结
- Android 多线程的实现方法总结
- formvalidator验证插件中有关ajax验证问题
- Python实现简单截取中文字符串的方法
- PHP 实现一种多文件上传的方法
- 去除Ubuntu文件夹有锁标志的方法
- C#应用BindingSource实现数据同步的方法
- 使用C#开发ActiveX控件
- C++获取类的成员函数的函数指针详解及实例代码
- DIV border边框显示不完全问题的解决方法
- python matplotlib 注释文本箭头简单代码示例
- Java反射机制的讲解