一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

无标注语料下的句型自动判别方法与流程

2022-05-11 13:25:19 来源:中国专利 TAG:


1.本发明涉及句型自动判别技术领域,尤其涉及一种无标注语料下的句型自动判别方法。


背景技术:

2.目前对于句型进行判别的方法是基于监督学习方法,需要对欲判别的语料进行标注,同时为了提高判别的效果,需要不断提高模型复杂度,特别是采用不断加大层数、神经元数量的深度学习模型,对标注语料的规模和质量产生了更大依赖。但实际的业务应用场景中,标注语料不论是量还是质都远远低于理想水平,特别是细分领域,很难用通用领域的标注语料获得复合应用要求的效果。


技术实现要素:

3.本发明的目的在于提供一种无标注语料下的句型自动判别方法,从而解决现有技术中存在的前述问题。
4.为了实现上述目的,本发明采用的技术方案如下:
5.一种无标注语料下的句型自动判别方法,包括如下步骤,
6.s1、将无标注语料数据和业务规则输入启发式判别算法,获取标注语料a;
7.s2、将标注语料a输入一致性判别算法,获取标注语料b;
8.s3、将标注语料a和标注语料b输入偏向性训练算法,获取最终的判别模型。
9.优选的,步骤s1具体包括如下内容,
10.s11、利用业务规则对无标注语料进行业务标记;
11.s12、根据业务标记后的无标注语料的语言学特征,将由中心语、语法角色、语义角色、关联项以及排除项组成的多元组作为一条模式规则;
12.s13、启发式判别算法根据多元组构成的模式规则对业务标记后且特征化后的无标注语料进行打标,获取标注语料a。
13.优选的,多元组生成过程如下,
14.将无标注语料通过语言学分析算法进行特征化:语言学分析算法将无标注语料分解为词间依存关系的多个三元组后,将无标注语料对应的关系类型根据三元组中父节点索引生成图结构;
15.利用图结构生成多元组:语言学分析算法在图结构上进行搜索,找到频繁项的父、子节点对应的词性和类型,并将频繁项的词性和类型、父节点类型、子节点的类型、频繁项在无标注语句中的邻接词按照既定顺序组成多元组。
16.优选的,所述三元组包括当前词的节点索引、父节点词索引以及当前词与父节点词的关系类型。
17.优选的,语言学分析算法在图结构上进行搜索具体为,延图的拓扑路径进行广度优先匹配或深度优先匹配,以获取频繁项;
18.所述广度优先匹配具体为:以当前节点为始,枚举搜索其邻接节点后,再以这些邻接节点为始,枚举搜索这些邻接节点的邻接节点,达到当前节点的最大深度后,统计频繁项;
19.所述深度优先匹配具体为:以当前节点为始,随机搜索其一个邻接节点,并以该邻接节点为始,进一步随机搜索其邻接的一个节点,达到当前节点的最大深度后,统计频繁项;
20.所述邻接节点包括父节点和子节点;当当前节点的最大深度与预设深度相等时,广度优先匹配和深度优先匹配获取的频繁项一致。
21.优选的,步骤s2具体包括如下内容,
22.s21、基于统计机器学习中的语言模型、基于词构建词集合向量或基于字和预训练深度模型的实数句向量,对标注样本a进行特征化;
23.s22、利用特征化后的标注样本a迭代训练机器学习模型,将每轮训练后打标与启发式判别算法打标不一致的样本进行超采样生成下轮训练样本,直到训练的准确度出现下降趋势后,停止训练,获取训练好的机器学习模型;
24.s23、将训练得到的假阴性样本和假阳性样本经过均匀分布采样后作为主动学习样本交由人工打标,获取标注样本b;
25.假阴性样本即为,训练好的机器学习模型打标为负样本且人工标记为正样本的样本;
26.假阳性样本即为,训练好的机器学习模型打标为正样本且人工标记为负样本的样本。
27.优选的,步骤s3具体包括如下内容,
28.s31、利用偏向性训练算法迭代训练标注语料a,将每轮迭代中没有被正确判别的样本进行超采样生成下轮训练样本,直到训练的准确度出现下降趋势后,停止训练标注语料a;输出初始判别模型;
29.s32、利用初始判别模型迭代训练标注语料b,将每轮迭代中没有被正确判别的样本进行超采样生成下轮训练样本,直到训练的准确度出现震荡后,停止训练标注样本b;输出最终的判别模型。
30.优选的,所述偏向性训练算法为linearsvc或sigmoid函数作为激活函数的dnn。
31.优选的,最终的判别模型投入使用后,对无标注语料进行自动打标,人工对其打标结果进行预设比例的抽样检验,将检验中打标与启发式算法打标不一致的样本收集后加入标注语料b,并再次利用初始判别模型迭代训练标注语料b,获取新的最终的判别模型。
32.本发明的有益效果是:1、实现了在无标注语句条件下,对语句句型进行判别的结果,基于业务逻辑和语言学特征的规则构建,不需要参与者同时拥有业务能力和机器学习算法基础,业务人员和开发人员配合难度低,主动学习所产生的交互裁决样本规模小,人工标注成本低。2、该方法适用于其他没有标注数据的细分领域,可以训练出满足应用要求的自动判别模型,具有很强的推广性,不同的应用场景下的差异主要在于算法所使用的特征不同。
附图说明
33.图1是本发明实施例中判别方法的原理流程图。
具体实施方式
34.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。
35.实施例一
36.如图1所示,本实施例中,提供了一种无标注语料下的句型自动判别方法,包括如下步骤,
37.s1、将无标注语料数据和业务规则输入启发式判别算法,获取标注语料a;
38.s2、将标注语料a输入一致性判别算法,获取标注语料b;
39.s3、将标注语料a和标注语料b输入偏向性训练算法,获取最终的判别模型。
40.该方法3个阶段的算法,算法1(启发式判别算法)的输入是无标注语句数据,输出标注语料a,算法2(一致性判别算法)的输入是标注语料a,输出标注语料b,算法3(偏向性训练算法)的输入是标注语料a和标注语料b,输出最终的判别结果。3个算法实现了在无标注语句条件下,对语句句型进行判别的结果,可视为主动学习的过程,下面分别针对这三个算法进行解释:
41.1、启发式判别算法。通过对细分领域中最常见业务逻辑进行建模,形成少量判别规则,即少量业务规则;例如判别索联是否成功时,业务人员总结的识别联系方式的正则表达式,再如判别项目、主题时,业务人员提供的关键词列表,算法一并将其转化为基于正则表达的规则。因为业务规则依靠人工总结,总量较少,故为“少量业务规则”,其作用为,保证判别结果有极低的假阳性(false positive),用于引导后续机器学习算法的计算方向。相较于机器学习算法,常见业务逻辑由人工总结而成,因此它缺少细节和缺乏量化能力,形成的规则只能用作定性分析,因此涉及的特征少(在句型判别中,采用少量语言学特征),不会产生过度拟合的分类边界,为后续机器学习算法留出充足的优化空间,而且很容易保证判别结果有极低的假阳性。该算法对无标注语料数据进行判别,产生标注语料a。
42.2、一致性判别算法。该算法采用机器学习中的语言统计特征,从语言模型产生特征(如tfidf、bert等),根据标注语料a训练拟合度相对低的线性分类模型(如linearsvc),因为该算法的目的是判断统计一致性,所以单纯提高训练准确度(acc),直到收敛。相较拟合度高的非线性模型,采用线性分类模型可以缓解提高训练acc时产生的过度拟合问题,可以在判断一致性时有更大的容忍度,训练得到的假阴性(false negative,即算法判别为负样本,而人工标记为正样本)和假阳性(false positive,即算法判别为正样本,而人工标记为负样本)样本经采样(一般采用均匀分布采样)作为主动学习样例交由人工打标,打标后获得标注语料b。
43.3、偏向性训练算法(模型类型不限,可以是任意判别模型,如linearsvc或者sigmoid函数作为激活函数的dnn)。该算法以学习标注语料a为基础,并保证完全学会标注语料b。由算法1产生的标注语料a规模相对较大但质量相对低,由算法2产生的标注语料b规模较小质量较高,算法3先学习标注语料a,迭代训练中,训练acc(准确度)出现由高到低的
波动后停止回退至较高的训练状态,然后学习标注语料b,当训练acc变化出现停滞时,通过超采样(super sampling)扩大规模,直至训练acc在极大值收敛停止训练,获得最终的判别模型c。
44.最终的判别模型c投入使用后,对无标注语料数据进行自动打标,人工可对其打标结果进行预设比例(1%)的均匀抽样检验(当检验acc低于收敛停止时的训练acc的5%时,抽检比例可以扩大),将检验中错误的样本(打标与启发式算法打标不一致的样本)收集后加入标注语料b,再次利用初始判别模型迭代训练标注语料b,获取新的最终的判别模型c。其中,1%和5%属于统计过程中经验性显著等级阈值,可根据业务或客户体验进行调整。
45.实施例二
46.上述三个算法顺序级联后实现的是主动学习过程,在句型判别中,以疑问句为例,详细说明上述三个算法的具体执行过程。
47.一、启发式判别算法
48.该部分对应步骤s1,具体包括如下内容,
49.s11、利用业务规则对无标注语料进行业务标记;具体的:首先利用业务规则对无标注语料做业务标记,比如业务相关信息的判断。业务相关信息包括联系方式(如手机号、邮箱地址、qq号、微信号)、业务行为(如索联行为、引导应答行为、一般应答行为)、项目信息(如教育、医疗科目)、访客行为(如咨询价格、条件、时间、地点或确认)。
50.无标注语料的句型一般包括陈述句、一般疑问句、正反疑问句、疑问代词疑问句、选择疑问句等几种类型。比如,在疑问句判别的案例中,业务规则由少量判断疑问句的正则表达式和关键词匹配规则组成。业务规则的作用是为算法1提供少量打标样本(正样本),为语言学特征分析提供样例。业务规则一般由业务人员手工创建,可借助一定的统计方法。
51.s12、根据业务标记后的无标注语料的语言学特征,将由中心语、语法角色、语义角色、关联项以及排除项组成的多元组作为一条模式规则;
52.s13、启发式判别算法根据多元组构成的模式规则对业务标记后且特征化后的无标注语料进行打标,获取标注语料a。
53.其中,多元组生成过程如下,
54.将无标注语料通过语言学分析算法进行特征化:语言学分析算法将无标注语料分解为词间依存关系的多个三元组后,将无标注语料对应的关系类型根据三元组中父节点索引生成图结构;所述三元组包括当前词的节点索引、父节点词索引以及当前词与父节点词的关系类型。
55.利用图结构生成多元组:语言学分析算法在图结构上进行搜索,找到频繁项的父、子节点对应的词性和类型,并将频繁项的词性和类型、父节点类型、子节点的类型、频繁项在无标注语句中邻接词按照既定顺序组成多元组。
56.语言学分析算法在图结构上进行搜索具体为,延图的拓扑路径进行广度优先匹配或深度优先匹配,以获取频繁项;
57.所述广度优先匹配具体为:以当前节点为始,枚举搜索其邻接节点(父、子节点)后,再以这些邻接节点(父、子节点)为始,枚举搜索这些邻接节点(父、子节点)的邻接节点(父、子节点),达到当前节点的最大深度后,统计频繁项;
58.所述深度优先匹配具体为:以当前节点为始,随机搜索其一个邻接节点(父、子节
点),并以该邻接节点(父、子节点)为始,进一步随机搜索其一个邻接节点(父、子节点),达到当前节点的最大深度后,统计频繁项。
59.当当前节点的最大深度(拓扑距离)与预设深度相等时,广度优先匹配和深度优先匹配获取的频繁项一致。预设深度可以根据实际情况进行设定,以便更好的满足实际需求。
60.频繁项指频繁出现的元组,首先统计元组出现频次,然后按比例选择高频项,经验上选择前1%至5%的高频项(一般先以频次组成的经验分布拟合参数化分布函数,如对数正态分布、帕累托分布,然后以1%至5%分位数为频繁项选取阈值,测试并观察效果)。
61.算法1根据4类疑问句(一般、选择、特殊和反意)的语言学特征,由中心语、语法角色、语义角色及关联项(依存关系中的父子节点)、排除项组成的多元组比如,在一般疑问句中多元组“('吗','rad','mdepd','vob')”或在特殊疑问句中多元组(“('几','att','meas','vob','meas',['那么'])”),作为一条模式规则。其中列表['那么']为排除项,即前项匹配后,如果排除项也匹配,则视为该多元组整体所代表的规则未匹配。例如,语句“学习需要几天”匹配前项,且没有匹配排除项,因此语句匹配该条特殊疑问句规则,而语句“学习需要那么几天”匹配前项,而且匹配排除项,因此语句不匹配该条特殊疑问句规则。
[0062]
多元组生成过程分两步:1.1、语句通过语言学分析算法(即ltp语言技术平台)特征化。ltp会将句子分解为词间依存关系的多个三元组,比如(1,2,meas),其中“1”表示当前词的节点索引,“2”表示其父节点词索引,“meas”表示当前词与父节点词的关系类型后,将特征与其依存关系生成图结构,(特征指句子对应的一组关系类型,根据三元组中的父节点索引生成图结构。)1.2、陈述句和疑问句在关系类型和结构上存在统计差异(陈述句中不常出现的词及关系类型,而疑问句中常出现),统计计算后将疑问句频繁项(词和关系类型)找出,语言学分析算法在图结构上进行搜索(延图的拓补路径进行广度优先或深度优先匹配),找到频繁项的父、子节点对应的词性和类型,按既定顺序(频繁项词性和类型,父节点类型,子节点类型,频繁项在陈述句中邻接词等)组成上述多元组。
[0063]
算法1根据多元组构成的模式规则对特征化后(ltp特征化后)的无标注语料数据进行打标,产生的标记和原句组成标注语料a。
[0064]
词性和类型是指ltp(语言技术平台)使用的863词性标注集;语法角色是指ltp(语言技术平台)使用的句法关系;语义角色是指ltp(语言技术平台)使用的语义角色类型。
[0065]
二、一致性判别算法
[0066]
该部分对应步骤s2,具体包括如下内容,
[0067]
s21、基于统计机器学习中的语言模型、基于词构建词集合向量或基于字和预训练深度模型的实数句向量,对标注样本a进行特征化;
[0068]
s22、利用特征化后的标注样本a迭代训练机器学习模型,将每轮训练后打标与启发式判别算法打标不一致的样本进行超采样生成下轮训练样本,直到训练的准确度出现下降趋势后,停止训练,获取训练好的机器学习模型;
[0069]
s23、将训练得到的假阴性样本和假阳性样本经过均匀分布采样后作为主动学习样本交由人工打标,获取标注样本b;
[0070]
假阴性样本即为,训练好的机器学习模型打标为负样本且人工标记为正样本的样本;
[0071]
假阳性样本即为,训练好的机器学习模型打标为正样本且人工标记为负样本的样
本。
[0072]
算法2首先基于统计机器学习中的语言模型、基于词构建词集合向量或基于字和预训练深度模型的实数句向量,对标注语料a进行特征化。
[0073]
然后利用特征化后的标注语料a迭代训练拟合度不高的统计机器学习模型(如线性判别模型中的linearsvc),模型控制迭代训练时,将每轮训练校验误差样本(训练后测试与算法1打标不一致的样本)进行超采样(存在误差的样本为总体,在总体上进行放回式均匀采样,采样量=误差样本量
×
迭代轮数)生成下轮训练样本a ,直到训练acc由上升变为下降(即上一轮训练acc大于当前轮训练acc)时,训练完成,获取训练好的机器学习模型;利用训练好的机器学习模型判断标注语料a中的疑问句类型,找到与算法1标注的不一致(实际为统计不一致)的样本,即自动判别出的错误案例(bad case)作为主动学习样本,将主动学习样本交由人工打标,获取标注语料b。
[0074]
三、偏向性训练算法
[0075]
该部分对应步骤s3,具体包括如下内容,
[0076]
s31、利用偏向性训练算法迭代训练标注语料a,将每轮迭代中没有被正确判别的样本进行超采样生成下轮训练样本,直到训练的准确度出现下降趋势后,停止训练标注语料a;输出初始判别模型;
[0077]
s32、利用初始判别模型迭代训练标注语料b,将每轮迭代中没有被正确判别的样本进行超采样生成下轮训练样本,直到训练的准确度出现震荡后,停止训练标注样本b;输出最终的判别模型。
[0078]
所述偏向性训练算法为linearsvc或sigmoid函数作为激活函数的dnn。
[0079]
算法3学习算法1和算法2产生的全部语料,首先迭代学习标注语料a,将每轮没有拟合(即训练中没有正确判别的样本)的样本进行超采样(扩大样本),提高对标注语料a中较难学习的样本的训练强度,当训练acc出现下降趋势后,停止学习标注语料a,输出初始判别模型;之后开始利用初始判别模型迭代学习标注语料b,对每轮中没有拟合的样本进行超采样,并随着迭代轮数提高超采量,当训练acc出现震荡(即多轮迭代中,训练acc围绕均值上下变化,训练acc趋势性停滞)时,视其收敛,停止学习标注语料b,此时过拟合标注语料b(通常可达到完全拟合标注语料b的效果),欠拟合标注语料a(对标注语料b的学习通常会导致对标注语料a的拟合度降低),这种学习算法偏向提高标注语料b的拟合结果,即偏向质量高(实质为统计一致性高)的语料,所训练出的模型,结合了语言学和统计机器学习两方的特征和判别效果。训练停止后,输出最终的判别模型c。
[0080]
之后即可将最终的判别模型c投入使用对无标注语下的句型进行判别。最终的判别模型c的类型一般为线性判别模型(如linearsvc)或非线性判别模型(如多层感知机、dnn等),这些类型的模型可以对向量化后的语句进行预测计算,并输出极性化的判别决策值(一般为0到1),该值可以视为该语句属于此判别类型的置信度(0%到100%)。在分类任务中,大于中间值(0.5)的样本通常判别为正例,但对于精度要求高的任务,特别是对假阳性容忍度低的任务中,判断为正例的置信度阈值可以适当上调(如0.85以上)。
[0081]
通过采用本发明公开的上述技术方案,得到了如下有益的效果:
[0082]
本发明提供了一种无标注语下的句型自动判别方法,该方法实现了在无标注语句条件下,对语句句型进行判别的结果,基于业务逻辑和语言学特征的规则构建,不需要参与
者同时拥有业务能力和机器学习算法基础,业务人员和开发人员配合难度低,主动学习所产生的交互裁决样本规模小,人工标注成本低。该方法适用于其他没有标注数据的细分领域,可以训练出满足应用要求的自动判别模型,具有很强的推广性,不同的应用场景下的差异主要在于算法所使用的特征不同。
[0083]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献