Levenshtein距离与权重/相邻惩罚

2024-04-29 01:47:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用字符串编辑距离(Levenshtein距离)来比较眼睛跟踪实验的扫描路径。(现在我正在使用R中的stringdist包)

基本上,字符串的字母是指6x4矩阵中的(凝视)位置。矩阵配置如下:

     [,1] [,2] [,3] [,4]
[1,]  'a'  'g'  'm'  's' 
[2,]  'b'  'h'  'n'  't'
[3,]  'c'  'i'  'o'  'u'
[4,]  'd'  'j'  'p'  'v'
[5,]  'e'  'k'  'q'  'w'
[6,]  'f'  'l'  'r'  'x'

如果我使用基本的Levenshtein距离来比较字符串,那么字符串中ag的比较给出的估计值与ax的比较图标相同。

例如:

'abc' compared to 'agc' -> 1
'abc' compared to 'axc' -> 1

这意味着字符串是相同的(dis)相似的

我想能够把权值放在字符串比较上,在矩阵中加入邻接。E、 g.ax之间的距离应比ag之间的距离大。

一种方法是计算矩阵中从一个字母到另一个字母的“行走”(水平和垂直步数)并除以最大“行走”距离(即从ax)。E、 g.从ag的“步行”距离为1,从ax的距离为8,分别产生1/8和1的重量。

有没有办法实现这个(R或python)?


Tags: to字符串路径编辑距离字母估计值矩阵