假设我有以下几句话:
word1 = 'john lennon'
word2 = 'john lenon'
word3 = 'lennon john'
几乎很清楚,这三个词指的是同一个人。具有以下代码:
library(stringdist)
>stringdist('john lennon','john lenon',method = 'jw')
[1] 0.06363636
>stringdist('john lennon','lennon john',method = 'qgram')
[1] 0
>stringdist('john lennon','lennon john',method = 'jw')
[1] 0.33
>stringdist('john lennon','john lenon',method = 'qgram')
[1] 1
很明显,在这个例子中qgram
效果更好。但这只是这种情况。我的问题是如何结合这两种方法?
jw
给出了更好的结果,但不能“抓住”颠倒的单词(在我的例子中,姓氏与姓氏)。有什么建议吗?