私はテキストの分類/タグ付けのタスクを行っていますが、どのようなデータ構造が最も役立つかを尋ねたいと思います。私が持っているトレーニング データ セットは、600 万のドキュメントを含む約 4 ギガ (いくつかのクリーニングの後ですが、まれな単語を破棄するとさらに小さくなるはずです) です。各ドキュメントには 4 つのフィールドがあります。
- ドキュメント ID
- 題名
- 体
- タグ (「apple sql-server linux」などの文字列。これは、スペースで区切られた 3 つのタグを表します。ドキュメントには 1 ~ 5 個のタグを含めることができます)
クリーニング フェーズ (ステミング、ストップ ワードなど) を終えたばかりで、scikit を使用してそれらを TF-IDF ワード ベクトルに変換しようとしているので、出力は scipy スパース マトリックスになります。タイトルと本文を 2 つのベクトルとして保持し、後の段階でタイトルに与える重みを決定するときにそれらを結合したいと考えています。Title と Body はスパース ベクトルですが、同じ辞書で構築されているため、同じ番号を持ちます。列の。
この情報を表す最良の方法は何ですか? 私は R 出身なので、data.tables / データ フレームに格納することに慣れていますが、テキスト分類や疎行列にはあまり当てはまらないようです。私が考えたことの 1 つは、独自の「ドキュメント」クラスを作成し、これらのオブジェクトのリストを作成してコーパスを表すことです。おそらく のようなことをしたいので、これはあまり効率的ではないと思いますreturn all docs with the Tag apple
。
私が実行する予定の ML アルゴリズムは、k-means クラスタリング、kNN、単純ベイズ、そしておそらく SVM です。おそらく私がまだ考えていない他のものがあるでしょう。
私はPythonとテキスト分類が初めてです-どんな助けも大歓迎です.私は以前にそれをやった人に特に興味があります.
ありがとうございました!