【NLP_Stanford课堂】最小编辑距离
一、什么是最小编辑距离 最小编辑距离 :是用以衡量两个字符串之间的相似度,是两个字符串之间的最小操作数,即从一个字符转换成另一个字符所需要的操作数,包括插入、删除和置换。 每个操作数的cost : 每个操作数的cost一般是1 如果置换的cost是2,而插入和删除的cost是1,我们称之为Levenshtein 距离。 作用 : 计算衡量机器翻译和语音识别的好坏:将机器得到的字符串与专家写的字符串比较最小编辑距离,以一个单词为一个单位。 命名实体识别和链接:比如通过计算最小编辑距离,可以判定IBM.Inc和IBN非常相似,只有一个单词不同,所以认为这是指向同一个命名实体。 二、如何找到最小编辑距离 实质 :寻找一条从“开始字符串”到“最终字符串”的路径(一个操作序列) 具体过程 : 初始状态:机器翻译出来的单词 操作:插入、删除、置换 黄金状态:我们尽力希望得到的单词 路径花费:操作数目,要求最小化 实例: 单词intention通过删除i可以得到ntention,通过插入e可以得到eintention,通过将i换成e可以得到entention。以上从intention到叶子节点的任意一个单词经过的操作数就是一条路径。 可以发现枚举出所有可转变成的单词的花费是十分巨大的,我们不可能用枚举遍历的方式来寻找一条最短路径,一种解决方法是:使用剪枝 每层中有很多路径被剪枝了,