CN111782964A - 一种社区帖子的推荐方法 - Google Patents
一种社区帖子的推荐方法 Download PDFInfo
- Publication number
- CN111782964A CN111782964A CN202010578236.9A CN202010578236A CN111782964A CN 111782964 A CN111782964 A CN 111782964A CN 202010578236 A CN202010578236 A CN 202010578236A CN 111782964 A CN111782964 A CN 111782964A
- Authority
- CN
- China
- Prior art keywords
- user
- post
- feature
- representation
- matching model
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000013507 mapping Methods 0.000 claims abstract description 6
- 239000013598 vector Substances 0.000 claims description 27
- 238000012545 processing Methods 0.000 claims description 18
- 230000011218 segmentation Effects 0.000 claims description 18
- 238000012549 training Methods 0.000 claims description 17
- 230000014509 gene expression Effects 0.000 claims description 8
- 238000013528 artificial neural network Methods 0.000 claims description 5
- 238000005070 sampling Methods 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 claims description 4
- 238000011478 gradient descent method Methods 0.000 claims description 3
- 238000009499 grossing Methods 0.000 claims description 3
- 238000012360 testing method Methods 0.000 claims description 2
- 238000001914 filtration Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 9
- 239000011159 matrix material Substances 0.000 description 7
- 230000008901 benefit Effects 0.000 description 5
- 238000013135 deep learning Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000000354 decomposition reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000011049 filling Methods 0.000 description 2
- 230000036962 time dependent Effects 0.000 description 2
- 238000007476 Maximum Likelihood Methods 0.000 description 1
- 238000012614 Monte-Carlo sampling Methods 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002996 emotional effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000036651 mood Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012706 support-vector machine 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/9536—Search customisation based on social or collaborative filtering
-
- 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/335—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/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/22—Matching criteria, e.g. proximity measures
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出一种社区帖子的推荐方法。所述方法通过深度语义匹配模型把用户和项目两个实体映射到同一隐空间中,然后在该隐空间中通过余弦相似度来衡量两个实体间的关系,最后通过相似度进行推荐,将在所述低维特征空间中和所述用户特征相近的帖子推荐给用户。该方法可以从海量的用户和项目数据中学习到更深层次非线性的用户和项目特征表示。通过深度语义匹配模型可以把多源异构数据映射到同一隐空间中,从而获得对它们的统一表征。在获取帖子语义特征时采用无监督的方式获得,提高了线上推荐的效率。当新物品出现时,即使没有用户对其评分,也可以根据新物品的特征进行推荐。
Description
技术领域
本发明属于深度学习领域,尤其涉及一种社区帖子的推荐方法。
背景技术
在2007年SalakhutdinoV等人提出了基于受限玻尔兹曼机(RestrictedBoltzmann Machine,RBM)的协同过滤算法,首次将深度学习和推荐系统结合起来。但该模型由于可见层和隐藏层之间参数规模过大,而且RBM的训练过程需要依靠变分推理和蒙特卡罗采样等方法使得模型训练时间过长。后来Sedhain等人提出基于自编码的协同过滤方法(AutoRec),该方法通过一个编码器和一个解码器来对输入的评分进行重构,通过最小化均方误差来优化模型参数。Strub等人提出基于栈式降噪自编码模型(Stacked DenoisingAuto Encoder,SDAE)的协同过滤,它在自编码模型的基础上对输入的评分数据添加了噪声,提高了模型的鲁棒性。另外为了获取更加丰富的用户特征表示,Elkahky等人将深度语义匹配(Deep Semantic Structured Models,DSSM)应用到推荐系统中,提出了结合多视角的深度神经网络模型(Multi-View DSSM,MV-DSSM)。
协同过滤算法主要包括基于近邻的协同过滤方法和基于模型的协同过滤方法。以基于用户的推荐为例,基于近邻的方法主要利用用户对项目的评分来寻找和当前用户具有相似评价习惯的其他用户即近邻用户,然后把近邻用户喜欢的并且当前用户没有评价过的项目推荐给当前用户。该方法比较简单而且容易实现,并且可解释性强。但基于近邻的推荐方法有两个重要的缺陷,第一,近邻计算方法的假设具有局限。第二,由于数据的稀疏性,用户之间很难会对相同的项目进行打分。这就造成使用有限的近邻进行推荐,导致推荐偏差。
基于模型的方法主要是通过已有的用户对项目的评价来学习用户和项目潜在特征之间的关联,然后为用户推荐新的项目。基于模型的协同过滤方法有很多,其中包括基于聚类的协同过滤方法、基于支持向量机的推荐方法、基于贝叶斯网络的推荐方法和矩阵分解方法等。基于矩阵分解的方法是基于模型的协同过滤方法中最流行的方法。基于矩阵分解的方法主要是将评分矩阵映射到低维隐空间中,通过低维表示重构评分矩阵。传统的基于矩阵分解的协同过滤往往都是通过线性回归的方法去拟合评分矩阵,通常面临可扩展性不足的问题。
发明内容
为解决上述技术问题,本发明提出一种社区帖子的推荐方法。所述方法通过深度语义匹配模型把用户和项目两个实体映射到同一隐空间中,然后在该隐空间中通过余弦相似度来衡量两个实体间的关系,最后通过相似度进行推荐,将在所述低维特征空间中和所述用户特征相近的帖子推荐给用户。该方法可以从海量的用户和项目数据中学习到更深层次非线性的用户和项目特征表示。通过深度语义匹配模型可以把多源异构数据映射到同一隐空间中,从而获得对它们的统一表征。在获取帖子语义特征时采用无监督的方式获得,提高了线上推荐的效率。当新物品出现时,即使没有用户对其评分,也可以根据新物品的特征进行推荐。
具体来说,本发明的技术方案如下:
一种社区帖子的推荐方法,所述方法基于映射到同一隐空间中的用户实体和项目实体实现,通过获取帖子特征表示和用户特征表示,给所述用户进行社区帖子推荐。
更具体的,所述方法同时对用户实体(用户特征)和项目实体(帖子特征)进行并行处理后,训练深度语义匹配模型,基于所述深度语义匹配模型,将高维特征空间映射到低维特征空间,再将在所述低维特征空间中和所述用户特征相近的帖子推荐给用户。
其中,作为本发明的优点之一,所述方法的第一个并行步骤,所述获取帖子特征表示包括如下步骤:
S101:开始,从所述社区提取帖子文本;
S102:基于正则表达式去除所述帖子文本中的特殊字符;
S103:通过通过结巴分词技术对步骤S102的输出结果进行分词;
S104:通过预先构建的停用词表,去除步骤S103的输出结果中的停用词;
S105:通过调用开源的大规模中文词向量库,得到分词以及去除停用词后每个词对应的向量表示;
S106:对词向量加权平均得到该帖子的语义向量表示;
作为本发明的优点之一,所述方法的第二个并行步骤,获取用户特征表示包括如下步骤:
S201:开始
S202:获取用户基本信息,所述用户基本信息包括连续值特征和离散型特征;
S203:对所述离散型特征进行特征处理,所述特征处理包括空值处理、离群点处理;
S204:对步骤S203输出的离散型特征进行特征编码;
S205:对所述连续型特征进行离散化处理;
S206:对离散化后的特征进行特征编码;
S207:获取用户历史交互过的帖子语义表示;
S208:对所述历史交互过的帖子集合进行特征表示;
S209:将步骤S204、步骤S206和步骤S208得到的特征进行拼接,获取用户的特征表示。
作为本发明的进一步优点,训练深度语义匹配模型具体包括:
以用户点赞帖子的行为为正反馈,只浏览没有点赞的帖子作为负反馈;
设用户i点赞了帖子j,经过全连接神经网络之后学习到的用户低维特征表示为Ui,以及项目低维特征表示为Vj,则用户i与帖子j之间的相似度关系表示为R(i,j);
对每一个正反馈样本对进行负采样,负采样得到的项目列表为[N1,N2,…,Nk];计算出所有的相似度关系表示R(i,j)之后,采用如下公式对其进行归一化:
其中,D表示所有与该用户相关的帖子集合,其中包括与用户i相关的正例D+和与用户i相关的采样出来的负例D-;γ是平滑系数;
训练模型的的损失函数为:
L=-logΠ(i,D+)p(D+|i)=-∑i,D+log p(D+|i)
使用随机梯度下降的方法最小化上述的损失函数从而得到模型的最优参数。
本发明设计实现了一种基于深度语义匹配模型的社区帖子推荐方法,通过深度语义匹配模型把用户和项目两个实体映射到同一隐空间中,然后在该隐空间中通过余弦相似度来衡量两个实体间的关系,最后通过相似度进行推荐。这种方法具有以下优点,第一,用户独立性。我们只需要根据当前用户的感兴趣的项目特征就可以完成推荐,而协同过滤的方法还需要寻找近邻用户。第二,可解释性强。我们只需要列出当前项目出现的原因是用户之前喜欢过类似的项目,就可以解释推荐系统的工作原理。第三,当新物品出现时,即使没有用户对其评分,也可以根据新物品的特征进行推荐。第四,该方法可以从海量的用户和项目数据中学习到更深层次非线性的用户和项目特征表示。通过深度语义匹配模型可以把多源异构数据映射到同一隐空间中,从而获得对它们的统一表征。第五,在获取帖子语义特征时采用无监督的方式获得,提高了线上推荐的效率。
本发明的进一步优点将结合说明书附图在具体实施例部分进一步详细体现。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的社区帖子的推荐方法的整体流程图。
图2是图1所述方法获取帖子特征的流程图。
图3是图1所述方法获取用户特征的流程图。
图4是图1所述方法进行模型训练的流程图。
图5是图4所述训练模型的全连接层参数共享示意图。
具体实施方式
下面,结合附图以及具体实施方式,对发明做出进一步的描述。
再具体介绍实施例之前,首先明确几个技术术语:
深度学习:深度学习是学习样本数据的内在规律和表示层次。它的最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。
自然语言处理:是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。
推荐系统:为了帮助用户从海量的信息中选择其可能感兴趣的信息从而获得更好的用户体验,推荐系统应运而生。
全连接层:全连接层的每一个结点都与上一层的所有结点相连,用来把前边提取到的特征综合起来,即把学习到的特征映射到样本标记空间的作用。
结巴中文分词:基于前缀词典实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图。采用了动态规划查找最大概率路径,找出基于词频的最大切分组合。
停用词:停用词是指在信息检索中,为节省存储空间和提高搜索效率,在处理自然语言数据或文本之前或之后会自动过滤掉某些字或词,这些字或词即被称为停用词。
TF-IDF(term frequency-inverse document frequency)是一种用于信息检索与数据挖掘的常用加权技术,它是一种统计方法,用以评估字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。TF是词频(Term Frequency),IDF是逆文本频率指数(Inverse Document Frequency)。
无监督学习:在现实生活中往往会存在由于缺乏足够的先验知识,人工难以对样本进行标注或者标注成本太高,这时根据类别未知即没有被标记的训练样本解决模式识别中的各种问题,称之为无监督学习。
独热编码:即One-Hot编码,其方法是使用N位状态寄存器来对N个状态进行编码,每个状态都有它独立的寄存器位,并且在任意时候,其中只有一位有效。即,只有一位是1,其余都是零值。
参照图1,是本发明一个实施例的社区帖子的推荐方法的整体流程图。图1显示了,所述方法同时对用户实体(用户特征)和项目实体(帖子特征)进行并行处理后,获取帖子特征表示和用户特征表示,然后训练深度语义匹配模型,基于所述深度语义匹配模型,将高维特征空间映射到低维特征空间,再将在所述低维特征空间中和所述用户特征相近的帖子推荐给用户。
接下来参见图2-4,是图1中各个步骤的进一步流程图。
参见图2,在获取帖子的特征表示方面,本实施例主要采用无监督的方式获得。考虑到实际推荐场景中,我们需要快速得到一些新帖子的语义向量表示进而进行推荐。本实施例采用的无监督方式获取帖子语义向量的具体方法包括:
S101:开始
S102:通过正则表达式去除特殊字符。通过正则表达式去除帖子文本中的特殊字符。
S103:通过结巴分词技术进行分词。对帖子文本进行分词。
S104:去除停用词。构建停用词表,对帖子文本分词后的结果会存在一些语义无关的字或词,这里把这些停用词过滤掉。
S105:获取词向量。通过调用开源的大规模中文词向量库,得到分词后每个词对应的向量表示。
S106:对词向量加权平均得到句子的向量表示。通过S105步骤得到分词后每个词对应的向量表示,对这些词向量进行加权平均得到该帖子的语义向量表示。
S107:结束。
对上述步骤详细描述如下:
为获得帖子的特征表示,首先通过正则表达式的方法去除一些特殊字符,例如等日常常用的emoji,以及等表情符号。然后通过结巴中文分词技术对帖子进行分词,这里需要指出为了使结巴分词更加准确需要添加自定义词表,比如对星座领域的文本进行分词的时候可以添加一些白羊座、金牛座等星座以及一些和塔罗、星盘相关的专业名词。为了使结巴分词后得到词都具有实际意义同时为了节省存储空间和提高搜索效率,因此需要对分词的结果进行去停用词处理。停用词主要包括一些语气助词、副词、介词、连接词等,通常这些停用词自身并无明确的意义,只有将其放入一个完整的句子中才有一定作用,如常见的″的″、″在″之类。去除停用词之后,为了得到每个词所对应的词向量,这里我们可以用一些开源的大规模的中文词向量库,如腾讯实验室公开的词向量数据包含800多万中文词汇,其中每个词对应一个200维的向量。为了得到该帖子的向量表示,考虑到每个词对句子的重要程度不一样,我们使用TFIDF得到每个词的重要程度。最终的句子向量表示为分词后各个词向量的重要程度的加权平均。
参见图3,在获取用户特征表示方面,本实施例采用结合用户基本属性特征和用户历史交互过的帖子语义信息一起构建。用户基本属性包括性别、年龄、职业、手机型号、当前位置坐标等描述用户的基本信息。用户历史交互过的项目可以体现出用户的喜好,比如用户喜欢某明星,和某明星有关的帖子该用户大多会点赞,我们通过该用户点赞帖子记录就可以得到用户这一喜好信息,因此本实施例主要通过用户的基本属性和用户点赞过的帖子序列来表示用户的特征。具体方式包括:
S201:开始
S202:获取用户基本信息。
S203:对离散型特征进行特征处理。这里是对于用户基本信息中的离散型特征进行特征处理,特征处理包括空值处理、离群点处理等。
S204:对离散型特征进行特征编码。
S205:对连续型特征进行处理。这里是对用户基本信息中的连续值特征进行特征处理,主要包括对连续型特征进行离散化等。
S206:对离散化后的特征进行特征编码。
S207:获取用户历史交互过的帖子语义表示。
S208:对历史交互的帖子集合进行特征表示。
S209:将步骤S204、步骤S206和步骤S208得到的特征进行拼接。这样就得到了用户的特征表示。
S210:结束
对上述步骤详细描述如下:
对于用户基本属性中的类别特征,首先统计用户基本属性中同一属性下的类别个数及该类别对应的用户数量。其中空值和离群点均用用户数量最多的类别填充。这里只是提供了一种填充众数的空值和离群点的填充方式,当然也可以用均值、最大最小值填充等。填充之后对类别特征用独热编码表示。如用户性别这一属性下有男和女这两个类别,当用0表示男性,用1表示女性时,该用户为男性的独热编码为[1,0]。
对于用户基本属性中的连续值特征,首先统计用户该连续值特征下,每个值对应的用户数量,这样就可以得到该连续特征的频率分布情况。通常对于连续值特征进行离散化处理。由于离散化后特征对于异常数据有很强的鲁棒性,同时可以进行特征交叉等操作提升模型表达能力。比如用户年龄是一个连续特征,我们把用户年龄划分为七段分别为小于10岁、10岁到20岁之间、20岁到30岁之间、30岁到40岁之间、40岁到50岁之间、50到60岁之间、60岁以上。这样当一个用户年龄为32岁,对年龄离散化后进行独热编码表示为[0,0,0,1,0,0,0]。
对于用户交互过的项目特征表示方面,本项目中只考虑用户点赞的帖子记录。用户点赞的帖子文本特征代表着用户的喜好特征。这里提供两种对用户历史点赞帖子序列进行编码的方法。第一种是不考虑时间因素,直接把用户历史点赞的帖子语义向量求平均得到用户交互的特征表示。第二种是考虑时间因素,认为用户点赞时间越近的帖子语义越能代表用户当前的兴趣爱好。这里我们可以构建和时间有关的衰减函数如指数移动平均值函数,对用户历史点赞的帖子语义向量进行和时间有关的加权平均进而得到用户交互的特征表示。
通过把用户的基本属性进行编码和对用户交互的特征表示进行拼接,这样就得到了用户的特征表示。
当获取了用户和项目的特征表示后,就可以构建网络进行训练了。这里主要采用的是深度语义匹配模型(Deep Semantic Structured Models,DSSM),这个模型最早是微软在2013年提出的。当时DSSM模型主要用于搜索场景中,该模型通过计算搜索词和文章之间的语义相似度来优化模型。模型的目的是通过搜索词来给出与其语义信息最相似的文章的排序。在本发明中我们把这个模型引申到帖子推荐中,通过DSSM模型把用户和项目两个实体映射到同一隐空间中,然后在该隐空间中通过余弦相似度来衡量两个实体间的关系,最后通过相似度进行推荐。
参见图4,具体方式包括:
S301:开始
S302:构建训练集和测试集。由于网络的输入为用户和项目的高维特征,因此构建数据集时需要根据上面步骤S106和步骤S209分别得到帖子和用户特征表示。
S303:构建DSSM网络模型。搭建DSSM网络模型,这里需要注意的是把项目高维特征空间映射到低维特征空间这一过程全连接层参数是共用的。
S304:训练DSSM网络模型。
S305:帖子推荐。当训练好模型之后,我们分别得到了用户和帖子从高维特征空间向同一低维特征空间的映射方式。当进行帖子推荐时,我们只需要把在低维空间中和用户特征相近的帖子推荐给用户即可。
S306:结束
对上述步骤详细描述如下:
首先我们需要知道DSSM模型的整体结构,如图5所示,最左边的网络表示通过全连接神经网络提取用户特征,并把经过步骤S209得到的原始高维的用户特征映射到低维空间中。右边网络表示用全连接神经网络的方法提取项目特征,并把经过步骤S106得到的原始高维的项目特征映射到和用户相同的低维语义空间中。我们的目标是让具有交互行为的用户和项目在相同的低维语义空间中的特征尽可能相似。在帖子推荐中我们以用户点赞帖子的行为为正反馈,只浏览没有点赞的帖子作为负反馈。假设用户i点赞了帖子j,经过全连接神经网络之后学习到的用户低维特征表示为Ui,以及项目低维特征表示为Vj。我们用余弦相似度来表示他们之间的关系R(i,j)。
在具体的训练过程中,我们会对每一个用户帖子正反馈样本对对进行负采样。上图中对(i,j)样本对进行了k次负采样,其中负采样得到的项目列表为[N1,N2,…,Nk]。我们用D表示所有与该用户相关的帖子集合,其中包括与用户i相关的正例D+和与用户i相关的采样出来的负例D-。在计算完这些帖子和用户之间的余弦相似度之后,我们用softmax函数对最后的结果进行归一化。
其中γ是softmax函数的平滑系数。模型的目标函数就是对于给定用户i时其正样本的最大似然。我们取其负对数作为最后的损失函数:
我们可以使用随机梯度下降的方法最小化上述的损失函数从而得到模型的最优参数。在给用户进行推荐的时候,只需要得到用户的低维嵌入表示,然后计算用户的低维特征和采样帖子对应的低维特征之间的余弦相似度,最后将相似度高的帖子推荐给用户。
本发明的技术方案方案产生的有益效果至少包括:
第一,用户独立性。我们只需要根据当前用户的感兴趣的项目特征就可以完成推荐,而协同过滤的方法还需要寻找近邻用户。
第二,可解释性强。我们只需要列出当前项目出现的原因是用户之前喜欢过类似的项目,就可以解释推荐系统的工作原理。
第三,当新物品出现时,即使没有用户对其评分,也可以根据新物品的特征进行推荐。
第四,该方法可以从海量的用户和项目数据中学习到更深层次非线性的用户和项目特征表示。通过深度语义匹配模型可以把多源异构数据映射到同一隐空间中,从而获得对它们的统一表征。
第五,在获取帖子语义特征时采用无监督的方式获得,提高了线上推荐的效率。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (10)
1.一种社区帖子的推荐方法,所述方法基于映射到同一隐空间中的用户实体和项目实体实现,通过获取帖子特征表示和用户特征表示,给所述用户进行社区帖子推荐,
其特征在于,所述获取帖子特征表示包括如下步骤:
S101:开始,从所述社区提取帖子文本;
S102:基于正则表达式去除所述帖子文本中的特殊字符;
S103:通过通过结巴分词技术对步骤S102的输出结果进行分词;
S104:通过预先构建的停用词表,去除步骤S103的输出结果中的停用词;
S105:通过调用开源的大规模中文词向量库,得到分词以及去除停用词后每个词对应的向量表示;
S106:对词向量加权平均得到该帖子的语义向量表示;
所述获取用户特征表示包括如下步骤:
S201:开始
S202:获取用户基本信息,所述用户基本信息包括连续值特征和离散型特征;
S203:对所述离散型特征进行特征处理,所述特征处理包括空值处理、离群点处理;
S204:对步骤S203输出的离散型特征进行特征编码;
S205:对所述连续型特征进行离散化处理;
S206:对离散化后的特征进行特征编码;
S207:获取用户历史交互过的帖子语义表示;
S208:对所述历史交互过的帖子集合进行特征表示;
S209:将步骤S204、步骤S206和步骤S208得到的特征进行拼接,获取用户的特征表示。
2.如权利要求1所述的一种社区帖子的推荐方法,其特征在于:在获取帖子特征表示和用户特征表示之后,所述方法还包括:
S301:开始
S302:构建训练集和测试集;
S303:构建深度语义匹配模型;
S304:训练深度语义匹配模型;
S305:利用训练好的深度语义匹配模型进行帖子推荐。
3.如权利要求1所述的一种社区帖子的推荐方法,其特征在于:
所述步骤S03中通过通过结巴分词技术对步骤S102的输出结果进行分词,具体包括:
预先构建自定义词表,所述自定义词表包括不同领域的专业名词;
利用所述预先构建的自定义词表对帖子进行分词。
4.如权利要求1所述的一种社区帖子的推荐方法,其特征在于:
所述步骤S202中获取的用户基本信息包括用户基本属性特征和用户历史交互过的帖子特征。
5.如权利要求4所述的一种社区帖子的推荐方法,其特征在于:
通过将编码后的用户的基本属性特征和用户历史交互过的帖子特征进行拼接,得到所述用户特征表示。
6.如权利要求1所述的一种社区帖子的推荐方法,其特征在于:
所述深度语义匹配模型将高维特征空间映射到低维特征空间。
7.如权利要求6所述的一种社区帖子的推荐方法,其特征在于:
所述S305利用训练好的深度语义匹配模型进行帖子推荐,具体包括:
当训练好的深度语义匹配模型之后,将所述帖子特征表示和用户特征表示输入所述训练好的深度语义匹配模型,从而得到所述帖子特征表示和用户特征表示从高维特征空间向同一低维特征空间的映射结果。
8.如权利要求6所述的一种社区帖子的推荐方法,其特征在于:
所述S305利用训练好的深度语义匹配模型进行帖子推荐,进一步包括:
将在所述低维特征空间中和所述用户特征相近的帖子推荐给用户。
9.如权利要求6-8任一项所述的一种社区帖子的推荐方法,其特征在于:
在所述深度语义匹配模型中,共用高维特征空间映射到低维特征空间的全连接层参数。
10.如权利要求6-8任一项所述的一种社区帖子的推荐方法,其特征在于:
所述步骤S304训练深度语义匹配模型具体包括:
以用户点赞帖子的行为为正反馈,只浏览没有点赞的帖子作为负反馈;
设用户i点赞了帖子j,经过全连接神经网络之后学习到的用户低维特征表示为Ui,以及项目低维特征表示为Vj,则用户i与帖子j之间的相似度关系表示为R(i,j);
对每一个正反馈样本对进行负采样,负采样得到的项目列表为[N1,N2,…,Nk];计算出所有的相似度关系表示R(i,j)之后,采用如下公式对其进行归一化:
其中,D表示所有与该用户相关的帖子集合,其中包括与用户i相关的正例D+和与用户i相关的采样出来的负例D-;γ是平滑系数;
训练模型的的损失函数为:
使用随机梯度下降的方法最小化上述的损失函数从而得到模型的最优参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010578236.9A CN111782964B (zh) | 2020-06-23 | 2020-06-23 | 一种社区帖子的推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010578236.9A CN111782964B (zh) | 2020-06-23 | 2020-06-23 | 一种社区帖子的推荐方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111782964A true CN111782964A (zh) | 2020-10-16 |
CN111782964B CN111782964B (zh) | 2024-02-09 |
Family
ID=72756867
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010578236.9A Active CN111782964B (zh) | 2020-06-23 | 2020-06-23 | 一种社区帖子的推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111782964B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112650934A (zh) * | 2021-01-18 | 2021-04-13 | 北京小川在线网络技术有限公司 | 一种基于用户高度参与的内容上推方法及其电子设备 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110103364A1 (en) * | 2009-09-13 | 2011-05-05 | Research Institute Of Tsinghua University In Shenzhen | Code division multiple address coding method |
US20150363688A1 (en) * | 2014-06-13 | 2015-12-17 | Microsoft Corporation | Modeling interestingness with deep neural networks |
CN108763493A (zh) * | 2018-05-30 | 2018-11-06 | 深圳市思迪信息技术股份有限公司 | 一种基于深度学习的推荐方法 |
WO2019105432A1 (zh) * | 2017-11-29 | 2019-06-06 | 腾讯科技(深圳)有限公司 | 文本推荐方法、装置及电子设备 |
CN109871491A (zh) * | 2019-03-20 | 2019-06-11 | 江苏满运软件科技有限公司 | 论坛帖子推荐方法、系统、设备及存储介质 |
CN110059262A (zh) * | 2019-04-19 | 2019-07-26 | 武汉大学 | 一种基于混合神经网络的项目推荐模型的构建方法及装置、项目推荐方法 |
WO2019153737A1 (zh) * | 2018-02-12 | 2019-08-15 | 百度在线网络技术(北京)有限公司 | 用于对评论进行评估的方法、装置、设备和存储介质 |
US20190303768A1 (en) * | 2016-12-30 | 2019-10-03 | Huawei Technologies Co., Ltd. | Community Question Answering-Based Article Recommendation Method, System, and User Device |
CN110517121A (zh) * | 2019-09-23 | 2019-11-29 | 重庆邮电大学 | 基于评论文本情感分析的商品推荐方法及商品推荐装置 |
CN111143705A (zh) * | 2019-12-26 | 2020-05-12 | 北京工业大学 | 一种基于图卷积网络的推荐方法 |
CN111259235A (zh) * | 2020-01-09 | 2020-06-09 | 齐鲁工业大学 | 基于上下文感知及特征交互建模的个性化推荐方法及系统 |
CN111310063A (zh) * | 2020-02-03 | 2020-06-19 | 电子科技大学 | 基于神经网络的记忆感知门控因子分解机物品推荐方法 |
-
2020
- 2020-06-23 CN CN202010578236.9A patent/CN111782964B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110103364A1 (en) * | 2009-09-13 | 2011-05-05 | Research Institute Of Tsinghua University In Shenzhen | Code division multiple address coding method |
US20150363688A1 (en) * | 2014-06-13 | 2015-12-17 | Microsoft Corporation | Modeling interestingness with deep neural networks |
US20190303768A1 (en) * | 2016-12-30 | 2019-10-03 | Huawei Technologies Co., Ltd. | Community Question Answering-Based Article Recommendation Method, System, and User Device |
WO2019105432A1 (zh) * | 2017-11-29 | 2019-06-06 | 腾讯科技(深圳)有限公司 | 文本推荐方法、装置及电子设备 |
WO2019153737A1 (zh) * | 2018-02-12 | 2019-08-15 | 百度在线网络技术(北京)有限公司 | 用于对评论进行评估的方法、装置、设备和存储介质 |
CN108763493A (zh) * | 2018-05-30 | 2018-11-06 | 深圳市思迪信息技术股份有限公司 | 一种基于深度学习的推荐方法 |
CN109871491A (zh) * | 2019-03-20 | 2019-06-11 | 江苏满运软件科技有限公司 | 论坛帖子推荐方法、系统、设备及存储介质 |
CN110059262A (zh) * | 2019-04-19 | 2019-07-26 | 武汉大学 | 一种基于混合神经网络的项目推荐模型的构建方法及装置、项目推荐方法 |
CN110517121A (zh) * | 2019-09-23 | 2019-11-29 | 重庆邮电大学 | 基于评论文本情感分析的商品推荐方法及商品推荐装置 |
CN111143705A (zh) * | 2019-12-26 | 2020-05-12 | 北京工业大学 | 一种基于图卷积网络的推荐方法 |
CN111259235A (zh) * | 2020-01-09 | 2020-06-09 | 齐鲁工业大学 | 基于上下文感知及特征交互建模的个性化推荐方法及系统 |
CN111310063A (zh) * | 2020-02-03 | 2020-06-19 | 电子科技大学 | 基于神经网络的记忆感知门控因子分解机物品推荐方法 |
Non-Patent Citations (3)
Title |
---|
董璇: "基于深度学习增强的个性化推荐算法研究", 中国优秀硕士学位论文全文数据库信息科技辑, no. 3, pages 138 - 1454 * |
马海江;: "基于卷积神经网络与约束概率矩阵分解的推荐算法", 计算机科学, no. 1, pages 550 - 555 * |
黄立威;江碧涛;吕守业;刘艳博;李德毅;: "基于深度学习的推荐系统研究综述", 计算机学报, no. 07, pages 191 - 219 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112650934A (zh) * | 2021-01-18 | 2021-04-13 | 北京小川在线网络技术有限公司 | 一种基于用户高度参与的内容上推方法及其电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111782964B (zh) | 2024-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107992531A (zh) | 基于深度学习的新闻个性化智能推荐方法与系统 | |
CN110427623A (zh) | 半结构化文档知识抽取方法、装置、电子设备及存储介质 | |
Ko et al. | Text classification from unlabeled documents with bootstrapping and feature projection techniques | |
CN108681557B (zh) | 基于自扩充表示和相似双向约束的短文本主题发现方法及系统 | |
CN110162594B (zh) | 文本数据的观点生成方法、装置及电子设备 | |
CN107357793A (zh) | 信息推荐方法和装置 | |
Zhang et al. | Aspect-based sentiment analysis for user reviews | |
CN113392209A (zh) | 一种基于人工智能的文本聚类方法、相关设备及存储介质 | |
CN112966091A (zh) | 一种融合实体信息与热度的知识图谱推荐系统 | |
CN115878904A (zh) | 基于深度学习的知识产权个性化推荐方法、系统及介质 | |
CN116383399A (zh) | 一种事件舆情风险预测方法及系统 | |
Lim et al. | Bibliographic analysis on research publications using authors, categorical labels and the citation network | |
Rafail et al. | Natural language processing | |
CN115982467A (zh) | 一种去偏化用户多兴趣推荐方法、装置及存储介质 | |
Karlos et al. | Classification of acoustical signals by combining active learning strategies with semi-supervised learning schemes | |
CN116401542A (zh) | 一种多意图多行为解耦推荐方法及装置 | |
CN116610818A (zh) | 一种输变电工程项目知识库的构建方法及系统 | |
Frolov et al. | Parsimonious generalization of fuzzy thematic sets in taxonomies applied to the analysis of tendencies of research in data science | |
CN113342922A (zh) | 一种基于标签细粒度自监督的跨模态检索方法 | |
CN111782964B (zh) | 一种社区帖子的推荐方法 | |
Osmani et al. | Weighted Joint Sentiment‐Topic Model for Sentiment Analysis Compared to ALGA: Adaptive Lexicon Learning Using Genetic Algorithm | |
CN116720519A (zh) | 一种苗医药命名实体识别方法 | |
Kathiria et al. | Trend analysis and forecasting of publication activities by Indian computer science researchers during the period of 2010–23 | |
Lu | Design of a music recommendation model on the basis of multilayer attention representation | |
CN115033706A (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 |