首页> 中国专利> 基于语义理解的加工委托信息提取方法和装置

基于语义理解的加工委托信息提取方法和装置

摘要

本申请涉及一种基于语义理解的加工委托信息提取方法和装置,该方法包括:接收加工委托信息;根据加工类型识别模型识别所述加工委托信息中的加工类型;基于所述加工类型,确定对应的信息抽取问题模板;以及根据所述问题模板,采用加工要素信息抽取模型抽取所述加工委托信息中的加工要素信息。通过本申请提出的基于语义理解的加工委托信息提取方案,能够自适应加工委托信息中不同客户表示方式,并通过训练学习不断提升信息提取效果,降低人工成本并提升工作效率。

著录项

  • 公开/公告号CN113821600A

    专利类型发明专利

  • 公开/公告日2021-12-21

    原文格式PDF

  • 申请/专利权人 欧冶云商股份有限公司;

    申请/专利号CN202111128717.0

  • 发明设计人 邹晓峰;朱彭生;杨镜意;丁启州;

    申请日2021-09-26

  • 分类号G06F16/33(20190101);G06F16/35(20190101);G06F40/216(20200101);G06F40/30(20200101);G06K9/62(20060101);G06N3/04(20060101);G06N3/08(20060101);

  • 代理机构11446 北京律和信知识产权代理事务所(普通合伙);

  • 代理人谢清萍;何春晖

  • 地址 201999 上海市宝山区漠河路600号东鼎国际大厦A座28楼

  • 入库时间 2023-06-19 13:46:35

说明书

技术领域

本申请涉及人工智能技术应用领域,尤其涉及一种基于语义理解的加工委托信息提取方法和装置。

背景技术

目前,电商平台客户有委托加工需求时,例如钢铁电商平台客户有钢卷剪切委托加工需求时,通常在平台上填写委托单,将成品信息和加工要求以一段话来描述说明,委托单下到加工厂,需要专业人员人工提取加工要素信息,才能进行下一步生产加工流程。

由于客户输入表述习惯各不相同,采用常规的规则和模板匹配方法经常会因词义表述的变化而失效,无法自适应,难以有效提取所需的加工要素信息,也就无法进一步做后续的自动排刀、自动算价等智能化运营。

从而,迫切希望实现加工委托信息的自动提取,以满足智能化运营和服务的发展需要。

发明内容

针对现有技术中存在的问题,本申请提供了一种基于语义理解的加工委托信息提取方案,能够自适应加工委托信息中不同客户表示方式,并通过训练学习不断提升信息提取效果,降低人工成本并提升工作效率。

根据本申请的第一个方面,提供一种基于语义理解的加工委托信息提取方法,其包括:

接收加工委托信息;

根据加工类型识别模型识别所述加工委托信息中的加工类型;

基于所述加工类型,确定对应的信息抽取问题模板;以及

根据所述问题模板,采用加工要素信息抽取模型抽取所述加工委托信息中的加工要素信息。

根据本申请的第二个方面,提供一种基于语义理解的加工委托信息提取装置,其包括:

接收单元,用于接收加工委托信息;

加工类型识别单元,用于根据加工类型识别模型识别所述加工委托信息中的加工类型;

信息抽取问题模板确定单元,用于基于所述加工类型,确定对应的信息抽取问题模板;以及

加工要素信息提取单元,用于根据所述问题模板,采用加工要素信息抽取模型抽取所述加工委托信息中的加工要素信息。

根据本发明的第三个方面,提供一种电子设备,包括:

处理器;以及

存储器,存储有计算机指令,当所述计算机指令被所述处理器执行时,使得所述处理器执行第一方面所述的方法。

根据本发明的第四个方面,提供一种非瞬时性计算机存储介质,存储有计算机程序,当所述计算机程序被多个处理器执行时,使得所述处理器执行第一方面所述的方法。

根据本申请提成的基于语义理解的加工委托信息提取方案,至少带来如下好处:

(1)采用机器语义理解方法提取加工要素信息,解决了规则和模板匹配方法无法适应不同客户表述方式、提取加工要素信息困难的问题。

(2)规则和模板匹配方法需要人工分析和维护规则、模板,效率低下,泛化能力弱,无法自适应;而本申请采用的方法,能够通过新增样本,重新训练学习,不断提升模型效果。

(3)通过机器识别和理解,并抽取所需的加工要素信息,实现自动化转换为符合加工厂要求的结构化信息,人工只需做审核,从而降低人工转换成本,提升工作效率。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图,而并不超出本申请要求保护的范围。

图1是基于语义理解的加工委托信息提取方案的流程示意图。

图2是基于语义理解的加工委托信息提取方法的流程图。

图3是基于语义理解的加工委托信息提取装置的示意图。

图4是本发明提供的一种电子设备的结构图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

图1是基于语义理解的加工委托信息提取方案的流程示意图。如图1所示,在加工委托信息提取方案中,首先获取客户的加工委托信息说明,例如,加工委托信息说明为“加工要求:刀次1:61mm*14+100mm*2+47mm*2(61mm裸包15.171吨;100mm裸包3.553吨;47mm裸包1.670吨)=1148mm,排刀重量:20.43吨;备注:原边丝带走,内径610,负0.3以内,件重小于3吨,SPHC出库”。在获取加工委托信息后,应用加工类型识别模型,识别客户委托的加工类型。在该加工委托信息说明中,被模型识别的加工类型为“纵切”。

然后,根据识别出的加工类型,确定对应的信息抽取问题模板。针对不同加工类型,事先预置了需要抽取加工要素的问题模板。例如,针对纵切、横切和先纵切后横切的三种加工类型,分别预置了需要抽取加工要素的三种问题模板。由于在该实施例中识别到“纵切”加工类型,则会启用对应纵切类型的抽取加工要素的问题模板,比如纵切需要抽取分条宽度、分条数量,对应问题分别为“分条加工宽度是多少?”、“分条数量是多少?”,其他要素以此类推。

之后,根据问题模板,应用加工要素信息抽取模型,抽取加工委托信息种的加工要素信息。如果将“加工要求:刀次1:61mm*14+100mm*2+47mm*2(61mm裸包15.171吨;100mm裸包3.553吨;47mm裸包1.670吨)=1148mm,排刀重量:20.43吨;备注:原边丝带走,内径610,负0.3以内,件重小于3吨,SPHC出库”作为段落文档、“分条加工宽度是多少?”作为问题、答案数量=n(表示多个,不唯一)、答案边界阈值=0.9输入到加工要素信息抽取模型中,加工要素信息抽取模型输出答案为列表[61mm,100mm,47mm]。同理,当问题为“分条数量是多少?”时,加工要素信息抽取模型输出分条数量列表[14,2,2]。

最后,对模型抽取出的加工要素信息,进行后处理。通过上面的步骤,已经可以抽取加工要素信息。但是,因为抽取出的加工要素信息是一个个分立的,实际使用时需要配对,比如每个分条宽度和分条数量之间的配对,另外还可能存在出现单位不同等问题,所以需要做后处理;后处理的作用就是经过匹配和修正,使得输出符合实际使用要求。从而,针对模型输出得到的分条宽度列表、分条数量列表按顺序匹配原则匹配,并进行正则规则检验修正,得到匹配结果[(61mm,14),(100mm,2),(47mm,2)]。在后处理后,输出最终的结构化加工要素信息。将所有需要提取的加工要素提取并经后处理的结果,整理成结构化数据输出给下游任务。其他要素的提取方法类似,例如宽度公差、长度公差、对角线、单包件重等要素提取。

上面大致介绍了基于语义理解的加工委托信息提取方案的流程,基于该流程,根据本申请的一个方面,提供一种基于语义理解的加工委托信息提取方法,如图2所示,该方法包括如下步骤。

步骤S201,接收加工委托信息。

可以从平台(例如电商平台)获取加工委托历史样本数据,主要是客户通过平台输入的钢材剪切加工委托说明,通常是一段关于成品信息和质量要求的描述。例如,加工委托信息为“加工要求:刀次1:61mm*14+100mm*2+47mm*2(61mm裸包15.171吨;100mm裸包3.553吨;47mm裸包1.670吨)=1148mm,排刀重量:20.43吨;备注:原边丝带走,内径610,负0.3以内,件重小于3吨,SPHC出库”。

步骤S202,根据加工类型识别模型识别所述加工委托信息中的加工类型。

采用加工类型识别模型识别客户输入的加工委托信息中的加工类型,其中,加工类型包括纵切、横切和先纵切后横切。例如,加工类型识别模型识别上述加工委托信息,获得的加工类型是“纵切”。

步骤S203,基于所述加工类型,确定对应的信息抽取问题模板。

针对不同加工类型,事先预置了需要抽取加工要素的问题模板。例如,针对纵切、横切和先纵切后横切的三种加工类型,分别预置了需要抽取加工要素的三种问题模板。由于在该实施例中识别到“纵切”加工类型,则会启用对应纵切类型的抽取加工要素的问题模板,比如纵切需要抽取分条宽度、分条数量,对应问题分别为“分条加工宽度是多少?”、“分条数量是多少?”。

步骤S204,根据所述问题模板,采用加工要素信息抽取模型抽取所述加工委托信息中的加工要素信息。

将加工委托信息和问题模板输入加工要素信息抽取模型,提取得到各加工要素信息。

例如,如果将“加工要求:刀次1:61mm*14+100mm*2+47mm*2(61mm裸包15.171吨;100mm裸包3.553吨;47mm裸包1.670吨)=1148mm,排刀重量:20.43吨;备注:原边丝带走,内径610,负0.3以内,件重小于3吨,SPHC出库”作为段落文档、“分条加工宽度是多少?”作为问题、答案数量=n(表示多个,不唯一)、答案边界阈值=0.9输入到加工要素信息抽取模型中,加工要素信息抽取模型输出答案为列表[61mm,100mm,47mm]。同理,当问题为“分条数量是多少?”时,加工要素信息抽取模型输出分条数量列表[14,2,2]。

上述步骤S203和步骤S204中分别采用加工类型识别模型来识别加工委托信息中的加工类型以及加工要素信息抽取模型抽取加工委托信息中的加工要素信息,其中,加工类型识别模型和加工要素信息抽取模型都是经过神经网络训练的。这样,基于语义理解的加工委托信息提取方法还包括:步骤S205,对预加工类型识别模型进行神经网络训练,得到所述加工类型识别模型;以及步骤S206,对预加工要素信息抽取模型进行神经网络训练,得到所述加工要素信息抽取模型。

其中,步骤S205包括如下子步骤:

子步骤S2051,将标注好的分类样本集拆分为训练集、验证集和测试集。

从平台(例如电商平台)获取钢材剪切加工委托样本数据,将每一个客户输入的加工委托信息,标注上加工类型标签,例如共有纵切、横切、先纵切后横切三种类型,形成加工类型识别模型训练所需的分类样本标注集。然后,将标注好的分类样本集按照预定比例拆分为训练集、验证集和测试集,对于标注好的分类样本集,按一定的比例(例如6:2:2)拆分为训练集、验证集、测试集。其中,训练集用于对预加工类型识别模型进行训练,验证集用于验证训练后的预加工类型识别模型的准确性,而测试集用于测试验证后的预加工类型识别模型是否符合准确性的要求。

子步骤S2052,将所述训练集中的训练样本输入预加工类型识别模型进行神经网络训练,经所述预加工类型识别模型前向推理计算输出每个训练样本属于各个加工类型的概率分布以及预测类标签,并计算训练集上的损失。

在一个实施例中,加工类型识别模型采用BERT模块连接一个全连接层和softmax组成的分类网络结构,训练时设定训练批大小batchsize、训练次数epoch等训练超参数,加载BERT中文预训练模型,输入加工委托说明文字段落,模型最终预测输出对应的加工类型。

模型训练采用的损失函数为交叉熵损失函数,训练时可以采用Adam优化器,优化目标是使得损失函数最小。通过微调(finetune)方式训练得到加工委托类型识别的3分类模型。加工委托类型不同,决定后续所需提取加工要素信息。

子步骤S2053,通过所述验证集计算所述预加工类型识别模型的损失,若所述损失小于当前历史最小损失,则更新当前历史最小损失并保存所述预加工类型识别模型的参数。

验证集与训练集为分类样本集不同的部分,采用验证集对训练后的预加工类型识别模型进行验证,可以对训练后的预加工类型识别模型有一个相对准确的估计。

子步骤S2054,经反向传播优化调整所述预加工类型识别模型的网络参数。

在一个实施例中,经反向传播,采用Adam算法优化调整模型网络参数。

子步骤S2055,重复步骤S2052、步骤S2053和步骤S2054,响应于所述当前历史最小损失在连续第一设定次数没有更新或达到设定的训练次数,停止对所述预加工类型识别模型的训练。

其中,第一设定次数可以人为设定。

子步骤S2056,通过所述测试集测试所述预加工类型识别模型的加工类型分类准确率。

子步骤S2057,响应于所述加工类型分类准确率满足第一预设阈值,将所测试后的预加工类型识别模型确定为所述加工类型识别模型。

其中,第一预设阈值可以人为设定,例如可以为95%。

其中,步骤S206包括如下子步骤:

子步骤S2061,将标注好的加工要素信息抽取标注样本集拆分为训练集、验证集和测试集。

从平台(例如电商平台)获取钢材剪切加工委托样本数据,将每一个客户输入的加工委托信息,将由(段落、问题、答案)三元组组成的加工要素信息抽取标注样本集按比例拆分为得到训练集、验证集、测试集,对于标注好的加工要素信息抽取标注样本集,按一定的比例(例如6:2:2)拆分为训练集、验证集、测试集。其中,训练集用于对预加工要素信息抽取模型进行训练,验证集用于验证训练后的预加工要素信息抽取模型的准确性,而测试集用于测试验证后的预加工要素信息抽取模型是否符合准确性的要求。

子步骤S2062,通过所述训练集中的训练样本对所述预加工要素信息抽取模型进行神经网络训练,前向计算得到所述训练集的段落文档中每个词被分类为答案开始位置的概率和答案结束位置的概率。

模型网络结构采用BERT模块连接全连接层+sigmoid函数输出,分别预测段落文档中每一个词被分类为答案的开始位置start、结束位置end的概率,问题直接限定答案数量可以是多个或一个,由开始位置start、结束位置end可以得到文档中所包含的具体的答案片段span。

模型采用的损失函数:

其中,N为训练样本的数量,|A

模型训练时可以采用Adam优化器,优化目标是使得损失函数最小。

具体来说,设定训练超参数,所述训练超参数包括训练批大小batchsize、训练次数epoch、答案边界阈值threshold等,将训练集批量输入加工要素信息抽取模型网络进行迭代训练。其中,答案边界阈值threshold用来控制模型输出候选答案片段span的数量,由人工在模型训练时调整确定。采用Adam优化器微调网络参数,每个训练结束时计算训练集上的损失函数值。训练时,输入训练样本中的问题、段落、答案数量类型(多个、唯一)、答案列表,首先在问题前面添加[CLS]标记,然后问题和段落连在一起,中间使用[SEP]标记分开,组成的序列通过token Embedding、segment embedding和positional embedding输入到BERT预训练模型,得到BERT深层编码表示的隐藏状态,再经全连接层和sigmoid函数得到段落文档中每个词被分类为答案开始、结束位置的概率。

子步骤S2063,根据答案数量类型以及所述答案开始位置的概率和所述答案结束位置的概率,生成所述训练样本对应的答案,并计算训练集上的损失。

具体来说,答案数量类型指示答案的数量为一个或多个,对于这两中不同的情形,子步骤S2063有如下处理过程。

对于答案数量类型指示答案数量为一个的情况下,子步骤S2063包括:将所述答案开始位置的概率和所述答案结束位置的概率之和最大的答案片段作为答案。

也就是说,如果答案数量唯一,则取答案开始位置start、答案结束位置end的概率值之和最大的作为答案片段span输出。

对于答案数量类型指示答案数量为多个的情况下,子步骤S2063包括:

(1)将所述答案开始位置的概率和所述答案结束位置的概率之和大于答案边界阈值的答案片段组成第一答案片段集合;

(2)将所述第一答案片段集合中当前概率最大的答案片段添加到第二答案片段集合中,将该当前概率最大的答案片段从所述第一答案片段集合中删除;

(3)从所述第一答案片段集合中删除与该当前概率最大的答案片段存在重叠的任何其他答案片段;以及

(4)重复步骤(2)和步骤(3),直到所述第一答案片段集合为空。

给定模型预测的答案开始位置概率P

子步骤S2064,通过所述验证集计算所述预加工要素信息抽取模型的损失,若所述损失小于当前历史最小损失,则更新当前历史最小损失并保存所述预加工要素信息抽取模型的参数。

验证集与训练集为加工要素信息抽取标注样本集不同的部分,采用验证集对训练后的预加工要素信息抽取模型进行验证,可以对训练后的预加工要素信息抽取模型有一个相对准确的估计。

子步骤S2065,经反向传播优化调整所述预加工要素信息抽取模型的网络参数。

子步骤S2066,重复子步骤S2062、子步骤S2063、子步骤S2064和子步骤S2065,响应于所述当前历史最小损失在连续第二设定次数没有更新或达到设定的训练次数,停止对所述预加工要素信息抽取模型的训练。

其中,第二设定次数可以人为设定。

子步骤S2067,通过所述测试集测试所述预加工要素信息抽取模型的加工要素信息的抽取准确率。

子步骤S2068,响应于所述加工要素信息的抽取准确率满足第二预设阈值,将所测试后的预加工要素信息抽取模型确定为所述加工要素信息抽取模型。

其中,第二预设阈值可以人为设定,例如可以为95%。

通过上述过程完成了抽取加工要素信息。但是,因为抽取出的加工要素信息是一个个分立的,实际使用时需要配对,比如每个分条宽度和分条数量之间的配对,另外还可能存在出现单位不同等问题,所以需要做后处理。

这样,基于语义理解的加工委托信息提取方法还包括:步骤S207,对所抽取的加工要素信息进行后处理。

后处理的作用就是经过匹配和修正等处理,使得输出符合实际使用要求。从而,后处理可以包括针对加工要素信息抽取模型输出得到的分条宽度列表、分条数量列表按顺序匹配原则匹配,将分条宽度列表和分条数量进行匹配。后处理还可以包括按照正则规则检验修正,例如,分条宽度应该只有数字和字母,而不应该包括其他字符(例如“)”),通过正则规则筛选,排除数字和字母之外的信息,最后得到匹配结果[(61mm,14),(100mm,2),(47mm,2)]。

在后处理后,输出最终的结构化加工要素信息。将所有需要提取的加工要素提取并经后处理的结果,整理成结构化数据输出给下游任务。其他要素的提取方法类似,例如宽度公差、长度公差、对角线、单包件重等要素提取。

通过本申请提出的基于语义理解的加工委托信息提取方法,能够自适应加工委托信息中不同客户表示方式,并通过训练学习不断提升信息提取效果,降低人工成本并提升工作效率。

根据本申请的另一个方面,提供一种基于语义理解的加工委托信息提取装置,如图3所示,该装置包括如下单元。

接收单元301,用于接收加工委托信息。

可以从平台(例如电商平台)获取加工委托历史样本数据,主要是客户通过平台输入的钢材剪切加工委托说明,通常是一段关于成品信息和质量要求的描述。例如,加工委托信息为“加工要求:刀次1:61mm*14+100mm*2+47mm*2(61mm裸包15.171吨;100mm裸包3.553吨;47mm裸包1.670吨)=1148mm,排刀重量:20.43吨;备注:原边丝带走,内径610,负0.3以内,件重小于3吨,SPHC出库”。

加工类型识别单元302,用于根据加工类型识别模型识别所述加工委托信息中的加工类型。

采用加工类型识别模型识别客户输入的加工委托信息中的加工类型,其中,加工类型包括纵切、横切和先纵切后横切。例如,加工类型识别模型识别上述加工委托信息,获得的加工类型是“纵切”。

信息抽取问题模板确定单元303,用于基于所述加工类型,确定对应的信息抽取问题模板。

针对不同加工类型,事先预置了需要抽取加工要素的问题模板。例如,针对纵切、横切和先纵切后横切的三种加工类型,分别预置了需要抽取加工要素的三种问题模板。由于在该实施例中识别到“纵切”加工类型,则会启用对应纵切类型的抽取加工要素的问题模板,比如纵切需要抽取分条宽度、分条数量,对应问题分别为“分条加工宽度是多少?”、“分条数量是多少?”。

加工要素信息提取单元304,用于根据所述问题模板,采用加工要素信息抽取模型抽取所述加工委托信息中的加工要素信息。

将加工委托信息和问题模板输入加工要素信息抽取模型,提取得到各加工要素信息。

例如,如果将“加工要求:刀次1:61mm*14+100mm*2+47mm*2(61mm裸包15.171吨;100mm裸包3.553吨;47mm裸包1.670吨)=1148mm,排刀重量:20.43吨;备注:原边丝带走,内径610,负0.3以内,件重小于3吨,SPHC出库”作为段落文档、“分条加工宽度是多少?”作为问题、答案数量=n(表示多个,不唯一)、答案边界阈值=0.9输入到加工要素信息抽取模型中,加工要素信息抽取模型输出答案为列表[61mm,100mm,47mm]。同理,当问题为“分条数量是多少?”时,加工要素信息抽取模型输出分条数量列表[14,2,2]。

上述加工类型识别单元302和加工要素信息提取单元304中分别采用加工类型识别模型来识别加工委托信息中的加工类型以及加工要素信息抽取模型抽取加工委托信息中的加工要素信息,其中,加工类型识别模型和加工要素信息抽取模型都是经过神经网络训练的。这样,基于语义理解的加工委托信息提取装置还包括:加工类型识别模型训练单元305,用于对预加工类型识别模型进行神经网络训练,得到所述加工类型识别模型;以及加工要素信息抽取模型训练单元306,用于对预加工要素信息抽取模型进行神经网络训练,得到所述加工要素信息抽取模型。

其中,加工类型识别模型训练单元305包括如下子单元:

第一拆分子单元3051,用于将标注好的分类样本集拆分为训练集、验证集和测试集。

从平台(例如电商平台)获取钢材剪切加工委托样本数据,将每一个客户输入的加工委托信息,标注上加工类型标签,例如共有纵切、横切、先纵切后横切三种类型,形成加工类型识别模型训练所需的分类样本标注集。然后,将标注好的分类样本集按照预定比例拆分为训练集、验证集和测试集,对于标注好的分类样本集,按一定的比例(例如6:2:2)拆分为训练集、验证集、测试集。其中,训练集用于对预加工类型识别模型进行训练,验证集用于验证训练后的预加工类型识别模型的准确性,而测试集用于测试验证后的预加工类型识别模型是否符合准确性的要求。

加工类型识别模型训练子单元3052,用于将所述训练集中的训练样本输入预加工类型识别模型进行神经网络训练,经所述预加工类型识别模型前向推理计算输出每个训练样本属于各个加工类型的概率分布以及预测类标签,并计算训练集上的损失。

在一个实施例中,加工类型识别模型采用BERT模块连接一个全连接层和softmax组成的分类网络结构,训练时设定训练批大小batchsize、训练次数epoch等训练超参数,加载BERT中文预训练模型,输入加工委托说明文字段落,模型最终预测输出对应的加工类型。

模型训练采用的损失函数为交叉熵损失函数,训练时可以采用Adam优化器,优化目标是使得损失函数最小。通过微调(finetune)方式训练得到加工委托类型识别的3分类模型。加工委托类型不同,决定后续所需提取加工要素信息。

第一计算子单元3053,用于通过所述验证集计算所述预加工类型识别模型的损失,若所述损失小于当前历史最小损失,则更新当前历史最小损失并保存所述预加工类型识别模型的参数。

验证集与训练集为分类样本集不同的部分,采用验证集对训练后的预加工类型识别模型进行验证,可以对训练后的预加工类型识别模型有一个相对准确的估计。

第一调整子单元3054,用于经反向传播优化调整所述预加工类型识别模型的网络参数。

在一个实施例中,经反向传播,采用Adam算法优化调整模型网络参数。

子单元3052、3053和3054重复各自的功能,响应于所述当前历史最小损失在连续第一设定次数没有更新或达到设定的训练次数,停止对所述预加工类型识别模型的训练。

其中,第一设定次数可以人为设定。

第一测试子单元3055,用于通过所述测试集测试所述预加工类型识别模型的加工类型分类准确率。

第一确定子单元3056,用于响应于所述加工类型分类准确率满足第一预设阈值,将所测试后的预加工类型识别模型确定为所述加工类型识别模型。

其中,第一预设阈值可以人为设定,例如可以为95%。

其中,加工要素信息抽取模型训练单元306包括如下子单元:

第二拆分子单元3061,用于将标注好的加工要素信息抽取标注样本集拆分为训练集、验证集和测试集。

从平台(例如电商平台)获取钢材剪切加工委托样本数据,将每一个客户输入的加工委托信息,将由(段落、问题、答案)三元组组成的加工要素信息抽取标注样本集按比例拆分为得到训练集、验证集、测试集,对于标注好的加工要素信息抽取标注样本集,按一定的比例(例如6:2:2)拆分为训练集、验证集、测试集。其中,训练集用于对预加工要素信息抽取模型进行训练,验证集用于验证训练后的预加工要素信息抽取模型的准确性,而测试集用于测试验证后的预加工要素信息抽取模型是否符合准确性的要求。

加工要素信息抽取模型训练子单元3062,用于通过所述训练集中的训练样本对所述预加工要素信息抽取模型进行神经网络训练,前向计算得到所述训练集的段落文档中每个词被分类为答案开始位置的概率和答案结束位置的概率。

模型网络结构采用BERT模块连接全连接层+sigmoid函数输出,分别预测段落文档中每一个词被分类为答案的开始位置start、结束位置end的概率,问题直接限定答案数量可以是多个或一个,由开始位置start、结束位置end可以得到文档中所包含的具体的答案片段span。

模型采用的损失函数:

其中,N为训练样本的数量,|A

模型训练时可以采用Adam优化器,优化目标是使得损失函数最小。

具体来说,设定训练超参数,所述训练超参数包括训练批大小batchsize、训练次数epoch、答案边界阈值threshold等,将训练集批量输入加工要素信息抽取模型网络进行迭代训练。其中,答案边界阈值threshold用来控制模型输出候选答案片段span的数量,由人工在模型训练时调整确定。采用Adam优化器微调网络参数,每个训练结束时计算训练集上的损失函数值。训练时,输入训练样本中的问题、段落、答案数量类型(多个、唯一)、答案列表,首先在问题前面添加[CLS]标记,然后问题和段落连在一起,中间使用[SEP]标记分开,组成的序列通过token Embedding、segment embedding和positional embedding输入到BERT预训练模型,得到BERT深层编码表示的隐藏状态,再经全连接层和sigmoid函数得到段落文档中每个词被分类为答案开始、结束位置的概率。

答案生成子单元3063,用于根据答案数量类型以及所述答案开始位置的概率和所述答案结束位置的概率,生成所述训练样本对应的答案,并计算训练集上的损失。

具体来说,答案数量类型指示答案的数量为一个或多个,对于这两中不同的情形,答案生成子单元3063有如下处理过程。

对于答案数量类型指示答案数量为一个的情况下,答案生成子单元3063用于:将所述答案开始位置的概率和所述答案结束位置的概率之和最大的答案片段作为答案。

也就是说,如果答案数量唯一,则取答案开始位置start、答案结束位置end的概率值之和最大的作为答案片段span输出。

对于答案数量类型指示答案数量为多个的情况下,答案生成子单元3063用于:

(1)将所述答案开始位置的概率和所述答案结束位置的概率之和大于答案边界阈值的答案片段组成第一答案片段集合;

(2)将所述第一答案片段集合中当前概率最大的答案片段添加到第二答案片段集合中,将该当前概率最大的答案片段从所述第一答案片段集合中删除;

(3)从所述第一答案片段集合中删除与该当前概率最大的答案片段存在重叠的任何其他答案片段;以及

(4)重复步骤(2)和步骤(3),直到所述第一答案片段集合为空。

给定模型预测的答案开始位置概率P

第二计算子单元3064,用于通过所述验证集计算所述预加工要素信息抽取模型的损失,若所述损失小于当前历史最小损失,则更新当前历史最小损失并保存所述预加工要素信息抽取模型的参数。

验证集与训练集为加工要素信息抽取标注样本集不同的部分,采用验证集对训练后的预加工要素信息抽取模型进行验证,可以对训练后的预加工要素信息抽取模型有一个相对准确的估计。

第二调整子单元3065,用于经反向传播优化调整所述预加工要素信息抽取模型的网络参数。

子单元3062、3063、3064和3065重复各自的功能,响应于所述当前历史最小损失在连续第二设定次数没有更新或达到设定的训练次数,停止对所述预加工要素信息抽取模型的训练。

其中,第二设定次数可以人为设定。

第二测试子单元3066,用于通过所述测试集测试所述预加工要素信息抽取模型的加工要素信息的抽取准确率。

第二确定子单元3067,用于响应于所述加工要素信息的抽取准确率满足第二预设阈值,将所测试后的预加工要素信息抽取模型确定为所述加工要素信息抽取模型。

其中,第二预设阈值可以人为设定,例如可以为95%。

通过上述过程完成了抽取加工要素信息。但是,因为抽取出的加工要素信息是一个个分立的,实际使用时需要配对,比如每个分条宽度和分条数量之间的配对,另外还可能存在出现单位不同等问题,所以需要做后处理。

这样,基于语义理解的加工委托信息提取装置还包括:后处理单元307,用于对所抽取的加工要素信息进行后处理。

后处理的作用就是经过匹配和修正等处理,使得输出符合实际使用要求。从而,后处理可以包括针对加工要素信息抽取模型输出得到的分条宽度列表、分条数量列表按顺序匹配原则匹配,将分条宽度列表和分条数量进行匹配。后处理还可以包括按照正则规则检验修正,例如,分条宽度应该只有数字和字母,而不应该包括其他字符(例如“)”),通过正则规则筛选,排除数字和字母之外的信息,最后得到匹配结果[(61mm,14),(100mm,2),(47mm,2)]。

在后处理后,输出最终的结构化加工要素信息。将所有需要提取的加工要素提取并经后处理的结果,整理成结构化数据输出给下游任务。其他要素的提取方法类似,例如宽度公差、长度公差、对角线、单包件重等要素提取。

通过本申请提出的基于语义理解的加工委托信息提取装置,能够自适应加工委托信息中不同客户表示方式,并通过训练学习不断提升信息提取效果,降低人工成本并提升工作效率。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

参阅图4,图4提供一种电子设备,包括处理器;以及存储器,所述存储器存储有计算机指令,当所述计算机指令被所述处理器执行时,使得所述处理器执行所述计算机指令时实现如图2所示的方法以及细化方案。

应该理解,上述的装置实施例仅是示意性的,本发明披露的装置还可通过其它的方式实现。例如,上述实施例中所述单元/模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,多个单元、模块或组件可以结合,或者可以集成到另一个系统,或一些特征可以忽略或不执行。

另外,若无特别说明,在本发明各个实施例中的各功能单元/模块可以集成在一个单元/模块中,也可以是各个单元/模块单独物理存在,也可以两个以上单元/模块集成在一起。上述集成的单元/模块既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。

所述集成的单元/模块如果以硬件的形式实现时,该硬件可以是数字电路,模拟电路等等。硬件结构的物理实现包括但不局限于晶体管,忆阻器等等。若无特别说明,所述处理器或芯片可以是任何适当的硬件处理器,比如CPU、GPU、FPGA、DSP和ASIC等等。若无特别说明,所述片上缓存、片外内存、存储器可以是任何适当的磁存储介质或者磁光存储介质,比如,阻变式存储器RRAM(Resistive Random Access Memory)、动态随机存取存储器DRAM(Dynamic Random Access Memory)、静态随机存取存储器SRAM(Static Random-AccessMemory)、增强动态随机存取存储器EDRAM(Enhanced Dynamic Random Access Memory)、高带宽内存HBM(High-Bandwidth Memory)、混合存储立方HMC(Hybrid Memory Cube)等等。

所述集成的单元/模块如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本披露各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

本申请实施例还提供一种非瞬时性计算机存储介质,存储有计算机程序,当所述计算机程序被多个处理器执行时,使得所述处理器执行如图2所示的方法以及细化方案。

以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明仅用于帮助理解本申请的方法及其核心思想。同时,本领域技术人员依据本申请的思想,基于本申请的具体实施方式及应用范围上做出的改变或变形之处,都属于本申请保护的范围。综上所述,本说明书内容不应理解为对本申请的限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号