1

Pythonで簡単なメールランキングプログラム(優先受信トレイのようなもの)を作成しようとしています。送信者から受信した電子メールの頻度に基づいて、たとえば、送信者の頻度がカウントされるたとえば50%のトレーニングセットを用意し、次にトレーニングに基づいて順番にランク付けされた50%のテストセットを用意します(つまり、電子メール大量のメッセージを送信する送信者からのランクが高くなります)。

メールを受け取り、それぞれから「From」アドレスを抽出するPythonコードをいくつか作成しました。この情報を、最も一般的な電子メール送信者を示すリストに配置しました(以下のこのリストのスニペットの例)。

 //(Email address, frequency of emails received from this sender)//Not Code
 ('tester1@csmining.org', 244)
 ('tester2@csmining.org', 162)
 ('tester3@csmining.org', 154)
 ('tester4@csmining.org', 75)
 ('tester5@csmining.org', 50)

必要なことを実行するためにデータをトレーニングおよびテストするために、多くの機械学習アルゴリズムを効果的に使用できることを認識しています。しかし、私はこれらのどれを使用して最良の結果を得ることができるかわかりませんか?

4

2 に答える 2

3

送信者のみに基づいてランク付けすることは決して良い考えではありません。私自身は、githubcommitからの電子メール通知をサブスクライブします。同僚のコードコミットにより、毎日何百通ものメールが届きます。

これは決して簡単な問題ではありません。Gmailの優先度の受信トレイでさえ、私の経験ではうまくいきません。優れた電子メール優先順位またはスコアリングシステムには、優れた機能が必要です。まず、次の機能をお勧めします。Gmailの優先受信トレイの背後にある学習を参照してください。

  • 社会的特徴。送信者または送信者ドメイン。
  • スレッド機能。このメールはアクティブなスレッドにありますか?スレッド内のこの電子メールのシーケンス番号は何ですか?ccされたユーザーは誰ですか?
  • 時間機能。このメールはいつ届きましたか?所有者の返信にアクセスできる場合は、所有者が返信するのにかかる時間を追跡することをお勧めします。
  • コンテンツ機能。これは、スパムフィルタリングで使用されるbag-of-wordsモデルです。
  • 行動。これは、電子メールアカウントの所有者が電子メールに応答する方法です。返事はありますか?または決して読んだことがありませんか?またはすぐに削除しますか?または別のフォルダにアーカイブされていますか?タグ付き?返信された場合は、コンテンツ分析も行うことをお勧めします。返信の長さも良い機能かもしれません。

回帰モデルの場合、Gmailは線形ロジスティック回帰を使用して、学習と予測をスケーラブルに保ちます。

最後に、Gmailと同様に、重要なメールにマークを付けるオプションをユーザーに提供することで、システムの改善を支援するようユーザーに依頼できます。

さらなる読み物:

于 2013-01-31T20:44:11.067 に答える
1

私の理解では、あなたは電子メールを重要または重要ではないものとして分類したいと思っています。したがって、最初に、持っている各電子メールに重要または重要ではないというラベルを実際に手動で付ける必要があります。次に、各電子メールの機能を定義して抽出する必要があります。あなたの場合、考慮したい1つの機能は送信者です。したがって、次のようなデータになります。

('tester1@csmining.org', important)
('tester1@csmining.org', normal)
('tester1@csmining.org', important)
('tester1@csmining.org', normal)
('tester1@csmining.org', normal)
('tester2@csmining.org', normal)
('tester3@csmining.org', important)
('tester4@csmining.org', important)
('tester5@csmining.org', normal)
...

次に、(線形回帰、ロジスティック回帰など)のような学習アルゴリズムを適用して、テストセットで結果をテストできるようになります。問題は、どのアルゴリズムでも、送信者Xからの電子メールが重要または通常のいずれかに分類されることです(おそらく、トレーニングセット内のその送信者からの重要/通常のメッセージの比率に基づいています)。より意味のある結果を得るには、メッセージ内の特定の単語、送信時刻など、データからより多くの機能を抽出する必要があります。

于 2013-01-31T19:51:41.207 に答える