CN112231485B - 文本推荐方法、装置、计算机设备及存储介质 - Google Patents
文本推荐方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN112231485B CN112231485B CN202011462527.8A CN202011462527A CN112231485B CN 112231485 B CN112231485 B CN 112231485B CN 202011462527 A CN202011462527 A CN 202011462527A CN 112231485 B CN112231485 B CN 112231485B
- Authority
- CN
- China
- Prior art keywords
- text
- vector
- vectors
- topic
- theme
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3346—Query execution using probabilistic model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Probability & Statistics with Applications (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及人工智能技术领域,提供一种文本推荐方法、装置、计算机设备及存储介质,包括:将每个文本输入预训练模型中进行编码得到每个文本的多个语句向量;基于注意力机制融合每个文本的多个语句向量和语义向量得到每个文本的文本向量;计算每个文本的独热编码并基于每个文本的文本向量及独热编码训练文本主题分类模型,通过文本主题分类模型输出文本主题矩阵,文本主题矩阵中的每行向量对应一个主题向量;根据每个文本的文本向量及对应的主题向量和获取的用户的阅读习惯向量生成文本特征;基于多个文本特征训练XGBOOST得到文本推荐模型;根据文本推荐模型输出的文本阅读概率矩阵为用户推荐文本。本发明能够提高文本推荐的精准度。
Description
技术领域
本发明涉及人工智能技术领域,具体涉及一种文本推荐方法、装置、计算机设备及存储介质。
背景技术
在教育培训场景中,用户生产内容(user generated content,UGC)是代理人课程的重要生产方式之一,对增加课程供给、提升培训效果有积极作用。目前的UGC创作存在内容分散、质量层次不齐等问题,如何高效和完备的挖掘文本内容信息就成为一个重要课题。
发明人在实现本发明的过程中发现,现有技术主要通过结合代理人的阅读习惯和文本语义进行个性化的课程推送,或者结合代理人的阅读习惯和主题语义进行个性化的课程推送,但并未涉及到将文本语义和主题语义有机的结合在一起并嵌入到高维的向量空间。而当给定每篇文本的主题分类后,无法将主题语义与文本语义融合起来并直接获得主题语义,且同主题之间的文本与不同主题之间的文本的语义差别也无法体现出来。
因此,需要提供一种融合文本语义和主题语义进行文本推送的方案。
发明内容
鉴于以上内容,有必要提出一种文本推荐方法、装置、计算机设备及存储介质,能够提高文本推荐的准确度。
本发明的第一方面提供一种文本推荐方法,所述方法包括:
获取多个文本,并将每个文本输入预训练模型中进行编码,得到每个文本的多个语句向量;
基于注意力机制融合每个文本的多个语句向量和语义向量得到每个文本的文本向量;
计算每个文本的独热编码并基于每个文本的文本向量及独热编码训练文本主题分类模型,并通过所述文本主题分类模型输出文本主题矩阵,其中,所述文本主题矩阵中的每行向量对应一个主题向量;
获取用户的阅读习惯向量,并根据每个文本的文本向量及对应的主题向量和所述阅读习惯向量生成文本特征;
基于多个所述文本特征训练XGBOOST,得到文本推荐模型;
根据所述文本推荐模型输出的文本阅读概率矩阵为所述用户推荐文本。
在一个可选的实施例中,所述基于注意力机制融合每个文本的多个语句向量和语义向量得到每个文本的文本向量包括:
在一个可选的实施例中,所述计算每个文本的独热编码包括:
获取每个文本对应的真实文本主题;
为每个真实文本主题生成真实文本主题标签;
计算所述真实文本主题标签的数量;
根据所述数量生成N位状态寄存器;
使用所述N位状态寄存器计算每个文本对应的真实文本主题标签的独热编码。
在一个可选的实施例中,所述基于每个文本的文本向量及独热编码训练文本主题分类模型包括:
将所述多个文本的文本向量输入全连接神经网络中;
通过所述全连接神经网络计算每个文本属于每个文本主题的条件概率;
根据每个文本属于每个文本主题的条件概率及对应的独热编码生成风险损失函数;
通过梯度下降算法迭代计算所述风险损失函数的风险损失值;
当所述风险损失值达到最小时,结束训练,得到文本主题分类模型。
在一个可选的实施例中,所述全连接神经网络采用如下公式计算每个文本属于每个文本主题的条件概率:,其中,,为文本主题t的分数,为随机初始化的文本主题得分分布向量,为文本主题的个数,为随机初始化的文本主题矩阵,为预先设置的偏置项。
在一个可选的实施例中,所述根据所述文本推荐模型输出的文本阅读概率矩阵为所述用户推荐文本包括:
获取所述文本阅读概率矩阵中大于预设文本阅读概率阈值的目标文本阅读概率;
推荐所述目标文本阅读概率对应的文本至所述用户。
在一个可选的实施例中,所述方法还包括:
根据所述文本主题矩阵进行文本主题聚类;
提取每类文本主题下的每个文本的多个高频关键词;
获取用户对每个文本的点击次数;
根据所述每个文本的点击次数计算每个高频关键词的点击率;
根据每个高频关键词的点击率确定所述用户的关注点。
本发明的第二方面提供一种文本推荐装置,所述装置包括:
文本编码模块,用于获取多个文本,并将每个文本输入预训练模型中进行编码,得到每个文本的多个语句向量;
向量融合模块,用于基于注意力机制融合每个文本的多个语句向量和语义向量得到每个文本的文本向量;
第一训练模块,用于计算每个文本的独热编码并基于每个文本的文本向量及独热编码训练文本主题分类模型,并通过所述文本主题分类模型输出文本主题矩阵,其中,所述文本主题矩阵中的每行向量对应一个主题向量;
特征生成模块,用于获取用户的阅读习惯向量,并根据每个文本的文本向量及对应的主题向量和所述阅读习惯向量生成文本特征;
第二训练模块,用于基于多个所述文本特征训练XGBOOST,得到文本推荐模型;
文本推荐模块,用于根据所述文本推荐模型输出的文本阅读概率矩阵为所述用户推荐文本。
本发明的第三方面提供一种计算机设备,所述计算机设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现所述的文本推荐方法。
本发明的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述的文本推荐方法。
综上所述,本发明所述的文本推荐方法、装置、计算机设备及存储介质,利用预训练模型BERT作为文本语句的编码器,借助于BERT具有较强的上下文信息捕捉和语义表达能力,并结合注意力机制融合文本中的所有语句向量和语义向量得到文本的文本向量,从而更能够体现出文本的文本主题;主题向量和文本向量直接进行点积计算得到的主题分数有直接的实际含义,表达了文本属于某类主题的强弱程度;加入了主题向量矩阵之后,同主题之间的文本与不同主题之间的文本的语义差别也可以体现出来,通过训练文本主题分类模型,能够对任意用户的阅读文本进行主题分类,并且提升了文本主题分类的准确性;基于文本向量与主题向量构建文本特征,提升了对于文本语义的捕捉能力,提高了文本推荐的精准度。
附图说明
图1是本发明实施例一提供的文本推荐方法的流程图。
图2是本发明实施例二提供的文本推荐装置的结构图。
图3是本发明实施例三提供的计算机设备的结构示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
图1是本发明实施例一提供的文本推荐方法的流程图。所述文本推荐方法具体包括以下步骤,根据不同的需求,该流程图中步骤的顺序可以改变,某些可以省略。
S11,获取多个文本,并将每个文本输入预训练模型中进行编码,得到每个文本的多个语句向量。
本实施例采用BERT作为预训练模型,BERT(Bidirectional EncoderRepresentation from Transformers,来自Transformer的双向编码器表征)是一种双向文本特征表示的自编码预训练语言模型,在处理一个词的时候,能考虑到该词前面和后面单词的信息,从而获取上下文的语义。采用迁移学习的思想,使用大规模的语料进行预训练,然后使用文本进行模型微调。
Bert的输出端有词级别(token level)的输出和语句语句级别(sentence level)的输出,为了快速的抽取文本的文本向量,本实施例采用语句级别的输出。
将每个文本作为预训练模型BERT的输入,然后获取预训练模型BERT中CLS位置的向量,得到每个文本的语句向量。
S12,基于注意力机制融合每个文本的多个语句向量和语义向量得到每个文本的文本向量。
为了能够提炼到文本中所有语句的文本语义,同时将主题语义融合到文本语义中,本实施例采用了注意力机制将文本经过BERT编码得到的语句向量与文本的语义向量进行融合。融合后的文本向量表达了每篇文本的文本主题,同时训练过程中还可得到文本主题的语义向量。
在一个可选的实施例中,所述基于注意力机制融合每个文本的多个语句向量和语义向量得到每个文本的文本向量包括:
基于注意力机制计算每个文本的每个语句向量与对应文本的语义向量之间的匹配度;
根据所述匹配度计算每个文本的每个语句向量的语句权重;
根据每个文本的每个语句向量的语句权重计算每个文本的文本向量。
由于每个句子对文本主题的表达能力方面是不一样的,因而需要计算出语句向量的语句权重,通过语句权重来突出语句表达本文主题的贡献度。
在一个可选的实施例中,每个文本的每个语句向量与对应文本的语义向量之间的匹配度通过如下公式计算得到:
在一个可选的实施例中,每个文本的每个语句向量的语句权重可以通过如下公式计算得到:
语句向量与语义向量之间的匹配度越高,该语句向量的语句权重越大,则语句向量对应的语句对文本主题的表达越具有贡献作用,后续文本主题的表达能力越强;语句向量与语义向量之间的匹配度越低,该语句向量的语句权重越小,则语句向量对应的语句对文本主题的表达越没有贡献作用,文本主题的表达能力越弱。
在一个可选的实施例中,每个文本的文本向量可以通过如下公式计算得到:
通过BERT编码得到语句向量,再基于注意力机制计算语句向量与语义向量之间的匹配度,从而计算语句向量的语句权重,最后根据不同的语句权重来计算得到文本的文本向量,不仅将文本的语义向量与语句向量进行了融合,且考虑了语句向量的语句权重,使得计算得到的文本向量更能够有效的表达对文本主题的贡献度,能够提高文本主题的分类效果。
S13,计算每个文本的独热编码并基于每个文本的文本向量及独热编码训练文本主题分类模型,并通过所述文本主题分类模型输出文本主题矩阵,其中,所述文本主题矩阵中的每行向量对应一个主题向量。
本实施例中,将所述多个文本的文本向量输入全连接神经网络中进行学习与无监督训练,得到文本主题分类模型。当所述文本主题分类模型训练结束时,通过所述文本主题分类模型输出文本主题矩阵。
所述全连接神经网络包括一层输入层,多层隐含层及一层输出层。
在一个可选的实施例中,所述计算每个文本的独热编码包括:
获取每个文本对应的真实文本主题;
为每个真实文本主题生成真实文本主题标签;
计算所述真实文本主题标签的数量;
根据所述数量生成N位状态寄存器;
使用所述N位状态寄存器计算每个文本对应的真实文本主题标签的独热编码。
其中,N等于所述文本主题标签的数量。
独热编码即One-Hot编码,又称一位有效编码,使用N位状态寄存器来对N个状态进行编码,每个状态都有独立的寄存器位,并且在任意时候,其中只有一位有效。
在一个可选的实施例中,所述基于每个文本的文本向量及独热编码训练文本主题分类模型包括:
将所述多个文本的文本向量输入全连接神经网络中;
通过所述全连接神经网络计算每个文本属于每个文本主题的条件概率;
根据每个文本属于每个文本主题的条件概率及对应的独热编码生成风险损失函数;
通过梯度下降算法迭代计算所述风险损失函数的风险损失值;
当所述风险损失值达到最小时,结束训练,得到文本主题分类模型。
生成的损失函数采用如下公式表示:
本实施例中,采用梯度下降算法迭代计算风险损失函数的风险损失值,当风险损失函数的风险损失值达到最小时,确定文本主题分类模型已经达到了收敛,则停止对文本主题分类模型的训练过程。将停止训练对应的文本主题分类模型作为最终的文本主题分类模型。具体实施时,当采用梯度下降算法迭代计算风险损失函数的风险损失值达到最小时,即可计算出任意一个文本属于任意一个文本主题的条件概率,并进而计算出文本主题矩阵及文本主题得分分布向量。最后通过文本主题分类模型输入文本主题矩阵,文本主题矩阵的n行向量对应n个主题向量,每行向量对应一个主题向量,不同行的向量可以对应同一个主题向量。
S14,获取用户的阅读习惯向量,并根据每个文本的文本向量及对应的主题向量和所述阅读习惯向量生成文本特征。
其中,所述阅读习惯向量为预先存储在计算机设备中的用户的阅读画像,包括多个维度的数据,例如,性别,年龄,从事职业,兴趣偏好,阅读类型等等用来刻画用户阅读一类或多个文本主题的文本的信息。
S15,基于多个所述文本特征训练XGBOOST,得到文本推荐模型。
本实施例中,采用的机器学习模型为XGBOOST模型。
XGBoost(eXtreme Gradient Boosting)是一种提升树模型,是将许多弱分类器集成在一起形成一个强分类器。在训练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(Bidirectional EncoderRepresentation from Transformers,来自Transformer的双向编码器表征)是一种双向文本特征表示的自编码预训练语言模型,在处理一个词的时候,能考虑到该词前面和后面单词的信息,从而获取上下文的语义。采用迁移学习的思想,使用大规模的语料进行预训练,然后使用文本进行模型微调。
Bert的输出端有词级别(token level)的输出和语句语句级别(sentence level)的输出,为了快速的抽取文本的文本向量,本实施例采用语句级别的输出。
将每个文本作为预训练模型BERT的输入,然后获取预训练模型BERT中CLS位置的向量,得到每个文本的语句向量。
所述向量融合模块202,用于基于注意力机制融合每个文本的多个语句向量和语义向量得到每个文本的文本向量。
为了能够提炼到文本中所有语句的文本语义,同时将主题语义融合到文本语义中,本实施例采用了注意力机制将文本经过BERT编码得到的语句向量与文本的语义向量进行融合。融合后的文本向量表达了每篇文本的文本主题,同时训练过程中还可得到文本主题的语义向量。
在一个可选的实施例中,所述向量融合模块202基于注意力机制融合每个文本的多个语句向量和语义向量得到每个文本的文本向量包括:
基于注意力机制计算每个文本的每个语句向量与对应文本的语义向量之间的匹配度;
根据所述匹配度计算每个文本的每个语句向量的语句权重;
根据每个文本的每个语句向量的语句权重计算每个文本的文本向量。
由于每个句子对文本主题的表达能力方面是不一样的,因而需要计算出语句向量的语句权重,通过语句权重来突出语句表达本文主题的贡献度。
在一个可选的实施例中,每个文本的每个语句向量与对应文本的语义向量之间的匹配度通过如下公式计算得到:
在一个可选的实施例中,每个文本的每个语句向量的语句权重可以通过如下公式计算得到:
语句向量与语义向量之间的匹配度越高,该语句向量的语句权重越大,则语句向量对应的语句对文本主题的表达越具有贡献作用,后续文本主题的表达能力越强;语句向量与语义向量之间的匹配度越低,该语句向量的语句权重越小,则语句向量对应的语句对文本主题的表达越没有贡献作用,文本主题的表达能力越弱。
在一个可选的实施例中,每个文本的文本向量可以通过如下公式计算得到:
通过BERT编码得到语句向量,再基于注意力机制计算语句向量与语义向量之间的匹配度,从而计算语句向量的语句权重,最后根据不同的语句权重来计算得到文本的文本向量,不仅将文本的语义向量与语句向量进行了融合,且考虑了语句向量的语句权重,使得计算得到的文本向量更能够有效的表达对文本主题的贡献度,能够提高文本主题的分类效果。
所述第一训练模块203,用于计算每个文本的独热编码并基于每个文本的文本向量及独热编码训练文本主题分类模型,并通过所述文本主题分类模型输出文本主题矩阵,其中,所述文本主题矩阵中的每行向量对应一个主题向量。
本实施例中,将所述多个文本的文本向量输入全连接神经网络中进行学习与无监督训练,得到文本主题分类模型。当所述文本主题分类模型训练结束时,通过所述文本主题分类模型输出文本主题矩阵。
所述全连接神经网络包括一层输入层,多层隐含层及一层输出层。
在一个可选的实施例中,所述第一训练模块203计算每个文本的独热编码包括:
获取每个文本对应的真实文本主题;
为每个真实文本主题生成真实文本主题标签;
计算所述真实文本主题标签的数量;
根据所述数量生成N位状态寄存器;
使用所述N位状态寄存器计算每个文本对应的真实文本主题标签的独热编码。
其中,N等于所述文本主题标签的数量。
独热编码即One-Hot编码,又称一位有效编码,使用N位状态寄存器来对N个状态进行编码,每个状态都有独立的寄存器位,并且在任意时候,其中只有一位有效。
在一个可选的实施例中,所述第一训练模块203基于每个文本的文本向量及独热编码训练文本主题分类模型包括:
将所述多个文本的文本向量输入全连接神经网络中;
通过所述全连接神经网络计算每个文本属于每个文本主题的条件概率;
根据每个文本属于每个文本主题的条件概率及对应的独热编码生成风险损失函数;
通过梯度下降算法迭代计算所述风险损失函数的风险损失值;
当所述风险损失值达到最小时,结束训练,得到文本主题分类模型。
生成的损失函数采用如下公式表示:
本实施例中,采用梯度下降算法迭代计算风险损失函数的风险损失值,当风险损失函数的风险损失值达到最小时,确定文本主题分类模型已经达到了收敛,则停止对文本主题分类模型的训练过程。将停止训练对应的文本主题分类模型作为最终的文本主题分类模型。具体实施时,当采用梯度下降算法迭代计算风险损失函数的风险损失值达到最小时,即可计算出任意一个文本属于任意一个文本主题的条件概率,并进而计算出文本主题矩阵及文本主题得分分布向量。最后通过文本主题分类模型输入文本主题矩阵,文本主题矩阵的n行向量对应n个主题向量,每行向量对应一个主题向量,不同行的向量可以对应同一个主题向量。
所述特征生成模块204,用于获取用户的阅读习惯向量,并根据每个文本的文本向量及对应的主题向量和所述阅读习惯向量生成文本特征。
其中,所述阅读习惯向量为预先存储在计算机设备中的用户的阅读画像,包括多个维度的数据,例如,性别,年龄,从事职业,兴趣偏好,阅读类型等等用来刻画用户阅读一类或多个文本主题的文本的信息。
所述第二训练模块205,用于基于多个所述文本特征训练XGBOOST,得到文本推荐模型。
本实施例中,采用的机器学习模型为XGBOOST模型。
XGBoost(eXtreme Gradient Boosting)是一种提升树模型,是将许多弱分类器集成在一起形成一个强分类器。在训练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-Only Memory,ROM)、可编程只读存储器(Programmable Read-OnlyMemory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、一次可编程只读存储器(One-time Programmable Read-Only Memory,OTPROM)、电子擦除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
进一步地,所述计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
在一些实施例中,所述至少一个处理器32是所述计算机设备3的控制核心(Control Unit),利用各种接口和线路连接整个计算机设备3的各个部件,通过运行或执行存储在所述存储器31内的程序或者模块,以及调用存储在所述存储器31内的数据,以执行计算机设备3的各种功能和处理数据。例如,所述至少一个处理器32执行所述存储器中存储的计算机程序时实现本发明实施例中所述的文本推荐方法的全部或者部分步骤;或者实现文本推荐装置的全部或者部分功能。所述至少一个处理器32可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。
在一些实施例中,所述至少一条通信总线33被设置为实现所述存储器31以及所述至少一个处理器32等之间的连接通信。
尽管未示出,所述计算机设备3还可以包括给各个部件供电的电源(比如电池),优选的,电源可以通过电源管理装置与所述至少一个处理器32逻辑相连,从而通过电源管理装置实现管理充电、放电、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述计算机设备3还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,计算机设备,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或,单数不排除复数。说明书中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (10)
1.一种文本推荐方法,其特征在于,所述方法包括:
获取多个文本,并将每个文本输入预训练模型中进行编码,得到每个文本的多个语句向量;
基于注意力机制融合每个文本的多个语句向量和语义向量得到每个文本的文本向量;
计算每个文本的独热编码并基于每个文本的文本向量及独热编码训练文本主题分类模型,并通过所述文本主题分类模型输出文本主题矩阵,其中,所述文本主题矩阵中的每行向量对应一个主题向量;
获取用户的阅读习惯向量,并根据每个文本的文本向量及对应的主题向量和所述阅读习惯向量生成文本特征;
基于多个所述文本特征训练XGBOOST,得到文本推荐模型;
根据所述文本推荐模型输出的文本阅读概率矩阵为所述用户推荐文本。
3.如权利要求2所述的文本推荐方法,其特征在于,所述计算每个文本的独热编码包括:
获取每个文本对应的真实文本主题;
为每个真实文本主题生成真实文本主题标签;
计算所述真实文本主题标签的数量;
根据所述数量生成N位状态寄存器;
使用所述N位状态寄存器计算每个文本对应的真实文本主题标签的独热编码。
4.如权利要求3所述的文本推荐方法,其特征在于,所述基于每个文本的文本向量及独热编码训练文本主题分类模型包括:
将所述多个文本的文本向量输入全连接神经网络中;
通过所述全连接神经网络计算每个文本属于每个文本主题的条件概率;
根据每个文本属于每个文本主题的条件概率及对应的独热编码生成风险损失函数;
通过梯度下降算法迭代计算所述风险损失函数的风险损失值;
当所述风险损失值达到最小时,结束训练,得到文本主题分类模型。
6.如权利要求1至5中任意一项所述的文本推荐方法,其特征在于,所述根据所述文本推荐模型输出的文本阅读概率矩阵为所述用户推荐文本包括:
获取所述文本阅读概率矩阵中大于预设文本阅读概率阈值的目标文本阅读概率;
推荐所述目标文本阅读概率对应的文本至所述用户。
7.如权利要求1至5中任意一项所述的文本推荐方法,其特征在于,所述方法还包括:
根据所述文本主题矩阵进行文本主题聚类;
提取每类文本主题下的每个文本的多个高频关键词;
获取用户对每个文本的点击次数;
根据所述每个文本的点击次数计算每个高频关键词的点击率;
根据每个高频关键词的点击率确定所述用户的关注点。
8.一种文本推荐装置,其特征在于,所述装置包括:
文本编码模块,用于获取多个文本,并将每个文本输入预训练模型中进行编码,得到每个文本的多个语句向量;
向量融合模块,用于基于注意力机制融合每个文本的多个语句向量和语义向量得到每个文本的文本向量;
第一训练模块,用于计算每个文本的独热编码并基于每个文本的文本向量及独热编码训练文本主题分类模型,并通过所述文本主题分类模型输出文本主题矩阵,其中,所述文本主题矩阵中的每行向量对应一个主题向量;
特征生成模块,用于获取用户的阅读习惯向量,并根据每个文本的文本向量及对应的主题向量和所述阅读习惯向量生成文本特征;
第二训练模块,用于基于多个所述文本特征训练XGBOOST,得到文本推荐模型;
文本推荐模块,用于根据所述文本推荐模型输出的文本阅读概率矩阵为所述用户推荐文本。
9.一种计算机设备,其特征在于,所述计算机设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1至7中任意一项所述的文本推荐方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任意一项所述的文本推荐方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011462527.8A CN112231485B (zh) | 2020-12-14 | 2020-12-14 | 文本推荐方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011462527.8A CN112231485B (zh) | 2020-12-14 | 2020-12-14 | 文本推荐方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112231485A CN112231485A (zh) | 2021-01-15 |
CN112231485B true CN112231485B (zh) | 2021-03-26 |
Family
ID=74124632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011462527.8A Active CN112231485B (zh) | 2020-12-14 | 2020-12-14 | 文本推荐方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112231485B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112883154B (zh) * | 2021-01-28 | 2022-02-01 | 平安科技(深圳)有限公司 | 文本主题挖掘方法、装置、计算机设备及存储介质 |
CN112948677B (zh) * | 2021-02-26 | 2023-11-03 | 上海携旅信息技术有限公司 | 基于点评美感度的推荐理由确定方法、系统、设备及介质 |
CN113672701B (zh) * | 2021-08-25 | 2023-09-15 | 平安科技(深圳)有限公司 | 基于机器学习的文本匹配方法、装置、设备及存储介质 |
CN114925197B (zh) * | 2022-03-28 | 2024-06-11 | 中南大学 | 基于主题注意力的深度学习文本分类模型训练方法 |
CN114417001B (zh) * | 2022-03-29 | 2022-07-01 | 山东大学 | 基于多模态模式的中文写作智能分析方法、系统及介质 |
CN115357785B (zh) * | 2022-08-05 | 2023-06-30 | 山东省计算中心(国家超级计算济南中心) | 一种基于语义交互和局部激活的企业资讯推荐方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109840321A (zh) * | 2017-11-29 | 2019-06-04 | 腾讯科技(深圳)有限公司 | 文本推荐方法、装置及电子设备 |
CN110737839A (zh) * | 2019-10-22 | 2020-01-31 | 京东数字科技控股有限公司 | 短文本的推荐方法、装置、介质及电子设备 |
CN110825867A (zh) * | 2019-11-01 | 2020-02-21 | 科大讯飞股份有限公司 | 相似文本推荐方法、装置、电子设备和存储介质 |
CN111444340A (zh) * | 2020-03-10 | 2020-07-24 | 腾讯科技(深圳)有限公司 | 文本分类和推荐方法、装置、设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019212267A1 (en) * | 2018-05-02 | 2019-11-07 | Samsung Electronics Co., Ltd. | Contextual recommendation |
-
2020
- 2020-12-14 CN CN202011462527.8A patent/CN112231485B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109840321A (zh) * | 2017-11-29 | 2019-06-04 | 腾讯科技(深圳)有限公司 | 文本推荐方法、装置及电子设备 |
CN110737839A (zh) * | 2019-10-22 | 2020-01-31 | 京东数字科技控股有限公司 | 短文本的推荐方法、装置、介质及电子设备 |
CN110825867A (zh) * | 2019-11-01 | 2020-02-21 | 科大讯飞股份有限公司 | 相似文本推荐方法、装置、电子设备和存储介质 |
CN111444340A (zh) * | 2020-03-10 | 2020-07-24 | 腾讯科技(深圳)有限公司 | 文本分类和推荐方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112231485A (zh) | 2021-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112231485B (zh) | 文本推荐方法、装置、计算机设备及存储介质 | |
CN113822494B (zh) | 风险预测方法、装置、设备及存储介质 | |
CN111914054A (zh) | 用于大规模语义索引的系统和方法 | |
US11727211B2 (en) | Systems and methods for colearning custom syntactic expression types for suggesting next best correspondence in a communication environment | |
Fu et al. | CRNN: a joint neural network for redundancy detection | |
CN111368075A (zh) | 文章质量预测方法、装置、电子设备及存储介质 | |
CN112988963B (zh) | 基于多流程节点的用户意图预测方法、装置、设备及介质 | |
CN112580352B (zh) | 关键词提取方法、装置和设备及计算机存储介质 | |
CN112883154B (zh) | 文本主题挖掘方法、装置、计算机设备及存储介质 | |
CN113722483A (zh) | 话题分类方法、装置、设备及存储介质 | |
CN115392237B (zh) | 情感分析模型训练方法、装置、设备及存储介质 | |
CN113378970A (zh) | 语句相似性检测方法、装置、电子设备及存储介质 | |
CN115983271A (zh) | 命名实体的识别方法和命名实体识别模型的训练方法 | |
Hao et al. | How do Mainland Chinese tourists perceive Hong Kong in turbulence? A deep learning approach to sentiment analytics | |
Wang et al. | A Deep‐Learning‐Inspired Person‐Job Matching Model Based on Sentence Vectors and Subject‐Term Graphs | |
Belwal et al. | Extractive text summarization using clustering-based topic modeling | |
CN113591881A (zh) | 基于模型融合的意图识别方法、装置、电子设备及介质 | |
CN113761188A (zh) | 文本标签确定方法、装置、计算机设备和存储介质 | |
CN116340516A (zh) | 实体关系的聚类提取方法、装置、设备及存储介质 | |
CN114595321A (zh) | 问题标注方法、装置、电子设备及存储介质 | |
Malhotra et al. | An efficient fake news identification system using A-SQUARE CNN algorithm | |
CN112749264A (zh) | 基于智能机器人的问题分发方法、装置、电子设备及存储介质 | |
Guo et al. | Cluster-based deep ensemble learning for emotion classification in Internet memes | |
CN115114904B (zh) | 语言模型的优化方法、装置以及电子设备 | |
CN113822382B (zh) | 基于多模态特征表示的课程分类方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |