CN111125460B - 信息推荐方法及装置 - Google Patents
信息推荐方法及装置 Download PDFInfo
- Publication number
- CN111125460B CN111125460B CN201911349778.2A CN201911349778A CN111125460B CN 111125460 B CN111125460 B CN 111125460B CN 201911349778 A CN201911349778 A CN 201911349778A CN 111125460 B CN111125460 B CN 111125460B
- Authority
- CN
- China
- Prior art keywords
- information
- similar
- different types
- user
- matched
- 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/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9035—Filtering based on additional data, e.g. user or group profiles
-
- 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/90—Details of database functions independent of the retrieved data types
- G06F16/907—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种信息推荐方法、装置、电子设备及存储介质;方法包括:预先获取多个不同类型的信息,并进行分析以得到每个信息对应的标签;对所述每个信息对应的标签的名称进行词嵌入处理,得到所述每个信息对应的向量;对所述多个不同类型的信息对应的向量进行聚类处理,得到由相似的信息构成的相似信息集合;获取与用户行为相关的信息,确定与所述相关的信息匹配的相似信息集合,将所述匹配的相似信息集合包括的信息发送至所述用户的终端。通过本发明,能够实现跨类型的信息推荐,丰富了推荐内容的多样性。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及一种信息推荐方法、装置、电子设备及存储介质。
背景技术
人工智能(AI,Artificial Intelligence)是计算机科学的一个综合技术,通过研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术是一门综合学科,涉及领域广泛,例如自然语言处理技术以及机器学习/深度学习等几大方向。随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
其中,信息推荐是人工智能技术的一个重要应用领域,通过机器学习/深度学习模型勾勒出用户画像,从而向用户推荐感兴趣的内容。信息推荐涉及的应用场景十分广泛。例如,在电商领域,可以根据用户的浏览记录向用户推荐感兴趣的商品;在社交领域,可以根据用户的社交关系向用户推荐新的联系人等。
然而,相关技术在进行信息推荐时推荐的内容比较单一,无法满足用户需求。
发明内容
本发明实施例提供一种信息推荐方法、装置、电子设备及存储介质,能够实现跨类型的信息推荐,丰富了推荐内容的多样性。
本发明实施例的技术方案是这样实现的:
本发明实施例提供一种信息推荐方法,包括:
获取多个不同类型的信息,并进行分析以得到每个信息对应的标签;
对所述每个信息对应的标签的名称进行词嵌入处理,得到所述每个信息对应的向量;
对所述多个不同类型的信息对应的向量进行聚类处理,得到由相似的信息构成的相似信息集合;
获取与用户行为相关的信息,确定与所述相关的信息匹配的相似信息集合,将所述匹配的相似信息集合包括的信息发送至所述用户的终端。
本发明实施例提供一种信息推荐装置,包括:
获取模块,用于获取多个不同类型的信息;
分析模块,用于对获取的多个不同类型的信息进行分析以得到每个信息对应的标签;
词嵌入处理模块,用于对所述每个信息对应的标签的名称进行词嵌入处理,得到所述每个信息对应的向量;
聚类模块,用于对所述多个不同类型的信息对应的向量进行聚类处理,得到由相似的信息构成的相似信息集合;
所述获取模块,还用于获取与用户行为相关的信息;
匹配模块,用于确定与所述相关的信息匹配的相似信息集合;
发送模块,用于将所述匹配的相似信息集合包括的信息发送至所述用户的终端。
上述方案中,所述装置还包括检测模块,用于对所获取的多个不同类型的信息进行检测,确定出所述多个不同类型的信息中的敏感信息,将所述敏感信息进行删除。
上述方案中,所述分析模块,还用于获取所述每个信息对应的文本数据,并对所获取的文本数据进行分词处理;
对经过分词处理得到的分词进行实体识别处理,并将识别出的实体作为所述每个信息对应的标签。
上述方案中,所述词嵌入处理模块,还用于确定用于训练词嵌入模型的滑动窗口尺寸;
根据所述滑动窗口尺寸获取训练样本对,其中,所述训练样本对包括输入样本和输出样本;
根据所述训练样本对训练所述词嵌入模型,得到所述词嵌入模型的隐含层参数;
基于训练好的词嵌入模型对所述每个信息对应的标签的名称进行词嵌入处理,得到所述每个信息对应的向量。
上述方案中,所述聚类模块,还用于针对所述不同类型的信息包括的任一类型的信息,将所述任一类型的信息与所述任一类型之外的其他类型的相似信息进行关联,得到由不同类型的相似信息构成的相似信息集合。
上述方案中,所述匹配模块,还用于获取所述用户的用户画像,确定所述用户画像对应的标签;
对所述用户画像对应的标签的名称进行词嵌入处理,得到所述用户画像对应的向量;
确定与所述用户画像对应的向量匹配的相似信息集合;
其中,所述匹配的相似信息集合包括以下信息至少之一:
匹配的相似用户、匹配的实时相似内容、匹配的相似公众号和匹配的相似视频。
上述方案中,所述匹配模块,还用于获取所述用户的社交信息,确定所述社交信息对应的标签;
对所述社交信息对应的标签的名称进行词嵌入处理,得到所述社交信息对应的向量;
确定与所述社交信息对应的向量匹配的相似信息集合;
其中,所述匹配的相似信息集合包括以下信息至少之一:
匹配的社交队列、匹配的兴趣队列和匹配的视频队列。
上述方案中,所述装置还包括排序模块,用于对所述匹配的相似信息集合包括的信息进行排序,并将排序后的信息发送至所述用户的终端;
其中,所述对所述匹配的相似信息集合包括的信息进行排序,包括:
根据以下排序策略中的至少一种对所述匹配的相似信息集合包括的信息进行排序:
根据信息的类型对所述匹配的相似信息集合包括的信息进行排序;
对所述匹配的相似信息集合包括的信息进行随机排序;
根据运营规则对所述匹配的相似信息集合包括的信息进行排序。
上述方案中,所述获取模块,还用于从数据库获取所述多个不同类型的信息,并从区块链网络获取对应所述多个不同类型的信息的哈希;
计算所述多个不同类型的信息的哈希;
当所述多个不同类型的信息的哈希与从所述区块链网络获取的哈希一致时,确定所述多个不同类型的信息可信。
本发明实施例提供一种信息推荐设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本发明实施例提供的信息推荐方法。
本发明实施例提供一种存储介质,存储有可执行指令,用于引起处理器执行时,实现本发明实施例提供的信息推荐方法。
本发明实施例具有以下有益效果:
本发明实施例获取多个不同类型的信息,并对所获取的不同类型的信息进行聚类,得到由相似的信息构成的相似信息集合,获取用户行为相关的信息,向用户推荐与用户行为相关的信息匹配的相似信息集合,相似信息集合中包括了不同类型的相似信息,如此,针对不同的用户行为,均可以实现跨类型的信息推荐,丰富了推荐内容的多样性。
附图说明
图1A是本发明实施例提供的信息推荐系统的一个可选的架构示意图;
图1B是本发明实施例提供的信息推荐系统的另一个可选的架构示意图;
图1C是本发明实施例提供的信息推荐系统的又一个可选的架构示意图;
图2是本发明实施例提供的服务器的一个可选的结构示意图;
图3是本发明实施例提供的信息推荐方法的一个可选的流程示意图;
图4是本发明实施例提供的基于ANNOY模型进行聚类的过程示意图;
图5是本发明实施例提供的二叉树模型的结构示意图;
图6是本发明实施例提供的基于二叉树模型确定与用户行为相关的信息匹配的相似信息集合的过程示意图;
图7是本发明实施例提供的基于森林模型确定与用户行为相关的信息匹配的N个相似信息的过程示意图;
图8是本发明实施例提供的信息推荐方法的一个可选的流程示意图;
图9是本发明实施例提供的信息推荐系统的一个可选的架构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1)词嵌入(Word Embedding):一类将词向量化的模型的统称,其核心思想是将每个词都映射到低维空间上的稠密向量。
例如,Word2vec采用的是N元语法模型(N-GramModel),即假设一个词只与周围n个词有关,而与文本中的其他词无关。它为一群用来产生词向量的相关模型。这些模型为浅而双层的神经网络,用来训练以重新建构语言学之词文本。网络以词表现,并且需要猜测相邻位置的输入词,训练完成之后,Word2vec模型可用来映射每个词到一个向量,可用来表示词与词之间的关系。
2)聚类(Clustering):将数据集划分为若干相似对象组成的多个组(group)或簇(cluster)的过程,使得同一组中对象间的相似度最大化,不同组中对象间的相似度最小化。或者说一个簇就是由彼此相似的一组对象所构成的集合,不同簇中的对象通常不相似或相似度很低。
相关技术提供的聚类分析方法包括划分法、层次法、以及密度法。其中,划分法以距离作为数据集中不同数据间的相似性度量,将数据集划分成多个簇,例如K均值聚类算法(K-Means);层次法对给定的数据集进行层次分解,形成一个树形的聚类结果,例如分裂分析聚类算法(DIANA,DIvisive ANAlysis);密度法基于密度进行分类,例如具有噪声的基于密度的聚类算法(DBSCAN,Density-Based Spatial Clustering of Application withNoise)。
3)实体:现实世界中具有可区别性且独立存在的某种事务,例如:人名、地名、游戏名称等。
4)区块链(Blockchain):由区块(Block)形成的加密的、链式的交易的存储结构。
5)区块链网络(Blockchain Network):通过共识的方式将新区块纳入区块链的一系列的节点的集合。
发明人在实施本发明实施例的过程中发现,相关技术在进行信息推荐时,通常考虑的是统一的类型。例如,视频召回的是相似的视频,书籍召回的是相似的书籍,新闻召回的是相似的新闻,推荐信息的内容比较单一,无法满足用户需求。
对此,考虑在构建检索库时预先将不同类型的相似信息进行关联,如此,针对不同的用户行为,均可以推荐不同类型的相似信息,故可以获取多个不同类型的信息,并进行分析以得到每个信息对应的标签;对每个信息对应的标签的名称进行词嵌入处理,得到每个信息对应的向量;对多个不同类型的信息对应的向量进行聚类处理,得到由相似的信息构成的相似信息集合;获取与用户行为相关的信息,确定与相关的信息匹配的相似信息集合,将匹配的相似信息集合包括的信息发送至用户的终端。
鉴于此,本发明实施例提供一种信息推荐方法、装置、电子设备和存储介质,能够实现跨类型的信息推荐,大大丰富了推荐内容的多样性。
下面说明本发明实施例提供的信息推荐设备的示例性应用,本发明实施例提供的信息推荐设备可以实施为用户终端、服务器或服务器集群,也可以采用由用户终端和服务器协同的方式实施。下面,将说明信息推荐设备实施为服务器时的示例性应用。
参见图1A,图1A是本发明实施例提供的信息推荐系统100的一个可选的架构示意图,为实现跨类型的信息推荐,终端400(示例性示出了终端400-1和终端400-2)通过网络300连接服务器200,服务器200与数据库500连接,网络300可以是广域网或者局域网,又或者是二者的组合。
如图1A所示,服务器200首先从数据库500中获取多个不同类型的信息,并对所获取的多个不同类型的信息进行分析,得到每个信息对应的标签。接着,服务器200对每个信息对应的标签的名称进行词嵌入处理,得到每个信息对应的向量。在得到每个信息对应的向量后,服务器200对多个不同类型的信息对应的向量进行聚类处理,得到由相似的信息构成的相似信息集合。随后,服务器200接收由终端400上的应用410上报的与用户行为相关的信息,并确定出与相关的信息匹配的相似信息集合。最后,服务器200通过网络300将匹配的相似信息集合包括的信息下发给终端400上的应用410,从而完成跨类型的信息推荐过程。
本发明实施例也可结合区块链技术实现,区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
参见图1B,图1B是本发明实施例提供的信息推荐系统101的另一个可选的架构示意图。如图1B所示,服务器200从数据库500获取多个不同类型的信息后,还从区块链网络600(示例性示出了区块链网络600包括的节点610-1、节点610-2和节点610-3)中获取对应多个不同类型的信息的哈希。服务器200计算从数据库500获取的多个不同类型的信息的哈希,并将计算得到的哈希与从区块链网络600获取的哈希进行比较,以验证所获取的多个不同类型的信息是否可信。当两者一致时,确定所获取的多个不同类型的信息可信,服务器200才对所获取的多个不同类型的信息执行后续的确定标签、向量化、以及聚类过程。随后,服务器200接收应用410通过网络300上报的与用户行为相关的信息,并确定出与相关的信息匹配的相似信息集合。最后,服务器200将相似信息集合包括的信息发送给应用410。
本发明实施例还可以结合云技术实现,云技术(Cloud technology)是指在广域网或局域网内将硬件、软件及网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术,也可理解为基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术及应用技术等的总称。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站,因此云技术需要以云计算作为支撑。云计算是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。作为云计算的基础能力提供商,会建立云计算资源池平台,简称云平台,一般称为基础设施即服务(IaaS,Infrastructure as a Service),在资源池中部署多种类型的虚拟资源,供外部客户选择使用。云计算资源池中主要包括:计算设备(可为虚拟化机器,包含操作系统)、存储设备和网络设备。
参见图1C,图1C是本发明实施例提供的信息推荐系统102的又一个可选的架构示意图。如图1C所示,服务器200和数据库500位于云端,服务器200可以是实体机器,也可以是虚拟化机器。为了便于理解,下文仅以服务器200与终端400之间的通信过程进行说明。服务器200首先从数据库500中获取多个不同类型的信息,并对所获取的多个不同类型的信息进行分析,得到每个信息对应的标签。接着,服务器200对每个信息对应的标签的名称进行词嵌入处理,得到每个信息对应的向量。在得到每个信息对应的向量后,服务器200对多个不同类型的信息对应的向量进行聚类处理,得到由相似的信息构成的相似信息集合。随后,服务器200接收由终端400上的应用410上报的与用户行为相关的信息,并确定出与相关的信息匹配的相似信息集合。最后,服务器200通过网络300将匹配的相似信息集合包括的信息下发给终端400上的应用410,从而完成跨类型的信息推荐过程。
参见图2,图2是本发明实施例提供的服务器200的结构示意图,图2所示的服务器200包括:至少一个处理器210、存储器250、至少一个网络接口220和用户接口230。服务器200中的各个组件通过总线系统240耦合在一起。可理解,总线系统240用于实现这些组件之间的连接通信。总线系统240除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统240。
处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口230包括使得能够呈现媒体内容的一个或多个输出装置231,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口230还包括一个或多个输入装置232,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器250可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器250可选地包括在物理位置上远离处理器210的一个或多个存储设备。
存储器250包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本发明实施例描述的存储器250旨在包括任意适合类型的存储器。
在一些实施例中,存储器250能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统251,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块252,用于经由一个或多个(有线或无线)网络接口220到达其他计算设备,示例性的网络接口220包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
呈现模块253,用于经由一个或多个与用户接口230相关联的输出装置231(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块254,用于对一个或多个来自一个或多个输入装置232之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本发明实施例提供的信息推荐装置可以采用软件方式实现,图2示出了存储在存储器250中的信息推荐装置255,其可以是程序和插件等形式的软件,包括以下软件模块:获取模块2551、分析模块2552、词嵌入处理模块2553、聚类模块2554、匹配模块2555、发送模块2556、检测模块2557和排序模块2558,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例中,本发明实施例提供的信息推荐装置可以采用硬件方式实现,作为示例,本发明实施例提供的信息推荐装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的信息推荐方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific IntegratedCircuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
下面将结合本发明实施例提供的信息推荐设备实施为服务器时的示例性应用,说明本发明实施例提供的信息推荐方法。
参见图3,图3是本发明实施例提供的信息推荐方法的一个可选的流程示意图,将结合图3示出的步骤进行说明。
在步骤S301中,服务器从数据库中获取多个不同类型的信息。
这里,多个不同类型的信息包括视频、书籍、音频、公众号、新闻等各种类型的至少两个信息。
在一些实施例中,可以利用网络爬虫从海量的网页资源中获取多个不同类型的信息,并将所获取的信息存储在数据库中。
在另一些实施例中,在将多个不同类型的信息存储在数据库后,还将对应多个不同类型的信息的哈希存储在区块链网络中。如此,服务器从数据库中获取多个不同类型的信息后,还向区块链网络请求对应所获取的多个不同类型的信息的哈希。服务器计算所获取的多个不同类型的信息的哈希,并与从区块链网络返回的哈希进行比较,以验证所获取的多个不同类型的信息的可信度。当两者一致时,说明从数据库获取的多个不同类型的信息没有被篡改,信息可信。
在另一些实施例中,服务器从数据库获取多个不同类型的信息后,还需要对所获取的多个不同类型的信息进行检测,判断其中是否存在一些敏感信息,并将检测出的敏感信息进行过滤,以提升用户体验。
示例的,服务器对所获取的多个不同类型的信息进行检测,当不同类型的信息包括视频时,对所获取的视频进行检测,并从中过滤掉涉及暴力、政治、色情等敏感内容的视频;当不同类型的信息包括公众号时,对所获取的公众号进行检测,并从中过滤掉涉及政治、非法传销、恐怖暴力等敏感内容的公众号;当不同类型的信息包括书籍时,对所获取的书籍进行检测,并从中过滤掉涉及色情、恐怖暴力、政治等敏感内容的书籍。
在步骤S302中,服务器对所获取的多个不同类型的信息进行分析,得到每个信息对应的标签。
这里,服务器在获取到多个不同类型的信息后,针对多个不同类型的信息中的每个信息,提取出每个信息对应的文本数据,并对提取出的文本数据进行分词处理。随后,对经过分词处理得到的分词进行实体识别处理,并将识别出的实体作为每个信息对应的标签。
示例的,以信息类型为视频为例,服务器在获取视频后,提取出视频的名称和/或视频简介,对视频的名称和/或视频简介进行分词处理,从而将视频的名称和/或视频简介切分成若干分词。随后针对若干分词进行实体识别处理,并将识别出的实体作为视频对应的标签。对于视频来说,识别出的实体包括视频的导演、视频的主演、视频的类型等。从而,可以将视频的导演、视频的主演、视频的类型等作为视频的标签。
示例的,以信息类型为书籍为例,服务器在获取书籍后,提取出书籍的标题和/或书籍简介,对书籍的标题和/或书籍简介进行分词处理,从而将书籍的标题和/或书籍简介切分成若干分词。随后针对若干分词进行实体识别处理,并将识别出的实体作为书籍对应的标签。对于书籍来说,识别出的实体包括书籍的作者、书籍的类型等。从而,可以将书籍的作者、书籍的类型等作为书籍对应的标签。
在一些实施例中,当所获取的不同类型的信息的数量较大时,也可以利用云平台提供的强大的云计算能力对所获取的多个不同类型的信息进行分析,得到每个信息对应的标签。后续对标签的名称进行向量化、聚类处理、以及匹配过程均可通过云平台提供的云计算能力实现。
在步骤S303中,服务器对每个信息对应的标签的名称进行词嵌入处理,得到每个信息对应的向量。
这里,词嵌入处理是指将文本中的词转换成数字向量。为了使用标准机器学习算法对文本中的词进行分析,首先需要把这些词转换成数字向量以数字形式作为输入。词嵌入处理的过程就是把一个维数为所有词数量的高维空间嵌入到一个维数低得多的连续向量空间中,每个单词或词组被映射为实数域上的向量,词嵌入处理的结果就是生成词向量。服务器在对每个信息对应的标签的名称进行词嵌入处理之前,首先需要构建并训练词嵌入模型。词嵌入模型包括跳字模型(Skip-Gram)和连续词袋模型(CBOW,Continuous Bag ofWords)。下面分别说明这两种模型。
跳字模型的基本思想是通过每个中心功能来预测其先后使用顺序的窗口功能,并根据预测结果来修正中心功能的向量。在训练跳字模型时,首先需要确定用于训练跳字模型的滑动窗口尺寸,根据所确定的滑动窗口尺寸获取训练样本对,每组训练样本对包括输入样本和输出样本。根据训练样本对训练跳字模型,从而得到跳字模型的隐含层的参数。跳字模型的训练目标是学习词表征向量分布,其优化目标是在给定功能的向量的情况下,最大化似然函数。
连续词袋模型的基本思想是通过每个功能的先后使用顺序的窗口功能的向量来预测中心功能的向量。训练连续词袋模型的过程与训练跳字模型的过程基本类似,本发明实施例在此不再赘述。
在构建并训练好词嵌入模型后,服务器可以利用已训练好的词嵌入模型将每个信息对应的标签的名称转换成对应的向量,从而得到每个信息对应的向量。
在步骤S304中,服务器对多个不同类型的信息对应的向量进行聚类处理,得到由相似的信息构成的相似信息集合。
这里,服务器可以采用K均值聚类模型(K-Means)、Mean-Shift聚类模型、基于密度的带噪声的空间聚类模型(DBSCAN,Density-Based Spatial Clustering of Applicationwith Noise)、基于高斯混合模型的期望最大化聚类模型、以及凝聚层次聚类模型等各种类型的聚类模型对多个不同类型的信息对应的向量进行聚类处理,得到由相似的信息构成的相似信息集合。下面分别介绍这几种聚类模型。
K均值聚类模型首先需要确定聚类的数量,并随机初始化它们各自的中心点。为了确定要聚类的数量,可以先查看数据并尝试识别任何不同的分组。中心点是与每个数据点向量长度相同的向量。通过计算当前点与每个组中心之间的距离,对每个数据点进行分类,然后归到与距离最近的中心的组中。基于迭代后的结果,计算每一类,所有点的平均值,作为新簇中心。迭代重复上述步骤,或者直到组中心在迭代之间变化不大。
Mean-Shift聚类模型是一个基于滑窗的分类方法,尝试找出数据点密集的区域。它是一个基于质心的算法,也就是说通过更新中心候选者定位每个组或类的中心点,将中心点候选者更新为滑窗内点的均值。这些候选滑窗之后会在后处理阶段被过滤,来减少临近的重复点,最后形成了中心点的集合和它们对应的组。
基于密度的带噪声的空间聚类模型是一个基于密度的分类方法,它与Mean-Shift聚类模型类似,它从一个任意的还没有被访问过的启动数据点开始。用一个距离ε将这个点的邻域提取出来,如果在邻域内有足够数量的点,那么聚类过程开始,并且当前数据点变成新集群中的第一个点。否则,该点将被标记为噪声(之后这个噪声点可能会变成集群中的一部分),在这两种情况中的点都被标记为“已访问”。对于这个新集群中的第一个点,在它ε距离邻域内的点已将变成相同集群中的一部分。这个让所有ε邻域内的点都属于相同集群的过程在之后会一直被重复做,直到所有新点被加进集群分组中。重复上述步骤直至集群内所有点都被确定,即所有在ε邻域内的点都被访问且被打上标签。当前集群做完后,一个新的未被访问的点会被提取并处理,从而会接着发现下一个集群或噪声。这个过程反复进行直到所有的点被编辑为已访问。当所有的点被访问时,那么每个点都被标记为属于一个集群或者是噪声。
基于高斯混合模型的期望最大化聚类模型是一种比K均值聚类模型灵活性更好的分类方法,它首先设定聚类簇的数量,然后随机初始化每个集群的高斯分布参数。也可以通过快速查看数据为初始参数提供一个很好的猜测。给定每个簇的高斯分布,计算每个数据点属于特定簇的概率。一个点越靠近高斯中心,它就越可能属于该簇。基于这些概率,为高斯分布计算一组新的参数,从而最大化群集中数据点的概率。使用数据点位置的加权和计算这些新参数,其中权重是属于特定集群的数据点的概率。重复上述步骤,直至收敛。
凝聚层次聚类模型可分为两类:自上而下或自下而上。其中,自上而下层次聚类在初始阶段将所有的点视为一个簇,之后每次分裂出一个簇,直到最后剩下单个点的簇为止;从下而上层次聚类在初始阶段将每一个点都视为一个簇,之后每一次合并每个最接近的簇。
下面以ANNOY(Approximate Nearest Neighbors Oh Yeah)模型为例,来具体说明服务器对多个不同类型的信息对应的向量进行聚类处理,得到由相似的信息构成的相似信息集合的过程。
参见图4,图4是本发明实施例提供的基于ANNOY模型进行聚类的过程示意图。如图4(a)所示,其中每个符号“X”表示一个信息对应的向量。参见图4(b),首先在多个“X”中随机选择两个“X”,以这两个“X”为初始中心节点,执行聚类数为2的K均值聚类过程,最终产生收敛后的两个聚类中心点。在这两个聚类中心点之间连一条线段(即图4(b)中的灰色短线),之后建立一条垂直于这条灰色短线,并且通过灰色短线中点的线(即图4(b)中的黑色粗线),从而将多个“X”划分成两部分(即将多个不同类型的信息划分成两类)。如图4(c)所示,在划分后的两部分中继续执行上述过程,从而将多个“X”划分成4部分(即将多个不同类型的信息划分成4类)。如图4(d)所示,在划分好的子类中进行不停地迭代继续划分,直至每个子类包括的“X”的数量小于预设阈值,停止划分(例如:当每个子类包括的向量的数量不大于1000个时,停止继续划分),从而完成聚类过程。
通过上述多轮递归迭代划分过程,可以将多个不同类型的信息对应的向量生成类似二叉树模型的结构。参见图5,图5是本发明实施例提供的二叉树模型的结构示意图。如图5所示,二叉树模型的底层是叶子节点(即图5中形状为圆圈的节点,圆圈中的数字为叶子节点所包括的向量的数量),每个叶子节点记录的是由相似的向量构成的相似向量集合(即每个叶子节点对应一个相似信息集合),其他中间节点(即图5中形状为正方形的节点)记录的是划分过程的信息,根节点记录的是多个不同类型的信息对应的向量。也就是说,基于ANNOY模型建立的二叉树模型满足如下条件:相似的向量在二叉树模型上的位置更接近,相差较大的向量被划分到二叉树模型不同的分支上。
在一些实施例中,服务器在将多个不同类型的信息对应的向量进行聚类处理时,针对不同类型的信息包括的任一类型的信息,将任一类型的信息与任一类型之外的其他类型的相似信息进行关联,从而得到由不同类型的相似信息构成的相似信息集合。
示例的,服务器在进行聚类处理时,可以将视频与相似的书籍进行关联,也可以将视频与相似的公众号进行关联,还可以将书籍与相似的公众号进行关联。如此,当用户在观看视频时,可以向用户推荐相似的书籍,也可以向用户推荐相似的公众号;当用户在阅读书籍时,可以向用户推荐相似的视频,也可以向用户推荐相似的公众号,大大丰富了推荐内容的多样性。
在步骤S305中,服务器从用户终端获取与用户行为相关的信息。
作为示例,与用户行为相关的信息包括用户的用户画像和用户的社交信息等。
在一些实施例中,用户终端记录用户在历史时长内点击、浏览、搜索等操作所涉及的信息,并将这些信息发送给服务器。服务器基于这些信息生成用户的用户画像,并确定出用户画像对应的标签。随后,利用已训练好的词嵌入模型对用户画像对应的标签的名称进行词嵌入处理,得到用户画像对应的向量。
在另一些实施例中,用户终端也可以获取用户的社交信息,例如拉取用户参与的不同社交网络的队列服务(包括微信社交队列服务、QQ社交队列服务)中的社交信息。服务器在接收到用户终端上报的用户的社交信息后,确定出社交信息对应的标签,随后,利用已训练好的词嵌入模型对社交信息对应的标签的名称进行词嵌入处理,得到社交信息对应的标签。
在步骤S306中,服务器确定出与相关的信息匹配的相似信息集合。
在一些实施例中,可以通过遍历二叉树模型来确定出与用户行为相关的信息匹配的相似信息集合。
示例的,仍以上述基于ANNOY模型构建的二叉树模型为例,说明服务器确定出与用户行为相关的信息匹配的相似信息集合的具体过程。
参见图6,图6是本发明实施例提供的基于二叉树模型确定与用户行为相关的信息匹配的相似信息集合的过程示意图。如图6所示,服务器在确定出与用户行为相关的信息对应的向量后,从二叉树模型的根节点开始逐层往下遍历直至查找到匹配的叶子节点(即匹配的相似信息集合)。在查询的过程中,通过对二叉树模型每个中间节点(划分过程的信息)和与用户行为相关的信息对应的向量进行相关计算来确定二叉树模型的遍历过程是从这个中间节点的左孩子节点走还是右孩子节点走,直至确定出最终的叶子节点,将所确定出的叶子节点对应的相似信息集合确定为与用户行为相关的信息匹配的相似信息集合。
示例的,也可以针对多个不同类型的信息对应的向量,构建多颗二叉树模型,形成一个森林模型。每颗二叉树模型的构建过程参见步骤S304中基于ANNOY模型构建二叉树模型的过程,本发明实施例在此不再赘述。在得到森林模型后,服务器将与用户行为相关的信息对应的向量与森林模型中的每颗二叉树模型进行遍历匹配,每颗二叉树模型均返回一个匹配的叶子节点。参见图7,图7是本发明实施例提供的基于森林模型确定与用户行为相关的信息匹配的N个相似信息的过程示意图。如图7(a)所示,在获取到森林模型中每颗二叉树模型返回的叶子节点后,服务器将所获取的多个叶子节点对应的向量集合包括的向量进行合并,并在合并之后进行去重处理,删除重复的向量。随后,如图7(b)所示,服务器计算与用户行为相关的信息对应的向量与去重处理之后的向量集合中包括的向量之间的相似度(例如:欧式距离、余弦距离等)。最后,如图7(c)所示,根据相似度从大到小对向量集合中的向量进行排序,选取相似度最大的前N个向量(例如:前100个向量或者前200个向量),将由前N个向量构成的向量集合确定为与用户行为相关的信息匹配的相似向量集合。如此,可以确定出与用户行为相关的信息匹配的多个相似信息,避免了仅通过单颗二叉树模型来确定匹配的叶子节点,而叶子节点对应的相似信息集合包括的信息数量较少无法满足用户需求的情况。
在一些实施例中,匹配的相似信息集合包括的信息可以是匹配的相似用户、匹配的实时相似内容、匹配的相似公众号和匹配的相似视频等。
在另一些实施例中,匹配的相似信息集合包括的信息也可以是匹配的社交队列、匹配的用户兴趣队列、匹配的视频队列等。
在步骤S307中,服务器将匹配的相似信息集合包括的信息发送至用户终端。
这里,服务器在将匹配的相似信息集合包括的信息发送至用户终端之前,还可以首先对匹配的相似信息集合包括的信息进行排序,将排序后的信息发送至用户终端。
在一些实施例中,可以根据信息的类型对匹配的相似信息集合包括的信息进行排序,并将排序后的信息发送至用户终端。
示例的,当匹配的相似信息集合中包括新闻、音乐、公众号、视频等各种不同类型的信息时,为了视觉效果上的美观,可以按照信息的类型对匹配的相似信息集合包括的信息进行类别打散,将相同类型的信息排列在一起,方便用户查找,同时也提升了用户视觉上的体验。
在另一些实施例中,可以对匹配的相似信息集合包括的信息进行随机排序,并将随机排序后的信息发送至用户终端。
示例的,为了探索用户的新兴趣,可以对匹配的相似信息集合包括的信息进行随机排序,并将随机排序后的信息推荐给用户。举例来说,假设用户当前在阅读书籍,服务器可能将相似的视频或者相似的公众号文章排在前面,如此,用户首先获取到的是相似的视频或者相似的公众号文章,而不是相似的书籍,获取用户对于这些相似的视频或者相似的公众号文章的反馈结果,从而探索了用户对于其他类型的相似信息的兴趣。
在另一些实施例中,也可以根据运营规则对匹配的相似信息集合包括的信息进行排序,并将排序后的信息发送至用户终端。
示例的,为了推广视频时,可以将匹配的相似信息集合包括的视频排在前面,其他类型的信息排在后面,从而用户终端在获取到服务器返回的推荐信息时首先在图形界面中呈现相似的视频,使得视频的曝光率大大增加;为了推广书籍时,可以将匹配的相似信息集合包括的书籍排在前面,其他类型的信息排在后面,从而用户终端在获取到服务器返回的推荐信息时首先在图形界面中呈现相似的书籍,使得书籍的曝光率大大增加。
下面继续说明本发明实施例提供的信息推荐装置255的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器250的信息推荐装置255中的软件模块可以包括:获取模块2551、分析模块2552、词嵌入处理模块2553、聚类模块2554、匹配模块2555、发送模块2556、检测模块2557和排序模块2558。
所述获取模块2551,用于预先获取多个不同类型的信息;
所述分析模块2552,用于对获取的多个不同类型的信息进行分析以得到每个信息对应的标签;
所述词嵌入处理模块2553,用于对所述每个信息对应的标签的名称进行词嵌入处理,得到所述每个信息对应的向量;
所述聚类模块2554,用于对所述多个不同类型的信息对应的向量进行聚类处理,得到由相似的信息构成的相似信息集合;
所述获取模块2551,还用于获取与用户行为相关的信息;
所述匹配模块2555,用于确定与所述相关的信息匹配的相似信息集合;
所述发送模块2556,用于将所述匹配的相似信息集合包括的信息发送至所述用户的终端。
在一些实施例中,所述装置还包括检测模块2557,用于对所获取的多个不同类型的信息进行检测,确定出所述多个不同类型的信息中的敏感信息,将所述敏感信息进行删除。
在一些实施例中,所述分析模块2552,还用于获取所述每个信息对应的文本数据,并对所获取的文本数据进行分词处理;对经过分词处理得到的分词进行实体识别处理,并将识别出的实体作为所述每个信息对应的标签。
在一些实施例中,所述词嵌入处理模块2553,还用于确定用于训练词嵌入模型的滑动窗口尺寸;根据所述滑动窗口尺寸获取训练样本对,其中,所述训练样本对包括输入样本和输出样本;根据所述训练样本对训练所述词嵌入模型,得到所述词嵌入模型的隐含层参数;基于训练好的词嵌入模型对所述每个信息对应的标签的名称进行词嵌入处理,得到所述每个信息对应的向量。
在一些实施例中,所述聚类模块2554,还用于针对所述不同类型的信息包括的任一类型的信息,将所述任一类型的信息与所述任一类型之外的其他类型的相似信息进行关联,得到由不同类型的相似信息构成的相似信息集合。
在一些实施例中,所述匹配模块2555,还用于获取所述用户的用户画像,确定所述用户画像对应的标签;对所述用户画像对应的标签的名称进行词嵌入处理,得到所述用户画像对应的向量;确定与所述用户画像对应的向量匹配的相似信息集合;其中,所述匹配的相似信息集合包括以下信息至少之一:匹配的相似用户、匹配的实时相似内容、匹配的相似公众号和匹配的相似视频。
在一些实施例中,所述匹配模块2555,还用于获取所述用户的社交信息,确定所述社交信息对应的标签;对所述社交信息对应的标签的名称进行词嵌入处理,得到所述社交信息对应的向量;确定与所述社交信息对应的向量匹配的相似信息集合;其中,所述匹配的相似信息集合包括以下信息至少之一:匹配的社交队列、匹配的兴趣队列和匹配的视频队列。
在一些实施例中,所述装置还包括排序模块2558,用于对所述匹配的相似信息集合包括的信息进行排序,并将排序后的信息发送至所述用户的终端;其中,所述对所述匹配的相似信息集合包括的信息进行排序,包括:根据以下排序策略中的至少一种对所述匹配的相似信息集合包括的信息进行排序:根据信息的类型对所述匹配的相似信息集合包括的信息进行排序;对所述匹配的相似信息集合包括的信息进行随机排序;根据运营规则对所述匹配的相似信息集合包括的信息进行排序。
在一些实施例中,所述获取模块2551,还用于从数据库获取所述多个不同类型的信息,并从区块链网络获取对应所述多个不同类型的信息的哈希;计算所述多个不同类型的信息的哈希;当所述多个不同类型的信息的哈希与从所述区块链网络获取的哈希一致时,确定所述多个不同类型的信息可信。
需要说明的是,本发明实施例装置的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。对于本发明实施例提供的信息推荐装置中未尽的技术细节,可以根据图3-7任一附图的说明而理解。
下面,将说明本发明实施例在一个实际的应用场景中的示例性应用。
相关技术在进行信息推荐时,通常是离线地对每一个候选集计算好了相似列表,在进行推荐的时候考虑的也是统一的类型,例如,当用户在观看视频时推荐的也是相似的视频;当用户在阅读书籍时推荐的也是相似的书籍,无法实现跨类型的信息推荐,例如,当用户点击视频时向用户推荐相似的公众号文章或者相似的书籍。
此外,相关技术还提供了通过建立一个标签索引库的方式来根据用户的实时标签召回相似的信息。该方案涉及通过标签建立一个内容的索引库,构建过程比较复杂且非常耗费人力资源。
相关技术提供的信息推荐方法存在以下问题:无法在物品入库的时候就建立好各种物品(item)之间的相似关系,并且相关技术提供的信息推荐方法处理时长会比较长,或者要求物品在达到一定的曝光量之后才能关联到相似的物品,这对于长尾的物品来说是比较不公平的。这也导致了相关技术提供的信息推荐方法不适用于时效性和内容关联性要求比较高的信息推荐领域。需要说明的是,本发明实施例所提及的物品具有和信息相同的含义,本发明实施例对此不作具体区分。
本发明实施例提供了一种信息推荐方法,基于内容相互关联的方式,使得物品在入库的初期就能关联到相似的物品。这种关联不仅仅包括同类物品之间的关联,还包括不同类型的物品之间的关联。例如,可以是视频、公众号文章、书籍之间的两两相互关联。如此,针对不同的用户行为,均可以推荐这三种不同类型的物品,达到了推荐内容的多样性。
示例的,以电子书籍阅读应用为例,服务器获取用户在电子书籍阅读应用内的阅读、关注、分享、关系链等信息,结合机器学习和深度学习算法,为用户推荐最符合用户兴趣的书籍、公众号文章。除了公众号文章和书籍外,还可以接入视频,为用户推荐最符合用户兴趣的视频,大大丰富了推荐内容的多样性。
参见图8,图8是本发明实施例提供的信息推荐方法的一个可选的流程示例图。如图8所示,所述方法包括以下步骤:内容入库服务、分词处理和抽取标签、确定物品对应的向量、相似物品计算服务、以及相似物品检索服务。将在下文具体说明各个步骤。
1)内容入库服务
服务器基于请求信息将多个不同类型的物品进行入库,包括视频、公众号文章、书籍等。
2)分词处理和抽取标签
对于入库后的物品,服务器针对不同类型的物品进行分词处理和抽取物品对应的标签。具体的,对于公众号文章,对公众号文章进行分词处理,并从经分词处理得到的分词中抽取出关键词作为公众号文章对应的标签;对于视频,获取视频的标题或者视频简介,对视频的标题或者视频简介进行分词处理,并从经分词处理得到的分词中抽取出关键词作为视频对应的标签;对于书籍,获取书籍的标题或者书籍简介,对书籍的标题或者书籍简介进行分词处理,并从经分词处理得到的分词中抽取出关键词作为书籍对应的标签。其中,分词处理可以利用隐马尔可夫模型实现。下面具体说明抽取标签的过程。
在一些实施例中,在进行分词处理后,计算经分词处理后得到的每个分词的逆文档频率(IDF,Inverse Document Frequency),将逆文档频率大于预设阈值的分词作为物品对应的标签。逆文档频率(IDF)是在词频的基础上,对每个词分配一个“重要性”权重。最常见的词(例如,“的”、“是”、“在”等)给予最小的权重,较为常见的词(例如,“中国”、“天气”等)给予较小的权重,较为少见的词(例如,“游戏”、“科幻”、“动漫”等)给予较大的权重,这个权重就叫逆文档频率,它的大小与一个词的常见程度成反比。也就是说,逆文档频率越大,说明这个词对物品的重要性越高。所以,可以将逆文档频率排在最前面的几个词作为物品对应的关键词(即标签)。
在另一些实施例中,用户也可以构建自定义的字典,将分词处理得到的分词与用户的自定义字典进行匹配,将匹配上的分词作为物品对应的标签。
3)确定物品对应的向量
在抽取出每个物品对应的标签后,服务器利用已训练好的词嵌入模型(即图8中的关键词计算算法)将标签转换成向量,得到每个物品对应的向量。向量化的过程可参照上述步骤S303的描述,本发明实施例在此不再赘述。在得到物品对应的向量后,以远程字典服务的形式进行存储。远程字典服务(Redis,Remote Dictionary Server)是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久性的日志型、键值(Key-Value)数据库,并提供多种语言的应用程序编程接口(API,Application Programming Interface)。Redis支持存储的值(Value)类型包括字符串(string)、链表(list)、集合(set)、哈希类型(hash)等。
在一些实施例中,对于每个物品赋予一个物品编号,且每个物品的物品编号各不相同,将物品编号与物品对应的向量进行关联。在将物品对应的向量进行存储后,还可以进行备份,构建备份群集,将备份群集发送给推荐引擎,同时还将存储的物品的相似信息发送给推荐引擎,以使推荐引擎实现后续相似物品的推荐。
4)相似物品计算服务
在一些实施例中,相似物品计算服务可以基于ANNOY模型(即图8中的相似检索模型文件)实现,具体的实现过程可参照上述步骤S304的描述,本发明实施例在此不再赘述。
5)相似物品检索服务
在一些实施例中,相似物品检索服务也可以直接基于ANNOY模型(即图8中的相似检索模型文件)实现,具体的检索过程可参照步骤S306的描述,本发明实施例在此不再赘述。如此,当用户点击某个物品时,服务器可以利用推荐引擎向用户推荐相似的公众号文章、相似的书籍、以及相似的视频等。
本发明实施例提供的信息推荐方法,对新入库的物品包括公众号文章、视频、书籍等进行分词处理、抽取标签、以及基于标签确定物品对应的向量。在得到每个物品对应的向量后,建立一个检索库。如此,在得到一个新物品对应的向量后,可以快速地从检索库中查找到相似的物品集合,即相似列表集合。随后,将得到的相似列表集合写入高性能的键值(Key-Value)数据库中进行存储。如此,当用户点击某个物品的时候能够实时地召回相似的同类物品以及跨类型的相似物品,从而,一方面,提高了用户对于应用的黏性;另一方面,也满足了用户获取不同类型物品的需求,提高了用户体验。
参见图9,图9是本发明实施例提供的信息推荐系统的一个可选的架构示意图。如图9所示,信息推荐系统主要包括内容处理层、多通道召回层和重排层三部分,下面分别具体说明各层的功能。
1)内容处理层
内容处理层的功能主要是将新入库的内容包括视频、公众号文章、书籍等进行分词处理、抽取标签、以及基于标签确定每个物品对应的向量。在得到每个物品对应的向量后,构建相似检索服务。
在一些实施例中,为了提高检索效率,可以对内容进行倒排。内容的倒排是指将正向索引重新构建为倒排索引,即把物品编号对应到关键词的映射转换为关键词到物品编号的映射,每个关键词对应着一系列的物品,这些物品中都出现了这个关键词。通过内容的倒排可以方便快速地查找到与用户兴趣符合的相似物品。
2)多通道召回层
多通道召回层的功能主要是通过Spark计算引擎(例如,YARD)召回与用户行为匹配的不同类型的相似物品。
示例的,可以通过日志采集系统所采集的用户历史行为数据确定出用户的用户画像,根据所确定出的用户画像召回匹配的相似视频、相似公众号、相似书籍等。
示例的,也可以获取实时的用户的行为,根据所获取的用户的实时行为召回与用户匹配的公众号文章、视频、书籍、热点队列、相似用户、实时相似内容等。
示例的,也可以拉取用户的微信社交队列服务,根据所拉取的微信社交队列服务召回匹配的微信社交队列、微信兴趣队列、以及微信动漫队列等。
3)重排层
重排层的功能主要是对召回的不同类型的相似物品进行排序。
在一些实施例中,可以对召回的不同类型的相似物品进行分类打散,按照物品的类型进行排序。
示例的,当召回的物品中包括公众号文章、视频、书籍时,按照物品的类型对召回的物品进行排序,即将公众号文章排在一起、视频排在一起、书籍排在一起,如此,一方面,可以方便用户进行浏览点击;另一方面,也使视觉效果的呈现更加美观。
在另一些实施例中,可以根据Bandit策略对召回的不同类型的相似物品进行排序。Bandit策略是指赋予物品一个贝塔分布,而不是单一的值。每次排序时通过采样随机获得一个排序值,通过这种随机性来加大物品排序的变动性。同时,贝塔分布的均值会随着物品的表现而改变,这样就能对物品进行区分,让表现好的物品有更大的概率获得高排序值,而不会像均匀分布那样每个物品的曝光几率保持不变。
在另一些实施例中,也可以根据运营规则对召回的不同类型的相似物品进行排序。
本发明实施例提供的信息推荐方法,可以召回与用户行为匹配的各种队列包括社交因素的召回、实时的相似用户、相似公众号、相似物品等多路召回策略。用户可以对召回的不同类型的相似物品进行点击浏览,进而服务器获取用户对于召回的不同类型的相似物品的反馈结果,并根据所获取的反馈结果优化后续的推荐过程。
本发明实施例提供的信息推荐方法,不仅能够向用户推荐同类型的相似物品,也可以实现跨类型的物品推荐,大大丰富了推荐内容的多样性,从而可以增加用户的黏性和认可度。
本发明实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本发明实施例提供的方法,例如,如图3或8示出的信息推荐方法。
在一些实施例中,存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上所述,通过本发明实施例具有以下有益效果:
本发明实施例提供的信息推荐方法,预先获取多个不同类型的信息,并对所获取的不同类型的信息进行聚类,得到由相似的信息构成的相似信息集合,获取用户行为相关的信息,向用户推荐与用户行为相关的信息匹配的相似信息集合;其中,相似信息集合中包括了不同类型的相似信息,如此,针对不同的用户行为,均可以实现跨类型的信息推荐,大大丰富了推荐内容的多样性。
以上所述,仅为本发明的实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。
Claims (9)
1.一种信息推荐方法,其特征在于,所述方法包括:
获取多个不同类型的信息;
对所述多个不同类型的信息进行检测,确定出所述多个不同类型的信息中的敏感信息,并将所述敏感信息进行删除;
针对删除所述敏感信息之后的所述多个不同类型的信息中的每个信息,提取出所述每个信息对应的文本数据,并对所提取的文本数据进行分词处理;
对经过分词处理得到的分词进行实体识别处理,并将识别出的实体作为所述每个信息对应的标签;
对所述每个信息对应的标签的名称进行词嵌入处理,得到所述每个信息对应的向量;
在对所述多个不同类型的信息对应的向量进行聚类处理时,针对所述不同类型的信息包括的任一类型的信息,将所述任一类型的信息与所述任一类型之外的其他类型的相似信息进行关联,得到由不同类型的相似信息构成的相似信息集合;
获取与用户行为相关的信息,确定与所述相关的信息匹配的相似信息集合;
对所述匹配的相似信息集合包括的信息进行排序,并将排序后的信息发送至所述用户的终端。
2.根据权利要求1所述的方法,其特征在于,所述对所述每个信息对应的标签的名称进行词嵌入处理,得到所述每个信息对应的向量,包括:
确定用于训练词嵌入模型的滑动窗口尺寸;
根据所述滑动窗口尺寸获取训练样本对,其中,所述训练样本对包括输入样本和输出样本;
根据所述训练样本对训练所述词嵌入模型,得到所述词嵌入模型的隐含层参数;
基于训练好的词嵌入模型对所述每个信息对应的标签的名称进行词嵌入处理,得到所述每个信息对应的向量。
3.根据权利要求1所述的方法,其特征在于,所述获取与用户行为相关的信息,确定与所述相关的信息匹配的相似信息集合,包括:
获取所述用户的用户画像,确定所述用户画像对应的标签;
对所述用户画像对应的标签的名称进行词嵌入处理,得到所述用户画像对应的向量;
确定与所述用户画像对应的向量匹配的相似信息集合;
其中,所述匹配的相似信息集合包括以下信息至少之一:
匹配的相似用户、匹配的实时相似内容、匹配的相似公众号和匹配的相似视频。
4.根据权利要求1所述的方法,其特征在于,所述获取与用户行为相关的信息,确定与所述相关的信息匹配的相似信息集合,包括:
获取所述用户的社交信息,确定所述社交信息对应的标签;
对所述社交信息对应的标签的名称进行词嵌入处理,得到所述社交信息对应的向量;
确定与所述社交信息对应的向量匹配的相似信息集合;
其中,所述匹配的相似信息集合包括以下信息至少之一:
匹配的社交队列、匹配的兴趣队列和匹配的视频队列。
5.根据权利要求1所述的方法,其特征在于,所述对所述匹配的相似信息集合包括的信息进行排序,包括:
根据以下排序策略中的至少一种对所述匹配的相似信息集合包括的信息进行排序:
根据信息的类型对所述匹配的相似信息集合包括的信息进行排序;
对所述匹配的相似信息集合包括的信息进行随机排序;
根据运营规则对所述匹配的相似信息集合包括的信息进行排序。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述获取多个不同类型的信息,包括:
从数据库获取所述多个不同类型的信息,并从区块链网络获取对应所述多个不同类型的信息的哈希;
计算所述多个不同类型的信息的哈希;
当所述多个不同类型的信息的哈希与从所述区块链网络获取的哈希一致时,确定所述多个不同类型的信息可信。
7.一种信息推荐装置,其特征在于,所述装置包括:
获取模块,用于预先获取多个不同类型的信息;
检测模块,用于对所述多个不同类型的信息进行检测,确定出所述多个不同类型的信息中的敏感信息,并将所述敏感信息进行删除;
分析模块,用于针对删除所述敏感信息之后的所述多个不同类型的信息中的每个信息,提取出所述每个信息对应的文本数据,并对所提取的文本数据进行分词处理;对经过分词处理得到的分词进行实体识别处理,并将识别出的实体作为所述每个信息对应的标签;
词嵌入处理模块,用于对所述每个信息对应的标签的名称进行词嵌入处理,得到所述每个信息对应的向量;
聚类模块,用于在对所述多个不同类型的信息对应的向量进行聚类处理时,针对所述不同类型的信息包括的任一类型的信息,将所述任一类型的信息与所述任一类型之外的其他类型的相似信息进行关联,得到由不同类型的相似信息构成的相似信息集合;
所述获取模块,还用于获取与用户行为相关的信息;
匹配模块,用于确定与所述相关的信息匹配的相似信息集合;
发送模块,用于对所述匹配的相似信息集合包括的信息进行排序,并将排序后的信息发送至所述用户的终端。
8.一种电子设备,其特征在于,所述电子设备包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至6任一项所述的信息推荐方法。
9.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于被处理器执行时,实现权利要求1至6任一项所述的信息推荐方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911349778.2A CN111125460B (zh) | 2019-12-24 | 2019-12-24 | 信息推荐方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911349778.2A CN111125460B (zh) | 2019-12-24 | 2019-12-24 | 信息推荐方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111125460A CN111125460A (zh) | 2020-05-08 |
CN111125460B true CN111125460B (zh) | 2022-02-25 |
Family
ID=70502035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911349778.2A Active CN111125460B (zh) | 2019-12-24 | 2019-12-24 | 信息推荐方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111125460B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111651669A (zh) * | 2020-05-20 | 2020-09-11 | 拉扎斯网络科技(上海)有限公司 | 信息推荐方法、装置、电子设备和计算机可读存储介质 |
CN111737580B (zh) * | 2020-06-30 | 2021-01-29 | 深圳市中电网络技术有限公司 | 信息验证方法、装置、计算机设备和可读存储介质 |
CN111950656B (zh) * | 2020-08-25 | 2021-06-25 | 深圳思谋信息科技有限公司 | 图像识别模型生成方法、装置、计算机设备和存储介质 |
CN114996561B (zh) * | 2021-03-02 | 2024-03-29 | 腾讯科技(深圳)有限公司 | 一种基于人工智能的信息推荐方法及装置 |
CN112711666B (zh) * | 2021-03-26 | 2021-08-06 | 武汉优品楚鼎科技有限公司 | 期货标签抽取方法及装置 |
CN115278374B (zh) * | 2021-04-29 | 2024-05-07 | 中移动金融科技有限公司 | 视频召回方法及装置 |
CN113065932A (zh) * | 2021-05-06 | 2021-07-02 | 北京京东振世信息技术有限公司 | 一种物品推荐方法和装置 |
CN113360632B (zh) * | 2021-06-09 | 2023-08-25 | 南京大学 | 一种用于众包软件测试的多路召回推荐方法 |
CN113889208B (zh) * | 2021-09-17 | 2023-12-01 | 郑州轻工业大学 | 基于区块链的链上-链下医疗数据共享方法、装置及设备 |
CN114119142A (zh) * | 2021-11-11 | 2022-03-01 | 北京沃东天骏信息技术有限公司 | 信息推荐方法、装置和系统 |
CN115292575A (zh) * | 2022-07-26 | 2022-11-04 | 深圳市世强元件网络有限公司 | 一种搜索后推荐内容排序呈现的方法及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622396B (zh) * | 2011-11-30 | 2016-09-21 | 浙江大学 | 一种基于标签的web服务聚类方法 |
CN107145536B (zh) * | 2017-04-19 | 2020-08-04 | 畅捷通信息技术股份有限公司 | 用户画像构建方法与装置及推荐方法与装置 |
CN107357889B (zh) * | 2017-07-11 | 2020-07-17 | 北京工业大学 | 一种基于内容或情感相似性的跨社交平台图片推荐算法 |
CN108009228B (zh) * | 2017-11-27 | 2020-10-09 | 咪咕互动娱乐有限公司 | 一种内容标签的设置方法、装置及存储介质 |
CN110059261A (zh) * | 2019-03-18 | 2019-07-26 | 智者四海(北京)技术有限公司 | 内容推荐方法及装置 |
-
2019
- 2019-12-24 CN CN201911349778.2A patent/CN111125460B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111125460A (zh) | 2020-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111125460B (zh) | 信息推荐方法及装置 | |
Saeed et al. | Enhanced heartbeat graph for emerging event detection on twitter using time series networks | |
US20080168070A1 (en) | Method and apparatus for classifying multimedia artifacts using ontology selection and semantic classification | |
Wang et al. | A multi-type transferable method for missing link prediction in heterogeneous social networks | |
CN110837862B (zh) | 用户分类方法及装置 | |
CN108647322B (zh) | 基于词网识别大量Web文本信息相似度的方法 | |
Vysotska et al. | Development of Information System for Textual Content Categorizing Based on Ontology. | |
CN111143838B (zh) | 数据库用户异常行为检测方法 | |
Lyu et al. | Weighted multi-information constrained matrix factorization for personalized travel location recommendation based on geo-tagged photos | |
Makhabel et al. | R: Mining spatial, text, web, and social media data | |
Sridharan et al. | Hadoop framework for efficient sentiment classification using trees | |
US11106878B2 (en) | Generating hypotheses in data sets | |
Bai et al. | A rumor detection model incorporating propagation path contextual semantics and user information | |
Sakib et al. | A hybrid model for predicting Mobile Price Range using machine learning techniques | |
CN117033626A (zh) | 一种文本审核方法、装置、设备及存储介质 | |
Xing et al. | Mining semantic information in rumor detection via a deep visual perception based recurrent neural networks | |
Yelmen et al. | A novel hybrid approach for sentiment classification of Turkish tweets for GSM operators | |
Hannah et al. | A classification-based summarisation model for summarising text documents | |
CN116484085A (zh) | 一种信息投放方法、装置、设备及存储介质、程序产品 | |
Zhu et al. | PDHF: Effective phishing detection model combining optimal artificial and automatic deep features | |
Jian et al. | Based on automatic correlation keyword grouping and combination based deep information search corresponding to specific language big data—Case of leisure recreation | |
Milioris | Topic detection and classification in social networks | |
Tamayo et al. | Deep modeling of latent representations for twitter profiles on Hate Speech Spreaders identification task | |
Yang et al. | UPCA: an efficient URL-pattern based algorithm for accurate web page classification | |
Le et al. | Developing a model semantic‐based image retrieval by combining KD‐Tree structure with ontology |
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 |