【问题标题】:Using Wordnet Synsets from Python for Italian Language使用 Python 中的 Wordnet Synsets 处理意大利语
【发布时间】:2017-05-11 11:22:09
【问题描述】:

我开始使用 Python 中的 NLTK 进行自然意大利语处理的编程。我看过一些 WordNet 库的简单示例,它有一组很好的 SynSet,允许您从一个词(例如:“狗”)导航到他的同义词和反义词、下位词和上位词等等。 .

我的问题是: 如果我从一个意大利语单词开始(例如:“cane”——意思是“dog”),有没有办法在意大利语单词的同义词、反义词、下位词之间导航……就像你对英语单词一样?或者...有一个相当于 WordNet 的意大利语?

提前致谢

【问题讨论】:

    标签: python nlp nltk


    【解决方案1】:

    你很幸运。 nltk 提供了与Open Multilingual Wordnet 的接口,它确实在它所描述的语言中包含了意大利语。只需在常用的 wordnet 函数中添加一个指定所需语言的参数,例如:

    >>> cane_lemmas = wn.lemmas("cane", lang="ita")
    >>> print(cane_lemmas)
    [Lemma('dog.n.01.cane'), Lemma('cramp.n.02.cane'), Lemma('hammer.n.01.cane'),
     Lemma('bad_person.n.01.cane'), Lemma('incompetent.n.01.cane')]
    

    同义词集具有英文名称,因为它们与英文 wordnet 集成在一起。但是您可以浏览含义网络并为您想要的任何同义词提取意大利语词条:

    >>> hypernyms = cane_lemmas[0].synset().hypernyms()
    >>> print(hypernyms)
    [Synset('canine.n.02'), Synset('domestic_animal.n.01')]
    >>> print(hypernyms[1].lemmas(lang="ita"))
    [Lemma('domestic_animal.n.01.animale_addomesticato'), 
     Lemma('domestic_animal.n.01.animale_domestico')]
    

    或者既然你在 cmets 中提到了“cattiva_persona”:

    >>> wn.lemmas("bad_person")[0].synset().lemmas(lang="ita")
    [Lemma('bad_person.n.01.cane'), Lemma('bad_person.n.01.cattivo')]
    

    我从英语引理到与语言无关的同义词集再到意大利引理。

    【讨论】:

    • 是的,感谢您的建议,但正如您所见,它没有给我意大利语同义词,但似乎与 "wn.lemmas("cane",lang="ita")"只需将意大利语单词翻译成英文并返回它找到的内容。更明确地说:我期望它应该返回 Lemma('cattiva_persona') 而不是 Lemma('bad_berson'),这是 bad_person 的意大利语含义。
    • 我不会说意大利语,但 Wordnet 说“拐杖”的含义之一是“坏人”。 Wordnet 是建立在英语基础上的,因此含义具有英文名称,但具有多种语言的引理。将英文部分视为变量名——它们是什么并不重要,重要的是它们包含的数据。我将添加一个获取上位词的示例。
    • @FrankB.我正在做类似的任务,你能找到解决方案吗?
    • @tahsintahsin 研究答案(自弗兰克的问题以来已编辑),这一切都在那里进行了解释。这是解决方案。
    【解决方案2】:

    由于我在阅读此问题及其答案后发现自己想知道如何实际使用 wordnet 资源,因此我将在此处留下一些有用的信息:

    这是link 的nltk 指南。

    下载wordnet数据并继续使用另一个答案中解释的两个必要命令是:

    import nltk
    
    nltk.download('wordnet')
    nltk.download('omw')
    

    【讨论】:

      猜你喜欢
      • 2023-04-07
      • 1970-01-01
      • 2022-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多