我需要计算给定语料库中单词之间的正交相似度(编辑/ Levenshtein距离)。
R包vwr
似乎能够计算出来:
coltheart.N(list1, list2)
其中Levenshtein距离在两个单词列表的匹配单词之间成对计算。
我想知道是否有办法计算给定单词列表的所有可能单词组合之间的Levenshtein距离。有人可以给我一个暗示吗?
答案 0 :(得分:1)
您可以使用包levenshtein.distance
中的函数vwr
并循环遍历列表中的每个单词:
library(vwr)
wordlist <- list("but", "nut", "rut")
output <- lapply(wordlist, function(x) levenshtein.distance(x, wordlist))
> output
[[1]]
but nut rut
0 1 1
[[2]]
but nut rut
1 0 1
[[3]]
but nut rut
1 1 0
有关于将列表参数传递给stringdist
的警告消息,但结果合适,所以我非常确定您可以忽略它。
编辑:
要将单词指定为列表项的名称,只需使用
names(output) <- wordlist
> output
$but
but nut rut
0 1 1
$nut
but nut rut
1 0 1
$rut
but nut rut
1 1 0