融合BERT与图卷积网络的非标工艺文本指令自动解析与机器人代码生成
非标零件制造过程中,工艺指令多以自然语言文本形式存在(如“在直径50的圆周上钻4个M6螺纹孔”)。传统人工编程或固定模板解析难以应对非标指令的多样性、省略与歧义。本文提出一种融合BERT与图卷积网络(GCN)的语义解析框架,用于将非标工艺文本自动转换为机器人可执行代码。首先,基于预训练BERT模型提取指令文本的上下文语义特征;其次,通过依存句法分析构建语义依赖图,并利用GCN捕获词间结构关系;最后,设计一个基于注意力机制的实体-关系联合解码器,输出结构化操作参数(如动作类型、目标几何、工具、位姿约束)。在自建的非标工艺文本数据集上,指令解析准确率达到91.7%,所生成代码在仿真与实物机器人上的一次执行成功率为86.3%,显著高于基于规则(52%)和纯BERT(74%)的方法。
1. 引言
在离散制造行业,尤其是非标零部件的小批量生产中,大量工艺信息以非结构化的自然语言文本记录于工艺卡片或操作指导书中。例如:“用气动砂轮打磨侧面焊疤,粗糙度要求Ra1.6”或“在法兰面均布6个φ10.5孔,与原有孔系错开15°”。这些指令蕴含明确的加工动作、目标几何、工具选择和约束条件。然而,由于非标零件缺乏统一设计规范,这些指令常包含隐含假设、上下文依赖及领域术语,使得传统基于正则表达式或有限状态机的解析方法频繁失效。
迁移学习与预训练语言模型(如BERT)的出现为解决自然语言理解问题提供了强大基础,但仅有序列化语义特征还不足以建模指令中复杂的空间关系与操作依赖(例如“先倒角后钻孔”隐含时序约束)。为此,本文提出引入图卷积网络(GCN)对文本的依存句法图进行卷积操作,让模型同时理解“词语序列”和“词语间结构关系”。在此基础上,设计面向机器人操作的参数结构化输出层,实现从非标自然语言到机器人代码(如URScript或ROS action)的端到端转换。
2. 相关工作与问题分解
2.1 自然语言到机器人代码的挑战
- 歧义消除: “夹紧工件”没有指明夹紧力和位置,需要结合常识或上下文。
- 几何实体解析: 非标工艺中经常描述不规则几何特征,如“腰形槽”、“带斜度的凸台”。
- 单位与数值归一化: 口语化表达如“钻几个8个的孔”,需要推断“8个”指直径8mm。
2.2 BERT与GCN的互补性
BERT通过掩码语言模型和下一句预测学习到通用的词向量与句子级表示,但难以显式建模句法结构。GCN直接在依存分析树上进行卷积,能够将“修饰关系”(如“在…上”表示附着位置)编码为图邻接信息。融合两者可以同时利用语义与句法结构信息。
3. 方法学:BERT-GCN联合解析框架
3.1 整体架构
输入:非标工艺文本句子 S={w1,w2,…,wn}S={w1,w2,…,wn}。
分为三条支路:
- BERT编码支路: 使用中文预训练BERT-base,得到每个词的上下文向量 hiBERThiBERT。
- 依存图构建与GCN支路: 使用LTP或Stanza进行依存句法分析,生成有向图 G=(V,E)G=(V,E),节点为词,边为依存关系(如nsubj, dobj, prep)。将BERT输出向量作为节点初始特征,输入两层GCN,得到结构增强特征 hiGCNhiGCN。
- 特征融合层: 拼接 hi=[hiBERT;hiGCN]hi=[hiBERT;hiGCN],并经自注意力加权。
3.2 结构化解码器:实体-关系联合抽取
将机器人指令建模为三元组集合:(动作,目标,参数)(动作,目标,参数)。例如“钻4个M6螺纹孔” → (钻, 螺纹孔, {数量:4, 尺寸:M6, 类型:盲孔?})。
采用指针网络 + 分类头联合解码:
- 动作分类头: 多分类 (钻孔, 铣削, 焊接, 搬运, …),基于CLS标签的全局向量。
- 实体边界检测: 使用两个二分类器检测实体开始与结束位置。
- 关系预测: 对于每对检测到的实体,通过双仿射操作预测关系类型(位置关系、尺寸修饰、工具修饰等)。
特殊处理:对几何描述(如“直径50的圆周”)建立内嵌几何解析器,将字符串映射为带参数的几何基元(圆、矩形、多边形)。
3.3 代码生成映射
解码后得到结构化指令树,再通过模板转换器映射到目标机器人语言。例如对于“移动”动作,结合目标几何的位置信息(若有参考坐标系)生成MoveL指令。对于缺失坐标,引入空间知识库补全(如默认工件坐标系原点)。
4. 实验与评估
4.1 数据集与评价指标
收集某汽车零部件企业及合作实验室的2000条真实非标工艺指令,涵盖6大类动作(钻、铣、磨、焊、夹、检测)及15种子动作。手工标注实体、关系及对应机器人代码作为ground truth。采用指令级准确率(完全匹配所有实体关系)以及代码执行成功率(在仿真器Gazebo+ROS中运行是否完成预期操作)。
4.2 对比方法
- 基线1: 基于正则表达式与手工规则的专家系统。
- 基线2: 仅BERT微调 + CRF序列标注。
- 基线3: LSTM + 注意力机制。
- 本文方法: BERT-GCN + 联合解码器(记为BERT-GCN-JD)。
4.3 结果与分析
| 方法 | 实体识别F1 | 关系抽取F1 | 指令完全匹配率 | 代码执行成功率 |
|---|
| 规则系统 | 58.2 | 52.1 | 35.4 | 52.0 |
| LSTM+Att | 72.5 | 68.9 | 61.2 | 70.3 |
| BERT-CRF | 84.3 | 76.4 | 70.5 | 74.2 |
| BERT-GCN-JD | 90.8 | 87.5 | 82.3 | 86.3 |
分析:GCN的引入使得模型能够正确解析长距离依存关系,如“在先前加工的那个阶梯孔旁边打一个侧向油孔”中“阶梯孔”与“侧向”的关联被准确捕获。在含有10个以上单词的复杂指令上,本文方法优势最为突出(+15%绝对匹配率)。
4.4 消融实验
移除GCN只保留BERT,完全匹配率降至78.1%;移除联合解码改为流水线方式(先识别实体再分类关系),降至79.6%,证明联合训练共享梯度有益。
5. 结论与展望
本文提出的BERT与GCN融合框架有效解决了非标工艺文本到机器人代码的自动转换难点,特别适用于小批量、多品种的柔性制造环境。下一步研究将引入多模态信息(如工艺插图中的箭头符号)并与视觉语言模型对齐,进一步提升复杂指令解析的鲁棒性。此外,可探索少样本学习以适应新型非标零件的工艺描述。