2

quantedaRのパッケージを使用して3グラムを作成しようとしています。

以下のコードのように、n グラムの文頭マーカーと文末マーカー、およびを保持する方法を見つけるのに苦労してい<s>ます</s>

keptFeaturesそれらに一致する正規表現を使用してそれらを維持する必要があると思いましたが、シェブロンマーカーは常に削除されます。

シェブロンマーカーが削除されないようにするにはどうすればよいですか、または文の最初と最後を で区切る最良の方法は何quantedaですか?

おまけの質問として、docfreq(mydfm)overの利点は何colSums(mydfm)ですか。 str(colSums(mydfm)) と str(docfreq(mydfm)) の結果はほぼ同じです (Named num [1:n]前者、Named int [1:n]後者)?

library(quanteda)
text <- "<s>I'm a sentence and I'd better be formatted properly!</s><s>I'm a second sentence</s>"

qc <- corpus(text)

mydfm  <- dfm(qc, ngram=3, removeNumbers = F, stem=T, keptFeatures="\\</?s\\>")

names(colSums(mydfm))

# Output:
# [1] "s_i'm_a"    "i'm_a_sentenc"    "a_sentenc_and"    "sentenc_and_i'd"
# [2] "and_i'd_better"   "i'd_better_be"    "better_be_format"   
# [3] "be_format_proper" "format_proper_s"  "proper_s_s"   "s_s_i'm"    
# [4] "i'm_a_second"   "a_second_sentenc"   "second_sentenc_s"

編集:

コード スニペットで keepFeatures を keepFeatures に修正しました。

4

2 に答える 2