其他分享
首页 > 其他分享> > Matching Article Pairs with Graphical Decomposition and Convolutions

Matching Article Pairs with Graphical Decomposition and Convolutions

作者:互联网

目录

在这里插入图片描述

论文阅读准备

课前基础知识

在这里插入图片描述

学习目标

在这里插入图片描述
知识树
在这里插入图片描述

论文导读

论文研究背景、成果及意义

研究背景

长文档匹配

应用场景

Graph上的任务:

研究成果

首次提出了概念交互图(Concept Interaction Graph)
如何将长文档更好的概括或结构化的预处理一下,论文中使用了概念交互图。概念交互图可以理解为对整篇文章进行一个很好的概括,概念交互图中的每一个节点可以认为是关键词,利用关键词算法从整篇文章中找到的,然后在这个图里面做一些例如社区发现算法,将这个大图变得小一点,让后面的复杂度变得小点,构造一些边以及边之间的权重,对节点做一些编码。
在这里插入图片描述
首次发布长文档匹配问题数据集

论文泛读

论文结构

在这里插入图片描述

摘要

摘要核心

论文精读

CIG-GCN算法模型总览

CIG-GCN结构

在这里插入图片描述
(a)构造一种图的表征(如何去构造图,如何去描述图;有一些场景是天然的图结构,比如知识图谱,一些不是天然的图结构可以通过自己的构思或方法将它变成一个有意义的图结构,比如本篇论文如何很好的概括两篇文档之间的关系以及把两篇文档融合到一起)keygraph(关键词或实体等),用社区发现算法进一步检测社区对节点的一些聚类,得到concepts,这一步完成后,节点数会变少,降低图的复杂度,会随着带来精度的损失;文档的句子与节点进行关联,节点有节点的特征,边有边的权重。第一步就是将两篇文档用CIG交互网络进行表示。
(b)Encoding.对节点做一些编码。(a)(b)两步准备模型的输入。
©用图卷积神经网络对图网络做信息的聚合或特征的转变。
(d)将上一步得到的结果输入到常规的分类层。

CIG结构
在这里插入图片描述

CIG-GCN模型的理论基础和相关知识

模型细节

1.构造概念交互图(Concept Interaction Graph)

在这里插入图片描述

是一个由上往下的过程。
b.计算每个边的EBC Scores
计算C到F、E到F边的权重,用最短路径的个数作一个比值;
其他边的EBC score的计算,节点的默认得分是1,所有指向当前节点的所有边的EBC score进行相加,再除以起始节点的最短路径的值,例如,计算BC边的EBC score:(1+0.33)/1=1.33
在这里插入图片描述
计算每个边的EBC score是一个由下往上的过程。
a、b两步为计算以A为起点算出的每条边的EBC score,用同样的方法得出以其它节点为起点得出的每条边的EBC score,然后按照计算EBC score的方法,得到最终的结果:
在这里插入图片描述

得到上图中右边的结果后,假设要分为三个社区,剪掉最大的边,得到下图中的情形:
在这里插入图片描述

2.Article Pair Matching through GCN

在这里插入图片描述

结点编码
第一种方法是Siamese Encoder
在这里插入图片描述
第二种方法是Term-based Similarities
在这里插入图片描述

知识点1:BM25
BM25在信息检索领域用来计算query与文档相似度得分的算法。可以将其当做一个baseline,例如在文本匹配领域中,当候选句很多时,可以先用BM25做粗召回,之后可以用更好的算法做精细的排序等。
BM25由三部分组成:
1.query中每个单词t与文档d之间的相关性
2.单词t与query之间的相似性
3.每个单词的权重
BM25的一般公式:
在这里插入图片描述

其中,Q表示一条query;qi表示query中的单词;d表示某个搜索文档;n表示query中单词数量;Wi表示第i个单词的权重。
a.单词权重W
在这里插入图片描述

N表示检索系统中全部文档的个数,dfi表示包含当前token的文档的个数;包含当前token的文档数越多,说明这个token的重要性越小或区分度越低,刻画token与文档的相似度。
b.单词与文档的相关性
在这里插入图片描述

BM25依据的一个重要的发现是词频与相关性之间的关系是非线性的,即每个词对于文档的相关性分数不会超过特定的阈值;tftd表示单词t在文档d中的词频,Ld表示文档d的长度,Lave表示所有文档的平均长度,k1是一个正参数,标准化文档词频的范围,当k1=0时,相当于是二元模型,相当于没有词频,当k1是一个更大的值时,更多使用的是原始的词频信息,b的范围是0~1,用来决定使用多少文档长度来表示信息量的范围。
c.单词与query的相似度
在这里插入图片描述

当query很长时,更需要刻画单词与query之间的权重,tftq表示单词t在query中的词频,k3表示调节参数,矫正query中词频的范围。
知识点2:Jaccard similarity of 1-gram
在这里插入图片描述

【举例】
Sa : 小丁和小兰主修数学和计算机
Sb : 小丁主修数学小兰主修计算机
在这里插入图片描述

知识点3:Ochiai similarity
在这里插入图片描述

交集:[‘小丁’,‘小兰’,‘主修’,‘数学’,‘计算机’]
Ochiai : 0.772
引入GCN
结点分类的例子:
在这里插入图片描述
定义GCN
在这里插入图片描述
GCN计算细节
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

如何才能从邻居节点处得到每一个节点的特征值?
聚合邻居节点的特征向量:
在这里插入图片描述
存在的问题:

在这里插入图片描述

相当于对行做了归一化。
在这里插入图片描述

列也应该做归一化操作。对列进行归一化,其实是对高度节点削弱影响,给低度的节点加大权重。
即对称归一化的作用就是削弱高度节点的影响。
在这里插入图片描述
例如对节点B进行计算:
在这里插入图片描述

在这里插入图片描述

层的数量
在这里插入图片描述

训练技巧

在这里插入图片描述

实验设置及结果分析

在这里插入图片描述

Datasets

在这里插入图片描述

Baselines

第一类:
在这里插入图片描述
第二类、第三类:
在这里插入图片描述

实验结果图

在这里插入图片描述

论文总结

关键点

创新点

启发点

Textrank

token1 = '我们 的 目标 就 是 能够 使用 海量 用户 搜索 日志'
token2 = '在 海量 数据 里 挖掘 潜藏 的 查询 之间 的 结构 信息'
token3 = 't'
#textrank
from sklearn.feature_extraction.text import TfidfTransformer, CountVectorizer
import network as nx

def textrank(sentences):
	"""
	Given input text, split sentences and calc text rank score.
	:param sentences: input sentence list
	:return : a dictionary of (sentence index, sentence score)
	"""
	bow_matrix = CountVectorizer().fit_transform(sentences)
	normalized = TfidfTransformer().fit__transform(bow_matrix)
	similarity_graph = normalized * normalized.T
	nx_graph = nx.from_scipy_sparse_matrix(similarity_graph)
	scores =nx.pagerank(nx_graph)
	return dict(((i, scores[i]) for i, s in enumerate(sentences)))


标签:Pairs,CIG,结点,Graphical,GCN,文档,query,Decomposition,节点
来源: https://blog.csdn.net/Ying_M/article/details/118637890