【问题标题】:Finding Synonyms for Compound words like Call-Taxi , Artificial Intelligence using NLTK or Spacy?使用 NLTK 或 Spacy 查找复合词(例如 Call-Taxi、人工智能)的同义词?
【发布时间】:2021-09-11 11:32:38
【问题描述】:

在 Python 中,使用 NLTK 或 Spacy 可以很容易地找到 Cat、Dog、Happy 或 sad 等单个词的同义词但是当涉及到诸如人工智能或 Call-Taxi 之类的复合词时,语言处理器总是为每个词提供输出并且每个标记而不是为整个单词提供同义词。即人工同义词-不自然,假装,虚假和智能-智力,大脑,思想。但是我需要找到作为单个复合词的人工智能的同义词,它应该产生像机器人、系统智能等这样的结果。如果有人给我一个小的 sn-p,我会很高兴。

> from nltk.corpus import wordnet as wn print
> wn.synset("eat.v.01").lemma_names # prints synonyms of eat print
> wn.synset("Artificial Intelligence").lemma_names # throws WordNetError

使用带下划线的 Artifical_Intelligence 也不起作用。

【问题讨论】:

  • Call-Taxiwhole foods 的同义词是什么? Call-taxi 是一个动作,所以怀疑有任何同义词。 Whole foods 也没有同义词。您能否分享更多您尝试查询的列表?

标签: python nltk spacy


【解决方案1】:

作为起点,

print(wn.synset("artificial_intelligence.n.01").lemma_names())

打印“AI”。

它不适用于“call_taxi”,但对于基本用法仍然很有趣。

【讨论】:

  • 兄弟,我想知道整个人工智能的同义词,我也想知道其他词,比如全食、中午等
【解决方案2】:

尝试使用sense2vec,或者使用其中一个预训练模型,或者在维基百科等大型语料库上自行训练。您可以查看它的演示 here

但这不适用于“叫出租车”,对于多词表达,它只适用于名词短语。

如果您想要类似的短语来“叫出租车”,那些不会被称为同义词,这更像是一个语义相似性问题,或者可能是一个释义问题。如果没有更多上下文,我什至不确定您想要“叫出租车” - “订购出租车”,“叫出租车”,诸如此类?这是一个更难的问题。

【讨论】:

    猜你喜欢
    • 2023-03-11
    • 2020-03-30
    • 2017-12-15
    • 1970-01-01
    • 1970-01-01
    • 2016-01-08
    • 2018-10-15
    • 2015-06-11
    • 1970-01-01
    相关资源
    最近更新 更多