zoukankan      html  css  js  c++  java
  • 【API进阶之路】高考要考口语?我用多模态评测API做了一场10w+刷屏活动

    摘要:闲着没事用多模态评测API做了一个测评英语口语的互动小游戏,居然成了一场10万人参与的刷屏级活动。

    上一期故事说到,我成为了公司技术委员会副主席,上任后的第一件事是建立了一个云容器化的研发资料库,把每个研发硬盘里那点“好东西”都复用出来。(详情查看:《无法想象!大龄码农的硬盘里有这么多宝藏》)

    自此以后,老大交给我的撸代码的活越来越少,让我专心把技术委员会做起来。人一闲下来吧,就容易生事儿,这不么,闲着没事做了一个互动小游戏,运营妹子从公众号上推了张海报,居然成了一场10万人参与的刷屏级活动。

    咋回事呢?大概是7月25号,我看到一条新闻,北京2021年高考要增加英语口语考试。妈耶,这也太突然了,这不跟产品经理突然提需求、微博的运维赶上明星突然宣布结婚/分手一样让人猝不及防么。

    很快,有孩子正上高中的家长都在朋友圈转发了这条消息,这事的关注度这么高啊?总听说运营擅长抓热点,那我是不是也可以做点什么抓住这次热点呢?

    对于这个政策,家长和学生最关注最需要的是什么?考口语,首先得知道自己的口语水平怎么样,知道短板在哪才能有针对性地补习提高。那就是说需要口语测评!

    我想起之前在华为云官网上看到过一个“多模态评测”API,能够根据朗读视频数据和试题文本,给朗读者的口语评测分数。我可以利用这个API做一个测评类的H5小游戏。

    按照我的习惯,实现功能的过程会同步梳理成文档,便于后浪们学习。

    《多模态英语口语评测》

    内容来源

    多模态口语现在还在公测阶段,所以我提前在华为云上申请了公测,当天就公测通过了~(公测链接:https://activity.huaweicloud.com/AI_free0.html?ggw_hd )

    步骤一:数据准备

    l 支持的video类型包括avi/mp4/webm/mkv/flv等封装格式,视频清晰度不低于240p,帧率不低于25fps,大小限制在10M

    l 支持语言:英式英语

    l 评测模式:单词评测、句子评测

    l 需要把视频转化为对应的base64编码上传

    转化举例(Python)

    #!/usr/bin/env python
    # encoding: utf-8
     
    import base64
    def ToBase64(file, txt):
        with open(file, 'rb') as fileObj:
            image_data = fileObj.read()
            base64_data = base64.b64encode(image_data)
            fout = open(txt, 'w')
            fout.write(base64_data.decode())
           fout.close()
    ToBase64("./test.wav",'2.txt')  # 音频文件转换为base64

    步骤二:构建请求

    华为云语音交互服务的通用请求方式如下图所示。

    备注:

    l 多模态评测API目前处于公测阶段,在华为-北京四可以调用,其Endpoint为“sis-ext.cn-north-4.myhuaweicloud.com”。

    l 需要确认个人专有华为云项目ID和Token(身份认证)

    项目ID获取方法Token查询方法

    获取了身份认证后,就可以填写请求了。假设我现在有一个avi格式的文件,想用单词模式去判断口语质量,我要学习的口语是“sit down”。

    请求示例是:

    POST https://{endpoint}/v1/{project_id}/assessment/video
     
    Request Header:
    Content-Type: application/json
    X-Auth-Token: MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG... 
     
    Request Body:
    {
      "config":{
        "video_format": "avi",
        "language": "en_gb",
        "mode": "word"
      },
      "video_data": "/+MgxAAUeHpMAUkQAANhuRAC...",
      "ref_text": "sit down"
    }

    步骤三:返回结果

    {
        "fluency": {
            "score": 75.02139,
            "rhythm": 50.042786,
            "cohesion": 100.0
        },
        "pronunciation": {
            "score": 36.817684,
            "gop": 36.817684
        },
        "score": 22.09061,
        "completeness": 0.0,
    "duration": 2.46,
    "words": [此后为音素、音标评价结果,其返回结果见下方]

    从返回的结果可以看到:

    (1)从流利度看:流利度评分75.02;连贯性是满分;韵律弱一点,只有50.04分

    (2)从发音看:我的发音质量综合打分(score)是36.82分;发音好坏打分是36.82分

    (3)最后的综合评分:22.09分…

    哎,还挺准确,我从小英语口语就差…

    还能进行英语口语练习,从发音嘴型、发音效果纠正口语。通过具体的单一单词、音素、音标打分,就能知道需要对哪个单词、音标加强练习了。

    以“sit”发音评测为例,反馈结果如下:

    "words": [
            {
                "fluency": {
                    "score": 68.29714,
                    "rhythm": 68.29714
                },
                "pronunciation": {
                    "score": 24.714167,
                    "gop": 24.714167
                },
                "out_of_vocabulary": false,
                "text": "sit",
                "text_original": "sit",
                "text_normalised": [
                    "sit"
                ],
                "score": 46.505653,
                "start_time": 1.03,
                "end_time": 1.06,
                "phonemes": [
                    {
                        "fluency": {
                            "score": 31.643274,
                            "rhythm": 31.643274
                        },
                        "pronunciation": {
                            "score": 16.471563,
                            "gop": 16.471563
                        },
                        "start_time": 1.03,
                        "end_time": 1.04,
                        "arpa": "S",
                        "ipa": "s"
                    },
                    {
                        "fluency": {
                            "score": 87.00653,
                            "rhythm": 87.00653
                        },
                        "pronunciation": {
                            "score": 28.179922,
                            "gop": 28.179922
                        },
                        "start_time": 1.04,
                        "end_time": 1.05,
                        "arpa": "IH",
                        "ipa": "i"
                    },
                    {
                        "fluency": {
                            "score": 86.241615,
                            "rhythm": 86.241615
                        },
                        "pronunciation": {
                            "score": 29.491013,
                            "gop": 29.491013
                        },
                        "start_time": 1.05,
                        "end_time": 1.06,
                        "arpa": "T",
                        "ipa": "t"
                    }
                ]
            },
        ],
    }

    很快我就把小游戏做完了,以口语能力测评为核心玩法,加入了邀请好友再玩一次的分享引导机制,没想到只是从公司公众号上推了一下,朋友圈里居然刷了屏,上线3天,游戏人数就超过了10万人!一次由研发主导的10W+刷屏活动就这样诞生了,谁说研发不懂运营?

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

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

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

     

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

  • 相关阅读:
    linux 系统运维工具13款
    Django2.0 分页的应用
    jvm优化
    SSH-key 在Windows下如何生成公钥和私钥
    申请Let’s Encrypt免费证书,给自己网站增加https访问
    wordpress上传主题以及安装插件 出现ftp的问题解决方案
    php压缩文件
    linux下 如何切换到root用户
    TP3.2.3框架隐藏Home模块以及index.php入口文件的方法
    PHP打开错误提示和关闭错误提示的方法
  • 原文地址:https://www.cnblogs.com/huaweiyun/p/13396066.html
Copyright © 2011-2022 走看看