我们怎样才能在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)
答案 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]