python中的算法或工具,以区分乱码/错误和外来词/名称?

时间:2013-04-08 17:16:11

标签: python nltk

我正在对有时乱码的PDF文本进行一些机器提取,这些文本通常会被错误地用空格分开的单词或者按错误顺序排列的单词块组成,导致纯粹的乱码。

我想要一个可以扫描并识别这些纯粹乱码的工具,同时跳过可能是正确名称或仅仅是外语单词的非字典单词的工具。

不确定这是否可能,但如果是这样的话,我想像这样可以使用NLTK完成。我只是想知道这是否已经完成,以免我重新发明轮子的麻烦。

1 个答案:

答案 0 :(得分:2)

嗯,我想你可以在角色n-gram上训练一个SVM或神经网络......但是你需要相当长的。问题是这可能会有很高的漏报率(抛弃你想要的东西),因为你可以用各种语言大幅不同比率的字符集。

以波兰语为例(这是我唯一的第二语言,易于拉丁字符)。 Skrzywdy是一个极不可能的英文字母系列,但很容易用波兰语发音。

更好的技术可能是使用语言检测来检测文档中使用的语言超过一定概率,然后检查这些语言的词典......

这对于(例如)经常使用各种语言的各种片段的语言学教科书没有帮助。

**编辑**

创意2:

你说这是书目信息。元信息,比如它在文本中的位置或者你的OCR软件返回给你的任何字体信息几乎肯定比你看到的一系列字符重要更多重要。如果它在标题中,或者在作者所在的位置附近,或者在斜体中,那么值得考虑作为外国人......