0

識別された辞書の単語を Quanteda dfm から抽出しようとしていますが、解決策を見つけることができませんでした。

誰かがこれに対する解決策を持っていますか?

サンプル入力:

dict <- dictionary(list(season = c("spring", "summer", "fall", "winter")))
dfm  <- dfm("summer is great", dictionary  = dict)

出力:

 > dfm
 Document-feature matrix of: 1 document, 1 feature.
 1 x 1 sparse Matrix of class "dfmSparse"

   features
docs    season
text1      1

季節性の口述語が文の中で特定されていることがわかりましたが、それがどの語であったかも知りたいです。

これは、できれば表形式で抽出する必要があります。

docs    dict     dictWord
text1   season   summer
4

1 に答える 1

1

keptFeatures引数を使用して 2 番目の dfm を作成し、cbind()それを最初の辞書化された dfm に作成できます。

dict <- dictionary(list(season = c("spring", "summer", "fall", "winter")))
txt <- "summer is great"
season_dfm  <- dfm(txt, dictionary  = dict, verbose = FALSE)
dict_dfm <- dfm(txt, select = dict, verbose = FALSE)

cbind(season_dfm, dict_dfm)
## Document-feature matrix of: 1 document, 2 features.
## 1 x 2 sparse Matrix of class "dfmSparse"
##       season summer
## text1      1      1

出力をテーブルとして表示する場合は、次のようになります。

dict_df <- as.data.frame(combined_dfm)
names(dict_df)[2] <- "dictWord"
dict_df
##       season dictWord
## text1      1        1

ただし、テキストごとに単一の辞書値がある場合にのみ機能します。それ以外の場合は、dict_dfm複数の機能列があります。

于 2016-09-29T12:30:20.213 に答える