Удаление пользовательских стоп-слов и фраз с помощью Quanteda - PullRequest
0 голосов
/ 06 февраля 2019

У меня есть список стоп-слов, который я хотел бы использовать для удаления определенных фраз из текста:

   #dummy text
    df2 <- c("hi my name is Ann and code code all the time! However not after that I would like")

mystopwords <- c("hi", "code code", "not after that")

Я использую эту опцию:

myDfm <- df2 %>%
  tokens(remove_punct = TRUE, remove_numbers = TRUE, remove_symbols = TRUE) %>%
  tokens_remove(pattern = c(stopwords(source = "smart"), mystopwords)) %>%
  tokens_wordstem() %>%
  tokens_ngrams(n = c(1, 3)) %>%
  dfm()

, но когда я проверяюЧастота биграммы или триграммы, которые они не убрали, просто остановилась.

Что-то не так в синтаксисе?

1 Ответ

0 голосов
/ 06 февраля 2019

Этого можно добиться, используя функцию phrase(), когда вы используете список стоп-фраз.

Работает так:

library(quanteda)
df2 <- c("hi my name is Ann and code code all the time! However not after that I would like")

mystopwords <- c("hi", "code code", "not after that")

df2 %>% tokens %>% 
  tokens_remove(pattern = phrase(mystopwords), valuetype = 'fixed')

## tokens from 1 document.
## text1 :
##  [1] "my"      "name"    "is"      "Ann"     "and"     "all"     "the"     "time"    "!"       "However" "I"       "would"  
## [13] "like"   

Подробную информацию о работе с выражениями из нескольких слов в quanteda можно получить здесь: https://quanteda.io/articles/pkgdown/examples/phrase.html

...