2つのベクトルの各単語間のJaccard類似度を計算する必要があります。各単語ごとに各単語。そして最も類似した言葉を抽出する。2つのベクトルの各単語間のJaccardの類似度を計算する
txt1 <- c('The quick brown fox jumps over the lazy dog')
txt2 <- c('Te quick foks jump ovar lazzy dogg')
words <- strsplit(as.character(txt1), " ")
words.p <- strsplit(as.character(txt2), " ")
r <- length(words[[1]])
c <- length(words.p[[1]])
m <- matrix(nrow=r, ncol=c)
for (i in 1:r){
for (j in 1:c){
m[i,j] = stringdist(tolower(words.p[[1]][j]), tolower(words[[1]][i]), method='jaccard', q=2)
}
}
ind <- which(m == min(m))-nrow(m)
words[[1]][ind]
が向上し、大規模なデータフレームのために、このコードを美化するために私を助けてください:
は、ここに私の悪い悪い遅いコードです。
どのように大規模な「大」であり、どのくらいの時間があなたのコードを使用して取るん:
または1つのラインで
? – lukeAこの 'sapply(words.p、function(x)mapply(stringdist、words、x、method = 'jaccard'))'を試してください。これにより、簡単に調べることができるマトリックスが直接得られます。 –