首页 > 其他分享 >Stanford NLP第三课“最小编辑距离(Minimum Edit Distance)”

Stanford NLP第三课“最小编辑距离(Minimum Edit Distance)”

时间:2023-06-07 12:31:40浏览次数:48  
标签:NLP 匹配 Stanford 最小 距离 编辑 字符 序列 第三课


一、课程介绍

斯坦福大学于2012年3月在Coursera启动了在线自然语言处理课程,由NLP领域大牛Dan Jurafsky 和 Chirs Manning教授授课:
链接地址

以下是本课程的学习笔记,以课程PPT/PDF为主,其他参考资料为辅,融入个人拓展、注解,抛砖引玉,欢迎大家在“我爱公开课”上一起探讨学习。

课件汇总下载地址:斯坦福大学自然语言处理公开课课件汇总

二、最小编辑距离

1)定义

编辑距离(Minimum Edit Distance,MED),又称Levenshtein距离,是指两个字符串之间,由一个转成另一个所需要的最少编辑操作次数。允许的编辑操作包括:将一个字符替换成另一个字符(substitution,s),插入一个字符(insert,i)或者删除一个字符(delete,d),如下图所示:

Stanford NLP第三课“最小编辑距离(Minimum Edit Distance)”_最小编辑距离

在大学算法设计相关课程上,想必大家都已经学习过使用动态规划算法解最小编辑距离,形式化定义如下:

 




 

最终求得D(n,m)即为字符串X[0...n]与Y[0...m]之间的最小编辑距离。

2)应用

最小编辑距离通常作为一种相似度计算函数被用于多种实际应用中,详细如下: (特别的,对于中文自然语言处理,一般以词为基本处理单元)

  • 拼写纠错(Spell Correction):又拼写检查(Spell Checker),将每个词与词典中的词条比较,英文单词往往需要做词干提取等规范化处理,如果一个词在词典中不存在,就被认为是一个错误,然后试图提示N个最可能要输入的词——拼写建议。常用的提示单词的算法就是列出词典中与原词具有最小编辑距离的词条。

这里肯定有人有疑问:对每个不在词典中的词(假如长度为len)都与词典中的词条计算最小编辑距离,时间复杂度是不是太高了?的确,所以一般需要加一些剪枝策略,如:

  1. 因为一般拼写检查应用只需要给出Top-N的纠正建议即可(N一般取10),那么我们可以从词典中按照长度依次为len、len-1、len+1、len-2、len-3、...的词条比较;
  2. 限定拼写建议词条与当前词条的最小编辑距离不能大于某个阈值;
  3. 如果最小编辑距离为1的候选词条超过N后,终止处理;
  4. 缓存常见的拼写错误和建议,提高性能。
  • DNA分析:基因学的一个主要主题就是比较 DNA 序列并尝试找出两个序列的公共部分。如果两个 DNA 序列有类似的公共子序列,那么这些两个序列很可能是同源的。在比对两个序列时,不仅要考虑完全匹配的字符,还要考虑一个序列中的空格或间隙(或者,相反地,要考虑另一个序列中的插入部分)和不匹配,这两个方面都可能意味着突变(mutation)。在序列比对中,需要找到最优的比对(最优比对大致是指要将匹配的数量最大化,将空格和不匹配的数量最小化)。如果要更正式些,可以确定一个分数,为匹配的字符添加分数、为空格和不匹配的字符减去分数。

全局序列比对尝试找到两个完整的序列 S1和 S2之间的最佳比对。以下面两个 DNA 序列为例:

S1= GCCCTAGCGS2= GCGCAATG

如果为每个匹配字符一分,一个空格扣两分,一个不匹配字符扣一分,那么下面的比对就是全局最优比对:

S1'= GCCCTAGCGS2'= GCGC-AATG

连字符(-)代表空格。在 S2'中有五个匹配字符,一个空格(或者反过来说,在 S1'中有一个插入项),有三个不匹配字符。这样得到的分数是 (5 * 1) + (1 * -2) + (3 * -1) = 0,这是能够实现的最佳结果。

使用局部序列比对,不必对两个完整的序列进行比对,可以在每个序列中使用某些部分来获得最大得分。使用同样的序列 S1和 S2,以及同样的得分方案,可以得到以下局部最优比对 S1''和 S2'':

S1      = GCCCTAGCG

S1''=                 GCG

S2''=                 GCG

S2      =             GCGCAATG

这个局部比对的得分是 (3 * 1) + (0 * -2) + (0 * -1) = 3。

  • 命名实体抽取(Named Entity Extraction):由于实体的命名往往没有规律,如品牌名,且可能存在多种变形、拼写形式,如“IBM”和“IBM Inc.”,这样导致基于词典完全匹配的命名实体识别方法召回率较低,为此,我们可以使用编辑距离由完全匹配泛化到模糊匹配,先抽取实体名候选词。

具体的,可以将候选文本串与词典中的每个实体名进行编辑距离计算,当发现文本中的某一字符串的编辑距离值小于给定阈值时,将其作为实体名候选词;获取实体名候选词后,根据所处上下文使用启发式规则或者分类的方法判定候选词是否的确为实体名。

  • 实体共指(Entity Coreference):通过计算任意两个实体名之间的最小编辑距离判定是否存在共指关系?如“IBM”和“IBM Inc.”, "Stanford President John Hennessy "和"Stanford University President John Hennessy"。
  • 机器翻译(Machine Translation):
  1. 识别平行网页对:由于平行网页通常有相同或类似的界面结构,因此平行网页在HTML结构上应该有很大近似度。首先将网页的HTML标签抽取出来,连接成一个字符串,然后用最小编辑距离考察两个字符串的近似度。实际中,此策略一般与文档长度比例、句对齐翻译模型等方法结合使用,以识别最终的平行网页对。
  2. 自动评测:首先存储机器翻译原文和不同质量级别的多个参考译文,评测时把自动翻译的译文对应到与其编辑距离最小的参考译文上,间接估算自动译文的质量,如下图所示:
  3. Stanford NLP第三课“最小编辑距离(Minimum Edit Distance)”_编辑距离_02


  • 字符串核函数(String Kernel):最小编辑距离作为字符串之间的相似度计算函数,用作核函数,集成在SVM中使用。

3)变形

在基本的编辑距离基础上,结合实际应用,往往需要做一些变形或改进,如某些拼写错误相对其他更容易发生,同义词替换、虚词或修饰成分被删除(或插入)应该得到较小的惩罚,等等。

改进后的最小编辑距离公式如下所示:

 

 

三、参考资料

  1. Lecture Slides: Minimum Edit Distance
  2. http://en.wikipedia.org
  3. 双语平行网页挖掘系统的设计与实现 
  4. 机器翻译系统评测规范
  5. Improved-Edit-Distance Kernel for Chinese Relation Extraction

微信公众号:


Stanford NLP第三课“最小编辑距离(Minimum Edit Distance)”_最小编辑距离_03

标签:NLP,匹配,Stanford,最小,距离,编辑,字符,序列,第三课
From: https://blog.51cto.com/u_2650279/6430928

相关文章

  • 自然语言处理(NLP)
    "自然语言处理(NaturalLanguageProcessing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。"自然语言处理有啥用智能问答智能对话......
  • NLP自然语言处理—主题模型LDA案例:挖掘人民网留言板文本数据|附代码数据
    全文链接:http://tecdat.cn/?p=2155最近我们被客户要求撰写关于NLP自然语言处理的研究报告,包括一些图形和统计输出。随着网民规模的不断扩大,互联网不仅是传统媒体和生活方式的补充,也是民意凸显的地带。领导干部参与网络问政的制度化正在成为一种发展趋势,这种趋势与互联网发展的时......
  • 自然语言处理(NLP) - 前预训练时代的自监督学习
    前预训练时代的自监督学习自回归、自编码预训练的前世神经网络(NeuralNetwork,NN)损失函数,度量神经网络的预测结果和真实结果相差多少平方差损失(欧式距离角度)预测概率分部和实际标签概率的欧式距离交叉熵损失(信息量角度)预测概率分部和真实概率分部的差异,指导神经网络学......
  • DRF学习第三课
    Restful接口标准:1,请求方式:获取GET,保存POST,更新PUT,删除DELETE2,请求路径:1,资源的名词复数作为路径 2,单一资源操作如:books/1/3,请求参数:1,根据模型确定传递的字段-保存或更新--JSON 2,过滤信息--查询字符串形式传递4,返回结果:1,错误{error:错误信息}2,正确 根据请求方式返回......
  • NLP自然语言处理—主题模型LDA案例:挖掘人民网留言板文本数据|附代码数据
    从上图可以看出不同地区留言板的情感倾向分布,总的来说,负面情感留言数目和积极情感相差不多,负面情感留言较多,占比46%,积极情感留言占比42%,中立情感的留言占比11%。从地区来看,活跃在各大媒体的“朝阳区群众”留言数目也是最多的,其次是海淀区,昌平区。因此,从情感分布来看大部分留言还......
  • 文档关键信息提取形成知识图谱:基于NLP算法提取文本内容的关键信息生成信息图谱教程及
    文档关键信息提取形成知识图谱:基于NLP算法提取文本内容的关键信息生成信息图谱教程及码源(含pyltp安装使用教程)1.项目介绍目标:输入一篇文档,将文档进行关键信息提取,进行结构化,并最终组织成图谱组织形式,形成对文章语义信息的图谱化展示。如何用图谱和结构化的方式,即以简洁的方式对......
  • 【NLP】Bert下载
    不区分大小写bert-base-uncased版本如果要下载其他版本点modelcard往下滑,根据需要选择对应版本比如这里下载bert-base-uncased版本,点进去后点filesandversions然后下载红框圈住的,其他的可以下也可以不下......
  • NLP中的Autoencoder、Autoregressive、seq2seq模型区分
    自回归、自编码器、seq2seqAutoregressiveLM特点:自回归语言模型按照特定的顺序一次生成一个token。自回归模型是单向的语言模型,适合用于文本生成。训练方式:给定之前所有的token,预测下一个token是什么。代表模型:GPT。AutoencoderLM特点:自编码器语言模型通常用于denoisin......
  • 医学AI又一突破,微软开源生物医学NLP基准:BLURB
    By超神经内容概要:微软团队发布生物医学领域NLP基准,命名为BLURB,已在arxiv.org中发布相关论文,并将其开源。关键词:生物医学 自然语言处理 基准微软的研究团队近日在arxiv.org发布了论文:《Domain-SpecificLanguageModelPretrainingforBiomedicalNaturalLanguageProce......
  • 动手学深度学习(十二) NLP循环神经网络进阶
    GRURNN存在的问题:梯度较容易出现衰减或爆炸(BPTT)⻔控循环神经⽹络:捕捉时间序列中时间步距离较⼤的依赖关系RNN:ImageNameGRU:ImageName•重置⻔有助于捕捉时间序列⾥短期的依赖关系;•更新⻔有助于捕捉时间序列⾥⻓期的依赖关系。载入数据集importos......