在JAVA中使用BabelNet

时间:2015-02-19 17:27:58

标签: java nlp stanford-nlp

我正在使用BabelNet API 2.5来获取单词的synset。这里清楚地阐明了用于各种目的的代码:http://babelnet.org/guide#Mainclasses

因此我编写了我的代码(在JAVA中):

BabelNet bn = BabelNet.getInstance();
...

for (BabelSynset synset : bn.getSynsets(Language.EN, value, BabelPOS.NOUN,BabelSenseSource.WN))

            {

                System.out.println("Synset ID: " + synset.getId());
            }

在代码值中包含我需要的Synset的字符串。

但是我收到了这个错误:

' BabelNet类型中的方法getSynsets(Language,String,POS,BabelSenseSource ...)不适用于参数(Language,String,BabelPOS,BabelSenseSource)'突出显示bn.getSynsets。

我正在使用Eclipse来执行此操作。

有人可以解释错误吗?

1 个答案:

答案 0 :(得分:0)

您必须在edu.mit.jwi.item.POS中使用 POS 类而不是BabelPOS。

导入jwi-2.1.4.jar中包含的edu.mit.jwi.item.POS,然后写完

bn.getSynsets(Language.EN, value, POS.NOUN, BabelSenseSource.WN)

您看到的示例代码in this link适用于最新版本的Babelnet(3.0),而不适用于2.5。