Python与阿拉伯语名称实体识别
我正在用阿拉伯语表演一些舞蹈。代码如下:Python与阿拉伯语名称实体识别,python,internationalization,nlp,ubuntu-14.04,Python,Internationalization,Nlp,Ubuntu 14.04,我正在用阿拉伯语表演一些舞蹈。代码如下: 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中执行上述给定代码后,我得到以下给定错误: Sy
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:文件中的非ASCII字符“\xd9”./ner.py位于第4行,
但未声明编码;寻找
细节
但是,如果我包括--coding:utf-8--它可以工作,下面是输出:
[I-LOC([u'\u0627\u0644\u0647\u0646\u062f\u064a\u0629'])]
这不是我想要的东西。所需的输出应为阿拉伯语,而不是这种方式
仅供参考:已安装所有必需的库。Utf-8编码文本必须解码。打印时看到的是编码。所以它必须被解码。 我不熟悉polyglot,我无法确认这一点,但请尝试一下 如果要消除文件编码依赖项,则在设置Blob后,请使用: blob.encode'utf-8' 然后在稍后对utf-8进行解码以供打印使用:
printtext.entities.decode'utf-8'在python中,您可以通过解码这些字节再次获得阿拉伯语文本
Str = "\u0627\u0644\u0647\u0646\u062f\u064a\u0629";
Str = Str.encode('UTF-8','strict');
print (Str.decode("utf-8"))
输出将是
الهندية
我希望这就是您想要的也许,您应该以适合您运行的平台的unicode编码输出文本。