-1

Python で NLP プロジェクトのテキスト コーパスを構築したいと考えています。LSHTC4 Kaggle チャレンジでこのテキスト形式を見たことがあります。

5 0:10 8:1 18:2 54:1 442:2 3784:1 5640:1 43501:1 

最初の番号はラベルに対応します。

「:」で区切られた数字の各セットは、ベクトルの (feature,value) ペアに対応します。最初の数字は機能の ID で、2 番目の数字はその頻度です (たとえば、ID 18 の機能はインスタンスに 2 回表示されます)。 )。

これがテキスト データを数値ベクトルに前処理する一般的な方法かどうかはわかりません。チャレンジに前処理手順が見つかりません。データは既に前処理されています。

4

1 に答える 1

0

R(私が間違っていなければ Python でも)パッケージは必要ありません。最初にすべてを分割します (そしてその頭文字を削除し5ます)。結果を文字列ではなく数値として欲しいと思います:

x<-"5 0:10 8:1 18:2 54:1 442:2 3784:1 5640:1 43501:1"
y<-as.integer(unlist(strsplit(x,split=" |:"))[-1])
feature<-y[seq(1,length(y),by=2)]
[1]     0     8    18    54   442  3784  5640 43501
value<-y[seq(2,length(y),by=2)]
[1] 10  1  2  1  2  1  1  1

並べて表示したい場合:

cbind(feature,value)
     feature value
[1,]       0    10
[2,]       8     1
[3,]      18     2
[4,]      54     1
[5,]     442     2
[6,]    3784     1
[7,]    5640     1
[8,]   43501     1

data.tableそれらを分析用に割り当てる場合:

ライブラリ(データ.テーブル) dt<-データ.テーブル(機能=機能,値=値)

> dt
   feature value
1:       0    10
2:       8     1
3:      18     2
4:      54     1
5:     442     2
6:    3784     1
7:    5640     1
8:   43501     1

等。

于 2015-07-17T14:57:47.477 に答える