从wordnet获取属性

时间:2014-10-18 06:40:01

标签: java r wordnet

从我读过的文章中可以通过使用WordNet查找单词是否具有属性。例如,单词大小有属性 - 大,小同样单词质量有属性:劣等,高级等。任何人都可以告诉我如何在java(java或R)中做到这一点? 。在此先感谢。

2 个答案:

答案 0 :(得分:2)

我相信使用Tyler Rinker非常实用的qdap软件包可以实现您想要的更多功能。更具体地说,synonyms函数。

require(qdap)
synonyms(c("size", "quality"))

$size.def_1
 [1] "amount"          "bigness"         "bulk"            "dimensions"      "extent"          "greatness"       "hugeness"       
 [8] "immensity"       "largeness"       "magnitude"       "mass"            "measurement (s)" "proportions"     "range"          
[15] "vastness"        "volume"         

$size.def_2
 [1] "diminutive"     "little"         "midget"         "miniature"      "pocket"         "pygmy or pigmy" "small"         
 [8] "teensy-weensy"  "teeny-weeny"    "tiny"           "wee"           

$size.def_3
[1] "appraise"              "assess"                "evaluate"              "eye up"                "get (something) taped"

$quality.def_1
[1] "aspect"         "attribute"      "characteristic" "condition"      "feature"        "mark"           "peculiarity"   
[8] "property"       "trait"         

$quality.def_2
[1] "character"    "constitution" "description"  "essence"      "kind"         "make"         "nature"       "sort"        

$quality.def_3
 [1] "calibre"      "distinction"  "excellence"   "grade"        "merit"        "position"     "pre-eminence" "rank"        
 [9] "standing"     "status"       "superiority"  "value"        "worth"       

$quality.def_4
[1] "aristocracy"  "gentry"       "nobility"     "ruling class" "upper class" 

将同义词分配给列表对象并提取所需内容。

 attributes <- synonyms(c("size", "quality"))

此外,这是一个相关的Stack Overflow问题: Identifying near duplicate entries using synonyms in R

答案 1 :(得分:1)

在Wordnet中,单词之间存在链接(确切地说,在同义词之间)。其中一个可能的链接是“属性”链接。所以你可以在这里看到单词大小的第一个含义是如何有两个属性链接,一个是形容词大,另一个是形容词小:

http://wordnetweb.princeton.edu/perl/webwn?o2=1&o0=1&o8=1&o1=1&o7=1&o5=1&o9=&o6=1&o3=1&o4=1&s=size&i=2&h=1000000000001000#c

要使用Java API获取此信息,请使用名词synset的getAttributes()函数。因此,首先使用搜索来获取单词“size”的第一个含义的名词synset,然后在其上调用getAttributes(),并迭代这些。 (R wordnet API似乎是java API的包装器,因此它应该是相同的想法。)