0

我想知道是否有办法分析列表中的名词。例如,如果有一种算法可以识别不同的类别,比如名词是“动物”、“植物”、“自然”等类别的一部分。我认为使用 Wordnet 可以实现这个结果,但是,如果我没记错的话,WordNet 中的所有名词都归类为“实体”。这是我的 WordNet 分析脚本:

lemmas = ['dog', 'cat', 'garden', 'ocean', 'death', 'joy']

hypernyms = []
for i in lemmas:
    dog = wn.synsets(i)[0]
    temp_list = []
    hypernyms_list = ([lemma.name() for synset in dog.root_hypernyms() for lemma in synset.lemmas()])
    temp_list.append(hypernyms_list)
    flat = list(set([item for sublist in temp_list for item in sublist]))
    hypernyms.append(flat)
hypernyms

结果是:[['entity'],['entity'],['entity'],['entity'],['entity'],['entity']]。

如果有任何可用的东西,有人可以建议我一些技术来检索名称所属的类别吗?提前致谢。

4

1 回答 1

0

我可以建议的一种方法是使用 Google 的 NLP API。此 API 具有将词性识别为句法分析的一部分的功能。请参阅此处的文档 - Google 的 NLP API - 语法分析

另一种选择是斯坦福大学的 NLP API。以下是参考文档 -斯坦福的 NLP API

于 2018-08-03T05:36:56.987 回答