6

だから、私はテキストのマルチクラス分類をしようとしています。昔の質問やブログ記事をたくさん読んでいますが、それでもその概念を完全に理解することはできません。

このブログ投稿の例も試してみました。http://www.laurentluce.com/posts/twitter-sentiment-analysis-using-python-and-nltk/

しかし、マルチクラス分類に関しては、私はそれを完全には理解していません。テキストをフランス語、英語、イタリア語、ドイツ語の多言語に分類したいとします。そして、私はNaviesBayesを使いたいと思っています。これは、最初から始めるのが最も簡単だと思います。私が古い質問で読んだことから、最も簡単な解決策は、1つ対すべてを使用することです。したがって、各言語には独自のモデルがあります。つまり、フランス語、英語、イタリア語の3つのモデルがあります。次に、すべてのモデルに対してテキストを実行し、どのモデルが最も確率が高いかを確認します。私は正しいですか?

しかし、コーディングに関しては、上記の例では、彼はこのようなツイートを持っており、ポジティブまたはネガティブに分類されます。

pos_tweets = [('I love this car', 'positive'),
              ('This view is amazing', 'positive'),
              ('I feel great this morning', 'positive'),
              ('I am so excited about tonight\'s concert', 'positive'),
              ('He is my best friend', 'positive')]

neg_tweets = [('I do not like this car', 'negative'),
              ('This view is horrible', 'negative'),
              ('I feel tired this morning', 'negative'),
              ('I am not looking forward to tonight\'s concert', 'negative'),
              ('He is my enemy', 'negative')]

どちらがポジティブかネガティブか。では、フランス語の1つのモデルをトレーニングする場合、テキストにどのようにタグを付ける必要がありますか?こんな感じでしょうか?それで、これはポジティブでしょうか?

[('Bon jour', 'French'),
   'je m'appelle', 'French']

そしてネガティブは

[('Hello', 'English'), 
   ('My name', 'English')]

しかし、これは、イタリア語とドイツ語を追加して、4つの言語に対して1つのモデルしか持てないことを意味しますか?それとも私は本当にネガを必要としないのですか?

それで、問題は、ntlkでマルチクラス分類を行うための正しいアプローチは何でしょうか?

4

2 に答える 2

9

ナイーブベイズを使用した1対すべてのスキームは必要ありません。これは、すぐに使用できるマルチクラスモデルです。(sample, label)ペアのリストを分類子学習者にフィードするだけです。ここでlabel、は言語を示します。

于 2012-11-23T01:39:50.483 に答える
0

NLTK(http://www.nltk.org/api/nltk.classify.html)の分類子にはいくつかのバリエーションがあり、微妙な違いを理解することが重要です。

最も単純な変形は、2つのカテゴリの違いです。たとえば、ポジティブな感情とネガティブな感情、男性と女性です。(http://www.nltk.org/api/nltk.classify.html#module-nltk.classify.positivenaivebayes

2番目のバリエーションは、フランス語、ドイツ語、英語などの複数のカテゴリ(2つ以上)があり、すべてのテキストが正確に1つの言語を使用していると想定している場合です。NLTKの言語では、これを「マルチクラス」として説明していないことに注意してください。これは、これに慣れていない場合、当然のことながら誤解を招く可能性があります。このように考えてください。分類子は、1つのテキストを複数のクラス(ドイツ語やフランス語など)に割り当てるのではなく、1つのクラスにのみ割り当てます。

最後に、特定の入力を複数のクラスに割り当てることができるという点で異なるMulticlassifierがあります。たとえば、50%フランス語と50%ドイツ語、または40%英語、30%ドイツ語、30%フランス語です。

于 2016-07-28T09:06:59.787 に答える