农业设备JSON数据NLP分类:自定义模型选型与优化问询
农业设备描述的标签映射模型需求
输入数据说明
外部供应商提供的农业设备JSON数据格式如下:
{ "EquipmentList": [ { "EquipmentClass": "1", "EquipmentID": "1234", "EquipmentGroup": "PLG", "Description": "Advanced Electrical Plough, Bosch" }, { "EquipmentID": "1235", "EquipmentGroup": "MOT", "Description": "Small Gasoline Motor, Honda, 250 kW 1.2L" }, { "EquipmentID": "1236", "Description": "Leather Grip Handle" } ] }
其中Description和EquipmentID为必选字段,其余字段为可选。
目标标签定义
需要将上述数据映射到以下预定义标签:
| 标签名称 | 数据类型 | 预期输出 |
|---|---|---|
| leatherGrip | bool | true |
| motorSize | float | 1.2 |
| fuelType | str | gasoline |
| ploughType | str | electric |
| ploughVendor | str | Bosch |
当前尝试的问题
由于不同供应商描述方式差异大,正则/字符串规则维护成本高,尝试用Hugging Face Transformers的4款预训练模型做零样本分类,代码如下:
from transformers import pipeline from transformers.utils import logging logging.set_verbosity_error() logger = logging.get_logger("transformers") logger.info("INFO") logger.warning("WARN") # model = "bert-base-german-cased" model = "bert-base-uncased" # model = "xlm-roberta-base" # model = "distilbert-base-uncased" classifier = pipeline("zero-shot-classification", model=model) possible_plough_motor_vendors = ["Bosch", "Honda", "Shimano", "Volkswagen"] print("Classification Result: ", classifier(json_src_data[1]["Description"], possible_plough_motor_vendors))
但结果准确率极低,平均置信度仅约3.8%。
需求
希望训练自定义模型,而非BERT这类适用于长句的预训练微调模型,求针对该场景的最佳方法、库或平台。
内容的提问来源于stack exchange,提问作者Bijay Regmi
相关产品推荐
相关产品推荐

