首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >面向阿拉伯语言的Python和Name实体识别

面向阿拉伯语言的Python和Name实体识别
EN

Stack Overflow用户
提问于 2018-06-07 21:02:13
回答 2查看 1K关注 0票数 0

我在阿拉伯语上表演。守则如下:

代码语言:javascript
复制
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 --它可以工作,这是输出:

代码语言:javascript
复制
[I-LOC([u'\u0627\u0644\u0647\u0646\u062f\u064a\u0629'])]

这不是我想要的外卖。期望的输出应该用阿拉伯语,而不是这样。

所有必需的库都安装好了。

EN

回答 2

Stack Overflow用户

发布于 2018-06-07 21:33:00

必须解码Utf-8编码的文本。你打印的时候看到的是编码。所以它必须被解码。我不熟悉多边形,我不能证实这一点,但请试试这个。

如果要消除文件编码依赖,那么在设置Blob之后,使用: blob.encode(' utf-8 '),然后解码utf-8以供打印使用:text.entities.decode(‘utf-8’)

票数 1
EN

Stack Overflow用户

发布于 2019-11-12 18:35:57

在python中,您可以通过解码这些字节来再次获得阿拉伯文本。

代码语言:javascript
复制
Str = "\u0627\u0644\u0647\u0646\u062f\u064a\u0629";
Str = Str.encode('UTF-8','strict');

print (Str.decode("utf-8"))

输出将是

代码语言:javascript
复制
الهندية

我希望这就是你要找的

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50750102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档