我有一個大數據集(> 100萬行),每行都是多句話文本。例如下面的2行示例:R:在一個文檔中有多個句子時使用dfm查找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(),以便這些bigram項可以是我的數據集的特徵 – snowneji