3

我们如何在同义词集中找到词组?特别是,将这个同义词用于 adj “booked”:

预订、订婚、搁置——(提前预订)

我使用 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() 方法不会返回“贸易商品”。那么我们如何才能真正得到短语呢?

(ritawn 包从http://rednoise.org/rita/wordnet/documentation/index.htm获得)

4

2 回答 2

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] 
于 2013-09-06T11:47:08.053 回答
1

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

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

在这种情况下,查询:

[{"fs":"booked/J1", "引理":[], "definition":null}]

会回来

{ "fs" : "booked/J1", "lemma" : [ "set_aside", "set-aside", "engaged", "booked" ], "definition" : "提前预订。" }

于 2013-02-05T13:47:11.137 回答