pcnn关系抽取论文阅读总结:尽量细节表现出来

目的之类的就不用说了,直接说pcnn做实体关系抽取的过程:

1、把输入转换成对应的向量:

  1. 上面的输入是 I hired Kojo Annan,the son of Kofi Annan,in the company;
  2. 两个实体我用红体标出来了;
  3. 转换的向量实际上包含两部分,一是这个词经过训练好的矩阵looking up得到的向量,假设是d维;二是位置向量;
  4. 假设hired这个字吧,离实体的距离分别是-1和-6,son距离两个实体的距离分别是3和-2,然后呢,随机初始化位置矩阵,再相乘得到的就是位置向量,显然位置向量有两个,毕竟有两个距离,假设每个是p维;那么这个字的向量维度就是d = d1+p*2。上面图中一共是6维,那么输入就是12*6.因为这个句子中一共有12个字,也就是sequence_length(包含了标点),相当于输入是sequence_length ×d1+p*2

2、卷积:

  1. 把上面的输入当做S,每个字的向量是q(i),每个维度是d;
  2. 卷积操作实际上就是一个权重矩阵w,嗯就是这样的哈哈,这个W是(w*d),w是滤波器的长度,这个长度是干嘛的我们后面说,这里假设w=3;
  3. 论文这里提出来一个新的概念,就是q(i:j),指的的q(i)和q(j)的串联,具体来说就是把第i的字的向量到第j个字的向量整合到一起,按道理来说这里做处理可以得到字之间潜在的关系。这里i和j之间的长度就是w,下面细说;
  4. 看个论文中的公式:c(j) = w q ( j-w+1 : j );
  5. 这里是点乘,所以c(j) 的维度就是1,j的取值区间是1到s+w-1,s就是sequence_length ,so向量C的维度很明显了就是s+w-1;
  6. j = 1时,c(1) = w q ( -1 : 1 )哈?q是从1开始的呀,没有-1呀,这个时候就是index超出输入S的范围,补0就好了,q(-1)和q(0)各补6个0就好了(因为我们上面说过每个字的输入维度是6),这样q ( -1 : 1 )的维度就是18(w*d=3*6),滤波器矩阵(权重矩阵)的维度也是18(w*d=3*6),嗯就是这样,这样就得到上图中convolution层中的绿色那一列;
  7. 但convolution层中有三列呀?!那就多设置几个w就好了,这个时候整个大的W = {w1, w2, w3, ...... wn};
  8. 这样就可以得到n列的c了,这个时候C的维度就是n×(s-w-1)

3、piece Max Pooling

  1. 字面意思就是最大值池化,和图像中的处理类似,但这里会损失到很多的信息,因为是从几个值中取最大值,其余的全部抛弃,但很多论文中说取了最大特征(即保留了最大值),虽然我并不认同。论文中做了一个处理就是把一个句子根据两个实体的位置分成三个部分(所以论文叫piecewise);
  2. 然后呢,然后呢,取每个部分的最大值,(哈哈哈哈哈哈哈哈,我服了),具体过程就是convolution我们不是得到的C矩阵是n×(s-w-1),即n个列向量,每个维度是 s-w-1 ;把每个s-w-1分成三部分,取每部分的最大值,那么每个s-w-1向量经过pooling之后都会变成3维;
  3. 所以经过整个pooling之后再拼接就是一个1 × (3*n)向量
  4. g = tanh(C)

4、全连接输出

    o = W1 (g & r) + b&符号是我随意写的,实际就是点乘;

    很明显吧,这不就是一般网络最后一层嘛,全连接层,但本论文对倒数第二层做了dropout,具体操作就是加了个伯努利随机      初始化的矩阵,值的范围0到1,然后与g点乘,论文叫masking操作。(这一部分最后论文写了几句话,在测试时,学习得到      的权重矩阵W1按比例放大W1 = p * W1,dropout = 1,然后用来计算未出现过的实例的得分????)

5、多实例学习

    目的:为了缓解错误标签问题提出的这一部分。

    1、参数θ = (E,PF1, PF2, W, W1) E是字向量,PF是位置向量,其余两个就是要学习得到的矩阵

    2、有T个tags,每个tag(M(i))里面有q个实例,其中一个实例就是m(ij),表示第i个tag的第j个实例

    3、输出o中的第r个元素就是关系r的可能性

    4、3中提到的可能性的计算就是归一化

                                                     

    5、multi-instance learning的目的是discriminate bags而不是instances。计算每个bag水平上的交叉熵。

                                                     

                                                    

         整个过程如下图:

                                           

         最大化J就好了,具体过程你们自己理解吧哈哈哈哈哈,吃东西去了!!!!

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值