CN115408603A - 一种基于多头自注意力机制的在线问答社区专家推荐方法 - Google Patents

一种基于多头自注意力机制的在线问答社区专家推荐方法 Download PDF

Info

Publication number
CN115408603A
CN115408603A CN202210889993.7A CN202210889993A CN115408603A CN 115408603 A CN115408603 A CN 115408603A CN 202210889993 A CN202210889993 A CN 202210889993A CN 115408603 A CN115408603 A CN 115408603A
Authority
CN
China
Prior art keywords
user
question
vector
word
sequence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210889993.7A
Other languages
English (en)
Inventor
林耿
陈颖婷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Minjiang University
Original Assignee
Minjiang University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Minjiang University filed Critical Minjiang University
Priority to CN202210889993.7A priority Critical patent/CN115408603A/zh
Publication of CN115408603A publication Critical patent/CN115408603A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Data Mining & Analysis (AREA)
  • Biomedical Technology (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于多头自注意力机制的在线问答社区专家推荐方法,涉及智能推荐技术领域。本发明提出的方法,核心在于构建的问题编码器和用户编码器,问题编码器由卷积神经网络和注意力机制组成,用于处理目标问题和用户历史回答问题,提取问题特征;用户编码器则是利用多头自注意力机制学***台提供准确、个性、实时的推荐服务,提高问题解答率。

Description

一种基于多头自注意力机制的在线问答社区专家推荐方法
技术领域
本发明涉及智能推荐技术领域,特别涉及一种基于多头自注意力机制的在线问答社区专家推荐方法。
背景技术
随着互联网的普及,在线问答社区成为重要的知识共享平台,然而,随着平台数据量的爆发式增长,如何将海量问题有效地推荐给专家用户得到解答是平台面临的严峻挑战。
常用的专家推荐方法主要有链接分析法和文本分析法。链接分析法是通过社区用户的问答关系发现专家,代表方法:网页排序法和超链接主题搜索法。文本分析法则是针对用户的解答记录进行建模,挖掘用户兴趣,计算兴趣标签和问题标签的匹配度,代表方法:概率潜在语义分析模型和潜在狄利克雷特分布主题模型。另外,一些工作将专家推荐问题转化为分类问题,利用机器学习中的决策树和支持向量机来解决问题,可以将多方面的特征应用于专家推荐。上述这些方法的缺点是:1.依赖人工构建的复杂特征质量,阻碍了推荐的可扩展性。2.难以学习到抽象的高阶特征交互信息。3.不能融入图像、文本等异构多源信息,数据挖掘不充分。
近年来,深度学习技术不断发展,其优势在于使机器像人类一样学习并处理复杂问题,通过深度网络结构提取高阶特征交互信息,无需手动构建复杂特征。而在深度学习方法的专家推荐应用中,最为流行的是卷积神经网络(CNN)和循环神经网络(RNN)。CNN擅长学习输入文本的上下文特征信息,利用CNN将用户兴趣和给定问题词嵌入特征表示,再通过软磁层输出结果,预测用户是否专家用户。RNN则是擅长处理时间序列特征,学习序列间的依赖关系,通过将用户历史解答信息抽象为序列信息,输入RNN中捕获用户的动态兴趣变化,该方法的代表模型有长短期记忆网络、门控循环网络等。上述方法的缺点为:1.忽略实际场景下的用户短期兴趣漂移,没有充分考虑用户的个性化需求,这会影响到推荐质量。2.RNN因其特有的顺序结构,只能逐个计算,不能并行计算,且容易丢失序列前端信息,影响到推荐的准确度。因此,现有的专家推荐方法往往忽略用户的动态兴趣变化,不能很好地提取动态兴趣特征,降低了推荐的准确度。
发明内容
本发明要解决的技术问题,在于提供一种基于多头自注意力机制的在线问答社区专家推荐方法,通过多头自注意力机制提取用户的动态兴趣表征,根据用户的历史回答问题序列动态地捕捉用户的短期兴趣变化,为在线问答社区提供准确、个性、实时的专家推荐服务,提高问题解答率。
为了解决上述技术问题,本发明是这样实现的:
一种基于多头自注意力机制的在线问答社区专家推荐方法,包括:问题编码器构建过程、用户编码器构建过程、预测器构建过程、深度学习模型训练过程以及预测过程;
所述问题编码器构建过程包括:对问题进行特征编码,提取问题标题和问题主题中的信息作为问题标签,将其与专家用户的兴趣标签进行匹配;将数据集中的所有问题记录进行训练,构造出问题编码器;
所述用户编码器构建过程包括:对用户的历史回答问题序列和用户关注主题进行特征编码;利用多头自注意力机制从历史回答问题序列中提取用户的动态兴趣特征信息,再从用户关注主题中提取用户的静态兴趣特征信息,将用户的动态兴趣表示向量和静态兴趣表示向量进行拼接,获取用户的综合表示向量;
所述预测器构建过程包括:对给定的问题和邀请用户,通过计算目标问题的表示向量和邀请用户的综合表示向量的相似度,判断当前用户是否会接受该问题的邀请;
所述深度学习模型训练过程包括:采集问答社区的训练数据,通过用户-问题的邀请记录结合用户画像和用户回答记录以及问题的描述信息构建训练样本,样本标签标注为0或1,将专家识别问题转化为分类问题;利用训练样本对模型进行训练,获得训练后的模型;
所述预测过程包括:对给定的问题和邀请用户,通过训练后的模型计算目标问题的表示向量和邀请用户的表示向量的相似度,判断当前用户是否会接受该问题的邀请,从而产生专家推荐结果。
进一步地,所述问题编码器构建过程具体包括:
步骤A1、通过嵌入层,对问题的标题分词,并进行词嵌入表示,将其转换为隐含语义空间的词向量表示;
假设问题标题w中的词为w=[w1,w2,...wl],l代表w的长度,转化后的词向量表示为:
W=embedding(w)=[W1,W2,…,Wl]
步骤A2、利用CNN捕捉局部语义信息学习上下文词的表示;
假设隐含上下文词表示的标题词向量记为ci,其计算公式为:
ci=relu(C×W[i-M,i+M]+b)
其中,非线性激活函数relu(·)的公式为relu(x)=max(0,x),W[i-M,i+M]指位于i-M和i+M间的词嵌入连接,C和b是卷积神经网络的滤波器参数,M为1;
步骤A3、通过注意力机制来分配标题词的权重;
假设第i个词的注意力权重为ai,其计算公式为:
αi=tanh(v×ci+vb)
Figure BDA0003767182060000031
其中,tanh(·)函数公式为
Figure BDA0003767182060000032
ai是注意力机制产生的中间变量,v和vb是可训练参数;
问题标题的表征向量是由CNN所得的上下文词表示,经由注意力权重加权所得的,其计算公式为
Figure BDA0003767182060000033
步骤A4、对问题所属主题进行分词,并进行词嵌入表示,将其转换为隐含语义空间的词向量表示;
假设问题主题t中的词为t=[t1,t2,...tl],l代表t的长度,转化后的词向量表示为:
T=embedding(t)=[T1,T2,…,Tl]
步骤A5、对一个问题所属主题的词向量进行全局平均池化,获取平均词向量et来表示该问题的主题信息,其计算公式为:
et=VGAPT
步骤A6、对每个问题,执行上述步骤,产生该问题的标题和所属主题的向量表示,再通过向量拼接产生最终的问题向量表示e,如下式:
e=[ew,et]。
进一步地,所述用户编码器构建过程具体包括:
步骤B1、挖掘用户的历史回答问题序列信息,先将历史回答问题按时间先后排列;再利用上一节的问题编码器对序列中的每个问题进行处理,获取它们的问题向量表示;最后,得到序列E=[e1,e2,...,eL]T,L为序列长度;
步骤B2、多头自注意力机制通过加入位置向量P=[p(pos,0),p(pos,1),...,p(pos,2i),p(pos,2i+1)]T表示给序列中的问题表示向量添加时序信息,得到序列E'=[e1',e'2,...,e'L]T,其计算公式为:
Figure BDA0003767182060000041
E'=E+P
其中,pos是问题在序列中的位置,取值范围是[0,L],
Figure BDA0003767182060000042
dmodel即位置向量维度;
步骤B3、把序列E'输入多头自注意力机制网络结构来捕捉用户的动态兴趣变化,得到新的序列Z=[z1,z2,...,zL]T,每一个输出元素zi都是输入元素ei经过多头自注意力机制学习到的用户动态兴趣表示向量ud
步骤B4、通过用户关注的主题学习用户的长期兴趣表示向量;
从用户信息中提取用户关注主题d=[d1,d2,...,dJ],J表示关注的主题数量,先获取词嵌入表示,再进行全局平均池化,得到用户的静态兴趣表示向量us,其计算公式为:
Figure BDA0003767182060000051
步骤B5、将用户的短期动态兴趣表示向量和长期静态兴趣表示向量进行拼接,获取用户的综合表示向量,如下式:
us+d=[us,ud]。
进一步地,所述步骤B3中,多头自注意力机制网络包括多头自注意力网络层、第一残差连接和层标准化操作层,前馈神经网络层、第二残差连接和层标准化操作层以及全局平均池化层;所述多头自注意力网络层包括h个并行计算的自注意力网络;将所得的序列矩阵全局平均池化,获得用户的动态兴趣表示向量ud
进一步地,所述预测器对给定的问题和邀请用户,通过计算目标问题qx的表示向量etarget和邀请用户ux的综合表示向量us+d的相似度,判断当前用户是否会接受该问题的邀请,相似度计算公式为:
score(ux,qx)=sigmoid(us+d Tetarget)
其中,sigmoid(·)函数的公式为
Figure BDA0003767182060000052
其结果是取值范围在[0,1]的概率得分。
本发明实施例中提供的技术方案,至少具有如下技术效果或优点:
1、利用卷积神经网络和注意力机制对问题描述信息进行特征提取,卷积神经网络可以准确捕捉词的上下文信息,而注意力机制则对提取的特征赋予不同程度关注度。将两种方法结合构造问题编码器,既补充了预训练模型中遗忘的上下文信息,又强调了问题的重要信息,抑制了无关信息,提高了算法的准确性。
2、采用多头自注意力机制处理用户的历史回答问题序列,动态地捕捉用户历史行为中所蕴含的兴趣变化的特征信息。该结构特性既避免了序列前端信息的丢失,又可以学习丰富的特征信息。另外,结合用户的长期关注主题对应的嵌入表示,作为用户的静态兴趣表征,构造了可有效提取用户动静态兴趣的用户编码器。
3、使用预训练词嵌入模型获取问题主题和问题标题的词嵌入表示。将用户综合兴趣特征和目标问题特征进行点积运算,再通过全连接层获得相似度,产生推荐结果。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明方法的流程示意图;
图2为本发明算法的总体框架示意图;
图3为本发明问题编码器的结构示意图;
图4为本发明用户编码器的结构示意图;
图5为本发明多头自注意力机制网络结构示意图;
图6为本发明多头自注意力层的并行结构示意图。
具体实施方式
本发明实施例通过提供一种基于多头自注意力机制的在线问答社区专家推荐方法,通过多头自注意力机制提取用户的动态兴趣表征,根据用户的历史回答问题序列动态地捕捉用户的短期兴趣变化,为在线问答社区提供准确、个性、实时的专家推荐服务,提高问题解答率。
本发明实施例中的技术方案,总体思路如下:
针对用户的动态兴趣表征提取不足而导致的问答社区专家推荐准确度不足的问题,本发明提出了融合多头自注意力的问答社区专家推荐算法,其整体框架如图2所示,包含三个模块:问题编码器、用户编码器、预测器。在问题侧,采用卷积神经网络CNN和注意力机制Attention相结合的方法来构造问题编码器,来处理目标问题和用户历史回答问题,从问题标题和问题主题中提取对应的问题表征。在用户侧,构造可以同时提取用户静态兴趣和动态兴趣表征的用户编码器,其核心网络层是能捕捉用户动态兴趣的多头自注意力机制层;根据用户历史回答问题序列,采用多头自注意力机制学习序列中所蕴含的动态兴趣表征,然后结合用户的静态兴趣表征,得到用户的综合兴趣表征。最后,通过预测器,将目标问题表征和用户综合表征进行相似性计算产生推荐结果。
通过将问答社区的专家推荐问题定义为问题-用户的匹配问题,目标是通过训练集构建的模型获取问题-用户的匹配度,判断用户是否会接受某个问题的邀请。具体的问题描述为:假设Q表示问题集合,U表示用户集合,问题样本表示为qx,用户样本表示为ux,给定问题-邀请用户对为[qx,ux],标签为yx∈{0,1},其中0表示用户未接收问题邀请,1表示为用户接收邀请并回答,N个训练样本[qx,ux,yx]即构成训练数据集,利用训练数据集构建模型f,并定义损失函数优化模型,判断用户是否会接受某个问题的邀请,即标签yx为0或为1。
如图1所示,一种基于多头自注意力机制的在线问答社区专家推荐方法,包括:问题编码器构建过程、用户编码器构建过程、预测器构建过程、深度学习模型训练过程以及预测过程;
所述问题编码器构建过程包括:对问题进行特征编码,提取问题标题和问题主题中的信息作为问题标签,将其与专家用户的兴趣标签进行匹配;将数据集中的所有问题记录进行训练,构造出问题编码器;
所述用户编码器构建过程包括:对用户的历史回答问题序列和用户关注主题进行特征编码;利用多头自注意力机制从历史回答问题序列中提取用户的动态兴趣特征信息,再从用户关注主题中提取用户的静态兴趣特征信息,将用户的动态兴趣表示向量和静态兴趣表示向量进行拼接,获取用户的综合表示向量;
所述预测器构建过程包括:对给定的问题和邀请用户,通过计算目标问题的表示向量和邀请用户的综合表示向量的相似度,判断当前用户是否会接受该问题的邀请;
所述深度学习模型训练过程包括:采集问答社区的训练数据,通过用户-问题的邀请记录结合用户画像和用户回答记录以及问题的描述信息构建训练样本,样本标签标注为0或1,将专家识别问题转化为分类问题;利用训练样本对模型进行训练,获得训练后的模型;
所述预测过程包括:对给定的问题和邀请用户,通过训练后的模型计算目标问题的表示向量和邀请用户的表示向量的相似度,判断当前用户是否会接受该问题的邀请,从而产生专家推荐结果。
在一具体实施例中,各个过程的具体实现如下。
一、问题编码器构建阶段
1)通过嵌入层,对问题的标题分词,并进行词嵌入表示。将其转换为隐含语义空间的词向量表示。假设问题标题w中的词为w=[w1,w2,...wl],l代表w的长度,转化后的词向量表示为:
W=embedding(w)=[W1,W2,…,Wl] (1)
2)利用CNN捕捉局部语义信息学习上下文词的表示。假设隐含上下文词表示的标题词向量记为ci,其计算公式为:
ci=relu(C×W[i-M,i+M]+b) (2)
其中,非线性激活函数relu(·)的公式为relu(x)=max(0,x),W[i-M,i+M]指位于i-M和i+M间的词嵌入连接,C和b是卷积神经网络的滤波器参数,M为1。
3)通过注意力机制来分配标题词的权重。在一个问题标题中,不同的词有不同的信息量来代表问题。假设第i个词的注意力权重为ai,其计算公式为:
αi=tanh(v×ci+vb)(3)
Figure BDA0003767182060000081
其中,tanh(·)函数公式为
Figure DA00037671820655042198
ai是注意力机制产生的中间变量,v和vb是可训练参数。
问题标题的表征向量是由CNN所得的上下文词表示ci,经由注意力权重ai加权所得的ew,其计算公式为:
Figure BDA0003767182060000091
4)对问题所属主题进行分词,并进行词嵌入表示,将其转换为隐含语义空间的词向量表示。假设问题主题t中的词为t=[t1,t2,...tl],l代表t的长度,转化后的词向量表示为:
T=embedding(t)=[T1,T2,...,Tl] (6)
5)对一个问题所属主题的词向量进行全局平均池化,获取平均词向量et来表示该问题的主题信息,其计算公式为:
et=VGAPT (7)
6)对每个问题,执行上述步骤,产生该问题的标题和所属主题的向量表示,再通过向量拼接产生最终的问题向量表示e,如公式(8)所示:
e=[ew,et] (8)
构建问题编码器的总体流程如图3所示。
二、用户编码器构建阶段
1)挖掘用户的历史回答问题序列信息,先将历史回答问题按时间先后排列;再利用上一节的问题编码器对序列中的每个问题进行处理,获取它们的问题向量表示;最后,得到序列E=[e1,e2,...,eL]T,L为序列长度。
2)多头自注意力机制通过加入P=[p(pos,0),p(pos,1),...,p(pos,2i),p(pos,2i+1)]T这种位置向量表示给序列中的问题表示向量添加时序信息,得到序列E'=[e1',e'2,...,e'L]T,其计算公式为:
Figure BDA0003767182060000092
E'=E+P (10)
其中,pos是问题在序列中的位置,取值范围是[0,L],
Figure BDA0003767182060000093
dmodel即位置向量维度。
3)把序列E'输入多头自注意力机制网络结构来捕捉用户的动态兴趣变化,得到新的序列Z=[z1,z2,...,zL]T,每一个输出元素zi都是输入元素ei经过多头自注意力机制学***均池化层;其中,将残差连接和层标准化操作层其简记为Add&Norm层。
1多头自注意力网络层(MHA)
MHA层是由h个并行计算的自注意力(self attention)网络组成的,如图6所示。
a.首先初始化三个权重矩阵Wq、Wk、Wv,它们会随着模型训练优化和更新,将权重矩阵分别与矩阵E'相乘,计算得到矩阵Q、K、V,其公式为:
Q=E'Wq (11)
K=E'Wk (12)
V=E'Wv (13)
其中,Q表示查询矩阵,K表示键矩阵,V表示值矩阵,矩阵的每一行分别对应矩阵E'的每个问题表示向量的“查询”、“键”、“值”向量,Q和K的维度相等。
b.计算每个头的自注意力输出headi,其计算公式为:
Figure BDA0003767182060000101
其中,softmax(·)函数的作用是将矩阵进行归一化处理,
Figure BDA0003767182060000102
为缩放因子,作用是使得归一化的结果更稳定,其大小为K的维度。
c.并行地进行h次自注意力的计算,h表示头数,将每个头得到的自注意力矩阵拼接在一起,再乘以权重矩阵WY得到最终矩阵Y,其计算公式为:
Y=MHA(E')=concat(head1,head2,…,headh)WY (15)
其中,concat(·)函数的作用是将所有自注意力输出矩阵横向拼接,WY是线性变换矩阵。
2第一Add&Norm层
Add操作:
E'+MHA(E') (16)
Layer Normalization操作:
Y'=LayerNorm(E'+MHA(E')) (17)
3前馈神经网络层(FFN)
经过第一个全连接层使用relu(·)激活函数,其计算公式为:
F1=max(0,Y'*WY'+bY') (18)
经过第二个全连接层不使用激活函数,其计算公式为
Figure BDA0003767182060000111
其中,WY'和bY'为第一个全连接层的权重矩阵和偏置,是可训练参数,而
Figure BDA0003767182060000112
Figure BDA0003767182060000113
是第二个全连接层的权重矩阵和偏置,也是可训练参数。
4第二个Add&Norm层
Add操作:
E'+FFN(Y') (20)
Layer Normalization操作:
Z=LayerNorm(E'+FFN(Y')) (21)
最后,将所得的序列矩阵Z全局平均池化,获得用户的动态兴趣表示向量ud,其计算公式为:
Figure BDA0003767182060000114
4)用户关注的主题可以学***均池化,得到用户的静态兴趣表示us,其计算公式为:
Figure BDA0003767182060000115
5)将用户的短期动态兴趣表示向量和长期静态兴趣表示向量进行拼接,获取用户侧的最终表示向量,如公式(24)所示。
us+d=[us,ud] (24)
构建用户编码器的总体流程如图4所示。
三、预测器构建阶段
对给定的问题和邀请用户,通过计算目标问题qx的表示向量etarget和邀请用户ux的表示向量us+d的相似度,判断当前用户是否会接受该问题的邀请。相似度计算公式为:
score(ux,qx)=sigmoid(us+d Tetarget) (25)
其中,sigmoid(·)函数的公式为
Figure BDA0003767182060000121
其结果是取值范围在[0,1]的概率得分。
四、深度学习模型训练阶段
1)采集问答社区的训练数据,通过用户-问题的邀请记录结合用户画像和用户回答记录以及问题的描述信息构建训练样本,样本标签标注为0或1,将专家识别问题转化为分类问题,通过所提出的基于多头自注意力机制的CQA专家推荐方法进行智能处理。
2)利用该模型对训练样本进行训练,获得训练后的模型。模型参数设置为:词向量的嵌入维度为64维。CNN的过滤器数量为64,窗口滑动步长为1,窗口大小为3。多头自注意力网络设置为单层结构,有2个head,嵌入矩阵E大小为6×64。在最终的预测器模块中,全连接层结构为4层,其神经元节点大小逐层递减,分别为1024、512、256、128。批处理大小设置为2048,损失函数采用二元交叉熵,学习率为0.00001。
五、预测阶段
对给定的问题和邀请用户,通过训练后的模型计算目标问题的表示向量和邀请用户的表示向量的相似度,判断当前用户是否会接受该问题的邀请,从而产生专家推荐结果。
本发明利用卷积神经网络和注意力机制对问题描述信息进行特征提取,卷积神经网络可以准确捕捉词的上下文信息,而注意力机制则对提取的特征赋予不同程度关注度。将两种方法结合构造问题编码器,既补充了预训练模型中遗忘的上下文信息,又强调了问题的重要信息,抑制了无关信息,提高了算法的准确性;采用多头自注意力机制处理用户的历史回答问题序列,动态地捕捉用户历史行为中所蕴含的兴趣变化的特征信息。该结构特性既避免了序列前端信息的丢失,又可以学习丰富的特征信息。另外,结合用户的长期关注主题对应的嵌入表示,作为用户的静态兴趣表征,构造了可有效提取用户动静态兴趣的用户编码器;使用预训练词嵌入模型获取问题主题和问题标题的词嵌入表示。将用户综合兴趣特征和目标问题特征进行点积运算,再通过全连接层获得相似度,产生推荐结果。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。

Claims (5)

1.一种基于多头自注意力机制的在线问答社区专家推荐方法,其特征在于,包括:问题编码器构建过程、用户编码器构建过程、预测器构建过程、深度学习模型训练过程以及预测过程;
所述问题编码器构建过程包括:对问题进行特征编码,提取问题标题和问题主题中的信息作为问题标签,将其与专家用户的兴趣标签进行匹配;将数据集中的所有问题记录进行训练,构造出问题编码器;
所述用户编码器构建过程包括:对用户的历史回答问题序列和用户关注主题进行特征编码;利用多头自注意力机制从历史回答问题序列中提取用户的动态兴趣特征信息,再从用户关注主题中提取用户的静态兴趣特征信息,将用户的动态兴趣表示向量和静态兴趣表示向量进行拼接,获取用户的综合表示向量;
所述预测器构建过程包括:对给定的问题和邀请用户,通过计算目标问题的表示向量和邀请用户的综合表示向量的相似度,判断当前用户是否会接受该问题的邀请;
所述深度学习模型训练过程包括:采集问答社区的训练数据,通过用户-问题的邀请记录结合用户画像和用户回答记录以及问题的描述信息构建训练样本,样本标签标注为0或1,将专家识别问题转化为分类问题;利用训练样本对模型进行训练,获得训练后的模型;
所述预测过程包括:对给定的问题和邀请用户,通过训练后的模型计算目标问题的表示向量和邀请用户的表示向量的相似度,判断当前用户是否会接受该问题的邀请,从而产生专家推荐结果。
2.根据权利要求1所述的方法,其特征在于:所述问题编码器构建过程具体包括:
步骤A1、通过嵌入层,对问题的标题分词,并进行词嵌入表示,将其转换为隐含语义空间的词向量表示;
假设问题标题w中的词为w=[w1,w2,...wl],l代表w的长度,转化后的词向量表示为:
W=embedding(w)=[W1,W2,…,Wl]
步骤A2、利用CNN捕捉局部语义信息学习上下文词的表示;
假设隐含上下文词表示的标题词向量记为ci,其计算公式为:
ci=relu(C×W[i-M,i+M]+b)
其中,非线性激活函数relu(·)的公式为relu(x)=max(0,x),W[i-M,i+M]指位于i-M和i+M间的词嵌入连接,C和b是卷积神经网络的滤波器参数,M为1;
步骤A3、通过注意力机制来分配标题词的权重;
假设第i个词的注意力权重为ai,其计算公式为:
αi=tanh(v×ci+vb)
Figure FDA0003767182050000021
其中,tanh(·)函数公式为
Figure FDA0003767182050000022
ai是注意力机制产生的中间变量,v和vb是可训练参数;
问题标题的表征向量是由CNN所得的上下文词表示,经由注意力权重加权所得的,其计算公式为
Figure FDA0003767182050000023
步骤A4、对问题所属主题进行分词,并进行词嵌入表示,将其转换为隐含语义空间的词向量表示;
假设问题主题t中的词为t=[t1,t2,...tl],l代表t的长度,转化后的词向量表示为:
T=embedding(t)=[T1,T2,…,Tl]
步骤A5、对一个问题所属主题的词向量进行全局平均池化,获取平均词向量et来表示该问题的主题信息,其计算公式为:
et=VGAPT
步骤A6、对每个问题,执行上述步骤,产生该问题的标题和所属主题的向量表示,再通过向量拼接产生最终的问题向量表示e,如下式:
e=[ew,et]。
3.根据权利要求1所述的方法,其特征在于:所述用户编码器构建过程具体包括:
步骤B1、挖掘用户的历史回答问题序列信息,先将历史回答问题按时间先后排列;再利用上一节的问题编码器对序列中的每个问题进行处理,获取它们的问题向量表示;最后,得到序列E=[e1,e2,...,eL]T,L为序列长度;
步骤B2、多头自注意力机制通过加入位置向量P=[p(pos,0),p(pos,1),...,p(pos,2i),p(pos,2i+1)]T表示给序列中的问题表示向量添加时序信息,得到序列E'=[e′1,e'2,...,e'L]T,其计算公式为:
Figure FDA0003767182050000031
E'=E+P
其中,pos是问题在序列中的位置,取值范围是[0,L],
Figure FDA0003767182050000032
dmodel即位置向量维度;
步骤B3、把序列E'输入多头自注意力机制网络结构来捕捉用户的动态兴趣变化,得到新的序列Z=[z1,z2,...,zL]T,每一个输出元素zi都是输入元素ei经过多头自注意力机制学习到的用户动态兴趣表示向量ud
步骤B4、通过用户关注的主题学习用户的长期兴趣表示向量;
从用户信息中提取用户关注主题d=[d1,d2,...,dJ],J表示关注的主题数量,先获取词嵌入表示,再进行全局平均池化,得到用户的静态兴趣表示向量us,其计算公式为:
Figure FDA0003767182050000033
步骤B5、将用户的短期动态兴趣表示向量和长期静态兴趣表示向量进行拼接,获取用户的综合表示向量,如下式:
us+d=[us,ud]。
4.根据权利要求3所述的方法,其特征在于,所述步骤B3中,多头自注意力机制网络包括多头自注意力网络层、第一残差连接和层标准化操作层,前馈神经网络层、第二残差连接和层标准化操作层以及全局平均池化层;所述多头自注意力网络层包括h个并行计算的自注意力网络;将所得的序列矩阵全局平均池化,获得用户的动态兴趣表示向量ud
5.根据权利要求1所述的方法,其特征在于:所述预测器对给定的问题和邀请用户,通过计算目标问题qx的表示向量etarget和邀请用户ux的综合表示向量us+d的相似度,判断当前用户是否会接受该问题的邀请,相似度计算公式为:
score(ux,qx)=sigmoid(us+d Tetarget)
其中,sigmoid(·)函数的公式为
Figure FDA0003767182050000041
其结果是取值范围在[0,1]的概率得分。
CN202210889993.7A 2022-07-27 2022-07-27 一种基于多头自注意力机制的在线问答社区专家推荐方法 Pending CN115408603A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210889993.7A CN115408603A (zh) 2022-07-27 2022-07-27 一种基于多头自注意力机制的在线问答社区专家推荐方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210889993.7A CN115408603A (zh) 2022-07-27 2022-07-27 一种基于多头自注意力机制的在线问答社区专家推荐方法

Publications (1)

Publication Number Publication Date
CN115408603A true CN115408603A (zh) 2022-11-29

Family

ID=84157852

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210889993.7A Pending CN115408603A (zh) 2022-07-27 2022-07-27 一种基于多头自注意力机制的在线问答社区专家推荐方法

Country Status (1)

Country Link
CN (1) CN115408603A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117008494A (zh) * 2023-10-07 2023-11-07 深圳市北鼎科技有限公司 一种基于物联网的厨房家电智能控制方法及***
CN117725210A (zh) * 2023-11-16 2024-03-19 南京审计大学 一种面向社会化问答平台的恶意用户检测方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117008494A (zh) * 2023-10-07 2023-11-07 深圳市北鼎科技有限公司 一种基于物联网的厨房家电智能控制方法及***
CN117008494B (zh) * 2023-10-07 2024-03-22 深圳市北鼎科技有限公司 一种基于物联网的厨房家电智能控制方法及***
CN117725210A (zh) * 2023-11-16 2024-03-19 南京审计大学 一种面向社会化问答平台的恶意用户检测方法

Similar Documents

Publication Publication Date Title
CN110609891B (zh) 一种基于上下文感知图神经网络的视觉对话生成方法
CN109284506B (zh) 一种基于注意力卷积神经网络的用户评论情感分析***及方法
CN111414461B (zh) 一种融合知识库与用户建模的智能问答方法及***
CN113051916B (zh) 一种社交网络中基于情感偏移感知的交互式微博文本情感挖掘方法
CN113569001A (zh) 文本处理方法、装置、计算机设备及计算机可读存储介质
CN111897913A (zh) 基于语义树增强的复杂文本查询到视频的跨模态检索方法
CN111177376A (zh) 一种基于bert与cnn层级连接的中文文本分类方法
CN110765775A (zh) 一种融合语义和标签差异的命名实体识别领域自适应的方法
CN115408603A (zh) 一种基于多头自注意力机制的在线问答社区专家推荐方法
CN114693397B (zh) 一种基于注意力神经网络的多视角多模态商品推荐方法
CN113297364B (zh) 一种面向对话***中的自然语言理解方法及装置
CN116450796B (zh) 一种智能问答模型构建方法及设备
CN113626589B (zh) 一种基于混合注意力机制的多标签文本分类方法
CN112527966B (zh) 基于Bi-GRU神经网络和自注意力机制的网络文本情感分析方法
CN111581520A (zh) 基于会话中物品重要性的物品推荐方法和***
CN112131886A (zh) 一种文本的方面级别情感分析方法
CN112527993B (zh) 一种跨媒体层次化深度视频问答推理框架
CN113204633B (zh) 一种语义匹配蒸馏方法及装置
CN113255366B (zh) 一种基于异构图神经网络的方面级文本情感分析方法
CN112182154A (zh) 一种利用个人词向量消除关键词歧义的个性化搜索模型
Jha et al. A novel approach on visual question answering by parameter prediction using faster region based convolutional neural network
CN116341562A (zh) 一种基于Unilm语言模型的相似问题生成方法
CN113887836B (zh) 一种融合事件环境信息的叙述性事件预测方法
CN115062727A (zh) 一种基于多阶超图卷积网络的图节点分类方法及***
CN116303977A (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