単語自体を機械学習アルゴリズムの機能として使用する最良の方法は何ですか?
特定の段落から単語に関連する機能を抽出する必要がある問題。辞書のインデックスを数値特徴として使用する必要がありますか? もしそうなら、どうすればこれらを正規化できますか?
一般に、単語自体は NLP の特徴としてどのように使用されますか?
単語自体を機械学習アルゴリズムの機能として使用する最良の方法は何ですか?
特定の段落から単語に関連する機能を抽出する必要がある問題。辞書のインデックスを数値特徴として使用する必要がありますか? もしそうなら、どうすればこれらを正規化できますか?
一般に、単語自体は NLP の特徴としてどのように使用されますか?
機械学習モデルへの入力のために単語を特徴(行が個々のデータ ベクトルである 2D データ マトリックスの列) にマッピングする従来の手法がいくつかあります。分類:
与えられた文書にその単語が存在するかどうかをエンコードするブールフィールド。
あらかじめ決められた一連の単語の頻度ヒストグラム。多くの場合、トレーニング データを構成するすべてのドキュメントの中で最も一般的に出現する X 個の単語です (これについては、この回答の最後の段落で詳しく説明します)。
2 つ以上の単語の並置(たとえば、「オルタナティブ」と「ライフスタイル」の連続した順序は、どちらの構成要素の単語にも関連しない意味を持ちます)。この並置は、データ モデル自体に取り込むことができます。たとえば、ドキュメント内で互いに直接隣接する 2 つの特定の単語の存在または不在を表すブール値の特徴などです。ベイジアン分類器は、この例ではテキストを強調します。
潜在的な特徴を抽出するための生データとしての単語。たとえば、LSAまたは潜在的意味分析 (潜在的意味索引付けの LSI とも呼ばれます)。LSA は、テキスト自体の単語からは明らかではない潜在変数をテキストから導出する行列分解ベースの手法です。
機械学習の一般的な参照データ セットは、50 程度の頻度の最も一般的な単語、別名「ストップ ワード」 (たとえば、シェイクスピアの出版された作品のa、an、of、and、the、there、if ) で構成されています。ロンドン、オースティン、ミルトン。単一の隠れ層を持つ基本的な多層パーセプトロンは、このデータ セットを 100% の精度で分離できます。このデータセットとそのバリエーションは ML Data Repositories で広く入手でき、分類結果を示す学術論文も同様に一般的です。
標準的なアプローチは、単語ごとに 1 つの特徴を持つ「bag-of-words」表現であり、その単語がドキュメント内に出現する場合は「1」、出現しない場合は「0」になります。
これにより多くの機能が提供されますが、Naive Bayes のような単純な学習器があれば、それでも問題ありません。
「辞書の索引」は役に立たない機能です。私は使いません。