2

テキスト分類に単純ベイズを使用するためのサンプルデータがないため、テキストに表示されるキーワードに基づいてテキスト分類を行いたい。

例:

私のドキュメントには、ドキュメントのカテゴリが家族である「家族、母親、父親、子供...」、またはカテゴリがスポーツである「サッカー、テニス、スコア...」などの単語がいくつかあります。

この場合の最良のアルゴリズムは何ですか?そしてこの問題のためのAPI Javaはありますか?

4

3 に答える 3

2

あなたが持っているのは機能ラベルです。つまり、インスタンスではなく機能のラベルです。これらを利用する方法はいくつかありますが、通常は機能ラベルに加えてインスタンス ラベル (つまり、ドキュメントのラベル) があると想定されています。このパラダイムは、二重監督と呼ばれます。

とにかく、ラベル付けされた特徴だけから学習する方法を少なくとも 2 つ知っています。1 つ目は一般化された期待基準で、先験的信念 (たとえば、「母親」は通常「家族」と相関するはず)から逸脱するモデル パラメーターにペナルティを課します。この方法には、多少複雑であるという欠点がありますが、 Malletツールキットに適切にパッケージ化されたオープンソースの Java 実装があるという利点があります (具体的には、こちらを参照してください)。

2 番目のオプションは、基本的に Naive Bayes を使用して、既知の単語/クラスの関連付けに大きな優先順位を与えることです。たとえば、P("family"|"mother") = .8 などです。ラベル付けされていないすべての単語には、おそらくクラス分布を反映して、事前に割り当てられます。そうすると、クラスの普及率とラベル付けされた用語情報のみに基づいて効果的に決定を下すことになります。Settlesは最近このようなモデルを提案し、利用可能な Web ツールがあります。

于 2012-10-11T13:42:35.153 に答える
1

これにはおそらく補助データセットが必要です。「お父さん」と「お父さん」と「夫」が同じような意味を持つという情報を伝えるために、データセットに頼ることはできません。

同義語に近いものを検出するために、共起について私のことを試みることができますが、これはあまり信頼できません。

おそらくwordnetなどは、そのような単語を明確にするのに適した場所です.

于 2012-10-11T16:38:28.403 に答える
0

freebase トピック コレクションをダウンロードできます: http://wiki.freebase.com/wiki/Topic_API

于 2012-10-11T14:12:14.243 に答える