第十五届中国中文信息学会暑期学校暨中国中文信息学会《前沿技术讲习班》的回放链接:http://conference.cipsc.org.cn/ssatt2020/
学习笔记
黄民烈:基于对话系统的信息获取(Conversational Information Seeking with Dialog Systems)
摘要
对话系统近几年成为人工智能领域的研究热点之一。本讲座将以信息获取作为主线,介绍对话系统的背景、问题、挑战和主要研究进展。主要内容将涵盖:1)对话系统的历史、分类、主要问题和挑战;2)任务完成型的对话系统;3)对话式问答与阅读理解问题;4)知识赋能的对话系统;5)对话式推荐系统;6)未来研究的趋势与挑战。
讲座大纲
对话系统背景
1966:Eliza基于规则的对话系统,模拟心理咨询师。
1977:GUS系统,基于强语意的Frame框架。任务导向的对话系统
槽
框架语义
1994:基于规则的聊天机署人系统ALICE
2010:IBM- WATSON
语义分析
关系抽取
2011:苹果SIRI语音助手
2014:微软小冰社交机器人
2015:Google:基于“Seq2Seq”的神经对话生成模型
2016:谷歌智能个人助理;亚马逊Alexa大奖赛
2016-2018:阿里小蜜;百度度秘;小米小爱;天猫精灵;京东叮咚
语言处理模块:语义解析分段,Noun Phrase,Topic分析、Sentiment分析等
2020:Google: Meena;FAIR: Blender;OpenAl: GPT-3
对话系统的类型(19分18秒)
1. 助理型Task-oriented dialog systems (assistant)
2. 聊天机器人Open-domain dialog systems (chatbot)
3. 聊天机器人综合技能Multi-skill dialog systems (social chatbot)
不同问题和特征:
强语义、弱语义结合:
社会机器人:
满足:信息需求;社会需求
对话困难的原因:
不是个清晰的任务,有各种NLP问题
对话交互
对话信息获取主要的方向
CIS:Conversational Information Seeking
Part1. 任务完成:Task Completion
研究趋势:一句话中出现多个domain、多个intent、Pipeline到End-to-End端到端。
挑战:
处理自然语言处理的不确定性NLU
更少的数据,有效的学习到更主观的策略
用更少的数据去做
Task-oriented Dialog Systems可做的方向和需要的方法技术
NLU自然语言理解(NLU ,Natural Language Understanding):方法有限,使用有监督学习
DST(对话状态追踪 Dialog State Tracking):Word-level:辨别式、生成式、阅读理解、预训练等方法
Policy:输入DA,生成下句话,基于强化学习
NLG:自然语言生成
End2End:基于KB、DB
数据集MultiWOZ、CrossWOZ
NLU鲁棒性和不确定性:
训练时添加扰动:省略些词、长句子换成简单句子、加上口语化的句子、数字和英文的转换。
Dialog Policy Learning
对于Mult-domain,层次化处理:
对于学习框架,用User Simulator代替User
Natural Language Generation(NLG)自然语言生成
根据Query得到Slot Value ——我们需要做的是根据Query中的Value,反向翻译出一句话。
2010:将Query中的Value表示成0/1,根据one-hot编码,利用LSTM做。
2020:SC-GBT。DA拼成一个串,将DA翻译生成一句话。
Domain不断增加,测试在最早的Domain的生成任务。随着任务加入,被遗忘增加。
Soloist——GPT2
对话历史Dialog History——摘要Belief State——DB State(知识库相关)——产生Response回答。
总结:
- DST特殊的NLU
- 端到端:历史对话输入很长,最前看几轮,不会看全部,加入语义信息的标注
- 用户模拟器:最大程度体现语言的多样性,同样问题不同问法都要生成。
- 语义理解的方法:Bert等。
- 知识有效地引入到对话系统。
Part2. QA and MRC:问答和阅读理解
QA——CoQA和QuAC数据集
对话行为(语言现象)分析:
匹配
改写
语用学him
指代
省略
FlowQA
context一句话
GraphQA
将context变成图,得到表示,做predict。
Conversational MRC
根据Rule document生成回答。规则为Tree或者graph的结构
ShARC
挑战:
EMT
总结:
Part3.Kowledge grounded conversation 知识有效嵌入
为什么要Grounding
对于不认识的单词,可以Grounding到已知的含义上。
研究内容
1. Kowledge representation
H是k个节点的图,A是邻接矩阵,W是权重,f是激活函数。
2. Kowledge selection
不认识的词,映射到Graph上,做Graph embedding,encoder,decoder,生成Respnse。
GAT:Graph Attention,图变成三元组,Ri为注意力权重。
Single-step Selection:选知识,后验。
Sequential Latent Selection
3. Knowledge aware Generation
Memory-based:端到端的,存到memory
Copy Mechanism:
词分为input和vocabulary,分别从两部分进行拷贝。
Knowledge-enhanced post training
将知识库(结构化的三元组)变成句子,重新训练GPT。head和relation生成tail,重新训练模型。
使用Self-supervised learning思想进行随机的扰动,做负采样。
知识放到生成中,如何使用呢?构造和输入有关的图谱,从图中选节点,做graph reasoning;还是Vocab选词?
总结
寻找信息
把知识注入到对话中
问题:表示知识的方法
挑战:主题,可控性
part4. Recommendation 推荐相结合 Conversational Recommender Systems
多轮对话提供推荐,探索用户的偏好,交流对话,推荐。
挑战:
UIU:对话推荐系统,多模态:text和image相结合的理解
CRS程序:
UIU用户理解模式。
切换机制:REC做推荐还是Keep asking了解偏好。
如果是推荐,则得到一些Feedback,帮助改进。
CRS的类型:
偏向推荐:不停Asking
偏向对话:语言更加自然、复杂(NLU、NLG)
将来的挑战
鲁棒性和不确定性。
语义性、一致性、交互性。
存在的五个问题和技术:
重复度,通顺度:GPT存在重复性,长短问题。
大模型和大数据和大计算是不是未来??
一些问题
问答系统如何和知识关联:
- 从什么样的来源选择答案
- 对问题的分析
怎么获取对话中的知识,如三元组的事实?
知识融入对话系统,和知识库做一个link,一般会做一些知识进行过滤,设定知识图谱两跳、三跳的阈值。
因果推理对知识融合的应用:
对故事生成很重要,Eg:a-b,b-c,则a-c,不知道怎么融合到对话中。
对话系统的评价:
参考答案的评价,和参考答案相比的相似性。
不用参考答案进行评价,用预训练模型做。数据自扰动。
对话系统最大的挑战:
脱离数据的依赖。
对话生成:限定领域的对话生成。
多轮对话的可控性: 反似然。