冯志伟 | 术语研究中的最小编辑距离
The following article is from 中国科技术语 Author 冯志伟
01关于文章
原文标题 | 术语研究中的最小编辑距离
原文刊登 | 《中国科技术语》2022年第3期
文章版权 | 本文已获得原作者授权,如需转载,可关注本号,在后台留言
02内容摘要最小编辑距离是比较语言中不同符号串之间相似程度的一种方法,这种方法计算不同符号串之间转换时的删除、插入、替代等运算的操作数,通过动态规划算法进行算法描述。在术语研究中,可以使用最小编辑距离对术语特征进行定量化计算。在计算语言学中,可以使用最小编辑距离发现潜在的拼写错误,进行错拼更正。在语音识别中,可以使用最小编辑距离计算单词的错误率。在机器翻译中,可以使用最小编辑距离进行双语语料库的单词对齐。00
引 言
语言研究中,常常需要比较不同符号串之间的相似程度。在自然语言处理中,不同的单词也是不同的符号串,组成这些不同符号串的字母有相同的部分,也有不同的部分,可以采用最小编辑距离(minimum edit distance)来描述这符号串之间的相似程度[1-2]。在术语研究中,术语也就是符号串,因此可以使用最小编辑距离对术语之间的相似程度进行数学描述。
最小编辑距离的原理
最小编辑距离就是把一个符号串转换为另一个符号串时所需要的最小编辑操作的次数。
例如,在进行符号串转换时,英语的intention(意图)和execution(执行)这两个符号串之间最小需要进行5个操作,它们之间的最小编辑距离就是5。
具体说明如下:把intention和execution这两个符号串之间的最小编辑距离表示为对齐(alignment)操作。如图1,I与空符号对齐,N与E对齐,T与X对齐,E与E对齐,空符号与C对齐,N与U 对齐,T与T对齐,I与I对齐,O与O 对齐,N与N对齐。在对齐的符号串下方的标记,说明从上面的符号串转换为下面的符号串要做的操作,符号的一个序列就表示一个操作表(operation list)。最下面一行给出了从上面的符号串到下面的符号串转换时的操作表:d表示删除(delete),s表示替代(substitute),i表示插入(insert)。I与空符号对齐时要把I删除,所以用d表示;N与E对齐时要用E来替代N,所以用s表示;T与X对齐时要用X来替代T,所以也用s表示;E与E对齐时,不进行任何操作;空符号与C对齐时要插入C,所以用i表示;N与U 对齐时要用U来替代N,所以用s表示;T与T对齐,I与I对齐,O与O 对齐,N与N对齐,都不进行任何操作。这样便得到intention和execution对齐时的操作表dssis,也就是“删除-替代-替代-插入-替代”。
图1 从intention到execution的对齐过程
也可以把intention和execution的对齐过程看作是从intention到execution转换过程,即:
第1步:删除 intention中的第一个字母i,得到ntention;
第2步:用e替代ntention中的第一个字母n,得到etention;
第3步:用x替代etention中的第二个字母t,得到exention;
第4步: 在exention中的第四个字母n和第五个字母t之间插入字母u,得到exenution;
第5步:用c替代exenution中的第四个字母n,得到execution。
转换过程如图2所示。从而得到从intention转换为execution时的操作表也是dssis。
可以赋给每个操作一个代价值(cost)或权值(weight)。1966年,Levenshtein(列文斯坦)建议,在上面的删除、替代和插入3种方法中,每一个操作的代价值都为1,而用同一个字母来替代它自己时代价值为0(例如,用字母T来替代字母T的代价值为0)[3]。两个序列之间的列文斯坦距离(Levenshtein distance)是最简单的加权因子,这个加权因子也就是最小编辑距离。所以,根据intention和execution对齐时的操作表dssis,这两个单词之间的列文斯坦距离为1+1+1+1+1=5,这意味着,这两个单词之间的最小编辑距离为5。
此外,Levenshtein还提出了另一种不同的度量方法。这种方法规定,插入或脱落操作的代价值为1,不容许替代操作[3]。不过,Levenshtein认为,也可以把替代操作表示为一个脱落操作加上一个插入操作,这样,替代操作的代价值应该为2,这实际上也就等于容许了替代操作。使用这样的度量方法,根据intention和execution对齐时的操作表dssis,这两个单词之间的列文斯坦距离应该是1+2+2+1+2=8,根据这样的度量方法,这两个单词之间的最小编辑距离为8。可以认为,Levenshtein取替代操作的代价值为2是合理的,因为一个替换操作,实际上相当于“先删除”和“后插入”两个操作。因此这样的度量方法是合理的,所以在本文中采用这样的方法进行度量。
最小编辑距离的动态规划算法
在自然语言的计算机自动处理中,最小编辑距离可以通过动态规划算法(dynamic programming algorithm)来进行算法描述[3]。
用序列比较的动态规划算法工作时,要建立一个编辑距离矩阵(edit distance matrix),目标序列的每一个符号按照自左而右的顺序记录于矩阵的行中,源序列的每一个符号按照自下而上的顺序记录在矩阵的列中,也就是说,目标序列的字母沿着底线自左而右排列,源序列的字母沿着侧线自下而上排列。对于最小编辑距离来说,这个矩阵就是编辑距离矩阵。每一个编辑距离单元[i, j]表示目标序列第i个字符和源序列的第j个字符之间的距离。每个单元可以作为周围单元的简单函数来计算。
计算每个单元的值的时候,取到达该单元时插入(ins)、替代(sub)、删除(del)3个可能路径中的最小路径为其值,计算公式如下:
图3中的伪代码(pseudo code)对此最小编辑距离算法做了归纳。
图3中,各种代价值可以是固定的(例如x, ins-cost(x)=1),也可以针对个别字母做特别说明(例如,说明某些字母比另外一些字母更容易被替代)。假定相同的字母进行替代时,其代价值为0。
图4是应用最小编辑距离算法计算intention和execution之间距离的结果,计算时采用了Levenshtein提出的第二种度量方法:插入和删除的代价值分别取1,替代的代价值取2,当相同的字母进行替代时,其代价值为0。每一个单元都存在插入、脱落和替代3种可能性,最小编辑距离算法以这3种可能路径中的最小路径为其值。采用这样的计算方法,从矩阵的开始点出发,每一个单元都在插入、脱落和替代3种可能性之间进行选择,因此能够把矩阵中所有的单元都填满。如图4所示。
(计算时采用了Levenshtein距离;斜体字符表示从空符号串开始的距离的初始值,矩阵中的所有的单元都填满了。)
采用最小编辑距离算法,在图4中,首先要删除intention中的i,从第1列第0行开始计算。
图4中的一种可行的计算步骤如下:
——首先删除i,在第1列第0行,得1分,积累为1分;——用e替换n,在第1列第2行,得2分,积累为1+2=3分;——用x替换t,在第2列第3行,得2分,积累为3+2=5分;——e不变,在第3列第4行,不得分,积累为5分;——用c替换n,在第4列第5行,得2分,积累为5+2=7分;——在c后插入u,在第5列第5行,得1分,积累为7+1=8分;——t与t完全相同,在第6列第6行,不得分,积累为8+0=8分;——i与i完全相同,在第7列第7行,不得分,积累为8+0=8分;——o与o完全相同,在第8列第8行,不得分,积累为8+0=8分;——n与n完全相同,在第9列第9行,不得分,积累为8+0=8分;因此总积累为8分。
为了扩充最小编辑距离算法,使它能够进行对齐(alignment),可以把对齐看作是通过编辑距离矩阵的一条路径(path)。图5中使用带阴影的小方框来显示这条路径。路径中的每一个小方框表示两个符号串中的一对字母对齐的情况。如果两个这样带阴影的小方框连续地出现在同一个行中,那么,从源符号串到目标符号串就会有一个插入操作;如果两个这样带阴影的小方框连续地出现在同一个列中,那么,从源符号串到目标符号串就会有一个删除操作。
图5从直觉上说明了如何计算这种对齐路径。计算过程分为两步,分述如下:
(1) 第一步中,在每一个方框中存储一些指针来提升最小编辑距离算法的功能。方框中指针要说明当前的方框是从前面的哪一个(或哪些个)方框来的方向。图中分别标示出了这些指针的情况。在某些方框中出现若干个指针,这是因为在这些方框中最小的扩充可能来自前面的若干个不同的方框。指针“←”表示“插入”操作,指针“↓”表示“删除”操作,指针“↙”表示“替换”操作。
(2) 第二步中,进行追踪(back-trace)。追踪时从最后一个方框(处于最后一行与最后一列的方框)开始,沿着指针箭头所指的方向往后追踪,穿过这个动态规划矩阵。在最后的方框与初始的方框之间的每一个完整路径,就是一个最小编辑距离的对齐。
图5中,在每一个方框中输入一个值,并用箭头标出该方框中的值是来自与之相邻的3个方框中的哪一个方框,一个方框最多可以有3个箭头(“←”“↓”“↙”)。当这个表填满之后,使用追踪的方法来计算对齐结果(也就是最小编辑路径)。计算时,从右上角代价值为8的方框开始,顺着箭头所指的方向进行追踪。图5中灰黑色的方框序列表示在两个符号串之间可能的最小代价对齐的结果。根据灰黑色方框序列中的结果,计算最小编辑距离的值。首先要删除intention中的i,从第1列第0行开始计算,计算步骤如下:
——首先删除i,在第1列第0行,得1分,积累为1分;
——用e替换n,在第1列第2行,得2分,积累为1+2=3分;
——用x替换t,在第2列第3行,得2分,积累为3+2=5分;
——e不变,在第3列第4行,不得分,积累为5分;
——在e后插入c,在第4列第4行,得1分,积累为5+1=6分;
——用u替换n,在第5列第5行,得2分,积累为6+2=8分;
——t与t完全相同,在第6列第6行,不得分,积累为8+0=8分;
——i与i完全相同,在第7列第7行,不得分,积累为8+0=8分;
——o与o完全相同,在第8列第8行,不得分,积累为8+0=8分;
——n与n完全相同,在第9列第9行,不得分,积累为8+0=8分; 总积累仍然为8分。
因此,intention和execution之间的最小编辑距离为8。
03最小编辑距离与术语研究
上文描述的最小编辑距离方法对于术语研究是有启发的。中文术语是用汉字来表示的,汉字也是一种符号,而术语就是由汉字构成的符号串,因此,可以使用最小编辑距离从数学上来衡量中文术语之间的接近程度,对中文术语进行定量化的描述。例如,在计算机术语中,有“磁盘存储器(magnetic disc storage)、磁盘机(magnetic disc unit)、磁盘驱动器(magnetic disc drive)、磁头(magnetic head)、磁头加载区(magnetic head loading zone)”等中文术语,人们从感性层面觉得“磁盘机、磁盘驱动器、磁头、磁头加载区”与“磁盘存储器”的接近程度是不同的,“磁盘机、磁盘驱动器”与“磁盘存储器”比较接近,而“磁头、磁头加载区”与“磁盘存储器”相距较远。但是,这样的感觉终究是主观的,很可能因人而异。如果采用最小编辑距离,就可以对人们的主观感受进行定量化计算,使之得到精确的描述,从而避免认识的主观性。上述术语的最小编辑距离分别计算如下:
磁盘存储器磁盘机** sdd最小编辑距离=2+1+1=4磁盘存储器磁盘驱动器ss最小编辑距离=2+2=4磁盘存储器磁头***sddd最小编辑距离=2+1+1+1=5磁盘存储器磁头加载区ssss最小编辑距离=2+2+2+2=8
“磁盘机、磁盘驱动器”与“磁盘驱动器”的最小编辑距离为4,而“磁头、磁头加载区”与“磁盘存储器”的最小编辑距离分别为5和8。最小编辑距离的计算结果与人们的主观感觉是吻合的。这样,主观感受就获得了定量化的数学描述。
由此可见,如果使用最小编辑距离来计算不同术语之间的接近程度,能够使人们对不同术语之间的接近程度的主观感受获得定量的认识。这是计算术语学(computational terminology)研究中一个值得关注的有趣问题[1]。
04
结语
参 考 文 献
(上滑查看)
于洋(1988—),男,博士,大连海事大学外国语学院讲师。主要研究方向为计量语言学、语料库语言学和词源学等。
通信方式:yuyang89@dlmu.edu.cn
-END-
【往期回顾】
前沿动态
从“不开放”到“开放”!知网提供个人查重服务,将带来哪些影响?
精品课程
名师风采|译直播创始人叶鸿斌:远程口译平台能为我们带来怎样的便利?
名师风采|李长栓教授:非文学翻译理论与实践——理解、表达、变通翻译
名师风采|王少爽博士:全媒体时代翻译专业学生如何提升信息素养?
观点洞见
面向业界的澳洲翻译本科口译教学多维透析——蒙纳士大学荣誉院士秦潞山教授访谈录
王华树 杨承淑:人工智能时代的口译技术发展:概念、影响与趋势
技术科普