17.1加入主题模型的文本增强
Posted 炫云云
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了17.1加入主题模型的文本增强相关的知识,希望对你有一定的参考价值。
5.11 Seq2seq +Attention可视化
释义生成可以被建模为序列到序列(Seq2Seq)学习问题。然而,典型的Seq2Seq模型很容易错误地传达原始意思,因为给定句子的向量表示有时在概括复杂的语义方面是不够的。自然,释义涉及相同的主题,可以作为一个辅助指导,促进源语义的保存。此外,一些有趣的重述词可以从主题信息得到。为了在释义生成中利用主题,我们通过主题感知输入和主题偏差生成分布将主题词合并到Seq2Seq框架中1。还引入了直接监督信号,以帮助更准确地处理主题信息。
基于编码器-解码器架构的主流神经机器翻译(NMT)模型最近取得了最先进的性能。传统的NMT模型仅依赖于在训练过程中学习到的表征来将源句子映射到目标域。然而,习得的表征经常遭受隐性和信息不充分的属性。本文提出了一种新的双语主题增强NMT (BLT-NMT)2模型,通过将双语主题知识引入到NMT中来提高翻译性能。具体而言,双语主题知识包含在编解码器的隐藏状态以及注意机制中。在此背景下,该方法能够获取顺序语境之外的双语主题隐含的背景知识,使注意机制能够关注主题级的注意,从而在翻译过程中生成准确的目标词。
将主题信息整合到序列到序列框架中,为聊天机器人生成信息丰富且有趣的响应。为此,我们提出了一个主题感知序列到序列(TA-Seq2Seq3)模型。该模型利用主题来模拟人类的先验知识,引导人们在对话中形成信息丰富、有趣的回应,并通过联合注意机制和有偏生成概率来利用主题信息的生成。联合注意机制将输入话语的隐含向量通过话语注意力将其总结为上下文向量,通过预先训练的LDA模型获取话语的主题词,根据主题注意总结为主题向量,并让这些向量共同影响解码词的生成。为了增加主题词出现的可能性,该模型通过增加一个额外的概率项来修正主题词的生成概率,从而使总体分布产生偏差。
近年来,神经机器翻译(NMT)表现出了最先进的机器翻译性能。这是一种新的机器翻译方法,它试图学习一组参数来最大化目标句给定源句的条件概率。本文提出了一种通过在翻译过程中传递主题知识来提高网络机器翻译性能的新方法(T-NMT4)。该方法可以提高从同一主题和领域中选择词进行翻译的可能性。
在本文中,我们提出了一种深度学习方法来处理自动摘要任务,通过将主题信息整合到卷积序列到序列(ConvS2S5)模型中,并使用自临界序列训练(SCST)进行优化。通过共同关注主题和词级对齐,我们的方法可以通过偏差概率生成机制提高生成摘要的连贯性、多样性和信息量。另一方面,强化训练,如SCST,直接对所提模型的不可微度量ROUGE进行优化,这也避免了推理过程中的暴露偏差。
其中[1][2][3]
的解码器隐藏更新:
s
t
=
f
d
e
(
s
t
−
1
,
e
(
y
t
−
1
)
,
c
t
,
c
t
t
p
)
\\mathbf{s}_{t}=f_{d e}\\left(\\mathbf{s}_{t-1}, \\mathbf{e}\\left(y_{t-1}\\right), \\mathbf{c}_{t}, \\mathbf{c}_{t}^{t p}\\right)
st=fde(st−1,e(yt−1),ct,cttp)
知识注意力上下文向量:
c
t
t
p
=
∑
j
=
1
∣
P
∣
α
t
j
p
j
α
t
j
=
exp
(
η
(
s
t
−
1
,
p
j
,
h
n
)
)
∑
j
′
=
1
∣
P
∣
exp
(
η
(
s
t
−
1
,
p
j
′
,
h
n
)
)
\\mathbf{c}_{t}^{t p}=\\sum_{j=1}^{|P|} \\alpha_{t j} \\mathbf{p}_{j}\\\\ \\alpha_{t j}=\\frac{\\exp \\left(\\eta\\left(s_{t-1}, \\mathbf{p}_{j}, \\mathbf{h}_{n}\\right)\\right)}{\\sum_{j^{\\prime}=1}^{|P|} \\exp \\left(\\eta\\left(\\mathbf{s}_{t-1}, \\mathbf{p}_{j^{\\prime}}, \\mathbf{h}_{n}\\right)\\right)}
cttp=j=1∑∣P∣αtjpjαtj=∑j′=1∣P∣exp(η(st−1,pj′,hn))exp(η(st−1,pj,hn))
描述:
c
t
t
p
\\mathbf{c}_{t}^{t p}
cttp是在时间步长
t
t
t的主题感知注意;
p
j
\\mathbf{p}_{j}
pj为从主题模型(如LDA)生成的 第
j
j
j个主题词的嵌入;
h
n
\\mathbf{h}_{n}
hn是最后一个用于弱化无关主题词影响、突出相关主题词重要性的编码器隐藏状态;
P
P
P是主题词集。
[4]
的解码器隐藏更新:
s
t
=
f
d
e
(
s
t
−
1
,
e
(
y
t
−
1
)
,
c
t
,
c
t
t
p
)
\\mathbf{s}_{t}=f_{d e}\\left(\\mathbf{s}_{t-1}, \\mathbf{e}\\left(y_{t-1}\\right), \\mathbf{c}_{t}, \\mathbf{c}_{t}^{t p}\\right)
st=fde(st−1,e(yt−1),ct,cttp)
知识注意力上下文向量:
c
t
t
p
=
∑
j
=
1
∣
X
∣
α
t
j
q
j
,
α
t
j
=
exp
(
η
(
s
t
−
1
,
q
j
)
∑
j
′
=
1
∣
X
∣
exp
(
η
(
s
t
−
1
,
q
j
′
)
)
\\mathbf{c}_{t}^{t p}=\\sum_{j=1}^{|X|} \\alpha_{t j} \\mathbf{q}_{j}, \\\\ \\alpha_{t j}=\\frac{\\exp \\left(\\eta\\left(\\mathbf{s}_{t-1}, \\mathbf{q}_{j}\\right)\\right.}{\\sum_{j^{\\prime}=1}^{|X|} \\exp \\left(\\eta\\left(\\mathbf{s}_{t-1}, \\mathbf{q}_{j^{\\prime}}\\right)\\right)}
cttp=j=1∑∣X∣αtjqj,αtj=∑j′=1∣X∣exp(η(st−1,qj′))exp(η(st−1,qj)
描述:
q
j
\\mathbf{q}_{j}
qj 表示输入序列
X
X
X中每个单词在主题上的分布;不同于主题词关注,它直接计算解码器隐藏状态与主题分布之间的关注。
[4][5]
生成模型:
p t p ( y t ) = { 1 Z ∑ j : p j = y t exp ψ t p ( y t ) , y t ∈ V P , 0 , otherwise, p_{t p}\\left(y_{t}\\right)=\\left\\{\\begin{array}{ll}\\frac{1}{Z} \\sum_{j: p_{j}=y_{t}} \\exp \\psi_{t p}\\left(y_{t}\\right), & y_{t} \\in \\mathcal{V}_{P}, \\\\ 0, & \\text { otherwise, }\\end{array} \\right. ptp(yt)={Z1∑j:pj=yVisual Studio 2022 17.1 Preview 2发布:带来GitC++和.NET增强功能
机器学习入门-文本特征-使用LDA主题模型构造标签 1.LatentDirichletAllocation(LDA用于构建主题模型) 2.LDA.components(输出各个词向量的权重值)(代码