2017-08-10 3 views
1

ドキュメント内のすべてのバイグラムのテーブルを作成するために既存のコードが使用されていますが、アポストロフィが削除されています。 「I've」のような単語を単一の単語として扱うためにこのコードを調整するにはどうすればよいですか?例えばRでバイグラムを作成するときにアポストロフィを保持する方法は?

text1 = scan(file.choose(), what="character",sep="\n") 
text1 <- tolower(text1) 
tokens <- unlist(strsplit(text1, "[^a-z]+")) 
tokens <- mytable[tokens != ""] 
tokens2 <- c(tokens[-1], ".") 
bigrams <- paste(tokens, tokens2) 
freq <- sort(table(bigrams), decreasing=T) 
write.csv(file = "bigram count.csv" , x=freq, row.names = FALSE) 

、「私は楽しみを持っていた」という表現は、出力は「私は持っていた」だろうと「楽しい時間を過ごした」

答えて

0

あなたはこのような「TM」O「nグラム」としてパッケージを使用することができます。たとえば、ngramを使用してbigramsとdata.frameを取得すると、その頻度です。

require(ngram) 
TMP <- "I've had fun tonight" 
TMP1 <- ngram(str = TMP,n = 2) 
TMP2 <- as.data.frame(get.phrasetable(TMP1)) 
TMP2 

     ngrams freq  prop 
1  had fun  1 0.3333333 
2 I've had  1 0.3333333 
3 fun tonight  1 0.3333333 
関連する問題