DialoKG: Knowledge-Structure Aware Task-Oriented Dialogue Generation

  • 2022 NAACL
  • 面向任务的对话生成:目的是为了实现特定的目标,如餐厅预订、酒店预订和汽车导航。
    • 需要外部domain或者知识来生成信息性对话
    • DialoKG: Knowledge-Structure Aware Task-Oriented Dialogue Generation_第1张图片DialoKG: Knowledge-Structure Aware Task-Oriented Dialogue Generation_第2张图片
  • 基于知识结构感知

1. 背景

  • (知识蒸馏)知识库中的facts中的潜在关系没有被有效捕获
  • 潜在知识是动态的
  • knowledge graph(kg)的结构信息可以提高系统的推断能力
  • 现有works在train期间生成框架response,并用kg entity进行填充。这些works的问题:
    • 无法捕获kg的潜在语义,如entity之间的关系
    • 缺少endoce多域中动态knowledge的能力

2. 贡献

  • 将关系知识视为kg,并引入结构感知的知识嵌入技术
  • 加权kg注意力mask 策略
    • 使用预训练的语言模型来计算entity权重,并估计entity对于给定话语的重要性
    • 基于GCN的概念来计算关系权重
    • 以上两部均考虑用户对话,获得的加权图是基于特定问题的。

3. 方法

3.1 问题定义

对话历史 H \mathcal{H} H、question Q \mathcal{Q} Q、knowledge base G \mathcal{G} G → information response S t S_t St
p ( S t ∣ H , Q , G ) = ∏ i = 1 n p ( s i ∣ s 1 , . , s i − 1 , H , Q , G ) p\left(S_{t} \mid \mathcal{H}, \mathcal{Q}, \mathcal{G}\right)=\prod_{i=1}^{n} p\left(s_{i} \mid s_{1}, ., s_{i-1}, \mathcal{H}, \mathcal{Q}, \mathcal{G}\right) p(StH,Q,G)=i=1np(sis1,.,si1,H,Q,G)

  • H = { U 1 , S 1 , . . , U t , S t } \mathcal{H}=\left\{U_{1}, S_{1}, . ., U_{t}, S_{t}\right\} H={U1,S1,..,Ut,St} U i U_i Ui S i S_i Si是第 i i i轮的序列
  • G = { T 1 , T 2 , ⋯   , T m } ,    T = ( s , r , o ) \mathcal{G}=\left \{ \mathcal{T}_1, \mathcal{T}_2, \cdots, \mathcal{T}_m \right \}, \ \ \mathcal{T}= (s,r,o) G={T1,T2,,Tm},  T=(s,r,o)

3.2 knowledge & dialogue embedding

DialoKG: Knowledge-Structure Aware Task-Oriented Dialogue Generation_第3张图片

  • 左部分包含图相关信息(即,主题、关系和对象)
  • 右部分包含对话特定信息,例如对话历史 H \mathcal{H} H和当前用户对话 Q \mathcal{Q} Q

Knowledge embedding

  • token embedding:[S], [R]和[O]是特殊token,用于分割triple中subject, relation和object
  • entity embedding:embedd word token的entity级信息
  • Triple embedding:embedd word token的triple级信息
  • Type embedding:表示对应token来自kg,而不是dalogue和history

Dialogue embedding

  • 通过[SEP]token与knowledge分开
  • 通过[Q]token将dialogue history与question分开
  • Type embedding:存储来自user还是system

Position embedding

  • sequence中每个token的位置

3.3 Knowledge Attention Mask Construction

利用Graph Weight Computer构造加权kg

  • Entity Weight Estimator: E iw  = L M head  ( L M enc  ( [ Q ; E i ] ) ) E_{\text {iw }}=L M_{\text {head }}\left(L M_{\text {enc }}\left(\left[\mathcal{Q} ; E_{i}\right]\right)\right) Eiw =LMhead (LMenc ([Q;Ei]))
  • Relation Weight Estimator:用GCN方式
    • DialoKG: Knowledge-Structure Aware Task-Oriented Dialogue Generation_第4张图片

加权KG通过构造knowledge attention mask辅助模型专注任务

3.4 Decoder

用GPT-2生成response

4. 整体架构及加权KG构造过程

  • 左边是System architecture
  • 右边是Graph Weight Computer

DialoKG: Knowledge-Structure Aware Task-Oriented Dialogue Generation_第5张图片

5. 附录

DialoKG: Knowledge-Structure Aware Task-Oriented Dialogue Generation_第6张图片
DialoKG: Knowledge-Structure Aware Task-Oriented Dialogue Generation_第7张图片

你可能感兴趣的:(NLP,人工智能,知识图谱)