用R实现模糊匹配

 

模糊匹配:就是把相似的名词配对起来,案例如,携程爬取下来的景区名称和同城名称并不是完全一致的,但几个关键词是一致的。然后可以通过分词,投票等方法把它们匹配上。

 

 

library(rJava)
library(Rwordseg)
setwd("D:\\Documents\\work\\匹配")
total_data<-read.csv("门票景区.csv",stringsAsFactors=FALSE)
sub_data<-read.csv("match.csv",stringsAsFactors=FALSE)
sub_data$split<-segmentCN(sub_data$POI名称)

sub_data$lvmm_id<-""
sub_data$lvmm_pro<-""

for (j in 1:length(sub_data[,1])){
words<-unlist(sub_data$split[j])
len<-length(words)
index <- 1
total_data$score<-0
while(index <=len){
  for (i in 1:length(total_data[,1])){
    if (grepl(words[index],total_data$产品名称[i])==T){
      total_data$score[i]<-total_data$score[i]+1
    }
  }
  index <-index +1 
}
sub_data[j,c("lvmm_id","lvmm_pro")]<-total_data[which(total_data$score==max(total_data$score)),][1,c(1,2)]
print(j/length(sub_data[,1]))
}

sub_data$province<-total_data[match(sub_data$lvmm_id,total_data$产品ID),"产品目的省份"]
write.csv(sub_data[,c(1,3,4,5)],"result.csv",row.names = FALSE)


 

 

 

  • 7
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 13
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值