Совместное вхождение слов в предложении в PDF с R (тм пакет?) - PullRequest
0 голосов
/ 23 октября 2018

Итак, моя цель состояла в том, чтобы использовать R для кодирования чего-то, что могло бы вычищать PDF-файлы и извлекать их, когда вещи упоминаются вместе - например, когда вазопрессин и передний гипоталамус упоминаются вместе в https://pdfs.semanticscholar.org/403c/fd873feb7055c9140b7abfa4584fa7ee1c7f.pdf или что-то в этом роде.Большинство учебных пособий по анализу текста, которые я обнаружил, как правило, избавляют от пунктуации и всего этого до анализа текста, поэтому было бы невозможно проверить, когда вещи упоминаются в одном предложении.Это возможно сделать?

Спасибо!

1 Ответ

0 голосов
/ 23 октября 2018

Вам, вероятно, придется рассказать подробнее и привести реальные примеры данных, но в принципе это очень выполнимо.Вот пример, который, я надеюсь, вы найдете полезным:

# here are some 'documents' -- just text strings
doc1 <- "hello. apple horse."
doc2 <- "hello. banana legislature"
doc3 <- "hello, apple banana. horse legislature"

# store them in a list...
list_of_docs <- list(doc1, doc2, doc3)

# ...so we can apply a custom function to this list
lapply(list_of_docs, function(d) {

  # split each document on the '.' character 
  # (fixed=T means interprest this as plain text, not regex)
  phrases_in_d <- unlist(strsplit(d, '.', fixed=T))

  # now here's a regex pattern to search for:
  #   apple followed by anything followed by banana, 
  #     OR 
  #   banana followed by anything followed by apple
  search_regex <- 'apple.*banana|banana.*apple'

  # grepl() returns a logical vector (TRUE or FALSE) to say if there's a match
  # for 'search regex' among 'phrases in document d'
  # any() returns true if any phrases match
  any(grepl(search_regex, phrases_in_d))
})

Результатом, как вы ожидаете, является список false, false, true.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...