首页 > 解决方案 > 根据推文中的关键字分配 ID

问题描述

我通过输入 44 个不同的关键字提取了推文,输出在一个文件中,该文件总共包含 40 万条推文。输出文件包含包含相关关键字的推文。如何创建一个单独的 ID 列,其中包含该推文中存在的关键字?

例如:推文是:

安得拉邦是对妇女犯罪的最高州

这里的关键词是“对妇女的犯罪”

我想创建一个列,将关键字“针对女性的犯罪”分配给推文,准确地说是一种 ID 列。

#input column 1
Tweet<-("Andhra Pradesh is the highest state with crimes against women")

#expected output column 2 beside the Tweet column
Keyword<-("crimes against women")

编辑:我不想提取推文的任何部分,我只想能够在一个新列中为推文分配它包含的关键字,这样它将帮助我根据这个关键字分离推文。

标签: rnlpuniqueidentifier

解决方案


我们可以使用stringr它对字符串操作非常方便,并且简单地使用str_extract,即

str_extract(Tweet, Keyword)
#[1] "crimes against women"

对于您需要应用的多个关键字和多个字符串,即

Keyword <- c("crimes against women", "something")
Tweet <- c("Andhra Pradesh is the highest state with crimes against women", 
           "another string with something else")

sapply(Tweet, function(i)str_extract(i, paste(Keyword, collapse = '|')))

#    Andhra Pradesh is the highest state with crimes against women                            another string with something else 
#                                           "crimes against women"                                                   "something" 

推荐阅读