©PaperWeekly 原创 · 作者 | 苏剑林

单位 | 追一科技

研究方向 | NLP、神经网络

前段时间在最近的一篇论文《Unsupervised Opinion Summarization Using Approximate Geodesics》[1] 中学到了一个新的概念,叫做“测地线距离(Geodesic Distance)”,感觉有点意思,特来跟大家分享一下。

对笔者来说,“新”的不是测地线距离概念本身(以前学黎曼几何的时候就已经接触过了),而是语义相似度领域原来也可以巧妙地构造出测地线距离出来,并在某些场景下发挥作用。如果乐意,我们还可以说这是“流形上的语义相似度”,是不是瞬间就高级了不少?

论文梗概

首先,我们简单总结一下原论文的主要内容。顾名思义,论文的主题是摘要,通常我们的无监督摘要是这样做的:假设文章由 n 个句子 组成,给每个句子设计打分函数 (经典的是 tf-idf 及其变体),然后挑出打分最大的若干个句子作为摘要。

当然,论文做的不是简单的摘要,而是“Opinion Summarization”,这个“Opinion”,我们可以理解为实现给定的主题或者中心 c,摘要应该倾向于抽取出与 c 相关的句子,所以打分函数应该还应该跟 c 有关,即 。

自从“万物皆 Embedding”后, 的一种主流设计方式就是将句子 和主题 c 都编码为相应的句向量 ,然后用某种距离的倒数作为打分函数:

在这种设计中,句向量的编码模型 和距离函数 都是可设计的空间。原论文在 和 上都做了一些工作,其中 不是本文关心的内容,暂且略过,有兴趣的读者自行看原论文。至于论文在 上的贡献,就是将常见的简单距离,换成了本文的主题“测地线距离”。

原理分析

为什么要用到测地线距离?这要从我们训练句向量的方案说起。

学习句向量的方式既可以是有监督的,也可以是无监督的。以有监督为例,一般就是正样本对和负样本对做对比学习(参考《CoSENT:比Sentence-BERT更有效的句向量方案》),正样本对就是标记出两个语义基本相同的句子,我们可以认为它们相似度很高,或者距离很小。

问题出在负样本对,作为两个语义不相同的句子,它们可能是特意标记出来的困难样本,也可能是随机挑出来的两个不相关样本,原则上这两种情况应当赋予不同的距离,但实际都只是标记了同一个标签,即“负”。

这就导致了一个结果,我们用句向量算出来的距离数值,理论上是对语义比较相近的句子才比较准确,对于语义差距比较大的句子,距离数值只能够用来区分出正负样本,但不能在邻近范围内做比较。举个例子,我们可以说距离为 1 的比距离为 2 的更相似,也可以说距离为 1 的比距离为 10 的更相似,但没法说距离为 10 的比距离为 11 的更相似,因为距离大了,其绝对数值就不准了。

检索场景下,通常要召回相似度很高(也就是距离很小)的样本,因此直接用简单的距离函数 去检索就行。但是,对于原论文的“Opinion Summarization”场景,要计算的是句子 与主题 c 的距离 ,“句子”与“主题”的相似度就未必很大了(距离偏大),也就是说,它是要在距离相似度偏大的区间做相对比较,这就适合用到测地线距离了。

测地距离

测地线距离,简单来说就是两点之间的最短距离,由于流形未必是平直的,因此该距离未必是两点之间的直线距离(欧式距离),经典例子就是从地球的南极走到北极,我们没法穿过地心走直线,只能沿着地球表面先走到赤道然后再走到南极,走了一条曲线(半圆)距离。

在局部范围内(此时距离比较小),地球还是平的,所以欧式距离还是可用的,但是放到“南极-北极”、“南极-赤道”这样的大距离就不够准确了,这就跟刚才的语义相似度场景很相似了——已知的距离(比如欧式距离)在近距离内比较准确,在远距离不准确,本质上就是因为流形不是平直的。

幸运的是,有局部距离就够了,我们将其转化为一个图的问题,可以利用“最短路径”的算法估算出近似的测地线距离。

具体来说,我们可以用现有的距离函数算出每个点与剩余点的距离,然后只保留距离最近的 k 个点(也可以按阈值截断,看具体情况),在它们之间连一条边并标记上距离,这样一来所有点和边构成了一个加权图(我们称之为“k 邻近图”),我们就可以用 Dijkstra 算法来搜索出图上任意两点的最短路径,并计算出它的长度,这就是测地线距离的近似结果。

总的来说,在“相近点的距离比较准、较远点的距离比较不准”的假设下,我们可以 k 邻近图加最短路径的方法,估算较远点的测地线距离来作为替代品。由于测地线距离考虑了向量空间的流形状况,所以有可能取得比较好的效果(参考原论文的 Table 8)。

参考文献

[1] https://arxiv.org/abs/2209.07496

更多阅读

#投 稿 通 道#

 让你的文字被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。

从局部到全局:语义相似度的测地线距离相关推荐

  1. 文本匹配(语义相似度/行为相关性)技术综述

    NLP 中,文本匹配技术,不像 MT.MRC.QA 等属于 end-to-end 型任务,通常以文本相似度计算.文本相关性计算的形式,在某应用系统中起核心支撑作用,比如搜索引擎.智能问答.知识检索.信 ...

  2. 【人工智能】— 贝叶斯网络、概率图模型、全局语义、因果链、朴素贝叶斯模型、枚举推理、变量消元

    [人工智能]- 贝叶斯网络 频率学派 vs. 贝叶斯学派 贝叶斯学派 Probability(概率): 独立性/条件独立性: Probability Theory(概率论): Graphical mo ...

  3. 从局部到全局的多模式电影场景分割

    从局部到全局的多模式电影场景分割 CVPR2020 个人总结 1.研究现状: 2.研究的意义: 3.提出的解决方案(局部到全局的场景分割模型): 4.电影场景数据集: 5.结论: 全文翻译 从局部到全 ...

  4. 【读点论文】Focal Self-attention for Local-Global Interactions in Vision Transformers局部和全局注意力进行交互实现新SOTA

    Focal Self-attention for Local-Global Interactions in Vision Transformers Abstract 本文提出了一种焦点自注意力机制 F ...

  5. 直播 | ICML 2021论文解读:具有局部和全局结构的自监督图表征学习

    「AI Drive」是由 PaperWeekly 和 biendata 共同发起的学术直播间,旨在帮助更多的青年学者宣传其最新科研成果.我们一直认为,单向地输出知识并不是一个最好的方式,而有效地反馈和 ...

  6. 基于神经网络模型的文本语义通顺度计算研究-全文复现(还没弄完)

    该硕士学位论文分为两个部分: ①基于依存句法分析的语义通顺度计算方法 ②基于神经网络模型的语义通顺度计算方法 本篇记录摘抄了该论文的核心内容以及实验复现的详细步骤. 在N-gram模型下进行智能批改场 ...

  7. DSSM、CNN-DSSM、LSTM-DSSM等深度学习模型在计算语义相似度上的应用+距离运算

    在NLP领域,语义相似度的计算一直是个难题:搜索场景下query和Doc的语义相似度.feeds场景下Doc和Doc的语义相似度.机器翻译场景下A句子和B句子的语义相似度等等.本文通过介绍DSSM.C ...

  8. 语义相似度(理论篇)

    如果本文观点有不对的地方,欢迎指正! author:佟学强 开场白:对于事物的理解,一般分3个层次:①看山是山,看水是水②看山不是山,看水不是水③看山是山,看水是水.对AI和nlp的理解,同样会有这三 ...

  9. 深度学习解决NLP问题:语义相似度计算——DSSM

    tongzhou 转载请注明出处: http://blog.csdn.net/u013074302/article/details/76422551 导语 在NLP领域,语义相似度的计算一直是个难题: ...

最新文章

  1. 基于BERT的化学空间映射
  2. at24c16如何划分出多个读写区_51单片机向at24c16EPROM写入一个数据每问题,写入多个数据,读出的数据都一样...
  3. python与办公自动化-用 Python 自动化办公,我与大神之间的差距一下就拉小了
  4. dofuscator C# 混淆器 原来如此
  5. AWS Elastic Block Store和Simple Storage Services区别
  6. 【百家稷学】深度学习与嵌入式平台AI实践(北京交通大学实训)
  7. Java IO流及应用(一)
  8. 好用的数学公式(持续更新中)
  9. python中 [::-1]的含义和用法
  10. 解决struts2标签在HTML中错位的问题
  11. 6. 缓存 - 《APS.NET本质论》
  12. 使用java,求100以内的质数(素数)
  13. 兖州计算机老师,兖州最美教师 | 风采展示(二)
  14. 【最新】半小时教你制作出属于自己的QQ机器人【保姆级】
  15. python的logo的代码_简单几步,100行代码用Python画一个蝙蝠侠的logo
  16. python基础--del操作
  17. 【教程】PhotoShop一些快捷键
  18. RIoTBoard开发板系列笔记(四)—— 使用VPU硬件解码
  19. 操作系统之移臂调度算法
  20. 书籍推荐——一本老书,吴军老师《数学之美》

热门文章

  1. 双绞线(网线)分类、线序等
  2. matlab 非线性差分方程,用牛顿法求解非线性差分方程组
  3. 字符串常量池与StringBuilder
  4. stm32实现温湿度的采集(AHT20)
  5. Linux虚拟机获取不到ip地址的解决办法
  6. SAP ABAP 业务对象 BUS2072 ControllingDocument 统驭凭证 BAPI 清单和相关 TCODE
  7. 好程序员HTML5前端培训分享如何学好HTML5
  8. 华清远见-重庆中心-JAVA高级阶段技术总结/知识点梳理/面试题解析
  9. 计算机网络拓扑结构常见类型,计算机网络的分类和拓扑结构
  10. 推荐用于学习RN原生模块开发的开源库—react-native-ble-manager