Как построить словарь, используя {quanteda} с различными прилагательными, связанными с одним существительным? - PullRequest
0 голосов
/ 10 мая 2019

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

Хороший X. Идеальный X. Великолепный X. Необыкновенный X. Плохой X. БездонныйX. Очень плохой X.

Исходя из этого, я хочу построить словарь, используя {quanteda}, используя следующую структуру кода:

dict <- quanteda::dictionary(list(.))

Есть ли способ, как я могукажите, какие прилагательные я ищу, не вводя X для каждого интересующего прилагательного?

# Example of what I want to avoid:
dict <- quanteda::dictionary(list(
  list_1 = c("good X", "perfect X",...)
))

Так что в идеале мне нужно что-то вроде «хорошо / идеально / ... X», но я знаючто это не сработает.Есть ли решение?

1 Ответ

1 голос
/ 11 мая 2019

Да, вы можете перечислить прилагательные-прекурсоры как регулярное выражение, используя оператор "или" |, за которым следует X.

Здесь я использовал exclusive = FALSE только для того, чтобы показать, какие токеныбыл заменен ключом, а который нет.

library("quanteda")
## Package version: 1.4.3
## Parallel computing: 2 of 12 threads used.
## See https://quanteda.io for tutorials and examples.

dict <- dictionary(list(mykey = "^(good|perfect|magnificient)$ X"))

tokens("I had a good X at the magnificient X hotel.") %>%
  tokens_lookup(dictionary = dict, valuetype = "regex", exclusive = FALSE)
## tokens from 1 document.
## text1 :
## [1] "I"     "had"   "a"     "MYKEY" "at"    "the"   "MYKEY" "hotel" "."
...