“HiAI体验”快应用源码在github(https://github.com/Huawei/Consumer/tree/master/HiAI-quickapp-demo)开源了,一步步带你快速在快应用中接入华为HiAI Engine,让你的快应用变得更智能。
1. 引言
华为HiAI Engine提供了免费的人脸识别、自然语言处理等多种AI能力,而且还可以在快应用中使用,您可以轻松将多种AI能力和APP或快应用相结合,让您的APP或快应用更加智能强大。最重要的是华为的HiAI Engine是离线的,用户的数据始终都在他们自己的手机上面,不需要担心隐私泄露的问题,可以放心使用。
本次介绍HiAI Engine的词性标注能力。词性标注提供一个对输入文本进行分词并给出词性的接口,同时提供了分词粒度参数供用户进行选择,可应用于搜索引擎技术、语义分析开发等应用场景。本次实现效果图如下所示。
2. 接入准备
词性标注接口在快应用中使用很简单,只需要开发者在华为快应用官网下载华为快应用IDE,然后就可以根据华为HiAI开发指南进行开发了。目前使用华为快应用IDE开发HiAI的能力只需完成一下两步即可开始代码编写,具体如下:
1) manifest配置文件增加如下配置:{'name': 'system.ai'}
2) 导入AI模块,如:import ai from '@system.ai或 var ai = require('@system.ai ')
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[i].word + ']' + ' ' + '词性:[' + wordPosObject[data.pos[i].tag] + ']';
that.result_list.push(itemResult);
}
},
fail: function (data, code) {
var failCode = '错误码: ' + errCodeList[code];
that.result_list = failCode;
},
complete: function () {
console.log('handling complete')
}
})
}
(2)返回结果的词性代号转换为中文描述
在Common文件夹下创建一个data.js配置文件,定义一个对象存放词性标号对应的中文描述,在使用到的ux文件中添加“import { wordPosObject } from '../Common/data'”,配置文件中创建的对象如下:
const wordPosObject =
{
'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': '成语',
}
4. 总结
至此,介绍快应用接入华为HiAI的词性标注能力已经描述完了,本次介绍的词性标注能力源码在github上有上传,大家可以点击下载去看一下。
除此之外,华为还提供了Android端的HiAI,本次分享没有介绍,有兴趣的朋友可以去华为开发者网站看看关于Android端HiAI。






































苏公安网备 32011402010933号