0

有人知道那里有一个库或软件可以找到文本中的不规则之处吗?例如,假设我有...

1.姓名1,评论
2.名称2,评论
3. 姓名 3 , 评论
5.姓名10,评论

该软件或库将首先剪切它会发现相似的文本部分(很像一个压缩软件会编码重复的相似文本部分以将其压缩)但是使用容错变量它可以找到相似的文本部分,现在很像文本比较应用程序或差异/合并工具,它实际上可以突出显示它看到的不同之处。我正在考虑制作这个工具,但我不想重新发明轮子。如果有任何远程能够做到这一点的东西,我真的很想知道可能会帮助这个项目,或者至少知道不做一个。更不用说这个答案可能会帮助其他人寻找同样的东西,我认为需求对供应来说已经足够高了,这就是为什么让我难以置信我能做到的原因

4

3 回答 3

2

如果你喜欢 Python,你可以试试difflib

这不是您问题的确切解决方案,但它可能会有所帮助。

于 2009-02-06T08:29:29.003 回答
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. 尽力改正。

我知道这并不能直接解决您的问题,但也许一个想法可以解决您的问题。过去的车轮制造商可能从未完成任何设计。

于 2009-02-06T08:54:49.390 回答
0

听起来基本上就像您想使用正则表达式来创建“理想响应”,然后将其余行与之进行比较。

Or you could write a more complicated program which would boil each line down into a Regex query, and then compare the queries to each other to see which ones are different.

于 2009-02-06T13:20:06.887 回答