从免费文本中提取杂货清单

Uri*_*ren 6 python nlp nltk

我正在寻找一个python库/算法/纸张从自由文本中提取杂货列表.

例如:

"一份沙拉和两瓶啤酒"

应转换为:

{'salad':1, 'beer': 2}
Run Code Online (Sandbox Code Playgroud)

use*_*557 2

我建议使用WordNet。您可以从java(JWNL库)等中调用它。这里是建议:对于每个单词,检查它的上位词。对于上位层次结构顶层的食物,您会找到“食物,营养物”。这可能就是你想要的。现在为了测试这一点,在在线版本中查询单词“beer” 。单击“S”,然后单击“继承的上位词”。您会在层次结构中的某个位置找到它:

....
    S: (n) beverage, drink, drinkable, potable (any liquid suitable for drinking) "may I take your beverage order?"
        S: (n) food, nutrient (any substance that can be metabolized by an animal to give energy and build tissue) 
          ....
Run Code Online (Sandbox Code Playgroud)

您可以使用您选择的编程语言等遍历此层次结构。一旦标记了所有食物,您就可以捕获数字,即“2 瓶啤酒”中的 2 个,并且您拥有所需的所有信息。请注意,单独捕获数字可能是一项下降编码任务!希望能帮助到你!