昨日、誰かが Weibo で質問をしたのを見ました:
100 万のユーザー名の中から、機械によって自動的に作成されたユーザー名を見つけてみてください。
実際、これは比較的単純なスパム対策方法です。
ユーザー名ごとに Google または Baidu を検索して、インターネット アクセスの痕跡がないか確認するという人もいます。これが信頼できるかどうかは別として、質問者は明らかにソーシャルエンジニアリングではなくアルゴリズムの観点からこの問題を解決したかったので、忘れてください。
私は、100 万のユーザー名を単語に分割し、これらの 100 万のユーザー名に各単語が出現する回数、つまり単語の頻度をカウントすることを考え始めました。次に、単語の頻度に従って逆順に並べ替え、上位 n を取得します。次に、100 万件のユーザー名の中から上位 n 位に含まれる単語を見つけます。これらはおそらく機械によって作成されたものです。
しかし、後にこれを行うのは非科学的であり、多数の通常のユーザー名を誤って削除する可能性がありました。どの時代にもいくつかのホットワードが出現するため、多くの人はこれらのホットワードをユーザー名の一部として使用することを好みます。または、ほとんどの人が使用する可能性のある古典的な単語。
なので、何かホットなワードを見つけるには人間が関わっていかないといけないのかなと思っています。上位 n 件のホットワードを除外します。そうでなければ、この方法はまったく良くありません。
皆さんの考えを見て、一緒に議論したいと思います。この提案では、ユーザー名のみを処理でき、ユーザーのコメントや登録日は処理できないことに注意してください。
'tom'.substr(str_shuffle("abcdefghijklmnopqrstuvwxyz"), 0, 4);