您的位置:首页 > 编程语言 > Python开发

【API进阶之路】帮公司省下20万调研费!如何巧用情感分析API实现用户偏好调研

2020-08-11 04:42 1196 查看

「深度学习福利」大神带你进阶工程师,立即查看>>>

摘要:自从学习API后,仿佛解锁了新技能,可别小看了一个小小的API接口,用好了都是能力无穷。这不,用情感分析API来做用户偏好调研,没想到这么一个小创意给公司省了20万调研费用。

上次借着高考热点整出一个刷屏的互动游戏之后,我连续被各业务部门请了一周的午饭了,今天运营部,明天品牌部,后天市场部…心里暗搓搓地想,这业务部门的团建经费咋就这么多呢?

(详情请查看上集:《高考要考口语?一场10w+刷屏活动是如何用多模态评测API做出来的》)

当然了,俗话说“天下没有免费的午餐”,各个部门都希望能从我这儿获取点“高科技”来帮他们做出些创新的事。“高科技”咱倒有的是,自从学习API后,仿佛解锁了新技能,可别小看了一个小小的API接口,用好了都是能力无穷。问题是创新也得结合具体的事儿啊,哪能盲目为创新而创新。

前几天跟市场老大吃饭的时候,还真给他支了个招,用情感分析API来做用户偏好调研,没想到这么一个小创意给公司省了20万调研费用。

事情是这样的,公司的电商部门想要大批量采购上架一款新上市的手机,投入金额在千万级。为了保险起见,老板让他们先找咨询公司做一轮市场调研,看看这款手机的用户反馈再决定是否要大批量采购。

市场部找了几家咨询公司出方案。咨询公司倒是很快给出了方案和报价单,其中有20万的预算用于收集用户反馈信息。市场部老大犯了难,几家公司给出的调研方案都有一个共同的问题:费用高不说,还得加上走流程、出具体执行方案、沟通协调等环节,整个过程耗时长、效率低,等调研结束,市场机会可能也错过了。

我问他:如果不需要调研公司收集用户反馈信息,是不是就好办多了?市场老大说:“是的,咱们要是自己能搞定,速度能快很多,还能省下这20万,但用户反馈从哪来呢?”

“这个好办,给我3天时间,我帮你搞定!”咬着串上的肉,我许下了承诺。

3天后,我给他发了一封邮件,内容包括这款手机的1万条用户反馈,以及基本的用户反馈分析。

我是怎么做的呢?简单来说就两步:

 第一步:尽量多地找到这款手机的用户评论;

 第二步:使用情感分析API接口分析这些评论的正负面倾向、用户喜好度、用户喜好点。

【情感分析API实现用户偏好调研】具体操作步骤如下。

一、准备环境

登录华为云控制台,确保已经实名认证,查看账户在北京四的项目ID。(目前情感分析服务只支持北京一和北京四,此次调用以北京四为例)

1、将鼠标移动到右上角账号名下,选择“我的凭证”

2、左边选择API凭证,可以获取项目ID。

二、通过PostMan获取token(这是为了认证鉴权)

url:https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens

发送一条POST请求。

POST:https://iam.cn-north-4.myhuaweicloud/v3/auth/tokens

记录响应头Headers中的X-Subject-Token值。

三、通过PostMan调用情感分析接口

body里content为文本评论,type:1指选择手机领域,该接口同时还支持;type:2(汽车领域)。

请求示例(1)

POST请求:

https://nlp-ext.cn-north-4.myhuaweicloud.com/v1/{project id}/nlu/sentimens/domain

在Headers里面填入前面获取的X-Subject-Token。

点击发送send请求,得到:

其中:label为1表示该评论情感倾向为正面,confidence表示该情感倾向为正面的置信度。

请求示例(2):

其中:label为0表示该评论情感倾向为负面,confidence表示该情感倾向为负面的置信度。

四、采用Python代码调用获取token和情感分析接口

获取token

def get_token(name,
domain_name,
pass_wd,
regoin_name,
request_url):
"""
获取鉴权
:param name: 用户名
:param domain_name: 账号名
:param pass_wd: 密码
:param regoin_name: 局点域
:return:token
"""
mydata = {
"auth": {
"identity": {
"methods": ["password"],
"password": {
"user": {
"name": name,
"password": pass_wd,
"domain": {
"name": domain_name
}
}
}
},
"scope": {
"project": {
"name": regoin_name
}
}
}
}
response = requests.post(
request_url,
headers={"content-type": "application/json"},
data=json.dumps(mydata), verify=False)
if response.status_code == 201:
return response.headers['x-subject-token']
else:
raise Exception(response.content)

调用情感分析接口

def get_sentiment(request_url, test_data, token):
"""
获取情感倾向
:param request_url:情感分析接口url
:param test_data: 请求评论数据
:param token:鉴权信息
:return:
"""
myheader = {"content-type": "application/json"}
myheader['X-Auth-Token'] = token
response = requests.post(
request_url,
headers=myheader,
data=json.dumps(test_data),
verify=False)
response = json.loads(response.content.decode('utf-8'))
return response

调用示例:

#填入该局点项目ID
project_id = ""
#填入用户名,账号名,用户密码
token = get_token(
name="",
domain_name="",
pass_wd="",
regoin_name="cn-north-4",
request_url="https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens")
test_data = {
"content": "扬声器还行。音量大,音质差一点。还有价格定的有点高,性价比不行。",
"type": 1
}
print(
get_sentiment(
"https://nlp-ext.cn-north-4.myhuaweicloud.com/v1/{project_id}/nlu/sentiment/domain".replace("{project_id}",  project_id),
test_data,
token))

响应示例:

市场老大看完邮件之后,给我回了一句话:“兄弟,你这个操作太赞了,帮公司省了20万,你这一个月的午饭我包了!”这封回复邮件抄送了公司老板和所有的管理层,怎么感觉以后的日子会更忙了呢?先不操心这个了,这个月的午饭有人管了~

据了解, 目前API Explorer平台已开放EI企业智能、 计算、应用服务、网络、软件开发平台、视频等70+云服务,共上线2000+个API、6000+个错误码。在前期试运行期间,华为云API Explorer平台上的API接口也已被多家企业成功接入。

点击查看详情:《华为云一站式API解决方案平台API Explorer上线》

华为云API Explorer平台在未来几个月会实现更多功能,比如支持SDK示例代码、CLI等特性,同时也会开放更多的云服务API接口,连接更多开发者实现创新、拓宽创新边界。

 

点击关注,第一时间了解华为云新鲜技术~

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息