1

これまでとても楽しかった学校のプロジェクトに参加することになり、少しだけ面白くなりました。私は約 600,000 件のツイートを所有しており (それぞれにスクリーン名、地理的位置、テキストなどが含まれています)、私の目標は、各ユーザーを男性または女性のいずれかに分類することです。現在、Twitter4J を使用して、ユーザーの氏名、友人の数、リツイートなどを取得できます。そのため、ユーザー名を調べてテキスト分析を行うことを組み合わせることで答えが得られるのではないかと考えていました。私は当初、これをルールベースの分類子のように作成できると考えていました。最初にユーザーの名前を見てから、テキストを分析し、M または F の結論に到達しようとすることができます。私は本当の真実の値を持っていないので、ナイーブベイズですか?

また、名前については、名前が男性か女性かを解釈するために何らかの辞書をチェックしていました。わかりにくい場合もあると思いますが、だからこそツイートのテキストも見ていきます。また、言及するのを忘れていました。これらの 600,000 のツイートで、ユーザーごとに少なくとも 2 つのツイートを利用できます。

ユーザーの性別の分類に関するアイデアや意見をいただければ幸いです。私はこの分野で多くの経験を持っていないので、手に入れることができるものは何でも学びたいと思っています.

4

2 に答える 2

2

私は真の真理値を持っていないので、ナイーブベイズなどを使用するのに問題があると思いますか?

Naive Bayes などの教師あり学習アルゴリズムでは、トレーニング セットを準備する必要があります。一部のデータの実際の性別がなければ、そのようなモデルを構築できません。一方、ルール ベース システム (ユーザーの名前に基づくシステムなど) を考え出す場合は、半教師付きアプローチを試すことができます。ルールベースのシステムを使用して、データのラベル付けを作成できます。ルールベースの分類子がRCあり、「男性」、「女性」、「わからない」と答えることができるとしましょう。自然な方法:XRC

X_m = { x in X : RC(x)="Male" }
X_f = { x in X : RC(x)="Female" }

それができたら、作成に使用したデータを除くすべてのデータを使用して、教師あり学習モデルのトレーニング セットを作成できます。つまりRCこの場合はユーザーの名前です (RC答えが「男性」または「女性」である場合は、「男性」または「女性」と答えます)。それについては完全に「確実」です)。その結果、すべての追加データ (使用された単語、場所など) から性別の概念を一般化しようとする分類子をトレーニングします。と呼びましょうSC。その後、「複雑な」分類子を簡単に作成できます。

C(x) = "Male" iff RC(x)= Male" or 
                  (RC(x)="Do not know" && SC(x)="Male")
       "Female" iff RC(x)= Female" or 
                    (RC(x)="Do not know" && SC(x)="Female")

このようにして、一方では最も価値のある情報 (ユーザー名) をルールベースの方法で使用できますが、同時に、そもそも「グラウンド トゥルース」がなくても、「難しいケース」の教師あり学習の力を活用できます。 .

于 2013-08-17T19:13:37.647 に答える
1
  • 名前と性別をつなぐ語彙を開発する必要があります。
  • 次に、各ツイートの機能を定義する必要があります。
  • 最後に、weka (java)、Matlab、Python を使用して学習セットを構築できます。

主な問題:

  1. あなたの言語?名前から性別を識別するのはイタリア語で簡単です (-a Female, -o Male [Andrea, Lucaを除く] ) またはここで目を向けてください人の名前を性別にマッピングするための良いライブラリを知っている人はいますか?
  2. 2番目の問題は、セマンティック辞書が必要か、ツイートの宛先(#to)またはURLまたは画像の存在のみを分析するか、少し複雑です
于 2013-08-17T19:31:34.133 に答える