Jeff Atwood最近在Twitter上发布了一个指向CodeReview帖子的链接,他在该帖子中想知道社区是否可以改善其“ calculating entropy of a string”代码段。他解释说:“我们正在计算Stack Overflow中几个地方的字符串熵,这是低质量的标志。”

他的方法的要旨似乎是,如果您计算字符串中唯一字符的数量,则表示熵(取自PieterG's answer的代码):

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


我不了解唯一字符数如何表示字符串的熵,以及字符串的熵如何表示低质量。我想知道是否有人在这方面有更多的知识可以解释阿特伍德先生想要达到的目标。

谢谢!

最佳答案

字符串'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'具有非常低的熵,并且毫无意义。

字符串'blah blah blah blah blah blah'具有较高的熵,但仍然相当愚蠢,可以是a part of an attack

具有与这些字符串可比的熵的帖子或评论可能不合适。它不能包含任何有意义的消息,即使是垃圾链接。这样的帖子可以被过滤掉,或者需要额外的验证码。

关于computer-science - 一串英文文本的熵如何表示低质量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5081105/

10-12 18:54