文档开发者中心
我的

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

“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。


点赞
收藏
回复
1
分享
举报
浏览3582 发布于2019-07-22 07:50未知归属地
全部评论
最多点赞
最新发布
最早发布

感谢分享

1楼回复于2019-07-22 08:48 未知归属地
写回答
新增插入模板功能
一键使用模板,快速填写内容,轻松发帖~
知道了
  • 为了保障您的信息安全,请勿上传您的敏感个人信息(如您的密码等信息)和您的敏感资产信息(如关键源代码、签名私钥、调试安装包、业务日志等信息),且您需自行承担由此产生的信息泄露等安全风险。
  • 如您发布的内容为转载内容,请注明内容来源。

我要发帖子

了解社区公约,与您携手共创和谐专业的开发者社区。