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)调用分词接口
//分词
getWordSegment: function () {
var that = this;
//调用分词接口
ai.getWordSegment({
//待分析文本
text: that.nluInput,
//分词粒度
type: that.particle,
success: function (data) {
if (data.words === undefined) {
that.nluResult = '无结果。';
return;
}
var tempResult = '';
//解析返回结果
for (var i = 0; i < data.words.length; i++) {
tempResult = tempResult + '[' + data.words[i] + ']' + ' ';
}
that.nluResult = tempResult;
},
fail: function (data, code) {
var failCode = '错误码: ' + errCodeList[code];
that.nluResult = failCode;
},
complete: function () {
console.log('handling complete')
}
})
}
(2)返回结果解析
识别成功后返回结果参数,结果中的words数组就是我们需要的内容。返回结果如下:
{
'words': [
'我',
'要',
'在',
'携程旅行',
'网',
'APP',
'上',
'买',
'一张',
'2018年8月16日',
'从',
'南京市',
'飞往',
'北京市',
'在',
'大连',
'中转',
'的',
'中国国际航空公司',
'的',
'商务舱',
'儿童',
'机票',
'航班号',
'CA1848',
'价格',
'不',
'高于',
'五千元'
],
'message': 'success'
}
4. 总结
至此,介绍快应用接入华为HiAI的分词能力已经描述完了,本次介绍的分词能力源码在github上有上传,大家可以点击下载去看一下。
除此之外,华为还提供了Android端的HiAI,本次分享没有介绍,有兴趣的朋友可以去华为开发者网站看看关于Android端HiAI。





































苏公安网备 32011402010933号