BosonNLP

提供者:李华勇

简介

玻森中文语义开放平台提供使用简单、功能强大、性能可靠的中文自然语言分析云服务。

互联网时代信息无处不在,我们日常所接触的大量信息例如微博、社交媒体网站的帖子、消费者点评、新闻、销售人员的拜访记录以及可以转换成文本的语音内容,这些都是常见的非结构化数据来源。

根据2011年IDC的调查,非结构化数据将占未来十年所创造数据的90%。作为一个尚未得到充分开发的信息源,非结构化数据分析可以揭示之前很难或无法确定的重要相互关系。

非结构化数据分析能够揭示潜藏在文本当中的趋势和关联,为商业决策、研究行业趋势和热点内容分析提供有力支持。

玻森团队致力于打造最出色的中文语义分析技术,通过自主研发的中文分词、句法分析、语义联想和实体识别技术,结合海量行业语料的不断积累,为企业和广大开发者提供简单、强大、可靠的中文语义分析云端API。

功能说明

情感分析Sentiment Analysis

情感分析指的是对文本中情感的倾向性和评价对象进行提取的过程。

玻森NLP情感引擎提供行业领先的篇章级情感分析。基于上百万条社交网络平衡语料和数十万条新闻平衡语料的机器学习模型,结合自主开发的半监督学习技术,正负面情感分析准确度达到80%~85% 。经过行业数据标注学习后准确率可达85%~90%。

信息分类Classification

文本信息分类将文本按照预设的分类体系进行自动区分。

玻森提供定制的文本分类API服务,有着广泛的商业应用前景。

例如,通过社交网络挖掘商业情报和潜在销售机会,企业内文本数据分析,海量数据筛选,资讯分类和自动标签预测等。

基于玻森自主研发的语义联想、句法分析等技术,通过半监督学习引擎的训练,只需要进行少量的代表性数据标注,就可以达到商用级别的预测准确率。

实体识别Named Entity Recognition

实体识别用于从文本中发现有意义的信息,例如人名、公司名、产品名、时间、地点等。 实体识别是语义分析中的重要的基础,是情感分析、机器翻译、语义理解等任务中的重要步骤。

BosonNLP实体识别引擎基于自主研发的结构化信息抽取算法,F1分数达到81%,相比于StanfordNER高出7个百分点。通过对行业语料的进一步学习,可以达到更高的准确率。

典型意见Opinion Extraction

典型意见引擎将消费者意见进行单句级别的语义聚合,提取出有代表性的意见。可用于消费者调研、电商点评分析和社会热点事件的意见整理。

基于语义的分析引擎在准确率上有较大的突破,能将含义接近但表述不同的意见聚合在一起,并可通过参数调节聚类的大小获得更好的效果,与人工整理相比更加快速、准确 。

文本聚类Clustering

相似文本聚类指的是机器自动对给定的文本进行话题聚类,将语义上相似的内容归为一类,有助于海量文档、资讯的整理,和话题级别的统计分析。

玻森自主研发的文本聚类算法:

一方面加入了对语义的扩展,保证同一个意见的不同表述可以被归纳在一起。

另一方面又避免了传统的K-means等算法需要预先设定聚类总数的困难,基于数据的分布自动选择合适的阈值。

关键词提取Keyword Extraction

关键词提取引擎从一篇或多篇文本中提取出有代表性的关键词。

玻森的关键词提取技术综合考虑词语在文本中的频率,和词语在千万级背景数据中的频率,选择出最具有代表性的关键词并给出相应权重。

使用方法

BosonNLP引擎以REST API的方式提供服务,任何编程语言都可以轻松使用。

在正式开始前,您需要首先 注册玻森账号。完成后,您将在 控制台 的底部看到您的API Token (密钥),该密钥将用于身份验证。

这里将以一个简单的情感分析任务为例,介绍BosonNLP的使用。

我们从 cURL 开始。

打开一个命令行窗口并输入以下命令(不包含 $ ),将 YOUR_API_TOKEN 替换为您注册后获得的API密钥。

1
2
3
4
5
$ curl http://api.bosonnlp.com/sentiment/analysis \
-X POST -H "Content-Type: application/json" -H "X-Token: YOUR_API_TOKEN" \
--data "[\"自由思考比畅所欲言更重要。\", \"公司最大的困扰,就是无法测量每个员工的贡献度。\"]"

[[0.9730778829163206, 0.026922117083679472], [0.4668568874082243, 0.5331431125917757]]

以上这段代码使用了玻森的 情感分析 引擎,传入了两段短文本内容进行分析。返回的内容为 json 格式,情感分析结果分别为 非负面 和 负面 概率组成的列表。

HTTP Header详解

在 cURL 命令中加入 -i 参数,会看到类似下面的结果。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$ curl http://api.bosonnlp.com/sentiment/analysis -i \
-X POST -H "Content-Type: application/json" -H "X-Token: YOUR_API_TOKEN"\
--data "[\"自由思考比畅所欲言更重要。\", \"公司最大的困扰,就是无法测量每个员工的贡献度。\"]"

HTTP/1.1 200 OK
Date: Sun, 04 May 2014 08:21:01 GMT
Content-Type: application/json
Content-Length: 6
Connection: keep-alive
X-Rate-Limit-Limit: 100
X-Rate-Limit-Remaining: 97
X-Rate-Limit-Reset: 1399192200
X-Count-Limit-Limit: 500
X-Count-Limit-Remaining: 480
X-Count-Limit-Reset: 1399219200
Server: nginx/1.5.11
X-Request-Id: 0ae45f04-701d-48d8-a84e-d08f18e489ef

[[0.9730778829163206, 0.026922117083679472], [0.4668568874082243, 0.5331431125917757]]

在返回的 HTTP Header 当中,有一些很有趣的内容。和你想的一样,BosonNLP 的返回内容为 JSON 格式,因此 Content-Type 是 application/json 。

X- 开头的是自定义HTTP头,由BosonNLP生成,其中的信息非常有用。例如,

X-Request-Id 是对每个请求生成的唯一ID,用于在引擎内部跟踪请求。

X-Count-Limit-Remaining 是当前可用的调用次数。

X-Count-Limit-Reset 是调用次数重置的时间。当前时间窗口中调用次数用尽时,等待到这里指定的时间才可以恢复使用。

使用 Python SDK

如果您使用 Python 语言,建议通过 SDK 的方式使用 BosonNLP。

BosonNLP Python SDK 是由 BOSON 官方支持的开发者工具包,提供了对 REST 接口的简化封装。

最简便的安装方式是通过 pip 。

1
$ pip install -U bosonnlp

安装成功后,编写以下Python脚本,并保存为 sentiment.py 。在代码中,将 YOUR_API_TOKEN 更换为您的API密钥。

1
2
3
4
5
6
# -*- coding: utf-8 -*-
from __future__ import print_function, unicode_literals
from bosonnlp import BosonNLP

nlp = BosonNLP('YOUR_API_TOKEN')
print(nlp.sentiment('大众深陷断轴门事件'))

运行。

1
2
$ python sentiment.py
[[0.28867338699939415, 0.7113266130006058]]

通过SDK调用,对以上内容的情感分析结果为 负面概率较大。

相关资料

暂无