【API进阶之路】破圈,用一个API代替10人内容团队

举报
Cynthia成 发表于 2020/09/02 15:52:36 2020/09/02
【摘要】 我用一个API代替10人内容团队,一年帮老板省了一百万。

自从学习API以后,我用技术手段相继帮助业务部、市场部解决了不少难题,算是从纯研发破圈发展到了业务端。老板召开业务讨论会的时候也会带上我,希望我能从技术角度帮助公司解决业务问题,提升业务的效率和业绩。

前几天的业务讨论会上,业务部门提出:现在官网的整体流量已具规模,接下来要加大资讯内容的运营力度,将原本的资讯内容独立出来成为一个单独的产品,通过优质内容给业务导流,提升现有用户的留存率。说白了就是给公司建立一个私域流量池,将用户聚集沉淀下来。

按照运营部门的规划,需要专门组建一支编辑团队来负责资讯产品的内容生产,主要职责包括:内容转载、改编、摘要编辑、内容推荐等。根据官网的日访问量和内容需求的速度预估,现有的3人远远不够,至少需要再招聘10个编辑。

老板觉得13人的编辑团队成本有点高,且新团队组建的风险也比较大。沉默了一会儿后,他看向我:“听说有一种技术,可以自动筛选和获取优质的文章,你了解吗?”我还没开口,运营老大说:“获取的文章还是需要编辑来写摘要和推荐语,这些也都是工作量。”他说得很有道理,必须同时解决筛选内容、获取内容、摘要生成等多个问题。

在心里默默地过了一遍我了解的API,有一个“文本摘要生成API”正好可以满足我们这个场景,整理了一下思路后,我回答了他们的问题:

我们可以利用现有技术获取站外优质内容,由编辑同事提供内容获取来源,用关键词分析API和语义分析API判断获取内容的健康度,然后用“文本摘要生成API”对内容进行分析,提取文章的核心内容,自动生成文章摘要,最后由编辑来做优质内容的推荐和push,这样下来最多3个编辑就够了。”

老板听完非常开心,当即敲定就这么办!散会后我马上写了一个文档,让部门的研发同事去执行。

“文本摘要生成API”的调用方式如下。

一、不会写代码?通过postman调用。

1.1 获取Token

发送一条POST请求。

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

Content-Type:application/json

Body

{
    "auth": { 
        "identity": { 
            "methods": [ 
                "password" 
            ], 
            "password": { 
                "user": { 
                    "name": "华为云用户名", 
                    "password": "华为云密码", 
                    "domain": { 
                        "name": "华为云用户名" 
                    } 
                } 
            } 
        }, 
        "scope": { 
            "project": { 
                "name": "cn-north-4" 
            } 
        } 
    } 
}

请求结果:点击[Headers],查看x-subject-token对应的值。如图所示。

1.png

1.2 请求接口

1.2.1 获取项目ID

登录华为云 →点击控制台 →点击自己用户名[我的凭证] →项目cn-north-4对应的项目ID

1.2.2 调用postman

发送一条POST请求

POST:https://nlp-ext.cn-north-4.myhuaweicloud.com/v1/项目ID/ nlg/summarization

Headers

Content-Type:application/json

X-Auth-Token:上一步获取的Token值

Body

{
    "length_limit": 200,
    "title": "文章标题",
    "lang": "zh",
    "content": "文章内容"
}

参数:length_limit 表示生成摘要的长度限制

如果 length_limit > 1,则表示摘要的具体字数;

如果 0 <= length_limit <=1,则表示生成摘要占原文长度的百分比;

默认数值为0.3

1.png


请求结果:

2.png


二、会写代码?Python为你**服务

以某讯新闻为例:华为“鲲鹏手机”上线,云手机真能破解对芯片依赖?

原文地址:https://new.qq.com/rain/a/20200903A0HQPV00

请求示例:

#-*- version: Python3.0 -*
#-*- coding: UTF-8      -*
 
import json
import requests
 
"""
所有全局变量
"""
# 代理
PROXY = {
        "http": "http://xxx:xxx@xxxx.com:8080/",
        "https": "https:// xxx:xxx@xxx.com:8080/"
    }
 
# 华为云账号、密码、
NAME = "xxx"
PASSWD = "xxx"
 
ENDPOINT = 'nlp-ext.cn-north-4.myhuaweicloud.com'  # 华北-北京四
PROJECT_ID = 'xxxxxxxxxxxxxxxxxxxxxxxxxxx'    # 控制台-用户名-我的凭证
 
# Token的有效期为24小时,需要使用一个Token鉴权时,可以先缓存起来,避免频繁调用。
def Get_Token(name, passwd):
    URL = 'https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens'
    headers = {'Content-Type': 'application/json'}
    post_data = { 
        "auth": 
        { 
            "identity": 
            { 
                "methods": [ "password" ], 
                "password": 
                { 
                    "user": 
                    { 
                        "name": name, 
                        "password": passwd, 
                        "domain": {"name": name} 
                    } 
                } 
            }, 
            "scope": {"project": {"name": cn-north-4}} 
        }
    }
    post_data = json.dumps(post_data, ensure_ascii=False)
    content = requests.post(url=URL, data=post_data.encode('utf-8'), headers=headers, proxies=PROXY, verify=False)
    token = content.headers["x-subject-token"]
    # print(token)
    return token
 
# 读取文章
def Read_News(frname):
    with open(frname, 'r', encoding='utf-8') as fr:
        return fr.read()
 
def Use_API_NLG_summarization(token, title, content):
    serve_name = 'nlg/summarization'
    URI = "https://{endpoint}/v1/{project_id}/{serve_name}".format(endpoint=ENDPOINT, project_id=PROJECT_ID, serve_name=serve_name)
    
    post_data = {
        "length_limit": 200,
        "title": title,
        "lang": "zh",
        "content": content
    }
 
    headers = {
        'Content-Type': 'application/json',
        'X-Auth-Token': token
    }
    
    post_data = json.dumps(post_data, ensure_ascii=False)
    content = requests.post(url=URI, data=post_data.encode('utf-8'), headers=headers, proxies=PROXY, verify=False)
    content = json.loads(content.text)
    print(content)
 
 
if __name__ == "__main__":
 
    token = Get_Token(NAME, PASSWD)
    TITLE = "华为“鲲鹏手机”上线,云手机真能破解对芯片依赖?"
    CONTENT = Read_News("./tmp_blog.txt")[:10000]
    Use_API_NLG_summarization(token, TITLE, CONTENT)

主函数执行,返回结果。

{'summary': '只需一个手机显示屏,无需搭载芯片就可以操控?本月,华为云宣布,华为首创全球首个Arm芯片的“云手机”正式公测,可以0元领取价值5950元的云手机,截至9月30日。孙永杰判断,从目前看华为推出的云手机,更多是面向行业用户,其租用的是华为鲲鹏云服务,而对个人市场,目前还是一个非常小众的市场,“只不过对华为来说,以云手机的概念推出,可以借助其强大的手机品牌力,但实际上推广的还是云服务,消费者租用的是其云服务”。'}

从返回结果可以看出此API对这篇文章的中心思想进行了精准地提取。


 通过API自动完成文章获取、筛选、摘要提取,一篇文章只需要十几秒,不仅不用新招内容运营,原有3个编辑的工作也轻松了不少。资讯网站上的内容丰富了,用户活跃度也提升了,不少用户留言:“每天来你们这看看新闻,都养成习惯了。”


—— 分割线 ——

了解更多华为云API信息:

免费下载创新加速利器《华为云API精选手册》


【拓展阅读】

  1. 【API进阶之路】因为不会创建云服务器,我被实习生摆了一道

  2. 【API进阶之路】前浪的绝地反击与自我证明

  3. 【API进阶之路】甩锅大会上,我是如何绝地求生的

  4. 【API进阶之路】一个技术预案,让老板当场喊出了“奥利给”

  5. 【API进阶之路】万万没想到,一个技术方案帮实习生追到了运营妹子!

  6. 【API进阶之路】一个技术盲点,差点让整个项目翻车

  7. 【API进阶之路】老板给我涨薪30%!如何通过SDK接口搞定千万级流量直播

  8. 【API进阶之路】半天搞定百万条手机号归属地查询,竟影响了公司战略方向!

  9. 【API进阶之路】无法想象!大龄码农的硬盘里有这么多宝藏

  10. 【API进阶之路】高考要考口语?一场10w+刷屏活动是如何用多模态评测API做出来的

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

  12. 【API进阶之路】逆袭!用关键词抽取API搞定用户需求洞察


——活动推荐——

华为云已经成为全球主要云服务供应商,在华为云上开放了2400+ API,包括计算、存储、网络、应用服务、软件开发服务、视频、数据库、EI智能等74+产品,如何利用这些丰富强大的API快速开发自己的应用和服务,成为大家关注的热点。

华为云API学习赛,为入门初学者量身定制的学习平台,以赛带学,学以致用。无需代码,只需下载体验模板,按操作文档操作即可完成作品。参赛、邀请都有丰富奖品,还有机会拿P40 5G手机超级激励!!识别下图二维码即可报名参加。

API入门学习赛·AI人脸识别

l   报名地址

l   奖项设置

API入门学习赛·探险寻宝之旅

l   报名地址

l   奖项设置



【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。