Эффективное распознавание именованных сущностей в R - PullRequest
0 голосов
/ 30 сентября 2019

У меня есть код в R для извлечения человека и местоположения из текста:

library(rvest)
library(NLP)
library(openNLP)

page = pdf_text("C:/Users/u214738/Documents/NER_Data.pdf")

text = as.String(page)

sent_annot = Maxent_Sent_Token_Annotator()
word_annot = Maxent_Word_Token_Annotator()

install.packages("openNLPmodels", repos = "http://datacube.wu.ac.at/src/contrib/", type = "source")
install.packages("openNLPmodels.en", repos = "http://datacube.wu.ac.at/", type = "source")
install.packages("openNLPmodels.en", repos = "http://datacube.wu.ac.at/", type = "source",kind="person")
install.packages("openNLPmodels.en",repos ="http://datacube.wu.ac.at/", type = "source",kind="location")
install.packages("openNLPmodels.de", repos = "http://datacube.wu.ac.at/", type = "source")

library(openNLPmodels.de)
library(openNLPmodels.en)

loc_annot = Maxent_Entity_Annotator(kind = "location") #annotate location
people_annot = Maxent_Entity_Annotator(kind = "person") #annotate person

annot.l1 = NLP::annotate(text, list(sent_annot,word_annot))

k <- sapply(annot.l1$features,`[[`,"kind")
Locations = text[annot.l1[k=="location"]]
People = text[annot.l1[k == "person"]]

unique(Locations)
print(Locations)

unique(People)
print(People)

Но я получаю следующие результаты:

уникальные (местоположения)

символ (0)

печать (расположение)

символ (0)

уникальный (люди)

символ (0)

печать (люди)

символ (0)

NER_Data содержит любой текст с именами людей и местами, такими как информация о Билле Гейтсе, Уоррене Баффете

Требуется ваше быстрое руководство по этому модулю.

...