edit_distance()
在下面的例子中使用我有一点问题。我需要在 5 列中打印语言列表中提到的语言中的单词,这不是问题。我已经这样做了:
from nltk.corpus import swadesh
from nltk.metrics import *
from transliterate import translit
languages = ['be', 'bg', 'bs', 'ru', 'cs']
for lang in languages:
print('{:10}'.format(lang),end='')
print()
for i in range(len(swadesh.words('be'))):
for lang in languages:
print('{:10}'.format(swadesh.words(lang)[i].split(',')[0]),end='')
print()
这部分按预期工作。现在我需要测量来自“be”语言的单词与其他语言中该单词的等价词之间的 Levensthein 字符串编辑距离。并且距离应该出现在括号中的每个单词之后。所以它应该看起来像,例如:
tamto(0) acela(5) oni(5) то(3)
你认为衡量它的最佳方法是什么?我在考虑装箱字典:
for i in languages:
words = swadesh.words(i)
d[i] = words
print(d)
然后以某种方式计算编辑距离,但我无法执行此操作。特别是因为其中一种语言 - 俄语有不同的脚本,这意味着我必须使用translit(如果我错了,请纠正我,这是我在网上找到的)。你有什么建议吗?我是编程新手,所以这对你来说可能是一个简单的问题,但我仍在努力找出解决 nltk 中所有问题的方法。先感谢您!