使用NLTK或Spacy可以很容易地找到Python中的同义词,例如Cat、Dog、Happy或sad,但是当涉及到人工智能或Call-Taxi等复合词时,语言处理器总是为每个标记提供输出,而不是为整个单词提供同义词。例如,人工同义词不自然,假装,假及;智力-智力,大脑,头脑。但是我需要找到人工智能的同义词作为一个复合词,它应该产生一个类似机器人、系统智能等的结果;,如果有人给我一个小片段,我会很高兴的
> 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
使用带有下划线的人工智能也不起作用
尝试使用sense2vec,或者使用一个预先训练好的模型,或者自己在像维基百科这样的大型语料库上进行训练。您可以查看它的演示here
但这对“叫出租车”不起作用,对于多词表达,它只对名词短语起作用
如果你想让类似的短语“call taxi”而不是同义词,这更像是一个语义相似性问题,或者是一个释义问题。如果没有更多的上下文,我甚至不知道你想要什么“叫出租车”-“叫出租车”,“叫出租车”,诸如此类?那是一个更难的问题
作为起点,
打印“AI”
它不适用于“call_taxi”,但对于基本用法来说仍然很有趣
相关问题 更多 >
编程相关推荐