CN112417864B - 基于门控拷贝和掩码的多轮对话省略恢复方法 - Google Patents
基于门控拷贝和掩码的多轮对话省略恢复方法 Download PDFInfo
- Publication number
- CN112417864B CN112417864B CN202011366188.3A CN202011366188A CN112417864B CN 112417864 B CN112417864 B CN 112417864B CN 202011366188 A CN202011366188 A CN 202011366188A CN 112417864 B CN112417864 B CN 112417864B
- Authority
- CN
- China
- Prior art keywords
- context
- word
- sentence
- gating
- omitted sentence
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000011084 recovery Methods 0.000 title abstract description 18
- 239000013598 vector Substances 0.000 claims abstract description 105
- 230000007246 mechanism Effects 0.000 claims abstract description 29
- 230000011218 segmentation Effects 0.000 claims abstract description 5
- 238000004364 calculation method Methods 0.000 claims description 43
- 239000010410 layer Substances 0.000 claims description 32
- 239000011159 matrix material Substances 0.000 claims description 12
- 238000013507 mapping Methods 0.000 claims description 7
- 230000004913 activation Effects 0.000 claims description 6
- 230000000873 masking effect Effects 0.000 claims description 5
- 238000013528 artificial neural network Methods 0.000 claims description 4
- 230000002457 bidirectional effect Effects 0.000 claims description 3
- 238000012512 characterization method Methods 0.000 claims description 3
- 238000004140 cleaning Methods 0.000 claims description 3
- 230000004927 fusion Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 claims description 3
- 239000002356 single layer Substances 0.000 claims description 3
- 230000017105 transposition Effects 0.000 claims description 3
- 125000004122 cyclic group Chemical group 0.000 claims description 2
- 230000006870 function Effects 0.000 description 11
- 238000004590 computer program Methods 0.000 description 3
- 238000005065 mining Methods 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- 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/216—Parsing using statistical methods
-
- 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
-
- 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/047—Probabilistic or stochastic networks
-
- 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/048—Activation functions
-
- 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/08—Learning methods
-
- 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)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Probability & Statistics with Applications (AREA)
- Machine Translation (AREA)
Abstract
本发明提出了一种基于门控拷贝和掩码的多轮对话省略恢复方法,获取原始省略句和其上下文文本内容;使用分词工具对文本进行分词,使用词典将词语序列映射为数字序列;使用预训练好的词向量文件来表示词语;基于门控机制,融合多头自注意力信息和Bi‑GRU的门控编码器,对省略句词向量序列和上下文词向量序列进行语义编码;基于软掩码机制,计算省略句的软掩码特征;利用掩码解码器,计算词表的概率分布;计算上下文词语的分值,使用Softmax函数对分值进行归一化,得到上下文概率分布;利用门控单元将词表的概率分布和上下文概率分布相加,得到最终的省略词概率分布,选择省略句的填充内容。本发明提高了省略恢复结果准确度。
Description
技术领域
本发明涉及自然语言处理领域,具体涉及一种基于门控拷贝和掩码的多轮对话省略恢复方法。
背景技术
为了避免重复的口语表达习惯,在多轮对话场景下,语句的省略现象非常频繁。人可以很容易的根据对话场景信息以及历史对话信息进行意图推断和省略内容恢复,但是这对于现阶段的对话模型来说却是非常困难的,特别是在任务导向的多轮对话中。表1中举出一个关于饭店推荐的多轮对话例子。在例子中,Human2和Human3都省略了饭店名称LittleSeoul。从这个例子可以看出,不同于多轮闲聊对话,任务导向的多轮对话省略的内容更多是实体信息,比如例子中的LittleSeoul。这些实体内容常常蕴含对话的意图信息、主题信息或者是推进模式信息,这有助于任务导向的多轮对话系统根据用户请求生成合适的回复。因此,任务导向的多轮对话省略恢复对于把握对话信息具有重要的作用。然而,目前现有的省略恢复方法存在许多问题。例如,现有技术中,针对多轮对话中文本的语义信息建模比较简单,但是多轮对话中短句相比较规范文本,表述更加随意,语义信息挖掘较规范文本更加困难;现有技术在解码时采用序列到序列的文本生成式方案,但是该方案存在传播误差和语义偏离的问题,错误的历史生成结果会影响未来的预测结果。
表1多轮对话省略样例表
表中,加粗部分表示缺失的内容,同时也代表对话的意图和主题是饭店订餐。
发明内容
本发明的目的在于提出一种基于门控拷贝和掩码的多轮对话省略恢复方法。
实现本发明目的的技术解决方案为:一种基于门控拷贝和掩码的多轮对话省略恢复方法,包括如下步骤:
步骤1,获取原始省略句和其上下文文本内容,其中原始省略句是当前对话轮次下需要填充的省略句,上下文文本是指包含了当前轮次以及之前所有轮次的对话语句集合;
步骤2,先对目标文本进行去噪、清洗,再使用分词工具对清洗后的文本进行分词,最后使用词典将词语序列映射为数字序列;
步骤3,使用预训练好的词向量文件来表示词语,若词语出现在词向量文件中,则用文件中相对应的向量来表示词语;若词语不在文件中,则使用随机初始化得到的向量来表示;
步骤4,基于门控机制,融合多头自注意力信息和Bi-GRU的门控编码器,对省略句词向量序列和上下文词向量序列进行语义编码,分别得到省略句和上下文的语义编码向量,以及省略句和上下文序列的状态向量;
步骤5,基于软掩码机制,结合省略句编码结果以及上一时刻省略句和上下文序列的状态向量,为省略句内每一个词设置权重,计算省略句的软掩码特征;
步骤6,利用掩码解码器,结合省略句的软掩码特征、上一时刻省略句的词向量表示以及省略句和上下文序列的状态向量,计算当前时刻省略句和上下文序列的状态向量,确定词表的概率分布;
步骤7,根据上下文编码结果、当前时刻省略句和上下文序列的状态向量以及省略句的软掩码特征,计算上下文词语的分值,再使用Softmax函数对分值进行归一化,得到上下文概率分布;
步骤8,用门控单元将词表的概率分布和上下文概率分布相加,得到最终的省略词概率分布,选择省略句的填充内容。
进一步的,步骤3中,使用预训练好的词向量文件来表示词语,若词语出现在词向量文件中,则用文件中相对应的向量来表示词语;若词语不在文件中,则使用随机初始化得到的向量来表示,具体方法为:使用GloVe预训练好的50维度词向量作为词向量矩阵,得到省略句和上下文词向量序列eu和ec,上标u和c分别表示省略句(Utterance)和上下文(Context)。
进一步的,其特征在于,步骤4中,基于门控机制,融合多头自注意力信息和Bi-GRU的门控编码器,对省略句词向量序列和上下文词向量序列进行语义编码,分别得到省略句和上下文的语义编码向量,具体方法为:
门控语义编码器包括GRU(门控循环神经网络)层和多头自注意力特征计算层,其中,GRU层使用的是单层双向GRU网络BiGRU,省略句和上下文序列中的每一个词都被表示为其前向和后向GRU隐层向量的拼接,省略句和上下文序列的状态向量被表示为GRU前后状态向量的拼接,分别将省略句和上下文词向量序列作为GRU层输入,则得到省略句和上下文的编码结果为:
hu,su=BiGRU(eu) (1)
hc,sc=BiGRU(ec) (2)其中,hu和hc分别是省略句和上下文的编码结果,su和sc是Bi-GRU最终状态向量,eu和ec是省略短句和上下文经过嵌入层的词序列表征结果;
多头自注意力机制使用多个头各自独立地进行运算,从不同角度提取注意力信息,帮助模型从上下文提取省略内容,因此,在门控语义编码器中加入了多头自注意力特征计算层;多头自注意力特征计算层会同时将请求矩阵Q,键矩阵K,值矩阵V作为输入,这里分别将省略句和上下文的GRU编码结果hu和hc作为Q,K,V输入到多头自注意力特征计算层,分别得到注意力计算特征结果,表示如下:
mu=MultiHead(hu,hu,hu) (3)
mc=MultiHead(hc,hc,hc) (4)
经过注意力特征计算,省略句GRU编码结果hu通过计算得到多头注意力特征mu,同样地,针对上下文也做了相同的操作,得到了上下文的多头注意力特征mc;
多头自注意力特征具体的计算步骤如下:
其中,dk是编码结果的向量维度大小,WO、Wi Q、Wi K、Wi V分别是可学习参数,上标O表示输出(Output),Q,K和V表示查询(Query),键(Key)和值(Value),下标i表示多头注意力中的序号,concat表示拼接函数;
最后,分别将省略句和上下文的GRU编码结果和多头自注意力特征使用门控机制进行融合,得到省略句和上下文最终的门控语义编码结果,具体的计算过程如下:
pc=σ(W1hc+b1) (7)
pu=σ(W2hu+b2) (8)
gc=pchc+(1-pc)mc (9)
gu=puhu+(1-pu)mu (10)
其中,W1、W2、b1、b2是可学习参数,σ是激活函数Sigmoid,pc和pu分别是针对上下文和省略句编码的门控单元,mc和mu分别是上下文和省略句的多头自注意力特征计算结果,gc和gu分别是门控语义编码的最终结果。
进一步的,步骤5中,基于软掩码机制,结合省略句编码结果以及上一时刻省略句和上下文序列的状态向量,为省略句内每一个词设置权重,计算省略句的软掩码特征,具体方法为:
计算t时刻下省略句位置i处的词语得分scoreit:
其中,v、W3、W4和b3是可学习的参数,是省略句位置i处的词经过门控语义编码器编码后的结果向量,下标i表示词语在句子中的位置序号,t表示当前解码位置,T表示转置,tanh是双曲正切三角函数;
为省略句中词语的编码向量赋权值at:
at=soft max(scoret) (12)
其中,scoret表示第t时刻下省略句的所有词语得分,
计算软掩码特征
作为省略句的软掩码特征,后续会输入解码器和拷贝模块用来计算词表概率分布和上下文词语的概率分布。
进一步的,步骤6中,利用掩码解码器,结合省略句的软掩码特征、上一时刻省略句的词向量表示以及省略句和上下文序列的状态向量,计算当前时刻省略句和上下文序列的状态向量,确定词表的概率分布,具体方法为:
掩码解码器采用单向GRU网络作为主要信息计算单元,掩码解码器接收省略语句的词向量信息eu t-1、省略句的软掩码特征信息解码状态向量st-1作为输入,经过解码器计算后得到当前时刻下的GRU单元计算结果st,通过使用全连接层映射GRU单元计算结果,得到当前时刻下词表的概率分布,计算公式为:
scorevocab=W7st+b5 (15)
Pv=soft max(scorevocab) (16)其中,W7和b5都是可学习的参数,下标vocab表示是针对词表范围,scorevocab是经过全连接映射后的得分,Pv是词表概率。
进一步的,步骤7中,根据上下文编码结果、当前时刻省略句和上下文序列的状态向量以及省略句的软掩码特征,计算上下文词语的分值,再使用Softmax函数对分值进行归一化,得到上下文概率分布,具体方法为:
Pc=softmax(scorecontext) (18)其中,W5、v'T、W6和b4是可学习参数,gc是上下文经过门控编码器得到的编码结果,上标'无实际意义,进用作区分,下标context表示针对上下文范围,scorecontext是上下文词语得分,gt *是软掩码特征,pc是上下文概率分布,st是GRU单元计算结果,gc是上下文门控语义编码结果。
进一步的,步骤8中,用门控单元将词表的概率分布和上下文概率分布相加,得到最终的省略词概率分布,选择省略句的填充内容,具体方法为:
其中,W8和b6分别是可学习参数,是指上下文中第i个词语,所有数字下标仅用作区分,无实际意义,et-1是t-1时刻的省略句词向量,/>是软掩码特征,σ是激活函数Sigmoid,Pgen是概率分布融合门控单元,Pv和Pc分别是词表概率分布和上下文概率分布,概率最大的词语会被选择作为省略句的填充内容。
进一步的,还包括步骤9,使用硬掩码机制来对生成结果进行约束和修正。
一种基于门控拷贝和掩码的多轮对话省略恢复系统,基于所述的方法进行多轮对话省略恢复。
本发明与现有技术相比,其显著优点为:1)在语义编码层,采用了融合了多头自注意力信息和Bi-GRU信息的门控编码器(Gated Encoder),针对不规范文本的语义信息挖掘能力更强;2)在解码层,使用了基于门控拷贝和掩码机制的掩码解码器(Mask Decoder),使用拷贝模块从省略句上下文中提取有效信息,使用硬掩码和软掩码来约束生成结果,有效缓解了序列到序列解码模式存在的语义偏离和传播误差,省略恢复结果更加的准确。
附图说明
图1是本发明的对话省略恢复流程图。
图2是本发明的基于门控拷贝机制和掩码机制的省略恢复模型图。
图3是本发明的解码器中掩码机制的运行原理图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
如图1所示,基于门控拷贝和掩码的多轮对话省略恢复方法,包括如下步骤:
步骤1,文本获取
获取原始省略句和其上下文文本内容。在一个多轮对话场景下,原始省略句是当前对话轮次下需要填充的省略句,上下文文本是指包含了当前轮次以及之前所有轮次的对话语句集合。
步骤2,文本预处理
首先,对目标文本进行去噪、清洗,再使用分词工具对清洗后的文本进行分词,最后使用词典将词语序列映射为数字序列。
步骤3,词语嵌入表示
使用预训练好的词向量文件来表示词语,若词语出现在词向量文件中,则用文件中相对应的向量来表示词语;若词语不在文件中,则使用随机初始化得到的向量来表示。本发明使用GloVe预训练好的50维度词向量作为词向量矩阵,针对省略句和上下文词语序列进行词向量映射,分别得到省略句和上下文词向量序列eu和ec,上标u和c分别表示省略句(Utterance)和上下文(Context)。
步骤4,语义编码
使用一种借助门控机制融合了多头自注意力信息和Bi-GRU的门控编码器对省略句词向量序列和上下文词向量序列进行语义编码,分别得到省略句和上下文的语义编码向量。下面详细解释门控语义编码器的工作原理。
在门控语义编码器中,包含了GRU(门控循环神经网络)层和多头自注意力特征计算层。其中,在GRU层使用的是单层双向GRU网络BiGRU,省略句和上下文序列中的每一个词都被表示为其前向和后向GRU隐层向量的拼接,省略句和上下文序列的状态向量被表示为GRU前后状态向量的拼接。
GRU层分别将省略句和上下文词向量序列作为输入,得到省略句和上下文的编码结果。
hu,su=BiGRU(eu) (1)
hc,sc=BiGRU(ec) (2)
其中,hu和hc分别是省略句和上下文的编码结果,su和sc是Bi-GRU最终状态向量,eu和ec是省略短句和上下文经过嵌入层的词序列表征结果。
受Transformer启发,自注意力机制可以隐式地获取序列内词语的依赖关系,这可以帮助使用RNN(循环神经网络)结构的编码器在时序特征的基础上融入词语依赖信息。而多头自注意力机制使用多个头各自独立地进行运算,可以从不同角度提取注意力信息,有效帮助模型从上下文提取省略内容。因此,在门控语义编码器中加入了多头自注意力特征计算层。多头自注意力特征计算层会同时将请求矩阵Q,键矩阵K,值矩阵V作为输入,这里分别将省略句和上下文的GRU编码结果hu和hc作为Q,K,V输入到多头自注意力特征计算层,分别得到注意力计算特征结果。
mu=MultiHead(hu,hu,hu) (3)
mc=MultiHead(hc,hc,hc) (4)
经过注意力特征计算,省略句GRU编码结果hu通过计算得到多头注意力特征mu。同样地,针对上下文也做了相同的操作,得到了上下文的多头注意力特征mc。其中,多头自注意力特征具体的计算步骤如下:
其中,dk是编码结果的向量维度大小,WO、Wi Q、Wi K、Wi V分别是可学习参数,上标O表示输出(Output),Q,K和V表示查询(Query),键(Key)和值(Value),下标i表示多头注意力中的序号,concat表示拼接函数。
最后,分别将省略句和上下文的GRU编码结果和多头自注意力特征使用门控机制进行融合,得到省略句和上下文最终的门控语义编码结果。具体的计算过程如下:
pc=σ(W1hc+b1) (7)
pu=σ(W2hu+b2) (8)
gc=pchc+(1-pc)mc (9)
gu=puhu+(1-pu)mu (10)
其中,W1、W2、b1、b2是可学习参数,σ是激活函数Sigmoid,pc和pu分别是针对上下文和省略句编码的门控单元,mc和mu分别是上下文和省略句的多头自注意力特征计算结果,gc和gu分别是门控语义编码的最终结果。
步骤5,计算软掩码特征
软掩码机制,也可以称为注意力机制,通过结合解码状态与省略句编码结果,计算分值来为省略句内每一个词设置权重,权重表示每一个词对于当前位置省略恢复的贡献度,从而提供了省略句的边界约束信息。
初始的解码状态s0设置为省略句和上下文的门控语义编码状态向量su和sc的拼接,后续的解码状态都是以上一时刻的状态向量st-1。计算方法如下:
at=soft max(scoret) (12)
其中,v、W3、W4和b3是可学习的参数,是省略句位置i处的词经过门控语义编码器编码后的结果向量,下标i表示词语在句子中的位置序号,t表示当前解码位置,T表示转置。权重at为省略句中词语的编码向量赋权值,从而得到软掩码特征/>上标*不存在实际意义,仅用作区分。scoreit是第t时刻下省略句位置i处的词语得分,scoret表示第t时刻下省略句的所有词语得分。tanh是双曲正切三角函数。
作为省略句的软掩码特征,后续会输入解码器和拷贝模块用来计算词表概率分布和上下文词语的概率分布。
步骤6,计算词表概率分布
掩码解码器采用单向GRU网络作为主要信息计算单元。掩码解码器接收省略语句的词向量信息eu t-1、省略句的软掩码特征信息解码状态向量st-1作为输入,经过解码器计算后得到当前时刻下的GRU单元计算结果st。通过使用全连接层映射GRU单元计算结果得到当前时刻下词表的概率分布。计算公式如下:
scorevocab=W7st+b5 (15)
Pv=soft max(scorevocab) (16)
其中,W7和b5都是可学习的参数,下标vocab表示是针对词表范围,scorevocab是经过全连接映射后的得分,Pv是词表概率。
步骤7,计算上下文概率分布
首先,根据上下文编码结果同当前时刻下的GRU单元计算结果和省略句的软掩码特征计算上下文词语的分值,再使用Softmax函数对分值进行归一化,从而得到上下文概率分布。
Pc=soft max(scorecontext) (18)
其中,W5、v'T、W6和b4是可学习参数,gc是上下文经过门控编码器得到的编码结果,上标'无实际意义,进用作区分,下标context表示针对上下文范围,scorecontext是上下文词语得分,是软掩码特征,pc是上下文概率分布,st是GRU单元计算结果,gc是上下文门控语义编码结果。
步骤8,使用门控拷贝机制,将上下文概率分布和词表概率分布通过门控单元进行融合,得到最终的词语概率分布,概率最大的词语会被选择作为省略句的填充内容。
其中,W8和b6分别是可学习参数,是指上下文中第i个词语,所有数字下标仅用作区分,无实际意义,et-1是t-1时刻的省略句词向量,/>是软掩码特征,σ是激活函数Sigmoid,Pgen是概率分布融合门控单元,Pv和Pc分别是词表概率分布和上下文概率分布。
步骤9,使用硬掩码机制来对生成结果进行约束和修正
这种机制认为解码时省略句的信息是已知的,但是省略句中相邻词之间是否存在缺省的内容,这是未知的。解码器需要利用省略句的边界信息并将它作为一种约束条件来生成省略句内相邻词之间的省略内容,从而达到省略恢复的目标。这种约束条件,称之为硬掩码。硬掩码保证了模型生成结果能够完整保留省略句所有信息,有效抑制传播偏差和语义偏离的影响。为了更直观地了解硬掩码的执行原理,使用了一个例子来进行解释,具体内容如图3所示。
为了便于描述,为Utterance中的每一个词标上位置序号,Go、i、don’t、care、EOS分别位于0、1、2、3、4位置。算法执行顺序如下:
(1)首先,解码器位于位置0,在开始标志Go输入解码器后,解码器预测的词为i,而i位于Utterance中位置1,所以这表明i和go之间不存在省略,解码器继续移动到位置1。
(2)Utterance位置1的词i作为输入,预测词为don’t,是Utterance位置2的词,所以不存在省略,解码器移动到位置2。
(3)同理,位置2不存在省略,解码器移动到位置3。
(4)在位置3,此时预测结果为about,不同于位置4的词EOS,因此about是位置3的省略内容,将about作为输入继续预测。
(5)将about作为输入预测,得到预测词语phone为省略内容。
(6)同理number也是省略内容。
(7)解码器以number作为输入,预测词EOS,和省略句中位置4的词一致,因此位置3和位置4之间的预测结果为about、phone、number,且EOS为句末结束标志,因此解码结束。最终模型省略恢复结果为Idon’t care about phone number EOS。
本发明还提出一种基于门控拷贝和掩码的多轮对话省略恢复系统,基于所述的方法进行多轮对话省略恢复。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的方法进行多轮对话省略恢复。
1一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的方法进行多轮对话省略恢复。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (9)
1.一种基于门控拷贝和掩码的多轮对话省略恢复方法,其特征在于,包括如下步骤:
步骤1,获取原始省略句和其上下文文本内容,其中原始省略句是当前对话轮次下需要填充的省略句,上下文文本是指包含了当前轮次以及之前所有轮次的对话语句集合;
步骤2,先对目标文本进行去噪、清洗,再使用分词工具对清洗后的文本进行分词,最后使用词典将词语序列映射为数字序列;
步骤3,使用预训练好的词向量文件来表示词语,若词语出现在词向量文件中,则用文件中相对应的向量来表示词语;若词语不在文件中,则使用随机初始化得到的向量来表示;
步骤4,基于门控机制,融合多头自注意力信息和Bi-GRU的门控编码器,对省略句词向量序列和上下文词向量序列进行语义编码,分别得到省略句和上下文的语义编码向量,以及省略句和上下文序列的状态向量;
步骤5,基于软掩码机制,结合省略句编码结果以及上一时刻省略句和上下文序列的状态向量,为省略句内每一个词设置权重,计算省略句的软掩码特征;
步骤6,利用掩码解码器,结合省略句的软掩码特征、上一时刻省略句的词向量表示以及省略句和上下文序列的状态向量,计算当前时刻省略句和上下文序列的状态向量,确定词表的概率分布;
步骤7,根据上下文编码结果、当前时刻省略句和上下文序列的状态向量以及省略句的软掩码特征,计算上下文词语的分值,再使用Softmax函数对分值进行归一化,得到上下文概率分布;
步骤8,利用门控单元将词表的概率分布和上下文概率分布相加,得到最终的省略词概率分布,选择省略句的填充内容。
2.根据权利要求1所述的基于门控拷贝和掩码的多轮对话省略恢复方法,其特征在于,步骤3中,使用预训练好的词向量文件来表示词语,若词语出现在词向量文件中,则用文件中相对应的向量来表示词语;若词语不在文件中,则使用随机初始化得到的向量来表示,具体方法为:使用GloVe预训练好的50维度词向量作为词向量矩阵,得到省略句和上下文词向量序列eu和ec,上标u和c分别表示省略句(Utterance)和上下文(Context)。
3.根据权利要求1所述的基于门控拷贝和掩码的多轮对话省略恢复方法,其特征在于,步骤4中,基于门控机制,融合多头自注意力信息和Bi-GRU的门控编码器,对省略句词向量序列和上下文词向量序列进行语义编码,分别得到省略句和上下文的语义编码向量,具体方法为:
门控语义编码器包括GRU(门控循环神经网络)层和多头自注意力特征计算层,其中,GRU层使用的是单层双向GRU网络BiGRU,省略句和上下文序列中的每一个词都被表示为其前向和后向GRU隐层向量的拼接,省略句和上下文序列的状态向量被表示为GRU前后状态向量的拼接,分别将省略句和上下文词向量序列作为GRU层输入,则得到省略句和上下文的编码结果为:
hu,su=BiGRU(eu) (1)
hc,sc=BiGRU(ec) (2)
其中,hu和hc分别是省略句和上下文的编码结果,su和sc是Bi-GRU最终状态向量,eu和ec是省略短句和上下文经过嵌入层的词序列表征结果;
多头自注意力机制使用多个头各自独立地进行运算,从不同角度提取注意力信息,帮助模型从上下文提取省略内容,因此,在门控语义编码器中加入了多头自注意力特征计算层;多头自注意力特征计算层会同时将请求矩阵Q,键矩阵K,值矩阵V作为输入,这里分别将省略句和上下文的GRU编码结果hu和hc作为Q,K,V输入到多头自注意力特征计算层,分别得到注意力计算特征结果,表示如下:
mu=MultiHead(hu,hu,hu) (3)
mc=MultiHead(hc,hc,hc) (4)
经过注意力特征计算,省略句GRU编码结果hu通过计算得到多头注意力特征mu,同样地,针对上下文也做了相同的操作,得到了上下文的多头注意力特征mc;
多头自注意力特征具体的计算步骤如下:
其中,dk是编码结果的向量维度大小,WO、Wi Q、Wi K、Wi V分别是可学习参数,上标O表示输出(Output),Q,K和V表示查询(Query),键(Key)和值(Value),下标i表示多头注意力中的序号,concat表示拼接函数;
最后,分别将省略句和上下文的GRU编码结果和多头自注意力特征使用门控机制进行融合,得到省略句和上下文最终的门控语义编码结果,具体的计算过程如下:
pc=σ(W1hc+b1) (7)
pu=σ(W2hu+b2) (8)
gc=pchc+(1-pc)mc (9)
gu=puhu+(1-pu)mu (10)
其中,W1、W2、b1、b2是可学习参数,σ是激活函数Sigmoid,pc和pu分别是针对上下文和省略句编码的门控单元,mc和mu分别是上下文和省略句的多头自注意力特征计算结果,gc和gu分别是门控语义编码的最终结果。
4.根据权利要求1所述的基于门控拷贝和掩码的多轮对话省略恢复方法,其特征在于,步骤5中,基于软掩码机制,结合省略句编码结果以及上一时刻省略句和上下文序列的状态向量,为省略句内每一个词设置权重,计算省略句的软掩码特征,具体方法为:
计算t时刻下省略句位置i处的词语得分scoreit:
其中,v、W3、W4和b3是可学习的参数,是省略句位置i处的词经过门控语义编码器编码后的结果向量,下标i表示词语在句子中的位置序号,t表示当前解码位置,T表示转置,tanh是双曲正切三角函数;
为省略句中词语的编码向量赋权值at:
at=sof tmax(scoret) (12)
其中,scoret表示第t时刻下省略句的所有词语得分,
计算软掩码特征
作为省略句的软掩码特征,后续会输入解码器和拷贝模块用来计算词表概率分布和上下文词语的概率分布。
5.根据权利要求1所述的基于门控拷贝和掩码的多轮对话省略恢复方法,其特征在于,步骤6中,利用掩码解码器,结合省略句的软掩码特征、上一时刻省略句的词向量表示以及省略句和上下文序列的状态向量,计算当前时刻省略句和上下文序列的状态向量,确定词表的概率分布,具体方法为:
掩码解码器采用单向GRU网络作为主要信息计算单元,掩码解码器接收省略语句的词向量信息eu t-1、省略句的软掩码特征信息解码状态向量st-1作为输入,经过解码器计算后得到当前时刻下的GRU单元计算结果st,通过使用全连接层映射GRU单元计算结果,得到当前时刻下词表的概率分布,计算公式为:
scorevocab=W7st+b5 (15)
Pv=softmax(scorevocab) (16)
其中,W7和b5都是可学习的参数,下标vocab表示是针对词表范围,scorevocab是经过全连接映射后的得分,Pv是词表概率。
6.根据权利要求1所述的基于门控拷贝和掩码的多轮对话省略恢复方法,其特征在于,步骤7中,根据上下文编码结果、当前时刻省略句和上下文序列的状态向量以及省略句的软掩码特征,计算上下文词语的分值,再使用Softmax函数对分值进行归一化,得到上下文概率分布,具体方法为:
Pc=softmax(scorecontext) (18)
其中,W5、v'T、W6和b4是可学习参数,gc是上下文经过门控编码器得到的编码结果,上标'无实际意义,进用作区分,下标context表示针对上下文范围,scorecontext是上下文词语得分,是软掩码特征,pc是上下文概率分布,st是GRU单元计算结果,gc是上下文门控语义编码结果。
7.根据权利要求1所述的基于门控拷贝和掩码的多轮对话省略恢复方法,其特征在于,步骤8中,用门控单元将词表的概率分布和上下文概率分布相加,得到最终的省略词概率分布,选择省略句的填充内容,具体方法为:
其中,W8和b6分别是可学习参数,是指上下文中第i个词语,所有数字下标仅用作区分,无实际意义,et-1是t-1时刻的省略句词向量,/>是软掩码特征,σ是激活函数Sigmoid,Pgen是概率分布融合门控单元,Pv和Pc分别是词表概率分布和上下文概率分布,概率最大的词语会被选择作为省略句的填充内容。
8.根据权利要求1所述的基于门控拷贝和掩码的多轮对话省略恢复方法,其特征在于,还包括步骤9,使用硬掩码机制来对生成结果进行约束和修正。
9.一种基于门控拷贝和掩码的多轮对话省略恢复系统,其特征在于,基于权利要求1-8任一项所述的方法进行多轮对话省略恢复。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011366188.3A CN112417864B (zh) | 2020-11-29 | 2020-11-29 | 基于门控拷贝和掩码的多轮对话省略恢复方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011366188.3A CN112417864B (zh) | 2020-11-29 | 2020-11-29 | 基于门控拷贝和掩码的多轮对话省略恢复方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112417864A CN112417864A (zh) | 2021-02-26 |
CN112417864B true CN112417864B (zh) | 2023-10-31 |
Family
ID=74842945
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011366188.3A Active CN112417864B (zh) | 2020-11-29 | 2020-11-29 | 基于门控拷贝和掩码的多轮对话省略恢复方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112417864B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113591475B (zh) * | 2021-08-03 | 2023-07-21 | 美的集团(上海)有限公司 | 无监督可解释分词的方法、装置和电子设备 |
CN113742467B (zh) * | 2021-09-02 | 2023-08-08 | 新疆大学 | 一种分层选择槽位相关上下文的对话状态生成方法及装置 |
CN117556025B (zh) * | 2024-01-10 | 2024-04-02 | 川投信息产业集团有限公司 | 基于ai和可视化的平台化项目服务信息优化方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180119406A (ko) * | 2017-04-25 | 2018-11-02 | 강원대학교산학협력단 | 멀티 태스크 학습 기반 포인터 네트워크를 이용한 한국어 의존 구문 분석 시스템 및 방법 |
CN111507070A (zh) * | 2020-04-15 | 2020-08-07 | 苏州思必驰信息科技有限公司 | 自然语言生成方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10453454B2 (en) * | 2017-10-26 | 2019-10-22 | Hitachi, Ltd. | Dialog system with self-learning natural language understanding |
-
2020
- 2020-11-29 CN CN202011366188.3A patent/CN112417864B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180119406A (ko) * | 2017-04-25 | 2018-11-02 | 강원대학교산학협력단 | 멀티 태스크 학습 기반 포인터 네트워크를 이용한 한국어 의존 구문 분석 시스템 및 방법 |
CN111507070A (zh) * | 2020-04-15 | 2020-08-07 | 苏州思必驰信息科技有限公司 | 自然语言生成方法和装置 |
Non-Patent Citations (1)
Title |
---|
基于门控化上下文感知网络的词语释义生成方法;张海同;孔存良;杨麟儿;何姗;杜永萍;杨尔弘;;中文信息学报(第07期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112417864A (zh) | 2021-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112417864B (zh) | 基于门控拷贝和掩码的多轮对话省略恢复方法 | |
CN111460807B (zh) | 序列标注方法、装置、计算机设备和存储介质 | |
CN108334487B (zh) | 缺失语意信息补全方法、装置、计算机设备和存储介质 | |
WO2022241950A1 (zh) | 文本摘要生成方法、装置、设备及存储介质 | |
CN109033068B (zh) | 基于注意力机制的用于阅读理解的方法、装置和电子设备 | |
EP4073787B1 (en) | System and method for streaming end-to-end speech recognition with asynchronous decoders | |
CN109447242B (zh) | 基于迭代学习的图像描述重生成系统及方法 | |
CN107836000B (zh) | 用于语言建模和预测的改进的人工神经网络方法、电子设备 | |
CN111709243B (zh) | 一种基于深度学习的知识抽取方法与装置 | |
CN108897852B (zh) | 对话内容连贯性的判断方法、装置以及设备 | |
CN109344242B (zh) | 一种对话问答方法、装置、设备及存储介质 | |
US20220230061A1 (en) | Modality adaptive information retrieval | |
CN111400481B (zh) | 针对多轮对话生成回复语句的方法和装置 | |
CN111401084A (zh) | 一种机器翻译的方法、设备以及计算机可读存储介质 | |
CN114926835A (zh) | 文本生成、模型训练方法和装置 | |
JP2021033995A (ja) | テキスト処理装置、方法、デバイス及びコンピューター読み取り可能な記憶媒体 | |
JP7278309B2 (ja) | 文章レベルテキストの翻訳方法及び装置 | |
CN113609284A (zh) | 一种融合多元语义的文本摘要自动生成方法及装置 | |
CN116628186B (zh) | 文本摘要生成方法及系统 | |
CN110942774A (zh) | 一种人机交互系统、其对话方法、介质和设备 | |
CN111832699A (zh) | 用于神经网络的计算高效富于表达的输出层 | |
CN111563148A (zh) | 一种基于词组多样性的对话生成方法 | |
CN113779190B (zh) | 事件因果关系识别方法、装置、电子设备与存储介质 | |
CN116306612A (zh) | 一种词句生成方法及相关设备 | |
CN117173269A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |