华为Could API人工智能系列——意图理解
华为Could API人工智能系列——意图理解
前言
云原生时代,开发者们的编程方式、编程习惯都发生了天翻地覆的变化,大家逐渐地习惯在云端构建自己的应用。作为新一代的开发者们,如何更快速了解云,学习云,使用云,更便捷、更智能的开发代码,从而提升我们的开发效率,是当前最热门的话题之一,而Huawei Cloud Toolkit,作为连接华为云的百宝箱,是集成在各大IDE平台上的插件集合,会在方方面面提升着开发者的效率。
华为云API开发套件助力开发者快速集成华为云,可做到便捷连接200+的华为云服务,引用7000+的华为云API服务,在IDE中集成华为云的功能,让开发者与云端华为云建立连接。
智能编码方面集成了华为云自主研发的代码大模型和软件分析技术,全场景函数级、行级代码生成,同规模算力一次通过业界第一,这会帮助开发者更为高效的使用自动语义生成,达到快速开发的目的,使整个过程更智能。
环境准备
开发语言:Python
开发工具:PyCharm Community Edition 2023.1.4
PyCharm插件:
1、Chinese (Simplified) Language Pack /中文语言包
2、Huawei Cloud API:华为云API插件提供华为云服务全量API检索、调试、SDK代码自动补全、集成华为云CLI、示例代码等功能
3、Huawei Cloud CodeArts Check:华为云代码检查插件提供业界规范(含华为云)检查,支持一键格式化和代码自动修复,当前支持Java、C++、C,这个使您使用的环境操作即可,我这里用的python没有提示。
4、Huawei Cloud CodeArts Snap:华为云 CodeArt Snap 智能编程助手致力于打造现代化开发新范式,通过将自然语言转化为规范可阅读、无开源漏洞的编程语言,提升开发者编码效率,助力企业快速响应市场不确定性;
5、Huawei Cloud Toolkit Platform:华为云底座插件为华为云各类云服务插件提供公共能力,比如单点登录、UI集成、API访问等功能;
PyCharm环境的搭建:https://laoshifu.blog.csdn.net/article/details/135279145
API接口开通地址:https://console.huaweicloud.com/nlp/#/nlp/overview?
意图理解
针对天气、报时、新闻、笑话、翻译、提醒、闹钟、音乐8个领域进行意图理解,对用户的问题进行领域识别并提取领域内的参数。 在使用本API之前, 需要您完成服务申请。
接口开通:https://console.huaweicloud.com/nlp/#/nlp/overview
请求参数
名称 | 类型 | IN | 必选 | 描述 |
---|---|---|---|---|
X-Auth-Token | string | header | true | 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 |
project_id | string | path | true | 来自公有云的Project ID,用于资源隔离。 |
Body?参数
名称 | 类型 | 必选 | 描述 |
---|---|---|---|
lang | string | false | 支持的文本语言类型,目前只支持中文,默认为zh。 |
text | string | true | 待分析文本列表,UTF-8编码,限定32个字符以内,文本长度超过32个字符时,只检测前32个字符。 |
返回参数
名称 | 类型 | 必选 | 描述 |
---|---|---|---|
confidence | float | true | 标签label的置信度。 |
label | string | true | 文本的意图标签。标签共有以下9类,取值如下: weather:天气 time:报时 news:新闻 joke:笑话 translation:翻译 notification:提醒 alarm:闹钟 music:音乐 other:其它 |
slots | Array of Slot objects | true | slot数据结构 |
text | string | true | 返回待分析文本。 |
名称 | 类型 | 必选 | 描述 |
---|---|---|---|
word | string | true | 实体文本。 |
tag | string | true | 实体类型。对于每个意图类别所支持的实体类型分别为: weather:date(日期),time(时间),location(位置) time:location(位置),timezone(时区) news:genre(风格) joke:genre(风格) translation:content(内容) notification:content(内容),date(日期),time(时间),singer(歌手) alarm:date(日期),time:(时间) music:singer(歌手),song(歌曲),content(内容) |
offset | integer | true | 实体文本在待分析文本中的起始位置。 |
length | integer | true | 实体文本长度。 |
normalized_word | string | true | 同义词或者其他标准表达的词,默认为原始的word。 |
调试测试
测试语句【来瓶82年的拉菲】
返回结果:
{
"result": {
"confidence": 0.999989271,
"label": "others",
"slots": [],
"text": "来瓶82年的拉菲"
}
}
这里返回的是others没有这个分类,是其它。那么我们换一个哈。
刚更换词语【来一首周杰伦的青花瓷】
返回结果:
{
"result": {
"confidence": 1,
"label": "music",
"slots": [
{
"length": 3,
"normalized_word": "周杰伦",
"offset": 3,
"tag": "singer",
"word": "周杰伦"
},
{
"length": 3,
"normalized_word": "青花瓷",
"offset": 7,
"tag": "song",
"word": "青花瓷"
}
],
"text": "来一首周杰伦的青花瓷"
}
}
这回label返回的是music代表是音乐。
本地测试
测试文本:一名歌手在舞台上熠熠生辉,用歌声打动人心。
测试结果:
测试结果给的是other不是很满意,可能是用词太少吧,或者说是模型还需要升级。。。?
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!