【问题标题】:How to extract all words in a noun food category in WordNet?如何在 WordNet 中提取名词食物类别中的所有单词?
【发布时间】:2019-07-16 12:15:01
【问题描述】:

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

我找到了一种检查单词是否为 noun.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

【问题讨论】:

    标签: python nltk python-3.7 wordnet


    【解决方案1】:

    所以我想我找到了解决办法:

    # 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 英语单词词典我检查了每个单词是否是名词。食物:

    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")
    

    它确实完成了这项工作。

    希望它能帮助其他人。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多