基于长文本标签化的内容召回方法及系统与流程

文档序号:25043787发布日期:2021-05-14 11:33阅读:248来源:国知局
基于长文本标签化的内容召回方法及系统与流程

1.本申请涉及互联网技术领域,特别是涉及基于长文本标签化的内容召回方法及系统。


背景技术:

2.而新闻内容召回工作是新闻推荐领域中的一项重要工作。现有技术中,由于新闻篇数多,新闻的特征总量大,通过传统的新闻召回方式召回的新闻资讯有些不符合用户兴趣。
3.文本多标签分类作为自然语言处理中一个重要的部分,其主要目的是将新闻文本内容按照构建好的分类体系进行划分,给新闻内容打标签可以辅助用户分析和用户洞察,帮助业务人员快速的对新闻有一个认知,然后发现里面显著的特征,获得一些商业灵感,有助于我们发现用户的偏好,为用户推荐更好更恰当的新闻,还可以丰富数据的维度,辅助业务落地。
4.而已知每个新闻文本有多个标签,目前主要采用机器学习和深度学习算法进行文本分类,利用word2vec(word to vector,用于将单词转换成向量形式的工具)有效地提取新闻内容中语义信息,构建了基于机器学习和深度学习的分类模型,实现了网络新闻平台上新闻内容的自动分类;效果较好的是基于bert(bidirectional encoder representation from transformers,双向注意力神经网络模型)预训练模型的文本分类,但是由于模型较为复杂,目前工业界上线较困难。
5.由于显存占用和算力的限制,bert等预训练语言模型的输入一般来说最长512个token,某些场景下处理长文本分类,bert可能还不如cnn(convolutional neural networks,卷积神经网络)效果好。但是,尽管cnn在文本分类任务中效果显著,其难以捕获长期的上下文信息和非连续字之间的相关性。bert虽然强大,但在低耗时场景、少机器场景下,直接拿bert部署分类模型通常行不通,对于训练一个轻量级的浅层bert,由于新闻领域与原始训练模型领域的差距,需要重新预训练,即使这样,在加入业务相关特征的时候推断时间上依然是个问题。此外,由于样本分布不平衡导致的分类模型存在很严重的偏向性。


技术实现要素:

6.本申请实施例提供了一种基于长文本标签化的内容召回方法、系统、计算机设备和计算机可读存储介质,利用textcnn对数据进行预测分类标签,基于得到的分类标签对新闻进行召回,提高召回的多样性。
7.第一方面,本申请实施例提供了一种基于长文本标签化的内容召回方法,包括:
8.标签体系构建步骤,用于构建标签体系;
9.数据预处理步骤,用于获取原始数据集并基于所述原始数据集及所述标签体系构建输入数据和字典;
10.新闻分类步骤,用于构建一textcnn模型并利用一测试数据集及一标注数据集训
练所述textcnn模型为目标textcnn模型,利用所述目标textcnn模型对所述测试数据集进行分类预测,输出分类标签。
11.内容召回步骤,用于将所述用户数据、新闻内容及分类标签表示为图,根据所述新闻节点相对于用户节点的相关性对所述新闻节点进行筛选并召回,具体的,将所述用户数据、新闻内容及分类标签根据用户行为以图的形式表示为用户节点、新闻节点、标签节点并设置节点之间的权重,所述图是由顶点、边及边的权重组成,基于personalrank算法计算所述新闻节点相对于用户节点在图上的相关性,根据所述相关性及一预设范围对所述新闻节点进行降序筛选并召回。具体的,personalrank算法对通过连接的边为每个节点打分计算相关性,按照相关性从大到小的排序,召回排名前n个新闻,所述n为自然数。
12.基于上述步骤,本申请实施例利用textcnn模型有效解决了现有技术中lstm模型进行长文本分类容易产生梯度消失的问题,通过图推荐算法personalrank算法召回新闻内容,增加召回的多样性。
13.在其中一些实施例中,所述新闻分类步骤进一步包括:
14.模型构建步骤,用于构建带注意力机制的所述textcnn模型,该步骤对模型引入注意力机制更便于引入业务相关的特征;
15.数据蒸馏步骤,用于基于所述测试数据集对bert模型进行训练后,利用训练得到的bert模型对所述未标注数据集进行标注得到标注数据集后,再利用所述测试数据集和标注数据集对textcnn模型进行训练,得到目标textcnn模型,该测试数据集、未标注数据集输入到模型中的内容均为基于数据预处理步骤构建的;
16.数据标签获取步骤,用于利用所述目标textcnn模型对所述测试数据集进行分类预测,得到对应的分类标签。
17.在其中一些实施例中,所述textcnn模型进一步包括:
18.词向量层,用于将输入数据转化为词向量并输出;
19.注意力机制层,用于为每个字创建上下文向量,有效解决了上下文和非连续字之间的的相关性;
20.卷积层,用于将所述词向量及所述上下文向量作为字的表示输入所述卷积层进行卷积操作,再使用激活函数激活,每个卷积核都得到了对应的多个特征图feature maps,所述卷积层至少包括6个卷积核,尺寸为2
×
5、3
×
5、5
×
5,每个尺寸各2个;
21.池化层,用于对卷积层输出的多个特征图feature maps进行池化操作,可选的,所述池化层使用最大池化max pooling提取出每个特征图feature map的最大值,然后进行级联得到特征表示;
22.输出层,用于基于softmax层及concat vector层进行分类及拼接后输出分类标签。
23.在其中一些实施例中,所述数据预处理步骤进一步包括:
24.原始数据集获取步骤,用于获取所述原始数据集,所述原始数据集进一步包括:用户数据、新闻内容及新闻标题;
25.输入数据构建步骤,用于提取所述新闻内容的关键词,组合所述新闻标题、关键词、新闻内容得到输入数据;
26.字典构建步骤,用于对所述输入数据以字为单位分割得到若干字元素并统计每一
字元素的频率,基于一频率阈值min_freq对所述若干字元素筛选、降序排序并基于一设定字典大小max_size构建字典,具体的,基于频率阈值min_freq对频率大于预设频率阈值min_freq的字元素进行排序,取前max_size个元素,按照频率降序构建字典。
27.在其中一些实施例中,所述数据蒸馏步骤进一步包括:
28.bert模型训练步骤,利用bert预训练模型基于所述测试数据集训练所述bert模型;
29.数据标注步骤,用于利用所述bert模型对所述未标注数据集进行预测,输出准确率大于0.9的作为补充语料,得到标注数据集;
30.textcnn模型训练步骤,用于基于所述测试数据集和所述标注数据集对所述textcnn模型进行训练,得到目标textcnn模型。
31.为了解决新闻推荐场景的无标注数据规模较大的问题,基于上述步骤,利用bert模型对未标注数据进行伪标再让textcnn模型进行学习,有效提高分类结果有效性和精确度。
32.在其中一些实施例中,所述textcnn模型计算注意力机制的attention权重时使用以任一字为中心的高斯核函数进行衰减。采用改进版的注意力机制有效减少运算的时间复杂度。
33.第二方面,本申请实施例提供了一种基于长文本标签化的内容召回系统,包括:
34.标签体系构建模块,用于构建标签体系;
35.数据预处理模块,用于获取原始数据集并基于所述原始数据集及所述标签体系构建输入数据和字典;
36.新闻分类模块,用于构建一textcnn模型并利用一测试数据集及一标注数据集训练所述textcnn模型为目标textcnn模型,利用所述目标textcnn模型对所述测试数据集进行分类预测,输出分类标签;
37.内容召回模块,用于将所述用户数据、新闻内容及分类标签表示为图,根据所述新闻节点相对于用户节点的相关性对所述新闻节点进行筛选并召回,具体的,将所述用户数据、新闻内容及分类标签根据用户行为以图的形式表示为用户节点、新闻节点、标签节点并设置节点之间的权重,所述图是由顶点、边及边的权重组成,基于personalrank算法计算所述新闻节点相对于用户节点在图上的相关性,根据所述相关性及一预设范围对所述新闻节点进行降序筛选并召回。具体的,personalrank算法对通过连接的边为每个节点打分计算相关性,按照相关性从大到小的排序,召回排名前n个新闻,所述n为自然数。
38.基于上述模块,本申请实施例利用textcnn模型有效解决了现有技术中lstm模型进行长文本分类容易产生梯度消失的问题,通过图推荐算法personalrank算法召回新闻内容,增加召回的多样性。
39.在其中一些实施例中,所述新闻分类模块进一步包括:
40.模型构建模块,用于构建带注意力机制的所述textcnn模型,该模块对模型引入注意力机制更便于引入业务相关的特征;
41.数据蒸馏模块,用于基于所述测试数据集对bert模型进行训练后,利用训练得到的bert模型对所述未标注数据集进行标注得到标注数据集后,再利用所述测试数据集和标注数据集对textcnn模型进行训练,得到目标textcnn模型;
42.数据标签获取模块,用于利用所述目标textcnn模型对所述测试数据集进行分类预测,得到对应的分类标签。
43.在其中一些实施例中,所述textcnn模型进一步包括:
44.词向量层,用于将输入数据转化为词向量并输出;
45.注意力机制层,用于为每个字创建上下文向量,有效解决了上下文和非连续字之间的的相关性;
46.卷积层,用于将所述词向量及所述上下文向量作为字的表示输入所述卷积层进行卷积操作,再使用激活函数激活,每个卷积核都得到了对应的多个特征图feature maps,所述卷积层至少包括6个卷积核,尺寸为2
×
5、3
×
5、5
×
5,每个尺寸各2个;
47.池化层,用于对卷积层输出的多个特征图feature maps进行池化操作,可选的,所述池化层使用最大池化max pooling提取出每个特征图feature map的最大值,然后进行级联得到特征表示;
48.输出层,用于基于softmax层及concat vector层进行分类及拼接后输出分类标签。
49.在其中一些实施例中,所述数据预处理模块进一步包括:
50.原始数据集获取模块,用于获取所述原始数据集,所述原始数据集进一步包括:用户数据、新闻内容及新闻标题;
51.输入数据构建模块,用于提取所述新闻内容的关键词,组合所述新闻标题、关键词、新闻内容得到输入数据;
52.字典构建模块,用于对所述输入数据以字为单位分割得到若干字元素并统计每一字元素的频率,基于一频率阈值min_freq对所述若干字元素筛选、降序排序并基于一设定字典大小max_size构建字典,具体的,基于频率阈值min_freq对频率大于预设频率阈值min_freq的字元素进行排序,取前max_size个元素,按照频率降序构建字典。
53.在其中一些实施例中,所述数据蒸馏模块进一步包括:
54.bert模型训练模块,利用bert预训练模型基于所述测试数据集训练所述bert模型;
55.数据标注模块,用于利用所述bert模型对所述未标注数据集进行预测,输出准确率大于0.9的作为补充语料,得到标注数据集;
56.textcnn模型训练模块,用于基于所述测试数据集和所述标注数据集对所述textcnn模型进行训练,得到目标textcnn模型。
57.为了解决新闻推荐场景的无标注数据规模较大的问题,基于上述模块,利用bert模型对未标注数据进行伪标再让textcnn模型进行学习,有效提高分类结果有效性和精确度。
58.在其中一些实施例中,所述textcnn模型计算注意力机制的attention权重时使用以任一字为中心的高斯核函数进行衰减。采用改进版的注意力机制有效减少运算的时间复杂度。
59.第三方面,本申请实施例提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的基于长文本标签化的内容召回方法。
60.第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的基于长文本标签化的内容召回方法。
61.相比于相关技术,本申请实施例提供的基于长文本标签化的内容召回方法、系统、计算机设备和计算机可读存储介质,利用textcnn模型有效解决了现有技术中lstm模型进行长文本分类容易产生梯度消失的问题,通过图推荐算法personalrank算法召回新闻内容,增加召回的多样性。
62.本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
63.此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
64.图1是根据本申请实施例的基于长文本标签化的内容召回方法的流程图;
65.图2是根据本申请实施例的textcnn模型的原理图;
66.图3是根据本申请实施例的基于长文本标签化的内容召回系统的结构框图。
67.附图说明:
68.1、标签体系构建模块;2、数据预处理模块;3、新闻分类模块;
69.4、内容召回模块;21、原始数据集获取模块;22、输入数据构建模块;
70.23、字典构建模块;31、模型构建模块;32、数据蒸馏模块;
71.33、数据标签获取模块;321、bert模型训练模块;
72.322、数据标注模块;323、textcnn模型训练模块。
具体实施方式
73.为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
74.显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
75.在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
76.除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
77.本申请中描述的基于长文本标签化的内容召回方法及系统可应用于各种推荐系统,例如新闻推荐系统或者其他任意需要对内容进行标签化分类的推荐系统中。为了实现利用textcnn对数据进行预测分类标签,基于得到的分类标签对新闻进行召回,提高召回的多样性的技术效果,本实施例提供了一种基于长文本标签化的内容召回方法。图1是根据本申请实施例的基于长文本标签化的内容召回方法的流程图,参考图1所示,该流程包括如下步骤:
78.标签体系构建步骤s1,用于构建标签体系;举例而非限制,通过爬取“今日头条”公开的新闻数据集,得到的原始数据集总共分为15大类,包括民生、文化、娱乐、体育、财经、房产、汽车、教育、科技、军事、旅游、国际、证券、农业、电竞,假设由于平台自身数据不均衡,证券类新闻数量明显少于其他类别,因此将证券类划归入财经类,使得数据分布较为均匀,有效解决样本分布不平衡导致的分类模型偏向性问题,对于未知标签,可通过文本聚类的方式初步划分标签;
79.数据预处理步骤s2,用于获取原始数据集并基于原始数据集及标签体系构建输入数据和字典;
80.新闻分类步骤s3,用于构建一textcnn模型并利用一测试数据集及一标注数据集训练该textcnn模型为目标textcnn模型,利用该目标textcnn模型对测试数据集进行分类预测,输出分类标签;
81.内容召回步骤s4,用于将所述用户数据、新闻内容及分类标签表示为图,根据所述新闻节点相对于用户节点的相关性对所述新闻节点进行筛选并召回,具体的,将用户数据、新闻内容及分类标签根据用户行为以图的形式表示为用户节点、新闻节点、标签节点并设置节点之间的权重,图是由顶点、边及边的权重组成,基于personalrank算法计算新闻节点相对于用户节点在图上的相关性,根据相关性及一预设范围对新闻节点进行降序筛选并召回。具体的,按照相关性从大到小的排序,召回排名前n个新闻,具体的,n为自然数,n的取值可以是300~500,也可以是根据需求设置的其他数值范围。针对上述内容召回步骤举例说明,如果表示用户u点击了某条新闻i,新闻的标签为b,则表示为(u,i,b),则在用户u对应的顶点v(u)和新闻i对应的顶点v(i)之间增加一条边,值得注意的是,如果这两个顶点已经有边相连,那么就应该将边的权重加1,同理,在v(u)和v(b)之间需要增加一条边,v(i)和v(b)
之间也需要边相连接。
82.基于上述步骤,本申请实施例利用textcnn模型有效解决了现有技术中lstm模型进行长文本分类容易产生梯度消失的问题,通过图推荐算法personalrank算法召回新闻内容,增加召回的多样性。
83.在其中一些实施例中,数据预处理步骤s2进一步包括:
84.原始数据集获取步骤s21,用于获取原始数据集,原始数据集进一步包括:用户数据、新闻内容及新闻标题;
85.输入数据构建步骤s22,用于提取新闻内容的关键词,组合新闻标题、关键词、新闻内容得到输入数据;
86.字典构建步骤s23,用于对输入数据以字为单位分割得到若干字元素并统计每一字元素的频率,基于一频率阈值min_freq对若干字元素筛选、降序排序并基于一设定字典大小max_size构建字典,具体的,基于频率阈值min_freq对频率大于预设频率阈值min_freq的字元素进行排序,取前max_size个元素,按照频率降序构建字典。举例而非限制,基于上述步骤得到一字典d,原始文字内容[

球’,

员’,

莱’,

布’],词向量矩阵基于该字典d将字映射为数字,如[4,5,6,7],4代表

球’在字典d里的位置,5代表

员’在字典d里的位置。其中,超参数min_freq、max_size为根据经验数据量的大小及数据的分布设置取值的,可根据实际需求进行调整。
[0087]
考虑到cnn在文本分类任务中尽管效果显著,但都有一个不足的地方就是不够直观,可解释性不好,而注意力机制attention是自然语言处理领域一个常用的建模长时间记忆机制,能够很直观的给出每个字对结果的贡献,因此,在其中一些实施例中,新闻分类步骤s3进一步包括:
[0088]
模型构建步骤s31,用于构建带注意力机制的textcnn模型,该步骤对模型引入注意力机制更便于引入业务相关的特征;其中,图2是根据本申请实施例的textcnn模型的原理图,参考图2所示,该textcnn模型进一步包括:词向量层,用于将输入数据转化为词向量并输出;注意力机制层,用于为每个字创建上下文向量,有效解决了上下文和非连续字之间的的相关性;卷积层,用于将词向量及上下文向量作为字的表示输入卷积层进行卷积操作,再使用激活函数激活,每个卷积核都得到了对应的多个特征图feature maps,卷积层至少包括6个卷积核,尺寸为2
×
5、3
×
5、5
×
5,每个尺寸各2个;池化层,用于对卷积层输出的多个特征图feature maps进行池化操作,可选的,池化层使用最大池化max pooling提取出每个特征图feature map的最大值,然后进行级联得到特征表示;输出层,用于基于softmax层及concat vector层进行分类及拼接后输出分类标签。
[0089]
数据蒸馏步骤s32,用于基于测试数据集对bert模型进行训练后,利用训练得到的bert模型对未标注数据集进行标注得到标注数据集后,再利用测试数据集和标注数据集对textcnn模型进行训练,得到目标textcnn模型;该测试数据集、未标注数据集输入到模型中的内容均为基于步骤s2构建的。
[0090]
数据标签获取步骤s33,用于利用目标textcnn模型对测试数据集进行分类预测,得到对应的分类标签。
[0091]
在其中一些实施例中,数据蒸馏步骤s32进一步包括:
[0092]
bert模型训练步骤s321,利用bert预训练模型基于测试数据集训练bert模型;
[0093]
数据标注步骤s322,用于利用bert模型对未标注数据集进行预测,输出准确率大于0.9的作为补充语料,得到标注数据集;
[0094]
textcnn模型训练步骤s323,用于基于测试数据集和标注数据集对textcnn模型进行训练,得到目标textcnn模型。
[0095]
为了解决新闻推荐场景的无标注数据规模较大的问题,基于上述步骤,利用bert模型对未标注数据进行伪标再让textcnn模型进行学习,有效提高分类结果有效性和精确度。
[0096]
由于直观来看一对彼此远离的字往往联系较少,因此,本申请实施例将距离衰减添加到注意力机制层中,可选的,本申请实施例引入高斯函数指数衰减;在其中一些实施例中,textcnn模型计算注意力机制中attention的权重时使用以任一字为中心的高斯核函数进行衰减。采用改进版的注意力机制有效减少运算的时间复杂度。
[0097]
需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0098]
本实施例还提供了一种基于长文本标签化的内容召回系统,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
[0099]
图3是根据本申请实施例的基于长文本标签化的内容召回系统的结构框图,如图3所示,该装置包括:
[0100]
标签体系构建模块1,用于构建标签体系;举例而非限制,通过爬取“今日头条”公开的新闻数据集,原始数据集总共分为15大类,包括民生、文化、娱乐、体育、财经、房产、汽车、教育、科技、军事、旅游、国际、证券、农业、电竞,假设由于平台自身数据不均衡,证券类新闻数量明显少于其他类别,因此将证券类划归入财经类,使得数据分布较为均匀,有效解决样本分布不平衡导致的分类模型偏向性问题,对于未知标签,可通过文本聚类的方式初步划分标签;
[0101]
数据预处理模块2,用于获取原始数据集并基于原始数据集及标签体系构建输入数据和字典;
[0102]
新闻分类模块3,用于构建一textcnn模型并利用一测试数据集及一标注数据集训练该textcnn模型为目标textcnn模型,利用该目标textcnn模型对测试数据集进行分类预测,输出分类标签;
[0103]
内容召回模块4,用于将所述用户数据、新闻内容及分类标签表示为图,根据所述新闻节点相对于用户节点的相关性对所述新闻节点进行筛选并召回,具体的,将用户数据、新闻内容及分类标签根据用户行为以图的形式表示为用户节点、新闻节点、标签节点并设置节点之间的权重,图是由顶点、边及边的权重组成,基于personalrank算法计算新闻节点相对于用户节点在图上的相关性,根据相关性及一预设范围对新闻节点进行降序筛选并召回。具体的,按照相关性从大到小的排序,召回排名前n个新闻,n为自然数,n的取值可以是300~500,也可以是根据需求设置的其他数值范围。针对上述内容召回模块4举例而非限制,如果表示用户u点击了某条新闻i,新闻的标签为b,则表示为(u,i,b),则在用户u对应的
顶点v(u)和新闻i对应的顶点v(i)之间增加一条边,值得注意的是,如果这两个顶点已经有边相连,那么就应该将边的权重加1,同理,在v(u)和v(b)之间需要增加一条边,v(i)和v(b)之间也需要边相连接。
[0104]
基于上述模块,本申请实施例利用textcnn模型有效解决了现有技术中lstm模型进行长文本分类容易产生梯度消失的问题,通过图推荐算法personalrank算法召回新闻内容,增加召回的多样性。
[0105]
其中,数据预处理模块2可以包括:原始数据集获取模块21,用于获取原始数据集,原始数据集进一步包括:用户数据、新闻内容及新闻标题;输入数据构建模块22,用于提取新闻内容的关键词,组合新闻标题、关键词、新闻内容得到输入数据;字典构建模块23,用于对输入数据以字为单位分割得到若干字元素并统计每一字元素的频率,基于一频率阈值min_freq对若干字元素筛选、降序排序并基于一设定字典大小max_size构建字典,具体的,基于频率阈值min_freq对频率大于预设频率阈值min_freq的字元素进行排序,取前max_size个元素,按照频率降序构建字典。举例而非限制,基于上述模块得到一字典d,原始文字内容[

球’,

员’,

莱’,

布’],词向量矩阵基于该字典d将字映射为数字,如[4,5,6,7],4代表

球’在字典d里的位置,5代表

员’在字典d里的位置。其中,超参数min_freq、max_size为根据经验数据量的大小及数据的分布设置取值的,可根据实际需求进行调整。
[0106]
考虑到cnn在文本分类任务中尽管效果显著,但都有一个不足的地方就是不够直观,可解释性不好,而注意力机制attention是自然语言处理领域一个常用的建模长时间记忆机制,能够很直观的给出每个字对结果的贡献,因此,在其中一些实施例中,新闻分类模块3进一步包括:模型构建模块31,用于构建带注意力机制的textcnn模型,以通过引入注意力机制更便于引入业务相关的特征;数据蒸馏模块32,用于基于测试数据集对bert模型进行训练后,利用训练得到的bert模型对未标注数据集进行标注得到标注数据集后,再利用测试数据集和标注数据集对textcnn模型进行训练,得到目标textcnn模型;数据标签获取模块33,用于利用目标textcnn模型对测试数据集进行分类预测,得到对应的分类标签。其中,图2是根据本申请实施例的textcnn模型的原理图,参考图2所示,该textcnn模型进一步包括:词向量层,用于将输入数据转化为词向量并输出;注意力机制层,用于为每个字创建上下文向量,有效解决了上下文和非连续字之间的的相关性;卷积层,用于将词向量及上下文向量作为字的表示输入卷积层进行卷积操作,再使用激活函数激活,每个卷积核都得到了对应的多个特征图feature maps,卷积层至少包括6个卷积核,尺寸为2
×
5、3
×
5、5
×
5,每个尺寸各2个;池化层,用于对卷积层输出的多个特征图feature maps进行池化操作,可选的,池化层使用最大池化max pooling提取出每个特征图feature map的最大值,然后进行级联得到特征表示;输出层,用于基于softmax层及concat vector层进行分类及拼接后输出分类标签。另外,由于直观来看一对彼此远离的字往往联系较少,因此,本申请实施例将距离衰减添加到注意力机制层中,可选的,本申请实施例引入高斯函数指数衰减;textcnn模型计算注意力机制attention的权重时使用以任一字为中心的高斯核函数进行衰减。采用改进版的注意力机制有效减少运算的时间复杂度。
[0107]
其中,数据蒸馏模块32进一步包括:bert模型训练模块321,利用bert预训练模型基于测试数据集训练bert模型;数据标注模块322,用于利用bert模型对未标注数据集进行预测,输出准确率大于0.9的作为补充语料,得到标注数据集;textcnn模型训练模块323,用
于基于测试数据集和标注数据集对textcnn模型进行训练,得到目标textcnn模型。
[0108]
为了解决新闻推荐场景的无标注数据规模较大的问题,基于上述模块,利用bert模型对未标注数据进行伪标再让textcnn模型进行学习,有效提高分类结果有效性和精确度。
[0109]
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
[0110]
另外,结合图1描述的本申请实施例基于长文本标签化的内容召回方法可以由计算机设备来实现。计算机设备可以包括处理器以及存储有计算机程序指令的存储器。
[0111]
具体地,上述处理器可以包括中央处理器(cpu),或者特定集成电路(application specific integrated circuit,简称为asic),或者可以被配置成实施本申请实施例的一个或多个集成电路。
[0112]
其中,存储器可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器可包括硬盘驱动器(hard disk drive,简称为hdd)、软盘驱动器、固态驱动器(solid state drive,简称为ssd)、闪存、光盘、磁光盘、磁带或通用串行总线(universal serial bus,简称为usb)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器可在数据处理装置的内部或外部。在特定实施例中,存储器是非易失性(non

volatile)存储器。在特定实施例中,存储器包括只读存储器(read

only memory,简称为rom)和随机存取存储器(random access memory,简称为ram)。在合适的情况下,该rom可以是掩模编程的rom、可编程rom(programmable read

only memory,简称为prom)、可擦除prom(erasable programmable read

only memory,简称为eprom)、电可擦除prom(electrically erasable programmable read

only memory,简称为eeprom)、电可改写rom(electrically alterable read

only memory,简称为earom)或闪存(flash)或者两个或更多个以上这些的组合。在合适的情况下,该ram可以是静态随机存取存储器(static random

access memory,简称为sram)或动态随机存取存储器(dynamic random access memory,简称为dram),其中,dram可以是快速页模式动态随机存取存储器(fast page mode dynamic random access memory,简称为fpmdram)、扩展数据输出动态随机存取存储器(extended date out dynamic random access memory,简称为edodram)、同步动态随机存取内存(synchronous dynamic random

access memory,简称sdram)等。
[0113]
存储器可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器所执行的可能的计算机程序指令。
[0114]
处理器通过读取并执行存储器中存储的计算机程序指令,以实现上述实施例中的任意一种基于长文本标签化的内容召回方法。
[0115]
另外,结合上述实施例中的基于长文本标签化的内容召回方法,本申请实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种基于长文本标签化的内容召回方法。
[0116]
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0117]
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1