gpt4 book ai didi

python - 在 python 中导入阿拉伯语 Wordnet

转载 作者:太空狗 更新时间:2023-10-30 00:55:20 24 4
gpt4 key购买 nike

我需要使用 python 来处理阿拉伯语单词。我需要将阿拉伯语 wordnet 与 python 链接起来以执行一些方法,例如:

wn.synset('جميل')

我找到多语言词典:AWN - ArabicWN

http://www.talp.upc.edu/index.php/technology/resources/multilingual-lexicons-and-machine-translation-resources/multilingual-lexicons/72-awn

然后我尝试运行:一组用于访问数据库的基本python函数

http://nlp.lsi.upc.edu/awn/AWNDatabaseManagement.py.gz

但是当运行代码时(AWNDatabaseManagement.py)发生此错误:

processing file  E:/usuaris/horacio/arabicWN/AWNdatabase/upc_db.xml
file E:/usuaris/horacio/arabicWN/AWNdatabase/upc_db.xml not correct

Traceback (most recent call last):
File "/Users/s/Desktop/arab", line 403, in <module>
wn.compute_index_w()
NameError: global name 'wn' is not defined

有什么想法吗?

最佳答案

AWNDatabaseManagement.py 应该由具有阿拉伯语 WordNet 作为值的参数 -i 提供。如果未指定参数,它将使用默认路径 E:/usuaris/horacio/arabicWN/AWNdatabase/upc_db.xml

要解决这个问题,请下载 the xml database of Arabic WordNet upc_db.xml。我建议将它放在与脚本 AWNDatabaseManagement.py 相同的文件夹中。然后,运行:

$ python AWNDatabaseManagement.py -i upc_db.xml

这是我运行后得到的,没有错误:

processing file  upc_db.xml
<open file 'upc_db.xml', mode 'r' at 0xb74689c0>

你也可以改变320行

opts['i']='E:/usuaris/horacio/arabicWN/AWNdatabase/upc_db.xml'

opts['i']='upc_db.xml'

然后在不使用 -i

的情况下运行脚本

你可以加载它:

>> from AWNDatabaseManagement import wn

如果失败,请检查您是否将 xml 资源放在正确的路径中。


现在获取类似 wn.synset('ìميل') 的内容。 Arabic Wordnet 有一个函数 wn.get_synsets_from_word(word),但它给出了偏移量。它还只接受数据库中发出的单词。例如,您应该使用 ♬َمِيل 而不是 ♬ميل:

>> wn.get_synsets_from_word(u"جَمِيل")
[(u'a', u'300218842')]

300218842 是 ♬ synset 的偏移量。我建议改为使用下一个方法。列出单词:

 >> for word,ids  in sorted(wn.get_words(False)):
.. print word, ids

你会得到这样的结果:

 جَمِيعَة [u'jamiyEap_1']
جَمِيل [u'jamiyl_1']
جَمِيْعَة [u'jamiyoEap_1']
جَمَّدَ [u'jam~ada_2', u'jam~ada_1']

选择你的词,并从它的 id 中选择一个 id。 ID写在Buckwalter romanization .许多 id 意味着这个词有不同的含义。通过以下方式描述所选单词:

>> wn._words["jamiyl_1"].describe()
wordid jamiyl_1
value جَمِيل
synsets [u'jamiyl_a1AR']
forms [(u'root', u'\u062c\u0645\u0644')]

现在您有了同义词集列表。有关同义词集的更多信息,请使用:

>> wn._items["jamiyl_a1AR"].describe()
itemid jamiyl_a1AR
offset 300218842
name جَمِيل
type synset
pos a
input links [[u'be_in_state', u'jamaAl_n1AR'], [u'near_antonym', u'qabiyH_a1AR']]
output links [[u'near_antonym', u'qabiyH_a1AR']]

关于python - 在 python 中导入阿拉伯语 Wordnet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29522161/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com