CN116956942A - 基于槽位共享跨度预测的多领域对话状态追踪方法、装置、设备及存储介质 - Google Patents
基于槽位共享跨度预测的多领域对话状态追踪方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116956942A CN116956942A CN202310547236.6A CN202310547236A CN116956942A CN 116956942 A CN116956942 A CN 116956942A CN 202310547236 A CN202310547236 A CN 202310547236A CN 116956942 A CN116956942 A CN 116956942A
- Authority
- CN
- China
- Prior art keywords
- slot
- dialogue
- context
- vectors
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 239000013598 vector Substances 0.000 claims abstract description 208
- 238000000605 extraction Methods 0.000 claims abstract description 95
- 230000004927 fusion Effects 0.000 claims abstract description 28
- 238000012549 training Methods 0.000 claims description 20
- 238000010276 construction Methods 0.000 claims description 14
- 238000002372 labelling Methods 0.000 claims description 12
- 238000011176 pooling Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 8
- FGUUSXIOTUKUDN-IBGZPJMESA-N C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 Chemical compound C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 FGUUSXIOTUKUDN-IBGZPJMESA-N 0.000 claims description 6
- 238000007500 overflow downdraw method Methods 0.000 claims description 6
- GNFTZDOKVXKIBK-UHFFFAOYSA-N 3-(2-methoxyethoxy)benzohydrazide Chemical compound COCCOC1=CC=CC(C(=O)NN)=C1 GNFTZDOKVXKIBK-UHFFFAOYSA-N 0.000 claims description 3
- 230000008014 freezing Effects 0.000 claims description 3
- 238000007710 freezing Methods 0.000 claims description 3
- 238000013461 design Methods 0.000 abstract description 4
- 230000007246 mechanism Effects 0.000 abstract description 4
- 230000008569 process Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 102100033814 Alanine aminotransferase 2 Human genes 0.000 description 1
- 101710096000 Alanine aminotransferase 2 Proteins 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000029305 taxis Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
- G06F40/35—Discourse or dialogue representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/2431—Multiple classes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Databases & Information Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Machine Translation (AREA)
Abstract
本发明涉及基于槽位共享跨度预测的多领域对话状态追踪方法、装置、设备以及存储介质,该方法获取多领域对话状态追踪数据集,对数据集进行处理,构建对话状态追踪数据集;提取对话上下文和槽位的语义信息,将其编码为高维特征词向量;通过新的融合机制融合对话上下文和槽位词向量,得到融合槽语义的对话上下文词向量和句子向量;根据槽位在上一轮是否被系统提和槽位的槽值在上一轮是否进行填充,构建两个辅助特征,并将其作为先验融合到融合槽语义的对话上下文句子向量,得到增强的对话上下文句子向量;将融合槽语义的对话上下文词向量和增强句子向量输入到槽值提取层提取槽值,进行对话状态更新。本发明通过设计一种新的融合机制,可以有效适应对话状态追踪任务,不仅提高了对话状态追踪的准确率,而且槽位共享的设计提高模型的扩展能力。
Description
技术领域
本发明涉及信息技术领域中的自然语言处理领域,尤其涉及多领域对话状态追踪等技术领域。具体地,提供基于槽位共享跨度预测的多领域对话状态追踪方法、装置、设备以及存储介质。
背景技术
对话状态追踪任务的目标是在每轮对话回合中根据所有给定的对话上下文预测出当前轮次对话状态。作为中间模块,对话状态追踪模型性能好坏直接影响后续的对话策略选择。对话状态是由领域本体指定的一组键值对组成的,键指的是“领域-槽位”本文称之为槽位,值指的是对话上下文中需要提取的槽值,本文称之为槽值。研究初期,对话状态追踪任务主要关注单领域,单领域状态追踪模型需要预测的槽位数量较少,本体规模也较小。这类方法对对话上下文进行编码之后,通过分类器从本体中的候选槽值中预测出槽值。
目前,通用的多领域对话状态追踪模型主要分为两类:生成式方法和基于跨度预测的方法。生成式方法通常采用GRU、T5和GPT-2等生成式模型生成对应的槽值。虽然生成式方法不依赖于预先定义的本体,是无法控制生成式模型生成的文本,存在生成错误槽值的潜在风险。对话时需要提取的槽值会显式或者隐式地出现在对话上下文中,所以槽值可以从对话上下文中直接提取。基于跨度预测的方法利用这一特点,在对话文本当中预测槽值所在的起始位置。
在现有的基于跨度预测的多领域对话状态追踪方法相对于生成式方法更加稳健可靠,但是需要为每个槽位单独设计槽值提取模块。这种槽独立的设计,不仅影响模型扩展性,而且阻止槽之间的信息共享。
为解决上述传统方法中存在的问题,本发明提供了一种细粒度槽语义-对话上下文动态融合机制,并在该机制基础上设计一种槽共享的跨度预测方法来提取槽值,以实现槽之间的信息共享,同时缓解模型可扩展问题。具体地,槽语义表示时,除了槽名称之外,本文还将槽描述和槽的分类属性等信息引入到槽语义表示当中;槽语义和对话上下文融合阶段,从槽语义中动态选择对当前每个对话上下文词而言最重要的槽词向量,作为槽语义表示融合到对话上下文中;在槽值提取阶段,设计所有预定义槽共享的槽值提取模块。槽值提取模块是所有预定义槽共享的,槽共享的设计能实现槽之间的信息共享。此外,当槽数量增加时,不需要模型结构,只需在预定义集合中将新增槽的槽语义信息添加即可,不需要额外地为新增的槽引入单独的槽值提取模块。
发明内容
本发明目的在于,提供一种基于槽位共享跨度预测的多领域对话状态追踪方法、装置、设备以及存储介质。该方法获取多领域对话状态追踪数据集,对数据集进行处理,构建跨度预测的多领域对话状态数据集;提取句对话上下文的语义信息,提取槽位的语义信息,并将其编码为高维词向量;通过计算当前槽位词向量和对话上下文词向量之间的相似度分数,选择相似度最高的槽位词的词向量并扩展至对话上下文词向量大小,与其进行内积计算,然后进行拼接获取槽位信息融合的对话上下文词向量;将这两个辅助特征作为先验,拼接到槽位信息融合对话上下文语义向量,获取增强的对话上下文语义向量;在增强的对话上下文语义向量中提取当前轮次的对话状态信息。本发明通过设计有效的融合模块和槽位共享的方法特有效促进不同槽位之间的信息交互,提高多领域对话状态追踪的准确率的同时提高模型的扩展能力。
本发明一种基于槽位共享跨度预测的多领域对话状态追踪方法,按下列步骤进行:
a、获取多领域对话状态追踪数据集,对数据集进行处理,构建适合跨度预测方法的对话状态追踪数据集;
b、将用户与系统之间首轮至上一轮的对话内容作为对话历史,与当前用户语句进行拼接,[SEP]作为标识;之后在开始位置添加特殊标记[CLS],结束位置添加特殊标记[SEP],并将其作为对话上下文输入到BERT语言模型进行编码,将整个输出作为上下文词向量;
c、利用槽位名称、槽位描述和槽位属性作为细粒度语义信息,在开始位置添加特殊标记[CLS],结束位置添加特殊标记[SEP],并用冻结参数BERT语言模型进行编码,把整个输出作为槽语义上下文表示,获取所有槽位的槽语义上下文词向量;
d、在融合当前槽位语义和对话上下文时,从步骤c中槽语义上下文词向量表示中动态选择对当前每个对话上下文词而言最重要的槽位词向量,融合到对话上下文中,获取槽位信息融合的对话上下文词向量,并通过池化层获取槽位信息融合的对话上下文语义向量;
e、构建两个辅助特征,第一,一个槽位的槽值在上一轮被系统提及,则为1,否则为0;第二,一个槽位的槽值在上一轮已经进行填充,则为1,否则为0;依据此信息,分别构建两个one-hot向量并编码为高维向量,再将高维向量拼接到步骤d中槽位信息融合对话上下文语义向量,获取增强的对话上下文语义向量;
f、槽值提取类型分为span、inform、refer、true、false、dontcare和none七种类型,将步骤e中获取的增强的对话上下文语义向量输入到一个分7类的提取类型分类器,确定当前槽位的槽值提取类型;
g、根据步骤f中的提取类型,当一个槽位的槽值提取类型为inform、true、false、dontcare或none,直接确定其槽值;当槽位的槽值提取类型为span,将槽位信息融合的槽位信息融合的对话上下文词向量输入到跨度预测分类器,获取槽值;当槽位的槽值提取类型为refer,将槽位信息融合的对话上下文语义向量指代预测分类器,确定指向的槽位,从而获取槽值;
h、将确定完当前轮次中所有槽位的槽值之后,当前轮次中某一个槽位的槽值为非none,则覆盖上一轮该槽位的槽值,以此类推,更新所有槽位的槽值。
步骤d中的融合方法通过计算当前槽位词向量和对话上下文词向量之间的相似度分数,选择相似度最高的槽位词的词向量并扩展至对话上下文词向量大小,并与其进行内积计算,然后进行拼接获取槽位信息融合的对话上下文词向量;
步骤f和步骤g中的所述的分类器的训练参数为所有槽位共享。
一种基于槽位共享跨度预测的多领域对话状态追踪装置,该装置是由权利要求1所述方法涉及的装置,是由多领域对话状态追踪数据构建模块,对话上下文和槽语义编码器模块,对话上下文和槽语义融合模块,槽值提取模块和对话状态更新模块组成,其中:
多领域对话状态追踪数据构建模块:获取多领域对话状态追踪数据集,对数据集进行处理,构建基于跨度预测的多领域对话状态追踪数据集,具体包括数据集标注单元,用于在数据集中标注槽值起始与结束位置,每个槽位在当前对话内容中槽值提取类型;对话上下文构建单元,将用户与系统之间首轮至上一轮的对话内容作为对话历史,与当前用户语句进行拼接,[SEP]作为标识;之后在开始位置添加特殊标记[CLS],结束位置添加特殊标记[SEP],作为对话上下文;
对话上下文和槽语义编码器模块:用BERT预训练模型对对话上下文进行编码,对话上下文高维向量;利用槽位名称、槽位描述和槽位分类属性等细粒度信息进行拼接,并通过用BERT预训练模型对其进行编码得到槽语义信息词向量;
对话上下文和槽位语义融合模块:通过计算当前槽语义词向量和对话上下文词向量之间的相似度分数,选择相似度最高的槽位词的词向量并扩展至对话上下文词向量大小,与其进行内积计算,然后进行拼接获取槽位信息融合的对话上下文词向量,并通过池化层获取槽位信息融合的对话上下文语义句子向量;再构建两个辅助特征,第一,一个槽位的槽值在上一轮被系统提及,则为1,否则为0;第二,一个槽位的槽值在上一轮已经进行填充,则为1,否则为0;依据此信息,分别构建两个one-hot向量并编码为高维向量,再将高维向量拼接到槽位信息融合对话上下文语义向量,获取增强的对话上下文语义向量;
槽值提取模块:将增强的对话上下文语义向量输入到一个分7类的提取类型分类器,确定当前槽位的槽值提取类型,槽值提取类型分为span、inform、refer、true、false、dontcare和none七种类型;针对槽值提取类型为inform、true、false、dontcare或者none的槽位,直接确定其槽值;针对槽值提取类型为span的槽位,将槽位信息融合的对话上下文词向量输入到跨度预测分类器,获取槽值;针对槽值提取类型为refer的槽位,将槽位信息融合的对话上下文语义向量指代预测分类器,确定指向的槽位,从而获取槽值;
对话状态更新模块:确定完当前轮次中所有槽位的槽值,用当前轮次中某一个槽位的槽值为非none的槽值覆盖上一轮该槽位的槽值,以此类推,更新所有槽位的槽值。
一种电子设备,该设备包括:至少一个处理器;至少一张GPU计算卡;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行或所述至少一个GPU计算卡执行,以使所述至少一个处理器能或所述至少一个GPU计算卡能够执行权利要求1-3中所述的方法。
一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行权利要求1-3中所述的方法。
本发明所述的基于槽位共享跨度预测的多领域对话状态追踪方法、装置、设备及存储介质,通过设计有效的特征融合模块和槽位共享的方法特有效促进不同槽位之间的信息交互,提高对话状态追踪的准确率的同时提高模型的扩展能力。
附图说明
图1为本发明的流程图;
图2为本发明构建适合跨度预测方法的多领域对话状态追踪数据集的流程图;
图3为本发明提取对话上下文语义信息方法的流程图;
图4为本发明提取对话上下文语义信息方法的结构图;
图5为本发明提取槽位语义信息方法的流程图;
图6为本发明对话上下文和槽语义融合方法的流程图;
图7为本发明对话上下文和槽语义融合方法的结构图;
图8为本发明增强对话上下文句子向量方法的结构图;
图9为本发明槽位共享槽值提取方法的流程图;
图10为本发明状态更新流程图;
图11为本发明基于槽共享跨度预测的多领域对话状态追踪装置的结构示意图;
图12为本发明多领域对话状态追踪方法电子设备的框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图对本发明做进一步的详细说明。其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
实施例
本发明所述的基于槽位共享跨度预测的多领域对话状态追踪方法,按下列步骤进行:
a、获取多领域对话状态追踪数据集,对数据集进行处理,构建适合跨度预测方法的对话状态追踪数据集;
b、将用户与系统之间首轮至上一轮的对话内容作为对话历史,与当前用户语句进行拼接,[SEP]作为标识;之后在开始位置添加特殊标记[CLS],结束位置添加特殊标记[SEP],并将其作为对话上下文输入到BERT语言模型进行编码,将整个输出作为上下文词向量;
c、利用槽位名称、槽位描述和槽位属性作为细粒度语义信息,在开始位置添加特殊标记[CLS],结束位置添加特殊标记[SEP],并用冻结参数BERT语言模型进行编码,把整个输出作为槽语义上下文表示,获取所有槽位的槽语义上下文词向量;
d、在融合当前槽位语义和对话上下文时,从步骤c中槽语义上下文词向量表示中动态选择对当前每个对话上下文词而言最重要的槽位词向量,融合到对话上下文中,获取槽位信息融合的对话上下文词向量,并通过池化层获取槽位信息融合的对话上下文语义向量;
e、构建两个辅助特征,第一,一个槽位的槽值在上一轮被系统提及,则为1,否则为0;第二,一个槽位的槽值在上一轮已经进行填充,则为1,否则为0;依据此信息,分别构建两个one-hot向量并编码为高维向量,再将高维向量拼接到步骤d中槽位信息融合对话上下文语义向量,获取增强的对话上下文语义向量;
f、槽值提取类型分为span、inform、refer、true、false、dontcare和none七种类型,将步骤e中获取的增强的对话上下文语义向量输入到一个分7类的提取类型分类器,确定当前槽位的槽值提取类型;
g、根据步骤f中的提取类型,当一个槽位的槽值提取类型为inform、true、false、dontcare或none,直接确定其槽值;当槽位的槽值提取类型为span,将槽位信息融合的槽位信息融合的对话上下文词向量输入到跨度预测分类器,获取槽值;当槽位的槽值提取类型为refer,将槽位信息融合的对话上下文语义向量指代预测分类器,确定指向的槽位,从而获取槽值;
h、将确定完当前轮次中所有槽位的槽值之后,当前轮次中某一个槽位的槽值为非none,则覆盖上一轮该槽位的槽值,以此类推,更新所有槽位的槽值。
步骤d中的融合方法通过计算当前槽位词向量和对话上下文词向量之间的相似度分数,选择相似度最高的槽位词的词向量并扩展至对话上下文词向量大小,并与其进行内积计算,然后进行拼接获取槽位信息融合的对话上下文词向量;
步骤f和步骤g中的所述的分类器的训练参数为所有槽位共享。
一种基于槽位共享跨度预测的多领域对话状态追踪装置,该装置是由权利要求1所述方法涉及的装置,是由多领域对话状态追踪数据构建模块,对话上下文和槽语义编码器模块,对话上下文和槽语义融合模块,槽值提取模块和对话状态更新模块组成,其中:
多领域对话状态追踪数据构建模块:获取多领域对话状态追踪数据集,对数据集进行处理,构建基于跨度预测的多领域对话状态追踪数据集,具体包括数据集标注单元,用于在数据集中标注槽值起始与结束位置,每个槽位在当前对话内容中槽值提取类型;对话上下文构建单元,将用户与系统之间首轮至上一轮的对话内容作为对话历史,与当前用户语句进行拼接,[SEP]作为标识;之后在开始位置添加特殊标记[CLS],结束位置添加特殊标记[SEP],作为对话上下文;
对话上下文和槽语义编码器模块:用BERT预训练模型对对话上下文进行编码,对话上下文高维向量;利用槽位名称、槽位描述和槽位分类属性等细粒度信息进行拼接,并通过用BERT预训练模型对其进行编码得到槽语义信息词向量;
对话上下文和槽位语义融合模块:通过计算当前槽语义词向量和对话上下文词向量之间的相似度分数,选择相似度最高的槽位词的词向量并扩展至对话上下文词向量大小,与其进行内积计算,然后进行拼接获取槽位信息融合的对话上下文词向量,并通过池化层获取槽位信息融合的对话上下文语义句子向量;再构建两个辅助特征,第一,一个槽位的槽值在上一轮被系统提及,则为1,否则为0;第二,一个槽位的槽值在上一轮已经进行填充,则为1,否则为0;依据此信息,分别构建两个one-hot向量并编码为高维向量,再将高维向量拼接到槽位信息融合对话上下文语义向量,获取增强的对话上下文语义向量;
槽值提取模块:将增强的对话上下文语义向量输入到一个分7类的提取类型分类器,确定当前槽位的槽值提取类型,槽值提取类型分为span、inform、refer、true、false、dontcare和none七种类型;针对槽值提取类型为inform、true、false、dontcare或者none的槽位,直接确定其槽值;针对槽值提取类型为span的槽位,将槽位信息融合的对话上下文词向量输入到跨度预测分类器,获取槽值;针对槽值提取类型为refer的槽位,将槽位信息融合的对话上下文语义向量指代预测分类器,确定指向的槽位,从而获取槽值;
对话状态更新模块:确定完当前轮次中所有槽位的槽值,用当前轮次中某一个槽位的槽值为非none的槽值覆盖上一轮该槽位的槽值,以此类推,更新所有槽位的槽值;
一种电子设备,该设备包括:至少一个处理器;至少一张GPU计算卡;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行或所述至少一个GPU计算卡执行,以使所述至少一个处理器能或所述至少一个GPU计算卡能够执行权利要求1-3中所述的方法;
一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行权利要求1-3中所述的方法;
图1是基于槽位共享跨度预测的多领域对话状态追踪方法的流程图,适用于基于跨度预测的多领域对话状态追踪的情况,由基于槽位共享跨度预测的多领域对话状态追踪装置来执行,参见图1,基于槽位共享跨度预测的多领域对话状态追踪方法包括:
获取对话状态追踪数据集,对数据集进行处理,构建适合跨度预测的对话状态数据集;在一个实施例中,对话状态追踪数据集是包含多个领域的对话数据集;
示例性地,对话状态追踪数据集是基准对话状态追踪数据集MultiWOZ 2.1,MultiWoZ 2.2数据集包含7种不同的领域和35个槽位,例如出租车、景点、餐厅等领域以及出租车目的地、餐厅名称、景点位置等槽位;在对话内容中标注槽值的起始位置和结束位置、每个槽位的提取类型;
所述构建适合跨度预测方法的多领域对话状态追踪数据集,参见图2,具体包括:
每一轮在对话内容中标注出每个槽位对应的槽值的起始位置和结束位置,槽值的起始位置和结束位置表为1,其它位置为0;每一轮在对话内容中标注出每个槽位的槽值提取类型,分为span、inform、refer、true、false、dontcare和none;每一轮在对话内容中标注出每个槽位指向的其它槽位,不指向任何槽位则为none;
将用户与系统之间首轮至上一轮的对话内容作为对话历史,与当前用户语句进行拼接,[SEP]作为标识;之后在开始位置添加特殊标记[CLS],结束位置添加特殊标记[SEP],并将其作为对话上下文,将其编码为token序列,输入到BERT与训练模型提取对话上下文词向量;
所述提取对话上下文词向量参见图3,具体包括:
对每一条对话上下文编码为token序列,将token序列输入继续预训练后的BERT模型中,得到对话上下文词向量,第t轮的对话上下文由当前轮次的用户语句Ut,上一轮系统回复Rt和第1轮至t-1轮的对话历史Hist=((U1,R1),(U2,R2),…,(Ut-1,Rt-1))组成,对话上下文词向量表示为符号表示连接符,然后将当前的对话上下文Xt输入到BERT预训练模型中,得到对话上下文表示;BERTfinetune代表在训练阶段BERT的参数参与更新,Ht代表当前对话上下文词向量;
示例性地,如图4,对话上下文用户:我想要便宜的酒店;上一轮系统回复:你想要多少价位的酒店?对话历史:用户:我预定酒店;首先对话历史与当前用户语句和上一轮系统回复进行拼接,在开始位置添加特殊标记[CLS],结束位置和拼接位置添加特殊标记[SEP],并将其作为对话上下文,将其编码为token序列,输入到BERT与训练模型提取对话上下文词向量;
参见图5,将每一个槽位的名称、描述信息和分类属性拼接,并在开始位置添加特殊标记[CLS],结束位置和拼接位置添加特殊标记[SEP],作为槽位语义表示;并将得到的槽位语义其输入到参数冻结的BERT预训练模型当中,得到槽语义词向量;
示例性地,上述MultiWOZ系列数据集中,包含30种槽位以及每个槽位所对应的名称、描述信息和分类属性;
将得到的对话上下文词向量和槽语义向量通过对话上下文词向量和槽语义向量融合方法进行融合;
所述对话上下文词向量和槽语义向量融合方法参见图6,具体包括:
首先,引入一个对话上下文与槽共享的相似度矩阵,计算对话上下文和当前槽语义之间的相似度。然后,动态地选出对对话上下文词而言,相似度最大槽语义词,进行拼接,并进行归一化。最后,相似度值矩阵和对话上下文词向量之间进行加权求和,并将得到的向量扩展至N维,得到的是融合槽语义的对话上下文词向量,基于该向量通过池化操作得到语义向量
示例性地,如图7所示,首先引入一个对话上下文与槽共享的相似度矩阵其中N是当前对话上下文长度,M是槽语义长度,故Sn,m是第n对话Token和第m槽语义Token的相似度。相似度计算方法为/>其中,/>是可训练参数,/>是第t轮对话上下文词向量的第n个列向量,/>是当前第j槽语义词向量的第m个列向量,⊙是哈达玛积(Hadamard product),[;]表示向量拼接;然后,通过max函数动态地选出对对话上下文词而言,相似度最大槽语义词,进行拼接,并进行softmax归一化;得到从槽/>到对话上下文Ht的注意力权重/>通过b=softmax(max(S))得到;之后,注意权重b与对话上下文Ht加权求和,得到矩阵/>最后,将/>重复N次得到对话上下文和槽语义融合的词向量/>作为融合槽语义的对话上下文词向量,由公式/>可得;其中/>是模型训练参数;对应的融合槽语义的对话上下文句子向量由/>可得,其中,BERTpooling表示BERT模型中的池化层;
构建两个辅助特征,第一,一个槽位的槽值在上一轮被系统提及,则为1,否则为0;第二,一个槽位的槽值在上一轮已经进行填充,则为1,否则为0;依据此信息,分别构建两个one-hot向量并编码为高维向量,再将高维向量拼接到步骤d中槽位信息融合对话上下文语义向量,获取增强的对话上下文语义向量;
所述获取增强的对话上下文句子向量方法参见图8,具体包括:
记录上一轮中槽位被系统提及情况,一个槽位被提及,则为1,否则0,即得到大小为槽位数量的0-1编码;同理,记录上一轮中槽位填充情况,一个槽位被填充,则为1,否则0,即得到大小为槽位数量的0-1编码;将得到的0-1编码通过线性层映射到高维向量,并与槽位信息融合对话上下文句子向量进行拼接,并进行下采样得到增强的对话上下文句子向量;
将得到的融合槽语义的对话上下文词向量输入到线性分类层确定当前槽位对应的槽值的跨度信息;增强的对话上下文句子向量分别输入到槽值提取类型分类层和槽位指代预测分类层确定槽值提取类型和指代的槽位,确定当前槽位对应的槽值;
所述确定槽位对应的槽值具体参见图9,具体包括:
槽值提取类型分为span、inform、refer、true、false、dontcare和none七种类型,当前槽位的槽值如果可以从当前的对话上下文的用户语句中直接提取,则槽值提取类型为span;如果从前轮对话中系统提到并被用户接受的槽值,则槽值提取类型为inform;如果当前槽位指向前几轮已经提取槽值的某一个槽位,则槽值提取类型为refer;如果当前槽位的槽值是布尔类型,则其槽值提取类型为true或false;none和doncare专门处理当前对话上下文下没有被提到的槽位或者可以接受任何槽值的槽位;
将增强的对话上下文句子向量输入到一个分7类的提取类型分类器,确定当前槽位的槽值提取类型,即通过槽共享的槽值提取类型分类模块,确定当前槽的槽值提取类型;当前对话上下文中,当前槽的槽值提取类型通过公式得到;值得注意的是,Wg和bg是槽共享的训练参数,所涉及的训练参数都是同样是槽共享的,将不在赘述。
如果槽值提取类型为true、false、dontcare或者none,直接确定其槽值;预测的提取类型in form的槽的槽值直接从系统内存中提取(因为被系统提及,所以对系统已知的);如果槽值提取类型为span,将槽位信息融合的槽位信息融合的对话上下文词向量输入到跨度预测分类器,确定槽值在对话文本中的开始位置和结束位置,通过如下公式得到;
如果槽值提取类型为refer,通过一个槽共享的槽指向分类模块来确定当前的槽所指向的槽,将当前槽指向的槽的槽值复制到当前槽,由得到;
确定完当前轮次中所有槽位的槽值,通过基于规则更新策略新上一轮对话状态;
所述基于规则更新策略具体参见图10,具体包括:
如果当前轮次中某一个槽位的槽值为非none,则覆盖上一轮该槽位的槽值,以此类推,更新所有槽位的槽值;
损失函数采用交叉熵损失,分别计算预测的槽值提取类型和真实标签/>之间的损失Lg;预测的槽指向槽/>和真实标签/>$之间的交叉熵损失Lr;计算预测的槽值跨域开始位置/>和真实/>之间的交叉熵损失Lstart;结束位置/>和真实/>之间的交叉熵损失Lend。最后,优化这四个损失的加权联合损失L,计算方法为α∈[0,1]是一个平衡系数;
图11展示的是基于槽位共享跨度预测的多领域对话状态追踪装置的结构示意图,包括:多领域对话状态追踪数据构建模块、对话上下文和槽语义编码器模块、对话上下文和槽语义融合模块、槽值提取模块和对话状态更新模块组成,其中:
多领域对话状态追踪数据构建模块:获取多领域对话状态追踪数据集,对数据集进行处理,构建基于跨度预测的多领域对话状态追踪数据集,具体包括数据集标注单元,用于在数据集中标注槽值起始与结束位置,每个槽位在当前对话内容中槽值提取类型;对话上下文构建单元,将用户与系统之间首轮至上一轮的对话内容作为对话历史,与当前用户语句进行拼接,[SEP]作为标识;然后在开始位置添加特殊标记[CLS],结束位置添加特殊标记[SEP],作为对话上下文;
对话上下文和槽语义编码器模块:用BERT预训练模型对对话上下文进行编码,对话上下文高维向量;利用槽位名称、槽位描述和槽位分类属性等细粒度信息进行拼接,并通过用BERT预训练模型对其进行编码得到槽语义信息词向量;
对话上下文和槽位语义融合模块:通过计算当前槽语义词向量和对话上下文词向量之间的相似度分数,选择相似度最高的槽位词的词向量并扩展至对话上下文词向量大小,与其进行内积计算,然后进行拼接获取槽位信息融合的对话上下文词向量,并通过池化层获取槽位信息融合的对话上下文语义句子向量;再构建两个辅助特征,即第一,如果一个槽位的槽值在上一轮被系统提及,则为1,否则为0;第二,如果一个槽位的槽值在上一轮已经进行填充,则为1,否则为0;将构建的两个one-hot向量并编码为高维向量,将高维向量拼接到槽位信息融合对话上下文词向量,获取增强的对话上下文语义词向量;
槽值提取模块:将增强的对话上下文语义向量输入到一个分7类的提取类型分类器,确定当前槽位的槽值提取类型,槽值提取类型分为span、inform、refer、true、false、dontcare和none七种类型;针对槽值提取类型为inform、true、false、dontcare或none的槽位,直接确定其槽值;针对槽值提取类型为span的槽位,将槽位信息融合的对话上下文词向量输入到跨度预测分类器,获取槽值;针对槽值提取类型为refer的槽位,将槽位信息融合的对话上下文语义向量指代预测分类器,确定指向的槽位,从而获取槽值;
对话状态更新模块:确定完当前轮次中所有槽位的槽值,用当前轮次中某一个槽位的槽值为非none的槽值覆盖上一轮该槽位的槽值,以此类推,更新所有槽位的槽值;
如图12所示,所述电子设备包括:一个或多个多核处理器、一个或多个GPU计算卡、存储器,为使电子设备产生交互,还应包括:输入设备、输出设备,各种设备之间通过总线进行互联通信;
存储器即为本发明所提供的非瞬时计算机可读存储介质;其中,所述存储器由至少一个多核处理器或至少一个GPU计算卡执行的指令,以使本申请所提供的多领域对话状态追踪方法被执行;本发明的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本发明所提供的多领域对话状态追踪方法;
输入设备,提供并接受用户输入到电子设备中的控制信号,包括产生数字或字符信息的键盘以及用来控制设备产生其他关键信号的鼠标;输出设备提供用户电子设备的反馈信息,包括打印执行结果或过程的显示器。
本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。
Claims (6)
1.一种基于槽位共享跨度预测的多领域对话状态追踪方法,其特征在于按下列步骤进行:
a、获取多领域对话状态追踪数据集,对数据集进行处理,构建适合跨度预测方法的对话状态追踪数据集;
b、将用户与系统之间首轮至上一轮的对话内容作为对话历史,与当前用户语句进行拼接, [SEP]作为标识;之后在开始位置添加特殊标记[CLS],结束位置添加特殊标记[SEP],并将其作为对话上下文输入到BERT语言模型进行编码,将整个输出作为上下文词向量;
c、利用槽位名称、槽位描述和槽位属性作为细粒度语义信息,在开始位置添加特殊标记[CLS],结束位置添加特殊标记[SEP],并用冻结参数BERT语言模型进行编码,把整个输出作为槽语义上下文表示,获取所有槽位的槽语义上下文词向量;
d、在融合当前槽位语义和对话上下文时,从步骤c中槽语义上下文词向量表示中动态选择对当前每个对话上下文词而言最重要的槽位词向量,融合到对话上下文中,获取槽位信息融合的对话上下文词向量,并通过池化层获取槽位信息融合的对话上下文语义向量;
e、构建两个辅助特征,第一,一个槽位的槽值在上一轮被系统提及,则为1,否则为0;第二,一个槽位的槽值在上一轮已经进行填充,则为1,否则为0;依据此信息,分别构建两个one-hot向量并编码为高维向量,再将高维向量拼接到步骤d中槽位信息融合对话上下文语义向量,获取增强的对话上下文语义向量;
f、槽值提取类型分为span、inform、refer、true、false、dontcare和none七种类型,将步骤e中获取的增强的对话上下文语义向量输入到一个分7类的提取类型分类器,确定当前槽位的槽值提取类型;
g、根据步骤f中的提取类型,当一个槽位的槽值提取类型为inform、true、false、dontcare或none,直接确定其槽值;当槽位的槽值提取类型为span,将槽位信息融合的槽位信息融合的对话上下文词向量输入到跨度预测分类器,获取槽值;当槽位的槽值提取类型为refer,将槽位信息融合的对话上下文语义向量指代预测分类器,确定指向的槽位,从而获取槽值;
h、将确定完当前轮次中所有槽位的槽值之后,当前轮次中某一个槽位的槽值为非none,则覆盖上一轮该槽位的槽值,以此类推,更新所有槽位的槽值。
2.根据权利要求1所述的一种基于槽位共享跨度预测的多领域对话状态追踪方法,其特征在于,步骤d中的融合方法通过计算当前槽位词向量和对话上下文词向量之间的相似度分数,选择相似度最高的槽位词的词向量并扩展至对话上下文词向量大小,并与其进行内积计算,然后进行拼接获取槽位信息融合的对话上下文词向量。
3.根据权利要求1所述的一种基于槽位共享跨度预测的多领域对话状态追踪方法,其特征在于,步骤f和步骤g中的所述的分类器的训练参数为所有槽位共享。
4.一种基于槽位共享跨度预测的多领域对话状态追踪装置,其特征在于该装置是由权利要求1所述方法涉及的装置,是由多领域对话状态追踪数据构建模块,对话上下文和槽语义编码器模块,对话上下文和槽语义融合模块,槽值提取模块和对话状态更新模块组成,其中:
多领域对话状态追踪数据构建模块:获取多领域对话状态追踪数据集,对数据集进行处理,构建基于跨度预测的多领域对话状态追踪数据集,具体包括数据集标注单元,用于在数据集中标注槽值起始与结束位置,每个槽位在当前对话内容中槽值提取类型;对话上下文构建单元,将用户与系统之间首轮至上一轮的对话内容作为对话历史,与当前用户语句进行拼接, [SEP]作为标识;之后在开始位置添加特殊标记[CLS],结束位置添加特殊标记[SEP],作为对话上下文;
对话上下文和槽语义编码器模块:用BERT预训练模型对对话上下文进行编码,对话上下文高维向量;利用槽位名称、槽位描述和槽位分类属性等细粒度信息进行拼接,并通过用BERT预训练模型对其进行编码得到槽语义信息词向量;
对话上下文和槽位语义融合模块:通过计算当前槽语义词向量和对话上下文词向量之间的相似度分数,选择相似度最高的槽位词的词向量并扩展至对话上下文词向量大小,与其进行内积计算,然后进行拼接获取槽位信息融合的对话上下文词向量,并通过池化层获取槽位信息融合的对话上下文语义句子向量;再构建两个辅助特征,第一,一个槽位的槽值在上一轮被系统提及,则为1,否则为0;第二,一个槽位的槽值在上一轮已经进行填充,则为1,否则为0;依据此信息,分别构建两个one-hot向量并编码为高维向量,再将高维向量拼接到槽位信息融合对话上下文语义向量,获取增强的对话上下文语义向量;
槽值提取模块:将增强的对话上下文语义向量输入到一个分7类的提取类型分类器,确定当前槽位的槽值提取类型,槽值提取类型分为span、inform、refer、true、false、dontcare和none七种类型;针对槽值提取类型为inform、true、false、dontcare或者none的槽位,直接确定其槽值;针对槽值提取类型为span的槽位,将槽位信息融合的对话上下文词向量输入到跨度预测分类器,获取槽值;针对槽值提取类型为refer的槽位,将槽位信息融合的对话上下文语义向量指代预测分类器,确定指向的槽位,从而获取槽值;
对话状态更新模块:确定完当前轮次中所有槽位的槽值,用当前轮次中某一个槽位的槽值为非none的槽值覆盖上一轮该槽位的槽值,以此类推,更新所有槽位的槽值。
5.一种电子设备,其特征在于,该设备包括:至少一个处理器;至少一张GPU计算卡;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行或所述至少一个GPU计算卡执行,以使所述至少一个处理器能或所述至少一个GPU计算卡能够执行权利要求1-3中所述的方法。
6.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-3中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310547236.6A CN116956942A (zh) | 2023-05-16 | 2023-05-16 | 基于槽位共享跨度预测的多领域对话状态追踪方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310547236.6A CN116956942A (zh) | 2023-05-16 | 2023-05-16 | 基于槽位共享跨度预测的多领域对话状态追踪方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116956942A true CN116956942A (zh) | 2023-10-27 |
Family
ID=88445078
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310547236.6A Pending CN116956942A (zh) | 2023-05-16 | 2023-05-16 | 基于槽位共享跨度预测的多领域对话状态追踪方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116956942A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117150023A (zh) * | 2023-10-27 | 2023-12-01 | 南京邮电大学 | 一种面向智能对话系统的对话状态追踪方法 |
CN117590944A (zh) * | 2023-11-28 | 2024-02-23 | 上海源庐加佳信息科技有限公司 | 实体人对象和数字虚拟人对象的绑定系统 |
-
2023
- 2023-05-16 CN CN202310547236.6A patent/CN116956942A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117150023A (zh) * | 2023-10-27 | 2023-12-01 | 南京邮电大学 | 一种面向智能对话系统的对话状态追踪方法 |
CN117590944A (zh) * | 2023-11-28 | 2024-02-23 | 上海源庐加佳信息科技有限公司 | 实体人对象和数字虚拟人对象的绑定系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110162749B (zh) | 信息提取方法、装置、计算机设备及计算机可读存储介质 | |
CN111488931B (zh) | 文章质量评估方法、文章推荐方法及其对应的装置 | |
CN110737758A (zh) | 用于生成模型的方法和装置 | |
CN111858940B (zh) | 一种基于多头注意力的法律案例相似度计算方法及系统 | |
CN110990555B (zh) | 端到端检索式对话方法与系统及计算机设备 | |
CN110688854A (zh) | 命名实体识别方法、装置及计算机可读存储介质 | |
CN113705313A (zh) | 文本识别方法、装置、设备及介质 | |
CN110678882A (zh) | 使用机器学习从电子文档选择回答跨距 | |
KR20210034679A (ko) | 엔티티-속성 관계 식별 | |
Huang et al. | C-Rnn: a fine-grained language model for image captioning | |
CN114358201A (zh) | 基于文本的情感分类方法和装置、计算机设备、存储介质 | |
CN116956942A (zh) | 基于槽位共享跨度预测的多领域对话状态追踪方法、装置、设备及存储介质 | |
CN116245097A (zh) | 训练实体识别模型的方法、实体识别方法及对应装置 | |
CN111145914B (zh) | 一种确定肺癌临床病种库文本实体的方法及装置 | |
CN116955579B (zh) | 一种基于关键词知识检索的聊天回复生成方法和装置 | |
CN117648429A (zh) | 基于多模态自适应检索式增强大模型的问答方法及系统 | |
CN113705222A (zh) | 槽识别模型训练方法及装置和槽填充方法及装置 | |
CN116362242A (zh) | 一种小样本槽值提取方法、装置、设备及存储介质 | |
CN116562291A (zh) | 一种基于边界检测的中文嵌套命名实体识别方法 | |
CN113723111B (zh) | 一种小样本意图识别方法、装置、设备及存储介质 | |
CN115906855A (zh) | 一种字词信息融合的中文地址命名实体识别方法及装置 | |
CN113704466B (zh) | 基于迭代网络的文本多标签分类方法、装置及电子设备 | |
CN112287159B (zh) | 检索方法、电子设备及计算机可读介质 | |
CN115238080A (zh) | 实体链接方法及相关设备 | |
CN113807512B (zh) | 机器阅读理解模型的训练方法、装置及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |