我目前正在编写一个脚本(R),以从句子中提取职称,这些句子取自各种公司高管的传记。我有一份职位清单和传记中的句子清单,我想知道如何提取每个句子中的职位清单。我尝试将句子分解成单词(与职称相同),并使用%in%进行匹配,虽然可以,但是并不能提取全部短语(董事会只是“董事会”和“董事”,不能包含“ of”,因为一堆不需要的of将被抽出”
job_title <- list("board of directors", "VP of sales")
sentences <- list("He was a member of the board of directors", "He joined as
VP of sales", "He was born in 1968")
因此,从本质上讲,我希望一些代码可以浏览每个句子,将其与job_title匹配,然后提取职位名称,这样结果是: “董事会”和“销售副总裁”列表。 非常感谢!
答案 0 :(得分:0)
也许您可以执行以下操作:
for (i in 1:2) {
if(i == 1) {
# check for board of directors
dir_list <- as.integer(grepl(job_title[1], sentences, fixed=TRUE))
} else {
# check for vp sales
cp_list <- as.integer(grepl(job_title[2], sentences, fixed=TRUE))
}
}
这给出了:
dir_list as 1, 0, 0 and cp_list as 0, 1, 0
其中1表示在相关句子中找到了您要查找的字符串。例如,在第1句中找到了董事会,在第2句中找到了vp sales。因此,如果您在一个句子中都有两个,则两个列表都将有1,而如果没有找到,则您将有0。现在,您可以根据需要选择要使用这些值的内容。