我在阿拉伯语上表演。守则如下:
from polyglot.text import Text
blob = "مرحبا اسمي rahul agnihotri أنا عمري 41 سنة و الهندية"
text = Text(blob)
text = Text(blob, hint_language_code='ar') #ar stands for arabic
print(text.entities)在以ubuntu执行上述给定代码之后,我得到了以下给定的错误:
SyntaxError:第4行中的非ASCII字符‘\xd9 9’./ner.py,但没有声明编码;有关详细信息,请参阅http://python.org/dev/peps/pep-0263/
但是,如果我包括# --编码: utf-8 --它可以工作,这是输出:
[I-LOC([u'\u0627\u0644\u0647\u0646\u062f\u064a\u0629'])]这不是我想要的外卖。期望的输出应该用阿拉伯语,而不是这样。
所有必需的库都安装好了。
发布于 2018-06-07 21:33:00
必须解码Utf-8编码的文本。你打印的时候看到的是编码。所以它必须被解码。我不熟悉多边形,我不能证实这一点,但请试试这个。
如果要消除文件编码依赖,那么在设置Blob之后,使用: blob.encode(' utf-8 '),然后解码utf-8以供打印使用:text.entities.decode(‘utf-8’)
发布于 2019-11-12 18:35:57
在python中,您可以通过解码这些字节来再次获得阿拉伯文本。
Str = "\u0627\u0644\u0647\u0646\u062f\u064a\u0629";
Str = Str.encode('UTF-8','strict');
print (Str.decode("utf-8"))输出将是
الهندية我希望这就是你要找的
https://stackoverflow.com/questions/50750102
复制相似问题