【问题标题】:What are alternatives to WordNet for finding antonyms?WordNet 有哪些替代词来查找反义词?
【发布时间】:2019-10-30 10:19:24
【问题描述】:

我正在寻找可以找到某些英语单词反义词的资源。 WordNet 本来是完美的,但它的数据库中似乎没有很多反义词。

我使用nltk python 模块的 WordNet 实现从原始单词的每个同义词集的每个引理中查找反义词。但它根本没有提供足够的单词。

for synset in wordnet.synsets(word):
   for lemma in synset.lemmas():
      if lemma.antonyms():
         antonyms.append(l.antonyms()[0].name())

例如,根据 WordNet,“delete”这个词的唯一反义词是“recover”。但在像 https://thesaurus.com 这样的网站中,它提供了更多像“add”这样的词, '恢复'等

【问题讨论】:

  • 直观地说,recover 是删除语义上最合适的反义词。那么为什么不尝试找到你所拥有的反义词的同义词呢?或者使用一些语义相似性度量(简单的向量空间语义是不够的,它们无法处理反义词。也许嵌入?)
  • @CLpragmatics 是的,我同意这确实是最合适的。但我也想要不完美的合身。找到 WordNet 列出的反义词的同义词是个好主意,我刚刚尝试过,但遗憾的是它还不够好。我不太确定嵌入。这不是另一个需要解决的挑战吗?因为它不会太准确。
  • 你需要找到哪些英语单词的反义词?您有特殊的来源或域吗?这可能会提示如何更好地满足您的需求。
  • 我猜你可以说它的软件相关领域。 @CLpragmatics
  • 所以您是指与软件相关的技术表达领域?例如“文件”、“保存”、“另存为”、“导出”、“打开”等?

标签: python nlp nltk wordnet


【解决方案1】:

我是 Python 包 wordhoard 的作者。您可以使用wordhoard 生成反义词列表。下面的例子是查询单词“delete”的反义词。

from wordhoard import Antonyms

antonym = Antonyms('delete').find_antonyms()
print(antonym)
['accept', 'add', 'allow', 'build', 'construct', 'create', 'dirty', 'enter', 'fuse', 'include', 'insert', 'issue', 'keep', 'make', 'put in', 'record', 'restore', 'stet', 'tape', 'unbalance', 'validate', 'welcome']

【讨论】:

    猜你喜欢
    • 2021-07-21
    • 2015-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多