永久免费的百度自然语言处理技术,了解一下?

Posted 简言

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了永久免费的百度自然语言处理技术,了解一下?相关的知识,希望对你有一定的参考价值。

背景


突然想起来著名的“汉语堂”发过一篇文章《》,这么大的便宜我竟然后知后觉。写篇小文,给同学们展示一下如何薅社会主义的羊毛。


正文


一、用百度账号登录百度云并创建应用


既然是要去薅羊毛,自然是首先要找到羊毛在哪里:


随便点击上面的一个链接进入,并使用自己的百度账号登录:


永久免费的百度自然语言处理技术,了解一下?


在左侧的“产品服务”中找到“自然语言处理”:


永久免费的百度自然语言处理技术,了解一下?


进入之后果然发现了一团团毛茸茸的免费的羊毛:


永久免费的百度自然语言处理技术,了解一下?


我准备试一下最下方的“词法分析(定制)”API,做一个提取文本中全部名词的小工具,于是点击了上方的“创建应用”:


永久免费的百度自然语言处理技术,了解一下?


填写一下应用的名字、类型和简单描述:


永久免费的百度自然语言处理技术,了解一下?


点击底部的“立即创建”后看到如下的界面:


永久免费的百度自然语言处理技术,了解一下?


点击“查看应用详情”:


永久免费的百度自然语言处理技术,了解一下?


在这里我看到了百度给我的一些基本信息,这就是我用百度的自然语言处理来开发工具的“通行证”啦。


二、下载开发工具包,并在工具包内添加“通行证”



永久免费的百度自然语言处理技术,了解一下?


在这里可以看到面向不同开发语言的现成的开发工具。我不由自主地选择了世界上最好的编程语言“php”对应的SDK,点击了右侧的“下载”:


永久免费的百度自然语言处理技术,了解一下?


将文件保存到我的程序开发环境XAMPP根目录指定文件夹下:


永久免费的百度自然语言处理技术,了解一下?


下载之后将压缩包解压,看到了如下文件:


永久免费的百度自然语言处理技术,了解一下?

目前对我来说,只有其中的AipNlp.php文件和lib文件夹有用,其他还不需要,所以我将他们通通删掉:


永久免费的百度自然语言处理技术,了解一下?

这时候先不着急使用这些文件,而是先去看SDK的使用说明,点击这里的“使用说明”:


永久免费的百度自然语言处理技术,了解一下?


随后进入到下面这个界面:


永久免费的百度自然语言处理技术,了解一下?


这里有比较全面的入门指南,比如非常清晰的告诉你,应该这样创建创建你的第一部分的代码:


永久免费的百度自然语言处理技术,了解一下?

于是我在我的开发目录中创建了一个名为“index.php”的文件,并且用编辑器打开index.php文件(这里我用的编辑器是Notepad++,也是免费的):


永久免费的百度自然语言处理技术,了解一下?


这是一个空白的文档,打开后将说明中的代码全部粘贴进去(注意要在两端加上<?php ?>):


永久免费的百度自然语言处理技术,了解一下?


然后把我刚才创建应用时生成的“通行证”添加进去:


永久免费的百度自然语言处理技术,了解一下?


这样我们就正式拥有了免费薅百度羊毛的工具了。


三、使用词法分析工具来分析原文


再次回到使用说明网页,拖到“词法分析(定制版)”模块:


永久免费的百度自然语言处理技术,了解一下?


原样照搬上面的代码,粘贴到自己的index.php中:


永久免费的百度自然语言处理技术,了解一下?


然后我想在网页中查看“百度是一家高科技公司”查看词性分析的结果,根据上面的代码,词性的分析的结果已经放到“$client->lexerCustom($text)”之中了,需要我把它显示出来,所以我这样修改一下代码:


永久免费的百度自然语言处理技术,了解一下?


然后在浏览器中访问这个页面,查看到如下结果:


永久免费的百度自然语言处理技术,了解一下?

这白花花的一篇都是什么呢?“羊杂毛”?


不明白的地方还是得看使用说明。在说明中看到的例子里,可知:


1) 这个工具可以分析词性,如下图:


永久免费的百度自然语言处理技术,了解一下?


“名词”分为普通名词、方位名词、处所名词等等。


2)还可以分析专名,如下图


永久免费的百度自然语言处理技术,了解一下?

3)在命名实体类型(ne)和词性(pos)分析结果中可以看到以上的标记


永久免费的百度自然语言处理技术,了解一下?


4)工具分析后,可以在返回的数据中看到对应的分析结果,如下图:

永久免费的百度自然语言处理技术,了解一下?


这样一来,我们就知道怎么提取结果了。


四、在浏览器中自定义显示分析结果


从示例的结果中可以看出,原文“百度是一家高科技公司”的分析结果为:


百度/是/一家/高科技/公司


我们现在写一段简单的代码将其逐行打印出来,代码如下:


永久免费的百度自然语言处理技术,了解一下?


运行结果如下:


永久免费的百度自然语言处理技术,了解一下?

接下来,我再把各个部分的“命名实体类型”和“词性”以表格的形式呈现出来,部分代码如下:


永久免费的百度自然语言处理技术,了解一下?


运行效果如下:


永久免费的百度自然语言处理技术,了解一下?

我们可以再试一下下面这句长的:“北京语言大学是中国教育部直属高等学校,是在周恩来总理的亲自关怀下建立的,创办于1962年。”


运行效果如下:


永久免费的百度自然语言处理技术,了解一下?


五、对分析结果进行统计


接下来,我们继续来对这些结果进行分析,比如我希望呈现一个所有名词的汇总的,比如:上文中一共有n个名词,其中包括:m个命名实体、a个普通名词、b个人名、c个地名......


部分代码如下:


定义空数组用来存储命名实体和各名词词性的分析结果


永久免费的百度自然语言处理技术,了解一下?


根据分析结果来进行“分流”:


永久免费的百度自然语言处理技术,了解一下?


最后是统计结果:


永久免费的百度自然语言处理技术,了解一下?


然后我们来看这句话的运行结果:


分析原文:“百度是一家高科技公司。北京语言大学是中国教育部直属高等学校,是在周恩来总理的亲自关怀下建立的,创办于1962年。”


分析结果:


永久免费的百度自然语言处理技术,了解一下?

该文本中命名实体共有 5 个:其中人名有:1 个;地名有:0 个;机构名有:3 个;时间名词有:1 个。


该文本中名词共有 4 个:其中普通名词有:3 个;方位名词有:1 个;处所名词有:0 个;时间名词有:0 个;人名有:0 个;地名有:0 个;机构团体名有:0 个;作品名有:0 个;其他专名有:0 个。


通过这样的方式我们就可以对待分析的文本进行统计了。那么如果百度分析错了怎么办?有些新词它没有识别出来怎么办?


百度其实还支持自定义的词表:



结语


那么把名词统计完就算完事儿了吗?


事实上我上面所展示的只是百度自然语言处理API的一部分很小很小的功能,具体能够做出什么东西来要看你的想象,比如:你可以做一个名词高亮标记器,把所有的名词都高亮显示出来;你可以把上面的名词高亮标记器和你已有的术语表结合到一起,让你自己的术语译文显示在名词后面,这不就可以辅助翻译了吗?


难道百度自然语言处理只能标记“名词”?请看下表:



词法分析只是众多百度自然语言处理API中的一个,在上面的列表中你还可以看到很多很多很多其他的功能。


可以说,只要你会一些基本的编程知识,你就能开始运用这些免费的自然语言处理技术做出对自己的学习、工作和研究有帮助的小工具。


不知道大家有没有听说过“AI 民主化”(Democratizing  AI)这个概念,在未来的几年里越来越多的文科专业学生也将掌握编程知识,如果能够充分利用市面上的开源或免费的(哪怕是付费的)人工智能技术,那么大家将会看到一大堆有创意有价值的办公工具和研究工具,为我们的生活赋能。


不光百度在做这样的有价值的事,腾讯、阿里、谷歌等一大批互联网公司都在不断开放自己的人工智能服务,让更多人可以通过极为简单的方法应用人工智能技术。


我相信这是未来技术发展的趋势。

以上是关于永久免费的百度自然语言处理技术,了解一下?的主要内容,如果未能解决你的问题,请参考以下文章

免费的NLP学习资源,了解一下

百度技术沙龙-自然语言处理技术及应用笔记整理

《python开发技术详解》|百度网盘免费下载|Python开发入门篇

怎么去调用百度ai显卡

免费讲座丨2017企业PHP最前沿技术-大型网站之静态化处理

什么是百度的技术基石?自然语言处理