华为Could API人工智能系列——意图理解

2023-12-31 12:34:35

华为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-Tokenstringheadertrue

用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

project_idstringpathtrue

来自公有云的Project ID,用于资源隔离。

Body?参数

名称类型必选描述
langstringfalse

支持的文本语言类型,目前只支持中文,默认为zh。

textstringtrue

待分析文本列表,UTF-8编码,限定32个字符以内,文本长度超过32个字符时,只检测前32个字符。

返回参数

名称类型必选描述
confidencefloattrue

标签label的置信度。

labelstringtrue

文本的意图标签。标签共有以下9类,取值如下: weather:天气 time:报时 news:新闻 joke:笑话 translation:翻译 notification:提醒 alarm:闹钟 music:音乐 other:其它

slotsArray of Slot objectstrue

slot数据结构

textstringtrue

返回待分析文本。

名称类型必选描述
wordstringtrue

实体文本。

tagstringtrue

实体类型。对于每个意图类别所支持的实体类型分别为: 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(内容)

offsetintegertrue

实体文本在待分析文本中的起始位置。

lengthintegertrue

实体文本长度。

normalized_wordstringtrue

同义词或者其他标准表达的词,默认为原始的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不是很满意,可能是用词太少吧,或者说是模型还需要升级。。。?

文章来源:https://blog.csdn.net/feng8403000/article/details/135299431
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。