Пакет Quanteda предоставляет разреженную матрицу DFM для документов и ее методы содержат removeFeatures. Я попробовал dfm(x, removeFeatures="\\b[a-z]{1-3}\\b")
, чтобы удалить слишком короткие слова, а также dfm(x, keptFeatures="\\b[a-z]{4-99}\\b")
, чтобы сохранить достаточно длинные слова, но не работать, в основном делая то же самое, то есть удаляя слишком короткие слова.R: удаление регулярного выражения из Quanted DFM, разреженная матрица характеристик документа, объект?
Как удалить регулярное выражение из объекта Quanted DFM?
Пример.
myMatrix <-dfm(myData, ignoredFeatures = stopwords("english"),
stem = TRUE, toLower = TRUE, removeNumbers = TRUE,
removePunct = TRUE, removeSeparators = TRUE, language = "english")
#
#How to use keptFeatures/removeFeatures here?
#Instead of RemoveFeatures/keptFeatures methods, I tried it like this but not working
x<-unique(gsub("\\b[a-zA-Z0-9]{1,3}\\b", "", colnames(myMatrix)));
x<-x[x!=""];
mmyMatrix<-myMatrix;
colnames(mmyMatrix) <- x
Образец DFM
myData <- c("a aothu oat hoah huh huh huhhh h h h n", "hello h a b c d abc abcde", "hello hallo hei hej", "Hello my name is hhh.")
myMatrix <- dfm(myData)
Может быть что-то вроде 'dfm_select (myMatrix,«^ [[цифра, буква: ]] {1,3} $ "," remove ", valuetype =" regex ")'? –