本申请涉及电子技术领域,尤其涉及一种文本类标训练方法和识别方法、相关装置及存储介质。
背景技术:
文本分类在包括金融、新闻、社交网络等等领域都有着十分广泛的应用。目前的文本数据中包含多种类型,例如众多网络媒体的文章、社交媒体的评论与文章数据以及法律领域的裁判文书等等,其存在形式往往为短文本,有着关键信息少,噪声多的特点。
文本分类的定义是按照预先拟定的类别,按照每个类别对应的规则来将未知类别多文档进行归类的过程。最早使用文本分类这一概念的是maron,采用了朴素贝叶斯公式来进行分类,这是发展的第一阶段。到了第二阶段,主要是采用基于规则的方法来建立文本分类器。直到第三阶段,机器学习和统计学习方法的出现为文本分类提供了新的思路,补充了之前基于规则分类的不足之处。目前,文本分类已经应用到多种语言和多种领域,中文领域也是如此。新闻分类、文摘提取等诸多领域也开始使用文本分类来进行工作。
经典统计文本分类方法基于众所周知的机器学习模型,例如生成模型例如朴素贝叶斯或支持向量机等判别模型。它们主要考虑文档的单词表示(单词或句子的顺序丢失),并尝试通过查看整个文档内容来计算类别分数。
这些方法考虑了文档的整个单词集,以决定它所属的类别。基本假设是类别信息均匀的分散在文档内部。这非常适用于文档很短,噪声很小的语料库,因此全局词频可以很容易地与主题相关联。然而,这些方法不能很好地预测大型文档的类别,其中主题信息仅集中在几个句子中。另外,为了使这些方法适用,必须在分类时知道整个文件。在与获取文本信息相关的成本的情况下,考虑整个文档的方法不能被有效或可靠地应用,因为我们不知道文本包含几个类标信息,也不知道文本的哪几句话对应哪一个类标。
技术实现要素:
本申请实施例提供一种文本类标训练方法和识别方法、相关装置及存储介质,用于进行准确的文本类标识别。
本申请实施例第一方面提供一种文本类标训练方法,包括:
获取第一文本和第二文本,所述第一文本为目标类标的正例样本,所述第二文本为目标类标的负例样本;
分别对所述第一文本和所述第二文本进行文本向量化处理,分别得到第一文本向量和第二文本向量;所述文本向量化处理是根据文本中特征词的词向量和词频进行的;
根据所述第一文本向量和所述第二文本向量训练文本类标分类器。
进一步地,所述进行文本向量化处理,包括:
在语料库中选择n个目标词构成目标词典,所述n为大于零的整数;
以所述目标词典中的目标词作为特征词进行训练,获得所述特征词的词向量;
根据文本中特征词的词频以及特征词的词向量,将文本向量化表示。
进一步地,所述根据文本中特征词的词频以及特征词的词向量,将文本向量化表示,包括:
将所述特征词的词频乘以所述特征词的词向量,得到新向量;
将文本中包含的各个特征词对应的新向量相加,得到文本对应的文本向量。
本申请实施例第二方面提供一种文本类标识别方法,包括:
获取目标文本,根据标点符号对所述目标文本进行断句,切割成多个句子形成句子序列;
依次将所述句子序列中的一个句子输入至文本类标分类器集合进行匹配识别,所述文本类标分类器集合包含有至少两个文本类标分类器,所述文本类标分类器根据第一文本向量和第二文本向量训练得到,所述所述第一文本向量为目标类标的正例样本对应的文本向量,所述第二文本为目标类标的负例样本对应的文本向量。
进一步地,所述文本类标分类器集合包括:第一文本类标分类器和第二文本类标分类器;所述第一文本类标分类器和所述第二文本类标分类器分别对应第一类标和第二类标;
所述依次将所述句子序列中的一个句子输入至文本类标分类器集合进行匹配识别,包括:
将所述句子序列中的一个句子输入至第一文本类标分类器中进行匹配识别,若匹配成功,则所述句子对应所述第一类标;若匹配不成功,则将所述句子输入至第二文本类标分类器中进行匹配识别,则所述句子对应所述第二类标;若匹配不成功,则将所述句子输入至下一个文本类标分类器,若所述文本类标分类器集合中所有文本类标分类器都匹配不成功,则将所述句子重置。
进一步地,所述将所述句子重置,包括:
将所述句子与所述句子序列中的下一个句子进行合并,得到新句子;
所述将所述句子重置之后,包括:
将所述新句子输入至所述文本类标分类器集合进行匹配识别。
本申请实施例第三方面提供文本类标训练装置,包括:
文本获取单元,用于获取第一文本和第二文本,所述第一文本为目标类标的正例样本,所述第二文本为目标类标的负例样本;
向量化处理单元,用于分别对所述第一文本和所述第二文本进行文本向量化处理,分别得到第一文本向量和第二文本向量;所述文本向量化处理是根据文本中特征词的词向量和词频进行的;
训练单元,用于根据所述第一文本向量和所述第二文本向量训练文本类标分类器。
本申请实施例第四方面提供文本类标识别装置,包括:
文本处理单元,用于获取目标文本,根据标点符号对所述目标文本进行断句,切割成多个句子形成句子序列;
匹配识别单元,用于依次将所述句子序列中的一个句子输入至文本类标分类器集合进行匹配识别,所述文本类标分类器集合包含有至少两个文本类标分类器,所述文本类标分类器根据第一文本向量和第二文本向量训练得到,所述所述第一文本向量为目标类标的正例样本对应的文本向量,所述第二文本为目标类标的负例样本对应的文本向量。
本申请实施例第五方面提供另一种电子装置,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述本申请实施例第一方面提供的文本类标训练方法。
本申请实施例第六方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现上述本申请实施例第一方面提供的文本类标训练方法。
由上可见,本申请方案先获取第一文本和第二文本,再分别对所述第一文本和所述第二文本进行文本向量化处理,分别得到第一文本向量和第二文本向量,最后根据正例样本对应的第一文本向量和福例样本对应的第二文本向量训练文本类标分类器,由于用于训练的文本向量体现了文本中特征词的词向量和词频信息,因此,能够准确地对文本进行类标识别。
附图说明
图1-a为本申请实施例提供的文本类标训练方法的实现流程示意图;
图1-b为本申请实施例提供的文本类标识别方法的实现流程示意图;
图1-c为本申请实施例提供的文本类标识别方法的应用示意图;
图2为本申请一实施例提供的文本类标训练装置结构示意图;
图3为本申请一实施例提供的文本类标识别装置结构示意图;
图4为本申请另一实施例提供的电子装置硬件结构示意图。
具体实施方式
为使得本申请的发明目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而非全部实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本文中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。
实施例一
本申请实施例提供一种文本类标训练方法和识别方法、相关装置及存储介质,用于进行准确的文本类标识别。
请参阅图1-a,该文本类标训练方法主要包括以下步骤:
101、获取第一文本和第二文本;
获取第一文本和第二文本,所述第一文本为目标类标的正例样本,所述第二文本为目标类标的负例样本。
具体的,在本发明实施例中,在获得第一文本或第二文本后,可以对相应文本进行文本预处理。如,先对文本进行进行噪音信息替换(如,人名、地名、日期、金钱等),使用正则匹配替换文本里的人名、地名、日期、金钱等。然后,进行中文分词,并去除停用词。
示例性的,停用词是指在信息检索中,为节省存储空间和提高搜索效率,在处理自然语言数据(或文本)之前或之后会自动过滤掉某些字或词,这些字或词即被称为stopwords(停用词)。这些停用词都是人工输入、非自动化生成的,生成后的停用词会形成一个停用词表。
102、分别对所述第一文本和所述第二文本进行文本向量化处理;
分别对所述第一文本和所述第二文本进行文本向量化处理,分别得到第一文本向量和第二文本向量;所述文本向量化处理是根据文本中特征词的词向量和词频进行的。
具体的,在本发明实施例中,文本向量化处理可以为:
1、在语料库中选择n个目标词构成目标词典,所述n为大于零的整数;目标词为文本中选择出来的需要的词。
2、以所述目标词典中的目标词作为特征词进行训练,获得所述特征词的词向量。词向量(wordembedding),又叫word嵌入式自然语言处理中的一组语言建模和特征学习技术的统称,其中来自词汇表的单词或短语被映射到实数的向量。从概念上讲,它涉及从每个单词一维的空间到具有更低维度的连续向量空间的数学嵌入。生成这种映射的方法包括神经网络,单词共生矩阵的降维,概率模型,可解释的知识库方法,和术语的显式表示单词出现的背景。
示例性的,可以通过开源工具word2vec训练特征词的词向量。
3、根据文本中特征词的词频以及特征词的词向量,将文本向量化表示。
示例性的,所述特征词的词频是目标文本中特征词在语料库中统计出的词频。目标词典是根据语料库构建的,目标文本中特征词是根据目标词典筛选出的。目标文本经过中文分词后得到一个词语集合,这个集合中的词语若能在目标词典中找到,即为特征词,根据此得到了目标文本的特征词集合,目标文本的特征词集合中的所有特征词的词频和其词向量加权平均得到目标文本的特征向量,即实现了目标文本的向量化处理。特征词在语料库中全部文本中出现的次数即为词频,特征词的词频和词向量都是根据语料库得到的。
示例性的,可以将所述特征词的词频乘以所述特征词的词向量,得到新向量;将文本中包含的各个特征词对应的新向量相加,得到文本对应的文本向量。
在本发明实施例中,在对第一文本和第二文本进行处理之前,需要先建立语料库。该语料库可以从网上爬取大量需要的文档,保存起来建立二层。完成语料库建立之后,可以对语料库中的文本进行文本预处理,如对文本进行进行噪音信息替换(如,人名、地名、日期、金钱等),使用正则匹配替换文本里的人名、地名、日期、金钱等。然后,进行中文分词,并去除停用词。文本预处理之后,构建目标词典进行特征提取;具体的,从所有分词中筛选出需要的词,生成一个新的词典。构建的词典中的词语作为特征词。
示例性的,以下举例说明类标与特征词的关系:
文本:被告向原告借款50000元;
该文本包含的特征词:被告、原告、借款和50000元;
类标:被告向原告借款。
103、根据所述第一文本向量和所述第二文本向量训练文本类标分类器。
具体的,对于一个目标类标对应的文本类标分类器的训练,可以通过上述步骤101至103来完成;同理,若需要训练多个类标对应的文本类标分类器,则可以分别针对不同的类标的文本样例,通过上述步骤101至103来进行训练。
由上可见,本申请方案先获取第一文本和第二文本,再分别对所述第一文本和所述第二文本进行文本向量化处理,分别得到第一文本向量和第二文本向量,最后根据正例样本对应的第一文本向量和福例样本对应的第二文本向量训练文本类标分类器,由于用于训练的文本向量体现了文本中特征词的词向量和词频信息,因此,能够准确地对文本进行类标识别。
实施例二
在完成文本类标分类器的训练之后,可以将需求的多个文本类标分类器组合成文本类标分类器集合,用于对一段文本的哪几句话对应哪一个类标进行识别,本申请实施例可以准确识别出一段文本内容包含类标的个数。最终可以准确识别出出一段文本内容包含的多个类标,具体的,请参阅图1-b,该文本类标识别方法主要包括以下步骤:
201、获取目标文本;
获取目标文本,根据标点符号对所述目标文本进行断句,切割成多个句子形成句子序列;其中,该句子序列的多个句子是有序的。
202、依次将所述句子序列中的一个句子输入至文本类标分类器集合进行匹配识别;
将所述句子序列中的一个句子输入至第一文本类标分类器中进行匹配识别,若匹配成功,则所述句子对应所述第一类标;若匹配不成功,则将所述句子输入至第二文本类标分类器中进行匹配识别,则所述句子对应所述第二类标;若匹配不成功,则将所述句子输入至下一个文本类标分类器,若所述文本类标分类器集合中所有文本类标分类器都匹配不成功,则执行步骤203。
所述文本类标分类器集合包括:第一文本类标分类器和第二文本类标分类器;所述第一文本类标分类器和所述第二文本类标分类器分别对应第一类标和第二类标。在实际应用中,文本类标分类器包括有二个以上的分类器,此处仅是以两个分类器示例说明,不构成对分类器数量的限定。
203、将句子重置,并对新句子重新进行类标识别。
将所述句子与所述句子序列中的下一个句子进行合并,得到新句子;将所述新句子输入至所述文本类标分类器集合进行匹配识别。
在本发明实施例中,通过文本类标分类器集合,可以对一段文本的哪几句话对应哪一个类标进行识别,可以准确识别出一段文本内容包含类标的个数。最终可以准确识别出出一段文本内容包含的多个类标。
实施例三
为了便于理解,本申请实施例以以实际的应用例子对文本类标识别方法进行说明,请参阅图1-c,包括:
步骤1、一段文本作为输入,然后按照标点符号进行断句,切割成多个句子形成句子序列;
步骤2、每次按顺序读入序列中的一个句子,放入滑动窗口里;
步骤3、将未分类的句子放入所有类标分类器集合当中一一匹配
步骤4、当匹配到某个类标以后,就输出该类标,清空窗口内容,并将窗口滑动到下一句
步骤5、如果没有匹配到任意一个类标,那么窗口就会扩大到序列里的下一句,即将这句匹配失败的句子与新的句子进行拼接放入窗口中,然后未分过类的新句子继续进行匹配分类的流程。
以下为某个类标的二分类支持向量机(svm,supportvectormachine)分类器模型的示例:
输入:a个正例,b个负例,已训练的特征词的词向量;
输出:某个类标的二分类svm模型;
训练过程:
初始化:将a个正例和b个负例读入到一个列表l1中,3个空列表l2,l3,l4;
forl1中的一个例子
执行文本预处理,得到相应分词集合
从分词集合中提取特征词,得到特征词集合
将特征词集合追加到列表l2中
endfor(文本预处理并特征提取后的特征词样本集列表l2)
forl2中的一个特征词集合l1
forwin当前特征词集合
w的词频*w的词向量得到向量x
向量x追加到列表l3
endfor(得到特征词列表对应的向量列表l3)
l3中所有向量求平均,得到一个平均向量n
平均向量n追加到列表l4中
清空列表l3
endfor(得到文本向量化表示后的样本集合列表l4)
l4输入到svm模型中,训练该类标对应的二分类svm模型。
以下为基于序列化的划窗匹配模型的示例:
输入:一段文本内容,全部类标相应的二分类svm分类器集合;
输出:该段文本包含的类标集合;
训练过程:
初始化:3个空列表l1、l2和l3;
将文本内容按标点符号切分成多个句子,按顺序保存在列表l1中
forsinl1
if滑动窗口l3满了
删除l3中第一个句子,后面句子均向前移动一位使l3有一个空位
将s压入滑动窗口l3
将s向量化表示为x,丢到分类器集合中
ifx掉入了某个分类器
将该分类器对应的类标追加到列表l2中
清空滑动窗口l3
else
ifl3的元素个数>1
拼接l3中的句子为新句子s
将s向量化表示为x,丢到分类器集合中
ifx掉入了某个分类器
将该分类器对应的类标追加到列表l2中
清空l3
continue
endfor(得到这段文本内容包含的类标集合)
实施例四
请参阅图2,为本申请实施例提供一种文本类标训练装置。该文本类标训练装置可用于实现上述图1-a所示实施例提供的文本类标训练方法。如图2所示,该电子装置主要包括:
文本获取单元210,用于获取第一文本和第二文本,所述第一文本为目标类标的正例样本,所述第二文本为目标类标的负例样本;
向量化处理单元220,用于分别对所述第一文本和所述第二文本进行文本向量化处理,分别得到第一文本向量和第二文本向量;所述文本向量化处理是根据文本中特征词的词向量和词频进行的;
训练单元230,用于根据所述第一文本向量和所述第二文本向量训练文本类标分类器。
请参阅图3,为本申请实施例提供一种文本类标识别装置。该文本类标识别装置可用于实现上述图1-b所示实施例提供的文本类标识别方法。如图3所示,该文本类标识别装置主要包括:
文本处理单元310,用于获取目标文本,根据标点符号对所述目标文本进行断句,切割成多个句子形成句子序列;
匹配识别单元320,用于依次将所述句子序列中的一个句子输入至文本类标分类器集合进行匹配识别,所述文本类标分类器集合包含有至少两个文本类标分类器,所述文本类标分类器根据第一文本向量和第二文本向量训练得到,所述所述第一文本向量为目标类标的正例样本对应的文本向量,所述第二文本为目标类标的负例样本对应的文本向量。
需要说明的是,以上图2和3示例的文本类标训练装置的实施方式中,各功能模块的划分仅是举例说明,实际应用中可以根据需要,例如相应硬件的配置要求或者软件的实现的便利考虑,而将上述功能分配由不同的功能模块完成,即将电子装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。而且,在实际应用中,本实施例中的相应的功能模块可以是由相应的硬件实现,也可以由相应的硬件执行相应的软件完成。本说明书提供的各个实施例都可应用上述描述原则,以下不再赘述。
本实施例提供的电子装置中各功能模块实现各自功能的具体过程,请参见上述图1-a所示实施例中描述的具体内容,此处不再赘述。
实施例五
本申请实施例提供一种电子装置,请参阅图4,该电子装置包括:
存储器301、处理器302及存储在存储器301上并可在处理器302上运行的计算机程序,处理器302执行该计算机程序时,实现前述图1-a所示实施例中描述的文本类标训练方法。
进一步的,该电子装置还包括:
至少一个输入设备303以及至少一个输出设备304。
上述存储器301、处理器302、输入设备303以及输出设备304,通过总线305连接。
其中,输入设备303具体可为摄像头、触控面板、物理按键或者鼠标等等。输出设备304具体可为显示屏。
存储器301可以是高速随机存取记忆体(ram,randomaccessmemory)存储器,也可为非不稳定的存储器(non-volatilememory),例如磁盘存储器。存储器301用于存储一组可执行程序代码,处理器302与存储器301耦合。
进一步的,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是设置于上述各实施例中的电子装置中,该计算机可读存储介质可以是前述图3所示实施例中的存储器。该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现前述图1-a所示实施例中描述的文本类标训练方法。进一步的,该计算机可存储介质还可以是u盘、移动硬盘、只读存储器(rom,read-onlymemory)、ram、磁碟或者光盘等各种可以存储程序代码的介质。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个可读存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的可读存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上为对本申请所提供的文本类标训练方法和识别方法、相关装置及存储介质的描述,对于本领域的技术人员,依据本申请实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。