将 Unicode 文本转换为 Python 中的可读文本
Converting Unicoded text to readable text in Python
我有如下 Unicode 文本
(S (NP (N \u0db6\u0dbd\u0dbd\u0dcf)) (VP (V \u0db6\u0dbb\u0dc0\u0dcf)))
如何通过将代码“\u0___”转换为相关的可读字符,将其更改为可读格式。我正在使用 python 版本 2.7
我通过遵循 NLTK (3.0) 中的代码段获得了该输出,其中树是 nltk.tree.Tree
for tree in treelist1:
print unicode(str(tree))
我需要像 print(TreePrettyPrinter(tree).text()) 这样的东西,它可以提供我想要的 unicode 兼容输出,但是我不需要树布局想。 NLTK中有没有一种方法也可以得到像输出这样的可读文本?
的输出也有同样的问题
for rule in grammar1.productions():
print(rule.unicode_repr())
其中语法 1 是 nltk.grammar.CFG
输出如下
VP -> V
VP -> NP V
N -> '\u0db6\u0dbd\u0dca\u0dbd\u0dcf'
N -> '\u0db8\u0dd2\u0db1\u0dd2\u0dc3\u0dcf'
N -> '\u0db8\u0dda\u0dc3\u0dba'
最终结果非常好。我只对输出的表示有疑问
这里有解决方案 question。也适用于 Python 2.7
与 NLTK 无关。简单的解决方案就是 decode 输出文本 'unicode_escape'
print(str(tree).decode('unicode_escape'))
和
print(rule.unicode_repr().decode('unicode_escape'))
对于打印 nltk.tree.Tree 类型的树作为括号文本的 NTLK 类解决方案,请使用以下内容
print(tree.pformat())
我有如下 Unicode 文本
(S (NP (N \u0db6\u0dbd\u0dbd\u0dcf)) (VP (V \u0db6\u0dbb\u0dc0\u0dcf)))
如何通过将代码“\u0___”转换为相关的可读字符,将其更改为可读格式。我正在使用 python 版本 2.7
我通过遵循 NLTK (3.0) 中的代码段获得了该输出,其中树是 nltk.tree.Tree
for tree in treelist1:
print unicode(str(tree))
我需要像 print(TreePrettyPrinter(tree).text()) 这样的东西,它可以提供我想要的 unicode 兼容输出,但是我不需要树布局想。 NLTK中有没有一种方法也可以得到像输出这样的可读文本?
的输出也有同样的问题
for rule in grammar1.productions():
print(rule.unicode_repr())
其中语法 1 是 nltk.grammar.CFG
输出如下
VP -> V
VP -> NP V
N -> '\u0db6\u0dbd\u0dca\u0dbd\u0dcf'
N -> '\u0db8\u0dd2\u0db1\u0dd2\u0dc3\u0dcf'
N -> '\u0db8\u0dda\u0dc3\u0dba'
最终结果非常好。我只对输出的表示有疑问
这里有解决方案 question。也适用于 Python 2.7
与 NLTK 无关。简单的解决方案就是 decode 输出文本 'unicode_escape'
print(str(tree).decode('unicode_escape'))
和
print(rule.unicode_repr().decode('unicode_escape'))
对于打印 nltk.tree.Tree 类型的树作为括号文本的 NTLK 类解决方案,请使用以下内容
print(tree.pformat())