Skip to main content

让AI理解你想做的事 - 使用LUIS判断用户的言语意图

分类:  Azure认知服务 标签:  #Azure #人工智能 #语言理解(LUIS) #LUIS 发布于: 2023-06-10 20:37:33

我们前面的章节学习了如何使用预定义的智能家居的数据,快速的训练出语言处理模型的意向模型和实体模型,分别用于判断用户的意图和用户意图中的实体数据提取,上个章节仅仅事为了演示开发一个LUIS应用的基本步骤和带领大家熟悉一下LUIS工具的使用,从本章开始我们开始给出一些系列的教程,这些教程会一步一步的教大家如何进行意向数据准备,如何进行实体数据提取,如何使用featuer, 如何使用Pattern,然后进行模型的训练。

开始本节之前,你最好已经完成了前面的内容,对于Azure的语言理解服务基本概念已经比较熟悉了,同时你需要一个Azure的订阅,如果你还没有Azure订阅,尽快申请一个订阅,微软提供免费的Azure订阅供用户测试。

有了订阅之后,通过URLhttps://www.luis.ai (Azure Global), 或者https://luis.azure.cn(Azure China)来访问LUIS的工具, 登录到LUIS管理界面。

本教程步骤如下:

  • 创建新应用
  • 创建意向
  • 添加实例话语
  • 训练应用
  • 发布应用
  • 从终结点获取意向预测

在本实例中我们会模拟一个通过网络机器人来预定披萨的例子,我们需要从用户和机器人交互的言语中判断客户想干什么。为了符合我们对于这个业务场景的需求,我们定义用户可能有如下几个意图:

定义的意向代码用户的目的
ModifyOrder用户修改披萨的订单
Greeting用户和机器人打招呼,开始和机器人对话
ConfirmOrder用户确认披萨的订单
OrderPizza预定披萨
None从用户的言语中确认用户的问题和披萨预定没有关系,因此LUIS也就不需要回答用户

以上是我们这个LUIS应用的预定义的意向,我们需要做的就是根据意向模型判断用户的言语是否符合以上这几个意向,然后根据判断出来的意向进行相应的应用反馈。

创建新应用

这个步骤很简单,上一篇文章我们已经讲述了如何登陆到LUIS的Portal上去创建一个新的应用。如下图:


点击New App之后,通过如下的对话框进行创建:


创建新意向

意向模型的主要作用在于对于用户言语进行分类,用以体现用户的言语目的是什么。为了使用意向模型达到这个效果,那么我们需要根据意向的自定义分类(上节的图表表现内容)训练模型达到这个效果,同时意向模型训练也会依赖于意向的言语示例。
为了达到这个效果,我们必须生成新的意向

  • Intents(意向)页面选择 "+ 创建" 创建新的意向,我们这里使用名称OrderPizza作为意向的名字, 然后选择完成。
  • 将多个实例言语添加到OrderPizza意向中,作为OrderPizza这个意向,他的工作就是为了能让客户尽快的预定披萨。

针对于OrderPizza意向添加成功后,我们需要给该意向添加实例短语,短语列表如下:

OrderPizz 意向需要添加的短语
请给我来一份意大利香肠披萨和一听可乐,谢谢
我想要一个小尺寸的披萨,另外请放些洋葱,胡椒以及橄榄在上面
预定一个小尺寸胡椒披萨
要一份大尺寸的芝士披萨,额外加一分小银鱼
2份大尺寸芝士披萨,6份大尺寸胡椒披萨和一份最大尺寸的水果披萨
帮我订一份披萨
一份大尺寸披萨

添加好意向如下图所示:


注意
我们在这里仅仅是为了演示,对于产线可以使用的意向一般都需要15-30个实例短语,同时需要注意的是这些短语要根据以下几个方便不同点提供,越详细越准确。

  • 短语的长度
  • 短语的单词顺序。
  • 时态(过去式,现在进行时等等)
  • 语法正确性
  • 标点符号
  • 单词计数

等几个方面。

创建其他意向以及意向的实例短语

Greeting意向

用于和机器人打招呼,开始和机器人准备对话

Greeting意向短语
你好
您好
在吗?
有人吗?
开始
开启
hi
Hello
有人在吗?
Confirm 意向以及实例短语

用于确认的意向

Confirm意向短语
好的
没问题
确认下单
是的
OK
可以
行吧
None意向以及实例短语

我们有观察到一个LUIS应用里都有一个默认的None意向,以及一些不同的短语,我们在之前一直在强调,LUIS应用非常适合特定的领域,但是当有时候用户问的问题并不和当前的应用领域相关,因此区分这类的意图对项目的需求没有任何意义,因此你应该根据具体的业务,环境,出场人物,精心的设计意图和短语,不要使用你即将使用领域相关的词语,例如:下单,披萨,胡椒,确认等等此次。下面是一些实例:

None意图短语实例
今天天气很不错
后天你计划去南京吗?
我不想看电影
生日是后天

训练应用

准备好意向数据之后,我们可以开始训练应用。
在LUIS网站的右上方,选择Train按钮进行训练。


当然training按钮上额指示器变为绿色是,即训练成功。

发布应用

训练应用只是表明意向模型训练成功了,如果需要使用该模型,我们需要发布该应用。也很简单,直接使用Portal上的publish按钮发布就好了。


选择Production Slot


发布成功后,在通知中选择"Access your endpoint Urls", 可以通过该界面的URL进行预测,如下图:



测试训练好的模型

使用test按钮或者Postman即可测试了, 如下图:


本教程描述了如何进行意向模型的设计和训练。