首页 / 专利库 / 专利权 / 特定技术特征 / 一种内容识别方法及装置

一种内容识别方法及装置

阅读:660发布:2020-05-13

专利汇可以提供一种内容识别方法及装置专利检索,专利查询,专利分析的服务。并且本 发明 实施例 公开了一种内容识别方法及装置,应用于信息处理技术领域。在本实施例的方法中,内容识别装置会根据预置的特征提取策略及待识别文本的文本 特征向量 ,获取待识别文本对应的多个特征子向量,然后再根据多个特征子向量及预置的 机器学习 模型,确定待识别文本包含特定内容的区域信息。本实施例的方法不需要通过人工,可以自动识别出待识别文本中是否包含特定内容,如果包含,可以精确地 定位 出包含特定内容的区域,使得对特定内容的过滤更精确。,下面是一种内容识别方法及装置专利的具体信息内容。

1.一种内容识别方法,其特征在于,包括:
获取待识别文本的文本特征向量
按照预置的特征提取策略及所述文本特征向量,获取所述待识别文本对应的多个特征子向量;
根据所述多个特征子向量及预置的机器学习模型,确定所述待识别文本包含特定内容的区域信息,所述预置的机器学习模型用于根据任一文本的多个特征子向量,输出所述任一文本包含特定内容的区域信息,所述预置的机器学习模包括分类模型或回归模型。
2.如权利要求1所述的方法,其特征在于,所述获取待识别文本的文本特征向量,具体包括:
将所述待识别文本进行分词处理,得到多个分词;
根据预置的分词与向量的对应关系,分别确定所述多个分词对应的向量;
用所述多个分词分别对应的向量组合成所述待识别文本的文本特征向量。
3.如权利要求1所述的方法,其特征在于,所述按照预置的特征提取策略及所述文本特征向量,获取所述待识别文本对应的多个特征子向量,具体包括:
根据所述文本特征向量确定具有上下文信息的文本特征向量;
按照所述预置的特征提取策略,对所述具有上下文信息的文本特征向量进行特征提取,得到多个特征子向量。
4.如权利要求3所述的方法,其特征在于,所述文本特征向量包括多个分词的向量,则所述根据所述文本特征向量确定具有上下文信息的文本特征向量,具体包括:
确定所述多个分词在待识别文本中分别对应的位置向量;
将所述多个分词的向量分别与对应的位置向量相加,得到多个分词的相加向量;
根据所述多个分词的相加向量,确定具有上下文信息的文本特征向量。
5.如权利要求3所述的方法,其特征在于,所述按照所述预置的特征提取策略,对所述具有上下文信息的文本特征向量进行特征提取,得到多个特征子向量,具体包括:
按照多种滑动窗口的特征提取策略,分别对所述具有上下文信息的文本特征向量进行特征提取,得到多组特征子向量,每组特征子向量包括多个特征子向量;
则所述根据所述多个特征子向量及预置的机器学习模型,确定所述待识别文本包含特定内容的区域信息,具体包括:根据所述每组特征子向量及预置的机器学习模型,分别确定多组区域信息,根据所述多组区域信息确定所述待识别文本包含特定内容的最终区域信息。
6.如权利要求1至5任一项所述的方法,其特征在于,所述机器学习模型为分类模型,则所述根据所述多个特征子向量及预置的机器学习模型,确定所述待识别文本包含特定内容的区域信息,具体包括:
根据所述分类模型,确定所述多个特征子向量分别对应的是否包含特定内容的结果信息;
根据所述多个结果信息及特征提取策略,确定所述待识别文本包含特定内容的区域信息。
7.如权利要求6所述的方法,其特征在于,所述根据所述多个结果信息及特征提取策略,确定所述待识别文本包含特定内容的区域信息,具体包括:
根据所述特征提取策略,将所述多个结果信息与所述待识别文本中的多个区域进行对应;
根据各个区域的待识别文本对应的结果信息,确定所述待识别文件包含特定内容的区域信息。
8.如权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:
确定特定内容识别的初始模型,所述特定内容识别的初始模型包括向量获取模块和所述机器学习模型,所述向量获取模块用于执行所述获取文本特征向量及获取特征子向量的步骤;所述机器学习模块用于根据所述向量获取模块获取的多个特征子向量,确定确定所述待识别文本包含特定内容的区域信息;
确定训练样本,所述训练样本中包括多个文本及各个文本是否包含特定内容的标注信息;
通过所述特定内容识别的初始模型分别确定各个文本中包含特定内容的的区域信息的初始结果;
根据所述特定内容识别的初始模型确定的初始结果,及所述训练样本中的标注信息,调整所述特定内容识别的初始模型中的固定参数值,以得到最终的特定内容识别模型。
9.如权利要求8所述的方法,其特征在于,如果对所述固定参数值的调整满足如下任一停止条件,则停止对所述固定参数值的调整:
对所述固定参数值的调整次数等于预置的次数,当前调整的固定参数值与上一次调整的固定参数值的差值小于一阈值
10.一种内容识别装置,其特征在于,包括:
向量获取单元,用于获取待识别文本的文本特征向量;
子向量获取单元,用于按照预置的特征提取策略及所述文本特征向量,获取所述待识别文本对应的多个特征子向量;
区域确定单元,用于根据所述多个特征子向量及预置的机器学习模型,确定所述待识别文本包含特定内容的区域信息,所述预置的机器学习模型用于根据任一文本的多个特征子向量,输出所述任一文本包含特定内容的区域信息,所述预置的机器学习模块包括分类模型或回归模型。
11.一种存储介质,其特征在于,所述存储介质储存多条指令,所述指令适于由处理器加载并执行如权利要求1至9任一项所述的内容识别方法。
12.一种终端设备,其特征在于,包括处理器和存储介质,所述处理器,用于实现各个指令;
所述存储介质用于储存多条指令,所述指令用于由处理器加载并执行如权利要求1至9任一项所述的内容识别方法。

说明书全文

一种内容识别方法及装置

技术领域

[0001] 本发明涉及信息处理技术领域,特别涉及一种内容识别方法及装置。

背景技术

[0002] 目前在后台服务器推送到应用终端的文本中,可以包含有某些特定内容,比如广告文字或低俗文字等,这样,需要对文本中的特定内容进行过过滤,使得显示在应用终端的文本不会包含这些特定内容。在这个过程中,重要的是将文本中的特定内容识别出来,才能准确地进行过滤。
[0003] 传统的一种特定内容识别方法包括:通过人工挖掘特定内容的关键词(比如广告文字中的报名热线等),并设置相关的规则进行对文本进行识别,但是,这种方法耗费人,而且很易遗漏,效率很低,也容易出现误判。
[0004] 另一种特定内容识别方法包括:将文本输入到机器分类模型中,以提取文本特征,并根据文本特征进行识别。这种方法避免了人力,识别效率和准确率得到提高,但是在一些文本中,并不是通篇都是特定内容,而是在文本的顶部、底部或者中间插入一小段特定内容,比如广告文字,当我们将整个文本输入到机器分类模型时,由于这些特定内容的信息量较整个文本的信息量,会小很多,在大多数情况下并不能有效的识别出文本中包含的特定内容。

发明内容

[0005] 本发明实施例提供一种内容识别方法及装置,实现了自动识别待识别文本中包含特定内容的区域。
[0006] 本发明实施例提供一种内容识别方法,包括:
[0007] 获取待识别文本的文本特征向量
[0008] 按照预置的特征提取策略及所述文本特征向量,获取所述待识别文本对应的多个特征子向量;
[0009] 根据所述多个特征子向量及预置的机器学习模型,确定所述待识别文本包含特定内容的区域信息,所述预置的机器学习模型用于根据任一文本的多个特征子向量,输出所述任一文本包含特定内容的区域信息,所述预置的机器学习模包括分类模型或回归模型。
[0010] 本发明实施例提供一种内容识别装置,包括:
[0011] 向量获取单元,用于获取待识别文本的文本特征向量;
[0012] 子向量获取单元,用于按照预置的特征提取策略及所述文本特征向量,获取所述待识别文本对应的多个特征子向量;
[0013] 区域确定单元,用于根据所述多个特征子向量及预置的机器学习模型,确定所述待识别文本包含特定内容的区域信息,所述预置的机器学习模型用于根据任一文本的多个特征子向量,输出所述任一文本包含特定内容的区域信息,所述预置的机器学习模块包括分类模型或回归模型。
[0014] 本发明实施例第三方面提供一种存储介质,所述存储介质储存多条指令,所述指令适于由处理器加载并执行如本发明实施例第一方面所述的内容识别方法。
[0015] 本发明实施例第四方面提供一种终端设备,包括处理器和存储介质,所述处理器,用于实现各个指令;
[0016] 所述存储介质用于储存多条指令,所述指令用于由处理器加载并执行如本发明实施例第一方面所述的内容识别方法。
[0017] 可见,在本实施例的方法中,内容识别装置会根据预置的特征提取策略及待识别文本的文本特征向量,获取待识别文本对应的多个特征子向量,然后再根据所述多个特征子向量及预置的机器学习模型,确定所述待识别文本包含特定内容的区域信息。本实施例的方法不需要通过人工,可以自动识别出待识别文本中是否包含特定内容,如果包含,可以精确地定位出包含特定内容的区域,使得对特定内容的过滤更精确。附图说明
[0018] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0019] 图1是本发明实施例提供的一种内容识别方法的示意图;
[0020] 图2是本发明一个实施例提供的一种内容识别方法的流程图
[0021] 图3是本发明实施例中对具有上下文信息的文本特征向量进行特征提取的示意图;
[0022] 图4是本发明实施例中训练特定内容识别模型的方法流程图;
[0023] 图5是本发明应用实施例中微信终端显示的文章内容的示意图;
[0024] 图6是本发明应用实施例中训练广告文字识别模型的示意图;
[0025] 图7是本发明应用实施例中确定的广告文字识别的初始模型的结构示意图;
[0026] 图8是本发明应用实施例中提供的广告文字识别方法的流程图;
[0027] 图9是本发明实施例提供的一种内容识别装置的结构示意图;
[0028] 图10是本发明实施例提供的一种终端设备的结构示意图。

具体实施方式

[0029] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0030] 本发明的说明书权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排它的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0031] 本发明实施例提供一种内容识别方法,如图1所示,可以由内容识别装置通过如下步骤实现特定内容的识别:
[0032] 获取待识别文本的文本特征向量;按照预置的特征提取策略及所述文本特征向量,获取所述待识别文本对应的多个特征子向量(图1中以n个为例说明);根据所述多个特征子向量及预置的机器学习模型,确定所述待识别文本包含特定内容的区域信息。
[0033] 本实施例中的特定内容是指具有特定特征的一个或多个字符,比如广告文字,低俗或恶心文字,或特定文字等。
[0034] 这样,不需要通过人工,可以自动识别出待识别文本中是否包含特定内容,如果包含,可以精确地定位出包含特定内容的区域,使得对特定内容的过滤更精确。
[0035] 本发明实施例提供一种内容识别方法,主要是由内容识别装置所执行的方法,流程图如图2所示,包括:
[0036] 步骤101,获取待识别文本的文本特征向量。
[0037] 可以理解,本实施例的方法可以应用于多种场景中,比如当后台服务器向应用终端推送文本时,后台服务器可以将该推送文本作为待识别文本,发起本实施例的流程,在这种情况下,后台服务器为内容识别装置;或者,当后台服务器向应用终端推送文本后,当应用终端接收到推送文本后,可以将该推送文本作为待识别文本,发起本实施例的流程,在这种情况下,应用终端为内容识别装置等。可见,由于应用场景的不同,对本实施流程的触发方式也不同,在这里对本实施例方法的应用场景不进行限定。
[0038] 具体地,内容识别装置在获取待识别文本的文本特征向量时,可以根据一定的策略来获取,一种情况下,内容识别装置可以先将待识别文本进行分词处理,得到多个分词,并根据预置的分词与向量的对应关系,分别确定多个分词对应的向量;最后再用多个分词分别对应的向量组合成待识别文本的文本特征向量。
[0039] 其中,预置的分词与向量的对应关系是事先设置在内容识别装置中的,表示各个分词分别对应的向量,可以根据大量的文本样本得到,具体地,将多个文本样本分别进行分词,并统计在多个文本样本中出现频率较高(比如出现频率大于某一阈值)的多个分词,且分别设置这多个分词的向量,将分别与向量的对应关系储存到内容识别装置中。
[0040] 这种情况下,内容识别装置在确定文本特征向量的过程中,会将待识别文本的分词与预置对应关系中的分词进行比较,从而确定分词的向量。如果待识别文本的某一分词与对应关系中的所有分词都不一致,可以确定该分词对应的向量为某一特定向量,该特定向量可以是事先储存到内容识别装置中的。
[0041] 需要说明的是,在其它情况下,内容识别装置还可以使用其它编码方法,获取待识别文本的文本特征向量,在这里不进行赘述。
[0042] 步骤102,按照预置的特征提取策略及上述的文本特征向量,获取待识别文本对应的多个特征子向量。这多个特征子向量相结合后能表示整个待识别文本,即一个特征子向量可以表示待识别文本中某一区域的文本,且相邻的特征子向量之间可以有重叠的信息。
[0043] 具体地,一种情况下,内容识别装置可以直接按照一定滑动窗口的特征提取策略,对文本特征向量进行特征提取,得到多个特征子向量。如果文本特征向量包括多个分词的向量,在进行特征提取时,可以在每个滑动窗口的所有分词的向量中,提取某一分词的向量,得到一个特征子向量。其中,每个滑动窗口的长度和滑动步长可以相同也可以不同。
[0044] 另一种情况下,特定识别装置会先根据文本特征向量确定具有上下文信息的文本特征向量,然后再按照预置的特征提取策略,对具有上下文信息的文本特征向量进行特征提取,得到多个特征子向量。
[0045] 其中,如果文本特征向量包括多个分词的向量时,特定识别装置在确定具有上下文信息的文本特征向量时,可以直接根据多个分词的向量确定具有上下文信息的文本特征向量。也可以先确定多个分词在待识别文本中分别对应的位置向量,并将多个分词的向量分别与对应的位置向量相加,得到多个分词的相加向量,然后再根据多个分词的相加向量,确定具有上下文信息的文本特征向量。其中,特定识别装置可以将部分上下文信息(即上述位置向量)先引入到各个分词的向量中,再根据多个分词的相加向量及一定的机器学习模型(比如变换层)得到具有上下文信息的文本特征向量,就具有了完整的上下文信息。且由于待识别文本的多个分词是一个序列的分词,每个分词在序列中有对应的位置,特定识别装置可以根据各个分词在序列中的位置,及预置的计算位置向量的函数关系,确定各个分词在待识别文本中对应的位置向量。
[0046] 进一步地,内容识别装置在对具有上下文信息的文本特征向量进行特征提取时,可以根据一个滑动窗口的特征提取策略,对具有上下文信息的文本特征向量进行特征提取。
[0047] 例如图3所示,具有上下文信息的文本特征向量包括20个分词的向量,分别为向量1到20,按照滑动窗口的长度为3,且滑动步长为3,起始位置为0(即△=0)的特征提取策略,对具有上下文信息的文本特征向量进行特征提取,比如从向量1到3中提取一个向量作为特征子向量1,从向量4到6中提取一个向量作为特征子向量2,……,从向量16到18中提取一个向量作为特征子向量6,这样,可以得到6个特征子向量,即特征子向量1到6。
[0048] 需要说明的是,内容识别装置可以根据一种或多种滑动窗口的特征提取策略,分别对具有上下文信息的文本特征向量进行特征提取,得到多组特征子向量,每组特征子向量包括多个特征子向量,且对应一种滑动窗口的特征提取策略。
[0049] 例如图3所示,内容识别装置按照滑动窗口的长度为3,且滑动步长为3,起始位置为1(即△=1)的特征提取策略,从向量2到4中提取一个向量作为特征子向量1,从向量5到7中提取一个向量作为特征子向量2,……,从向量17到19中提取一个向量作为特征子向量6,这样,可以得到6个特征子向量。
[0050] 按照滑动窗口的长度为3,且滑动步长为3,起始位置为2(即△=2)的特征提取策略,从向量3到5中提取一个向量作为特征子向量1,从向量6到8中提取一个向量作为特征子向量2,……,从向量18到20中提取一个向量作为特征子向量6,可以得到6个特征子向量。
[0051] 步骤103,根据上述多个特征子向量及预置的机器学习模型,确定待识别文本包含特定内容的区域信息。这里的区域信息具体可以包括该区域在待识别文本中的位置(比如起始位置和终止位置等),及该区域的大小等信息。
[0052] 这里,机器学习模型的运行逻辑是事先设置在内容识别装置中的,可以通过训练样本训练得到,具体用于根据任一文本的多个特征子向量,输出任一文本包含特定内容的区域信息,可以包括分类模型或是回归模型等。
[0053] (1)如果该机器学习模型可以是分类模型,其输入可以为多个特征子向量,其输出为多个包含特定内容的概率信息,如果概率大于某一阈值,则确定为包含特定内容,否则则不包含特定内容。其中,输出的每个概率信息对应一个特征子向量,从而对应待识别文本中某一部分文本。
[0054] 在这种情况下,内容识别装置会先根据所述分类模型,确定上述多个特征子向量分别对应的是否包含特定内容的结果信息;然后再根据多个结果信息及特征提取策略,确定待识别文本包含特定内容的区域信息。
[0055] 具体地,内容识别装置可以先根据特征提取策略,将多个结果信息与待识别文本中的多个区域进行对应;然后再根据各个区域的待识别文本对应的结果信息,确定待识别文本包含特定内容的区域信息。
[0056] 其中,如果特征提取策略包括:按照一种滑动窗口对待识别文本中所有分词的向量进行特征提取,则内容识别装置可以根据该滑动窗口的起始位置,滑动窗口的长度及滑动步长,确定出每个滑动窗口对应的待识别文本的区域。
[0057] 例如,在上述图3所示的△=2的情况下,则滑动窗口滑动到分词向量3到5时,所表示的待识别文本中第3到5个分词,当进行特征提取后得到特征子向量1,根据上述步骤103得到结果信息1,这样,将结果信息1与待识别文本中第3到5个分词进行对应。如果结果信息1为不包含特定内容,则待识别文件中第3到5个分词是不包含特定内容的。
[0058] 需要说明的是,如果内容识别装置在执行上述步骤102时,按照多种滑动窗口的特征提取策略,分别对具有上下文信息的文本特征向量进行特征提取,得到多组特征子向量。则在执行本步骤103时,根据每组特征子向量及预置的机器学习模型,分别确定多组区域信息;然后再根据多组区域信息确定所述待识别文本包含特定内容的最终区域信息。其中,得到的任意两组区域信息所表示的区域之间可以有重复、重叠或连续,这样,在确定最终区域信息时,可以将连续的区域进行合并。
[0059] 例如,确定的第1组区域信息表示区域1、2和3,而第2组区域信息表示区域1和4,其中,区域2和4是连续的区域,且组成区域5,则得到的最终区域信息为区域1、5和区域3的具体信息。
[0060] (2)如果上述预置的机器学习模型还是回归模型,其输入为上述的多个特征子向量,其输出为多组特定内容的位置信息,每组位置信息包括该特征子向量所表示的文本中包含特征字符的起始位置和终止位置。
[0061] 可见,在本实施例的方法中,内容识别装置会根据预置的特征提取策略及待识别文本的文本特征向量,获取待识别文本对应的多个特征子向量,然后再根据多个特征子向量及预置的机器学习模型,确定待识别文本包含特定内容的区域信息。本实施例的方法不需要通过人工,可以自动识别出待识别文本中是否包含特定内容,如果包含,可以精确地定位出包含特定内容的区域,使得对特定内容的过滤更精确。
[0062] 需要说明的是,上述步骤101到103可以通过特定内容识别模型来实现,特定内容识别模型包括:向量获取模块和上述的机器学习模型。在一个具体的实施例中,内容识别装置可以按照如下步骤来训练特定内容识别模型,流程图如图4所示,包括:
[0063] 步骤201,确定特定内容识别的初始模型。
[0064] 可以理解,内容识别装置在确定特定内容识别的初始模型时,会确定特定内容识别的初始模型所包括的多层结构和各层机构中固定参数的初始值,具体包括向量获取模块和机器学习模型,其中,向量获取模块用于执行上述获取文本特征向量及获取特征子向量的步骤,即步骤101和102;机器学习模块用于根据向量获取模块获取的多个特征子向量,确定确定待识别文本包含特定内容的区域信息,即步骤103。具体地,特定内容识别的初始模型中的多层结构可以是如下任一种算法结构:卷积神经网络(Convolutional Neural Network,CNN),全卷积神经网络(Fully Convolutional Networks for Semantic Segmentation,FCN)等。
[0065] 其中,固定参数是指特定内容识别的初始模型中各层结构在计算过程中所用到的固定的,不需要随时赋值的参数,比如权重,度等参数。
[0066] 步骤202,确定训练样本,训练样本中包括多个文本及各个文本是否包含特定内容的标注信息。
[0067] 进一步地,为了使得最终得到的特定内容识别模型更精确,在训练样本中还可以包括对每个文本中包含特定内容的区域信息的标注信息,比如起始位置和终止位置等。
[0068] 步骤203,通过特定内容识别的初始模型分别确定各个文本中包含特定内容的区域信息的初始结果。
[0069] 具体地,通过特定内容识别的初始模型在确定训练样本中任一文本中包含特定内容的区域信息时,可以由特定内容识别的初始模型中的向量获取模块获取任一文本的文本特征向量,并按照预置的特征提取策略及文本特征向量,获取任一文本对应的多个特征子向量;然后再由机器学习模型确定任一文本中包含特定内容的区域信息。
[0070] 步骤204,根据上述步骤203中特定内容识别的初始模型确定的初始结果,及训练样本中的标注信息,调整特定内容识别的初始模型中的固定参数值,以得到最终的特定内容识别模型。
[0071] 具体地,内容识别装置会先根据上述步骤203中特定内容识别的初始模型确定的初始结果,及训练样本中的标注信息,计算与特定内容识别的初始模型相关的损失函数,该损失函数用于指示特定内容识别的初始模型计算训练样本中各文本包含特定内容的区域信息的误差。
[0072] 这里,损失函数包括:用于表示根据特定内容识别的初始模型确定的各文本中包含特定内容的区域信息的结果信息,与训练样本中各个文本实际是否包含特定内容(根据训练样本中的标注信息得到)之间的差别。
[0073] 这些误差的数学表现形式通常使用交叉熵损失函数来建立损失函数,比如二元交叉熵损失函数(binary cross entropy loss)等,而特定内容识别模型的训练过程就是需要尽量减少上述误差的值,该训练过程是通过反向传播求导以及梯度下降等一系列数学优化手段不断的优化上述步骤201中确定的特定内容识别的初始模型中固定参数的参数值,并使得上述损失函数的计算值降至最低。
[0074] 因此,在计算得到损失函数后,内容识别装置需要根据计算的损失函数调整特定内容识别的初始模型中的固定参数值,以得到最终的特定内容识别模型。具体地,如果计算的损失函数的函数值较大,比如大于预置的值,则需要改变固定参数值,比如将某个权重的权重值减小等,使得按照调整后的固定参数值计算的损失函数的函数值减小。
[0075] 另外,需要说明的是,上述步骤203到204是通过特定内容识别的初始模型计算得到初始结果,根据初始结果对特定内容识别的初始模型中的固定参数值的一次调整,而在实际应用中,需要通过不断地循环执行上述步骤203到204,直到对固定参数值的调整满足一定的停止条件为止。
[0076] 因此,内容识别装置在执行了上述实施例步骤201到204之后,还需要判断当前对固定参数值的调整是否满足预置的停止条件,如果满足,则结束流程;如果不满足,则针对调整固定参数值后的特定内容识别的初始模型,返回执行上述步骤203到204。
[0077] 其中,预置的停止条件包括但不限于如下条件中的任何一个:当前调整的固定参数值与上一次调整的固定参数值的差值小于一阈值,即调整的固定参数值达到收敛;及对固定参数值的调整次数等于预置的次数等。
[0078] 以下以一个具体的应用实例来说明本发明中的内容识别方法,本实施例的方法主要应用于即时通信应用中文章推荐功能中,具体为微信的“看一看”功能,而待识别文本为微信后台推送的文章,上述的内容识别装置具体为微信终端,特定内容具体为广告文字。
[0079] 当用户操作微信终端,使得微信终端开启文章推荐功能,微信终端会显示微信后台推送的文章信息,比如文章标题等,当用户点击某一文章信息时,微信终端会显示该文章的具体内容。由于文章具体内容的好坏很大程度上会影响用户的阅读体验,在微信后台发送的不少文章的具体内容中会在不同区域出现广告文字等特定内容,干扰阅读。
[0080] 例如图5所示,在显示的文章的顶部出现的广告文字“限时特惠:扫码可以免费体验美妆形象公开课一次,电话1234567”,和文章底部出现的广告文字“请报名企业第一时间与我们取得联系,留下您电话、微信等联系方式”等,因此,需要微信终端有效地识别出文章中包含广告文字等特定内容的区域是非常关键的,从而可以精确地过滤掉相关区域的广告文字。
[0081] 具体地,本实施例中的方法可以包括如下两个部分:
[0082] (1)参考如图6所示,微信终端或微信后台可以通过如下步骤来训练特定内容识别模型,在本实施例中具体为广告文字识别模型:
[0083] 步骤301,确定广告文字识别的初始模型。
[0084] 例如图7所示为广告文字识别的初始模型的结构,可以包括向量获取模块和机器学习模型,其中,向量获取模块可以包括:分词模块、变换层(transformer)和特征提取层(feature extraction),而机器学习模型具体为分类层(classifier)。其中,分词模块用于对输入文本进行分词处理后,得到各个分词的向量,并形成文本特征向量,并将文本特征向量输入到变换层;变换层用于根据文本特征向量得到具有上下文信息的文本特征向量;特征提取层用于对具有上下文信息的文本特征向量进行特征提取,得到多个特征子向量;分类层用于分别根据多个特征子向量进行分类,判断对应区域的文本是否包含广告文字,并输出包含广告文字的概率。
[0085] 进一步地,变换层可以包括:位置编码(Positional Encoding)、头部关注(Multi-Head Attention)和前馈(Feed-Forward)。其中,使用位置编码,让文本特征向量中各个分词的向量具有了上下文信息,避免了某些小片段因为某几个关键词出现使得局部信息过于敏感而导致广告文字识别模型最终误伤的问题;此外,使用头部关注可以让广告文字识别模型更加关注广告文字经常出现的位置,比如文本顶部或底部等。在具体的应用实例中,该变换层可以重复累加多次,或者使用普遍的变换层(universal transformer)等,效果会更好。
[0086] 特征提取层可以包括:卷积层(Conv1D)、最大池化层(MaxPooling)和偏置最大池化层(Offset MaxPooling)。使用偏置最大池化层,可以在经过多次卷积计算后再对计算得到的向量进行裁剪,这样大大提高了运行的效率。另一方面,根据文本特征向量得到的相邻的特征子向量之间会有重叠,使得上下文信息保持连贯。
[0087] 分类层可以包括:卷积层、特征地图(FeatureMap)和取最大(Max),且还可以包括丢弃(gropout)层。
[0088] 需要说明的是,上述广告文字识别模型中用到了全卷积神经网络,对于变长的文本输入可以得到变长的输出,这样有如下两个优点:(1)广告文字识别模型的训练支持边长训练,充分利用训练样本中文本的信息,在预测时又可以支持任意长度待识别文本的输入;(2)卷积网络运算速度快,方便并行化,可同时针对整个待识别文本中的多个区域同时进行处理,效率高。
[0089] 另外需要说明的是,在其它实施例中,机器学习模型还可以是回归模型,可以直接输出文本中包含广告文字的起始位置和终止位置。
[0090] 步骤302,确定训练样本,训练样本中包括多个文本,具体为10万多篇文章,及每篇文章是否包含广告文字的标注信息。
[0091] 一般情况下,可以先将训练样本中的文章补齐(padding)至同样长度,但是由于文章的长度变化范围非常大,一般从几十个字到几千字都有可能。假如选取固定长度的话,对短文本的文章会需要大量补齐信息,对于长文本的文章会截掉很多信息导致信息缺失。
[0092] 因此,本实施例中可以采取变长训练的方法,具体地,可以先将训练样本中某一部分的文章补齐到同一长度,然后对输入的文章按照长度排序,将相同长度的文章放入同一个批次(batch)。同时,限制了最大和最小的文章输入长度。
[0093] 步骤303,通过广告文字识别的初始模型分别确定各篇文章包含广告文字的区域信息的初始结果。
[0094] 步骤304,根据上述步骤303中广告文字识别的初始模型确定的初始结果,及训练样本中的标注信息,调整广告文字识别的初始模型中的固定参数值,以得到最终的广告文字识别模型。
[0095] 具体地,可以先根据初始结果与标注信息,计算基于广告文字识别的初始模型的损失函数,然后根据计算的损失函数调整初始模型中的固定参数值。
[0096] 通过多次执行上述步骤303与步骤304,可以得到最终的广告文字识别模型。
[0097] (2)如图8所示,微信终端可以根据上述训练的广告文字识别模型,并通过如下的步骤实现对待识别文章(即上述的待识别文本)中广告文字的识别:
[0098] 步骤401,对待识别文章进行文本预处理,比如特殊符号处理,英文大小写转换以及繁简字统一等。
[0099] 步骤402,将预处理后的文本输出到上述训练的广告文字识别模型中,先由其中的分词模块对输入文本进行分词,并确定各个分词的向量,并形成文本特征向量。
[0100] 具体地,可以将输入文本的分词与微信终端中预置的分词与向量的对应关系,确定各个分词的向量,如果某一分词与对应关系中的分词不一致,则可以直接用特殊符号表示该分词的向量。
[0101] 本实施例中支持文本的变长输入,但最小长度为81,最大长度为1025,若长度超过最大限制则截断,反之则在末尾补空白字符。假设经过本步骤402将输入文本分成w1,w2…,wk共计k个词,将每个分词映射为1个300维实向量,即输入文本被映射成k*300的矩阵。
[0102] 步骤403,广告文字识别模型中的变换层根据上述步骤402得到的文本特征向量,具体为1*81*300的矩阵,确定具有上下文信息的文本特征向量,其中假设k为81。
[0103] 具体地,先通过变换层中的位置编码确定各个分词的位置向量,并将各个分词的向量与对应的位置向量相加,得到相加后的向量具有部分的上下文信息;然后通过变换层的头部关注和前馈,根据相加后的向量生成具有上下文信息的文本特征向量,其维度为1*81*300,即可学习得到全部的上下文信息。
[0104] 步骤404,广告文字识别模型中的特征提取层通过6个1维的卷积层进行特征提取,然后经过偏置最大池化层产生基于滑动窗口的多个特征子向量,例如上述图3所示,相当于对具有上下文信息的文本特征向量切段后,得到每个小片段的特征子向量。
[0105] 然后将多个特征子向量同时输入到广告文字识别模型中的分类层。
[0106] 步骤405,广告文字识别模型中的分类层根据多个特征子向量,分别判断上述输入文本中对应区域是否包含广告文字,可以得到每个区域包含广告文字的概率,并输出一个1维的向量,即各个特征子向量对应的是否包含广告文字的结果信息。向量的长度由输入文本的长度所决定,这也是因为在分类层的最后两层卷积层中我们使用了1x1的卷积核。
[0107] 输出的变长向量中每一个值代表输入文本中一个区域包含广告文字的概率,并且按顺序排列。为了得到定长的输出向量,最终取了最大值作为输出。
[0108] 步骤406,微信终端根据上述步骤405中得到的结果信息,及上述广告文字识别模型中特征提取层提取特征子向量时基于的滑动窗口的信息,确定待识别文章中包含广告文字的区域信息,比如顶部或底部等,并对待识别文章中的广告文字进行过滤。
[0109] 需要说明的是,对于有些长度比较长的文章,由于微信终端内资源内存的限制,不能直接将该文章直接输入到上述的广告文字识别模型中进行处理,就需要先对该文章进行多次分段,将每个分段对应文本输入到广告文字识别模型中,得到相应分段文本包含广告文字的区域信息。进而综合各个分段文本中包含广告文字的区域信息,精确地对整个文章中的广告文字进行过滤。
[0110] 本发明实施例还提供一种内容识别装置,其结构示意图如图9所示,具体可以包括:
[0111] 向量获取单元10,用于获取待识别文本的文本特征向量。
[0112] 该向量获取单元10,具体用于将所述待识别文本进行分词处理,得到多个分词;根据预置的分词与向量的对应关系,分别确定所述多个分词对应的向量;用所述多个分词分别对应的向量组合成所述待识别文本的文本特征向量。
[0113] 子向量获取单元11,用于按照预置的特征提取策略及所述向量获取单元10获取的文本特征向量,获取所述待识别文本对应的多个特征子向量。
[0114] 子向量获取单元11,具体用于根据所述文本特征向量确定具有上下文信息的文本特征向量;按照所述预置的特征提取策略,对所述具有上下文信息的文本特征向量进行特征提取,得到多个特征子向量。
[0115] 其中,子向量获取单元11在确定具有上下文信息的文本特征向量时,具体用于确定所述多个分词在待识别文本中分别对应的位置向量;将所述多个分词的向量分别与对应的位置向量相加,得到多个分词的相加向量;根据所述多个分词的相加向量,确定具有上下文信息的文本特征向量。
[0116] 区域确定单元12,用于根据所述向量获取单元11获取的多个特征子向量及预置的机器学习模型,确定所述待识别文本包含特定内容的区域信息,所述预置的机器学习模型用于根据任一文本的多个特征子向量,输出所述任一文本包含特定内容的区域信息,所述预置的机器学习模块包括分类模型或回归模型。
[0117] 该区域确定单元12,具体用于如果预置的机器学习模型为分类模型,根据所述分类模型,确定所述多个特征子向量分别对应的是否包含特定内容的结果信息;根据所述多个结果信息及特征提取策略,确定所述待识别文本包含特定内容的区域信息。其中,区域确定单元12会根据所述特征提取策略,将所述多个结果信息与所述待识别文本中的多个区域进行对应;根据各个区域的待识别文本对应的结果信息,确定所述待识别文件包含特定内容的区域信息。
[0118] 需要说明的是,如果子向量获取单元11对上述具有上下文信息的文本特征向量进行特征提取时,是按照多种滑动窗口的特征提取策略,分别对所述具有上下文信息的文本特征向量进行特征提取,得到多组特征子向量,每组特征子向量包括多个特征子向量;则所述区域确定单元12,具体用于根据所述每组特征子向量及预置的机器学习模型,分别确定多组区域信息,根据所述多组区域信息确定所述待识别文本包含特定内容的最终区域信息。
[0119] 进一步地,本实施例的内容识别装置还可以包括:训练单元13,用于确定特定内容识别的初始模型,所述特定内容识别的初始模型包括向量获取模块和所述机器学习模型,所述向量获取模块用于执行所述获取文本特征向量及获取特征子向量的步骤;所述机器学习模块用于根据所述向量获取模块获取的多个特征子向量,确定确定所述待识别文本包含特定内容的区域信息;确定训练样本,所述训练样本中包括多个文本及各个文本是否包含特定内容的标注信息;通过所述特定内容识别的初始模型分别确定各个文本中包含特定内容的区域信息的初始结果;根据所述特定内容识别的初始模型确定的初始结果,及所述训练样本中的标注信息,调整所述特定内容识别的初始模型中的固定参数值,以得到最终的特定内容识别模型。当训练单元13训练得到特定内容识别模型后,上述向量获取单元10、子向量获取11和区域确定单元12可以通过训练单元13得到的特定内容识别模型,确定结果信息。
[0120] 进一步地,该训练单元13,还用于如果对所述固定参数值的调整满足如下任一停止条件,则停止对所述固定参数值的调整:对所述固定参数值的调整次数等于预置的次数,当前调整的固定参数值与上一次调整的固定参数值的差值小于一阈值。
[0121] 可见,在本实施例的内容识别装置中,子向量获取单元11会根据预置的特征提取策略及待识别文本的文本特征向量,获取待识别文本对应的多个特征子向量,然后区域确定单元12再根据所述多个特征子向量及预置的机器学习模型,确定所述待识别文本包含特定内容的区域信息。这样,不需要通过人工,可以自动识别出待识别文本中是否包含特定内容,如果包含,可以精确地定位出包含特定内容的区域,使得对特定内容的过滤更精确。
[0122] 本发明实施例还提供一种终端设备,其结构示意图如图10所示,该终端设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)20(例如,一个或一个以上处理器)和存储器21,一个或一个以上存储应用程序221或数据222的存储介质22(例如一个或一个以上海量存储设备)。其中,存储器21和存储介质22可以是短暂存储或持久存储。存储在存储介质22的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对终端设备中的一系列指令操作。更进一步地,中央处理器20可以设置为与存储介质22通信,在终端设备上执行存储介质22中的一系列指令操作。
[0123] 具体地,在存储介质22中储存的应用程序221包括内容识别的应用程序,且该程序可以包括上述内容识别装置中的向量获取单元10,子向量获取单元11,区域确定单元12和训练单元13,在此不进行赘述。更进一步地,中央处理器20可以设置为与存储介质22通信,在终端设备上执行存储介质22中储存的内容识别的应用程序对应的一系列操作。
[0124] 终端设备还可以包括一个或一个以上电源23,一个或一个以上有线或无线网络接口24,一个或一个以上输入输出接口25,和/或,一个或一个以上操作系统223,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
[0125] 上述方法实施例中所述的由内容识别装置所执行的步骤可以基于该图10所示的终端设备的结构。
[0126] 本发明实施例还提供一种存储介质,所述存储介质储存多条指令,所述指令适于由处理器加载并执行如上述内容识别装置所执行的内容识别方法。
[0127] 本发明实施例还提供一种终端设备,包括处理器和存储介质,所述处理器,用于实现各个指令;所述存储介质用于储存多条指令,所述指令用于由处理器加载并执行如上述内容识别装置所执行的内容识别方法。
[0128] 本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM)、随机存取存储器RAM)、磁盘或光盘等。
[0129] 以上对本发明实施例所提供的内容识别方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈