我在哪里可以找到包含常见食物清单的文本列表或库?

时间:2013-10-28 03:24:56

标签: python nlp nltk alchemyapi

我正在编写一个解析电子邮件的Python脚本,其中涉及搜索电子邮件的文本以查找常见食品的任何单词。我需要一些方法来确定单词是否确实是食物。

我查看了几个自然语言处理API(例如AlchemyAPI和NLTK 2.0),它们似乎有命名实体提取(这是我想要的),但我找不到特定食物的实体类型

很有可能自然语言处理对我所需要的东西来说太过分了 - 我只想要一份我可以匹配的食物清单。我在哪里可以找到这样的单词列表?我是否需要编写自己的刮刀来解析一些在线资源,或者是否有更简单的方法?

3 个答案:

答案 0 :(得分:5)

将所有食品放在一个单一的清单中真的很不错,但遗憾的是这是理想的情况。

您可以尝试访问WordNet中的food同义词集。如果您使用的是NLTK,请尝试:

>>> from nltk.corpus import wordnet as wn
>>> food = wn.synset('food.n.02')
>>> list(set([w for s in food.closure(lambda s:s.hyponyms()) for w in s.lemma_names()]))

答案 1 :(得分:0)

AFAIK,没有NLTK或类似食物的常见食物实体。你很可能必须为自己构建一个列表。

但是,幸运的是,互联网是你的朋友,这里有一些很好的资料来源,涵盖了英语世界中许多常见的蔬菜和水果:

祝你好运!

答案 2 :(得分:0)

由于命名实体是专有名词(即人,地点,公司,地点等),因此NLP实体提取不太可能用于查找共同的食物名称。可能有效的NLP功能是关键字提取。我通过AlchemyAPI's demo运行了一些食谱,并将成分标识为关键字。这样你就可以在那里找到方法,但是你仍然需要将关键词与常见食物列表进行比较,例如jrd1。