大きなデータセット(100万行以上)があり、各行は複数の文章のテキストです。たとえば、次は2行のサンプルです:R:一つの文書に複数の文があるときにdgramを使ってngramを見つける
mydat <- data.frame(text=c('I like apple. Me too','One two. Thank you'),stringsAsFactors = F)
私がやろうとしていたもの(「」NGRAM用語を分離することができるようになります)各行のバイグラム用語を抽出しています。私は単純にDFM機能を使用する場合:
mydfm = dfm(mydat$text,toLower = T,removePunct = F,ngrams=2)
dtm = as.DocumentTermMatrix(mydfm)
txt_data = as.data.frame(as.matrix(dtm))
これらは私が得た用語です:
"i_like" "like_apple" "apple_." "._me" "me_too" "one_two" "two_." "._thank" "thank_you"
これらは基本的に、私は期待しています ""スキップや用語を分離するために使用されます。
"i_like" "like_apple" "me_too" "one_two" "thank_you"
は遅いループが、それは私がこれを解決するquantedaでDFM()に似た効率的な方法を好むだろう巨大なデータセットである与えられたとしても、これを解決することができますが、書き込みを信じています。任意の提案をいただければ幸いです!
ありがとうございました!これは、外部tokenize()をdfm()に変更して、これらのバイグラム語を自分のデータセットのフィーチャにすることができます – snowneji