弗雷德利的答案可以扩展到一个语法,可以从附近的字母构造单词。
例如asasasasasdf
可以与连接as
,sa
,sd
和df
语法来产生。
有了这样的语法,扩展到键盘上的所有字母(字母彼此相邻)可以在解析后给出衡量一个文本可以用这个“乱码”语法产生多少的度量。注意:当然,任何讨论这种语法的文本和列举“乱码”文本的例子都会得到明显高于常规拼写检查文本的分数。
请注意,示例方法不会以'h4x0r rulezzzzz !!!!!'的形式捕获破坏行为。
这里的另一种方法(可以与上述方法相结合)将是统计分析破坏文本的语料库,并尝试在破坏文本中获得常用词。
编辑:
既然你假设QWERTY,我想我们也可以假设英语呢?
怎么样KISS - 通过英文拼写检查器运行的文本,如果它失败悲惨地得出结论,它可能是胡言乱语(问题是,为什么要快速区分胡言乱语从随机废话或从非常严重拼写文本?)
或者,如果要考虑其他键盘布局(Dvorak,任何人?)和语言,则可以通过所有可用的语言拼写检查器运行文本,然后继续(这也会使语言自动检测)。
这不是非常有效的方法,但可以用作基线测试。
注:
从长远来看,我可以想象,破坏者将适应并开始捣毁,从其他维基百科页面例如,摘编,这将是最终很难自动检测人为破坏(OK,现有的文本可以校验和并国旗在重复上提出,但如果文本来自其他来源,它将最终很难)。
故意破坏检测算法已经包含字典/基于语法的检测,所以在这里我正在寻找一种算法,不使用字典或语法,而是使用手指模式。 – 2010-09-27 08:45:48
以及'finger patterns'与字典条目以及语法规则有何不同?这是相同的方法,区别在于一个是正检测,另一个是负检测。此外 - 你不清楚你要求什么 - 随机键盘命中考虑qwerty没有什么不同,然后随机键盘命中考虑德沃夏克,除非他们不是真正的随机(也许更好地称之为'常用故意破坏构造')。 – Unreason 2010-09-27 10:45:49
@不理由:关于你的第一个问题:我的意思是现有人类语言的字典和语法。你提出的“负面检测”是有趣的,随意提出它作为一个答案。关于“更进一步”:我重新提出了我的问题:给你一个在QWERTY键盘上输入的字符序列,你如何计算它被不小心键入的概率? (即:某人的目标不是为了表达某些东西,而是快速输入许多角色,例如oiuroiqewrcoqf) – 2010-09-27 11:21:40