您可以在不使用包含食物语料库的训练集的情况下尝试它,但该方法也可以在没有它的情况下工作.
而不是做简单的POS标记,进行依赖性解析与POS标记相结合.这种方式将能够找到短语的多个标记之间的关系,并使用限制条件(如名词 - 名词依赖关系)解析依赖关系树,您应该能够找到相关的块.
您可以使用spacy进行dep解析.这是来自位移的输出:
评论太多,但不是真正的答案:
我认为,如果您在没有适当分离器的情况下将两种食物组合成一种食物,那么您至少会更接近。这样可以得到花生酱、果冻三明治、咖啡。
如果您的英语正确,您可以通过计数/非计数来检测这种情况。将原文更正为“我早餐吃了花生酱和果冻三明治和一杯咖啡”。 黄油是不可数的,你不能吃“黄油”,但你可以吃“三明治”。因此,a必须适用于三明治,尽管“花生酱”和“果冻三明治”必须是同一个项目——“花生酱和果冻三明治”。不过,你的错误句子会以另一种方式解析!
不过,如果您能提出涵盖所有情况的一般规则,我会感到非常惊讶。我会想到这种事情,其中一些会泄漏并且需要数据库来捕获。