3

現在、特にスポーツイベントが発生した場合、一部のスパムの波がインターネットに殺到しています。

スパマーのユーザー名がコンピューターで生成されたものではないことを強く疑うので、何らかの方法でスパマーの名前をプログラムで学習してみるのは面白いかもしれないと思いました。

ユーザー名は2〜15文字で、文字で始まり、文字、数字、_または。のみを含める必要があり-ます。

名前のサンプルリストは次のようになります

riazsports0171
maya34444
thelmaeatons
tigran777
newlive100
darbeshbaba
litondina10
nithuhasan
newlive100
bankuali
lldztwydni554
monomala505
nasiruddin1500
lldztwydni554
ariful3032
nazmulhasan

私は(大学から)アルゴリズムのかなり基本的な知識しか持っていません。私の質問は、任意のユーザー名がおそらくスパマーであるかどうかを予測するために使用できる機械学習アルゴリズムや文字列メトリックです。かなり単純なので、コサイン文字列similaritzを使用することを考えました。

4

1 に答える 1

6

面白い。しかし、文字列類似性アルゴリズムが最善の解決策ではないと思います。

名前から特徴を抽出し、分類アルゴリズムを使用しようと思います。SVMは通常、他の分類アルゴリズムと比較して非常に良い結果を提供しますが、他のアルゴリズム(たとえば、Naive BayesDecision TreeKNN)にもそれぞれ長所と短所があります。

トリッキーな部分は、特徴を抽出することです。あなたは創造的でなければなりません。いくつかのオプションは次のとおりです。桁数、連続する文字の数、連続する子音の数、大文字と小文字の使用、大文字の正しい使用、特定の正規表現との一致、...(文字列以外の他の機能を使用することもできます。このユーザーからあなたに送信されたメッセージの数、....)

次に、トレーニングセットを作成する必要があります。このトレーニングセットには、スパマーと非スパマーの両方のユーザー名が含まれ、スパマーまたは非スパマーのラベルが手動で付けられます。

トレーニングセットを選択したアルゴリズムにフィードすると、分類子が作成されます。これを使用して、新しいユーザーがスパマーであるかどうかを予測できます。

データの相互検証を使用して、各アルゴリズムの有効性を評価できます。

于 2012-09-03T14:19:56.993 に答える