Skip to main content

Azure LUIS基本介绍

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

Azure LUIS是微软推出的语言理解服务(Language Understanding intelligent service, 缩写为LUIS)是由于微软推出的基于云的对答式的AI服务,是自然语言处理的一个子集。LUIS服务的目的主要是对用户的输入进行用于意向的判定以及用户输入的实体数据的提取。

LUIS是自然语言理解的(NLU)的一个实现,是自然语言处理(NLP)的一个子集,而且自然语言处理(NLP)是一个非常广泛的概念,可以用于任何形式的文本处理,一般情况我们说这些会包括如下的方面:

  • 词汇切分
  • 词性(pos)标记
  • 分段
  • 语形学分析
  • 语义相似性
  • 演讲(Discourse)
  • 翻译

等等领域, 在LUIS服务里能够配置的(NLP)的特性主要包括:

  • 配置词汇切分(By Tokenizer)
  • 配置音调符号,标点以及单词形式,词态

在LUIS中通过机器学习提供两种机器学习的模型:

  • 意向(intent): 用于将用户言语进行分类。
  • 实例(Entity): 从言语中提取需要的数据。

LUIS的基本概念理解

在开始使用LUIS之前我们先需要对于LUIS整个架构中的一些专有的名词和概念先需要一个了解。
对于机器学习的中的自然语言处理一直是一个难题,对于LUIS的应用,为了更为准确的做出回应,一般建议准备的定义应用的领域,例如: 订(机,船,火车,高铁)票,咨询物流,制定日程,聊天等等特定的领域,最好是为每一个你需要的领域都要进行单独的建模,每一个应用都会包含两类模型: 意向模型以及实体模型。

如何理解意向模型和实体模型

要理解意向模型和实体模型,我们可以从一些日常的例子中来判定,例如:我要订一张后天到成都的高铁票。, 在这句话里,言语明确表达的意思就是:订高铁票, 其他的数据,例如:一张后天成都 这些都是对订高铁票这个意向动作的补充,都是我们需要的实体数据,也就是我们使用意向模型对用户的言语进行分类,使用实体模型对言语进行数据提取。

意向是整个言语表达的结果,实体是从言语中提取的数据片段,从应用设计的角度来看的话,意向通常是应用中需要采取的动作,而实体是为了完成意向这个动作所需要的信息。从编程的角度来看,意向是我们要调用的方法,而实体是我们需要传递的参数。这么理解起来就简单多了。

同时需要注意的是用户的言语里肯定会包含意向, 但是未必会包含实体, 也可能包含多个实体

模型分解

LUIS提供两种机器学习的模型,我们前面也已经学习过了,同时我们也强调了,应用LUIS的时候,尽量选择一个需要解决问题的领域,选择了领域之后,我们需要准备数据,数据准备好了之后,我们就需要使用这些数据进行模型的训练,我们有两种模型需要训练,也就是我们一再提及的意向模型和实体模型,模型预测是否准备,和我们前期准备的数据有非常大的关系。如果有效的准备好数据呢?LUIS提供模型分解的概念,也就是在准备数据的阶段通过对模型概念上的分解,然后按照他们来准备数据,即可训练出非常准确的模型,并应用到自己的应用中。

  • 意向
    • 特性(Feature)
  • 机器学习实体
    • 子实体(同样是机器学习类型的实体)
      • 特性(Feature)
        • 短语列表
        • 非机器学习实体:包括正则表达式,列表以及预定义实体
特性(Feature)

特性是指一些数据上独特的特点属性,机器学习特性会给LUIS更多的功能对于意向以及实体进行更多的支持。

模式(Patterns)

模式的主要目的是为了提供精确度,关于模式的定义和使用我们在后期的教程中会一一向大家展示。

LUIS应用开发的基本步骤介绍

针对与机器学习的项目实际上很多步骤都是非常一致的,基本都是数据准备,训练模型,验证模型,评估模型,选择最合适的模型,左右将训练好的模型整合到应用中(例如AKS, OCI)等等,然后使用该模型进行数据预测。这几个步骤是机器学习最为通用的步骤,但是针对于LUIS, 我们前面也讲过了我们需要两种模型完成LUIS的整个业务,因此LUIS应用的开发步骤会更为具体,具体的步骤讲解如下:

  • 计划阶段: 我们前面论述过,使用LUIS解决主要业务问题的时候,最好是选选择你的业务领域,选择好了之后,定义好用户可能会采取的动作,以及需要的实体数据。
  • 训练模型:计划结算选好了领域,准备好了数据,就可以训练该模型了。
  • 测试模型:使用日常的短语对于模型进行测试,发现不足,补充数据,重新训练。
  • 发布模型: 经过测试之后,可以将模型发布为可以访问的终结点,其他应用需要预测的时候,使用key直接访问该终结点。
  • 集成其他服务: LUIS模型发布了之后,可以集成其他服务,从而更高效的完成我们需要的业务,例如和Bot Framework service进行集成等等。
  • 改善精度: 在用户和LUIS应用不停的交互过程中,用户会输入各种言语,可以使用工具对这些言语再次进行分类,从而提高精度。

LUIS提供的工具

LUIS为我们提供了单独的工具和SDK以及API,帮助用户来完成业务,特别是提供了可视化的,基于web的创作工具,用户无需会编程经验同样可以训练出需要的模型。
用户可以通过URL: https://luis.azure.cn 访问中国的LUIS服务,可以通过URL: https://www.luis.ai/ 访问全球的LUIS门户。

我们下一篇会介绍LUIS的快速入门。