Unsupervised Text Segmentation Using Semantic Relatedness Graphs阅读笔记

目录*非论文目录*

  • 话题分割的作用
  • 话题分割的两类任务
  • 话题分割的常见方法
  • 本文算法
    • 获取句子的语义相似度
    • 基于图的分割
  • 具体实验方法
  • 两个弱结论
  • 链接

话题分割的作用

  • 将文章分割成具有语义相关性的片段,能够增强文章的可读性
  • 同时也促进了文本摘要((Angheluta et al., 2002; Dias et al., 2007)、文章检索(Huang et al., 2003; Dias et al., 2007)、文本索引(text indexing)等相关任务的开展

话题分割的两类任务

  • 线性地检测分割点
  • 层次化地定义分块之间的子话题结构(更难?)

话题分割的常见方法

  1. TextTiling(Hearst (1994))
    关键词:非监督、线性分割、基于语义相似的分块间可能具有重复单词的思想、使用段落的稀疏词向量来丈量相似性

  2. 概率算法(Choi 2000)
    基于矩阵排序和聚类(probabilistic algorithm using matrix-based ranking and clustering to determine similarities between segments)(不懂)

  3. Content-based information+acoustic cues(Galley et al 2003)
    基于上面的方法,来检测 discourse shift

  4. 动态规划(Utiyama and Isahara (2001) and Fragkou et al. (2004))
    使用DP来最小化损失函数

  5. pLSA(probabilistic latent semantic analysis )((Brants et al., 2002)
    第一个基于topic modelling的算法

  6. LDA(latent Dirichlet allocation,中文:隐迪利克雷分配模型(发明者:Blei et al., 2003)(但是使用者是:Misra et al., 2009\Riedl and Biemann, 2012)
    compute the latent topics(?)

  7. LDA + 动态规划(Misra et al. (2009))

  8. TopicTiling(LDA+TEXTTILING)(Riedl and Biemann (2012))
    与texttilling不同的是:并没有使用稀疏的词向量,而是dense vector

  9. 全连接图+cosine计算相似性+bag of words+minimum normalized multiway cut(Malioutov and Barzilay (2006))

  10. 单词之间的相似图+稀疏的共线向量+shared 最近邻算法->给单词聚类->识别话题(Ferret (2007))

(文中说,topictiling是最快最好的)

本文算法

获取句子的语义相似度

其中有一种做法是:salient greedy lemma alignment feature(Sari ˇ c et al. (2012))
本文的做法是:

  1. 考虑两个句子,计算两两单词之间的相似度
    具体:一个句子的一个单词与另外一个句子的所有单词都有一条有向边(权重由 Mikolov提出的单词之间的word2vec embedding的cosine算出)
  2. 双向图匹配算法(Hungarian method)(Kuhn, 1955)
    三个公式:

Unsupervised Text Segmentation Using Semantic Relatedness Graphs阅读笔记_第1张图片
Unsupervised Text Segmentation Using Semantic Relatedness Graphs阅读笔记_第2张图片
Unsupervised Text Segmentation Using Semantic Relatedness Graphs阅读笔记_第3张图片

  • C是什么?——C是一个语料库,文中使用 Google Books Ngrams (Michel et al., 2011)。
  • 为什么要计算ic(w)?——出现频率越小的单词之间,相关度所占的权重更大(它们之间的相关度,对于句子之间的相关度的贡献值越大)(-log(减函数)=增函数)
  • 最后的rel(s1,s2)是什么意思?——越长的句子对,不归一化的话,相似度肯定会偏高的

基于图的分割

  1. 构造句子之间的无向图
    通过,得到句子间的语义相似度,超过某一阈值,我们给它们之间添加一条边,得到一个无向图
  2. 计算所有最大团
    Bron-Kerbosch algorithm(Bron and Kerbosch, 1973)算法求出所有的最大团(图的最大完全子图(再多一条边就不是完全图了))
  3. 得到初始划分->SG1
    遍历所有最大团,考虑一个最大团:如果sentencei 和 sentencei+1 都属于这个最大团,它们就被归为一个segment,得到segmentj ∈ \in SG1。(注意句子下标i,i+1,即:每个句子都有自己的上下文序号)。
  4. 合并划分1->SG2
    合并两个segmentj和segmentj+1,只当,至少存在一个最大团,它至少在segj中有一条边,在segj+1中也有一条边-> SG2(注意j和j+1的下标,即:这个划分也是按照 句子的上下文顺序来排序的)
  5. 合并划分2->SG3
    将句子数少于n个segmentj与它临界的segment(segj-1 segj+1)中,相关性更高的去合并,相关性计算公式:
    Unsupervised Text Segmentation Using Semantic Relatedness Graphs阅读笔记_第4张图片

图解上述步骤:
Unsupervised Text Segmentation Using Semantic Relatedness Graphs阅读笔记_第5张图片
以 9 个句子为例:

具体实验方法

具体实验

Word embedding:

  • 使用 在 google news dataset上训练出来的word embedding
  • 同时 也 基于corpus训练了word embedding(domain-adapted)(using 466 unlabeled political manifestos)

Baseline model:

  • 该基线随机(50%的概率)在相距m个句子处开始一个新片段,m被设置为黄金片段平均长度的一半

Parameter:

  • 上述阈值(符号不会打)
  • 上述最小分割的size:n

最优化参数的方法:

  • 网格搜索(grid search)

  • K折的交叉检验

两个弱结论

  • 在choi上,4(DP)、7(LDA+DP)、8(LDA+TEXTTILLING) 的效果更好,原因可能是是: 4使用了"gold standard information"作为输入;7*、8*是domain adapted过的,虽然在测试集上它们使用的是不同文章来建模,但由于choi是人造的文章,有一些在训练集里面也出现过(8的作者也提过这一点)
  • 在manifesto上,graphseg表现很好,但有一个奇怪的点:domain adapted过后的效果并不好,原因可能是:如上所述,choi的test与train有重叠,会导致信息泄露(information leakage),而manifesto是真实的语料

链接

论文地址
graph seg tool

妈的,不会写极大团的代码。

你可能感兴趣的:(文献阅读之家,话题分割,NLP)