Ich arbeite gerade mit dem Quanteda-Paket in R, und ich würde gerne die Ngramme einer Reihe von Wortstämmen berechnen, um schnell abschätzen zu können, welche Inhaltswörter sich nahe beieinander befinden . Wenn ich es versuche:Wie man alle Wörter in einem ngram, mit quanteda eindrücken?
twitter.files <- textfile(files)
twitter.docs <- corpus(twitter.files)
twitter.semantic <- twitter.docs %>%
dfm(removeTwitter = TRUE, ignoredFeatures = stopwords("english"),
ngrams = 2, skip = 0:3, stem = TRUE) %>%
trim(minCount = 50, minDoc = 2)
Es stammt nur das letzte Wort in den Bigrammen. wenn ich versuche, jedoch Einhalt zu gebieten zuerst:
twitter.files <- textfile(files)
twitter.docs <- corpus(twitter.files)
stemmed_no_stops <- twitter.docs %>%
toLower %>%
tokenize(removePunct = TRUE, removeTwitter = TRUE) %>%
removeFeatures(stopwords("english")) %>%
wordstem
twitter.semantic <- stemmed_no_stops %>%
skipgrams(n = 2, skip = 0:2) %>%
dfm %>%
trim(minCount=25, minDoc = 2)
Dann ist Quanteda nicht, wie mit der dämmt Liste zu arbeiten; Ich werde den Fehler:
assignment of an object of class “NULL” is not valid for @‘ngrams’
in an object of class “dfmSparse”; is(value, "integer") is not TRUE
Gibt es einen Zwischenschritt ich ein DFM auf den dämmt Worte benutzen tun können, oder dfm
zu sagen, zuerst Einhalt zu gebieten und zu tun ngrams Sekunde?
Ich denke, dass Sie vielleicht anwenden Wortstamms auf die Texte dann skipgrams direkt, also nicht konvertieren zu corpus zuerst, gelten nur die Funktionen ein Vektor von Texten. – lmkirvan
Ich kann das irgendwie zum Arbeiten bringen, indem ich Dateien mit readLines laden, sie in Token zerlegen, remoteFeatures und wordstem sie lösche und dann entweder die Ergebnisse als Stemmed-Dateien speichere oder sie in einen Korpus zur Verwendung bringe. Es funktioniert, und ich kann die Ergebnisse so zwischenspeichern, aber ich hoffe immer noch, einen Weg zu finden, '' Stem' und 'Ngrams' schön zusammen zu spielen. –