本发明涉及人工智能技术领域,具体涉及一种文本推荐方法、装置、计算机设备及存储介质。
背景技术:
在教育培训场景中,用户生产内容(usergeneratedcontent,ugc)是代理人课程的重要生产方式之一,对增加课程供给、提升培训效果有积极作用。目前的ugc创作存在内容分散、质量层次不齐等问题,如何高效和完备的挖掘文本内容信息就成为一个重要课题。
发明人在实现本发明的过程中发现,现有技术主要通过结合代理人的阅读习惯和文本语义进行个性化的课程推送,或者结合代理人的阅读习惯和主题语义进行个性化的课程推送,但并未涉及到将文本语义和主题语义有机的结合在一起并嵌入到高维的向量空间。而当给定每篇文本的主题分类后,无法将主题语义与文本语义融合起来并直接获得主题语义,且同主题之间的文本与不同主题之间的文本的语义差别也无法体现出来。
因此,需要提供一种融合文本语义和主题语义进行文本推送的方案。
技术实现要素:
鉴于以上内容,有必要提出一种文本推荐方法、装置、计算机设备及存储介质,能够提高文本推荐的准确度。
本发明的第一方面提供一种文本推荐方法,所述方法包括:
获取多个文本,并将每个文本输入预训练模型中进行编码,得到每个文本的多个语句向量;
基于注意力机制融合每个文本的多个语句向量和语义向量得到每个文本的文本向量;
计算每个文本的独热编码并基于每个文本的文本向量及独热编码训练文本主题分类模型,并通过所述文本主题分类模型输出文本主题矩阵,其中,所述文本主题矩阵中的每行向量对应一个主题向量;
获取用户的阅读习惯向量,并根据每个文本的文本向量及对应的主题向量和所述阅读习惯向量生成文本特征;
基于多个所述文本特征训练xgboost,得到文本推荐模型;
根据所述文本推荐模型输出的文本阅读概率矩阵为所述用户推荐文本。
在一个可选的实施例中,所述基于注意力机制融合每个文本的多个语句向量和语义向量得到每个文本的文本向量包括:
采用如下公式基于注意力机制计算每个文本的每个语句向量与对应文本的语义向量之间的匹配度,
采用如下公式根据所述匹配度计算每个文本的每个语句向量的语句权重,
采用如下公式根据每个文本的每个语句向量的语句权重计算每个文本的文本向量,
在一个可选的实施例中,所述计算每个文本的独热编码包括:
获取每个文本对应的真实文本主题;
为每个真实文本主题生成真实文本主题标签;
计算所述真实文本主题标签的数量;
根据所述数量生成n位状态寄存器;
使用所述n位状态寄存器计算每个文本对应的真实文本主题标签的独热编码。
在一个可选的实施例中,所述基于每个文本的文本向量及独热编码训练文本主题分类模型包括:
将所述多个文本的文本向量输入全连接神经网络中;
通过所述全连接神经网络计算每个文本属于每个文本主题的条件概率;
根据每个文本属于每个文本主题的条件概率及对应的独热编码生成风险损失函数;
通过梯度下降算法迭代计算所述风险损失函数的风险损失值;
当所述风险损失值达到最小时,结束训练,得到文本主题分类模型。
在一个可选的实施例中,所述全连接神经网络采用如下公式计算每个文本属于每个文本主题的条件概率:
所述根据每个文本属于每个文本主题的条件概率及对应的独热编码生成的风险损失函数为:
在一个可选的实施例中,所述根据所述文本推荐模型输出的文本阅读概率矩阵为所述用户推荐文本包括:
获取所述文本阅读概率矩阵中大于预设文本阅读概率阈值的目标文本阅读概率;
推荐所述目标文本阅读概率对应的文本至所述用户。
在一个可选的实施例中,所述方法还包括:
根据所述文本主题矩阵进行文本主题聚类;
提取每类文本主题下的每个文本的多个高频关键词;
获取用户对每个文本的点击次数;
根据所述每个文本的点击次数计算每个高频关键词的点击率;
根据每个高频关键词的点击率确定所述用户的关注点。
本发明的第二方面提供一种文本推荐装置,所述装置包括:
文本编码模块,用于获取多个文本,并将每个文本输入预训练模型中进行编码,得到每个文本的多个语句向量;
向量融合模块,用于基于注意力机制融合每个文本的多个语句向量和语义向量得到每个文本的文本向量;
第一训练模块,用于计算每个文本的独热编码并基于每个文本的文本向量及独热编码训练文本主题分类模型,并通过所述文本主题分类模型输出文本主题矩阵,其中,所述文本主题矩阵中的每行向量对应一个主题向量;
特征生成模块,用于获取用户的阅读习惯向量,并根据每个文本的文本向量及对应的主题向量和所述阅读习惯向量生成文本特征;
第二训练模块,用于基于多个所述文本特征训练xgboost,得到文本推荐模型;
文本推荐模块,用于根据所述文本推荐模型输出的文本阅读概率矩阵为所述用户推荐文本。
本发明的第三方面提供一种计算机设备,所述计算机设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现所述的文本推荐方法。
本发明的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述的文本推荐方法。
综上所述,本发明所述的文本推荐方法、装置、计算机设备及存储介质,利用预训练模型bert作为文本语句的编码器,借助于bert具有较强的上下文信息捕捉和语义表达能力,并结合注意力机制融合文本中的所有语句向量和语义向量得到文本的文本向量,从而更能够体现出文本的文本主题;主题向量和文本向量直接进行点积计算得到的主题分数有直接的实际含义,表达了文本属于某类主题的强弱程度;加入了主题向量矩阵之后,同主题之间的文本与不同主题之间的文本的语义差别也可以体现出来,通过训练文本主题分类模型,能够对任意用户的阅读文本进行主题分类,并且提升了文本主题分类的准确性;基于文本向量与主题向量构建文本特征,提升了对于文本语义的捕捉能力,提高了文本推荐的精准度。
附图说明
图1是本发明实施例一提供的文本推荐方法的流程图。
图2是本发明实施例二提供的文本推荐装置的结构图。
图3是本发明实施例三提供的计算机设备的结构示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
图1是本发明实施例一提供的文本推荐方法的流程图。所述文本推荐方法具体包括以下步骤,根据不同的需求,该流程图中步骤的顺序可以改变,某些可以省略。
s11,获取多个文本,并将每个文本输入预训练模型中进行编码,得到每个文本的多个语句向量。
本实施例采用bert作为预训练模型,bert(bidirectionalencoderrepresentationfromtransformers,来自transformer的双向编码器表征)是一种双向文本特征表示的自编码预训练语言模型,在处理一个词的时候,能考虑到该词前面和后面单词的信息,从而获取上下文的语义。采用迁移学习的思想,使用大规模的语料进行预训练,然后使用文本进行模型微调。
bert的输出端有词级别(tokenlevel)的输出和语句语句级别(sentencelevel)的输出,为了快速的抽取文本的文本向量,本实施例采用语句级别的输出。
将每个文本作为预训练模型bert的输入,然后获取预训练模型bert中cls位置的向量,得到每个文本的语句向量。
s12,基于注意力机制融合每个文本的多个语句向量和语义向量得到每个文本的文本向量。
为了能够提炼到文本中所有语句的文本语义,同时将主题语义融合到文本语义中,本实施例采用了注意力机制将文本经过bert编码得到的语句向量与文本的语义向量进行融合。融合后的文本向量表达了每篇文本的文本主题,同时训练过程中还可得到文本主题的语义向量。
在一个可选的实施例中,所述基于注意力机制融合每个文本的多个语句向量和语义向量得到每个文本的文本向量包括:
基于注意力机制计算每个文本的每个语句向量与对应文本的语义向量之间的匹配度;
根据所述匹配度计算每个文本的每个语句向量的语句权重;
根据每个文本的每个语句向量的语句权重计算每个文本的文本向量。
由于每个句子对文本主题的表达能力方面是不一样的,因而需要计算出语句向量的语句权重,通过语句权重来突出语句表达本文主题的贡献度。
在一个可选的实施例中,每个文本的每个语句向量与对应文本的语义向量之间的匹配度通过如下公式计算得到:
在一个可选的实施例中,每个文本的每个语句向量的语句权重可以通过如下公式计算得到:
语句向量与语义向量之间的匹配度越高,该语句向量的语句权重越大,则语句向量对应的语句对文本主题的表达越具有贡献作用,后续文本主题的表达能力越强;语句向量与语义向量之间的匹配度越低,该语句向量的语句权重越小,则语句向量对应的语句对文本主题的表达越没有贡献作用,文本主题的表达能力越弱。
在一个可选的实施例中,每个文本的文本向量可以通过如下公式计算得到:
通过bert编码得到语句向量,再基于注意力机制计算语句向量与语义向量之间的匹配度,从而计算语句向量的语句权重,最后根据不同的语句权重来计算得到文本的文本向量,不仅将文本的语义向量与语句向量进行了融合,且考虑了语句向量的语句权重,使得计算得到的文本向量更能够有效的表达对文本主题的贡献度,能够提高文本主题的分类效果。
s13,计算每个文本的独热编码并基于每个文本的文本向量及独热编码训练文本主题分类模型,并通过所述文本主题分类模型输出文本主题矩阵,其中,所述文本主题矩阵中的每行向量对应一个主题向量。
本实施例中,将所述多个文本的文本向量输入全连接神经网络中进行学习与无监督训练,得到文本主题分类模型。当所述文本主题分类模型训练结束时,通过所述文本主题分类模型输出文本主题矩阵。
所述全连接神经网络包括一层输入层,多层隐含层及一层输出层。
在一个可选的实施例中,所述计算每个文本的独热编码包括:
获取每个文本对应的真实文本主题;
为每个真实文本主题生成真实文本主题标签;
计算所述真实文本主题标签的数量;
根据所述数量生成n位状态寄存器;
使用所述n位状态寄存器计算每个文本对应的真实文本主题标签的独热编码。
其中,n等于所述文本主题标签的数量。
独热编码即one-hot编码,又称一位有效编码,使用n位状态寄存器来对n个状态进行编码,每个状态都有独立的寄存器位,并且在任意时候,其中只有一位有效。
在一个可选的实施例中,所述基于每个文本的文本向量及独热编码训练文本主题分类模型包括:
将所述多个文本的文本向量输入全连接神经网络中;
通过所述全连接神经网络计算每个文本属于每个文本主题的条件概率;
根据每个文本属于每个文本主题的条件概率及对应的独热编码生成风险损失函数;
通过梯度下降算法迭代计算所述风险损失函数的风险损失值;
当所述风险损失值达到最小时,结束训练,得到文本主题分类模型。
其中,
生成的损失函数采用如下公式表示:
本实施例中,采用梯度下降算法迭代计算风险损失函数的风险损失值,当风险损失函数的风险损失值达到最小时,确定文本主题分类模型已经达到了收敛,则停止对文本主题分类模型的训练过程。将停止训练对应的文本主题分类模型作为最终的文本主题分类模型。具体实施时,当采用梯度下降算法迭代计算风险损失函数的风险损失值达到最小时,即可计算出任意一个文本属于任意一个文本主题的条件概率
s14,获取用户的阅读习惯向量,并根据每个文本的文本向量及对应的主题向量和所述阅读习惯向量生成文本特征。
其中,所述阅读习惯向量为预先存储在计算机设备中的用户的阅读画像,包括多个维度的数据,例如,性别,年龄,从事职业,兴趣偏好,阅读类型等等用来刻画用户阅读一类或多个文本主题的文本的信息。
示例性的,假设某个文本的文本向量为
s15,基于多个所述文本特征训练xgboost,得到文本推荐模型。
本实施例中,采用的机器学习模型为xgboost模型。
xgboost(extremegradientboosting)是一种提升树模型,是将许多弱分类器集成在一起形成一个强分类器。在训练xgboost模型之前,确定多个超参数,例如,learning_rate(学习率)、max_depth(树最大深度)、subsample(每棵树随机采样的样本的比例)、colsample_bytree(用来控制每棵随机采样的列数的占比)、num_round(迭代次数)、max_leaf_nodes(树最大叶子节点数)等等。
根据多个文本生成文本特征矩阵,输入所述文本特征矩阵至xgboost中进行迭代训练,在迭代训练的次数大于预设次数阈值时,停止训练,得到文本推荐模型。
s16,根据所述文本推荐模型输出的文本阅读概率矩阵为所述用户推荐文本。
文本推荐模型的输入为文本特征矩阵,输出为文本阅读概率矩阵。所述文本阅读概率矩阵包括多个文本阅读概率值,文本阅读概率值用以表示用户阅读对应的文本的概率。
在一个可选的实施例中,所述根据所述文本推荐模型输出的文本阅读概率矩阵为所述用户推荐文本包括:
获取所述文本阅读概率矩阵中大于预设文本阅读概率阈值的目标文本阅读概率;
推荐所述目标文本阅读概率对应的文本至所述用户。
该可选的实施例中,通过文本推荐模型的输出为用户推荐文本,能够实现精准推荐的效果,文本推荐效率高。
在一个可选的实施例中,所述方法还包括:
根据所述文本主题矩阵进行文本主题聚类;
提取每类文本主题下的每个文本的多个高频关键词;
获取用户对每个文本的点击次数;
根据所述每个文本的点击次数计算每个高频关键词的点击率;
根据每个高频关键词的点击率确定所述用户的关注点。
由于所述文本主题矩阵中的每行向量对应一个主题向量,将每个主题向量从所述文本主题矩阵中抽取出来,并映射到高维空间中,采用最近邻算法对映射在高维空间中的多个主题点进行聚类,得到多个类别簇,每一个簇代表一类文本主题。
可以采用线性判别分析算法提供每类文本主题下的每个文本的多个关键词,并获取前q个关键词作为高频关键词。
可以在每个文本中设置埋点,通过埋点获取用户点击该文本的事件,获取到用户点击某个文本的事件,则记录该文本的点击次数为1,再次获取到用户点击该文本的事件,则记录该文本的点击次数增加1。
通过所有文本的点击次数计算每个高频关键词的点击率,进而通过高频关键词的点击率可以确定出用户的关注点。对高频关键词的点击率进行排序,在排序在前的高频关键词作为用户的关注点,从而可以根据关注点挖掘出用户的培训需求。
在一个可选的实施例中,所述根据所述每个文本的点击次数计算每个高频关键词的点击率包括:
确定每个高频关键词对应的所有目标文本;
根据所有目标文本的点击次数进行加权求和得到所述高频关键词的点击率。
示例性的,假设所有的文本经过文本主题分类模型的分类得到文本主题th1,th2,…,thn,每个文本主题下的文本为doc1,doc2,…,docm,利用lda模型提取每个文本的前10个高频关键词w1,w2,w3,…w10,然后对每个文本的高频关键词进行点击量的加权,得到高频关键词的点击率并进行排序。
下面以一个示例来解释如何计算高频关键词的点击率,假设:
文本1的点击次数为100,前10高频关键词包含“展业”,不包含“保额提升”这个关键词;
文本2的点击次数为50,前10高频关键词包含“展业”,包含“保额提升”这个关键词;
文本3的点击次数为10,前10高频关键词为不包含“展业”,包含“保额提升”这个关键词;
则“展业”这个高频关键词的点击率为100*1+50*1+10*0=150,“保额提升”这个高频关键词的点击率为100*0+50*1+10*1=60。由此可见,用户相比较于“保额提升”,更关注“展业”,则以展业作为用户的关注点。如此,可以可确定用户的培训需求为“展业”。
本发明利用预训练模型bert作为文本语句的编码器,借助于bert具有较强的上下文信息捕捉和语义表达能力,并结合注意力机制融合文本中的所有语句向量和语义向量得到文本的文本向量,从而更能够体现出文本的文本主题;主题向量和文本向量直接进行点积计算得到的主题分数有直接的实际含义,表达了文本属于某类主题的强弱程度;加入了主题向量矩阵之后,同主题之间的文本与不同主题之间的文本的语义差别也可以体现出来。通过训练文本主题分类模型,能够对任意用户的阅读文本进行主题分类,并且提升了文本主题分类的准确性;基于文本向量与主题向量构建文本特征,提升了对于文本语义的捕捉能力,能够提高文本推荐的精准度。
图2是本发明实施例二提供的文本推荐装置的结构图。
在一些实施例中,所述文本推荐装置20可以包括多个由计算机程序段所组成的功能模块。所述文本推荐装置20中的各个程序段的计算机程序可以存储于计算机设备的存储器中,并由至少一个处理器所执行,以执行(详见图1描述)文本推荐的功能。
本实施例中,所述文本推荐装置20根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:文本编码模块201、向量融合模块202、第一训练模块203、特征生成模块204、第二训练模块205及文本推荐模块206。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在本实施例中,关于各模块的功能将在后续的实施例中详述。
所述文本编码模块201,用于获取多个文本,并将每个文本输入预训练模型中进行编码,得到每个文本的多个语句向量。
本实施例采用bert作为预训练模型,bert(bidirectionalencoderrepresentationfromtransformers,来自transformer的双向编码器表征)是一种双向文本特征表示的自编码预训练语言模型,在处理一个词的时候,能考虑到该词前面和后面单词的信息,从而获取上下文的语义。采用迁移学习的思想,使用大规模的语料进行预训练,然后使用文本进行模型微调。
bert的输出端有词级别(tokenlevel)的输出和语句语句级别(sentencelevel)的输出,为了快速的抽取文本的文本向量,本实施例采用语句级别的输出。
将每个文本作为预训练模型bert的输入,然后获取预训练模型bert中cls位置的向量,得到每个文本的语句向量。
所述向量融合模块202,用于基于注意力机制融合每个文本的多个语句向量和语义向量得到每个文本的文本向量。
为了能够提炼到文本中所有语句的文本语义,同时将主题语义融合到文本语义中,本实施例采用了注意力机制将文本经过bert编码得到的语句向量与文本的语义向量进行融合。融合后的文本向量表达了每篇文本的文本主题,同时训练过程中还可得到文本主题的语义向量。
在一个可选的实施例中,所述向量融合模块202基于注意力机制融合每个文本的多个语句向量和语义向量得到每个文本的文本向量包括:
基于注意力机制计算每个文本的每个语句向量与对应文本的语义向量之间的匹配度;
根据所述匹配度计算每个文本的每个语句向量的语句权重;
根据每个文本的每个语句向量的语句权重计算每个文本的文本向量。
由于每个句子对文本主题的表达能力方面是不一样的,因而需要计算出语句向量的语句权重,通过语句权重来突出语句表达本文主题的贡献度。
在一个可选的实施例中,每个文本的每个语句向量与对应文本的语义向量之间的匹配度通过如下公式计算得到:
在一个可选的实施例中,每个文本的每个语句向量的语句权重可以通过如下公式计算得到:
语句向量与语义向量之间的匹配度越高,该语句向量的语句权重越大,则语句向量对应的语句对文本主题的表达越具有贡献作用,后续文本主题的表达能力越强;语句向量与语义向量之间的匹配度越低,该语句向量的语句权重越小,则语句向量对应的语句对文本主题的表达越没有贡献作用,文本主题的表达能力越弱。
在一个可选的实施例中,每个文本的文本向量可以通过如下公式计算得到:
通过bert编码得到语句向量,再基于注意力机制计算语句向量与语义向量之间的匹配度,从而计算语句向量的语句权重,最后根据不同的语句权重来计算得到文本的文本向量,不仅将文本的语义向量与语句向量进行了融合,且考虑了语句向量的语句权重,使得计算得到的文本向量更能够有效的表达对文本主题的贡献度,能够提高文本主题的分类效果。
所述第一训练模块203,用于计算每个文本的独热编码并基于每个文本的文本向量及独热编码训练文本主题分类模型,并通过所述文本主题分类模型输出文本主题矩阵,其中,所述文本主题矩阵中的每行向量对应一个主题向量。
本实施例中,将所述多个文本的文本向量输入全连接神经网络中进行学习与无监督训练,得到文本主题分类模型。当所述文本主题分类模型训练结束时,通过所述文本主题分类模型输出文本主题矩阵。
所述全连接神经网络包括一层输入层,多层隐含层及一层输出层。
在一个可选的实施例中,所述第一训练模块203计算每个文本的独热编码包括:
获取每个文本对应的真实文本主题;
为每个真实文本主题生成真实文本主题标签;
计算所述真实文本主题标签的数量;
根据所述数量生成n位状态寄存器;
使用所述n位状态寄存器计算每个文本对应的真实文本主题标签的独热编码。
其中,n等于所述文本主题标签的数量。
独热编码即one-hot编码,又称一位有效编码,使用n位状态寄存器来对n个状态进行编码,每个状态都有独立的寄存器位,并且在任意时候,其中只有一位有效。
在一个可选的实施例中,所述第一训练模块203基于每个文本的文本向量及独热编码训练文本主题分类模型包括:
将所述多个文本的文本向量输入全连接神经网络中;
通过所述全连接神经网络计算每个文本属于每个文本主题的条件概率;
根据每个文本属于每个文本主题的条件概率及对应的独热编码生成风险损失函数;
通过梯度下降算法迭代计算所述风险损失函数的风险损失值;
当所述风险损失值达到最小时,结束训练,得到文本主题分类模型。
其中,
生成的损失函数采用如下公式表示:
本实施例中,采用梯度下降算法迭代计算风险损失函数的风险损失值,当风险损失函数的风险损失值达到最小时,确定文本主题分类模型已经达到了收敛,则停止对文本主题分类模型的训练过程。将停止训练对应的文本主题分类模型作为最终的文本主题分类模型。具体实施时,当采用梯度下降算法迭代计算风险损失函数的风险损失值达到最小时,即可计算出任意一个文本属于任意一个文本主题的条件概率
所述特征生成模块204,用于获取用户的阅读习惯向量,并根据每个文本的文本向量及对应的主题向量和所述阅读习惯向量生成文本特征。
其中,所述阅读习惯向量为预先存储在计算机设备中的用户的阅读画像,包括多个维度的数据,例如,性别,年龄,从事职业,兴趣偏好,阅读类型等等用来刻画用户阅读一类或多个文本主题的文本的信息。
示例性的,假设某个文本的文本向量为
所述第二训练模块205,用于基于多个所述文本特征训练xgboost,得到文本推荐模型。
本实施例中,采用的机器学习模型为xgboost模型。
xgboost(extremegradientboosting)是一种提升树模型,是将许多弱分类器集成在一起形成一个强分类器。在训练xgboost模型之前,确定多个超参数,例如,learning_rate(学习率)、max_depth(树最大深度)、subsample(每棵树随机采样的样本的比例)、colsample_bytree(用来控制每棵随机采样的列数的占比)、num_round(迭代次数)、max_leaf_nodes(树最大叶子节点数)等等。
根据多个文本生成文本特征矩阵,输入所述文本特征矩阵至xgboost中进行迭代训练,在迭代训练的次数大于预设次数阈值时,停止训练,得到文本推荐模型。
所述文本推荐模块206,用于根据所述文本推荐模型输出的文本阅读概率矩阵为所述用户推荐文本。
文本推荐模型的输入为文本特征矩阵,输出为文本阅读概率矩阵。所述文本阅读概率矩阵包括多个文本阅读概率值,文本阅读概率值用以表示用户阅读对应的文本的概率。
在一个可选的实施例中,所述文本推荐模块206根据所述文本推荐模型输出的文本阅读概率矩阵为所述用户推荐文本包括:
获取所述文本阅读概率矩阵中大于预设文本阅读概率阈值的目标文本阅读概率;
推荐所述目标文本阅读概率对应的文本至所述用户。
该可选的实施例中,通过文本推荐模型的输出为用户推荐文本,能够实现精准推荐的效果,文本推荐效率高。
在一个可选的实施例中,所述装置还可以根据所述文本主题矩阵进行文本主题聚类;提取每类文本主题下的每个文本的多个高频关键词;获取用户对每个文本的点击次数;根据所述每个文本的点击次数计算每个高频关键词的点击率;根据每个高频关键词的点击率确定所述用户的关注点。
由于所述文本主题矩阵中的每行向量对应一个主题向量,将每个主题向量从所述文本主题矩阵中抽取出来,并映射到高维空间中,采用最近邻算法对映射在高维空间中的多个主题点进行聚类,得到多个类别簇,每一个簇代表一类文本主题。
可以采用线性判别分析算法提供每类文本主题下的每个文本的多个关键词,并获取前q个关键词作为高频关键词。
可以在每个文本中设置埋点,通过埋点获取用户点击该文本的事件,获取到用户点击某个文本的事件,则记录该文本的点击次数为1,再次获取到用户点击该文本的事件,则记录该文本的点击次数增加1。
通过所有文本的点击次数计算每个高频关键词的点击率,进而通过高频关键词的点击率可以确定出用户的关注点。对高频关键词的点击率进行排序,在排序在前的高频关键词作为用户的关注点,从而可以根据关注点挖掘出用户的培训需求。
在一个可选的实施例中,所述根据所述每个文本的点击次数计算每个高频关键词的点击率包括:
确定每个高频关键词对应的所有目标文本;
根据所有目标文本的点击次数进行加权求和得到所述高频关键词的点击率。
示例性的,假设所有的文本经过文本主题分类模型的分类得到文本主题th1,th2,…,thn,每个文本主题下的文本为doc1,doc2,…,docm,利用lda模型提取每个文本的前10个高频关键词w1,w2,w3,…w10,然后对每个文本的高频关键词进行点击量的加权,得到高频关键词的点击率并进行排序。
下面以一个示例来解释如何计算高频关键词的点击率,假设:
文本1的点击次数为100,前10高频关键词包含“展业”,不包含“保额提升”这个关键词;
文本2的点击次数为50,前10高频关键词包含“展业”,包含“保额提升”这个关键词;
文本3的点击次数为10,前10高频关键词为不包含“展业”,包含“保额提升”这个关键词;
则“展业”这个高频关键词的点击率为100*1+50*1+10*0=150,“保额提升”这个高频关键词的点击率为100*0+50*1+10*1=60。由此可见,用户相比较于“保额提升”,更关注“展业”,则以展业作为用户的关注点。如此,可以可确定用户的培训需求为“展业”。
本发明利用预训练模型bert作为文本语句的编码器,借助于bert具有较强的上下文信息捕捉和语义表达能力,并结合注意力机制融合文本中的所有语句向量和语义向量得到文本的文本向量,从而更能够体现出文本的文本主题;主题向量和文本向量直接进行点积计算得到的主题分数有直接的实际含义,表达了文本属于某类主题的强弱程度;加入了主题向量矩阵之后,同主题之间的文本与不同主题之间的文本的语义差别也可以体现出来。通过训练文本主题分类模型,能够对任意用户的阅读文本进行主题分类,并且提升了文本主题分类的准确性;基于文本向量与主题向量构建文本特征,提升了对于文本语义的捕捉能力,能够提高文本推荐的精准度。
需要强调的是,为进一步保证上述文本主题分类模型或文本推荐模型的私密性和安全性,上述文本主题分类模型或文本推荐模型可存储于区块链的节点中。
参阅图3所示,为本发明实施例三提供的计算机设备的结构示意图。在本发明较佳实施例中,所述计算机设备3包括存储器31、至少一个处理器32、至少一条通信总线33及收发器34。
本领域技术人员应该了解,图3示出的计算机设备的结构并不构成本发明实施例的限定,既可以是总线型结构,也可以是星形结构,所述计算机设备3还可以包括比图示更多或更少的其他硬件或者软件,或者不同的部件布置。
在一些实施例中,所述计算机设备3是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的计算机设备,其硬件包括但不限于微处理器、专用集成电路、可编程门阵列、数字处理器及嵌入式设备等。所述计算机设备3还可包括客户设备,所述客户设备包括但不限于任何一种可与客户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、数码相机等。
需要说明的是,所述计算机设备3仅为举例,其他现有的或今后可能出现的电子产品如可适应于本发明,也应包含在本发明的保护范围以内,并以引用方式包含于此。
在一些实施例中,所述存储器31中存储有计算机程序,所述计算机程序被所述至少一个处理器32执行时实现如所述的文本推荐方法中的全部或者部分步骤。所述存储器31包括只读存储器(read-onlymemory,rom)、可编程只读存储器(programmableread-onlymemory,prom)、可擦除可编程只读存储器(erasableprogrammableread-onlymemory,eprom)、一次可编程只读存储器(one-timeprogrammableread-onlymemory,otprom)、电子擦除式可复写只读存储器(electrically-erasableprogrammableread-onlymemory,eeprom)、只读光盘(compactdiscread-onlymemory,cd-rom)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
进一步地,所述计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
在一些实施例中,所述至少一个处理器32是所述计算机设备3的控制核心(controlunit),利用各种接口和线路连接整个计算机设备3的各个部件,通过运行或执行存储在所述存储器31内的程序或者模块,以及调用存储在所述存储器31内的数据,以执行计算机设备3的各种功能和处理数据。例如,所述至少一个处理器32执行所述存储器中存储的计算机程序时实现本发明实施例中所述的文本推荐方法的全部或者部分步骤;或者实现文本推荐装置的全部或者部分功能。所述至少一个处理器32可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(centralprocessingunit,cpu)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。
在一些实施例中,所述至少一条通信总线33被设置为实现所述存储器31以及所述至少一个处理器32等之间的连接通信。
尽管未示出,所述计算机设备3还可以包括给各个部件供电的电源(比如电池),优选的,电源可以通过电源管理装置与所述至少一个处理器32逻辑相连,从而通过电源管理装置实现管理充电、放电、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述计算机设备3还可以包括多种传感器、蓝牙模块、wi-fi模块等,在此不再赘述。
上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,计算机设备,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或,单数不排除复数。说明书中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。