博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
斯坦福NLP笔记6 —— Defining Minimum Edit Distance
阅读量:6955 次
发布时间:2019-06-27

本文共 588 字,大约阅读时间需要 1 分钟。

hot3.png

编辑距离

完全是常识了,不用多说,看看视频中给出的例子:

190623_dBbc_1865235.png

星号×被称为一个gap,就是空。d表示delete,s表示substitute,i表示insert,于是序列 INTENTUON 和序列 EXECUTION的最小编辑距离就是5

Levenshtein distance

如上所说,这个距离的算法是替换算两个,插入和删除算一个,所以上述序列的Levenshtein distance是8

编辑距离在NLP中的应用

检查自动翻译的准确率、命名实体抽取等

然后重头戏来了,如何编写算法寻找编辑距离呢?

计算编辑距离

CS的课程讲座里面常常用到intuition这个词,教授说,我们用intuition可以想到一个naive的做法,就是列举出所有的情况,对字符串中的每一个字符都进行三种操作,一棵庞大的树一次延展下来,然后选出能匹配上的那个,对他的操作次数就是编辑距离。

192409_yC8g_1865235.png

显然这样工作量是巨大的,而且做了很多无用功,而且显然这样的问题用动态规划是最好不过了。

先定义动态规划的问题:

设有长度为n的字符串X,和长度为m的字符串Y

192639_iVqW_1865235.png

D(i,j)是一个n×m的矩阵,D(i,j)则代表了X的前i个字符和Y的前j歌字符的编辑距离。算法具体过程,请看下节。

转载于:https://my.oschina.net/silverhammer/blog/292631

你可能感兴趣的文章
拖拽文件作为文件输入
查看>>
Eclipse设置智能提示
查看>>
SAP 生产订单变更管理 OCM Order Changement Management
查看>>
虚拟化这八年-【软件和信息服务】2014.11
查看>>
使用swfupload上传超过30M文件,使用FLASH上传组件
查看>>
OkHttp简介
查看>>
如何使用通用Mapper
查看>>
MYSQL建表语法(主键,外键,联合主键)
查看>>
linux基础-第十单元 系统的初始化和服务
查看>>
多线程的通信和同步(Java并发编程的艺术--笔记)
查看>>
Python格式化输出
查看>>
Linux使用du和df查看磁盘和文件夹占用空间
查看>>
java 消息机制 ActiveMQ入门实例
查看>>
CentOS 6.6 MySQL install
查看>>
从零开始用gulp
查看>>
android之Activity的生命周期
查看>>
hadoop2.4 支持snappy
查看>>
java 又一次抛出异常 相关处理结果演示样例代码
查看>>
STL 笔记(四) 迭代器 iterator
查看>>
2017"百度之星"程序设计大赛 - 复赛1003&&HDU 6146 Pokémon GO【数学,递推,dp】
查看>>