在synset中的wordnet单词短语

时间:2012-11-01 03:17:56

标签: java nlp wordnet

我们怎样才能在synset中找到单词短语?特别是,将此synset用于adj“已预订”:

  

预订,订婚,预留 - (提前预订)

我使用的是RitaWN Java包(WordNet版本是2.1),似乎无法找到这些短语。在上面的例子中,当我运行

RiWordnet wordnet = new RiWordnet(null);
String[] syn = wordnet.getSynset(word, "a", true);
for(int i = 0; i < syn.length; i++)
            System.out.println(syn[i]);

只输出

  

预订订婚

虽然没有列出“预留”。

我已经测试了很多,并且找不到所有短语。另一个例子:

  商品,贸易良好,良好 - (商品)

然后从getSynset()方法返回“trade good”。那么我们怎样才能真正得到短语?

(ritawn包来自http://rednoise.org/rita/wordnet/documentation/index.htm

2 个答案:

答案 0 :(得分:1)

这个答案有点偏离正确的领域,但无论如何......

Idilia有一个类似于在线Wordnet的在线数据库,实际上比Wordnet更加完整和丰富。根据您在应用程序中的位置,它可能有意义所以我提到它。网站上有Java访问的编码示例。

在这种情况下查询:

  

[{“fs”:“reservations / J1”,“lemma”:[],“definition”:null}]

将返回

  

{       “fs”:“预订/ J1”,       “引理”:[           “搁置”,           “搁置”,           “订婚”,           “预订”       ]       “定义”:“事先保留。”   }

答案 1 :(得分:1)

RiTaWN似乎默认忽略“复合词”。您可以禁用此选项以获取完整的短语列表(下面的第2行)。

RiWordnet wordnet = new RiWordnet();
wordnet.ignoreCompoundWords(false);
String[] syn = wordnet.getSynset("booked", "a", true);
System.out.println(Arrays.asList(syn));

结果:

[INFO] RiTa.WordNet.version [033]
[booked, engaged, set-aside]