弗雷德利的答案可以擴展到一個語法,可以從附近的字母構造單詞。
例如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