Ich habe einen großen Datensatz (> 1 Million Zeilen) und jede Zeile ist ein mehrstimmiger Text. Zum Beispiel finden Sie eine Probe von 2 Reihen:R: finde ngram mit dfm wenn es mehrere Sätze in einem Dokument gibt
mydat <- data.frame(text=c('I like apple. Me too','One two. Thank you'),stringsAsFactors = F)
Was ich versuche, die Bigramm Begriffe in jeder Zeile zu tun ist, Extrahieren (das wird ngram Begriffe trennen sein kann „“). Wenn ich einfach die DFM-Funktion:
mydfm = dfm(mydat$text,toLower = T,removePunct = F,ngrams=2)
dtm = as.DocumentTermMatrix(mydfm)
txt_data = as.data.frame(as.matrix(dtm))
Dies sind die Begriffe, die ich habe:
"i_like" "like_apple" "apple_." "._me" "me_too" "one_two" "two_." "._thank" "thank_you"
Diese sind, was ich erwarten, im Grunde "" übersprungen und wird verwendet, um die Bedingungen zu trennen:
"i_like" "like_apple" "me_too" "one_two" "thank_you"
glauben langsam Schleifen schreibe dies auch lösen kann, aber da es eine riesige Datenmenge, die ich effiziente Möglichkeiten ähnlich dem DFM() in quanteda dies zu lösen bevorzugen. Irgendwelche Vorschläge würden geschätzt!
Vielen Dank! Dies hilft, ich änderte die äußere tokenize() zu dfm(), so dass diese Bigramm-Begriffe können Features meines Datensatzes sein – snowneji