Как анализировать существительные в списке

Я хотел бы знать, есть ли способ проанализировать существительные в списке. Например, если есть алгоритм, который различает разные категории, например, если существительное является частью категории "животное", "растения", "природа" и так далее. Я думал, что можно достичь этого результата с помощью 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']].

Кто-нибудь может предложить мне некоторые методы для извлечения категории, к которой относятся имена, если есть что-нибудь доступное? Заранее спасибо.

1 ответ

Один из подходов, который я могу предложить, - это использование Google NLP API. Этот API имеет функцию идентификации части речи как части синтаксического анализа. Пожалуйста, обратитесь к документации здесь - Google NLP API - Синтаксический анализ

Другим вариантом является НЛП Стэнфордского API. Вот справочные документы - API НЛП Стэнфорда

Другие вопросы по тегам