4

私は、機械学習とテキスト マイニング全般についてかなり初心者です。Liblinear https://github.com/tomz/liblinear-ruby-swigと呼ばれる ruby​​ ライブラリの存在が気になりました。

私がこれまでにやりたいことは、テキストが自転車に関連する何かに言及しているかどうかを識別するようにソフトウェアをトレーニングすることです。

誰かが私が従わなければならない手順(つまり、テキストの前処理とその方法)を強調し、リソースを共有し、理想的には簡単な例を共有して、私を動かすことができますか.

どんな助けでも構いません、ありがとう!

4

1 に答える 1

2

古典的なアプローチは次のとおりです。

  1. 入力テキストの代表的なサンプルを収集し、それぞれに関連/非関連のラベルを付けます。
  2. サンプルをトレーニング セットとテスト セットに分割します。
  3. トレーニング セットのすべてのドキュメントからすべての用語を抽出します。これを語彙Vと呼びます。
  4. トレーニング セット内の各ドキュメントについて、ボキャブラリのi番目の用語がドキュメントに出現する場合、 i番目の要素が true/1であるブール値のベクトルに変換します。
  5. ベクトル化されたトレーニング セットを学習アルゴリズムにフィードします。

ドキュメントを分類するには、ステップ 4. のようにベクトル化し、分類器にフィードして関連/非関連ラベルを取得します。これを実際のラベルと比較して、うまくいったかどうかを確認してください。この単純な方法で、少なくとも約 80% の精度を得ることができるはずです。

この方法を改善するには、ブール値をドキュメントの長さで正規化された単語数に置き換えます。さらに良いのは、tf-idfスコアです。

于 2011-05-24T21:01:06.573 に答える