『自然语言处理』基于Seq2Seq与Bi-LSTM的中文文本自动校对模型( 二 )
2.2Bi-LSTM的Seq2Seq网络模型
2.2.1 基本Seq2Seq结构的局限性
在机器翻译、文摘生成等问题上 , 基础的Seq2Seq模型一直都有不错的表现 , 但是针对文本校对这类问题 , 其结构并不能直接被使用 。 Encoder将输入编码为固定大小状态向量的过程首先是一个“信息有损压缩”的过程 , 如果信息量越大 , 那么这个转化向量的过程对信息的损失就越大 , 同时 , 随着sequence length的增加 , 意味着时间维度上的序列很长 , RNN模型也会出现梯度弥散[18] 。 其次 , 基础的模型连接Encoder和Decoder模块的组件仅仅是一个固定大小的状态向量 , 这使得Decoder无法直接去关注到输入信息的更多细节[10] 。 最后 , 由于RNN网络的特性 , 当前时刻的输出只与当前时刻的输入和之前的输入有关[19] , 因此模型对于信息的捕获不够完整 。
2.2.2 模型的构建
校对模型由编码端、解码端组成 , 编码端是由LSTM单元组成的Bi-RNN网络 。 在中文文本自动校对中 , 输入序列是标记为的完成分词的中文语句文本 , 其中上角标j代表句子在语料库中的位置 , 下角标代表该词在第i句中的位置 。 文本中的每一个词在输入到LSTM网络前要转化成机器可识别的数字编码 。 由于LSTM只能处理定长的数据 , 因此需要保证输入语料的长度Tx保持固定 。 通过预处理部分可以得到最长句子的词数 , 假设词数Tx=20 , 则应对不足20个词长的句子进行补全 。 编码端接收每一个中文词语的数字形式和其上一个时间点的隐层状态 , 由于采用Bi-RNN网络 , 输出的是当前时间点的隐层状态 , 结构如图4所示 , 其展示了两个双向的LSTM单元 。
本文插图
本文插图
解码端是一个带注意力机制的RNN网络 , 其在t时刻生成一个词时可以利用到此前的全部上文信息 。 解码端接收目标句子中上一个时间点的中文词语和上一个时间点的隐层状态与注意力机制产生的语义向量 , 如图5所示 。
本文插图
由于注意力机制的存在 , 每个时刻生成词时对输入序列各个词的关注程度是不一样的 , 因此编码端在每个时刻给出的Ci是不一样的 。 其计算公式如式(15)所示 。 其中 , hj表示编码端的第j个词的隐层状态 , αij表示编码端的第j个词与解码端的第i个词之间的权值 , 其计算公式如式(16)所示 。 在式(16)中 , eij是一个softmax模型输出 , 概率值的和为1 。 eij表示一个对齐模型 , 用于衡量编码端的第j个词相对于解码端的第i个词的对齐程度(影响程度) 。 对齐模型eij的计算方式如式(17)所示 。
本文插图
eij的计算方法有很多种 , 不同的计算方式 , 代表不同的Attention模型 , 本文使用的是Soft Attention模型 , 它可以被嵌入到模型中去 , 直接训练 。 Soft Attention模型在求注意力分配概率的时候 , 对于输入句子X中任意一个词都给出概率 。 结构如图6所示 。
本文插图
【『自然语言处理』基于Seq2Seq与Bi-LSTM的中文文本自动校对模型】图6展示了在预测第t个时间段的输出yt时的结构 。 通过对Encoder层状态的加权 , 从而掌握输入语句中的所有细节信息 , 最后将语义向量和解码端的隐层状态合拼起来 , 计算最后的输出概率 。
以“我爱机器学习”为例 , 假设当前时刻正准备校对“机器”这个词 , 此时需要计算语义向量 , 如图7所示 。
推荐阅读
- IT之家▲10的LineageOS 17.1正式发布!,基于Android
- 2020@2020 iPhone SE终于来了?A13处理器+三种配色
- 高通865处理器PK麒麟990处理器 集成5G才是王道
- 「预计 3 分钟读完」助力构建基于AI的服务生态体系,第四范式完成2.3亿美元C+轮融资
- 『民福康养生谈』吞馒头等土方法,一个也不能用!教你正确的处理方法,被鱼刺卡喉
- [美股研究社]与ADM的战火点燃?,英特尔发布十代酷睿标压处理器
- 电热汇■电热汇分享电磁加热器故障处理及电路图
- [硬顶科技]潮夜绿色彩,十代酷睿处理器加持,颜值笔记本又推新款
- 「退休花大伯」如何处理花草盆栽的虫害问题?一对一解决小黑飞、蚜虫、红蜘蛛
- 『镁客网TB』目标游戏玩家和内容创作者,英特尔推出第十代酷睿移动处理器
