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