一、模型
1、模型总图
2、实施细则
二、相关公式
1、词表示层:字符卷积cp,静态预训练词嵌入ep(fix),可训练预训练词嵌入ep(tr)
fp代表,两句中字是否在另一句中出现,若是为1,若否为0
2、层次RNN和互注意力机制
原始输入x,通过RNN获取隐层表示h,将两句的隐层表示hi,hj通过互注意力机制,获取注意力表示ai,aj
3、自动编码器auto-encoder
全连接层,将高维度表示转化为低维度表示
4、交互层和分类层
More specifically, if the output of the final RNN layer is a 100d vector for a sentence with 30 words, a 30 × 100 matrix is obtained which is max-pooled column-wise such that the size of the resultant vector p or q is 100.
将p,q向量通过maxpooling获取特征。再进入如下融合
最终表示
最终通过线性变换和激活函数,得到输出结果。
三、代码实现
1、模型model.py
from torch import nn, tensor
import numpy as np
import torch
import joblib
# 总体模型
class