我有兩個單詞向量。與R匹配的字符串:尋找最佳匹配
Corpus<- c('animalada', 'fe', 'fernandez', 'ladrillo')
Lexicon<- c('animal', 'animalada', 'fe', 'fernandez', 'ladr', 'ladrillo')
我需要在詞彙和語料庫之間做出最好的匹配。 我嘗試了很多方法。這是其中之一。
library(stringr)
match<- paste(Lexicon,collapse= '|^') # I use the stemming method (snowball), so the words in Lexicon are root of words
test<- str_extrac_all (Corpus,match,simplify= T)
test
[,1]
[1,] "animal"
[2,] "fe"
[3,] "fe"
[4,] "ladr"
不過,本場比賽應該是:
[1,] "animalada"
[2,] "fe"
[3,] "fernandez"
[1,] "ladrillo"
相反,與之匹配的是與第一個詞在我的詞彙按字母順序排列。順便說一下,這些向量是我擁有的更大列表的樣本。
我沒有嘗試使用正則表達式(),因爲我不確定它是如何工作的。也許解決方案就是這樣。
你能幫我解決這個問題嗎?感謝您的幫助。
我正在用真正的Lexicon測試你的答案。我稍後會通知結果。謝謝你們倆 – pch919