【API进阶之路】帮公司省下20万调研费!如何巧用情感分析API实现用户偏好调研
摘要:自从学习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接口,连接更多开发者实现创新、拓宽创新边界。