本发明涉及数据处理技术领域,尤其涉及一种条目分类方法及装置。
背景技术:
目前的条目分类方法是在文字区域检测、文字识别后,针对条目区域内的文本进行基于语义的识别,以确定条目所属的类别。其中,基于语义的识别可以包括使用人工规则进行条目类别的识别。比如,针对名片上的条目进行识别时,根据这些条目的内容来判断这些条目分别属于哪个类别,例如,姓名、公司、电话、地址等类别。
然而,使用人工规则进行语义识别具有一定的局限性,一方面耗费大量的时间设定规则和阈值等,导致迭代优化速度较慢;另一方面,人为定义的规则使用范围小,泛化性差。另外,由于ocr(opticalcharacterrecognition,光学字符识别)存在一定的错误,导致文字检测和识别结果含有噪声,容易出现误判,条目的分类准确率较低。
技术实现要素:
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本申请实施例提供一种条目分类方法及装置,能够提高条目的分类识别准确率。
本申请实施例提供一种条目分类方法,包括:
获取目标对象的条目的低阶特征,所述低阶特征包括所述条目自身的特征;
获取所述条目的高阶特征,所述高阶特征表示所述条目与所述目标对象的其他条目之间的关系;
根据所述条目的低阶特征和高阶特征,确定所述条目所属的类别。
在示例性实施方式中,所述低阶特征可以包括以下至少之一:空间特征、文本特征、语义特征、语义分类结果。
在示例性实施方式中,所述获取目标对象的条目的低阶特征,可以包括:采用基于机器学习的第一分类器,获取所述条目的语义特征和语义分类结果。
在示例性实施方式中,所述第一分类器可以包括:快速文本分类器。
在示例性实施方式中,所述高阶特征可以包括以下至少之一:所述条目在所述目标对象的全局特征、所述条目的邻域特征。
在示例性实施方式中,所述获取所述条目的高阶特征,可以包括以下至少之一:
根据所述条目的低阶特征以及所述目标对象的其他条目的低阶特征,获取所述条目的全局特征;
根据所述条目的低阶特征以及与所述条目相邻的一个或多个条目的低阶特征,获取所述条目的邻域特征。
在示例性实施方式中,所述根据所述条目的低阶特征和高阶特征,确定所述条目所属的类别,可以包括:
将所述条目的低阶特征和高阶特征拼接形成所述条目的总特征;
根据所述条目的总特征输入基于机器学习的第二分类器的输出结果,确定所述条目所属的类别。
本申请实施例还提供一种条目分类装置,包括:
第一获取模块,适于获取目标对象的条目的低阶特征,其中,所述低阶特征包括所述条目自身的特征;
第二获取模块,适于获取所述条目的高阶特征,其中,所述高阶特征表示所述条目与所述目标对象的其他条目之间的关系;
处理模块,适于根据所述条目的低阶特征和高阶特征,确定所述条目所属的类别。
在示例性实施方式中,所述低阶特征可以包括以下至少之一:空间特征、文本特征、语义特征、语义分类结果;所述高阶特征可以包括以下至少之一:所述条目在所述目标对象的全局特征、所述条目的邻域特征。
本申请实施例还提供一种计算设备,包括:存储器以及处理器;其中,所述存储器用于存储条目分类程序,所述条目分类程序被所述处理器读取执行时,执行以下操作:
获取目标对象的条目的低阶特征,所述低阶特征包括所述条目自身的特征;获取所述条目的高阶特征,所述高阶特征表示所述条目与所述目标对象的其他条目之间的关系;根据所述条目的低阶特征和高阶特征,确定所述条目所属的类别。
本申请实施例还提供一种计算机可读介质,存储有条目分类程序,所述条目分类程序被处理器读取执行时,执行以下操作:
获取目标对象的条目的低阶特征,所述低阶特征包括所述条目自身的特征;获取所述条目的高阶特征,所述高阶特征表示所述条目与所述目标对象的其他条目的关系;根据所述条目的低阶特征和高阶特征,确定所述条目所属的类别。
在本申请实施例中,获取目标对象的条目的低阶特征,低阶特征包括该条目自身的特征;获取该条目的高阶特征,高阶特征表示该条目与目标对象的其他条目之间的关系;根据该条目的低阶特征和高阶特征,确定该条目所属的类别。本申请通过条目自身的低阶特征和与其他条目相关的高阶特征的组合,确定条目所属的类别,从而提高条目的分类识别准确率。
而且,本申请通过基于机器学习的第一分类器和第二分类器进行条目的类别判断,减少了人为规则的使用,能够在新数据的驱动下,以极小的人力成本驱动分类器的迭代优化。
在阅读并理解了附图和详细描述后,可以明白其他方面。
附图说明
图1为本申请实施例提供的条目分类方法的流程图;
图2为fasttext分类器的语义分类示例图;
图3为随机森林分类器的一种决策树分类器的示意图;
图4为本申请实施例提供的条目分类方法的示例性分类架构图;
图5为本申请实施例提供的条目分类装置的示意图。
具体实施方式
以下结合附图对本申请实施例进行详细说明,应当理解,以下所说明的实施例仅用于说明和解释本申请,并不用于限定本申请。
需要说明的是,如果不冲突,本申请实施例以及实施例中的各个特征可以相互结合,均在本申请的保护范围之内。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
一些实施方式中,执行条目分类方法的计算设备可包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存(memory)。
内存可能包括计算机可读介质中的非永久性存储器、随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。内存可能包括模块1,模块2,……,模块n(n为大于2的整数)。
计算机可读介质包括永久性和非永久性、可移动和非可移动存储介质。存储介质可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom),快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
图1为本申请实施例提供的条目分类方法的流程图。本实施例提供的条目分类方法可以用于识别名片上的条目所属的类别,其中,类别可以包括姓名、电话、地址、公司名称等。然而,本申请对此并不限定。本实施例提供的条目分类方法还可以用于识别车票(例如,汽车票、火车票、飞机票等)或证件(例如,身份证等)上的条目所属的类别,比如,类别可以包括姓名、发车时间、上车地点、座位信息等。
如图1所示,本实施例提供的条目分类方法,包括以下步骤:
s101、获取目标对象的条目的低阶特征;其中,低阶特征包括该条目自身的特征;
s102、获取条目的高阶特征;其中,高阶特征表示该条目与目标对象的其他条目之间的关系;
s103、根据条目的低阶特征和高阶特征,确定该条目所属的类别。
在本实施例中,目标对象可以包括:名片、车票、证件等。然而,本申请对此并不限定。其中,在对目标对象进行文字检测和识别后,将检测到的一段连续文本(即一段没有空格的文本)确定为一个条目;在目标对象中可以识别到一个或多个条目,针对每个条目可以采用本实施例提供的条目分类方法来确定条目所属的类别。
本实施例提供的条目分类方法可以由计算设备执行,比如,客户端计算设备,或者,服务端计算设备。然而,本申请对此并不限定。
本实施例中,低阶特征可以从不同方面反映一个条目自身的特征,用以和其他条目进行区分。示例性地,低阶特征可以包括以下至少之一:空间特征、文本特征、语义特征、语义分类结果。
其中,一个条目的空间特征和文本特征可以通过人为设定的特征规则进行提取。比如,空间特征可以包括以下至少之一:条目的高度、条目的宽度、条目内每个字符的高度与条目高度之比的平均值。比如,文本特征可以包括以下至少之一:条目的总字数、条目中是否包括11位数字、条目的开头字符是否为百家姓。
其中,一个条目的语义特征和语义分类结果可以采用基于机器学习的第一分类器得到。示例性地,第一分类器可以包括:快速文本(fasttext)分类器。然而,本申请对此并不限定。第一分类器,除了可以是fasttext分类器外,也可以是其它分类器。
其中,基于深度学习的fasttext分类器的表达式如下:
y=softmax(wtg(x)+b);x∈rn,y∈rc;
其中,g(x)为词嵌入模型,可以将一个词映射成k维的向量;然后,fasttext分类器可以将一个文本中所有的词对应的词向量相加求平均,作为输入送入神经网络,最后通过一个softmax层进行输出,输出为c维向量,c维向量表示该文本属于c个类别的概率,c维向量中的每个值为该文本属于一个类别的概率值,每个概率值的取值范围为0至1。
图2为fasttext分类器的语义分类示例图。如图2所示,以一个条目“浙江省杭州市余杭区文一西路969号”为例进行说明。将该条目的文本中每个字作为单位(即看成一个词),同时加入n-gram表示(于此,加入了2-gram、3-gram),把每个词进行词嵌入,获取每个词对应的k维词向量。换言之,对该条目中的每个字、连续的两个字(比如,浙江、江省等)、连续的三个字(比如,浙江省、江省杭、省杭州等)分别看成一个词进行词嵌入,获取每个词对应的k维词向量。然后,将得到的这些词向量进行相加求平均,得到的词向量平均结果作为输入送入隐藏层,隐藏层通过一个softmax层(对应图2中的输出层)进行输出,输出为c维向量,即该条目属于c个类别的概率。其中,通过fasttext分类器输出的c维向量为该条目的语义分类结果,输入fasttext分类器的隐藏层的词向量平均结果则为该条目的语义特征。
本实施例中,高阶特征可以从不同方面反映一个条目在目标对象内的全局特征和邻域特征中的至少之一。示例性地,高阶特征可以包括以下至少之一:条目在目标对象的全局特征、邻域特征。
其中,邻域特征可以包括一个条目的相邻条目的自身特征信息以及该条目与相邻条目之间的关联信息等;比如,该条目的左边条目的空间特征或语义特征、该条目的上方一个或多个条目的空间特征或文本特征、该条目与右边条目之间的距离信息等。
其中,全局特征可以反映一个条目在目标对象内的一个全局情况。比如,该条目的高度在目标对象内所有条目的高度中的排名、该条目属于姓名的概率在目标对象内全部条目分别属于姓名的概率中的排名等。
示例性地,s102可以包括以下至少之一:
根据条目的低阶特征以及目标对象的其他条目的低阶特征,获取该条目的全局特征;
根据该条目的低阶特征以及与该条目相邻的一个或多个条目的低阶特征,获取该条目的邻域特征。
示例性地,s103可以包括:
将一个条目的低阶特征和高阶特征拼接形成该条目的总特征;
根据该条目的总特征输入基于机器学习的第二分类器的输出结果,确定该条目所属的类别。
示例性地,第二分类器可以为多分类器,比如,随机森林分类器、gbdt(gradientboostingdecisiontree,梯度提升决策树)分类器。其中,随机森林分类器采用了boosting的思想,由若干个决策树分类器构成,随机森林分类器最终的分类得分由所有决策树分类器各自的分类结果投票决定。每个决策树分类器是一种树形结构,其中,每个内部节点表示一个属性上的测试,每个分支代表一个测试输出,每个叶节点代表一种类别。
图3为随机森林分类器的一种决策树分类器的示意图。如图3所示,每个节点内的数字表示对应样本的数量。在判断一个孩子是否要出去玩耍时,如果天气是晴天,且潮湿度小于或等于70,则可以获知出去玩耍的样本数量为2,休息的样本数量为0,则该条件下玩耍的概率为100%,由此判断这个孩子会去玩耍。
本实施例中,一个条目的总特征中低阶特征和高阶特征的拼接顺序并不限定。只要确保目标对象的每个条目的总特征中低阶特征和高阶特征的拼接顺序一致即可。
下面参照图4对本申请进行举例说明。
图4为本申请实施例提供的条目分类方法的示例性分类架构图。如图4所示,本实施例中,一个条目的低阶特征可以包括:基础特征、语义特征以及语义分类结果;其中,基础特征可以包括空间特征和文本特征;语义特征和语义分类结果通过语义分类处理得到。一个条目的高阶特征可以包括:邻域特征和全局特征。本实施例中,一个条目的总特征可以由基础特征、语义特征、邻域特征以及全局特征拼接得到。
如图4所示,本实施例的条目分类方法通过两层分类架构实现,每一层分类采取特征抽取、分类器分类的结构。其中,第一层分类针对每个条目提取基础特征,利用文本信息进行一个语义分类;第二层分类针对每个条目、条目与条目之间的信息来提取特征,进行全局的多分类。
在第一层分类过程中,可以采用基于深度神经网络的fasttext分类器,仅利用条目的文本信息来判断当前条目可能是什么类别。在第二层分类过程中,将当前条目的文本特征、空间特征,以及其邻域条目的语义分类结果、空间特征组合起来,形成一个描述当前条目的高维特征,这个高维特征不仅仅包含局部的条目信息,还包含邻域条目信息以及全局信息,然后,将条目的高维特征输入随机森林分类器,进行全局多分类;最后对随机森林分类器的输出结果进行后处理,比如,可以利用一些先验知识,对输出结果进行验证,从而改善分类结果,提高分类准确率。例如,根据随机森林分类器的输出结果确定一个条目的类别为电话,则可以检测该条目是否以数字开头,且包括一定个数的数字,从而验证该条目的类别是否为电话;或者,根据随机森林分类器的输出结果确定一个条目的类别为姓名,则可以检测该条目的首个字符是否属于百家姓,从而验证该条目的类别是否为姓名。
需要说明的是,针对样本条目,也可以采用上述的方式得到每个样本条目的总特征,并利用样本条目的总特征作为训练数据,训练随机森林分类器。
图5为本申请实施例提供的条目分类装置的示意图。如图5所示,本实施例提供的条目分类装置,包括:
第一获取模块501,适于获取目标对象的条目的低阶特征,其中,低阶特征包括该条目自身的特征;
第二获取模块502,适于获取该条目的高阶特征,其中,高阶特征表示该条目与目标对象的其他条目之间的关系;
处理模块503,适于根据该条目的低阶特征和高阶特征,确定该条目所属的类别。
其中,低阶特征可以包括以下至少之一:空间特征、文本特征、语义特征、语义分类结果;高阶特征可以包括以下至少之一:条目在目标对象的全局特征、条目的邻域特征。
在示例性实施方式中,第一获取模块501可以适于通过以下方式获取目标对象的条目的低阶特征:采用基于机器学习的第一分类器,获取条目的语义特征和语义分类结果。示例性地,第一分类器可以包括:快速文本分类器。
在示例性实施方式中,第二获取模块502可以适于通过以下至少之一方式获取条目的高阶特征:
根据一个条目的低阶特征以及目标对象的其他条目的低阶特征,获取该条目的全局特征;
根据一个条目的低阶特征以及与该条目相邻的一个或多个条目的低阶特征,获取该条目的邻域特征。
在示例性实施方式中,处理模块503适于通过以下方式根据条目的低阶特征和高阶特征,确定该条目所属的类别:
将一个条目的低阶特征和高阶特征拼接形成该条目的总特征;
根据该条目的总特征输入基于机器学习的第二分类器的输出结果,确定该条目所属的类别。
示例性地,第二分类器可以为多分类器,比如,随机森林分类器、gbdt分类器。
另外,关于本实施例提供的条目分类装置的相关说明可以参照上述的方法实施例的描述,故于此不再赘述。
此外,本申请实施例还提供一种计算设备,包括:存储器以及处理器;其中,存储器用于存储条目分类程序,该条目分类程序被处理器读取执行时,执行上述条目分类方法的步骤。
此外,本申请实施例还提供一种计算机可读存储介质,存储有条目分类程序,该条目分类程序被处理器执行时实现上述条目分类方法的步骤。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块或单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块或单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上显示和描述了本申请的基本原理和主要特征和本申请的优点。本申请不受上述实施例的限制,上述实施例和说明书中描述的只是说明本申请的原理,在不脱离本申请精神和范围的前提下,本申请还会有各种变化和改进,这些变化和改进都落入要求保护的本申请范围内。