Je comprends que la distance q-gram est la somme des différences absolues entre les vecteurs q-gram des deux chaînes. Mais je vois un comportement étrange quand l'une des chaînes est plus courte que le q choisi.Pourquoi R stringdist renvoie-t-il Inf à une distance de q-gram avec une chaîne plus courte que q?
Donc, pour ces deux chaînes, tandis que la fonction qgrams
est correcte:
> qgrams("a", "the cat sat on the mat", q = 2)
th he t sa on n ma e c ca at s t o m
V1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
V2 2 2 2 1 1 1 1 2 1 1 3 1 1 1 1
La fonction retourne stringdist
:
> stringdist("a", "the cat sat on the mat", q = 2, method = "qgram")
[1] Inf
au lieu de retourner:
> sum(qgrams("a", "the cat sat on the mat", q = 2)[2,])
[1] 21
Ai-je manqué quelque chose ou est-ce un bug? Merci.
versions stringdist: 0.9.4.1 et 0.9.4.2
mise à jour: ajouté [bugreport] (https://github.com/markvanderloo/stringdist/issues/48) –
maintenant enfin résolu en version GH. (0.9.4.5) –