15

Jeff Atwood は最近、「文字列のエントロピーの計算」コード スニペットをコミュニティが改善できるかどうかを知りたがっていた CodeReview 投稿へのリンクをツイートしました。彼は説明しました。

彼の方法の要点は、文字列内の一意の文字の数を数えると、それがエントロピーを意味するように思われました (コードはPieterG の回答から取得されました):

int uniqueCharacterCount = string.Distinct().Count();

一意の文字数が文字列のエントロピーを意味する方法と、文字列のエントロピーが低品質を意味する方法がわかりません。アトウッド氏が何を達成しようとしているのか、この分野の知識が豊富な人に説明してもらえないだろうかと思っていました。

ありがとう!

4

5 に答える 5

8

混乱は、これが投稿の投稿をブロックするために使用されるという考えによるものと思われますが、そうではありません。

これは、モデレーター ツールの[低品質の投稿] タブ (1 万人の担当者が必要)に表示される、低品質の可能性のある投稿を見つけるために使用されるいくつかのアルゴリズムの 1 つにすぎません。実際の人間はまだ投稿を見る必要があります。

アイデアは、低品質の投稿をすべてキャッチするのではなく、~~~~~~No.~~~~~~やのような投稿をキャッチすることです。FUUUUUUUU------


「一意の文字数はエントロピーをどのように意味しますか?」-そうではありません。最も支持された回答は、要点を完全に見逃しています。

https://codereview.stackexchange.com/questions/868#878およびhttps://codereview.stackexchange.com/questions/868#926を参照してください。

于 2011-02-22T21:14:29.847 に答える
6

文字列 'aaaaaaaaaaaaaaaaaaaaaaaaaaa' のエントロピーは非常に低く、意味がありません。

文字列 'blah blah blah blah blah blah blah blah' のエントロピーは少し高くなりますが、それでもかなりばかげており、攻撃の一部になる可能性があります。

これらの文字列に匹敵するエントロピーを持つ投稿またはコメントは、おそらく適切ではありません。スパム リンクであっても、意味のあるメッセージを含めることはできません。そのような投稿は、フィルターで除外するか、追加のキャプチャを保証することができます.

于 2011-02-22T16:51:09.913 に答える
3

エントロピー (情報理論) に関するウィキペディアのエントリを見てみましょう。

情報理論では、エントロピーは確率変数に関連する不確実性の尺度です。このコンテキストでは、この用語は通常、メッセージに含まれる情報の期待値を定量化するシャノン エントロピーを指します...

特に英語の情報では:

人体実験に基づくシャノンの推定によると、英語のテキストのエントロピー率は、1 文字あたり 1.0 ~ 1.5 ビット、または 1 文字あたり 0.6 ~ 1.3 ビットと低い値です。

言い換えれば、単純に低エントロピーが悪い、高エントロピーが良い、またはその逆ということではなく、最適なエントロピー範囲があります。

于 2011-02-22T16:53:03.580 に答える
2

シャノン エントロピー H(P) は、確率変数 X の確率分布 P のプロパティです。

文字列の場合、それを扱う基本的な方法は、文字のバッグとしてです。この場合、頻度カウントは、文字列内のランダムに選択された文字の確率分布 P の近似値を提供します。

文字列内の一意の文字数を単純に数えると、その文字列に現れる一意の文字数の一様分布のエントロピーと相関します。そして、ユニークな文字の数が多いほど、エントロピーは大きくなります。

ただし、Jeff Atwood (および BlueRaja) のその後のコードへの貢献は、文字列の他の可能な分布を考慮に入れているため、より良い尺度です。まだ(必ずしも一意ではない)キャラクターのバッグと考えられています。を表します。

Rex M の回答に基づいて作成します ...「文字エントロピー」が 1.0 から 1.5 の範囲外にある文字列、可能な限り「低品質の文字列」を探す方が理にかなっています。

于 2013-05-23T06:53:01.873 に答える
0

あなたの質問に対する正確な答えではありませんが、ウィキペディアにはEntropy について次の説明があります。

エントロピーは無秩序、またはより正確には予測不可能性の尺度です。たとえば、公正なコインを使用した一連のコイン トスは、次に何が起こるかを予測する方法がないため、エントロピーが最大になります。コインは常に表になるため、両面コインを使用した一連のコイントスのエントロピーはゼロです。現実世界のほとんどのデータ コレクションは、その中間にあります。

英語のテキストのエントロピーはかなり低いです。言い換えれば、それはかなり予測可能です。次に何が起こるか正確にはわからなくても、たとえば、z よりも e の方がはるかに多いことや、「qu」の組み合わせが他のどの組み合わせよりもはるかに一般的であることはほぼ確実です。その中に「q」があり、「th」の組み合わせはそれらのいずれよりも一般的です。圧縮されていない英語のテキストには、メッセージの各バイト (8 ビット) に対して約 1 ビットのエントロピーがあります。

于 2011-02-22T16:51:39.833 に答える