python - 在 Python 中使用 spaCy 进行序列多标签
问题描述
我想知道是否可以在 NER 任务中标记标记可能具有多个(重叠)标签的文本?
我想学习汽车制造,但是,我需要将它们分类为私家车或商用车。
例如:
text_0 = 'The new model of Mercedes is a great family car which also offers a space for home pets in the rear'
text_1 = 'It has been know for decades that Mercedes vehicle are very reliable for public transportation'
我需要提取汽车制造商(这很容易,应该给出“梅赛德斯”),但是,我还想知道在哪个上下文中提到了汽车制造商。所以IE系统应该输出:
text_0 -> (SYSTEM) -> {'car_make': 'Mercedes', 'vehicle_type': 'private'}
text_1 -> (SYSTEM) -> {'car_make': 'Mercedes', 'vehicle_type': 'commercial'}
潜在的解决方案
我可以注释一个大型语料库来训练一个统计模型。所以基本上,我可以训练两个单独的 NER 模型,一个用于识别汽车制造商的代币,第二个用于标记同一个代币是否是私有/商业的。
问题是如何结合两个 NER 模型,所以它们的输出不会覆盖实体标签。在 spaCy 中是否有一种简洁的方法?
否则,请建议如何在学习汽车制造的 NER 任务中添加另一个属性(私人/商业)。