Voici un script simple pour la correspondance floue que j'ai écrite. Il y a environ 24 000 mots-clés dans le fichier d'entrée et environ 900 000 dans la liste principale.Plus rapide pour la boucle pour le match floue
Actuellement, le traitement des 24 000 mots-clés prend beaucoup de temps. Des idées comment je peux éliminer la boucle for en faveur de quelque chose de beaucoup plus rapide?
> #=====Install Packages====#
library(stringdist)
>
> #=====Import Master List======#
master_list =
> read.csv('/Documents/Keywords Search Terms
> Tool/input/master/Master List.csv')
>
> #=====Import Input File=====# input_data =
> read.csv('/Documents/Keywords Search Terms
> Tool/input/test_input_file.csv')
>
> #=====Fuzzy Matching for Keywords=====#
> #Convert to Characters
master_list$Keyword<-as.character(master_list$Keyword)
> input_data$Keyword<-as.character(input_data$Keyword)
>
> #Perform Matching
fuzzy_match = data.frame()
>
> for (i in 1:nrow(input_data)){ new_word = subset(input_data, Keyword
> == input_data$Keyword[i]) new_word$match_dummy = ain(new_word$Keyword,master_list$Keyword) fuzzy_match <-
> rbind(fuzzy_match,new_word) }
Merci mais ne fonctionnerait pas si je n'ai pas le même nombre d'enregistrements dans chaque ensemble de données. Aussi je veux sortir un nouveau champ dans la liste d'entrée qui indique s'il y avait une correspondance ou non. – BlackHat