美文网首页深度学习-神经网络
用图的分解和卷积来做文本匹配

用图的分解和卷积来做文本匹配

作者: Stack_empty | 来源:发表于2019-07-17 19:20 被阅读51次

    一句话描述整个框架:

    用一种新颖的方式把文本对表示成一个“概念交互图(Concept Interaction Graph,CIG)”,然后使用GCN来进行表示,然后训练一个分类器去判断两个文本是否匹配。

    论文亮点:

    1. CIG这种表示方法很有意思,值得借鉴
    2. 文章慷慨的开放了一个中文文本匹配数据集,供研究者使用
      两个数据集:
      ①两条新闻是否描述同一个热点(细)
      ②两条新闻是否属于同一个事件/故事(粗)

    CIG:

    把文档表示成一个无向有权图,每个文档被分割成一个个句子的集合,而每一个集合都对应着一个文档的重要概念(concept)。

    到底什么是所谓的“概念”?

    概念,在这里就是指文章的关键词,或者一组关系紧密的关键词。

    怎么得到这些关键词?

    没什么特别的,就用常见的关键词抽取算法,比如TextRank。

    关键词怎么组成概念?

    通过聚类,具体的方式是采用图数据中的community detection。

    文档构建CIG的例子:


    构建CIG的步骤:

    1. 构建关键词网络
      提取出关键词后,采用词与词之间的共现关系来构建关键词网络。

    2. 概念发掘(可选)
      通过社区发掘的方法来将关键词聚类,得到概念。
      实际上可以直接使用关键词作为概念。

    3. 句子关联
      在得到概念之后,需要把文档的一个个句子关联到对应的概念上。具体的方式是计算句子和概念之间的余弦相似度,向量就用TF-IDF表示即可。

    4. 构建概念之间的边
      现在网络的node即概念,概念之间的边表示二者之间的相似度。这里使用每个概念所对应的句子的整体的TF-IDF作为该概念的表示,从而计算概念之间的相似度。

    通过GCN进行文本匹配

    一个文本对包含两个文本A,B。二者合起来,构建一个CIG_{AB}。

    通过一种“分而治之”的方式来匹配A和B中的各个概念,然后再统一起来。

    1. 局部匹配
      用一个encoder,来把CIG_{AB}中的每一个concept中的A和B的部分,进行编码,得到该concept的一个匹配向量。
      例如,使用Siamese Encoder可以这样处理:


    这里,在Siamese进行匹配的时候,不是简单地将两个向量相减,而是使用这个公式:


    1. 使用GCN聚合局部匹配信息
      上一步我们得到了每一个concept的两个文本之间的匹配向量,这个可以当做是节点的特征。于是我们可以直接使用GCN来将各个concept的匹配情况进行聚合。

    最后使用GCN输出的向量作为特征,接一个分类器,来判断文本对是否匹配。

    效果:

    相关文章

      网友评论

        本文标题:用图的分解和卷积来做文本匹配

        本文链接:https://www.haomeiwen.com/subject/cbpclctx.html