我正在使用阿拉伯语进行一些NER。代码如下:
INSERT INTO Table(a,b,c,d,e,f,g)
VALUES (@a,@b,@c,@d,@e,@f,@g);
SET @Result = 'Inserted'
RETURN @Result
在ubuntu中执行上面给出的代码后,我得到以下给定的错误:
SyntaxError:非ASCII字符' \ xd9'在第4行的./ner.py文件中, 但没有声明编码;见http://python.org/dev/peps/pep-0263/ 细节
但是,如果我包含# - - coding:utf-8 - - 它可以工作,这是输出:
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)
这不是我想要的ouptut。所需的输出应该用阿拉伯语而不是这种方式。
仅供参考:安装了所有必需的库。
答案 0 :(得分:1)
必须解码Utf-8编码的文本。您在打印时看到的是编码。所以必须解码。 我不熟悉多语言,我无法证实这一点,但请尝试这个。
如果要消除文件编码依赖性,则在设置Blob后,使用: blob.encode( 'UTF-8') 然后解码utf-8进行打印: 打印(text.entities.decode( 'UTF-8'))
答案 1 :(得分:0)
在python中,您可以通过解码这些字节来再次获取阿拉伯文本
Str = "\u0627\u0644\u0647\u0646\u062f\u064a\u0629";
Str = Str.encode('UTF-8','strict');
print (Str.decode("utf-8"))
输出将为
الهندية
我希望这就是您要寻找的