CN113254782B - 问答社区专家推荐方法及系统 - Google Patents
问答社区专家推荐方法及系统 Download PDFInfo
- Publication number
- CN113254782B CN113254782B CN202110661472.1A CN202110661472A CN113254782B CN 113254782 B CN113254782 B CN 113254782B CN 202110661472 A CN202110661472 A CN 202110661472A CN 113254782 B CN113254782 B CN 113254782B
- Authority
- CN
- China
- Prior art keywords
- user
- expert
- question
- expert user
- vector
- 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
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000012549 training Methods 0.000 claims abstract description 55
- 238000012545 processing Methods 0.000 claims abstract description 29
- 239000013598 vector Substances 0.000 claims description 148
- 239000013604 expression vector Substances 0.000 claims description 105
- 230000007774 longterm Effects 0.000 claims description 23
- 230000003993 interaction Effects 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 20
- 230000006870 function Effects 0.000 claims description 17
- 238000005295 random walk Methods 0.000 claims description 7
- 238000004422 calculation algorithm Methods 0.000 claims description 6
- 238000003860 storage Methods 0.000 claims description 6
- 230000000694 effects Effects 0.000 claims description 5
- 238000013507 mapping Methods 0.000 claims description 4
- 238000004540 process dynamic Methods 0.000 abstract description 3
- 239000010410 layer Substances 0.000 description 37
- 238000013527 convolutional neural network Methods 0.000 description 26
- 230000007246 mechanism Effects 0.000 description 11
- 238000011176 pooling Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000008859 change Effects 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 7
- 238000000605 extraction Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000002441 reversible effect Effects 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000002790 cross-validation Methods 0.000 description 4
- 230000002829 reductive effect Effects 0.000 description 4
- 239000002356 single layer Substances 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 2
- 238000012512 characterization method Methods 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000005065 mining Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 241000288105 Grus Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 238000003892 spreading Methods 0.000 description 1
- 230000003068 static effect Effects 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
- 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/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种问答社区专家推荐方法及系统,属于互联网技术领域,获取问答社区上的目标问题;利用预先训练好的推荐模型处理所述目标问题,得到所述目标问题在所述问答社区内对应的一个最优专家用户,作为目标专家用户;其中,预先训练好的推荐模型由训练集训练得到;所述训练集包括:所述问答社区内的多个问题,以及标记某专家用户是所述多个问题中的某个问题的最优专家用户的标签,以及标记某专家用户不是所述多个问题中的某个问题的最优专家用户的标签。本发明结合用户显式兴趣和隐式兴趣,关注用户兴趣和用户专业知识的时间动态,充分利用显示与隐式方面特征的结合来表征深层次特征,处理动态序列信息,提升了推荐准确性和推荐效率。
Description
技术领域
本发明涉及互联网技术领域,具体涉及一种结合用户显式兴趣和隐式兴趣的问答社区专家推荐方法及系统。
背景技术
互联网的发展促进了知识共享以及信息的传播,知识分享服务需求的增长,随之出现了大量的依赖于用户问答交流行为的问答社区,社区中具有专业知识的部分专家用户能够对特定领域的问题提供有价值的可参考答案,帮助其他提供问题的用户来解决疑难。为了促进知识的获取和传播,平台致力于深度挖掘用户兴趣,将问题有效推荐给可作出解答的专家用户。
然而,提出的问题和能够提供较准确答案的潜在的专家用户之间缺乏有效的匹配,导致问题堆积,专家用户无法获得其领域的问题,而提出问题的用户无法在短时间内获得高质量解答,解答效率无法满足需求,严重降低了用户体验与参与率。精准快速的问答社区的专家推荐方法,有利于提高平台解答效率,促进培育更强大的社区。
专家推荐区别于被动等待用户浏览并找到他们感兴趣的话题,而是主动将问题推荐给相关领域的专家用用户,引起专家用户对该问题的关注。
现有的大部分工作都将专家推荐问题视为基于内容的推荐任务,使用配置文件或者主题特征的相似性,或是基于语言模型或主题模型挖掘用户隐式主题信息,但这些方法的质量高度依赖类别的可用性和正确定义,社区中提出的问题和用户配置文件之间存在着复杂语义差异,无法准确匹配,推荐结果缺乏个性化。后续又出现混合模型,为了更好地表达问题和用户特征,增加更多的有区分度的功能特征。但其无法学习到问题内部深层次的复杂结构,而且在数据稀疏和冷启动问题存在的状况下,特征表征能力较低。
综上,现有的传统的问答社区专家推荐方法存在以下缺陷和不足:文本信息利用不足,仅关注用户的静态兴趣,忽视时间序列信息的可用性,因此忽视动态兴趣;未能实现多层次信息的结合使用与内部复杂特征的深度捕捉,特征提取仅关注于显式文本信息,忽视隐式交互网络高阶结构关系;忽略现实用户情境,过多关注用户兴趣与问题内容的匹配,忽视用户配置中的信息提取与用户专业知识的结合使用。
近年来,以CNN(Convolutional Neural Network)、RNN(Recurrent NeuralNetwork)以及attention注意力机制为代表的深度学习技术不断发展。相比于传统方法,深度学习模型可以学习到表达力更强的深度复杂语义特征,但是如何使用深度学习方法来更好地处理有关时间序列的动态数据,以及挖掘特征间隐式交互关系仍值得探究。
申请号为202011096689.4的中国发明专利申请,其公开了一种结合动态兴趣与专业知识的问答社区专家推荐方法及系统,其分别获取了目标问题的表示向量和用户的表示向量,最终结合两个表示向量,得到推荐的专家用户。其并没有考虑问题和专家用户之间存在的高阶关系和潜在的偏好因素,其专家推荐效果欠佳。
发明内容
本发明的目的在于提供一种结合用户显式兴趣和隐式兴趣,关注用户兴趣和用户专业知识的时间动态,充分利用显示与隐式方面特征的结合来表征深层次特征,处理动态序列信息,提升了推荐性能的问答社区专家推荐方法及系统,以解决上述背景技术中存在的至少一项技术问题。
为了实现上述目的,本发明采取了如下技术方案:
一方面,本发明提供一种问答社区专家推荐方法,包括:
获取问答社区上的目标问题;
利用预先训练好的推荐模型处理所述目标问题,得到所述目标问题在所述问答社区内对应的一个最优专家用户,作为目标专家用户;其中,
预先训练好的推荐模型由训练集训练得到;所述训练集包括:所述问答社区内的多个问题,以及标记某专家用户是所述多个问题中的某个问题的最优专家用户的标签,以及标记某专家用户不是所述多个问题中的某个问题的最优专家用户的标签;
将所述目标问题推荐给所述目标专家用户。
优选的,由训练集训练得到预先训练好的推荐模型时,确定某专家用户是否为某个问题的最优专家用户,包括:
将所述某个问题数据进行向量化表示,得到该问题的显式表示向量;
将候选专家用户数据进行向量化表示,得到专家用户显式表示向量;
构建问题-专家用户交互网络,将所有候选问题集合和候选专家用户通过图结构进行隐式表示,从中得到问题隐式表示向量和候选专家用户隐式表示向量;
结合问题显式表示向量与问题隐式表示向量,得到问题最终表示向量;结合专家用户显式表示向量与专家用户隐式向量,得到专家用户最终表示向量;
基于问题最终表示向量和专家用户最终表示向量,计算候选专家用户为该某个问题的专家的概率得分,得分高的为该问题的最优专家用户。
优选的,获取问题显式表示向量包括:
将问题标题文本信息进行词向量化嵌入,获取问题的标题表示向量;
将问题内容文本信息进行词向量化嵌入,获取问题的内容表示向量;
将问题标签信息进行词向量化嵌入,获取问题的标签表示向量;
将问题的标题表示向量、问题的内容表示向量和问题的标签表示向量进行拼接,得到最终的问题显式表示向量。
优选的,获取专家用户显式表示向量包括:
对候选专家用户的历史回答过的问题进行向量化表示,得到专家用户兴趣动态表示向量;
对候选专家用户的历史回答过的问题对应的用户回答进行向量化表示,得到专家用户专业知识动态表示向量;
对候选专家用户的标签信息进行向量化表示,得到专家用户长期兴趣表示向量;
将专家用户兴趣动态表示向量、专家用户专业知识动态表示向量和专家用户长期兴趣表示向量进行拼接,得到最终的专家用户显式表示向量。
优选的,获取问题隐式表示向量和专家用户隐式表示向量包括:
基于构建的问题-专家用户交互网络,结合Deepwalk的邻域路由算法来迭代分析潜在的序列信息,生成问题语料库和专家用户语料库;
在生成的问题语料库、专家用户语料库上分别使用Word2vec学习隐式嵌入,最终生成问题隐式表示向量和专家用户隐式表示向量。
优选的,计算概率得分包括:
对问题最终表示向量和专家用户最终表示向量进行点积;基于点积结果,比较问题最终表示向量和专家用户最终表示向量的相似度,判断当前用户是否会接受问题的邀请;依据相似度比较结果提取稠密信息;使用Sigmoid函数将数据结果映射到[0,1]之间,即为用户成为此问题专家的概率得分。
第二方面,本发明提供一种问答社区专家推荐系统,包括:
获取模块,用于获取问答社区上的目标问题;
配对模块,用于利用预先训练好的推荐模型处理所述目标问题,得到所述目标问题在所述问答社区内对应的一个最优专家用户,作为目标专家用户;其中,
预先训练好的推荐模型由训练集训练得到;所述训练集包括:所述问答社区内的多个问题,以及标记某专家用户是所述多个问题中的某个问题的最优专家用户的标签,以及标记某专家用户不是所述多个问题中的某个问题的最优专家用户的标签;
发送模块,用于将所述目标问题推荐给所述目标专家用户。
第三方面,本发明提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质用于存储计算机指令,所述计算机指令被处理器执行时,实现如上所述的问答社区专家推荐方法的指令。
第四方面,本发明提供了一种计算机程序(产品),包括计算机程序,所述计算机程序当在一个或多个处理器上运行时,用于实现如上所述的问答社区专家推荐方法。
第五方面,本发明提供一种电子设备,包括:处理器、存储器以及计算机程序;其中,处理器与存储器连接,计算机程序被存储在存储器中,当电子设备运行时,所述处理器执行所述存储器存储的计算机程序,以使电子设备执行如上所述的问答社区专家推荐方法。
本发明有益效果:
采用深度学习框架,减少人工特征提取的不准确性,更好地深层次编码多模态与异构特征的同时,降低了模型训练对大数据量的依赖性;
多角度综合使用用户信息,考虑现实适用情境以及用户侧信息的动态变化,成功表征用户兴趣动态和专业知识动态;
考虑用户与问题交互的动态信息变化,表征图网络结构框架,并沿图结构传播高阶信息,提取隐式表征,缓解用户与问题交互的稀疏性;
引入词向量进行文本的表示,将文本数据从高纬稀疏数据降至低纬稠密数据,简化特征处理流程;
采用CNN和Attention网络结合结构来提取全局和局部特征,解决了复杂语义的差异的同时汇聚重要信息;
使用双层Bi-GRU结合Attention网络处理时间动态信息,更加灵活且细粒度的处理了时序结构,更好捕捉双向语义;
进行显式内容信息提取与隐式交互结构信息提取的结合使用,进一步从不同层次丰富特征的表示,提升了模型的可扩展性;
采用五折交叉验证可以更好的拟合数据,获取尽可能多的有效信息,提高模型有效性。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例所述的判断问题对应的推荐专家的流程示意图。
图2为本发明实施例所述的获取问题显式表示向量的流程示意图。
图3为本发明实施例所述的获取专家用户显式表示向量的流程示意图。
图4为本发明实施例所述的获取问题隐式表示向量和获取专家用户隐式表示向量的流程示意图。
具体实施方式
下面详细叙述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。
还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件和/或它们的组。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
为便于理解本发明,下面结合附图以具体实施例对本发明作进一步解释说明,且具体实施例并不构成对本发明实施例的限定。
本领域技术人员应该理解,附图只是实施例的示意图,附图中的部件并不一定是实施本发明所必须的。
实施例1
本发明实施例1提供一种问答社区专家推荐系统,该系统包括:
获取模块,用于获取问答社区上的目标问题;
配对模块,用于利用预先训练好的推荐模型处理所述目标问题,得到所述目标问题在所述问答社区内对应的一个最优专家用户,作为目标专家用户;其中,
预先训练好的推荐模型由训练集训练得到;所述训练集包括:所述问答社区内的多个问题,以及标记某专家用户是所述多个问题中的某个问题的最优专家用户的标签,以及标记某专家用户不是所述多个问题中的某个问题的最优专家用户的标签;
发送模块,用于将所述目标问题推荐给所述目标专家用户。
在本实施例1中,利用上述的问答社区专家推荐系统实现了问答社区专家推荐方法,包括:
利用获取模块,获取问答社区上的目标问题;
使用配对模块,利用预先训练好的推荐模型处理所述目标问题,得到所述目标问题在所述问答社区内对应的一个最优专家用户,作为目标专家用户;其中,
预先训练好的推荐模型由训练集训练得到;所述训练集包括:所述问答社区内的多个问题,以及标记某专家用户是所述多个问题中的某个问题的最优专家用户的标签,以及标记某专家用户不是所述多个问题中的某个问题的最优专家用户的标签;
利用发送模块,将所述目标问题推荐给所述目标专家用户。
在本实施例1中,由训练集训练得到预先训练好的推荐模型时,确定某专家用户是否为某个问题的最优专家用户包括:
将所述某个问题数据进行向量化表示,得到该问题的显式表示向量;
将候选专家用户数据进行向量化表示,得到专家用户显式表示向量;
构建问题-专家用户交互网络,将所有候选问题集合和候选专家用户通过图结构进行隐式表示,从中得到问题隐式表示向量和候选专家用户隐式表示向量;
结合问题显式表示向量与问题隐式表示向量,得到问题最终表示向量;结合专家用户显式表示向量与专家用户隐式向量,得到专家用户最终表示向量;
基于问题最终表示向量和专家用户最终表示向量,计算候选专家用户为该某个问题的专家的概率得分,得分高的为该问题的最优专家用户。
本实施例1中,获取问题显式表示向量包括:
将问题标题文本信息进行词向量化嵌入,获取问题的标题表示向量;
将问题内容文本信息进行词向量化嵌入,获取问题的内容表示向量;
将问题标签信息进行词向量化嵌入,获取问题的标签表示向量;
将问题的标题表示向量、问题的内容表示向量和问题的标签表示向量进行拼接,得到最终的问题显式表示向量。
具体的,获取问题标题表示向量具体步骤如下:
首先,运用对问题标题信息进行处理,原始问题标题文本表示t=[t1,t2,...,tM]后,使用词向量化函数,将其转化为相应的词向量表示t′=ζ(t)=[T1,T2,...,TM],M为标题文本长度。
其次,使用CNN卷积神经网络捕捉局部上下文信息学习上下文的复杂语义表示,进一步优化词向量,计算方式如下:
Ci=λ(β×T[i-W:i+W]+b);
其中,T[i-W:i+W]是位置在i-W和i+W之间单词的嵌入连接,β和b是CNN卷积神经网络滤波器的参数,W是窗口大小,λ是非线性激活函数ReLU,参数都可根据实际要求自行调节。
由于不同的词对标题有不同的重要性,所以引入Attention注意力机制为每个词赋予不同权重,挑选最具代表性的语义信息Ai,计算方式如下:
αi=tan(θ×Ci+r);
其中,αi是Attention执行时的中间生成变量,θ和r是可训练参数,参数都可根据自己实际要求自行调节。
最终用带有权重的上下文词向量表征总和构成问题的标题表示:
获取问题内容表示向量包括:
问题内容原始文本数据表示为d=[d1,d2,...,dN],N为问题内容长度,词向量后的表示为d′=ζ(d)=[D1,D2,...,DN],类似的,按照问题标题表示向量的获取流程,处理后得到最终问题内容表示向量:
获取问题标签表示向量包括:
首先对所有标签信息g=[g1,g2,...,gO],O是标签的个数,进行词向量化处理得到g′=ζ(g)=[G1,G2,...,GN],然后进行全局池化平局,得到问题的标签表示qg=VAvgG。VAvg是池化平均参数矩阵,大小为O·V,V是标签向量的维度。
在本实施例1中,获取专家用户显式表示向量包括:
对候选专家用户的历史回答过的问题进行向量化表示,得到专家用户兴趣动态表示向量;
对候选专家用户的历史回答过的问题对应的用户回答进行向量化表示,得到专家用户专业知识动态表示向量;
对候选专家用户的标签信息进行向量化表示,得到专家用户长期兴趣表示向量;
将专家用户兴趣动态表示向量、专家用户专业知识动态表示向量和专家用户长期兴趣表示向量进行拼接,得到最终的专家用户显式表示向量。
本实施例1中,获取用户兴趣动态表示向量包括:
用户部分兴趣在短期内也会发生兴趣的漂移,导致兴趣发生动态改变。挖掘当前用户回答过的问题,按照时间先后顺序进行排列q=[q1,q2,...,qK],K是回答过的问题数量。然后获取每个问题的向量表示Q=[Q1,Q2,...,QK],根据序列Q处理动态的兴趣变化,生成所有隐层状态his(s∈[1,K])进行拼接后后,再进行更细粒度的动态信息表征后,结合attention注意力结构选取重要信息后得到用户当前的动态兴趣表示。
获取用户专业知识动态表示向量包括:
用户的专业知识也会随时间而动态变化,所涉及的用户历史回答问题对应的用户回复进行排序e=[e1,e2,...,eK],进行词向量化表示后依次使用CNN结合Attention网络进行重要语义表征,形成各自的回复表示向量E=[E1,E2,...,EK],根据E处理动态的专业知识变化,经过双向的时间序列处理,最终形成用户专业知识动态向量。
获取用户长期兴趣表示向量包括:
用户往往有多个固定的长期关注的兴趣话题,从用户配置文件中提取到若干关注标签f=[f1,f2,...,fY],Y表示标签个数。再进行词嵌入,得到词向量表示后,进行池化操作,得到用户长期关注话题表示uF。
本实施例1中,从用户浏览历史和用户点击历史中提取若干用户感兴趣标签l=[l1,l2,...,lZ],选取兴趣所占权重最高的标签l=[l1,l2,...,lZ′]进行词嵌入化,得到词向量表示后,进行全局池化操作,得到用户长期感兴趣话题uL,最终得到用户长期兴趣表示[uF,uL]。
获取问题隐式表示向量和专家用户隐式表示向量包括:
基于构建的问题-专家用户交互网络,结合Deepwalk的邻域路由算法来迭代分析潜在的序列信息,生成问题语料库和专家用户语料库;
在生成的问题语料库、专家用户语料库上分别使用Word2vec学习隐式嵌入,最终生成问题隐式表示向量和专家用户隐式表示向量。
计算概率得分包括:
对问题最终表示向量和专家用户最终表示向量进行点积;基于点积结果,比较问题最终表示向量和专家用户最终表示向量的相似度,判断当前用户是否会接受问题的邀请;依据相似度比较结果提取稠密信息;使用Sigmoid函数将数据结果映射到[0,1]之间,即为用户成为此问题专家的概率得分。
本实施例1中,上述获取模块、配对模块、发送模块与对应的步骤所实现的示例和应用场景相同,但不限于本实施例所公开的内容。上述模块作为系统的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
本实施例1所提出的系统,可以通过其他的方式实现。例如以上所描述的系统实施例仅仅是示意性的,例如上述模块的划分,仅仅为一种逻辑功能划分,实际实现时,可以有另外的划分方式,例如多个模块可以结合或者可以集成到另外一个系统,或一些特征可以忽略,或不执行。
实施例2
本实施例2提供一种结合用户显式兴趣与隐式兴趣的问答社区专家推荐方法,该方法包括如下步骤:
获取问答社区上的目标问题;
利用预先训练好的推荐模型处理所述目标问题,得到所述目标问题在所述问答社区内对应的一个最优专家用户,作为目标专家用户;其中,
预先训练好的推荐模型由训练集训练得到;所述训练集包括:所述问答社区内的多个问题,以及标记某专家用户是所述多个问题中的某个问题的最优专家用户的标签,以及标记某专家用户不是所述多个问题中的某个问题的最优专家用户的标签;
将所述目标问题推荐给所述目标专家用户。
在本实施例2中,训练所述推荐模型包括:
步骤1:获取目标问题数据;
步骤2:将目标问题数据进行向量化表示,得到问题显式表示向量;
步骤3:将候选用户数据进行向量化表示,得到用户显式表示向量;
步骤4:构建问题-用户网络表示图,将所有候选问题集合和候选用户通过图结构进行隐式表示,从中得到目标问题隐式表示向量和目标候选用户隐式表示向量;
步骤5:结合问题显示与隐式向量,得到问题最终表示向量;结合用户显示与隐式向量,得到用户最终表示向量;
步骤6:基于问题最终表示向量和用户最终表示向量,计算专家概率得分,得分高的为目标问题的最优专家;
步骤7;随后采用5折交叉验证选择训练集和测试集,每次交叉验证生成一个模型,最后选择效果最好的模型作为本申请最终的专家推荐模型。
本实施例2中,预先训练好的预测模型,其训练过程包括:
构建基础的预测网络模型;
构建训练集和测试集,所述训练集和测试集均为由上述概率得分判断的已知用户成为专家或不成为专家的问题数据和用户数据。
将训练集输入到预测模型中,对预测模型进行训练,采用交叉验证方式分别训练出若干个模型,选择效果最好的模型最为最终的预测模型,训练过程采用Adam进行优化,且采用早停策略减小无效计算,损失函数采用二元交叉熵来观察结果变化。
本实施例2中,构建的基础的预测网络模型包括用户编码器、问题编码器、图编码器和分类器;所述用户编码器的输出端、问题编码器的输出端和图编码器的输出端均与分类器的输入端连接。
所述问题编码器,用于对问题数据进行向量化表示,得到最终的问题显式表示向量。所述问题编码器,包括:三条并联支路;所述三条并联支路依次是:第一、第二和第三条支路;
第一条支路,包括依次连接的第一词向量化单元、第一卷积神经网络CNN和第一注意力机制模型;第二条支路,包括依次连接的第二词向量化单元、第二卷积神经网络CNN和第二注意力机制模型;第三条支路,包括依次连接的第三词向量化单元和第一全局平均池化层。
所述用户编码器,用于对用户数据进行向量化表示,得到最终的用户显式表示向量。所述用户编码器,包括:四条并联支路;所述四条并联支路依次是:第四、第五、第六和第七条支路;
第四条支路,包括:依次连接的问题编码器、第四词向量化单元和第一双层Bi-GRU结构和第三注意力机制模型,其中双层Bi-GRU包含两个单独的所含参数不同的单层Bi-GRU,每个单层Bi-GRU包含一个前向GRU和一个反向GRU;
第五条支路,包括:依次连接的第五词向量化单元和第二双层Bi-GRU结构和第四注意力机制模型,其中双层Bi-GRU包含两个单独的所含参数不同的单层Bi-GRU,每个单层Bi-GRU包含一个前向GRU和一个反向GRU;
第六条支路,包括:依次连接的第六词向量化单元和第二全局平均池化层;
第七条支路,包括:依次连接的第七词向量化单元和第三全局平均池化层。
所述图编码器,包括:二条并联支路;所述二条并联支路依次是:第八和第九条支路。第八条支路,包括:依次连接的用户-问题交互二部图结构、第一随机游走单元结构和第一Word2vec结构模型;第九条支路,包括:依次连接的用户-问题交互二部图结构、第二随机游走单元结构和第二Word2vec结构模型。
所述分类器,包括:依次连接的点积单元、全连接层、Sigmoid层。
本实施例2中,采集问答交流平台设定时期以内的数据样本,将采集到的样本进行清洗。包括:剔除同一个问题多次邀请同一个用户进行回答的重复邀请记录;剔除用户历史回答问题的时间晚于问题发出邀请的时间的用户历史记录。选取样本数据集,并对样本脏数据进行清洗处理。
本实施例2中,样本集所有数据均来自互联网某问答社区平台,选取记录包括:500000条问题邀请记录,1931645条用户记录,1829900条问题记录,4513735条问题回答记录。问题邀请数据选取完全随机,无特殊人工干预。问题回答记录中包括问题邀请中所提及所有用户的近期的所有回答。所有数据的获取都在符合法律法规、用户同意的基础之上对数据的合法应用。
其中,问题邀请记录具体包括:下发问题邀请编号、被邀请的用户编号、邀请创建的时间、邀请是否被回答。
用户记录具体包括:用户编号、用户关注的话题标签、用户感兴趣的标签。其中,用户感兴趣标签提前经过预训练模型处理得到权重最高的标签集和相应权重集,在实验中会去权重进行去除,仅留下需要的感兴趣标签。
问题记录具体包括:问题编号、问题创建时间(问题被提问用户提出的时间)、问题标题信息、问题内容信息、问题绑定的标签。其中问题标题和内容信息都包括具体的文本,切词,单字(标点符号),在实验中我们提前进行预处理,仅仅留下我们所需的文本来进行后续处理。
问题回答记录具体包括:回答编号、问题编号、作者用编号、回答创建时间、回答具体内容信息。
邀请数据中许多问题被多次同一时间或不同时间推荐给了相同用户,我们把其中含有重复邀请的数据进行了剔除。同时为了防止数据穿越现象的存在,也对存在于用户历史回答记录中的历史回答数据中的晚于当前问题下发时间的数据进行了剔除。
由于问答交流平台数据稀疏的原因,部分数据会不可避免的出现缺失的状况,将缺失的数据进行填充,所有需要处理信息的维度保持一致为64,填充内容统一为0。字、词、话题词嵌入向量都是根据真实业务环境训练。
本实施例2中,所述步骤2中,将目标问题数据进行向量化表示,得到问题显式表示向量;具体步骤包括:
将问题标题文本信息进行词向量化嵌入,将词向量化后的结果依次经过第一卷积神经网络CNN和第一注意力机制Attention模型,输出问题标题的表示向量;
将问题内容文本信息进行词向量化嵌入,将词向量化后的结果依次经过第二卷积神经网络CNN和第二注意力机制Attention模型,输出问题内容的表示向量;
将问题标签信息进行词向量化嵌入,将词向量化后的结果经过第一全局平均化层,得到问题标签的表示向量;
将问题标题的表示向量、问题内容的表示向量和问题标签的表示向量,进行拼接,得到最终的问题显式表示向量。
示例性的,问题数据是指全部问题的具体文本,包括问题的标题、问题的内容和问题绑定的话题标签。所有进行处理的问题数据均是下发用户回答邀请数据集中出现过的问题数据,每条数据都设置各自的识别编号。因为是问答交流平台,每个提问者会在提出自己问题的同时,会添加问题的标题和对问题标题进行扩展描述的问题内容,以及设置绑定标签,帮助锁定专家用户对当前问题的关注,吸引回答者来进行回答。问题编码器架构具体如图1所示。
示例性的,将问题标题文本信息进行分词,然后进行词向量嵌入,将标题文本转为隐含语义空间的词向量表示。将词向量化后的结果依次经过第一卷积神经网络CNN和第一注意力机制Attention模型,输出问题标题的表示向量;具体实现方式包括:
首先,运用问题编码器对问题标题信息进行处理,输入原始问题标题文本表示t=[t1,t2,...,tM]后,使用词向量化函数,将其转化为相应的词向量表示t′=ζ(t)=[T1,T2,...,TM],M为标题文本长度。其次,使用CNN卷积神经网络捕捉局部上下文信息学习上下文的复杂语义表示,进一步优化词向量,计算方式如下:
Ci=λ(β×T[i-W:i+W]+b);
其中,T[i-W:i+W]是位置在i-W和i+W之间单词的嵌入连接,β和b是CNN卷积神经网络滤波器的参数,W是窗口大小,λ是非线性激活函数ReLU,参数都可根据实际要求自行调节。
然后再经过Attention注意力网络,由于不同的词对标题有不同的重要性,所以引入Attention注意力机制为每个词赋予不同权重,挑选最具代表性的语义信息Ai,计算方式如下:
αi=tan(θ×Ci+r);
其中,αi是Attention执行时的中间生成变量,θ和r是可训练参数,参数都可根据自己实际要求自行调节。
最终用带有权重的上下文词向量表征总和构成问题的标题表示:
本实施例2中,采取预训练好的词向量模型进行词向量化嵌入。本实施例2中,词向量化后的主题标签共100000个(包含问题主题标签,用户关注标签以及用户感兴趣标签,所有主题标签都经过统一词向量处理置同一词向量空间),单词向量共1760000个,所有词向量化后的信息表示维度都为64。
示例性的,将问题内容文本信息进行词向量化嵌入,将词向量化后的结果依次经过第二卷积神经网络CNN和第二注意力机制Attention模型,输出问题内容的表示向量;具体实现方式包括:
运用问题编码器学得问题的内容表示。问题内容原始文本数据表示为d=[d1,d2,...,dN],N为问题内容长度,词向量后的表示为d′=ζ(d)=[D1,D2,...,DN],按照上述流程进一步处理后得到最终问题内容表示
示例性的,将问题标签信息进行词向量化嵌入,将词向量化后的结果进行全局平均化,得到问题标签的表示向量;具体实现方式包括:
用户通常绑定多个标签,且问题的绑定标签一般由提问用户自己设置,帮助锁定其他用户对当前问题的关注。本实施例2中,首先对所有标签信息g=[g1,g2,...,gO],O是标签的个数,进行词向量化处理得到g′=ζ(g)=[G1,G2,...,GN],然后进行全局池化平局,得到问题的标签表示qg=VAvgG。VAvg是池化平均参数矩阵,大小为O·V,V是标签向量的维度,如上述所提本实施例2中把标签维度统一为64。
本实施例2中,步骤3中,将候选用户数据进行向量化表示,得到用户显式表示向量;具体步骤包括:
对候选用户的历史回答过的问题进行向量化表示,得到用户兴趣动态表示向量;
对候选用户的历史回答过的问题对应的用户回答进行向量化表示,得到用户专业知识动态表示向量;
对候选用户的标签信息进行向量化表示,得到用户长期兴趣表示向量;
将用户兴趣动态表示向量、用户专业知识动态表示向量和用户长期兴趣表示向量进行拼接,得到最终的用户表示向量。
应理解的,用户数据是包含全部涉及用户信息的具体数据,从用户浏览、点击和回答记录中提取。根据统计用户最大回答问题数量为987,最小为1,经过统计计算取平均回答长度6作为进行信息动态分析操作的长度。用户回答内容最大为38031个字符,最小为3个字符,总平均长度为47个字符,为了方便操作,控制内容处理的窗口长度为50。用户设置的最大关注的标签为100个,最小为0个,取总平均值10个标签来控制长度变量;同理,设置用户的感兴趣标签数处理窗口大小也为10。
值得注意的是,通过预训练模型从用户浏览历史和用户点击历史中提取若干用户感兴趣标签,由于用户对每个标签的兴趣权重不同,在使用预训练模型提取用户感兴趣标签时也输出他们对不同标签感兴趣的权重,根据上述所述的平均值统计计算,选取了兴趣所占权重最大的10个标签来进行模型构成的实验。
用户会不断学习新知识,他们的关注点和擅长回答的问题可能会改变,这些动态的变化均会影响最终推荐的结果。用户的回答行为具有明显的时间序列关系,比如用户回答问题的时间序列反映了用户兴趣和专业知识变化,可以据此分析用户动态并追踪变化。此外,用户也会选择一些标签主动展示自己的兴趣,并且用户标签相对固定,很长时间都不会发生变化,可以反应用户长期兴趣。还可以在用户浏览历史和点击历史中提取他们感兴趣的标签,与用户关注标签结合,共同反映用户长期兴趣。用户编码器分别从序列解答行为和用户标签学习特征向量组成最终的向量表示,架构如图2所示。
用户编码器分为用户动态兴趣表示模块、用户长期兴趣表示模块和用户专业知识动态表示三个模块,三个模块的训练次序并非唯一固定。
所述对候选用户的历史回答过的问题进行向量化表示,得到用户动态兴趣表示向量;具体实现方式为:
结合问题数据集和用户数据集,对候选用户的历史回答过的问题进行提取,按照时间先后顺序进行排序,得到历史问题序列;
将历史问题序列输入到问题编码器中,输出历史回答问题的问题向量表示序列;
将词向量化后的序列依次经过第一双层Bi-GRU网络结构和第三attention注意力结构,得到用户动态兴趣表示向量。
值得注意的是,第一双层Bi-GRU网络结构包含,第一层Bi-GRU和第二Bi-GRU,其中每层Bi-GRU都包含一个正向GRU和一个反向GRU结构。
示例性的,所述对候选用户的历史回答过的问题进行向量化表示,得到用户动态兴趣表示向量;具体实现方式为:
用户部分兴趣在短期内也会发生兴趣的漂移,导致兴趣发生动态改变。本申请挖掘当前用户回答过的问题,按照时间先后顺序进行排列q=[q1,q2,...,qK],K是回答过的问题数量。然后利用上述的问题编码器对每个问题编码获取它们的向量表示Q=[Q1,Q2,...,QK],然后把序列Q放入第一双层Bi-GRU网络,处理动态的兴趣变化。经过第一层BiGRU生成所有隐层状态his(s∈[1,K])进行拼接后后,放入第二层Bi-GRU进行更细粒度的动态信息表征后,输入第三attention注意力结构选取重要信息后得到用户当前的动态兴趣表示uS。
其中,Bi-GRU可以看作两个单向的GRU,包括正向以及逆向使得当前时刻的输出能和前一时刻状态和后一时刻状态都产生联系。当输入Q=[Q1,Q2,...,QK],正向GRU从Q1到QK处理数据,反向GRU从QK到Q1反向处理数据。两个层的Bi-GRU在s时刻的隐层状态通过前向隐层状态和反向隐层状态加权得到。
所述对候选用户的历史回答过的问题对应的用户答案进行向量化表示,得到用户专业知识动态表示向量;具体实现方式为:
结合问题数据集和用户数据集,将候选用户的历史回答过的问题对应的用户回复按照时间先后顺序进行排序,得到历史答案序列;
对历史答案序列进行分词然后进行词向量嵌入表示;
对词向量化表示的序列输入CNN和attention结构得到稠密语义向量集合;
然后将语义向量结合依次经过第二双层Bi-GRU结构和第四attention结构,得到用户专业知识动态表示向量。
示例性的,所述对候选用户的历史回答过的问题对应的用户答案进行向量化表示,得到用户专业知识动态表示向量;具体实现方式为:
用户的专业知识也会随时间而动态变化,所涉及的用户历史回答问题对应的用户回复进行排序e=[e1,e2,...,eK],进行词向量化表示后依次使用CNN结合Attention网络进行重要语义表征,形成各自的回复表示向量E=[E1,E2,...,EK],然后按次序放入第二双层Bi-GRU网络,第四Attention网络处理动态的专业知识变化。经过双向的时间序列处理,最终形成用户专业知识动态向量uE。
所述对候选用户的标签信息进行向量化表示,得到用户长期兴趣表示向量;具体实现方式为:
对候选用户的关注标签信息进行提取并进行词向量化表示;
对候选用户的历史浏览记录和历史记录进行感兴趣标签的提取,信息进行词向量化表示;
将向量化表示后的关注标签信息输入第二全局平均池化层进行处理;
将向量化表示后的感兴趣标签信息输入第三全局平均池化层进行处理;
得到经过处理后的用户关注标签序列和用户感兴趣序列进行拼接,最终得到用户长期兴趣表示向量。
示例性的,所述对候选用户的标签信息进行向量化表示,得到用户长期兴趣表示向量;具体实现方式为:
本申请从用户浏览历史和用户点击历史中使用预训练模型提取若干用户感兴趣标签l=[l1,l2,...,lZ],选取兴趣所占权重最高的标签l=[l1,l2,...,lZ′]输入第七词嵌入化单元,得到词向量表示表示后进入第三全局池化层,得到用户长期感兴趣话题uL,最终得到用户长期兴趣表示[uF,uL]。
本实施例2中,所述步骤4:构建问题-用户网络表示图,将目标问题和候选用户通过图结构进行隐式表示,得到问题隐式表示向量和用户隐式表示向量;具体步骤包括:
将数据集中所有问题和用户信息输入,建立用户-问题交互的图网络。其中,用户和问题相连的边表示用户回答过此问题。
值得注意的是,构建的网络结构基于构建的邀请数据集,在邀请数据集中,包含问题编号,用户编号,问题下发邀请创建的时间,用户是否回答此问题的判断(接受问题邀请状态显示为:1,未接收邀请显示为:0)。上一步中所述用户和问题相连的边表示用户回答过此问题,即提取邀请状态显示为1的数据来进行下一步的训练。
考虑到用户有不同的兴趣,所以用户选择回答的问题具有不同的类型。图中的邻居用户会具有一些相似的兴趣,结合图的网络信息可以进一步丰富表示。在用户和问题之间沿着图传播高阶信息,从而捕获用户和问题之间的高阶关系和潜在偏好因素。
基于用户历史回答行为构建问题图,并基于给定问题的历史回答用户对用户图进行建模。目标是通过聚集它们各自邻居的特征来学习不同类型节点的表示。
其次,应用一种基于Deepwalk的邻域路由算法来迭代分析潜在的序列信息,主要是用Random Walk随机游走来生成两种不同类型的语料库。
第三,在生成的两个语料库上分别使用Word2vec学习隐式嵌入,可以保持嵌入空间中两个节点之间的局部邻近性。
所述目标问题和候选用户进行隐式向量化表示,得到问题和用户隐式表示向量;具体实现方式为:
将数据集中所有问题和用户信息输入,建立用户-问题交互的图网络G={Q,U,E},其中用户节点为u1,u2,...,ux,同属于用户集合U。问题节点为q1,q2,...,qh,同属于问题集合Q。其中,用户和问题相连的边e=(u,q)∈E表示用户回答过此问题。
给定用户-问题二部图G,其中用户和问题都被给定了它们自己的随机初始化的编号。首先,基于用户历史回答行为构建问题图,并基于给定问题的历史回答用户对用户图进行建模。通过聚集它们各自邻居的特征来学习节点q的表示Yq和节点u的表示Yu。
其次,应用一种基于Deepwalk的邻域路由算法来迭代分析潜在的序列信息,并生成两种不同类型的语料库,问题语料库DQ和用户语料库DU。
第三,在生成的问题语料库DQ、用户语料库DU两个语料库上分别使用Word2vec学习隐式嵌入,最终生成问题隐式表示和用户隐式表示。
本实施例2中,所述步骤5:结合问题显示与隐式向量,得到问题最终表示向量;结合用户显示与隐式向量,得到用户最终表示向量;具体步骤包括:
所述问题和用户进行显式向量和隐式向量的结合,得到问题最终表示向量和用户最终表示向量;具体实现方式为:
将问题编码器生成的问题显式表示与图编码器生成的问题隐式表示结合,生成问题最终表示向量。
将用户编码器生成的用户显式表示与图编码器生成的用户隐式表示结合,生成用户最终表示向量。
本实施例2中,所述步骤6:基于问题最终表示向量和用户最终表示向量,输出推荐的专家用户;具体步骤包括:
对问题表示向量和用户表示向量进行点积;
将点积结果输入到全连接叠加结构;
将全连接层输出结果输入到Sigmoid层,最后输出每个推荐用户的推荐概率得分,将推荐概率得分最高的若干个推荐用户作为最终的推荐专家。
应理解的,基于点积,比较问题向量和用户向量的相似度;将结果输入全连接层,进行重要信息再度提取,减少特征信息的损失。将生成的向量输入Sigmoid层,生成用户成为专家的概率得分。
设置当前目标问题-候选用户对(ux,qx)在得到问题最终表示向量Qx,用户最终表示向量Ux后,基于点积对问题向量和用户向量进行比较,判断当前用户是否会接受问题的邀请。比较后的结果经过全连接层函数进一步提取稠密信息。最后使用Sigmoid函数将数据结果映射到[0,1]之间,即为用户成为此问题专家的概率得分。计算流程如图4所示,公式表示如下:
全连接层函数代表本申请设置的全连接层的个数和各个全连接层的结点数大小。本实施例2中,为控制成本,且过少的结构不利于提取稠密特征信息,过多的全连接层反而可能会导致过拟合的状况,综合考虑把最终训练与预测时的全连接层结构固定为5层。
实施例3
本发明实施例3提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质用于存储计算机指令,所述计算机指令被处理器执行时,实现如问答社区专家推荐方法的指令。
实施例4
本发明实施例4提供一种计算机程序(产品),包括计算机程序,所述计算机程序当在一个或多个处理器上运行时,用于实现如上所述的问答社区专家推荐方法。
实施例5
本发明实施例5提供一种电子设备,包括:处理器、存储器以及计算机程序;其中,处理器与存储器连接,计算机程序被存储在存储器中,当电子设备运行时,所述处理器执行所述存储器存储的计算机程序,以使电子设备执行如上所述的问答社区专家推荐方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
上述虽然结合附图对本公开的具体实施方式进行了描述,但并非对本公开保护范围的限制,所属领域技术人员应该明白,在本发明公开的技术方案的基础上,本领域技术人员在不需要付出创造性劳动即可做出的各种修改或变形,都应涵盖在本发明的保护范围之内。
Claims (7)
1.一种问答社区专家推荐方法,其特征在于,包括:
获取问答社区上的目标问题;
利用预先训练好的推荐模型处理所述目标问题,得到所述目标问题在所述问答社区内对应的一个最优专家用户,作为目标专家用户;其中,
预先训练好的推荐模型由训练集训练得到;所述训练集包括:所述问答社区内的多个问题,以及标记某专家用户是所述多个问题中的某个问题的最优专家用户的标签,以及标记某专家用户不是所述多个问题中的某个问题的最优专家用户的标签;
将所述目标问题推荐给所述目标专家用户;
由训练集训练得到预先训练好的推荐模型时,确定某专家用户是否为某个问题的最优专家用户包括:
将所述某个问题数据进行向量化表示,得到该问题的显式表示向量;
将候选专家用户数据进行向量化表示,得到专家用户显式表示向量;
构建问题-专家用户交互网络,将所有候选问题集合和候选专家用户通过图结构进行隐式表示,从中得到问题隐式表示向量和候选专家用户隐式表示向量;
结合问题显式表示向量与问题隐式表示向量,得到问题最终表示向量;结合专家用户显式表示向量与专家用户隐式向量,得到专家用户最终表示向量;
基于问题最终表示向量和专家用户最终表示向量,计算候选专家用户为该某个问题的专家的概率得分,得分高的为该问题的最优专家用户;
由训练集训练得到预先训练好的推荐模型,包括,将训练集输入到基础的预测网络模型中进行训练,分别训练出若干个模型,选择效果最好的模型最为最终的预测模型;基础的预测网络模型包括用户编码器、问题编码器、图编码器和分类器;用户编码器的输出端、问题编码器的输出端和图编码器的输出端均与分类器的输入端连接;
图编码器包括两条并联支路;两条并联支路依次为,第八和第九条支路;第八条支路包括,依次连接的用户-问题交互二部图结构、第一随机游走单元结构和第一Word2vec结构模型;第九条支路包括,依次连接的用户-问题交互二部图结构、第二随机游走单元结构和第二Word2vec结构模型;
获取问题隐式表示向量和专家用户隐式表示向量包括:
基于构建的问题-专家用户交互网络,结合Deepwalk的邻域路由算法来迭代分析潜在的序列信息,生成问题语料库和专家用户语料库;
在生成的问题语料库、专家用户语料库上分别使用Word2vec学习隐式嵌入,最终生成问题隐式表示向量和专家用户隐式表示向量;
其中,
问题编码器生成的问题显式表示与图编码器生成的问题隐式表示结合,生成问题最终表示向量;
用户编码器生成的用户显式表示与图编码器生成的用户隐式表示结合,生成用户最终表示向量;
基于问题最终表示向量和用户最终表示向量,输出推荐的专家用户。
2.根据权利要求1所述的问答社区专家推荐方法,其特征在于,获取问题显式表示向量包括:
将问题标题文本信息进行词向量化嵌入,获取问题的标题表示向量;
将问题内容文本信息进行词向量化嵌入,获取问题的内容表示向量;
将问题标签信息进行词向量化嵌入,获取问题的标签表示向量;
将问题的标题表示向量、问题的内容表示向量和问题的标签表示向量进行拼接,得到最终的问题显式表示向量。
3.根据权利要求1所述的问答社区专家推荐方法,其特征在于,获取专家用户显式表示向量包括:
对候选专家用户的历史回答过的问题进行向量化表示,得到专家用户兴趣动态表示向量;
对候选专家用户的历史回答过的问题对应的用户回答进行向量化表示,得到专家用户专业知识动态表示向量;
对候选专家用户的标签信息进行向量化表示,得到专家用户长期兴趣表示向量;
将专家用户兴趣动态表示向量、专家用户专业知识动态表示向量和专家用户长期兴趣表示向量进行拼接,得到最终的专家用户显式表示向量。
4.根据权利要求1所述的问答社区专家推荐方法,其特征在于,计算概率得分包括:
对问题最终表示向量和专家用户最终表示向量进行点积;基于点积结果,比较问题最终表示向量和专家用户最终表示向量的相似度,判断当前用户是否会接受问题的邀请;依据相似度比较结果提取稠密信息;使用Sigmoid函数将数据结果映射到[0,1]之间,即为用户成为此问题专家的概率得分。
5.一种问答社区专家推荐系统,其特征在于,包括:
获取模块,用于获取问答社区上的目标问题;
配对模块,用于利用预先训练好的推荐模型处理所述目标问题,得到所述目标问题在所述问答社区内对应的一个最优专家用户,作为目标专家用户;其中,
预先训练好的推荐模型由训练集训练得到;所述训练集包括:所述问答社区内的多个问题,以及标记某专家用户是所述多个问题中的某个问题的最优专家用户的标签,以及标记某专家用户不是所述多个问题中的某个问题的最优专家用户的标签;
发送模块,用于将所述目标问题推荐给所述目标专家用户;
由训练集训练得到预先训练好的推荐模型时,确定某专家用户是否为某个问题的最优专家用户包括:
将所述某个问题数据进行向量化表示,得到该问题的显式表示向量;
将候选专家用户数据进行向量化表示,得到专家用户显式表示向量;
构建问题-专家用户交互网络,将所有候选问题集合和候选专家用户通过图结构进行隐式表示,从中得到问题隐式表示向量和候选专家用户隐式表示向量;
结合问题显式表示向量与问题隐式表示向量,得到问题最终表示向量;结合专家用户显式表示向量与专家用户隐式向量,得到专家用户最终表示向量;
基于问题最终表示向量和专家用户最终表示向量,计算候选专家用户为该某个问题的专家的概率得分,得分高的为该问题的最优专家用户;
由训练集训练得到预先训练好的推荐模型,包括,将训练集输入到基础的预测网络模型中进行训练,分别训练出若干个模型,选择效果最好的模型最为最终的预测模型;基础的预测网络模型包括用户编码器、问题编码器、图编码器和分类器;用户编码器的输出端、问题编码器的输出端和图编码器的输出端均与分类器的输入端连接;
图编码器包括两条并联支路;两条并联支路依次为,第八和第九条支路;第八条支路包括,依次连接的用户-问题交互二部图结构、第一随机游走单元结构和第一Word2vec结构模型;第九条支路包括,依次连接的用户-问题交互二部图结构、第二随机游走单元结构和第二Word2vec结构模型;
获取问题隐式表示向量和专家用户隐式表示向量包括:
基于构建的问题-专家用户交互网络,结合Deepwalk的邻域路由算法来迭代分析潜在的序列信息,生成问题语料库和专家用户语料库;
在生成的问题语料库、专家用户语料库上分别使用Word2vec学习隐式嵌入,最终生成问题隐式表示向量和专家用户隐式表示向量;
其中,
问题编码器生成的问题显式表示与图编码器生成的问题隐式表示结合,生成问题最终表示向量;
用户编码器生成的用户显式表示与图编码器生成的用户隐式表示结合,生成用户最终表示向量;
基于问题最终表示向量和用户最终表示向量,输出推荐的专家用户。
6.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质用于存储计算机指令,所述计算机指令被处理器执行时,实现如权利要求1-4任一项所述的问答社区专家推荐方法的指令。
7.一种电子设备,其特征在于,包括:处理器、存储器以及计算机程序;其中,处理器与存储器连接,计算机程序被存储在存储器中,当电子设备运行时,所述处理器执行所述存储器存储的计算机程序,以使电子设备执行如权利要求1-4任一项所述的问答社区专家推荐方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110661472.1A CN113254782B (zh) | 2021-06-15 | 2021-06-15 | 问答社区专家推荐方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110661472.1A CN113254782B (zh) | 2021-06-15 | 2021-06-15 | 问答社区专家推荐方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113254782A CN113254782A (zh) | 2021-08-13 |
CN113254782B true CN113254782B (zh) | 2023-05-05 |
Family
ID=77187943
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110661472.1A Active CN113254782B (zh) | 2021-06-15 | 2021-06-15 | 问答社区专家推荐方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113254782B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114139052B (zh) * | 2021-11-19 | 2022-10-21 | 北京百度网讯科技有限公司 | 用于智能推荐的排序模型训练方法、智能推荐方法及装置 |
CN114358891A (zh) * | 2022-03-17 | 2022-04-15 | 北京百度网讯科技有限公司 | 问题推送方法、装置、设备以及存储介质 |
CN114896384A (zh) * | 2022-06-14 | 2022-08-12 | 青岛科技大学 | 一种面向问答社区的问题回答专家跨域推荐方法及系统 |
CN115357783B (zh) * | 2022-08-01 | 2023-06-06 | 山东省计算中心(国家超级计算济南中心) | 一种基于结构化多兴趣协同的企业服务快讯推荐方法 |
CN115658936B (zh) * | 2022-12-29 | 2023-03-31 | 中国传媒大学 | 基于双层注意力模型的个性化节目推荐方法、系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109460520A (zh) * | 2019-01-21 | 2019-03-12 | 宿州学院 | 基于地理-社会关系与深隐式兴趣挖掘的兴趣点推荐方法 |
CN110704510A (zh) * | 2019-10-12 | 2020-01-17 | 中森云链(成都)科技有限责任公司 | 一种结合用户画像的题目推荐方法及系统 |
CN112256980A (zh) * | 2020-10-23 | 2021-01-22 | 辽宁工程技术大学 | 一种基于动态图注意力网络的多关系协同过滤推荐 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108804689B (zh) * | 2018-06-14 | 2020-10-16 | 合肥工业大学 | 面向问答平台的融合用户隐连接关系的标签推荐方法 |
CN109871439B (zh) * | 2019-02-18 | 2020-12-22 | 华南理工大学 | 一种基于深度学习的问答社区问题路由方法 |
CN111274497B (zh) * | 2020-01-22 | 2023-08-18 | 北京百度网讯科技有限公司 | 社区推荐及模型训练方法、装置、电子设备及存储介质 |
CN111767453A (zh) * | 2020-06-09 | 2020-10-13 | 上海森亿医疗科技有限公司 | 基于语义网的查询指令生成方法、装置、设备和存储介质 |
CN112100464B (zh) * | 2020-10-14 | 2022-09-02 | 济南大学 | 结合动态兴趣与专业知识的问答社区专家推荐方法及系统 |
CN112463981A (zh) * | 2020-11-26 | 2021-03-09 | 福建正孚软件有限公司 | 一种基于深度学习的企业内部经营管理风险识别提取方法及系统 |
CN112633973B (zh) * | 2020-12-18 | 2024-07-16 | 平安科技(深圳)有限公司 | 一种商品推荐方法及其相关设备 |
CN112559879B (zh) * | 2020-12-24 | 2023-10-03 | 北京百度网讯科技有限公司 | 兴趣模型训练方法、兴趣点推荐方法、装置和设备 |
-
2021
- 2021-06-15 CN CN202110661472.1A patent/CN113254782B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109460520A (zh) * | 2019-01-21 | 2019-03-12 | 宿州学院 | 基于地理-社会关系与深隐式兴趣挖掘的兴趣点推荐方法 |
CN110704510A (zh) * | 2019-10-12 | 2020-01-17 | 中森云链(成都)科技有限责任公司 | 一种结合用户画像的题目推荐方法及系统 |
CN112256980A (zh) * | 2020-10-23 | 2021-01-22 | 辽宁工程技术大学 | 一种基于动态图注意力网络的多关系协同过滤推荐 |
Also Published As
Publication number | Publication date |
---|---|
CN113254782A (zh) | 2021-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113254782B (zh) | 问答社区专家推荐方法及系统 | |
CN109376242B (zh) | 基于循环神经网络变体和卷积神经网络的文本分类方法 | |
CN111581401B (zh) | 一种基于深度相关性匹配的局部引文推荐系统及方法 | |
CN110032635B (zh) | 一种基于深度特征融合神经网络的问题对匹配方法和装置 | |
CN109271506A (zh) | 一种基于深度学习的电力通信领域知识图谱问答系统的构建方法 | |
CN110083700A (zh) | 一种基于卷积神经网络的企业舆情情感分类方法及系统 | |
CN110765775A (zh) | 一种融合语义和标签差异的命名实体识别领域自适应的方法 | |
CN113569001A (zh) | 文本处理方法、装置、计算机设备及计算机可读存储介质 | |
CN112307351A (zh) | 用户行为的模型训练、推荐方法、装置和设备 | |
CN112100464B (zh) | 结合动态兴趣与专业知识的问答社区专家推荐方法及系统 | |
Patterson et al. | AuDrA: An automated drawing assessment platform for evaluating creativity | |
CN117131933A (zh) | 一种多模态知识图谱建立方法及应用 | |
CN111797936B (zh) | 基于显著性检测和多层次特征融合的图像情感分类方法及装置 | |
CN113988079A (zh) | 一种面向低数据的动态增强多跳文本阅读识别处理方法 | |
CN118312167B (zh) | 基于低代码平台的套件机制实现方法及系统 | |
CN116028604A (zh) | 一种基于知识增强图卷积网络的答案选择方法及系统 | |
CN115398446A (zh) | 使用符号编程的机器学习算法搜索 | |
CN114048361B (zh) | 基于深度学习的众包软件开发者推荐方法 | |
CN116821294A (zh) | 一种基于隐式知识反刍的问答推理方法和装置 | |
CN113408721A (zh) | 神经网络结构搜索方法、装置、计算机设备和存储介质 | |
CN115934905A (zh) | 文档问答方法、装置、系统、电子设备及存储介质 | |
CN110727768B (zh) | 一种候选回答语句生成和自然语言选择方法及系统 | |
CN115619363A (zh) | 一种面试方法及装置 | |
Chetoui et al. | Course recommendation model based on Knowledge Graph Embedding | |
Kuo et al. | Enhancing Deep Knowledge Tracing via Diffusion Models for Personalized Adaptive Learning |
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 |