一种基于双向LSTM的相关新闻挖掘方法及系统与流程

文档序号:17321958发布日期:2019-04-05 21:35阅读:189来源:国知局
一种基于双向LSTM的相关新闻挖掘方法及系统与流程

本申请涉及信息处理技术领域,尤其涉及一种基于双向lstm(longshort-termmemory,长短期记忆网络)的相关新闻挖掘方法及系统。



背景技术:

随着互联网的发展,业务量的急剧增长,如何让机器更智能化,高效化的学习,代替人类并更好的去完成一些高质量的工作(如,新闻质量评分,个性化推荐,计算广告业务等等),是当今工业界核心的问题之一。

机器学习是一门专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能的学科。

机器学习虽然发展了几十年,但还是存在很多没有良好解决的问题,例如图像识别、语音识别、自然语言理解、天气预测、基因表达、内容推荐等等。目前通过机器学习去解决这些问题的思路都是这样的(以视觉感知为例子):

从开始的通过传感器来获得数据,然后经过预处理、特征提取、特征选择,再到推理、预测或者识别;最后一个部分,也就是机器学习的部分,绝大部分的工作是在这方面做的,也存在很多的报道和研究。

而中间的三部分,概括起来就是特征表达。良好的特征表达,对最终算法的准确性起了非常关键的作用,而且系统主要的计算和测试工作都耗在这一大部分。但,这块实际中一般都是人工完成的,靠人工提取特征。

传统的机器学习方法需要手工地选取特征,是一件非常费力、启发式(需要专业知识)的方法,能不能选取好很大程度上靠经验和运气,而且它的调节需要大量的时间。

在新闻推荐领域中,新闻的相关性计算尤为重要,新闻特征较多,如关键字、话题、标题词、所属频道、媒体等等,通常几百万至上千万不等。

传统的新闻相关性计算方式多采用精准匹配等方式进行计算,存在以下缺点:

由于新闻篇数多、特征总量大,利用特征精准匹配的方法计算每篇新闻的topn个相关新闻耗时较长,如果新闻总量是n,特征数为m,那么时间复杂度为o(m*n2)。而且过于精准的挖掘方法泛化性差,造成相同内容重复和冗余,不利于用户兴趣探索,例如《今年底宁夏所有开发区污水集中处理设施全部投用》和《今年年底宁夏所有开发区污水集中处理设施全部投用》仅仅差了一个字,内容高度重合,不应反复给用户展示。而且通过内容相关很难挖掘出一些热点新闻,给用户体验带来了极大的负面影响。传统的穷举搜索,速度慢、效率低。

因此,如何解决现有的相关新闻挖掘的缺陷,是一项亟待解决的问题。



技术实现要素:

有鉴于此,本申请提供了一种基于双向lstm的相关新闻挖掘方法,基于用户点击行为的双向lstm的相关新闻挖掘方法,相比基于内容的精确匹配的方法,有效的提升了用户体验,减少了由于内容冗余造成的新闻资源位浪费并加快了相关新闻的计算速度。

本申请提供了一种基于双向lstm的相关新闻挖掘方法,包括:

获取用户点击的新闻序列;

对所述新闻序列中的新闻id进行嵌入,得到新闻id的向量;

基于所述新闻id的向量,利用聚类算法生成的搜索树得到所述新闻id的相关新闻。

优选地,所述获取用户点击的新闻序列包括:

获取用户近期点击的30个新闻id。

优选地,所述对所述新闻序列中的新闻id进行嵌入,得到新闻id的向量包括:

采用双向lstm连接多层感知机的方式训练模型,lstm采用正反两个方向的id序列来预测得到当前新闻id的向量。

优选地,所述基于所述新闻id的向量,利用聚类算法生成的搜索树得到所述新闻id的相关新闻包括:

利用聚类算法建立起聚类算法搜索树,在所述搜索树中查找到与所述新闻id相近的预设个id,将查到的预设个id对应的新闻确定为所述新闻id的相关新闻。

优选地,所述与新闻id相近的预设个id为:与所述新闻id相近的100个id。

一种基于双向lstm的相关新闻挖掘系统,包括:

获取模块,用于获取用户点击的新闻序列;

嵌入模块,用于对所述新闻序列中的新闻id进行嵌入,得到新闻id的向量;

搜索模块,用于基于所述新闻id的向量,利用聚类算法生成的搜索树得到所述新闻id的相关新闻。

优选地,所述获取模块具体用于:

获取用户近期点击的30个新闻id。

优选地,所述嵌入模块具体用于:

采用双向lstm连接多层感知机的方式训练模型,lstm采用正反两个方向的id序列来预测得到当前新闻id的向量。

优选地,所述搜索模块具体用于:

利用聚类算法建立起聚类算法搜索树,在所述搜索树中查找到与所述新闻id相近的预设个id,将查到的预设个id对应的新闻确定为所述新闻id的相关新闻。

优选地,所述与新闻id相近的预设个id为:与所述新闻id相近的100个id。

综上所述,本申请公开了一种基于双向lstm的相关新闻挖掘方法,当需要挖掘相关新闻时,首先获取用户点击的新闻序列,然后对新闻序列中的新闻id进行嵌入,得到新闻id的向量,最后基于新闻id的向量,利用聚类算法生成的搜索树得到所述新闻id的相关新闻。本申请基于用户点击行为的双向lstm神经网络模型的相关新闻挖掘方法,相比基于内容的精确匹配的方法,有效的提升了用户体验,减少了由于内容冗余造成的新闻资源位浪费并加快了相关新闻的计算速度。同时,利用搜索树检索相关新闻,速度快于传统穷举法,有效的节省了计算时间。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请公开的一种基于双向lstm的相关新闻挖掘方法实施例1的流程图;

图2为本申请公开的一种基于双向lstm的相关新闻挖掘方法实施例2的流程图;

图3为本申请公开的一种基于双向lstm的相关新闻挖掘系统实施例1的结构示意图;

图4为本申请公开的一种基于双向lstm的相关新闻挖掘系统实施例2的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

如图1所示,为本申请公开的一种基于双向lstm的相关新闻挖掘方法实施例1的流程图,所述方法可以包括以下步骤:

s101、获取用户点击的新闻序列;

当需要获取相关新闻时,首先获取用户点击过的新闻id,即,得到用户点击的新闻序列。

s102、对新闻序列中的新闻id进行嵌入,得到新闻id的向量;

当获取到用户点击的新闻序列后,分别对新闻序列中的每个新闻id进行嵌入处理,经过嵌入处理后的新闻id,再利用模型生成新闻id对应的向量。

s103、基于新闻id的向量,利用聚类算法生成的搜索树得到新闻id的相关新闻。

当得到新闻id的向量后,利用分层聚类算法,建立起搜索树,在搜索树中查找到新闻id的相关新闻。

综上所述,在上述实施例中,当需要挖掘相关新闻时,首先获取用户点击的新闻序列,然后对新闻序列中的新闻id进行嵌入,得到新闻id的向量,最后基于新闻id的向量,利用聚类算法生成的搜索树得到所述新闻id的相关新闻。本申请基于用户点击行为的双向lstm神经网络模型的相关新闻挖掘方法,相比基于内容的精确匹配的方法,有效的提升了用户体验,减少了由于内容冗余造成的新闻资源位浪费并加快了相关新闻的计算速度。同时,利用搜索树检索相关新闻,速度快于传统穷举法,有效的节省了计算时间。

如图2所示,为本申请公开的一种基于双向lstm的相关新闻挖掘方法实施例2的流程图,所述方法可以包括以下步骤:

s201、获取用户点击的新闻序列;

当需要获取相关新闻时,首先获取用户点击过的新闻id,即,得到用户点击的新闻序列。具体的,考虑到用户行为受时效性影响较大,从而选取的用户点击序列可以是用户最近点击的30个新闻id。

s202、采用双向lstm连接多层感知机的方式训练模型,lstm采用正反两个方向的id序列来预测得到当前新闻id的向量;

当获取到用户点击的新闻序列后,分别对新闻序列中的每个新闻id进行嵌入处理,经过嵌入处理后的新闻id,再利用模型生成新闻id对应的向量。

具体的,假设当前用户点击序列是id1-15,需要预测的当前id是id9,那么模型通过id1-8和id15-10(正反两向分别不够15个id用id0补齐),经过预测层向量化后再经过正反两向lstm神经网络,对神经网络的输出结果进行连接后经过mlp(多层感知机),最终得到id9的向量;模型的参数通过反向传播进行更新。

如,对每个新闻id进行嵌入,在嵌入的过程中,每一个新闻id受其前15个新闻id和后15个新闻id影响(不包含当前新闻id),不足15个新闻id时,用特殊id进行填充;前15个新闻id通过正向lstm转换成一个300维的向量,后15个新闻id通过反向的lstm转换成一个300维的向量,在将正、反两个方向的向量进行拼接并利用mlp投影成300维的向量,投影的结果就是当前新闻id的向量。

s203、利用聚类算法建立起聚类算法搜索树,在搜索树中查找到与新闻id相近的预设个id,将查到的预设个id对应的新闻确定为所述新闻id的相关新闻。

当得到新闻id的向量后,利用分层聚类算法,建立起搜索树,在搜索树中查找到新闻id的相关新闻。

具体的,有了每个新闻id的向量,那么可以根据向量建立聚类算法搜索树,并通过聚类算法搜索树检索相关新闻。如,利用聚类算法搜索树找出最相近的top100个相关新闻id。

综上所述,本申请采用双向lstm基于行为挖掘出的相关新闻的点击通过率(0.12)远高于传统基于内容的方法的点击通过率(0.067),留存率和阅读时长也有明显改善;利用用户点击行为序列挖掘的相关新闻,更容易发觉热点问题。将双向lstm深度神经网络应用在点击序列上,遗忘不相关的噪声id,并加深强关联id的记忆,在算法上优胜劣汰,择优选择特征。采用kmeanstree进行相关新闻搜索,极大的提升的搜索速度,计算时间大概是穷举的1/20。

如图3所示,为本申请公开的一种基于双向lstm的相关新闻挖掘系统实施例1的结构示意图,所述系统可以包括:

获取模块301,用于获取用户点击的新闻序列;

当需要获取相关新闻时,首先获取用户点击过的新闻id,即,得到用户点击的新闻序列。

嵌入模块302,用于对新闻序列中的新闻id进行嵌入,得到新闻id的向量;

当获取到用户点击的新闻序列后,分别对新闻序列中的每个新闻id进行嵌入处理,经过嵌入处理后的新闻id,再利用模型生成新闻id对应的向量。

搜索模块303,用于基于新闻id的向量,利用聚类算法生成的搜索树得到新闻id的相关新闻。

当得到新闻id的向量后,利用分层聚类算法,建立起搜索树,在搜索树中查找到新闻id的相关新闻。

综上所述,在上述实施例中,当需要挖掘相关新闻时,首先获取用户点击的新闻序列,然后对新闻序列中的新闻id进行嵌入,得到新闻id的向量,最后基于新闻id的向量,利用聚类算法生成的搜索树得到所述新闻id的相关新闻。本申请基于用户点击行为的双向lstm神经网络模型的相关新闻挖掘方法,相比基于内容的精确匹配的方法,有效的提升了用户体验,减少了由于内容冗余造成的新闻资源位浪费并加快了相关新闻的计算速度。同时,利用搜索树检索相关新闻,速度快于传统穷举法,有效的节省了计算时间。

如图4所示,为本申请公开的一种基于双向lstm的相关新闻挖掘系统实施例2的结构示意图,所述系统可以包括:

获取模块401,用于获取用户点击的新闻序列;

当需要获取相关新闻时,首先获取用户点击过的新闻id,即,得到用户点击的新闻序列。具体的,考虑到用户行为受时效性影响较大,从而选取的用户点击序列可以是用户最近点击的30个新闻id。

嵌入模块402,用于采用双向lstm连接多层感知机的方式训练模型,lstm采用正反两个方向的id序列来预测得到当前新闻id的向量;

当获取到用户点击的新闻序列后,分别对新闻序列中的每个新闻id进行嵌入处理,经过嵌入处理后的新闻id,再利用模型生成新闻id对应的向量。

具体的,假设当前用户点击序列是id1-15,需要预测的当前id是id9,那么模型通过id1-8和id15-10(正反两向分别不够15个id用id0补齐),经过预测层向量化后再经过正反两向lstm神经网络,对神经网络的输出结果进行连接后经过mlp(多层感知机),最终得到id9的向量;模型的参数通过反向传播进行更新。

如,对每个新闻id进行嵌入,在嵌入的过程中,每一个新闻id受其前15个新闻id和后15个新闻id影响(不包含当前新闻id),不足15个新闻id时,用特殊id进行填充;前15个新闻id通过正向lstm转换成一个300维的向量,后15个新闻id通过反向的lstm转换成一个300维的向量,在将正、反两个方向的向量进行拼接并利用mlp投影成300维的向量,投影的结果就是当前新闻id的向量。

搜索模块403,用于利用聚类算法建立起聚类算法搜索树,在搜索树中查找到与新闻id相近的预设个id,将查到的预设个id对应的新闻确定为所述新闻id的相关新闻。

当得到新闻id的向量后,利用分层聚类算法,建立起搜索树,在搜索树中查找到新闻id的相关新闻。

具体的,有了每个新闻id的向量,那么可以根据向量建立聚类算法搜索树,并通过聚类算法搜索树检索相关新闻。如,利用聚类算法搜索树找出最相近的top100个相关新闻id。

综上所述,本申请采用双向lstm基于行为挖掘出的相关新闻的点击通过率(0.12)远高于传统基于内容的方法的点击通过率(0.067),留存率和阅读时长也有明显改善;利用用户点击行为序列挖掘的相关新闻,更容易发觉热点问题。将双向lstm深度神经网络应用在点击序列上,遗忘不相关的噪声id,并加深强关联id的记忆,在算法上优胜劣汰,择优选择特征。采用kmeanstree进行相关新闻搜索,极大的提升的搜索速度,计算时间大概是穷举的1/20。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1