【问题标题】:Lexicon dictionary for synonym words同义词词典
【发布时间】:2014-07-05 18:54:59
【问题描述】:

可用于自然语言处理的字典很少。比如正面、负面的词词典等。

是否有任何可用的字典包含所有字典单词的同义词列表?

喜欢nice

synonyms: enjoyable, pleasant, pleasurable, agreeable, delightful, satisfying, gratifying, acceptable, to one's liking, entertaining, amusing, diverting, marvellous, good; 

【问题讨论】:

    标签: dictionary nlp stanford-nlp data-processing text-classification


    【解决方案1】:

    虽然 WordNet 是一个很好的寻找同义词的资源,但必须注意它的局限性,下面是 NLTK 库中的 python API 示例:

    首先,单词具有多种含义(即感官):

    >>> from nltk.corpus import wordnet as wn
    >>> wn.synsets('nice')
    [Synset('nice.n.01'), Synset('nice.a.01'), Synset('decent.s.01'), Synset('nice.s.03'), Synset('dainty.s.04'), Synset('courteous.s.01')]
    

    要获得单词的正确含义,您需要知道给定上下文的单词的正确含义。

    >>> wn.synset('nice.a.01').definition()
    u'pleasant or pleasing or agreeable in nature or appearance'
    

    您可以尝试 Word Sense Disambiguation 软件,但它们并不完美(请参阅 Anyone know of some good Word Sense Disambiguation software?)。即使你知道这个词的意思,wordnet 的词条也是有限的。你不能期望太多:

    >>> wn.synset('nice.a.01').lemma_names()
    [u'nice']
    >>> wn.synset('nice.a.01').similar_tos()
    [Synset('good.s.06'), Synset('pleasant.s.02')]
    >>> [i.lemma_names() for i in wn.synset('nice.a.01').similar_tos()]
    [[u'good'], [u'pleasant']]
    

    【讨论】:

    • 谢谢。我想要的是:对于任何给定的单词/短语,我希望在我的应用程序中使用它的同义词/短语。我在 PHP 中工作。有什么进一步的参考吗?
    • 您可以尝试抓取thesaurus.com,但如果您尝试存储其数据的本地副本,请注意法律影响 =)
    • 不,这不是好的解决方案。我想要任何离线数据库。像文本字典文件
    • 所以我想,你必须支付一个或构建一个 =(
    • @programming_crazy,三个是wordnet的php api:foxsurfer.com/wordnet
    【解决方案2】:

    “WordNet® 是一个大型的英语词汇数据库。名词、动词、形容词和副词被分组为一组认知同义词(synsets),每个都表达一个不同的概念。”:http://wordnet.princeton.edu/

    【讨论】:

    • 谢谢。我想要的是:对于任何给定的单词/短语,我希望在我的应用程序中使用它的同义词/短语。我在 PHP 中工作。有什么进一步的参考吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-29
    • 1970-01-01
    相关资源
    最近更新 更多