Использование CleanNLP для распознавания британских локаций - PullRequest
0 голосов
/ 13 июня 2019

Я использую пакет CleanNLP для анализа текстов.Я пытался извлечь список мест из текста, но у меня возникли некоторые проблемы с его распознаванием названий мест.

Используя тестовое тело текста x, я использовал следующий код, чтобы загрузить его каканнотацию и извлечение сущностей местоположения:

#convert text string to clean NLP annotation
obj <- cnlp_annotate(x, as_strings = TRUE)

#extract most commmon locations
cnlp_get_entity(obj) %>%
  filter(entity_type == "LOCATION") %>%
  group_by(entity) %>%
  summarise(count = n()) %>%
  top_n(n = 50) %>%
  arrange(desc(count)) %>%
  use_series(entity)

Однако, когда это выполняется, я получаю следующий вывод:

Selecting by count
character(0)

Я знаю, что в теле теста есть разные топонимытекста (например, Брайтон, Уортинг и т. д.), но он, кажется, не распознает их как таковые.

Когда я запускаю эквивалентный код, но ищу людей:

cnlp_get_entity(obj) %>%
  filter(entity_type == "PERSON") %>%
  group_by(entity) %>%
  summarise(count = n()) %>%
  top_n(n = 50) %>%
  arrange(desc(count)) %>%
  use_series(entity)

Извлекаетимена, которые я ожидал бы из тестового текста.

Мой вопрос заключается в том, идентифицирует ли пакет CleanNLP объекты, использующие модель таблицы поиска, и поэтому британские топонимы не распознаются, или существует правило на основе шаблонов, которое этигеографические названия не соблюдаются.

...