花粉俱乐部  logo 花粉俱乐部  因为热爱
搜索 |
[交流分享]

快应用快速接入HiAI Engine(8)-词性标注

[复制帖子标题和链接]

6974

莓夏文  版主  发表于 2019-1-14 10:04:15 来自:浏览器

最新回复 2019-1-16 18:07:14

“HiAI体验”快应用源码在github(https://github.com/Huawei/Consumer/tree/master/HiAI-quickapp-demo)开源了,一步步带你快速在快应用中接入华为HiAI Engine,让你的快应用变得更智能。


1.   引言

华为HiAIEngine提供了免费的人脸识别、自然语言处理等多种AI能力,而且还可以在快应用中使用,您可以轻松将多种AI能力和APP或快应用相结合,让您的APP或快应用更加智能强大。最重要的是华为的HiAI Engine是离线的,用户的数据始终都在他们自己的手机上面,不需要担心隐私泄露的问题,可以放心使用。

本次介绍HiAI Engine的词性标注能力。词性标注提供一个对输入文本进行分词并给出词性的接口,同时提供了分词粒度参数供用户进行选择,可应用于搜索引擎技术、语义分析开发等应用场景。本次实现效果图如下所示。

1.jpg



评分

参与人数 1人气 +100 威望 +100 收起 理由
HW永泰 + 100 + 100

查看全部评分

莓夏文  版主  发表于 2019-1-14 10:04:47 来自:浏览器
2.   接入准备
词性标注接口在快应用中使用很简单,只需要开发者在华为快应用官网下载华为快应用IDE,然后就可以根据华为HiAI开发指南进行开发了。目前使用华为快应用IDE开发HiAI的能力只需完成一下两步即可开始代码编写,具体如下:
1)  manifest配置文件增加如下配置:{"name":"system.ai"}
2)  导入AI模块,如:importai from ´@system.aivar ai = require("@system.ai ")

莓夏文  版主  发表于 2019-1-14 10:08:42 来自:浏览器
3.   代码实现
代码实现也是比较简单的,主要是将编辑框中的文本作为输入传入到词性标注接口,接口中的回调方法给出分析结果,对结果进行解析处理后显示。
(1)调用词性标注接口
        //词性标注
        getWordPos: function () {
            var that = this;
            that.result_list = [];
            //调用词性标注接口
            ai.getWordPos({
                //待分析的文本
                text: that.nluInput,
                //分词粒度
                type: 1,
                success: function (data) {
                    if (data.pos=== undefined) {
                        that.result_list.push("无结果。");
                        return;
                    }
                    var itemResult= ´´;
                   //解析返回的结果数组,将词性翻译成对应的中文
                    for (var i = 0; i <data.pos.length; i++) {
                        itemResult = "[" +data.pos.word + "]" + "   " + "词性:[" + wordPosObject[data.pos.tag]+ "]";
                       that.result_list.push(itemResult);
                    }
                },
                fail: function (data,code) {
                    var failCode = "错误码: " + errCodeList[code];
                    that.result_list = failCode;
                },
                complete: function () {
                    console.log("handlingcomplete")
                }
            })
        }
(2)返回结果的词性代号转换为中文描述
在Common文件夹下创建一个data.js配置文件,定义一个对象存放词性标号对应的中文描述,在使用到的ux文件中添加“import { wordPosObject } from"../Common/data"”,配置文件中创建的对象如下:
constwordPosObject =
{
    "n": "名词",
    "nr": "人名",
    "ns": "地名",
    "ne": "只在实体合并时使用,除人名、时间、地点之外,其他实体统一返回ne",
    "t": "时间词",
    "tg": "时间词性语素",
    "s": "处所词",
    "f": "方位词",
    "v": "动词",
    "vd": "副动词",
    "vn": "名动词",
    "vshi": "动词“是”",
    "vyou": "动词“有”",
    "vf": "趋向动词",
    "a": "形容词",
    "ad": "副形词",
    "an": "名形词",
    "b": "区别词",
    "bl": "区别词性惯用语",
    "z": "状态词",
    "r": "代词",
    "w": "标点符号",
    "rr": "人称代词",
    "rz": "指示代词",
    "rzt": "时间指示代词",
    "rzs": "处所指示代词",
    "rzv": "谓词性指示代词",
    "ry": "疑问代词",
    "ryt": "时间疑问代词",
    "rys": "处所疑问代词",
    "ryv": "谓词性疑问代词",
    "rg": "代词性语素",
    "m": "数词",
    "mq": "数量词",
    "q": "量词",
    "qv": "动量词",
    "qt": "时量词",
    "d": "副词",
    "p": "介词",
    "pba": "介词“把”",
    "pbei": "介词“被”",
    "c": "连词",
    "cc": "并列连词",
    "u": "助词",
    "uzhe": "助词“着”",
    "ule": "助词“了”“喽”",
    "uguo": "助词“过”",
    "ude1": "助词“的”",
    "ude2": "助词“地”",
    "ude3": "助词”得”",
    "usuo": "助词”所“",
    "udeng": "助词“等”“等等”",
    "uyy": "助词”一样”“一般”“似的”“般”",
    "udh": "助词“的话”",
    "uls": "助词“来讲”“来说”“而言”“说来”",
    "uzhi": "助词“之“",
    "ulian": "助词“连”",
    "e": "叹词",
    "y": "语气词",
    "o": "拟声词",
    "h": "前缀",
    "k": "后缀",
    "x": "字符串",
    "idiom": "成语",
}

莓夏文  版主  发表于 2019-1-14 10:09:03 来自:浏览器
4.   总结
至此,介绍快应用接入华为HiAI的词性标注能力已经描述完了,本次介绍的词性标注能力源码在github上有上传,大家可以点击下载去看一下。
除此之外,华为还提供了Android端的HiAI,本次分享没有介绍,有兴趣的朋友可以去华为开发者网站看看关于Android端HiAI。

HW永泰  花粉版主  发表于 2019-1-16 18:07:14 来自:浏览器
支持一下
您需要登录后才可以回帖 登录 | 立即注册

EMUI9.0

工具下载

  • 花粉客户端官方

    Make it Possible

华为软件专区

关注花粉俱乐部

苏ICP备17040376号-6| 增值电信业务经营许可证:苏B2-20130048号| 苏网文[2015]1599-026号| 苏公网安备 32011402010002号

Copyright © 2011-2019 华为软件技术有限公司 版权所有 保留一切权利

快速回复 返回顶部 返回列表