CN116431919A - 基于用户意图特征的智能新闻推荐方法和系统 - Google Patents
基于用户意图特征的智能新闻推荐方法和系统 Download PDFInfo
- Publication number
- CN116431919A CN116431919A CN202310412911.4A CN202310412911A CN116431919A CN 116431919 A CN116431919 A CN 116431919A CN 202310412911 A CN202310412911 A CN 202310412911A CN 116431919 A CN116431919 A CN 116431919A
- Authority
- CN
- China
- Prior art keywords
- news
- vector
- user
- constructing
- training
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 85
- 238000012549 training Methods 0.000 claims abstract description 118
- 238000013528 artificial neural network Methods 0.000 claims abstract description 44
- 239000013598 vector Substances 0.000 claims description 288
- 239000011159 matrix material Substances 0.000 claims description 71
- 230000006870 function Effects 0.000 claims description 70
- 238000010276 construction Methods 0.000 claims description 36
- 238000013527 convolutional neural network Methods 0.000 claims description 30
- 238000013507 mapping Methods 0.000 claims description 30
- 230000004913 activation Effects 0.000 claims description 28
- 230000007246 mechanism Effects 0.000 claims description 21
- 238000007781 pre-processing Methods 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 17
- 230000006399 behavior Effects 0.000 claims description 16
- 238000005457 optimization Methods 0.000 claims description 15
- 238000003860 storage Methods 0.000 claims description 12
- 230000002776 aggregation Effects 0.000 claims description 10
- 238000004220 aggregation Methods 0.000 claims description 10
- 238000006243 chemical reaction Methods 0.000 claims description 7
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 claims description 6
- 238000009826 distribution Methods 0.000 claims description 6
- 238000001914 filtration Methods 0.000 claims description 6
- 230000002452 interceptive effect Effects 0.000 claims description 6
- 239000012633 leachable Substances 0.000 claims description 6
- 238000005516 engineering process Methods 0.000 claims description 5
- 230000003993 interaction Effects 0.000 claims description 5
- 238000012163 sequencing technique Methods 0.000 claims description 5
- 238000010606 normalization Methods 0.000 claims description 4
- 230000008878 coupling Effects 0.000 claims description 3
- 238000010168 coupling process Methods 0.000 claims description 3
- 238000005859 coupling reaction Methods 0.000 claims description 3
- 238000000605 extraction Methods 0.000 claims description 3
- 238000009499 grossing Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 3
- 238000005070 sampling Methods 0.000 claims description 3
- 238000003058 natural language processing Methods 0.000 abstract description 2
- 238000010801 machine learning Methods 0.000 description 12
- 230000001537 neural effect Effects 0.000 description 3
- 230000004931 aggregating effect Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004859 neutralization-reionization mass spectrometry Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Databases & Information Systems (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于用户意图特征的智能新闻推荐方法和系统,属于推荐系统领域和自然语言处理领域。本发明要解决的技术问题为现有的新闻推荐方法无法识别用户意图特征,从而导致推荐结果不准确的问题,采用的技术方案为:该方法具体如下:S1、构建新闻推荐模型的训练数据集;S2:构建基于用户意图特征的新闻推荐模型:具体如下:S201、构建新闻编码器;S202、构建TF‑IDF算法模块;S203、构建意图编码器;S204、构建图神经网络;S205、构建意图解码器;S206、构建点击率预测器;S3、训练基于用户意图特征的新闻推荐模型。该系统包括训练数据集生成单元、基于用户意图特征的新闻推荐模型构建单元和模型训练单元。
Description
技术领域
本发明涉及人工智能和自然语言处理领域,具体涉及一种基于用户意图特征的智能新闻推荐方法和系统。
背景技术
随着推荐系统技术的普及和快速发展,越来越多的用户喜欢通过网易、新浪和今日头条等在线新闻平台阅读新闻。尽管这些平台尝试为用户提供个性化的新闻推荐服务,但它们仍然不可避免地受到推荐结果不准确问题的困扰。如果新闻推荐系统无法准确地推荐合适的内容给用户,就会影响用户的阅读体验。解决上述问题的关键是对用户意图进行精准地建模,即准确地捕捉用户意图特征。
现实中,用户的行为经常受到他们意图的影响。相对于显式的、具体的用户兴趣,用户意图是隐式的用户特征,是指示用户行为方向的高级信号。在大多数情况下,用户往往会有目的性地去阅读一些与主题或事件相关的新闻,比如经济类的新闻,这表明了他们的阅读意图。那么,出于同样的目的(例如阅读经济类的新闻),不同的用户可能对特定的新闻有不同的偏好,因此可能会阅读不同的经济类的新闻。然而,现有的新闻推荐方法只考虑了用户低阶的兴趣特征,而忽略了用户高阶的意图特征。现有的新闻推荐方法通常依照用户浏览记录中的新闻文本内容建立用户的兴趣表示,进而基于用户的兴趣特征执行推荐任务。尽管这些方法在新闻推荐任务中一定程度地提升了推荐结果的准确度,但是它们都忽略了用户高阶的意图特征;仅仅建模低阶的用户兴趣特征,往往无法准确地捕捉用户真实的意图行为,这不可避免地会影响到新闻推荐结果的准确性。
发明内容
本发明的技术任务是提供一种基于用户意图特征的智能新闻推荐方法和系统,来解决新闻推荐系统中推荐结果不准确的问题。
本发明的技术任务是按以下方式实现的,一种基于用户意图特征的智能新闻推荐方法,该方法包括如下步骤:
S1、构建新闻推荐模型的训练数据集:首先下载网络上公开的新闻数据集,然后预处理数据集,最后构建正例数据和负例数据,组合生成最终的训练数据集;
S2、构建基于用户意图特征的新闻推荐模型:利用神经网络和深度学习方法构建新闻推荐模型;
S3、训练模型:在步骤S1所得到训练数据集中对步骤S2构建的新闻推荐模型进行训练。
一种基于用户意图特征的智能新闻推荐系统,该系统包括:
训练数据集生成单元,首先在线上新闻网站获得用户的浏览记录信息,随后对其进行预处理操作,从而得到符合训练要求的用户浏览记录及其新闻文本内容;
基于用户意图特征的新闻推荐模型构建单元,用于载入训练数据集、构建新闻编码模块、构建TF-IDF算法模块、构建意图编码模块、构建图神经网络模块、构建意图解码模块以及构建点击率预测模块;
模型训练单元,用于构建模型训练过程中所需要的损失函数,并完成模型的优化训练。
一种存储介质,其中存储有多条指令,所述指令由处理器加载,执行上述的基于用户意图特征的智能新闻推荐方法的步骤。
一种电子设备,所述电子设备包括:上述的存储介质;以及处理器,用于执行所述存储介质中的指令。
作为优选,新闻编码器的构建过程如下:
构建新闻编码器,包括四个模块:标题学习模块、摘要学习模块、类别学习模块和注意力模块,具体如下:
构建标题学习模块:针对数据集中每一个单词构建单词映射表,并将表中每一个单词映射成唯一的数字标识,映射规则为:以数字1为起始,随后按照每个单词被录入单词映射表的顺序依次递增排序,从而形成单词映射转换表;使用Glove预训练语言模型,得到每个单词的词向量表示;在词嵌入层将每一个新闻标题T=[w1,w2,...,wN]转换成向量表示,记为E=[e1,e2,...,eN],其中,N表示一个新闻标题的长度,eN表示每个单词的向量表示,w表示新闻标题中的一个单词。
针对E=[e1,e2,...,eN]使用卷积神经网络CNN进行特征提取,得到上下文特征向量[c1,c2,...,cN],公式如下:
ci=ReLU(Qw=e(i-k):(i+k)+bw);
其中,i表示相应字符向量在新闻标题中的相对位置,k表示距离i相对位置的差值,Qw表示CNN过滤器的卷积核,bw表示偏置,ReLU为一种激活函数,运算符×为矩阵乘法。
对上下文特征向量[c1,c2,...,cN],使用注意力机制进一步提取关键特征,得到最终的新闻标题向量rt,公式如下:
ai=qTtanh(V×ci+v);
其中,q是根据上下文特征向量的维度随机初始化后得到的注意力查询向量,V和v是从训练过程中学到的参数,tanh为一种激活函数,运算符×为矩阵乘法,exp为对数函数运算,ai是第i个单词的注意力分值,αi是第i个单词的注意力权重,N是上下文特征向量[c1,c2,...,cN]的长度。
构建摘要学习模块:以新闻摘要作为输入,具体实施方式同标题学习模块,之后得到摘要向量表示ra。
构建类别学习模块:在词嵌入层通过词向量方法将主类别标签和子类别标签分别映射到低维空间向量得到每个类别标签的词向量表示ec和esc,然后使用激活函数ReLU生成类别标签的最终向量rc和rsc,公式如下:
rc=ReLU(Vc×ec+vc);
rsc=ReLU(Vsc×esc+vsc);
其中,ReLU是一种激活函数,Vc、Vsc、vsc和vc是从训练过程中学到的参数,运算符×为矩阵乘法。
构建注意力模块:针对标题、摘要、主类别标签和子类别标签的向量rt、ra、rc和rsc,使用激活函数tanh分别计算各自的注意力分数,即at、aa、ac、asc,然后进一步通过注意力机制分别得到各自的注意力权重,公式如下:
其中,Vt、Va、vc、Vsc、vt、va、vc、vsc为计算标题注意力分数at、摘要注意力分数aa、主类别标签注意力分数ac和子类别标签注意力分数asc的随机初始化的可学习参数,是由标题向量rt生成的注意力查询向量,/>是由摘要向量ra生成的注意力查询向量,/>是由主类别标签向量rc生成的注意力查询向量,/>是由子类别标签向量rsc生成的注意力查询向量;tanh为一种激活函数,运算符×为矩阵乘法,exp为对数函数运算,αt是标题的注意力权重,αa是摘要的注意力权重,αc是主类别标签的注意力权重,αsc是子类别标签的注意力权重。
最终的新闻向量r由标题向量rt、摘要向量ra、主类别标签向量rc和子类别标签向量rsc以及各自的注意力权重决定,公式如下:
r=[αtrt;αara;αcrc;αscrsc];
其中,符号;表示联接操作。
更优地,所述基于用户意图特征的新闻推荐模型构建过程具体如下:
构建TF-IDF算法模块:首先,将一段用户浏览记录Cu={v1,...,vi,...,vt-1}输入到该模块,其中vi表示每一条用户浏览记录;然后,使用TF-IDF算法从用户浏览记录中提取关键词;最后,将这些关键词再通过词嵌入层映射到一个关键词向量矩阵Ki。
构建意图编码器,意图编码器旨在从用户浏览记录中推测用户的意图,具体如下:
构建卷积神经网络:
将用户的历史新闻序列的关键词向量{K1,...,Ki,...,Kt-1}作为卷积神经网络的输入,使用卷积神经网络编码这些向量,公式表示如下:
ci=ReLU(W′*K(i-f):(i+f)+b′);
其中,K(i-f):(i+f)表示从位置(i-f)到(i+f)联接的关键词向量,W′表示CNN过滤器的可学习参数,b′为偏置,*表示卷积操作,ReLU表示ReLU激活函数,ci表示卷积化的关键词向量。
构建信息映射模块:
为了从历史新闻序列的关键词向量中推测用户的意图,首先从新闻推荐数据集中使用TF-IDF方法抽取所有新闻的关键词,再利用词嵌入层生成全局关键词向量矩阵H,然后通过一个可学习的映射矩阵M过滤可能的关键词,再通过计算可能的关键词在全局关键词向量矩阵H中的分布概率可以得到可能的关键词向量矩阵。具体的过程公式表示如下:
C=[c1;c2;...;ct-1];
Wp=softmax(HMC);
Cp=WpH;
其中,softmax表示softmax归一化函数,C表示卷积化的关键词向量联接后的聚合矩阵,Wp表示可学习的权重矩阵。Cp表示可能的关键词向量矩阵,包含了所有的初始意图特征向量。
构建图神经网络:一旦该模块获得可能的关键词向量矩阵Cp,就将该矩阵输入到图神经网络。具体的,第l层图神经网络的操作过程表示如下:
其中,σ表示激活函数,Hl为第l层图神经网络的节点表示,Wl表示第l层图神经网络的可学习参数,D为度矩阵。A=A+I,其中A为邻接矩阵,I为单位矩阵。具体的,第一层的输入为Cp,那么其输出为H0=Cp。经过n层的图神经网络,在t时刻的用户意图能被表示为Ct=Hn,其中Ct包含了更新的意图特征向量。
构建意图解码器:在用户意图Ct由图神经网络生成之后,意图解码器使用注意力机制作为解码器以生成最终的意图特征向量,公式如下:
更优地,所述点击率预测器的构建过程具体如下:
构建基于候选新闻的注意力网络:其被设计用来将候选新闻的特征整合到最终的意图特征向量中,从而生成最终的用户向量。公式表示如下:
α=Att(WQd,WKuo);
其中,WQ、WK为可学习的参数,d为由新闻编码器生成的候选新闻的新闻向量表示,U为一个用户浏览记录的长度,u为最终的用户向量,Att表示注意力机制函数,α为注意力权重。
构建预测模块:其将候选新闻的向量表示d和最终的用户向量u作为输入,本模块使用点积运算预测候选新闻的点击率,公式如下:
本方法模型尚未进行充分训练时,需要在训练数据集上进行训练,以优化模型参数;当模型训练完毕时,点击率预测器可预测每一条候选新闻的推荐得分,根据得分,推荐合适的新闻给用户。
更优地,所述训练数据集的构建过程具体如下:
构建新闻数据集或者选择已公开的新闻数据集;
预处理新闻数据集:预处理新闻数据集中的每一条新闻文本,去除新闻数据集中的停用词及特殊字符;分别抽取每一条新闻文本的标题、类别、子类别和摘要信息;
构建训练正例:使用用户浏览记录中的历史新闻序列和交互行为序列中标签为1的新闻编号,即被用户点击的新闻的编号,构建训练正例;
构建训练负例:使用用户浏览记录中的历史新闻序列和交互行为序列中标签为0的新闻编号,即未被用户点击的新闻的编号,构建训练负例;
构建训练数据集:将全部的正例数据和负例数据进行组合,并打乱其顺序,构建最终的训练数据集;
所述的新闻推荐模型构建完成后通过训练数据集进行新闻推荐模型的训练与优化,具体如下:
构建损失函数:采用负采样技术,将一个用户的已点击的新闻定义为正样例,没有点击过的新闻定义为负样例,计算正样例的点击预测值pi。公式如下:
新闻推荐的损失函数为所有正样例的负对数似然函数,公式如下:
优化训练模型:选择使用Adam优化函数作为本模型的优化函数,其中,学习率设置为0.001,平滑常数设置为(0.9,0.999),eps设置为1e-8,L2惩罚值设置为0。
一种基于用户意图特征的智能新闻推荐系统,该系统包括,
训练数据集生成单元,首先在线上新闻网站获得用户的浏览记录信息,随后对其进行预处理操作,从而得到符合训练要求的用户浏览记录及其新闻文本内容;训练数据集生成单元包括,
原始数据获取单元,负责下载网络上已经公开的新闻网站数据集,将其作为构建训练数据集的原始数据;
原始数据预处理单元,负责预处理新闻数据集中的每一条新闻文本,去除新闻数据集中的停用词及特殊字符;分别抽取每一条新闻文本的关键信息,如标题、类别、摘要;从而构建训练数据集;
基于用户意图特征的新闻推荐模型构建单元,用于载入训练数据集、构建新闻编码模块、构建TF-IDF算法模块、构建意图编码模块、构建图神经网络模块、构建意图解码模块以及构建点击率预测模块,基于用户意图特征的新闻推荐模型构建单元包括,
训练数据集载入单元,负责加载训练数据集;
新闻编码模块构建单元,负责在训练数据集中训练基于Glove词向量模型的新闻向量,并定义所有的新闻向量表示;首先使用卷积神经网络和注意力机制分别编码新闻标题和摘要,得到新闻标题和摘要向量;同时使用全连接层分别编码新闻主类别和子类别,得到新闻主类别和子类别向量;再将新闻标题、摘要、主类别和子类别向量进行联接并输入到注意力机制中,得到最终的新闻向量;
TF-IDF算法模块构建单元,负责利用TF-IDF算法抽取用户浏览记录中的新闻关键词,然后再利用词嵌入方法将每一个关键词映射到同一个向量空间,从而得到新闻内容的关键词向量。
意图编码模块构建单元,负责利用CNN抽取关键词向量的主要特征并通过聚合操作生成关键词向量矩阵,然后通过一个可学习的映射矩阵M过滤可能的关键词,再通过计算可能的关键词在关键词向量矩阵中的分布概率得到可能的关键词向量矩阵。
图神经网络模块构建单元,负责利用图神经网络传播和聚合关键词向量特征,从而得到信息聚合后的关键词向量。
意图解码模块构建单元,负责利用注意力网络解码关键词向量中的用户意图特征,从而得到意图特征向量。
点击率预测模块构建单元,负责利用基于候选新闻的注意力网络融合意图特征向量和候选新闻特征向量,得到用户向量,然后将用户向量和候选新闻特征向量作为输入,再通过向量内积运算生成每个候选新闻的得分即点击率,然后将所有候选新闻依据点击率大小由高到低进行排序,将Top-K条新闻推荐给用户;
模型训练单元,用于构建模型训练过程中所需要的损失函数,并完成模型的优化训练;模型训练单元包括,
损失函数构建单元,负责计算预测的候选新闻与真实的目标新闻之间的误差;
模型优化单元,负责训练并调整模型训练中的参数,减小预测误差。
一种存储介质,其中存储有多条指令,其特征在于,所述指令由处理器加载,执行上述的基于用户意图特征的智能新闻推荐方法的步骤。
一种电子设备,其特征在于,所述电子设备包括:
上述的存储介质;以及
处理器,用于执行所述存储介质中的指令。
本发明的基于用户意图特征的智能新闻推荐方法和系统具有以下优点:
(一)本发明提出了基于用户意图特征的智能新闻推荐方法,挖掘了用户高阶的意图特征,相比于现有方法中用户的低阶兴趣特征的表示,能够较全面的建模用户的特征表示,进而提升新闻推荐的准确性。
(二)本发明首先通过TF-IDF方法对用户浏览记录中的新闻内容进行关键词特征抽取,然后利用意图编码器、图神经网络和意图解码器建立用户意图特征表示,从而得到高阶的用户意图表示。
(三)本发明通过点击率预测器模块,可以根据准确的新闻表示和用户表示,准确地输出候选新闻序列的预测分数。
(四)本发明能够利用深度学习技术和知识图谱的信息对用户进行抽象建模,从而实现精准地新闻推荐。
(五)本发明能够定义并实现一套完整的新闻推荐系统模型,直接为用户提供个性化的新闻推荐服务。
附图说明
下面结合附图对本发明进一步说明。
图1为基于用户意图特征的智能新闻推荐方法的流程图
图2为构建新闻推荐模型的训练数据集的流程图
图3为构建基于用户意图特征的新闻推荐模型的流程图
图4为训练基于用户意图特征的新闻推荐模型的流程图
图5为基于用户意图特征的新闻推荐模型的示意图
图6为新闻编码器的示意图
具体实施方式
参照说明书附图和具体实施例对本发明的基于用户意图特征的智能新闻推荐方法和系统作以下详细地说明。
实施例1:
本发明的总体模型框架如图5所示。由图5可知,本发明的主要框架结构包含新闻编码器、词频-逆向文件频率TF-IDF算法模块、意图编码器、图神经网络、意图解码器和点击率预测器模块。其中,新闻编码器负责利用卷积神经网络和注意力网络从候选新闻向量中提取候选新闻内容的主要特征,并生成候选新闻特征向量;TF-IDF算法模块负责从用户浏览记录中抽取新闻内容的关键词,然后利用词嵌入层生成关键词向量;意图编码器负责利用卷积神经网络对关键词向量编码,得到初始意图特征向量;图神经网络负责利用图卷积方法传播输入的初始意图特征向量,并通过信息汇聚得到更新的意图特征向量;意图解码器负责利用注意力网络解码从图神经网络中得到的更新的意图特征向量,并得到最终的意图特征向量;点击率预测器模块,首先利用基于候选新闻的注意力网络融合最终的意图特征向量和候选新闻特征向量,得到用户向量,然后将用户向量和候选新闻特征向量作为输入,最后通过向量点积运算生成每个候选新闻的得分即点击率,将所有候选新闻依据点击率大小由高到低进行排序,从而将Top-K条新闻推荐给用户。以上所述为本模型发明的结构简介。
实施例2:
如附图1所示,本发明的基于用户意图特征的智能新闻推荐方法,该方法具体如下:
S1、构建新闻推荐模型的训练数据集:新闻数据集包含两部分数据文件:用户浏览记录和新闻文本内容;其中,用户浏览记录包含用户编号、时间、历史新闻序列、交互行为序列;新闻文本内容包含新闻编号、类别、子类别、标题、摘要、实体;选取用户浏览记录中历史新闻序列和交互行为序列构建训练数据集的用户行为数据,选取新闻文本内容的标题、类别、子类别、摘要构建训练数据集的新闻文本数据;其中,用户行为数据将用于用户意图特征的提取,新闻文本内容数据将用于新闻特征的提取;构建训练数据集的方法具体如下:
S101、构建新闻数据集或者选择已公开的新闻数据集。
举例:下载网络上Microsoft已经公开的MIND新闻数据集,将其作为新闻推荐的原始数据。MIND是目前最大的英文新闻推荐系统数据集,包含20万个类别的1,000,000用户和161,013条新闻,分为训练集、验证集和测试集。MIND数据集同时提供了新闻文本内容的详细信息。每个新闻都有新闻编号、链接、标题、摘要、类别和实体:
另外,MIND数据集也提供了用户浏览记录,每条记录都包含用户编号、时间、历史新闻序列、交互行为序列:
其中,用户编号表示每一个用户在新闻平台唯一的编号;时间表示用户点击浏览一系列新闻的开始时间;历史新闻序列表示用户浏览过的一系列新闻编号的序列;交互行为序列表示用户在系统推荐的一系列新闻上的实际交互行为,1表示点击,0表示未点击。
S102、预处理新闻数据集:预处理新闻数据集中的每一条新闻文本,去除新闻数据集中的停用词及特殊字符;分别抽取每一条新闻文本的标题、类别、子类别和摘要信息。
S103、构建训练正例:使用用户浏览记录中的历史新闻序列和交互行为序列中标签为1的新闻编号,即被用户点击的新闻的编号,构建训练正例。
举例:对步骤S101中展示的新闻实例,构建的正例数据形式化为:(N29038,N15201,N8018,N32012,N30859,N26552,N25930)。其中最后一个编号为被用户点击的新闻的编号。
S104、构建训练负例:使用用户浏览记录中的历史新闻序列和交互行为序列中标签为0的新闻编号,即未被用户点击的新闻的编号,构建训练负例。
举例:对步骤S101中展示的新闻实例,构建的负例数据形式化为:(N29038,N15201,N8018,N32012,N30859,N26552,N17825)。其中最后一个编号为未被用户点击的新闻的编号。
S105、构建训练数据集:将经过步骤S103和步骤S104操作后所获得的全部的正例数据和负例数据进行组合,并打乱其顺序,构建最终的训练数据集。
S2、构建基于用户意图特征的新闻推荐模型:如附图3所示,该新闻推荐模型包含新闻编码器、词频-逆向文件频率TF-IDF算法模块、意图编码器、图神经网络、意图解码器和点击率预测器模块。具体如下:
S201、构建新闻编码器,如附图6所示,包括四个模块:标题学习模块、摘要学习模块、类别学习模块和注意力模块,具体如下:
S20101、构建标题学习模块,具体如下:
S2010101、针对数据集中每一个单词构建单词映射表,并将表中每一个单词映射成唯一的数字标识,映射规则为:以数字1为起始,随后按照每个单词被录入单词映射表的顺序依次递增排序,从而形成单词映射转换表;使用Glove预训练语言模型,得到每个单词的词向量表示;在词嵌入层将每一个新闻标题T=[w1,w2,...,wN]转换成向量表示,记为E=[e1,e2,...,eN],其中,N表示一个新闻标题的长度,eN表示每个单词的向量表示,w表示新闻标题中的一个单词。
举例:可借助预训练词向量Glove,将每一个新闻标题T=[w1,w2,...,wN]转换成词向量表示,表示为E=[e1,e2,...,eN]。
S2010102、针对E=[e1,e2,...,eN]使用卷积神经网络CNN进行特征提取,得到上下文特征向量[c1,c2,...,cN],公式如下:
ci=ReLU(Qw×e(i-k):(i+k)+bw);
其中,i表示相应字符向量在新闻标题中的相对位置,k表示距离i相对位置的差值,Qw表示CNN过滤器的卷积核,bw表示偏置,ReLU为一种激活函数,运算符×为矩阵乘法。
举例说明:在pytorch机器学习框架中,对于上面描述的代码实现如下所示:
其中,nn.Conv2d、F.dropout为pytorch中内置的卷积神经网络方法和防止训练过拟合的方法,title_vector为标题经过预训练词向量处理的标题向量,convoluted_title_vector为标题向量经过卷积神经网络处理后的上下文特征向量,activated_title_vector为经过激活函数ReLU函数处理后的上下文特征向量。
S2010103、对上下文特征向量[c1,c2,...,cN],使用注意力机制进一步提取关键特征,得到最终的新闻标题向量rt,公式如下:
ai=qTtanh(V×ci+v);
其中,q是根据上下文特征向量的维度随机初始化后得到的注意力查询向量,V和v是从训练过程中学到的参数,tanh为一种激活函数,运算符×为矩阵乘法,exp为对数函数运算,ai是第i个单词的注意力分值,αi是第i个单词的注意力权重,N是上下文特征向量[c1,c2,...,cN]的长度。
举例说明:在pytorch机器学习框架中,对于上面描述的代码实现如下所示:
self.title_attention=AdditiveAttention(config.query_vector_dim,config.num_filters)
weighted_title_vector=self.title_attention(activated_title_vector.transpose(1,2))
其中,self.title_attention即AdditiveAttention是本发明根据注意力机制的原理自定义的方法,weighted_title_vector为标题向量的注意力权重,config.query_vector_dim和config.num_filters为自定义的向量维度参数。
S20102、构建摘要学习模块:具体步骤同S20101构建标题学习模块,得到摘要向量ra。
S20103、构建类别学习模块:
在词嵌入层通过词向量方法将主类别标签和子类别标签分别映射到低维空间向量得到每个类别标签的词向量表示ec和esc,然后使用激活函数ReLU生成类别标签的最终向量rc和rsc,公式如下:
rc=ReLU(Vc×ec+vc);
rsc=ReLU(Vsc×esc+vsc);
其中,ReLU是一种激活函数,Vc、Vsc、vsc和vc是从训练过程中学到的参数,运算符×为矩阵乘法。
举例说明:在pytorch机器学习框架中,对于上面描述的代码实现如下所示:
其中,nn.Embedding、nn.Linear、F.relu分别为pytorch中内置的词向量嵌入方法、连接层方法和激活函数。config.category_embedding_dim和config.num_filters为自定义的向量维度参数,activated_category_vector和activated_subcategory_vector分别为最终生成的主类别标签向量rc和子类别标签向量rsc。
S20104、构建注意力模块:针对标题、摘要、主类别标签和子类别标签的向量rt、ra、rc和rsc,使用激活函数tanh分别计算各自的注意力分数,即at、aa、ac、asc,然后进一步通过注意力机制分别得到各自的注意力权重,公式如下:
其中,Vt、Va、Vc、Vsc、vt、va、vc、vsc为计算标题注意力分数at、摘要注意力分数aa、主类别标签注意力分数ac和子类别标签注意力分数asc的随机初始化的可学习参数,是由标题向量rt生成的注意力查询向量,/>是由摘要向量ra生成的注意力查询向量,/>是由主类别标签向量rc生成的注意力查询向量,/>是由子类别标签向量rsc生成的注意力查询向量;tanh为一种激活函数,运算符×为矩阵乘法,exp为对数函数运算,αt是标题的注意力权重,αa是摘要的注意力权重,αc是主类别标签的注意力权重,αsc是子类别标签的注意力权重。
最终的新闻向量r由标题向量rt、摘要向量ra、主类别标签向量rc和子类别标签向量rsc以及各自的注意力权重决定,公式如下:
r=[αtrt;αara;αcrc;αscrsc];
其中,符号;表示联接操作。
举例说明:在pytorch机器学习框架中,对于上面描述的代码实现如下所示:
其中,self.final_attention为本发明根据注意力机制的原理自定义的方法;weighted_title_vector、weighted_abstract_vector、activated_category_vector、activated_subcategory_vector分别为标题、摘要、主类别标签和子类别标签的向量rt、ra、rc和rsc;news_vector为最终的新闻向量r。
S202、构建TF-IDF算法模块,具体如下:首先,将一段用户的浏览记录Cu={v1,…,vi,...,vt-1}输入到该模块,其中vi表示每一条用户浏览记录;然后,使用TF-IDF算法从用户浏览记录中提取关键词;最后,将这些关键词再通过词嵌入层映射到一个关键词向量矩阵Ki。
举例说明:在pytorch机器学习框架中,对于上面描述的代码实现如下所示:
tfidf_model=TfidfVectorizer().fit(df)
sparse_result=tfidf_model.transform(df)
其中,df为输入的数据,TfidfVectorizer()为TF-IDF算法的向量化方法,tfidf_model.transform()为稀疏矩阵转换的方法。
S203、构建意图编码器,意图编码器旨在从用户浏览记录中推测用户的意图,具体如下:
S20301、构建卷积神经网络:
将用户的历史新闻序列的关键词向量{K1,...,Ki,...,Kt-1}作为卷积神经网络的输入,使用卷积神经网络编码这些向量,公式表示如下:
ci=ReLU(W′*K(i-f):(i+f)+b′);
其中,K(i-f):(i+f)表示从位置(i-f)到(i+f)联接的关键词向量,W′表示CNN过滤器的可学习参数,b′为偏置,*表示卷积操作,ReLU表示ReLU激活函数,ci表示卷积化的关键词向量。
举例说明:在pytorch机器学习框架中,对于上面描述的代码实现如下所示:
self.conv=Conv1D(config.cnn_method,self.concept_num_per_news,
self.num_concepts,config.cnn_window_size)
c=self.dropout_(self.conv(clicked_concept_emebedding))
其中,Conv1D为pytorch工具包的卷积神经网络方法,
S20302、构建信息映射模块:
为了从历史新闻序列的关键词向量中推测用户的意图,首先从新闻推荐数据集中使用TF-IDF方法抽取所有新闻的关键词,再利用词嵌入层生成全局关键词向量矩阵H,然后通过一个可学习的映射矩阵M过滤可能的关键词,再通过计算可能的关键词在全局关键词向量矩阵H中的分布概率可以得到可能的关键词向量矩阵。具体的过程公式表示如下:
C=[c1;c2;...;ct-1];
Wp=softmax(HMC);
Cp=WpH;
其中,softmax表示softmax归一化函数,C表示卷积化的关键词向量联接后的聚合矩阵,Wp表示可学习的权重矩阵。Cp表示可能的关键词向量矩阵,包含了所有的初始意图特征向量。
举例说明:在pytorch机器学习框架中,对于上面描述的代码实现如下所示:
temp=torch.matmul(c.reshape(-1,self.word_embedding_dim),self.transform_matrix)
t=torch.matmul(temp,self.pretrained_concept_embedding.transpose(0,1))
concept_weight=F.softmax(t,dim=1)
personalized_concept_vector=torch.matmul(concept_weight,self.pretrained_concept_embedding).reshape(batch_size,-1,self.word_embedding_dim)
其中,torch.matmul为矩阵乘法,F.softmax为softmax归一化函数。
S204、构建图神经网络:
一旦该模块获得可能的关键词向量矩阵Cp,就将该矩阵输入到图神经网络。具体的,第l层图神经网络的操作过程表示如下:
其中,σ表示激活函数,Hl为第l层图神经网络的节点表示,Wl表示第l层图神经网络的可学习参数,D为度矩阵。A=A+I,其中A为邻接矩阵,I为单位矩阵。具体的,第一层的输入为Cp,那么其输出为H0=Cp。经过n层的图神经网络,在t时刻的用户意图能被表示为Ct=Hn,其中Ct包含了更新的意图特征向量。
举例说明:在pytorch机器学习框架中,对于上面描述的代码实现如下所示:
其中,GCN为pytorch_geometric工具包的图神经网络方法,in_dim为输入向量的尺寸,out_dim为输出向量的尺寸,hidden_dim为隐藏层向量的尺寸,num_layers为图神经网络的层数。
S205、构建意图解码器:
在用户意图Ct由图神经网络生成之后,意图解码器使用注意力机制作为解码器以生成最终的意图特征向量,公式如下:
举例说明:在pytorch机器学习框架中,对于上面描述的代码实现如下所示:
self.attention_decoder=Attention(config.word_embedding_dim,config.attention_dim)
user_vector=self.attention_decoder(gcn_feature.reshape(batch_news_num,-1,self.word_embedding_dim)).reshape(batch_size,-1,self.word_embedding_dim)
其中,Attention为自定义的注意力机制方法。
S206、构建点击率预测器,主要包含基于候选新闻的注意力网络和预测模块。具体如下:
S20601、构建基于候选新闻的注意力网络,其被设计用来将候选新闻的特征整合到最终的意图特征向量中,从而生成最终的用户向量。公式表示如下:
α=att(WQd,WKuo);
其中,WQ、WK为可学习的参数,d为由新闻编码器生成的候选新闻的新闻向量表示,U为一个用户浏览记录的长度,u为最终的用户向量,Att表示注意力机制函数,α表示注意力权重。
举例说明:在pytorch机器学习框架中,对于上面描述的代码实现如下所示:
self.FusionAttention=ScaledDotProduct_CandidateAttention(self.news_embedding_dim,self.news_embedding_dim,self.attention_dim)
inter_cluster_feature=self.FusionAttention(final_user_representation.view([batch_news_num,1,self.news_embedding_dim]),candidate_news_representation.view([batch_news_num,self.news_embedding_dim])).view([batch_size,news_num,self.news_embedding_dim])
其中,ScaledDotProduct_CandidateAttention为自定义的点乘注意力方法。
S20602、构建预测模块,其将候选新闻的向量表示d和最终的用户向量u作为输入,本模块使用点积运算预测候选新闻的点击率,公式如下:
举例说明:在pytorch机器学习框架中,对于上面描述的代码实现如下所示:
probability=torch.bmm(user_vector.unsqueeze(dim=1),
candidate_news_vector.unsqueeze(dim=2)).flatten()
其中,torch.bmm为向量内积运算,user_vector为Aspect-level用户向量表示u,candidate_news_vector为Aspect-level新闻向量表示n。
S3、训练模型:如附图4所示,具体如下:
S301、构建损失函数:采用负采样技术,将一个用户的已点击的新闻定义为正样例,没有点击过的新闻定义为负样例,计算正样例的点击预测值pi。公式如下:
新闻推荐的损失函数为所有正样例的负对数似然函数,公式如下:
举例说明:在pytorch机器学习框架中,对于上面描述的代码实现如下所示:
loss=torch.stack([x[0]for x in-F.log_softmax(y_pred,dim=1)]).mean()
其中,F.log_softmax为pytorch内置的log_softmax损失函数,y_pred为点击预测值p。
S302、优化模型:选择使用Adam优化函数作为本模型的优化函数,其中,学习率设置为0.0001,平滑常数设置为(0.9,0.999),eps设置为1e-8,L2惩罚值设置为0。
在实验中,本发明选取ROC曲线下的面积AUC、平均倒数排名MRR、累计增益nDCG作为评价指标。
举例说明:上面描述的优化函数在pytorch中使用代码表示为:
optimizer=torch.optim.Adam(model.parameters(),lr=learning_rate)
其中,torch.optim.Adam为pytorch内嵌的Adam优化函数,model.parameters()为模型训练的参数集合,learning_rate为学习率。
本发明的模型在MIND公开数据集上取得了优于当前模型的结果,实验结果的对比具体见下表:
本发明模型和现有模型进行了比较,可见本发明方法较其他方法其性能最优。其中,NRMS出自文献《Neural news recommendation with multi-head self-attention》,NPA出自文献《NPA:neural news recommendation with personalized attention》,NNR出自文献《Neural News Recommendation with Collaborative News Encoding andStructural User Encoding》。
实施例3:
基于实施例2构建基于用户意图特征的智能新闻推荐系统,该系统包括:
训练数据集生成单元,首先在线上新闻网站获得用户的浏览记录信息,随后对其进行预处理操作,从而得到符合训练要求的用户浏览记录及其新闻文本内容;训练数据集生成单元包括,
原始数据获取单元,负责下载网络上已经公开的新闻网站数据集,将其作为构建训练数据集的原始数据;
原始数据预处理单元,负责预处理新闻数据集中的每一条新闻文本,去除新闻数据集中的停用词及特殊字符;分别抽取每一条新闻文本的关键信息,如标题、类别、摘要;从而构建训练数据集;
基于用户意图特征的新闻推荐模型构建单元,用于载入训练数据集、构建新闻编码模块、构建TF-IDF算法模块、构建意图编码模块、构建图神经网络模块、构建意图解码模块以及构建点击率预测模块,基于用户意图特征的新闻推荐模型构建单元包括,
训练数据集载入单元,负责加载训练数据集;
新闻编码模块构建单元,负责在训练数据集中训练基于Glove词向量模型的新闻向量,并定义所有的新闻向量表示;首先使用卷积神经网络和注意力机制分别编码新闻标题和摘要,得到新闻标题和摘要向量;同时使用全连接层分别编码新闻主类别和子类别,得到新闻主类别和子类别向量;再将新闻标题、摘要、主类别和子类别向量进行联接并输入到注意力机制中,得到最终的新闻向量;
TF-IDF算法模块构建单元,负责利用TF-IDF算法抽取用户浏览记录中的新闻关键词,然后再利用词嵌入方法将每一个关键词映射到同一个向量空间,从而得到新闻内容的关键词向量。
意图编码模块构建单元,负责利用CNN抽取关键词向量的主要特征并通过聚合操作生成关键词向量矩阵,然后通过一个可学习的映射矩阵M过滤可能的关键词,再通过计算可能的关键词在关键词向量矩阵中的分布概率得到可能的关键词向量矩阵。
图神经网络模块构建单元,负责利用图神经网络传播和聚合关键词向量特征,从而得到信息聚合后的关键词向量。
意图解码模块构建单元,负责利用注意力网络解码关键词向量中的用户意图特征,从而得到意图特征向量。
点击率预测模块构建单元,负责利用基于候选新闻的注意力网络融合意图特征向量和候选新闻特征向量,得到用户向量,然后将用户向量和候选新闻特征向量作为输入,再通过向量内积运算生成每个候选新闻的得分即点击率,然后将所有候选新闻依据点击率大小由高到低进行排序,将Top-K条新闻推荐给用户;
模型训练单元,用于构建模型训练过程中所需要的损失函数,并完成模型的优化训练;模型训练单元包括,
损失函数构建单元,负责计算预测的候选新闻与真实的目标新闻之间的误差;
模型优化单元,负责训练并调整模型训练中的参数,减小预测误差。
实施例4:
基于实施例2的存储介质,其中存储有多条指令,指令有处理器加载,执行实施例2的基于用户意图特征的智能新闻推荐方法的步骤。
实施例5:
基于实施例4的电子设备,电子设备包括:实施例4的存储介质;以及处理器,用于执行实施例4的存储介质中的指令。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (9)
1.一种基于用户意图特征的智能新闻推荐方法,其特征在于,该方法通过构建并训练由新闻编码器、词频-逆向文件频率TF-IDF算法模块、意图编码器、图神经网络、意图解码器和点击率预测器模块所构成的新闻推荐模型,将所有候选新闻依据点击率大小由高到低进行排序,将Top-K条新闻推荐给用户;具体如下:
构建新闻编码器,以新闻的标题、摘要、主类别和子类别信息作为输入,分别从上述四类信息中学习新闻特征向量;
构建基于用户意图特征的新闻推荐模型,以新闻编码器生成的新闻特征向量为输入,使用词频-逆向文件频率TF-IDF算法、卷积神经网络、注意力网络和图卷积神经网络得到用户的意图特征向量;
构建点击率预测器模块,首先利用基于候选新闻的注意力网络融合意图特征向量和候选新闻特征向量,得到用户向量,然后将用户向量和候选新闻特征向量作为输入,最后通过向量点积运算生成每个候选新闻的得分即点击率,将所有候选新闻依据点击率大小由高到低进行排序,将Top-K条新闻推荐给用户。
2.根据权利要求1所述的基于用户意图特征的智能新闻推荐方法,其特征在于,所述新闻编码器的构建过程具体如下:
构建标题学习模块:针对数据集中每一个单词构建单词映射表,并将表中每一个单词映射成唯一的数字标识,映射规则为:以数字1为起始,随后按照每个单词被录入单词映射表的顺序依次递增排序,从而形成单词映射转换表;使用Glove预训练语言模型,得到每个单词的词向量表示;在词嵌入层将每一个新闻标题T=[w1,w2,...,wN]转换成向量表示,记为E=[e1,e2,,eN],其中,N表示一个新闻标题的长度,eN表示每个单词的向量表示,w表示新闻标题中的一个单词;
针对E=[e1,e2,...,eN]使用卷积神经网络CNN进行特征提取,得到上下文特征向量[c1,c2,...,cN],公式如下:
ci=ReLU(Qw×e(i-k):(i+k)+bw);
其中,i表示相应字符向量在新闻标题中的相对位置,k表示距离i相对位置的差值,Qw表示CNN过滤器的卷积核,bw表示偏置,ReLU为一种激活函数,运算符×为矩阵乘法;
对上下文特征向量[c1,c2,...,cN],使用注意力机制进一步提取关键特征,得到最终的新闻标题向量rt,公式如下:
其中,q是根据上下文特征向量的维度随机初始化后得到的注意力查询向量,V和V是从训练过程中学到的参数,tanh为一种激活函数,运算符×为矩阵乘法,exp为对数函数运算,ai是第i个单词的注意力分值,αi是第i个单词的注意力权重,N是上下文特征向量[c1,c2,...,cN]的长度;
构建摘要学习模块:以新闻摘要作为输入,具体实施方式同标题学习模块,之后得到摘要向量表示ra;
构建类别学习模块:在词嵌入层通过词向量方法将主类别标签和子类别标签分别映射到低维空间向量得到每个类别标签的词向量表示ec和esc,然后使用激活函数ReLU生成类别标签的最终向量rc和rsc,公式如下:
rc=ReLU(Vc×ec+vc);
rsc=ReLU(Vsc×esc+vsc);
其中,ReLU是一种激活函数,Vc、Vsc、vsc和vc是从训练过程中学到的参数,运算符×为矩阵乘法;
构建注意力模块:针对标题、摘要、主类别标签和子类别标签的向量rt、ra、rc和rsc,使用激活函数tanh分别计算各自的注意力分数,即at、aa、ac、asc,然后进一步通过注意力机制分别得到各自的注意力权重,公式如下:
其中,Vt、Va、Vc、Vsc、vt、va、vc、vsc为计算标题注意力分数at、摘要注意力分数aa、主类别标签注意力分数ac和子类别标签注意力分数asc的随机初始化的可学习参数;是由标题向量rt生成的注意力查询向量,/>是由摘要向量ra生成的注意力查询向量,/>是由主类别标签向量rc生成的注意力查询向量,/>是由子类别标签向量rsc生成的注意力查询向量;tanh为一种激活函数,运算符×为矩阵乘法,exp为对数函数运算,αt是标题的注意力权重,αa是摘要的注意力权重,αc是主类别标签的注意力权重,αsc是子类别标签的注意力权重;
最终的新闻向量r由标题向量rt、摘要向量ra、主类别标签向量rc和子类别标签向量rsc以及各自的注意力权重决定,公式如下:
r=[αtrt;αara;αcrc;αscrsc];
其中,符号;表示联接操作。
3.根据权利要求1所述的基于用户意图特征的智能新闻推荐方法,其特征在于,所述基于用户意图特征的新闻推荐模型的构建过程具体如下:
构建TF-IDF算法模块:首先,将一段用户的浏览记录Cu={v1,...,vi,...,vt-1}输入到该模块,其中vi表示每一条用户浏览记录;然后,使用TF-IDF算法从用户浏览记录中提取关键词;最后,将这些关键词再通过词嵌入层映射到一个关键词向量矩阵Ki;
构建意图编码器,意图编码器旨在从用户浏览记录中推测用户的意图,具体如下:
构建卷积神经网络:
将用户的历史新闻序列的关键词向量{K1,...,Ki,...,Kt-1}作为卷积神经网络的输入,使用卷积神经网络编码这些向量,公式如下:
ci=ReLU(W′*K(i-f):(i+f)+b′);
其中,K(i-f):(i+f)表示从位置(i-f)到(i+f)联接的关键词向量,W′表示CNN过滤器的可学习参数,b′为偏置,*表示卷积操作,ReLU表示ReLU激活函数,ci表示卷积化的关键词向量;
构建信息映射模块:
为了从历史新闻序列的关键词向量中推测用户的意图,首先从新闻推荐数据集中使用TF-IDF方法抽取所有新闻的关键词,再利用词嵌入层生成全局关键词向量矩阵H,然后通过一个可学习的映射矩阵M过滤可能的关键词,再通过计算可能的关键词在全局关键词向量矩阵H中的分布概率可以得到可能的关键词向量矩阵;具体的过程公式表示如下:
C=[c1;c2;…;ct-1];
Wp=softmax(HMC);
Cp=WpH;
其中,softmax表示softmax归一化函数,C表示卷积化的关键词向量联接后的聚合矩阵,Wp表示可学习的权重矩阵;Cp表示可能的关键词向量矩阵,包含了所有的初始意图特征向量;
构建图神经网络:一旦获得可能的关键词向量矩阵Cp,就将该矩阵输入到图神经网络;具体的,第l层图神经网络的操作过程表示如下:
其中,σ表示激活函数,Hl为第l层图神经网络的节点表示,Wl表示第l层图神经网络的可学习参数,D为度矩阵;A=A+I,其中A为邻接矩阵,I为单位矩阵;具体的,第一层的输入为Cp,那么其输出为H0=Cp;经过n层的图神经网络,在t时刻的用户意图能被表示为Ct=Hn,其中Ct包含了更新的意图特征向量;
构建意图解码器:在用户意图Ct由图神经网络生成之后,意图解码器使用注意力机制生成最终的意图特征向量,公式如下:
4.根据权利要求1所述的基于用户意图特征的智能新闻推荐方法,其特征在于,所述点击率预测器的构建过程具体如下:
构建基于候选新闻的注意力网络:其被设计用来将候选新闻的特征整合到最终的意图特征向量中,从而生成最终的用户向量;公式表示如下:
α=Att(WQd,WKuo);
其中,WQ、WK为可学习的参数,d为由新闻编码器生成的候选新闻的新闻向量表示,U为一个用户浏览记录的长度,u为最终的用户向量,Att表示注意力机制函数,α表示注意力权重;
构建预测模块:其将候选新闻的向量表示d和最终的用户向量u作为输入,使用点积运算预测候选新闻的点击率,公式如下:
本方法模型尚未进行充分训练时,需要在训练数据集上进行训练,以优化模型参数;当模型训练完毕时,点击率预测器可预测每一条候选新闻的推荐得分,根据得分,推荐合适的新闻给用户。
5.根据权利要求1所述的基于用户意图特征的智能新闻推荐方法,其特征在于,所述训练数据集的构建过程具体如下:
构建新闻数据集或者选择已公开的新闻数据集;
预处理新闻数据集:预处理新闻数据集中的每一条新闻文本,去除新闻数据集中的停用词及特殊字符;分别抽取每一条新闻文本的标题、类别、子类别和摘要信息;
构建训练正例:使用用户浏览记录中的历史新闻序列和交互行为序列中标签为1的新闻编号,即被用户点击的新闻的编号,构建训练正例;
构建训练负例:使用用户浏览记录中的历史新闻序列和交互行为序列中标签为0的新闻编号,即未被用户点击的新闻的编号,构建训练负例;
构建训练数据集:将全部的正例数据和负例数据进行组合,并打乱其顺序,构建最终的训练数据集。
6.根据权利要求1所述的基于用户意图特征的新闻推荐模型构建完成后通过训练数据集进行新闻推荐模型的训练与优化,具体如下:
构建损失函数:采用负采样技术,将一个用户的已点击的新闻定义为正样例,没有点击过的新闻定义为负样例,计算正样例的点击预测值pi;公式如下:
新闻推荐的损失函数为所有正样例的负对数似然函数,公式如下:
优化训练模型:选择使用Adam优化函数作为本模型的优化函数,其中,学习率设置为0.001,平滑常数设置为(0.9,0.999),eps设置为1e-8,L2惩罚值设置为0。
7.一种基于用户意图特征的智能新闻推荐系统,其特征在于,该系统包括:
训练数据集构建单元,首先在线上新闻网站获得用户的浏览记录信息,随后对其进行预处理操作,从而得到符合训练要求的用户浏览记录及其新闻文本内容;训练数据集构建单元包括,
原始数据获取单元,负责下载网络上已经公开的新闻网站数据集,将其作为构建训练数据集的原始数据;
原始数据预处理单元,负责预处理新闻数据集中的每一条新闻文本,去除新闻数据集中的停用词及特殊字符;分别抽取每一条新闻文本的关键信息,如标题、类别、摘要;从而构建训练数据集;
基于用户意图特征的新闻推荐模型构建单元,用于载入训练数据集、构建新闻编码模块、构建TF-IDF算法模块、构建意图编码模块、构建图神经网络模块、构建意图解码模块以及构建点击率预测模块,基于用户意图特征的新闻推荐模型构建单元包括,
训练数据集载入单元,负责加载训练数据集;
新闻编码模块构建单元,负责在训练数据集中训练基于Glove词向量模型的新闻向量,并定义所有的新闻向量表示;首先使用卷积神经网络和注意力机制分别编码新闻标题和摘要,得到新闻标题和摘要向量;同时使用全连接层分别编码新闻主类别和子类别,得到新闻主类别和子类别向量;再将新闻标题、摘要、主类别和子类别向量进行联接并输入到注意力机制中,得到最终的新闻向量;
TF-IDF算法模块构建单元,负责利用TF-IDF算法抽取用户浏览记录中的新闻关键词,然后再利用词嵌入方法将每一个关键词映射到同一个向量空间,从而得到新闻内容的关键词向量;
意图编码模块构建单元,负责利用CNN抽取关键词向量的主要特征并通过聚合操作生成关键词向量矩阵,然后通过一个可学习的映射矩阵过滤可能的关键词,再通过计算可能的关键词在关键词向量矩阵中的分布概率得到可能的关键词向量矩阵;
图神经网络模块构建单元,负责利用图神经网络传播和聚合关键词向量特征,从而得到信息聚合后的关键词向量;
意图解码模块构建单元,负责利用注意力网络解码关键词向量中的用户意图特征,从而得到意图特征向量;
点击率预测模块构建单元,负责利用基于候选新闻的注意力网络融合意图特征向量和候选新闻特征向量,得到用户向量,然后将用户向量和候选新闻特征向量作为输入,再通过向量内积运算生成每个候选新闻的得分即点击率,然后将所有候选新闻依据点击率大小由高到低进行排序,将Top-K条新闻推荐给用户;
模型训练单元,用于构建模型训练过程中所需要的损失函数,并完成模型的优化训练;模型训练单元包括,
损失函数构建单元,负责计算预测的候选新闻与真实的目标新闻之间的误差;
模型优化单元,负责训练并调整模型训练中的参数,减小预测误差。
8.一种存储介质,其中存储有多条指令,其特征在于,所述指令由处理器加载,执行权利要求1-6中所述的基于用户意图特征的新闻推荐方法的步骤。
9.一种电子设备,其特征在于,所述电子设备包括:
权利要求8所述的存储介质;以及处理器,用于执行所述存储介质中的指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310412911.4A CN116431919A (zh) | 2023-04-13 | 2023-04-13 | 基于用户意图特征的智能新闻推荐方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310412911.4A CN116431919A (zh) | 2023-04-13 | 2023-04-13 | 基于用户意图特征的智能新闻推荐方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116431919A true CN116431919A (zh) | 2023-07-14 |
Family
ID=87085105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310412911.4A Pending CN116431919A (zh) | 2023-04-13 | 2023-04-13 | 基于用户意图特征的智能新闻推荐方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116431919A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116911304A (zh) * | 2023-09-12 | 2023-10-20 | 深圳须弥云图空间科技有限公司 | 一种文本推荐方法及装置 |
CN117150145A (zh) * | 2023-10-31 | 2023-12-01 | 成都企软数字科技有限公司 | 一种基于大语言模型的个性化新闻推荐方法及系统 |
CN117251643A (zh) * | 2023-08-29 | 2023-12-19 | 海南大学 | 基于协同过滤和概率语言术语集的新闻推荐方法及系统 |
-
2023
- 2023-04-13 CN CN202310412911.4A patent/CN116431919A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117251643A (zh) * | 2023-08-29 | 2023-12-19 | 海南大学 | 基于协同过滤和概率语言术语集的新闻推荐方法及系统 |
CN117251643B (zh) * | 2023-08-29 | 2024-05-07 | 海南大学 | 基于协同过滤和概率语言术语集的新闻推荐方法及系统 |
CN116911304A (zh) * | 2023-09-12 | 2023-10-20 | 深圳须弥云图空间科技有限公司 | 一种文本推荐方法及装置 |
CN116911304B (zh) * | 2023-09-12 | 2024-02-20 | 深圳须弥云图空间科技有限公司 | 一种文本推荐方法及装置 |
CN117150145A (zh) * | 2023-10-31 | 2023-12-01 | 成都企软数字科技有限公司 | 一种基于大语言模型的个性化新闻推荐方法及系统 |
CN117150145B (zh) * | 2023-10-31 | 2024-01-02 | 成都企软数字科技有限公司 | 一种基于大语言模型的个性化新闻推荐方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109376222B (zh) | 问答匹配度计算方法、问答自动匹配方法及装置 | |
CN116431919A (zh) | 基于用户意图特征的智能新闻推荐方法和系统 | |
CN112084383A (zh) | 基于知识图谱的信息推荐方法、装置、设备及存储介质 | |
CN112085565B (zh) | 基于深度学习的信息推荐方法、装置、设备及存储介质 | |
CN111061856A (zh) | 一种基于知识感知的新闻推荐方法 | |
CN112256866B (zh) | 一种基于深度学习的文本细粒度情感分析算法 | |
CN116720004B (zh) | 推荐理由生成方法、装置、设备及存储介质 | |
CN113590970B (zh) | 一种基于读者偏好的个性化数字图书推荐系统、方法、计算机及存储介质 | |
CN117453921B (zh) | 一种大语言模型的数据信息标签处理方法 | |
CN112464100B (zh) | 信息推荐模型训练方法、信息推荐方法、装置及设备 | |
CN111625715B (zh) | 信息提取方法、装置、电子设备及存储介质 | |
CN116450796A (zh) | 一种智能问答模型构建方法及设备 | |
CN114943034A (zh) | 基于细粒度方面特征的智能新闻推荐方法和系统 | |
CN115982467A (zh) | 一种去偏化用户多兴趣推荐方法、装置及存储介质 | |
CN114896510A (zh) | 基于用户多兴趣特征的智能新闻推荐方法和系统 | |
CN116228368A (zh) | 一种基于深度多行为网络的广告点击率预测方法 | |
CN111753151B (zh) | 一种基于互联网用户行为的服务推荐方法 | |
CN113920379A (zh) | 一种基于知识辅助的零样本图像分类方法 | |
CN113297385B (zh) | 基于改进GraphRNN的多标签文本分类系统及分类方法 | |
CN115344698A (zh) | 标签处理方法、装置、计算机设备、存储介质和程序产品 | |
CN115630223A (zh) | 基于多模型融合的服务推荐方法及推荐系统 | |
CN115481236A (zh) | 一种基于用户兴趣建模的新闻推荐方法 | |
Liu | POI recommendation model using multi-head attention in location-based social network big data | |
CN113239143A (zh) | 融合电网故障案例库的输变电设备故障处理方法及系统 | |
CN116340641A (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 |