技术领域
[0001] 本发明属于智能做账技术领域,涉及一种少量样本的票据分类方法及系统。
相关背景技术
[0002] 票据系统在实际运行过程中,会接受来自各种不同公司、各个不同行业领域的票据图片,这些票据图片的票样格式各不相同,种类繁多。在系统处理之前往往需要按照票据样式进行归类,也就是说相同类型或格式的票样归为一类,不同类型的票据划归到不同的类别,如果按照传统的计算机视觉或者机器学习技术需要大量的票据图片作为训练样本来构建机器学习模型,而且这里所说的大量往往是每一类票样的图片数量都要求有几百张到几千张,在现实场景中一般是很难满足这样的要求,因为实际运行过程中,添加和支持一种新的票据样式的话,往往最多可能只有10~20几张,远远不能满足要求,所以如何在只有少量样本的情形下、快速准确实现票据图片的分类功能是一件非常重要的事情,也是该领域目前技术上的一个难点。
具体实施方式
[0044] 下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0045] 实施例一
[0046] 如图1所示,一种少量样本的票据分类方法包括
[0047] S0:构建票据样本集A,票据样本集A中的票据种类为n,n≥30,每一种票据类型的个数为m,m≥15,
[0048] A={i_j.jpg|i=1,2...n;j=1,2...m};
[0049] S1:将票据样本集A中的票据图片两两组合进行比较,形成配对票据样本集S:
[0050] S={(k1.jpg,k2.jpg,yk)|k1.jpg∈A,k2.jpg∈A}
[0051] 其中,yk为相似标签,当k1.jpg和k2.jpg为同一票据类型时,yk=0,否则yk=1;
[0052] S2:根据配对票据样本集S,构建票据图片相似度匹配模型C,包括[0053] S21:构建双路深度学习网络,包括第一路深度学习网络和第二路深度学习网路,第一路深度学习网络得到k1.jpg的二值哈希编码bk1、第二路深度学习网络得到k2.jpg的二值哈希编码bk2,
[0054] S22:根据bk1、bk2和yk的值计算双路深度学习网络的损失函数,具体为:
[0055]
[0056] 其中,α和T均属于超参数,
[0057] S23:如果L大于设定值,则修改α和T的值,重新执行步骤S21~S23,[0058] S24:如果L小于设定值,则记录步骤S23中的,并记录票据样本集A中所有票据图片的名称、票据样本集A中所有票据图片的票据类型和票据样本集A中所有票据图片的二值哈希编码,得到训练好的票据图片相似度匹配模型C;
[0059] S3:加载训练好的票据图片相似度匹配模型C,判断新加入票据图片的票据类别,具体为:
[0060] S31:按照步骤S21的方法,计算新加入票据图片的二值哈希编码,[0061] S32:分别计算新加入票据图片的二值哈希编码与票据图片相似度匹配模型C中每个票据图片的二值哈希编码之间的距离,最短距离对应的票据类型,即为新加入票据图片的类型。
[0062] 本实施例中首先构建票据样本集A,将票据样本集A中的每一张票据图片与其他任一张票据图片进行组合,形成若干对票据组合,每一对票据组合中的两张票据图片分别记为k1.jpg和k2.jpg,如果k1.jpg和k2.jpg为同一票据类型,则yk=0,否则yk=1;然后构建双路深度学习网络,分别得到k1.jpg的二值哈希编码bk1,k2.jpg的二值哈希编码bk2,其中二值哈希编码为一个多维的列向量,列向量中每个成员的取值为1或-1;按照同样的计算方式,得到若干对票据组合对应的bk1、bk2和yk;将得到的若干对bk1、bk2和yk代入损失函数L的计算公式
[0063]
[0064] 其中,α和T均属于超参数,在模型训练开始前,根据经验给定一个初始量,如果L大于设定值,则修改α和T的值,或者增加票据样本集A中的票据个数,重新计算bk1、bk2、yk和损失函数L,直到L小于设定值,则记录此时票据样本集A,并记录票据样本集A中所有票据图片的名称、票据类型和二值哈希编码,得到训练好的票据图片相似度匹配模型C;当需要判断新加入票据的票据类型时,首先通过深度学习网络计算新加入票据的二值哈希编码,计算新加入票据的二值哈希编码与票据图片相似度匹配模型C中每一个票据图片的二值哈希编码之间的距离,即两个列向量之间的距离,最短的距离对应的票据图片类型记为新加入票据的票据类型。
[0065] 本实施例中损失函数的设计是围绕二值哈希编码的距离与票据图片是否相似展开的,如果相似,yk=0,二值哈希编码距离越小则损失函数L数值越小,反之,如果不相似,yk=1,则二值哈希编码距离越大越好。L中的第一部分衡量的是票据图片相似情况下,二值哈希编码距离约小则损失函数L越小,第二部分是在票据图片不相似的情况下,二值哈希编码距离超过门限T则认为能很好的分开两张不相似的票据图片,这时损失函数L降为0,第三部分为二值哈希编码的损失,也就是说约束bk1,bk2中的每一个元素取值为1或者-1。
[0066] 本实施例通过构建票据图片相似度匹配模型C,在少量样本的情况下,也能实现快速准确的票据分类。
[0067] 进一步,步骤S21包括
[0068] S211:通过第一路深度学习网络中的卷积层和池化层,提取图片k1.jpg的特征,通过第二路深度学习网络中的卷积层和池化层,提取票据图片k2.jpg的特征,[0069] S212:通过第一路深度学习网络中的全连接层17,将得到的k1.jpg的特征映射到一个二值哈希编码bk1输出,同时通过第二路深度学习网络中的全连接层17,将得到的k2.jpg的特征映射到一个二值哈希编码bk2输出。
[0070] 如图3所示,卷积层和和池化层的结构依次为:卷积层一11(5×5×32/1)、最大池化层12(3×3×32/2)、卷积层二13(5×5×32/1)、平均池化层一14(3×3×32/2)、卷积层三15(5×5×64/1)和平均池化层二16(3×3×64/2)。
[0071] 进一步,步骤S23中,如果L大于设定值,则增加票据样本集A中的n或m,重新执行步骤S21~S23。
[0072] 本实施例中在训练票据图片相似度匹配模型C时,如果损失函数L的值大于设定值时,可以修改α和T的值,也可以增加票据样本集A中的票据种类和票据个数,重新计算损失函数L的值,直到损失函数L的值达到设定范围。
[0073] 实施例二
[0074] 基于与实施例一相同的发明构思,本实施例提出了一种少量样本的票据分类系统,包括
[0075] 第一获得单元21,用于获得票据图片,构建票据样本集A;
[0076] 第一计算单元22,用于构建双路深度学习网络,并计算票据图片的二值哈希编码;
[0077] 第二计算单元23,用于计算双路深度学习网络的损失函数;
[0078] 第一判断单元24,用于判断票据图片相似度模型的训练是否完成;
[0079] 第三计算单元25,用于计算新加入票据图片的二值哈希编码;
[0080] 第四计算单元26,用于计算新加入票据图片的二值哈希编码与票据图片相似度匹配模型C中每个票据图片的二值哈希编码之间的距离;
[0081] 第一比较单元27,用于得到最短距离,最短距离对应的票据类型,即为新加入票据图片的类型。
[0082] 以上仅为本实施例的较佳实施例而已,并不用以限制本实施例,凡在本实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本实施例的保护范围之内。