如何将 plwordnet (Słowosieć) 3.0 加载到 NLTK 中

How to load plwordnet (Słowosieć) 3.0 into NLTK

PlWordNet 3.0 版带有两个 .xml 文件。第一个文件是 plwordnet-3.0.xml(在 Princeton WordNet format 中),第二个文件是 plwordnet-3.0-visdisc.xml(在 VizDic format 中)。这个项目的 readme 文件似乎有些晦涩难懂,因为建议的将数据加载到 NLTK 的方法不起作用。 PlWordNet 可从官方下载 project site.

我正在尝试将这个 wordnet 加载到 NLTK 中,这样我就可以迭代同义词集。我已经尝试了两种方法,但都不起作用。

a) 将 xml 文件 复制到 (...)\nltk_data\corpora\omw\pol(...)\nltk_data\corpora\wordnet。代码测试结果:

from nltk.corpus import wordnet as wn
wn.synsets('Politechnika')

不幸的是returns空列表

b) 使用 nltk 包中的 XMLCorpusReader(如 How to use the Spanish Wordnet in NLTK? 中所述)加载 xml 文件。要测试的代码:

from nltk.corpus.reader import XMLCorpusReader
reader = XMLCorpusReader(dir, 'plwordnet-3.0.xml')

但是当我 运行 reader.words() 时,它 returns 只有一个 id 列表(unicode 对象,只代表数字)。此外,我没有看到获取同义词集之间关系的方法。

有人以前用过 Princeton Wordnet 3.1 或 PlWordNet (Słowosieć) 3.0 吗?

我设法使用 python 的 xml.etree 手动获取同义词集列表及其描述,但我不明白如何获取 关系他们之间。

谢谢!

NLTK 不再支持 PlWordNet 3.0。

我将编写自己的解析器。