bosonnlp:波森中文语言处理python API的简单使用

bosonnlp是一个使用起来还算比较方便的中文NLP的开放平台,提供多种常用的API,本文主要介绍它的几种基本功能的使用。

使用这个平台的缘由是在寻找python中文分词模块的时候,了解到它的分词准确度相对jieba分词等常用分词模块而言,更优秀一些,于是尝试试用了下,并写这篇做一下记录。


1.bosonnlp的安装

首先我们需要在它的官网https://bosonnlp.com/注册一个开发者账号。登陆进入之后进入控制台,可以看到我们还能使用的资源,下方会有一个API密钥,这个密钥是我们使用bosonnlp服务的关键。

我使用的是python3.6、Pycharm的ide,为了便于管理环境,我的项目放在单独的一个虚拟环境中。

安装的过程也十分简单了,

方法一:

Pycharm中file-setting-pythointerpreter中直接+,搜索bosonnlp,选中,左下角install package,就ok~

方法二:

cmd下使用activate 命令进入 相应的虚拟环境

在该环境下 pip install bosonnlp 即可。

2.bosonnlp的分词使用

boson平台免费开放了分词和词性标注功能,这也正是我所需要的。

扫描二维码关注公众号,回复: 2559580 查看本文章

通过查看开发者文档http://docs.bosonnlp.com/tag.html,能很快地写出我们的第一个分词程序

# -*- encoding: utf-8 -*-
from __future__ import print_function, unicode_literals

from bosonnlp import BosonNLP

# 注意:在测试时请更换为您的API token。
nlp = BosonNLP('YOUR_API_TOKEN')

s = ['亚投行意向创始成员国确定为57个', '“流量贵”频被吐槽']

result = nlp.tag(s)

for d in result:
    print(' '.join(['%s/%s' % it for it in zip(d['word'], d['tag'])]))

上面是官网的程序,输出结果如下:

亚投行/n 意向/n 创始/vi 成员国/n 确定/v 为/v 57/m 个/q
“/wyz 流量/n 贵/a ”/wyy 频/d 被/pbei 吐槽/v

可以看到,输出了分词结果和词性标注。由于我只需要获取分词,简化了下代码:

from bosonnlp import BosonNLP

# 注意:在测试时请更换为您的API token。
nlp = BosonNLP('YOUR_API_TOKEN')
s = '游戏很喜欢,希望赶紧过了无法打开家园这一块,要不买之前给哥提醒也可以,买完之后告诉玩家进不去要等审核有一点小生气。'
result = nlp.tag(s)[0]['word']
print(' '.join(result))

输出是:

游戏 很 喜欢 , 希望 赶紧 过 了 无法 打开 家园 这 一 块 , 要 不 买 之前 给 哥 提醒 也 可以 , 买 完 之后 告诉 玩家 进 不 去 要 等 审核 有 一点 小 生气 。

这样就得到预期的分词结果,还有一些参数可以调整,集体可以参考官方文档。

3.情感分析

官方例程:

# -*- encoding: utf-8 -*-
from __future__ import print_function, unicode_literals

from bosonnlp import BosonNLP

# 注意:在测试时请更换为您的API Token
nlp = BosonNLP('YOUR_API_TOKEN')

s = ['他是个傻逼', '美好的世界']

result = nlp.sentiment(s)

print(result)

运行结果:

[[0.6519134382562579, 0.34808656174374203], [0.92706110187413, 0.07293889812586994]]

结语

在官网我们可以看到,bosonnlp的功能还是比较丰富的,除了免费的分词功能外,每天也有一些限量的其他功能资源,具体使用各位就自己多摸索一下吧~

猜你喜欢

转载自blog.csdn.net/king_mountian/article/details/81411660