【发布时间】:2012-06-29 07:16:06
【问题描述】:
我已经阅读了很多关于 Unicode 的内容,但我仍然对规范化及其不同形式感到非常困惑。简而言之,我正在从事一个项目,该项目涉及从 PDF 文件中提取文本并执行一些语义文本分析。
我已经成功地使用一个简单的 python 脚本提取了文本,但是现在我需要确保所有等效的正字法字符串都有一个(并且只有一个)表示。例如,'fi' 印刷连字应分解为 'f' 和 'i'。
我看到 python 的 unicodedata.normalize 函数提供了几种用于规范化 unicode 代码点的算法。有人可以解释一下两者之间的区别:
- NFC
- NFKC
- NFD
- NFKD
我读了relevant wikipedia article,但它太不透明了,我弱智的大脑无法理解。有人可以用简单的英语向我解释一下吗?
另外,您能否推荐一下最适合自然语言处理项目的规范化方法?
【问题讨论】:
标签: python unicode normalization unicode-normalization text-normalization