2014年2月4日 星期二

引號錯誤查找設計思想淺說


南史相關功能淺說

002



引號錯誤查找設計思想淺說

  這次「南史」的引號自動查找與修正設計,我使用了慣用的設計策略。淺談如下:
  引號類的錯誤,終歸到底還是可以用三種基本指令(對應函數)修正完畢:增補、刪除、替換。可以將替換描述為刪了又增,如此歸併為兩種;也可以將增補描述為用正確字串取代空字串,將刪除描述為用空字串取代錯誤字串,如此歸併為一種,也即替換。而這也是一個文書處理軟體最基本的三種功能。

  如果能一開始就設計出通用、萬用解法的程式以解決所有問題,那很好,但通常這樣的設想,不太可行。我針對這種類型的問題,通常想法是:
  1.用簡單的方法針對統計上最多的模式進行處理,(不通用的方法,但效率高。)
  2.至少給出一定範圍內的通用修改法則,(邏輯相對複雜、分析步驟多、判斷多、處理對象多、效率相對較低。)
  3.不對過於複雜的狀況設計解法(主要考量到問題是否可解、時間、資源、必要性等,因為通常非常複雜的問題,連人都無法判斷,而且出現的機率很低。以上次「開放書雲」上億字的校勘經驗,只出現五次這種類型的引號錯誤。如果是白話文,基本上都可判斷。),通常就是留給人類使用者修改用的。因此不用擔心被取代了。

  問題描述:由於引號的錯誤類型組合起來,可達到數萬種,甚至無窮盡可能(句子夠長的話)。因此需要對錯誤類型進行抽象分析,找出一些通用的法則,可以一次處理所有或絕大多數錯誤。然而現實的引號使用情況,往往集中於幾種類型,譬如前兩種引號使用模式就佔了統計上50%以上的份額。因此,錯誤分佈在這些常用的類型上的機率自然也佔了很大的份額。

  設計模式:
  因此即便有通用法則,我還是將最常見的幾種錯誤類型,攔截下來,特別處理,以提高效率。因此其流程可以這樣表述:
  1.攔截發生頻率高的錯誤類型,用針對性的簡單法則處理。
  2.未能攔截的,有兩種可能,一是表示是頻率相對較低的非過於複雜的類型,此時讓通用法則處理。二是無法解決的問題。
  3.錯誤類型過於複雜的,不處理,留給使用者解決。

朔雪寒



資訊



文字:朔雪寒 校編
書庫:開放書雲

沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。