0

我目前正在编写一个脚本(在 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 匹配并提取职位名称,以便结果是:“董事会”和“销售副总裁”列表。非常感谢!

4

1 回答 1

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 句中找到了 board of board,在第 2 句中找到了 vp sales。因此,如果您在一个句子中同时拥有这两个列表,则两个列表都为 1,如果没有找到,则为 0。您现在可以根据自己的要求选择要对这些值执行的操作。

于 2018-06-22T11:47:22.603 回答