跳转至

AAAI 2022 Oral Paper | Profile SLU: 基于Profile信息的口语语言理解基准

Text is no more Enough! A Benchmark for Profile-based Spoken Language Understanding

Xiao Xu*, Libo Qin*, Kaiji Chen, Guoxing Wu, Linlin Li, Wanxiang Che.

AAAI 2022 (Oral) | Association for the Advancement of Artificial Intelligence

Paper | Paper(Arxiv) | Code | Blog(CN)

0. Take-away messages

  • 提出了基于Profile信息的口语语言理解任务(ProSLU),来解决现实场景下语义歧义所导致的复杂SLU问题。
  • 人工标注了大约五千条的中文SLU数据集,用于训练和评估不同SLU模型在ProSLU任务上的性能。
  • 评估并分析了现有的主要SLU基线模型在ProSLU任务上的性能,发现即使引入预训练语言模型的表示,效果也十分有限
  • 探索了Multi-level Knowledge Adapter的方法来注入Profile信息,极大提升了所有SLU基线模型在ProSLU任务上的性能,并且引入预训练语言模型的表示时,效果可以进一步提升

1. SLU任务定义

口语语言理解(SLU)任务的目的是获取用户询问语句的语义框架表示信息,进而将这些信息为对话管理模块以及自然语言生成模块所使用。SLU任务通常包含意图识别任务和槽位填充任务。

以句子 watch comedy movies 为例,SLU系统需要分别输出意图 WatchMovie 和槽位名称 movie_type 以及槽值 comedy movies

2. 背景与动机

口语语言理解(SLU)的研究目前主要局限于传统的基于纯文本的SLU任务,该任务假设,简单的基于纯文本就能够正确识别用户的意图和槽位。

但在真实的业务场景中,经常由于用户的口语化输入,而面临具有语义歧义的用户话语。现有的基于纯文本的SLU系统难以应对这一现实场景下的复杂问题。

现有SLU系统难以解决语义歧义问题

Play Monkey King 为例,Monkey King,也就是孙悟空,是一个具有歧义的名称,可以对应视频、音乐以及有声书三种类型的实体,因此难以基于纯文本确定其意图和槽位。

为了解决这一问题,本文提出了一个重要的新任务——基于Profile的口语语言理解任务(ProSLU),通过引入Profile信息,来辅助模型在歧义场景下完成意图和槽位的预测。

3. ProSLU任务定义

Profile信息的引入是为了帮助SLU系统,消除用户话语中的歧义。我们定义了以下三种Profile信息,分别是知识图谱信息、用户配置信息和环境感知信息。

Profile信息的定义

  • 知识图谱信息包括收集到的大量不同类型的实体及其丰富的属性信息,每个实体都会被展平为纯文本序列。
  • 用户配置信息包括用户的个人设置和其他信息,例如用户对音频、视频和有声书这三类APP的使用偏好。
  • 环境感知信息包括用户的当前状态和环境信息,例如移动状态和当前位置

我们将基于Profile的SLU任务简称为ProSLU,任务要求模型不仅依赖于输入语句,还要利用对应的Profile信息,来预测意图和槽位信息。 下面给出任务的形式化定义:

ProSLU任务的形式化定义

ProSLU任务的具体样例

如上图所示,KG信息表明Monkey King可能是视频、音乐或有声书实体,UP信息表示当前用户更喜欢听音乐,CA信息表示用户当前正在跑步,结合上述三种Profile信息和用户话语,最终判断出用户的意图为听音乐,槽位为songName

4. 数据集的构建

我们对拟解决的歧义给出如下定义:

  • 第一种歧义是歧义名称,是由于如Monkey King这类可以表示许多不同类型实体的歧义名称,所带来的词汇歧义,最终导致话语的语义歧义。
  • 第二种歧义是歧义表述,是由于用户的口语化表述所产生的语义歧义,例如我想买一张去上海的票,用户并没有表述清楚想购买的票的类型

数据集的构建流程

数据集的构建流程如上图所示:我们通过开源知识图谱和互联网数据完成了初步的数据收集,并设计了数据构建流程,完成了意图、槽值对以及Profile信息的初步构建,最后由标注者完成用户话语的编写。关于数据集的更多详细内容,请参考我们的论文。

5. 实验

本文基于现有SLU模型中的主要组件,构建了通用SLU模型,它由共享的编码器,意图识别解码器和槽位填充解码器构成。接着本文结合层次化注意力融合机制,设计了多层次知识适配器,从而分别在句子级和词级融入Profile信息,并且可以作为插件,轻松集成到现有SLU模型中。

模型架构图

模型架构如上图所示,知识适配器分别在句子级和词级引入Profile信息,从而多层次的引入Profile信息,帮助消除话语中的歧义。

results

我们对现有的SLU Baseline进行了充分的实验,表中的第二大列和第三大列分别对应基于纯文本的SLU模型和借助我们设计的多层次知识适配器来引入Profile信息的ProSLU模型。在没有Profile信息时,现有的SLU模型都表现的很差;将共享的编码器替换为预训练语言模型后,模型性能得到一定提升,但是其表现还是很不好。而在引入了Profile信息后:

  • 所有的SLU Baseline都取得了显著的效果提升,这充分证明了我们提出的ProSLU任务的重要性,以及Profile信息对解决用户话语中的歧义的有效性
  • 所有的预训练SLU模型在引入了Profile信息后,也同样取得了显著的效果提升,这证明Profile信息和预训练语言模型的结合,能够有效提升效果

6. 未来挑战

ProSLU任务还存在着许多挑战:

  • KG信息的有效表示:知识图谱实体数量庞大,实体属性信息稀疏且复杂
  • Profile信息的高效融合:更加高效的信息融合方式,具有可扩展性的Profile信息融合方式
  • Profile信息的扩展:更多有注意消除语义歧义的Profile信息

7. 结论

本文研究基于Profile的口语语言理解任务,它要求模型不仅要依赖于用户话语本身,还要借助辅助Profile信息,更好的完成语义框架表示信息的提取。为此,本文标注了大约五千条数据的大规模中文数据集,以促进本领域进一步的研究,并探索了,使用多层次知识适配器来有效地引入辅助Profile信息,实验表明,通过知识适配器引入Profile信息的方式,能够有效提升SLU模型在ProSLU任务上的表现。

欢迎大家共同推动 Profile-based SLU 领域的研究进展!