R text mining - поиск полного имени в тексте - PullRequest
0 голосов
/ 01 ноября 2018

данные

У меня есть вектор имен разных людей и текст.

задания:

а) какое имя в тексте - наиболее близкое совпадение (учитывая, что имя в тексте может быть введено с ошибкой). Возвращает совпадение из вектора имен и найденное совпадение.

b) получить начальное и конечное расположение строки в тексте (аналогично charAt () в Java)

names <- c("Hannigan, Mike", "Bing, Chandler", "Geller, Ross", "Buffay, Phoebe")

text <- "He's not an accountant but a statistician. He is Chandlur bing"

желаемый результат:

> matchFrom
"Bing, Chandler"
> matchTo
"Chandlur bing"

> start
50

> end
62

исследования

Я пробовал agrep, но agrep будет сопоставлять шаблон с вектором символов. Мне нужен элемент в именах, чтобы соответствовать целому блоку текста.

В качестве альтернативы, разделение имен и использование цикла for является опцией; мой вектор имен не большой.

for (i in 1:length(names)){
  print(agrepl(names[i], text, ignore.case = TRUE))
}

Возвращение матча является наиболее важным

Если я использую agrep, как мне узнать, где он находится?

...