python - 如何在WordNet中提取名词食品类别中的所有单词?

标签 python nltk python-3.7 wordnet

我正在尝试获取 Wordnet 词典中属于名词类型和食物类别的所有单词。

我找到了一种方法来检查一个单词是否是名词.food,但我需要相反的方法:

import nltk
nltk.download('wordnet')
from nltk.corpus import wordnet as wn

def if_food(word):
    syns = wn.synsets(word, pos = wn.NOUN)
    for syn in syns:
        print(syn.lexname())
        if 'food' in syn.lexname():
            return 1
    return 0

最佳答案

所以我想我已经找到了解决方案:

# Using the NLTK WordNet dictionary check if the word is noun and a food.
import nltk
nltk.download('wordnet')
from nltk.corpus import wordnet as wn

def if_food(word):

    syns = wn.synsets(str(word), pos = wn.NOUN)

    for syn in syns:
        if 'food' in syn.lexname():
            return 1
    return 0

然后使用 qdapDictionaries::GradyAugmented R 英语单词词典我检查了每个单词是否是名词。food:

en_dict = pd.read_csv("GradyAugmentedENDict.csv")

en_dict['is_food'] = en_dict.word.apply(if_food)

en_dict[en_dict.is_food == 1].to_csv("en_dict_is_food.csv")

它确实完成了这项工作。

希望对其他人有帮助。

关于python - 如何在WordNet中提取名词食品类别中的所有单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57057039/

相关文章:

python - Python Tkinter 中 iconify() 和 withdraw() 的区别

python - 无法安装 RAY

python - 如何跳过 PyCharm 中的右大括号/方括号/圆括号?

python - 如何在 Python 中验证 GraphQL 突变

python - NLTK WordNet Lemmatizer : Shouldn't it lemmatize all inflections of a word?

Python 不按顺序打印消息

python - 如何在 Python 中使用 WordNet 获取词域?

python - 如何检测 NLTK Python 中文本的不确定性?

python - 无法在 Django 中调试或使用 pdb : bdb. BdbQuit

python - 列表的条件追加