2009-02-06 48 views
0

有沒有人知道有一個圖書館或軟件可以找到文本中的不規則性?例如,可以說我有...原文不規範

 
1. Name 1, Comment 
2. Name 2, Comment 
3. Name 3 , Comment 
5. Name 10, Comment 

該軟件或庫將首先削減了文本的部分,它會找到類似的(相像一塊壓縮軟件將編碼文本的重複相似的部分壓縮它使用變量來容忍錯誤,它可以找到類似的文本部分,現在很像文本比較應用程序或差異/合併工具,它實際上可以突出顯示它看起來不同。我正在考慮製作這個工具,但我不希望重新發明這個工具。如果有任何遠程任何地方有這種能力,我真的很想知道這個項目可能會有幫助,或者至少不知道該做什麼。更不用說這個答案有可能幫助其他人尋找同樣的東西,我認爲需求對供應來說足夠高,這就是爲什麼我覺得我根本找不到任何東西的原因。

回答

2

根據你想找到或糾正這個問題的真實生活中的不規則性是完全不同的。

這裏就是你們的榜樣與真正的文本更新:

1. Lazarus Long, Get the first shot off fast. 
2. Hiro Protagonist, Greatest swordfighter[sic] in the world. 
3. Alice , Down the rabbit hole. 
5. Orem, Sink of power. 

在這個例子中的錯誤可能是固定的與找到一個代替一個體面的文本編輯器。文本編輯和十六進制編輯可以創造奇蹟,如果你有通配符的創意。只要您的分隔因素存在(。或),問題依然很簡單。正如你可能已經知道的那樣;只要其中一個缺失,問題變得更加複雜。一個難題的

例子:

1. Lazarus Long, Get the first shot off fast. 
2. Hiro Protagonist Greatest swordfighter[sic] in the world. 
3. Alice , Down the rabbit hole. 
5 . Orem, , Sink of power. 

我可能會在幾個步驟攻擊這一點。 1.清理多餘的空間。 2.找出關鍵的統計數據,如每行的分隔符數量和每個分隔列的平均字數或字符數。大多數名字是一個或兩個單詞,評論是未知的或被輸入限制。 3.找出統計數字不明確的關鍵特徵。 4.盡你所能糾正它們。

我知道這不是直接解決你的問題,但也許有一個想法可以解決你的問題。過去的車輪可能無法完成任何設計。

2

如果你使用Python,你可以試試difflib

這不是您的問題的確切解決方案,但它可能會有所幫助。

0

聲音基本上就像你想使用正則表達式來創建一個「理想的響應」,然後比較其餘的線對它。

或者您可以編寫一個更復雜的程序,將每行下拉到正則表達式查詢中,然後將查詢相互比較以查看哪些不同。