2009-02-06 49 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

声音基本上就像你想使用正则表达式来创建一个“理想的响应”,然后比较其余的线对它。

或者您可以编写一个更复杂的程序,将每行下拉到正则表达式查询中,然后将查询相互比较以查看哪些不同。