同义文本识别及内容推荐方法、装置及电子设备
技术领域
本申请涉及人工智能技术领域,尤其涉及一种同义文本识别及内容推荐方法、装置及电子设备。
背景技术
在基于信息流的应用中,识别重复内容至关重要,可以避免给用户推送重复内容。现有技术中,通常基于已训练的神经网络模型,提取表征两个文本之间匹配度的特征向量,然后将该特征向量输入预先训练的二分类器,获得上述两个文本是否为同义文本的分类结果。通常需要采用较深的神经网络模型,例如12层的神经网络模型,以获得输入文本深层的语义特征,使得模型更加智能,能够识别出各种表达方式不同但实质内容相同的同义文本,提高识别出重复内容的准确度。
发明内容
本申请实施例提供一种同义文本识别及内容推荐方法、装置、电子设备及存储介质,能够准确区分整体相似度较高但局部细节不同的两个文本,降低了同义文本的误判率。
一方面,本申请一实施例提供了一种同义文本识别方法,包括:
基于第一待匹配文本和第二待匹配文本获得第一特征向量,所述第一特征向量表征所述第一待匹配文本和所述第二待匹配文本之间的深层语义特征的相似度;
基于所述第一待匹配文本和所述第二待匹配文中的特征词,获得第二特征向量,所述第二特征向量表征所述第一待匹配文本中的特征词和所述第二待匹配文本中的特征词之间的重合度;
基于所述第一特征向量和所述第二特征向量融合后的特征向量,确定所述第一待匹配文本和所述第二待匹配文本是否为同义文本。
一方面,本申请一实施例提供了一种内容推送方法,包括:
获取候选内容以及历史推送内容集合,所述历史推送内容集合中包括至少一个历史推送内容;
针对所述历史推送内容集合中的任一历史推送内容,根据上述任一项同义文本识别,确定所述候选内容对应的第一待匹配文本和所述任一历史推送内容对应的第二待匹配文本是否为同义文本;
若所述第一待匹配文本与所述历史推送内容集合中的各个历史推送内容对应的第二待匹配文本均不是同义文本,则对所述候选内容进行推送。
一方面,本申请一实施例提供了一种同义文本识别装置,包括:
第一特征提取模块,用于基于第一待匹配文本和第二待匹配文本获得第一特征向量,所述第一特征向量表征所述第一待匹配文本和所述第二待匹配文本之间的深层语义特征的匹配度;
第二特征提取模块,用于基于所述第一待匹配文本和所述第二待匹配文中的特征词,获得第二特征向量,所述第二特征向量表征所述第一待匹配文本中的特征词和所述第二待匹配文本中的特征词之间的重合度;
识别模块,用于基于所述第一特征向量和所述第二特征向量融合后的特征向量,确定所述第一待匹配文本和所述第二待匹配文本是否为同义文本。
可选地,特征词的类型包括以下至少一种:实体词、表示地域的词、表示时间的词、英文或数字。
可选地,所述第二特征提取模块,具体用于:
将各种类型的特征词对应的第三特征向量拼接成一个一阶向量;
求所述一阶向量的笛卡尔积,获得一个二阶矩阵;
将所述二阶矩阵确定为第二特征向量。
一方面,本申请一实施例提供了一种内容推送装置,包括:
获取模块,用于获取候选内容以及历史推送内容集合,所述历史推送内容集合中包括至少一个历史推送内容;
同义识别模块,用于针对所述历史推送内容集合中的任一历史推送内容,基于上述任一种同义文本识别方法,确定所述候选内容对应的第一待匹配文本和所述任一历史推送内容对应的第二待匹配文本是否为同义文本;
推送模块,用于若所述第一待匹配文本与所述历史推送内容集合中的各个历史推送内容对应的第二待匹配文本均不是同义文本,则对所述候选内容进行推送。
可选地,所述第一待匹配文本和所述第二待匹配文本为标题、摘要或简介。
一方面,本申请一实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行计算机程序时实现上述任一种同义文本识别方法或任一种内容推送方法的步骤。
一方面,本申请一实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述任一种同义文本识别方法或任一种内容推送方法的步骤。
本申请实施例提供的同义文本识别及内容推荐方法、装置、电子设备及存储介质,获取表征第一待匹配文本和第二待匹配文本之间的深层语义特征的匹配度的第二特征向量,同时从第一待匹配文本和第二待匹配文本中分别提取特征词,基于提取的特征词之间的重合度,获得表征两个文本间浅层相似度的第二特征向量,基于融合了浅层特征向量和深层特征向量的特征向量,确定这两个文本是否为同义文本。由于融合后的特征向量中包括浅层特征向量和深层特征向量,因此,融合后的特征向量既保留了两个文本的深层语义特征间的匹配度,又保留了文本浅层的细节信息,从而能够准确区分整体相似度较高但局部细节不同的两个文本,降低了同义文本的误判率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的同义文本识别方法的应用场景示意图;
图2为本申请一实施例提供的同义文本识别方法的流程示意图;
图3为本申请一实施例提供的一种同义识别模型的结构示意图;
图4为本申请一实施例提供的同义文本识别方法中获得第二特征向量的流程示意图;
图5为本申请一实施例提供的不同类型的特征词所对应的特征条件;
图6为本申请一实施例提供的内容推送方法的流程示意图;
图7为本申请一实施例提供的同义文本识别装置的结构示意图;
图8为本申请一实施例提供的内容推送装置的结构示意图;
图9为本申请一实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
为了方便理解,下面对本申请实施例中涉及的名词进行解释:
自然语言处理(Nature Language processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
多媒体内容:是指多种媒体的综合,一般包括文本、音频、图像、视频、动画特效等多种媒体形式。
BERT(Bidirectional Encoder Representations from Transformers):是基于Transformer的双向编码器表征,其中双向的意思表示它在处理一个词的时候,能考虑到该词前面和后面单词的信息,从而获取上下文的语义。
命名实体:即实体词,一般指的是文本中具有特定意义或者指代性强的实体,通常包括人名、地名、组织机构名、专有名词等。命名实体这个概念可以很广,只要是业务需要的特殊文本片段都可以称为命名实体。
命名实体识别(Named Entities Recognition,NER):是自然语言处理的一个基础任务,目的是从非结构化的输入文本中抽取出命名实体。NER任务中的常用模型包括生成式模型HMM(Hidden Markov Model,隐马尔可夫模型)、判别式模型CRF(ConditionalRandomField,条件随机场)等。判别式模型CRF是NER目前的主流模型,它的目标函数不仅考虑输入的状态特征函数,而且还包含了标签转移特征函数。
正则表达式:又称规则表达式,英语全称为Regular Expression,是计算机科学的一个概念,正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。
同义文本:即语义相同的多个文本。例如“眉山10月21日局地停电信息”和“眉山10月21日局地停电通知”都是关于眉山10月21日局地停电,为同义文本。
笛卡尔乘积:是指在数学中,两个集合X和Y的笛卡尔积(Cartesian product),又称直积,表示为X×Y,第一个对象是X的成员而第二个对象是Y的所有可能有序对的其中一个成员。
附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
在具体实践过程中,通常基于已训练的神经网络模型,提取表征两个文本之间匹配度的特征向量,然后将该特征向量输入预先训练的二分类器,获得上述两个文本是否为同义文本的分类结果。通常需要采用较深的神经网络模型,例如12层的神经网络模型,以获得输入文本深层的语义特征,使得模型更加智能,能够识别出各种表达方式不同但实质内容相同的同义文本,提高识别出重复内容的准确度。但是,本申请发明人发现,神经网络模型的网络层数越多,越容易丢失输入文本浅层的细节特征,导致整体相似度较高但局部细节不同的两个文本被误判为同义文本,例如:“眉山10月21日局地停电信息”和“铜川10月21日局地停电信息”中,仅“眉山”和“铜川”不同,其余内容完全相同,经过神经网络模型的多层特征提取后,大概率会丢失掉这个微小的区别,从而将上述两个文本误判为同义文本。因此,文本浅层的细节信息对于同义文本的识别至关重要,现有技术丢失了文本浅层的细节信息,导致同义文本的误判率较高。
为此,本申请的发明人考虑到,从两个文本中分别提取特征词,基于提取的特征词之间的重合度,获得表征两个文本间浅层相似度的第二特征向量(即浅层特征向量),同时获取表征第一待匹配文本和第二待匹配文本之间的深层语义特征的匹配度的第一特征向量(即深层特征向量),基于融合了浅层特征向量和深层特征向量的特征向量,确定这两个文本是否为同义文本。由于融合后的特征向量中包括浅层特征向量和深层特征向量,因此,融合后的特征向量既保留了两个文本的深层语义特征间的匹配度,又保留了文本浅层的细节信息,从而能够准确区分整体相似度较高但局部细节不同的两个文本,降低了同义文本的误判率。
在介绍完本申请实施例的设计思想之后,下面对本申请实施例的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本申请实施例而非限定。在具体实施时,可以根据实际需要灵活地应用本申请实施例提供的技术方案。
参考图1,其为本申请实施例提供的同义文本识别方法的应用场景示意图。该应用场景包括多个终端设备101(包括终端设备101-1、终端设备101-2……终端设备101-n)和服务器102。其中,终端设备101、服务器102之间通过无线或有线通信网络连接。终端设备101包括但不限于桌面计算机、移动电话、移动电脑、平板电脑、媒体播放器、智能可穿戴设备、智能电视、车载设备、个人数字助理(personal digital assistant,PDA)、销售终端(pointof sales,POS)等电子设备。服务器102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
服务器102用于向终端设备101提供多媒体内容推送服务,例如向终端设备101推送新闻、视频、音频、文章、小说等多媒体内容。服务器102中存储有多媒体内容和历史推送内容集合,历史推送内容集合中包括服务器102已经向终端设备101推送的多媒体内容。服务器102从存储的多媒体内容中选出候选内容,将每个候选内容与历史推送内容集合中的内容进行同义文本识别,若某一候选内容与历史推送内容集合中所有的内容均不为同义文本,表示之前并没有推送过该候选内容,将该候选内容添加到待推送集合中,否则不将该候选内容添加到待推送集合中。服务器102将待推送集合中的内容推送给终端设备101。
具体实施时,所有终端设备101可对应同一历史推送内容集合,或者不同的终端设备101分别对应一个历史推送内容集合,例如,终端设备101-1对应历史推送内容集合U1,终端设备101-2对应历史推送内容集合U2,因此推送给各个终端设备101的内容是不同的。
在上述过程中,服务器102可不断接收并存储新上传的多媒体内容,具体地,可通过后台上传多媒体内容,也可以由各个终端设备101向服务器102上传多媒体内容。
服务器102还可以对存储的多媒体内容进行去重处理或聚类处理。例如,将新上传的多媒体内容与服务器102中存储的多媒体内容进行同义文本识别,将属于同义文本的多媒体内容合并存储,或者仅保留属于同义文本的多个内容中的一个多媒体内容,这样可以过滤掉大量重复的信息,降低服务器的存储压力,实现内容分类,有助于提高后续内容推荐的效率。
当然,本申请实施例提供的方法并不限用于图1所示的应用场景中,还可以用于其它可能的应用场景,本申请实施例并不进行限制。对于图1所示的应用场景的各个设备所能实现的功能将在后续的方法实施例中一并进行描述,在此先不过多赘述。
为进一步说明本申请实施例提供的技术方案,下面结合附图以及具体实施方式对此进行详细的说明。虽然本申请实施例提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在所述方法中可以包括更多或者更少的操作步骤。在逻辑上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。
下面结合图1所示的应用场景,对本申请实施例提供的技术方案进行说明。本申请实施例提供的方案涉及人工智能的机器学习和自然语音处理等技术,具体通过如下各个实施例进行说明。
参考图2,本申请实施例提供一种同义文本识别方法,可应用于图1所示的服务器,包括以下步骤:
S201、基于第一待匹配文本和第二待匹配文本获得第一特征向量,第一特征向量表征第一待匹配文本和第二待匹配文本之间的深层语义特征的匹配度。
具体实施时,可将第一待匹配文本和第二待匹配文本输入已训练的神经网络模型,基于神经网络模型获得第一特征向量。其中,神经网络模型可以是基于分类的匹配模型,该匹配模型对第一待匹配文本和第二待匹配文本的拼接序列进行建模并提取出第一特征向量,这类匹配模型典型的代表是神经机器翻译模型中的BERT模型。
具体实施时,可将第一待匹配文本text1和第二待匹配文本text2拆分为字序列,text1的字序列为:Char1_1Char1_2...Char_1_n,text2的字序列为:Char2_1Char2_2...Char2_m,其中Char1_1表示text1中的第一个字,Char1_2表示text1中的第二个字,以此类推。然后,按照如下规则将text1的字序列和text2的字序列拼接成一个字符序列(即拼接序列):[CLS]Char1_1Char1_2...Char_1_n[SEP]Char2_1Char2_2...Char2_n[SEP],其中[CLS]和[SEP]是预定义的标记符号,以区分text1和text1的字序列。将拼接得到的字符序列输入神经网络模型,获得第一特征向量。
S202、基于第一待匹配文本和第二待匹配文中的特征词,获得第二特征向量,第二特征向量表征第一待匹配文本中的特征词和第二待匹配文本中的特征词之间的重合度。
其中,特征词是符合预设条件的词,例如实体词、表示地域的词、表示时间的词、英文或数字等都可以是特征词,本申请实施例不作限定。
具体实施时,可利用NER工具或通过正则表达式等方式,从第一待匹配文本和第二待匹配文中提取出特征词。例如,可利用NER工具从第一待匹配文本和第二待匹配文中提取出实体词和表示地域的词,利用正则表达式从第一待匹配文本和第二待匹配文中提取出表示时间的词、英文或数字等。上述提取特征词的方法均为现有技术,不再赘述。
具体实施时,可统计第一待匹配文本和第二待匹配文本中,相同特征词的数量和同义词的数量,基于相同特征词的数量和同义词的数量,确定第二特征向量。其中,相同特征词的数量和同义词的数量越多,表示第一待匹配文本和第二待匹配文本的重合度越高。
S203、基于第一特征向量和第二特征向量融合后的特征向量,确定第一待匹配文本和第二待匹配文本是否为同义文本。
具体实施时,可拼接第一特征向量和第二特征向量,得到融合后的特征向量,将融合后的特征向量输入已训练的分类器,得到表征第一待匹配文本和第二待匹配文本是否为同义文本的分类结果。
由于第一特征向量表征第一待匹配文本和第二待匹配文本之间的深层语义特征的匹配度,第二特征向量表征第一待匹配文本中的特征词和第二待匹配文本中的特征词之间的重合度,因此,融合后的特征向量中既保留了深层语义特征,又保留了文本浅层的细节信息,从而能够准确区分整体相似度较高但局部细节不同的两个文本,降低了同义文本的误判率。
例如:第一待匹配文本为“诗歌获奖作品展:张某的诗”,第二待匹配文本为“诗歌获奖作品展:李某的诗”,两者表达语义基本相同,均是某一诗歌获奖者的作品展,区别在于:第一待匹配文本中的获奖者是张某,而第二待匹配文本中的获奖者是李某。因此,第一待匹配文本和第二待匹配文本的深层语义特征基本相同,当仅基于第一待匹配文本和第二待匹配文本的第一特征向量进行分类时,会误将第一待匹配文本和第二待匹配文本判断为同义文本。为此,可基于特征词获得第一待匹配文本和第二待匹配文本浅层的细节信息,从第一待匹配文本中提取出的特征词(此处为人名类的实体词)为“张某”,从第二待匹配文本中提取的特征词(此处为人名类的实体词)为“李某”,特征词“张某”和“李某”的不同会体现在第二特征向量中,因此,当融合第二特征向量之后,融合后的特征向量中既保留了深层语义特征,又保留了文本浅层的细节信息,从而不会将第一待匹配文本和第二待匹配文本识别为同义文本。
参考图3,为本申请实施例提供的一种同义识别模型,该同义识别模型包括深层特征抽取模块、浅层特征抽取模块、特征组合模块和分类模块,基于该同义识别模型可实现图2所示的同义文本识别方法。其中,深层特征抽取模块可以是一个12层Transformer网络的BERT模型;分类模块是一个二分类器,具体可以是Softmax回归模型。首先,分别将第一待匹配文本text1和第二待匹配文本text2拆分为字序列,text1的字序列为:Char1_1Char1_2...Char_1_n,text2的字序列为:Char2_1Char2_2...Char2_m。然后,将text1的字序列和text2的字序列拼接成一个字符序列(即拼接序列):[CLS]Char1_1Char1_2...Char_1_n[SEP]Char2_1Char2_2...Char2_n[SEP],将拼接得到的字符序列输入BERT模型,获得表征第一待匹配文本和第二待匹配文本之间的第一特征向量;与此同时,将text1的字序列和text2的字序列输入浅层特征抽取模块,浅层特征抽取模块用于执行步骤S202,即分别从第一待匹配文本和第二待匹配文中提取的特征词,基于提取的特征词获得第二特征向量。特征组合模块将深层特征抽取模块输出的第一特征向量和浅层特征抽取模块输出的第二特征向量进行融合处理,将融合特征向量输入分类模块。分类模块基于输入的融合特征向量进行二分类,获得表征第一待匹配文本和第二待匹配文本是否为同义文本的分类结果。
具体实施时,可通过如下步骤训练上述同义识别模型:
第一步:获取训练样本集,训练样本集中的每个训练样本包括第一文本、第二文本以及标注信息,标注信息为表示第一文本和第二文本是否为同义文本的信息。例如,若标注信息为“1”,则表示第一文本和第二文本为同义文本;若标注信息为“0”,则表示第一文本和第二文本不是同义文本。
第二步:将训练样本中的第一文本和第二文本分别拆分为字序列,拼接第一文本的字序列和第二文本的字序列得到一个字符序列。
第三步:将第二步中获得的字符序列输入深层特征抽取模块,获得训练样本对应的第一特征向量。
第四步:将第二步中获得的第一文本的字序列和第二文本的字序列输入浅层特征抽取模块,获得第二特征向量。
其中,第三步和第四步可同步执行。
第五步:特征组合模块将第三步中的第一特征向量和第四步中的第二特征向量进行融合处理,将融合特征向量输入分类模块,分类模块基于输入的融合特征向量进行二分类,获得表征第一待匹配文本和第二待匹配文本是否为同义文本的分类结果。
其中,若分类结果为“1”,则表示训练样本中的第一文本和第二文本为同义文本;若分类结果为“0”,则表示第一文本和第二文本不是同义文本。
第六步:基于分类模块输出的分类结果和训练样本的标注信息,计算损失函数,基于损失函数更新深层特征抽取模块和分类模块中的参数。
其中,损失函数可以是均方误差损失函数、SVM(Support Vector Machine,支持向量机)合页损失函数、交叉熵损失函数等,本申请实施不作限定。例如,损失函数可以是:
其中,p(x)为分类模块输出的分类结果,y(x)为训练样本的标注信息。
第七步:重复上述第二步至第六步,直至满足训练结束条件。
其中,训练结束条件可以是训练次数达到预设次数,或者同义识别模型输出的分类结果的精度达到要求等,本申请实施不作限定。
在上述任一实施方式的基础上,可对提取的特征词进行分类,即从待匹配文本(包括第一待匹配文本和第二待匹配文本)中提取不同类型的特征词。本申请实施例对特征词的类型的划分方式不作限定,例如,特征词的类型包括以下至少一种:实体词、表示地域的词(后续简称为地域词)、表示时间的词(后续简称为时间词)、英文或数字。
基于此,参考图4,上述步骤S202具体包括:
S401、针对任一类型的特征词,获得第一待匹配文本和第二待匹配文本中任一类型的特征词之间的重合度。
S402、基于各种类型的特征词所对应的重合度,获得第二特征向量。
例如,第一待匹配文本为“眉山10月21日局地停电信息”,第二待匹配文本为“铜川10月21日局地停电信息”。基于第一待匹配文本中的地域词“眉山”和第二待匹配文本中的地域词“铜川”确定地域词对应的重合度,基于第一待匹配文本中的时间词“10月21日”和第二待匹配文本中的时间词“10月21日”确定时间词对应的重合度,然后基于地域词对应的重合度和时间词对应的重合度,获得第二特征向量。
通过提取多种类型的特征词,并针对每种类型的特征词分别确定对应的重合度,来增加第二特征向量的维度,使得第二特征向量能够更准确地表达出两个文本之间的相似和区别。
进一步地,为了方便获得第二特征向量各个维度的特征值,每种类型的特征词对应一个表征重合度的第三特征向量,第三特征向量中的每个特征维度对应一个特征条件。
基于此,步骤S401中,获得第一待匹配文本和第二待匹配文本中任一类型的特征词之间的重合度,具体包括:针对任一类型的特征词所对应的任一特征条件,若确定第一待匹配文本中的该类型的特征词和第二待匹配文本中的该类型的特征词之间满足该特征条件,则确定该特征条件对应的特征维度的特征值为1,否则为0。
具体实施时,从第一待匹配文本中提取的某一类型的特征词,可存入该类型对应的第一集合中,从第二待匹配文本中提取的某一类型的特征词,可存入该类型对应的第二集合中。
针对每种类型的特征词,其所对应的特征条件可包括以下至少一个:(1)第一集合中至少存在一个特征词,与第二集合中的特征词相同;(2)第一集合中的任一特征词与第二集合中的任一特征词均不相同;(3)第一集合和第二集合中有且只有一个空集;(4)第一集合和第二集合均为空集。当某一类型的特征词对应的特征条件包含上述四个条件时,该类型的特征词对应的第三特征向量包含4个特征维度。
参考图5,为不同类型的特征词所对应的特征条件。以实体词为例,若满足条件(1),则表示第一待匹配文本和第一待匹配文本中存在相同的实体词。若满足条件(2),则表示第一待匹配文本和第一待匹配文本中都存在实体词,但实体词均不同。若满足条件(3),则表示第一待匹配文本和第二待匹配文本中,有且只有一个文本中存在实体词。若满足条件(4),则表示第一待匹配文本和第二待匹配文本中,都不存在实体词。这样,针对每种类型的特征词,可得到该类型的特征词所对应的第三特征向量,该第三特征向量包含4个维度。例如,针对实体词,第一待匹配文本和第一待匹配文本仅满足条件(1),则实体词对应的第三特征向量为(1,0,0,0);针对地域词,第一待匹配文本和第一待匹配文本仅满足条件(2),则地域词对应的第三特征向量为(0,1,0,0)。
然后,将基于各种类型的特征词所对应的重合度,获得第二特征向量。在一种可能的实施方式中,可以将各种类型的特征词对应的第三特征向量按序拼接,将拼接后的特征向量作为第二特征向量。例如,设置了图5所示的5类特征词,实体词对应的第三特征向量为(1,0,0,0),地域词对应的第三特征向量为(0,1,0,0),时间词的第三特征向量为(1,0,0,0),英文对应的第三特征向量为(0,0,0,1),数字词的第三特征向量为(0,0,0,1),则拼接得到的第二特征向量为(1,0,0,0,0,1,0,0,1,0,0,0,0,0,0,1,0,0,0,1)。
在另一种可能的实施方式中,步骤S402具体包括:将各种类型的特征词对应的第三特征向量拼接成一个一阶向量;求一阶向量的笛卡尔积,获得一个二阶矩阵;将二阶矩阵确定为第二特征向量。
例如,设置了图5所示的5类特征词,实体词对应的第三特征向量为(1,0,0,0),地域词对应的第三特征向量为(0,1,0,0),时间词的第三特征向量为(1,0,0,0),英文对应的第三特征向量为(0,0,0,1),数字词的第三特征向量为(0,0,0,1),则拼接得到的一个20维的一阶向量为(1,0,0,0,0,1,0,0,1,0,0,0,0,0,0,1,0,0,0,1)。求(1,0,0,0,0,1,0,0,1,0,0,0,0,0,0,1,0,0,0,1)×(1,0,0,0,0,1,0,0,1,0,0,0,0,0,0,1,0,0,0,1),得到一个400维的二阶矩阵,将该二阶矩阵确定为第二特征向量。
通过笛卡尔积对一阶向量中各个特征维度进行组合,可以扩展第二特征向量的维度,使得第二特征向量能够表达出更加丰富的浅层特征,提高后续同义文本识别的准确率。
参考图6,基于与上述同义文本识别方法相同的发明构思,本申请实施例还提供了一种内容推送方法,可应用于图1所示的服务器,具体包括以下步骤:
S601、获取候选内容以及历史推送内容集合,历史推送内容集合中包括至少一个历史推送内容。
S602、针对历史推送内容集合中的任一历史推送内容,确定候选内容对应的第一待匹配文本和任一历史推送内容对应的第二待匹配文本是否为同义文本。
具体实施时,可通过本申请实施例中提供的任一种同义文本识别方法,确定候选内容对应的第一待匹配文本和任一历史推送内容对应的第二待匹配文本是否为同义文本。
其中,第一待匹配文本和第二待匹配文本可以为标题、摘要或简介,具体可根据推送内容的类型确定,本申请实施例不作限定。例如,当推送内容为新闻或视频时,第一待匹配文本为候选内容的标题,第二待匹配文本为历史推送内容的标题;当推送内容为文章时,第一待匹配文本为候选内容的摘要,第二待匹配文本为历史推送内容的摘要。
S603、若第一待匹配文本与历史推送内容集合中的各个历史推送内容对应的第二待匹配文本均不是同义文本,则对该候选内容进行推送。
其中,若第一待匹配文本与历史推送内容集合中的任一历史推送内容对应的第二待匹配文本为同义文本,则不推送该候选内容。
具体实施时,服务器中存储有多媒体内容和历史推送内容集合,历史推送内容集合中包括服务器已经向终端设备推送的多媒体内容。服务器从存储的多媒体内容中选出候选内容,将每个候选内容与历史推送内容集合中的内容进行同义文本识别,若某一候选内容的第一待匹配文本与历史推送内容集合中每个内容所对应的第二待匹配文本均不为同义文本,表示之前并没有推送过该候选内容,将该候选内容添加到待推送集合中,否则不将该候选内容添加到待推送集合中。服务器将待推送集合中的内容推送给终端设备。
具体实施时,服务器可仅设置一个历史推送内容集合,即所有终端设备对应同一历史推送内容集合。服务器也可以针对每个用户设置一个单独的历史推送内容集合,即每个终端设备分别对应一个历史推送内容集合,每个历史推送内容集合中存储已经推送给该用户的内容,因此推送给各个终端设备的内容是不同的。
通过本申请实施例提供的同义文本识别方法,将候选内容与历史推送内容集合中的历史推送内容进行比对,若确定该候选内容与历史推送内容集合中所有的内容均不为同义文本时,再将该候选内容推送给用户,可防止重复推送相同的内容,提高用户体验。
实际应用中,服务器可不断接收并存储新上传的多媒体内容。为此,服务器还可以基于本申请实施例提供的同义文本识别方法,对存储的多媒体内容进行去重处理或聚类处理。例如,将新上传的多媒体内容与服务器中存储的多媒体内容进行同义文本识别,将属于同义文本的多媒体内容合并存储,或者仅保留属于同义文本的多个内容中的一个多媒体内容,这样可以过滤掉大量重复的信息,降低服务器的存储压力,实现内容分类,有助于提高后续内容推荐的效率。
如图7所示,基于与上述同义文本识别方法相同的发明构思,本申请实施例还提供了一种同义文本识别装置70,具体包括:第一特征提取模块701、第二特征提取模块702和识别模块703。
第一特征提取模块701,用于基于第一待匹配文本和第二待匹配文本获得第一特征向量,第一特征向量表征第一待匹配文本和第二待匹配文本之间的深层语义特征的匹配度。
第二特征提取模块702,用于基于第一待匹配文本和第二待匹配文中的特征词,获得第二特征向量,第二特征向量表征第一待匹配文本中的特征词和第二待匹配文本中的特征词之间的重合度。
识别模块703,用于基于第一特征向量和第二特征向量融合后的特征向量,确定第一待匹配文本和第二待匹配文本是否为同义文本。
可选地,第二特征提取模块702具体用于:针对任一类型的特征词,获得第一待匹配文本和第二待匹配文本中任一类型的特征词之间的重合度;基于各种类型的特征词所对应的重合度,获得第二特征向量。
可选地,每种类型的特征词对应一个表征重合度的第三特征向量,第三特征向量中的每个特征维度对应一个特征条件。
相应地,第二特征提取模块702具体用于:针对任一类型的特征词所对应的任一特征条件,若确定第一待匹配文本中的任一类型的特征词和第二待匹配文本中的任一类型的特征词之间满足任一特征条件,则确定任一特征条件对应的特征维度的特征值为1,否则为0。
可选地,任一类型的特征词所对应的特征条件包括以下至少一个:第一集合中至少存在一个特征词,与第二集合中的特征词相同;第一集合中的任一特征词与第二集合中的任一特征词均不相同;第一集合和第二集合中有且只有一个空集;以及第一集合和第二集合均为空集。其中,第一集合用于存储第一待匹配文本中的任一类型的特征词,第二集合用于存储第二待匹配文本中的任一类型的特征词。
可选地,特征词的类型包括以下至少一种:实体词、表示地域的词、表示时间的词、英文或数字。
可选地,第二特征提取模块702具体用于:将各种类型的特征词对应的第三特征向量拼接成一个一阶向量;求一阶向量的笛卡尔积,获得一个二阶矩阵;将二阶矩阵确定为第二特征向量。
本申请实施例提的同义文本识别装置与上述同义文本识别方法采用了相同的发明构思,能够取得相同的有益效果,在此不再赘述。
如图8所示,基于与上述内容推送方法相同的发明构思,本申请实施例还提供了一种内容推送装置80,具体包括:获取模块801、同义识别模块802和推送模块803。
获取模块801,用于获取候选内容以及历史推送内容集合,历史推送内容集合中包括至少一个历史推送内容。
同义识别模块802,用于针对历史推送内容集合中的任一历史推送内容,基于上述任一种同义文本识别方法,确定候选内容对应的第一待匹配文本和任一历史推送内容对应的第二待匹配文本是否为同义文本。
推送模块803,用于若第一待匹配文本与历史推送内容集合中的各个历史推送内容对应的第二待匹配文本均不是同义文本,则对候选内容进行推送。
可选地,第一待匹配文本和第二待匹配文本为标题、摘要或简介。
本申请实施例提的内容推送装置与上述内容推送方法采用了相同的发明构思,能够取得相同的有益效果,在此不再赘述。
基于与上述同义文本识别方法相同的发明构思,本申请实施例还提供了一种电子设备,该电子设备具体可以为图1所示的终端设备或服务器等。如图9所示,该电子设备90可以包括处理器901和存储器902。
处理器901可以是通用处理器,例如中央处理器(CPU)、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器902作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random Access Memory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器902还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
本申请实施例提供了一种计算机可读存储介质,用于储存为上述电子设备所用的计算机程序指令,其包含用于执行上述同义文本识别方法或内容推荐方法的程序。
上述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(SSD))等。
以上,以上实施例仅用以对本申请的技术方案进行了详细介绍,但以上实施例的说明只是用于帮助理解本申请实施例的方法,不应理解为对本申请实施例的限制。本技术领域的技术人员可轻易想到的变化或替换,都应涵盖在本申请实施例的保护范围之内。