文章目录

  • BosonNLP API 中文语义分析
    • 查询 API 频率限制
    • 情感分析
    • 分词与词性标注
    • 关键词提取
    • 语义联想
    • 新闻分类
    • 新闻摘要
    • 时间转换
    • 其他单文本分析
    • 多文本分析功能

BosonNLP API 中文语义分析

参见 python版 BosonNLP HTTP API 封装库(SDK):http://bosonnlp-py.readthedocs.io/#bosonnlp

  • BosonNLP 官网:http://bosonnlp.com/
  • BosonNLP HTTP API 文档: http://docs.bosonnlp.com/index.html
from __future__ import print_function, unicode_literals
from bosonnlp import BosonNLP
import requests, json
token = 'your Token' # 个人token!!!
nlp = BosonNLP(token)  # nlp = BosonNLP('YOUR_API_TOKEN')

查询 API 频率限制

免费用户的 API 每天有次数限制的,具体如下图:

当然,通过购买,可以增加次数,费用情况如下:

我觉得,面对这么完善的中文文本分析功能,免费用户却拥有全部的功能,即便每天有次数限制,已然值得称赞~~~

#  本接口用来查询用户使用 BosonNLP API 频率限制的详细信息。
HEADERS = {'X-Token': token} # 注意:在测试时请更换为您的 API token
RATE_LIMIT_URL = 'http://api.bosonnlp.com/application/rate_limit_status.json'
result = requests.get(RATE_LIMIT_URL, headers=HEADERS).json()
result['limits'].keys()
# (['review', 'keywords', 'tag', 'classify', 'depparser', 'time', 'summary', 'ner', 'cluster', 'comments', 'suggest', 'sentiment'])

dict_keys([‘review’, ‘keywords’, ‘tag’, ‘classify’, ‘depparser’, ‘time’, ‘summary’, ‘ner’, ‘cluster’, ‘comments’, ‘suggest’, ‘sentiment’])

例:查询情感分析剩余次数

result['limits']['sentiment'].keys()
# (['rate-limit-limit', 'rate-limit-remaining', 'rate-limit-reset', 'quota-limit', 'count-limit-reset', 'count-limit-limit', 'quota-remaining', 'count-limit-remaining'])
result['limits']['sentiment']['count-limit-remaining'] # 查询情感分析次数

写成函数的形式:

def sentiment_limit_remaining(): result = requests.get(RATE_LIMIT_URL, headers=HEADERS).json()return result['limits']['sentiment']['count-limit-remaining']

情感分析

核心函数:nlp.sentiment(data, model = 'general')

参见:http://docs.bosonnlp.com/sentiment.html

model 参数用来传递模型名选择用特定行业语料进行训练的模型;可选值,默认为 general 。
模型名 行业 URL
general 通用 http://api.bosonnlp.com/sentiment/analysis
auto 汽车 http://api.bosonnlp.com/sentiment/analysis?auto
kitchen 厨具 http://api.bosonnlp.com/sentiment/analysis?kitchen
food 餐饮 http://api.bosonnlp.com/sentiment/analysis?food
news 新闻 http://api.bosonnlp.com/sentiment/analysis?news
weibo 微博 http://api.bosonnlp.com/sentiment/analysis?weibo

返回结果说明:

第一个值为非负面概率,第二个值为负面概率,两个值相加和为 1。

nlp.sentiment(['这家味道还不错', '菜品太少了而且还不新鲜'], model='weibo')

[[0.9694666780709835, 0.03053332192901642],
[0.07346999807197441, 0.9265300019280256]]

nlp.sentiment(['这家味道还不错', '菜品太少了而且还不新鲜'], model='food')

[[0.9991737012037423, 0.0008262987962577828],
[9.940036427291687e-08, 0.9999999005996357]]

或者使用 HTTP Header 返回

SENTIMENT_URL = 'http://api.bosonnlp.com/sentiment/analysis?weibo' # 微博分析api
headers = {'X-Token': token} # 注意:在测试时请更换为您的 API token 。
s = [' 他是个傻逼 ', ' 美好的世界 ']
data = json.dumps(s) # 包装成 json

HTTP 返回 Body JSON 格式的 [double, double] 类型组成的列表。

resp = requests.post(SENTIMENT_URL, headers=headers, data=data.encode('utf-8')) # 上传 data 进行分析
resp.text # 显示情感分数

‘[[0.4434637245024887, 0.5565362754975113], [0.9340287284701145, 0.06597127152988551]]’

分词与词性标注

核心函数:nlp.tag(contents, space_mode=0, oov_level=3, t2s=0, special_char_conv=0)

函数参数参见:http://docs.bosonnlp.com/tag.html

词性标注说明参见:http://docs.bosonnlp.com/tag_rule.html

BosonNLP 的词性标注非常详细,共有 22个大类,70个标签!!

而且 BosonNLP 分词和词性标注系统还提供了多种分词选项,以满足不同开发者的需求:

  • 空格保留选项 (space_mode)
  • 新词枚举强度选项 (oov_level)
  • 繁简转换选项 (t2s)
  • 特殊字符转换选项 (special_char_conv)
result = nlp.tag(['成都商报记者 姚永忠', '调用参数及返回值详细说明见'])
print(result)

[{‘tag’: [‘ns’, ‘n’, ‘n’, ‘nr’], ‘word’: [‘成都’, ‘商报’, ‘记者’, ‘姚永忠’]}, {‘tag’: [‘v’, ‘n’, ‘c’, ‘v’, ‘n’, ‘ad’, ‘v’, ‘v’], ‘word’: [‘调用’, ‘参数’, ‘及’, ‘返回’, ‘值’, ‘详细’, ‘说明’, ‘见’]}]

关键词提取

核心函数:nlp.extract_keywords(text, top_k=None, segmented=False)

参见:http://docs.bosonnlp.com/keywords.html

keywords = nlp.extract_keywords('病毒式媒体网站:让新闻迅速蔓延', top_k=2)
print(keywords) # 返回权重和关键词,所有关键词的权重的平方和为 1

[[0.5686631749811326, ‘蔓延’], [0.5671956747680966, ‘病毒’]]

语义联想

核心函数:nlp.suggest(data)

参见:http://docs.bosonnlp.com/suggest.html

term = '粉丝'
result = nlp.suggest(term, top_k=10)
for score, word in result:print(score, word)

0.9999999999999996 粉丝/n
0.48602467961311013 脑残粉/n
0.47638025976400944 听众/n
0.4574711603743689 球迷/n
0.4427939662212161 观众/n
0.43996388413040877 喷子/n
0.43706751168681585 乐迷/n
0.43651710096540336 鳗鱼/n
0.4357353461210975 水军/n
0.4332090811336725 好友/n

新闻分类

核心函数:nlp.classify(data)

参见:http://docs.bosonnlp.com/classify.html

编号 分类 编号 分类
0 体育 7 科技
1 教育 8 互联网
2 财经 9 房产
3 社会 10 国际
4 娱乐 11 女人
5 军事 12 汽车
6 国内 13 游戏
s = ['俄否决安理会谴责叙军战机空袭阿勒颇平民','邓紫棋谈男友林宥嘉:我觉得我比他唱得好','Facebook收购印度初创公司']
result = nlp.classify(s)
result

[5, 4, 8]

新闻摘要

核心函数:summary(title, content, word_limit=0.3, not_exceed=False)

参见:http://docs.bosonnlp.com/summary.html

content = ('腾讯科技讯(刘亚澜)10月22日消息,前优酷土豆技术副总裁''黄冬已于日前正式加盟芒果TV,出任CTO一职。''资料显示,黄冬历任土豆网技术副总裁、优酷土豆集团产品''技术副总裁等职务,曾主持设计、运营过优酷土豆多个''大型高容量产品和系统。''此番加入芒果TV或与芒果TV计划自主研发智能硬件OS有关。')
title = '前优酷土豆技术副总裁黄冬加盟芒果TV任CTO'
nlp.summary(title, content, 0.1)

‘腾讯科技讯(刘亚澜)10月22日消息,前优酷土豆技术副总裁黄冬已于日前正式加盟芒果TV,出任CTO一职。’

时间转换

核心函数:nlp.convert_time(data, basetime=None)

参见:http://docs.bosonnlp.com/time.html

感觉这是一个独(ling)特(lei)的文本分析功能,用在时间文本上面,应该是个不错的选择。

import datetime # 使用 basetime 时导入该模块
nlp.convert_time("2013年二月二十八日下午四点三十分二十九秒",datetime.datetime.today()) # datetime.datetime(2017, 10, 19, 22, 21, 18, 434128)

{‘timestamp’: ‘2013-02-28 16:30:29’, ‘type’: ‘timestamp’}

nlp.convert_time("今天晚上8点到明天下午3点", datetime.datetime(2015, 9, 1))

{‘timespan’: [‘2015-09-01 20:00:00’, ‘2015-09-02 15:00:00’],
‘type’: ‘timespan_0’}

nlp.convert_time("今天晚上8点到明天下午3点",  datetime.datetime.today()) #

{‘timespan’: [‘2017-10-21 20:00:00’, ‘2017-10-22 15:00:00’],
‘type’: ‘timespan_0’}

其他单文本分析

依存文法分析:http://docs.bosonnlp.com/depparser.html

命名实体识别:http://docs.bosonnlp.com/ner.html

多文本分析功能

文本聚类:http://docs.bosonnlp.com/cluster.html

典型意见:http://docs.bosonnlp.com/comments.html

BosonNLP API 中文语义分析(笔记)【boson已经停止提供服务了,可使用 百度AI 的 NLP 功能】相关推荐

  1. 百度AI接入api使用流程

    文章目录 前言 使用步骤 1.创建应用获取AK(API Key),SK(Secret Key) 1.1进入: [百度AI 官网](https://ai.baidu.com/),在开放能力下面找到:人像 ...

  2. [ZT]640-801中文读书笔记

    [原创]640-801中文读书笔记 作者:红头发 03-22-2004                               打包下载 Noko#sh run ! Written by 红头发 ...

  3. d3 API中文手册 3.x最后版

    引用 API中文手册 司机大傻编辑本页 on 18 Oct 2016  ·  77修订版 本文档由VisualCrew小组耗时两年翻译,保持与D3 V3最后一版(3.5.17)一致.D3 V4最新版A ...

  4. imagick API 中文说明

    下面是 imagick API 中文说明 : imagick 类 imagick::adaptiveblurimage 向图像中添加 adaptive 模糊滤镜 imagick::adaptivere ...

  5. Android API 中文 (51) —— ZoomButtonsController

    一.结构 public class ZoomButtonsController extends View implements View.OnTouchListener java.lang.Objec ...

  6. MetaWeblog API中文说明

    MetaWeblog API中文说明MetaWeblog API中文说明MetaWeblog API中文说明MetaWeblog API中文说明MetaWeblog API中文说明MetaWeblog ...

  7. Java Servlet API中文说明文档

    Java Servlet API中文说明文档 目 录 1.... Servet资料 1.1      绪言 1.2      谁需要读这份文档 1.3      Java Servlet API的组成 ...

  8. Android API 中文(77)——AdapterView.OnItemSelectedListener

    前言 本章内容是android.widget.AdapterView.OnItemSelectedListener,版本为Android 2.3 r1,翻译来自"cnmahj",欢 ...

  9. 中文手册_Etherscan API中文手册

    Etherscan API中文手册由汇智网翻译整理,访问地址: http://cw.hubwiz.com/card/c/etherscan-api/ Etherscan API Etherscan以太 ...

最新文章

  1. excel高级函数_PowerQuery 进阶之 M 函数学习
  2. 开源交互式自动标注工具EISeg
  3. 自建ES迁移至阿里云ES(使用脚本及logstash同步)
  4. 时间序列错位还原之SQL实现案例详解
  5. 复旦高等代数 II(17级)每周一题
  6. xampp配置时几个重要的目录
  7. 剑指offer 面试题61. 扑克牌中的顺子
  8. 现在的钱真的那么容易挣了吗?
  9. 在python中画正态分布/正弦曲线图像/心形线
  10. QCC512x QCC302x PIO 按键
  11. 计算机专业对体重有要求吗,毕业季|@毕业生,你知道计算机学院有多重吗?
  12. VMware虚拟机安装Linux教程(超详细)
  13. 登陆页面+匹配数据库+提示登陆成功或失败
  14. linux系统管理员基础
  15. setTimeout()和setInterval()的区别和转换
  16. 常用收发邮件服务器地址
  17. LTP词性与语义表格(简洁版)
  18. 星环研发总监为你揭秘TDH8.0的前因后果 | TDH8.0 使用必读 3
  19. 中英文全角半角括号转换
  20. ModuleNotFoundError: No module named ‘_bz2‘

热门文章

  1. win10iis网站服务器,win10iis无法开启|如何开启win10专业版系统iis
  2. 【嵌入式中的C】寄存器清零和置位操作
  3. Whale帷幄 - 餐饮业数字化转型的解决方案 餐饮智慧门店的营销策略
  4. MySQL之DQL(数据查询语言)-常见关键字
  5. hdu 5420 Victor and Proposition 线段树建图+强连通分量
  6. mysql数据转换英文_MysqlToDbf|英文免安装版数据转换工具下载_最火软件站
  7. SolidWorks二次开发-打开、新建、保存文档
  8. Pix4Dmapper 正射全景生成
  9. 2017计算机考研题型,2017年考研计算机统考408真题.doc
  10. 树莓派之快速上手-变身个人Linux电脑