我已经阅读了很多关于 Unicode 的内容,但我仍然对规范化及其不同形式感到非常困惑。简而言之,我正在从事一个项目,该项目涉及从 PDF 文件中提取文本并执行一些语义文本分析。
我已经设法使用一个简单的 python 脚本令人满意地提取文本,但现在我需要确保所有等效的正交字符串都有一个(并且只有一个)表示。例如,“fi”印刷连字应分解为“f”和“i”。
我看到 python 的unicodedata.normalize
函数提供了几种用于规范化 unicode 代码点的算法。有人可以解释一下:
- NFC
- NFKC
- NFD
- NFKD
我阅读了相关的维基百科文章,但对于我微弱的大脑来说,它太不透明了,无法理解。有人可以用简单的英语向我解释一下吗?
另外,您能否推荐一下最适合自然语言处理项目的规范化方法?