我正在对有时出现乱码的 PDF 文本进行一些机器提取,这通常会导致单词被空格错误地分割,或者单词块的顺序不正确,从而导致纯粹的胡言乱语。
我想要一个工具,它可以扫描并识别这些纯乱码,同时跳过可能是专有名称或只是外语单词的非字典单词。
不确定这是否可能,但如果是的话,我想这样的事情可以使用 NLTK 来完成。我只是想知道是否以前这样做是为了省去重新发明轮子的麻烦。
嗯,我想你可以在字符 n-gram 上训练一个 SVM 或神经网络……但你需要相当长的。问题是这可能会有很高的误报率(抛出你想要的),因为你可以在各种语言中拥有截然不同的字符集群率。
以波兰语为例(这是我唯一使用易于输入的拉丁字符的第二语言)。 Skrzywdy
将是英语中极不可能的一系列字母,但在波兰语中很容易发音。
一种更好的技术可能是使用语言检测来检测文档中使用的语言超过一定概率,然后检查这些语言的字典......
这对于(例如)经常使用各种语言的大量片段的语言学教科书没有帮助。
** 编辑 **
想法2:
你说这是书目信息。元信息(例如它在文本中的位置)或您的 OCR 软件返回给您的任何字体信息几乎肯定比您看到的一系列字符更重要。如果它在标题中,或靠近作者所在的位置,或斜体,则值得考虑为外国...