私の目的は、[半]自動的にテキストをさまざまなカテゴリに割り当てることです。ユーザー定義のカテゴリのセットと、各カテゴリのテキストのセットがあります。理想的なアルゴリズムは、人間が定義した分類から学習し、新しいテキストを自動的に分類できる必要があります。そのようなアルゴリズムと、おそらく ше を実装する .NET ライブラリを提案できる人はいますか?
7 に答える
これを行うことは簡単ではありません。明らかに、特定のキーワードをカテゴリにマップする辞書を作成できます。キーワードを見つけるだけで、特定のカテゴリが提案されます。
しかし、自然言語のテキストでは、キーワードは通常、語幹形式ではありません。語幹の形を見つけて辞書で使用するには、いくつかの形態学ツールが必要です。
しかし、誰かが次のように書くこともできます: 「この記事は ... に関するものではありません」. これにより、構文および意味分析が必要になります。
そして、特定のキーワードがいくつかのカテゴリで使用できることがわかります。「バンド」は、音楽、技術、または手工芸品でさえ使用できます。したがって、明確でない場合に選択するカテゴリの確率を比較検討するには、オントロジーと統計的またはその他の方法が必要です。
いくつかのキーワードは、オントロジーに当てはめることさえ容易ではないかもしれません: 数学者はプログラマーや庭師に近いのでしょうか? しかし、質問の中で、カテゴリは男性によって構築されているので、オントロジーの構築にも役立つ可能性があると述べました。
さらなる研究については、こことウィキペディアで計算言語学をご覧ください。
テキストの分野が狭いほど構造化されており、語彙が少ないほど問題は簡単になります。
さらなる研究のためのいくつかのキーワード: 形態論、構文解析、意味論、オントロジー、計算言語学、索引付け、キーワード付け
自動テキスト分類には複数のアプローチがあります。単純ベイズ分類器は、おそらく最も単純な分類器です。もう 1 つは、使用できる K 最近傍です。テキストの分類に関するこのGoogleの回答が役立つ場合があります。
まさにこのトピックに関する私のビデオ シリーズをご覧ください。
http://vancouverdata.blogspot.com/2010/11/text-analytics-with-rapidminer-loading.html
分類はビデオ 5 にありますが、他のビデオが理解を深めるのに役立つかもしれません。
それはすべて FOSS プログラム RapidMiner に基づいています。
scikit Learn のこの例を確認してください。この例にはさまざまなアルゴリズムが多数適用されているため、結果を比較できます。
ベクター マシンをサポートします。誰もがサポート ベクター マシンを愛しています。かなりの量の本を読む必要があり、おそらく本を購入する必要があります。しかし、論文を読むことから始めて、そのアイデアが気に入るかどうかを確認することもできます。
これらの方法の総称は「多変量法」です。「テキスト分類」または「テキスト分類」で検索すると、いくつかの有用なリードが表示されるはずです。幸運を !
私はかなり長い間、この質問に対する答えを探していました。今日、私は自分の答えを見つけました。
これを行う「dbacl」というオープンソース プログラムがあります。ドキュメントを好きなだけ多くのカテゴリに分類します (特定の最大値まで)。
「些細なことではない」などの他の回答はすべて真実ですが、難しいことを行う使いやすいパッケージを使用すると、管理しやすくなります。