【发布时间】:2014-10-18 06:40:01
【问题描述】:
从我读到的一篇文章中,使用 WordNet 可以找到一个单词是否具有属性。例如,单词大小有属性——大,小,类似地,单词质量有属性:劣质,优越等。谁能告诉我如何在java(java或R)中做到这一点? .提前致谢。
【问题讨论】:
-
看看
wordnet这里的包cran.r-project.org/web/packages/wordnet/index.html
从我读到的一篇文章中,使用 WordNet 可以找到一个单词是否具有属性。例如,单词大小有属性——大,小,类似地,单词质量有属性:劣质,优越等。谁能告诉我如何在java(java或R)中做到这一点? .提前致谢。
【问题讨论】:
wordnet这里的包cran.r-project.org/web/packages/wordnet/index.html
我相信您可以使用 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
【讨论】:
在 Wordnet 中,单词之间存在链接(准确地说,是同义词集之间)。这些可能的链接之一是“属性”链接。所以你可以在这里看到单词大小的第一个含义如何有两个属性链接,一个到形容词大,另一个到形容词小:
要使用 Java API 获取此信息,请使用名词同义词集的 getAttributes() 函数。因此,首先使用搜索来获取单词“size”的第一个含义的名词同义词集,然后在其上调用getAttributes(),并遍历它们。 (R wordnet API 似乎是对 java API 的封装,所以应该是相同的想法。)
【讨论】: