CN114999610A - 基于深度学习的情绪感知与支持的对话***构建方法 - Google Patents

基于深度学习的情绪感知与支持的对话***构建方法 Download PDF

Info

Publication number
CN114999610A
CN114999610A CN202210332004.4A CN202210332004A CN114999610A CN 114999610 A CN114999610 A CN 114999610A CN 202210332004 A CN202210332004 A CN 202210332004A CN 114999610 A CN114999610 A CN 114999610A
Authority
CN
China
Prior art keywords
conversation
reply
user
psychological
sep
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
CN202210332004.4A
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.)
East China Normal University
Original Assignee
East China Normal 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 East China Normal University filed Critical East China Normal University
Priority to CN202210332004.4A priority Critical patent/CN114999610A/zh
Publication of CN114999610A publication Critical patent/CN114999610A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H20/00ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance
    • G16H20/70ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance relating to mental therapies, e.g. psychological therapy or autogenous training
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Child & Adolescent Psychology (AREA)
  • Human Computer Interaction (AREA)
  • Developmental Disabilities (AREA)
  • Hospice & Palliative Care (AREA)
  • Psychiatry (AREA)
  • Psychology (AREA)
  • Social Psychology (AREA)
  • Epidemiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Primary Health Care (AREA)
  • Public Health (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于深度学习的情绪感知与支持的对话***构建方法,该方法包括构建对话策略选择模块、对话生成模块、心理状态认知模块和建议推荐模块。对话策略选择模块控制对话的过程,根据用户对话历史实时的选择对话策略;对话生成模块将用户对话历史、当前对话策略信息输入到解码器中,通过解码器生成回复语句;心理状态认知模块通过用户对话历史,对用户当前的心理认知状态进行分类;建议推荐模块根据用户心理认知状态以及对话历史,对知识库进行检索生成建议回复。该***通过引入自适应对话策略选择模块,构建了多种对话策略,并能够根据上下文选择对话策略,引导模型生成更具有同理心的回复内容,给予用户更加有效的情感支持。

Description

基于深度学习的情绪感知与支持的对话***构建方法
技术领域
本发明涉及对话推荐***技术领域,具体来说是通过对话历史,确定用户的心理认知情况并选择合适的对话策略,来生成更富有同理心的回复,以及从问答建议知识库中推荐最为合适的答案反馈给用户的一种基于深度学习的情绪感知与支持的对话***构建方法。
背景技术
对话***因其较高的商业价值而收到商业届以及学术届的广泛关注,近年来得益于网络数据的海量增长以及深度学习的发展,对话***也得到了更进一步的发展。
在疫情全球蔓延的背景下,近年来出现焦虑或抑郁等心理疾病的人数,远高于19年之前。但是心理咨询的昂贵收费、专业的心理咨询师紧缺等原因,导致很多人不能及时的治疗心理疾病。通过人工智能与心理结合,可以在一定程度上缓解心理健康资源的有限性与心理疾病患者需求的无限性之间的矛盾。人工智能研究至今,在深度学习、自然语言处理、情绪识别、计算机视觉等方面都有极大的进展,在对话***领域,尤其是智能问答和智能客服方面,已有广泛的应用。与此同时,以人工智能为核心技术的心理咨询***逐渐进入人们的视野,实验证明,结合了人工智能的心理咨询机器人能够在交互过程中感知用户的心理状态,一定程度上纾解用户的心理压力。
发明内容
本发明的目的是针对现有的对话***情感支持过程固定的问题,提出了一种基于深度学习的情绪感知与支持的对话***构建方法,该方法在助人技术理论指导下,构建了多种对话策略,并能够根据上下文、用户画像与当前情绪自适应选择对话策略,引导***生成更具有同理心的回复内容,给予用户更加有效的情感支持。
实现本发明目的的具体技术方案是:
一种基于深度学习的情绪感知与支持的对话***构建方法,该方法包括如下步骤:
该方法包括如下步骤:
1)建立对话策略选择模块
对话策略选择模块通过对话上下文历史动态的选择对话策略,训练对话策略选择模块的对话策略选择模型,需要应用到对话数据集,数据集中要求有多轮的对话历史,标注出用户心理认知状态类型,如是“拖延症”、“职业烦恼”、“学校霸凌”、“酗酒”、“抑郁症”、“学业压力”、“外表焦虑”、“睡眠问题”、“家庭冲突”、“友谊烦恼”、“爱情烦恼”、“家庭烦恼”、“成长烦恼”13种心理认知状态类型,并且每轮对话中都需标注出该轮对话中回复时所使用的对话策略;在该对话***中共设定“提问”、“情感反映”、“自我表露”、“肯定与安慰”、“给予建议”及“其他”6种对话策略;
对所述的对话数据集,设给定的对话上下文历史为{u1,r1,u2,r2,...,um,rm},其中i表示对话轮次,ui表示第i轮对话中的用户的语句,ri表示第i轮对话对中***回复的语句,给定对话策略{S1,S2,...,,Sm},给定用户心理认知状态O,给定当前的对话轮次i的条件下,选择最近的两轮对话作为用户当前对话历史,设为U={ui-2,ri-2,ui-1,ri-1,ui},不足两轮时则选择第1轮对话到当前轮次用户语句;
对当前对话历史U,按照对话历史顺序依次进行拼接,并通过独立标签[SEP]将不同的对话进行分隔,并在拼接的序列前添加标签[CLS],序列最后添加标签[SEP],得到拼接序列Ucat=[CLS]ui-2[SEP]ri-2[SEP]ui-1[SEP]ri-1[SEP]ui[SEP];将拼接序列Ucat作为输入,通过预训练好的TransformerEncoder模型对拼接序列Ucat进行编码,得到TransformerEncoder模型输出的编码序列
Figure BDA0003575393850000021
具体过程如下:
UE=Embedding(Ucat)
Figure BDA0003575393850000022
Encoder(UE)=Add&Norm(MultiHead(UE,UE,UE))
Add&Norm(x)=LayerNorm[FFN(x)+x]
FFN(x)=Relu(xW1+b1)W2+b2
MultiHead(Q,K,V)=LayerNorm(Concat(head1,…headh)WO+Q)
Figure BDA0003575393850000023
Figure BDA0003575393850000024
Embedding函数的功能是将输入序列转换成连续的嵌入矩阵,其中KT表示矩阵K的转置矩阵,dk是一个常数,大小取决于计算时矩阵Q的列数;Wi Q
Figure BDA0003575393850000025
是Attention 模块可学习的参数矩阵,每种共有h个,h为Attention模块数量,Wi Q
Figure BDA0003575393850000026
的下标i表示第i个Attention模块,上标Q、K、V表示分别对应矩阵是Q、K、V,WO是MultiHead 模块中一个可学习的参数矩阵,LayerNorm表示层归一化函数;W1、b1,W2、b2则分别表示两层前馈神经网络(Feed Forward Neural Networks,FFN)的可学习参数矩阵,选择 Relu作为激活函数;
得到编码序列
Figure BDA0003575393850000031
后,根据拼接序列Ucat中标签[CLS]的位置PCLS,取编码序列
Figure BDA0003575393850000032
的第PCLS位置的向量表示,作为当前历史对话的特征表示,记为
Figure BDA0003575393850000033
再将
Figure BDA0003575393850000034
输入到两层FFN和Softmax 层进行分类,得到对话策略为
Figure BDA0003575393850000035
i表示当前的对话轮次:
Figure BDA0003575393850000036
最后训练对话策略选择模块的损失计算函数为多分类的交叉熵损失函数:
Figure BDA0003575393850000037
其中i表示当前对话轮次,
Figure BDA0003575393850000038
表示对话策略的总数量,
Figure BDA0003575393850000039
表示第i轮对话中,预测第j种策略的得分,
Figure BDA00035753938500000310
是第i轮对话的第j种策略的真实标签,正样本标签为1,负样本标签为0;
在所述的对话数据集中共定义6种对话策略为,分别是“提问”、“情感反映”、“自我表露”、“肯定与安慰”、“给予建议”及“其他”;在对话策略
Figure BDA00035753938500000311
预测为“提问”、“情感反映”、“自我表露”、“肯定与安慰”或“其他”时,转入对话生成模块给予回复,若对话策略
Figure BDA00035753938500000312
预测为“给予建议”,则转入心理状态认知模块预测用户心理认知类型,并通过用户心理认知类型引导建议推荐模块进行回复;
2)建立对话生成模块
对话生成模块通过对话上下文历史和对话策略
Figure BDA00035753938500000313
引导生成回复。将最近的两轮对话作为对话历史与对话策略
Figure BDA00035753938500000314
进行拼接,设为
Figure BDA00035753938500000315
输入到预训练好的 Transformer Decoder中,将Decoder每一步结果进行输出,得到完整的回复Response;
USE=Embedding(Ucat)
Response=Decoder(USE)
Decoder(USE)=Add&Norm(MaskedMultiHead(USE,USE,USE))
MaskedMultiHead(Q,K,V)=LayerNorm(Concat(head1,…headh)Wo+Q)
Figure BDA00035753938500000316
Figure BDA0003575393850000041
MaskedMultiHead和MultiHead区别在于,计算Attention时,为确保对位置i的预测只能依赖于小于i位置的已知输出,所以把大于等于i位置的序列进行Mask操作,其中运算符⊙表示矩阵的对应位置相乘,Mask是一个幂零矩阵,主对角线上全为1;最后训练对话生成模块的损失计算函数为:
Figure BDA0003575393850000042
其中Tr表示真实回复ri的长度,i表示当前对话轮次,
Figure BDA0003575393850000043
表示第i轮对话中,真实回复ri的第j个回复字符,ri 1:j-1表示第i轮对话中,真实回复ri的第1个字符到第j-1个回复字符序列; 3)建立心理状态认知模块
心理状态认知模块通过用户对话历史帮助预测用户的心理认知情况,以引导建议推荐模块选择建议,并能减少知识库的检索范围,提高检索速度。对当前所有用户对话历史进行拼接,设为Ucur=[CLS]ui[SEP]ri-1[SEP]ui-1[SEP]...[SEP]u1[SEP]r1[SEP],其中i表示当前对话轮次,若拼接某对话轮次j的对话uj和回复rj后会导致序列Ucur长度超过512,则省略该轮次j的对话历史,且轮次j前的对话历史也都省略不做拼接,将Ucur输入到预训练好的Transformer Encoder中得到句级别特征表示,并通过FFN和Softmax层进行分类:
Figure BDA0003575393850000044
得到编码序列
Figure BDA0003575393850000045
后,根据拼接序列Ucur中标签[CLS]的位置PCLS,取编码序列
Figure BDA0003575393850000046
的第PCLS位置的向量表示,作为当前所有用户对话历史的特征表示,记为
Figure BDA0003575393850000047
再将
Figure BDA0003575393850000048
输入到两层FFN 和Softmax层中分类,预测得到用户当前的心理认知类型
Figure BDA0003575393850000049
Figure BDA00035753938500000410
最后训练心理状态认知模块的损失计算函数为多分类的交叉熵损失函数:
Figure BDA00035753938500000411
其中
Figure BDA00035753938500000412
表示心理认知状态类型的总数量,
Figure BDA00035753938500000413
表示预测第j种心理认知状态类型的得分,Oj表示第j种心理认知状态类型的真实标签,正样本标签为1,负样本标签为0;
4)建立建议推荐模块
建议推荐模块通过预测得到的用户心理认知状态
Figure BDA0003575393850000051
对心理问答建议知识库进行筛选,选择相关的候选建议,并通过对话上下文历史对候选建议进行打分,选择最高得分的建议进行回复。
建立建议推荐模块,需要使用问答建议知识库,问答建议知识库要求满足:问答建议知识库要求对于每一个问题,要求有多个回复,并且针对每个回复有一个得分,每一个问答对要标注该问题的用户心理认知状态类型。
将当前轮次对话中用户的语句作为关键句,即当前对话轮次j下的uj,并通过预训练语言模型转化为句向量,设为Ukey,同样也将问答建议知识库中的所有问题,通过预训练语言模型转化为向量表示;知识库为心理问答建议知识库,知识库中的原始数据来自于患者和心理咨询师的问答数据,并通过心理团队筛选,构成的一个心理问答建议知识库,知识库要求对于患者提出的一个问题,要求有多个回复;
在获取到用户的对话向量Ukey和在心理认知模块预测得到的心理认知类型
Figure BDA0003575393850000052
后,首先通过心理认知类型
Figure BDA0003575393850000053
对问答建议知识库的中问题进行筛选,选择相同心理认知类型的问题,并通过 Annoy工具对筛选问题的向量表示进行相似度匹配,选取最相似的10个问题,并将这些问题下的所有回复,记为候选回复集A,将候选回复集A中所有的候选回复Ai分别与关键句uj进行拼接,即[uj;Ai]=[CLS]uj[SEP]Ai[SEP],最后将所有拼接后的句子分别输入到由Transformer Encoder和Sigmoid函数构成的打分模型Score中进行打分评判,并回复用户得分最高的候选回复Ai
Figure BDA0003575393850000054
Scorei=Score(Ai)
Score(Ai)=Sigmoid(Encoder[uj;Ai])
Figure BDA0003575393850000055
其中
Figure BDA0003575393850000056
表示问答建议知识库,A表示利用Annoy工具检索出在问答建议知识库
Figure BDA0003575393850000057
中与关键句Ukey最相关的10个问题下的所有推荐回复;Scorei表示候选回复Ai与Ukey的得分,Abest表示得分最高的候选回复;
训练由Transformer Encoder和Sigmoid函数构成的打分模型Score,要对问答建议知识库的数据做预处理:首先对于问答建议知识库中的每一个问题语句Query的所有N条回复记为推荐回复Rpos,同时从其他问题的回复中随机不重复的选取N条回复记为不推荐回复Rneg,推荐回复Rpos和不推荐回复Rneg组成回复集记为R,然后再分别将问题语句和回复集R中所有的回复进行拼接,记为URi=[CLS]Query [SEP]Ri [SEP],Ri表示R中的第i条回复,当拼接的Ri属于推荐回复Rpos,设为正样本,记标签y=1,当拼接为不推荐回复Rneg,设为负样本,记标签y=0;
Scorei=Score(URi)
Score(URi)=Sigmoid(Encoder[Query;URi])
最后训练打分模型的损失计算函数为二分类交叉熵损失:
Figure BDA0003575393850000061
当前全球共同面临着大量精神健康问题人群与稀缺的心理咨询专业人士之间的矛盾,因此,积极推进人工智能参与帮助缓解心理问题是国内外共同关注的热点。相比于心理咨询师,心理咨询***具有以下特点:其一,它收费低,甚至是免费的;其二,咨询者更容易对“机器”放下心防,便于建立信任;其三,它能够以app的形式存在,真正做到随时随地一对一交互,能够在一定时间内,为大量的用户提供可以接触到有效的心理咨询。
心理咨询***可以在多种场景下发挥作用。比如教育场景中,可以在课外帮助学生疏导情绪,缓解学习和考试压力;面对职场,可以定期帮助职工缓解工作压力;在老年照护中心,可以进行情绪支持、提供陪伴;还可以在医院帮助病人减轻对疾病的焦虑。心理咨询***的应用场景多样,不仅能丰富使用者的日常生活,治愈心灵,有效改善心理健康,还能节省护理资源,减轻照顾者负担,且不受照顾者文化差异影响。未来,心理咨询***将致力于将高新的人工智能技术与权威的心理学者联合,探索创新服务模式和工作方式,让心理学理论知识与实践相结合,健全社会心理服务网络。这样能够有利于社会心理服务体系的建设,有利于民众日常心理测试和心理疏导,有利于社会民众健康心态意识的建立。
本发明旨在缓解心理咨询需求巨大与心理医生稀缺的矛盾,在情感计算理论、助人技术理论的指导下,研发出基于深度学习的情绪感知与支持对话***,利用人工智能来提供心理咨询,为需要的用户推荐相适应的心理问题解决方案,提供有效、便捷、费用低廉的情感支持。本发明的具体特色如下:
1)针对现有对话***情感支持过程固定的问题,该项目在助人技术理论指导下,构建了多种对话策略,并能够根据对话上下文自适应选择对话策略,引导对话生成模块生成更具有同理心的回复内容,给予用户更加有效的情感支持。
2)针对现有的心理咨询***在进行建议回复时回复质量往往存在问题,通过检索问答建议知识库,提供高质量的回复。
通过构建上述的***,可以为用户提供富有同理心的情绪感知与支持,有效缓解人们负面情绪的积累,一定程度上使得人们更加重视心理健康。
附图说明
图1为本发明流程图。
具体实施方式
以下结合具体实施例和附图,对本发明做进一步的详细说明。实施本发明的过程、条件、实验方法等,除以下专门提及的内容之外,均为本领域的普遍知识和公知常识,本发明没有特别限制的内容。
参阅图1,本发明主要包括以下步骤:
步骤一:根据用户对话历史,预测当前轮次的对话策略。
基于对话历史的自适应的选择对话策略以引导对话生成模块进行回复生成;
在对话策略选择模块共设定了“提问”、“情感反映”、“自我表露”、“肯定与安慰”、“给予建议”、“其他”6种对话策略。
对当前对话历史U,按照对话历史顺序依次进行拼接,并通过独立标签[SEP]将不同的对话进行分隔,并在拼接的序列前添加标签[CLS],序列最后添加标签[SEP],得到拼接序列Ucat=[CLS]ui-2[SEP]ri-2[SEP]ui-1[SEP]ri-1[SEP]ui[SEP];若拼接序列Ucat长度超过512,则对拼接序列进行截断,截断方式为整句的截断,依次考虑截断最先发生的对话,直到凭借序列长度不超过512;
其中对话策略选择模块中的Transformer Encoder通过中文的ERNIE预训练模型进行初始化。采用预训练加微调的方式训练,对Encoder初始化后,在对话数据集的全量数据上有监督的进行训练;
步骤二:根据步骤一预测的对话策略确定转入对话生成模块还是转入心理状态认知模块:
在对话策略预测为“提问”、“情感反映”、“自我表露”、“肯定与安慰”、“其他”情况下,通过对话生成模块给予用户回复,若对话策略预测为“给予建议”,则转入心理状态认知模块预测用户的心理认知状态。
1)对话生成模块通过用户对话历史和当前对话策略来生成回复内容。将最近的两轮对话作为对话历史与对话策略
Figure BDA0003575393850000081
进行拼接,设为
Figure BDA0003575393850000082
输入到预训练好的 Transformer Decoder中,将Decoder每一步结果进行输出,得到完整的回复Response;
其中,采用中文预训练模型Robetra对TransformerDecoder进行初始化;在训练阶段为了提高训练效果,拼接的对话策略为真实的对话策略Si,在测试阶段则拼接预测的对话策略
Figure BDA0003575393850000083
同对话策略模块的对拼接序列的截断方式一样,若拼接序列UScat长度超过512,则对拼接序列进行截断,截断方式为整句的截断,依次考虑截断最先发生的对话,直到凭借序列长度不超过512;
在对话生成模块采用中文预训练模型Robetra对TransformerDecoder初始化后,Decoder的输入中的注意力的mask矩阵,要采用causal mask矩阵,即限定只可看当前点前面的数据,不可看该点之后的数据,从矩阵上看,causalmask类似一个倒三角,下半部分为1,上半部分为0;同时Deocder的输出需要完成生成回复,所以需要在Deocder 后连接一个语言模型头,来完成生成工作。采用预训练加微调的方式训练,对Deocder 初始化后,在对话数据集的全量数据上有监督的进行训练;
2)心理状态认知模块,对当前所有用户对话历史进行拼接,设为 Ucur=[CLS]ui[SEP]ri-1[SEP]ui-1[SEP]...[SEP]u1[SEP]r1[SEP],i表示当前轮次,若拼接某对话轮次j的对话uj和回复rj后会导致序列Ucur长度超过512,则省略该轮次j的对话历史,且轮次j前的对话历史也都省略不做拼接,将Ucur输入到预训练好的Transformer Encoder中得到句级别特征表示,并通过FFN和Softmax层进行分类:
其中,在心理状态认知模块采用中文预训练模型BERT-Large对TransformerEncoder 进行初始化;采用预训练加微调的方式训练,对Encoder初始化后,在对话数据集的全量数据上有监督的进行训练;
3)对用户的心理认知情况进行分类后,进入到建议推荐模块,该模块通过预用户心理认知状态,对问答建议知识库进行筛选选择相关的候选回复,并通过用户的对话历史对候选建议进行打分,以回复得分最高的候选回复。
将当前轮次对话中用户的语句作为关键句,即当前对话轮次j下的uj,并通过预训练语言模型转化为句向量,设为Ukey,同样也将问答建议知识库中的所有问题,通过预训练语言模型转化为向量表示;
在获取到用户的对话向量Ukey和在心理认知模块预测得到的心理认知类型
Figure BDA0003575393850000091
后,首先通过心理认知类型
Figure BDA0003575393850000092
对问答建议知识库的中问题进行筛选,选择相同心理认知类型的问题,并通过 Annoy工具对筛选问题的向量表示进行相似度匹配,选取最相似的10个问题,并将这些问题下的所有回复,记为候选回复集A,将候选回复集A中所有的候选回复Ai分别与关键句uj进行拼接,即[uj;Ai]=[CLS]uj[SEP]Ai[SEP],最后将所有拼接后的句子分别输入到由Transformer Encoder和Sigmoid函数构成的打分模型Score中进行打分评判,并回复用户得分最高的候选回复Ai
Figure BDA0003575393850000093
Scorei=Score(Ai)
Score(Ai)=Sigmoid(Encoder[uj;Ai])
Figure BDA0003575393850000094
其中,
Figure BDA0003575393850000095
表示问答建议知识库,A表示利用Annoy工具检索出在问答建议知识库
Figure BDA0003575393850000096
中与关键句Ukey最相关的10个问题下的所有推荐回复;Scorei表示候选回复Ai与Ukey的得分,Abest表示得分最高的候选回复。
训练由Transformer Encoder和Sigmoid函数构成的打分模型Score,需要对问答建议知识库的数据做预处理:首先对于问答建议知识库中的每一个问题语句Query的所有N条回复记为推荐回复Rpos,同时从其他问题的回复中随机不重复的选取N条回复记为不推荐回复 Rneg,推荐回复Rpos和不推荐回复Rneg组成回复集记为R,然后再分别将问题语句和回复集R 中所有的回复进行拼接,记为URi=[CLS]Query[SEP]Ri[SEP],Ri表示R中的第i条回复,当拼接的Ri属于推荐回复Rpos,设为正样本,记标签y=1,当拼接为不推荐回复Rneg,设为负样本,记标签y=0;采用预训练模型BERT-Large对Transformer Encoder进行初始化,通过预训练加微调的方式训练,对Encoder初始化后,在对话数据集的全量数据上有监督的进行训练;
Scorei=Score(URi)
Score(URi)=Sigmoid(Encoder[Query;URi])
最后训练打分模型的损失计算函数为二分类交叉熵损失:
Figure BDA0003575393850000101

Claims (1)

1.一种基于深度学习的情绪感知与支持的对话***构建方法,其特征在于,该方法包括如下步骤:
1)建立对话策略选择模块
使用对话数据集,对话数据集要满足:每条数据要有多轮的对话历史,且在每轮对话中要标注出该轮对话中回复时所使用的对话策略,并且要标注出用户心理认知状态类型;
对所述的对话数据集,设给定的对话上下文历史为{u1,r1,u2,r2,...,um,rm},其中i表示对话轮次,ui表示第i轮对话中的用户的语句,ri表示第i轮对话对中***回复的语句,给定对话策略{S1,S2,...,Sm},给定用户心理认知状态O,给定当前的对话轮次i的条件下,选择最近的两轮对话作为用户当前对话历史,设为U={ui-2,ri-2,ui-1,ri-1,ui},不足两轮时则选择第1轮对话到当前轮次对话语句;
对当前对话历史U,按照对话历史顺序依次进行拼接,并通过独立标签[SEP]将不同的对话进行分隔,并在拼接的序列前添加标签[CLS],序列最后添加标签[SEP],得到拼接序列Ucat=[CLS]ui-2[SEP]ri-2[SEP]ui-1[SEP]ri-1[SEP]ui[SEP];将拼接序列Ucat作为输入,通过预训练好的TransformerEncoder模型对拼接序列Ucat进行编码,得到TransformerEncoder模型输出的编码序列
Figure FDA0003575393840000011
具体过程如下:
UE=Embedding(Ucat)
Figure FDA0003575393840000012
Encoder(UE)=Add&Norm(MultiHead(UE,UE,UE))
Add&Norm(x)=LayerNorm[FFN(x)+x]
FFN(x)=Relu(xW1+b1)W2+b2
MultiHead(Q,K,V)=LayerNorm(Concat(head1,...headh)WO+Q)
headi=Attention(QWi Q,KWi K,VWi V)
Figure FDA0003575393840000013
Embedding函数的功能是将输入序列转换成连续的嵌入矩阵,其中KT表示矩阵K的转置矩阵,dk是一个常数,大小取决于计算时矩阵Q的列数;Wi Q、Wi K、Wi V是Attention模块可学习的参数矩阵,每种共有h个,h为Attention模块数量,Wi Q、Wi K、Wi V的下标i表示第i个Attention模块,上标Q、K、V表示分别对应矩阵是Q、K、V,WO是MultiHead模块中一个可学习的参数矩阵,LayerNorm表示层归一化函数;W1、b1,W2、b2则分别表示两层前馈神经网络(Feed Forward Neural Networks,FFN)的可学习参数矩阵,选择Relu作为激活函数;
得到编码序列
Figure FDA0003575393840000021
后,根据拼接序列Ucat中标签[CLS]的位置PCLS,取编码序列
Figure FDA0003575393840000022
的第PCLS位置的向量表示,作为当前历史对话的特征表示,记为
Figure FDA0003575393840000023
再将
Figure FDA0003575393840000024
输入到两层FFN和Softmax层进行分类,得到对话策略为
Figure FDA0003575393840000025
i表示当前的对话轮次:
Figure FDA0003575393840000026
最后训练对话策略选择模块的损失计算函数为多分类的交叉熵损失函数:
Figure FDA0003575393840000027
其中i表示当前对话轮次,
Figure FDA0003575393840000028
表示对话策略的总数量,
Figure FDA0003575393840000029
表示第i轮对话中,预测第j种策略的得分,
Figure FDA00035753938400000210
是第i轮对话的第j种策略的真实标签,正样本标签为1,负样本标签为0;
在所述的对话数据集中共定义6种对话策略,分别是“提问”、“情感反映”、“自我表露”、“肯定与安慰”、“给予建议”及“其他”;在对话策略
Figure FDA00035753938400000215
预测为“提问”、“情感反映”、“自我表露”、“肯定与安慰”或“其他”时,转入对话生成模块给予回复,若对话策略
Figure FDA00035753938400000211
预测为“给予建议”,则转入心理状态认知模块预测用户心理认知类型,并通过用户心理认知类型引导建议推荐模块进行回复;
2)建立对话生成模块
将最近的两轮对话作为对话历史与对话策略
Figure FDA00035753938400000212
进行拼接,设为
Figure FDA00035753938400000213
输入到预训练好的Transformer Decoder中,将Decoder每一步结果进行输出,得到完整的回复Response;
USE=Embedding(Ucat)
Response=Decoder(USE)
Decoder(USE)=Add&Norm(MaskedMultiHead(USE,USE,USE))
MaskedMultiHead(Q,K,V)=LayerNorm(Concat(head1,,...headh)WO+Q)
headi=MaskedAttention(QWi Q,KWi K,VWi V)
Figure FDA00035753938400000214
MaskedMultiHead和MultiHead区别在于,计算Attention时,为确保对位置i的预测只能依赖于小于i位置的已知输出,所以把大于等于i位置的序列进行Mask操作,其中运算符⊙表示矩阵的对应位置相乘,Mask是一个幂零矩阵,主对角线上全为1;
最后训练对话生成模块的损失计算函数为:
Figure FDA0003575393840000031
其中Tr表示真实回复ri的长度,i表示当前对话轮次,ri j表示第i轮对话中,真实回复ri的第j个回复字符,ri 1:j-1表示第i轮对话中,真实回复ri的第1个字符到第j-1个回复字符序列;
3)建立心理状态认知模块
对当前所有用户对话历史进行拼接,设为Ucur=[CLS]ui[SEP]ri-1[SEP]ui-1[SEP]...[SEP]u1[SEP]r1[SEP],i表示当前轮次,若拼接某对话轮次j的对话uj和回复rj后会导致序列Ucur长度超过512,则省略该轮次j的对话历史,且轮次j前的对话历史也都省略不做拼接,将Ucur输入到预训练好的Transformer Encoder中得到句级别特征表示,并通过FFN和Softmax层进行分类:
Figure FDA0003575393840000032
得到编码序列
Figure FDA0003575393840000033
后,根据拼接序列Ucur中标签[CLS]的位置PCLS,取编码序列
Figure FDA0003575393840000034
的第PCLS位置的向量表示,作为当前所有用户对话历史的特征表示,记为
Figure FDA0003575393840000035
再将
Figure FDA0003575393840000036
输入到两层FFN和Softmax层中分类,预测得到用户当前的心理认知类型
Figure FDA0003575393840000037
Figure FDA0003575393840000038
最后训练心理状态认知模块的损失计算函数为多分类的交叉熵损失函数:
Figure FDA0003575393840000039
其中
Figure FDA00035753938400000310
表示心理认知状态类型的总数量,
Figure FDA00035753938400000311
表示预测第j种心理认知状态类型的得分,Oj表示第j种心理认知状态类型的真实标签,正样本标签为1,负样本标签为0;
4)建立建议推荐模块
使用问答建议知识库,问答建议知识库要满足:问答建议知识库中每一个问题,有多个回复,每一个问答对要标注该问题的用户心理认知状态类型;
将当前轮次对话中用户的语句作为关键句,即当前对话轮次j下的uj,并通过预训练语言模型转化为句向量,设为Ukey,同样也将问答建议知识库中的所有问题,通过预训练语言模型转化为向量表示;
在获取到用户的对话向量Ukey和在心理认知模块预测得到的心理认知类型
Figure FDA0003575393840000041
后,首先通过心理认知类型
Figure FDA0003575393840000042
对问答建议知识库中的问题进行筛选,选择相同心理认知类型的问题,并通过Annoy工具对筛选问题的向量表示进行相似度匹配,选取最相似的10个问题,并将这些问题下的所有回复,记为候选回复集A,将候选回复集A中所有的候选回复Ai分别与关键句uj进行拼接,即[uj;Ai]=[CLS]uj[SEP]Ai[SEP],最后将所有拼接后的句子分别输入到由Transformer Encoder和Sigmoid函数构成的打分模型Score中进行打分评判,并回复用户得分最高的候选回复Ai
Figure FDA0003575393840000043
Scorei=Score(Ai)
Score(Ai)=Sigmoid(Encoder[uj;Ai])
Figure FDA0003575393840000044
其中
Figure FDA0003575393840000045
表示问答建议知识库,A表示利用Annoy工具检索出在问答建议知识库
Figure FDA0003575393840000046
中与关键句Ukey最相关的10个问题下的所有推荐回复;Scorei表示候选回复Ai与Ukey的得分,Abest表示得分最高的候选回复;
训练由Transformer Encoder和Sigmoid函数构成的打分模型Score,要对问答建议知识库的数据做预处理:首先对于问答建议知识库中的每一个问题语句Query的所有N条回复记为推荐回复Rpos,同时从其他问题的回复中随机不重复的选取N条回复记为不推荐回复Rneg,推荐回复Rpos和不推荐回复Rneg组成回复集记为R,然后再分别将问题语句和回复集R中所有的回复进行拼接,记为URi=[CLS]Query[SEP]Ri[SEP],Ri表示R中的第i条回复,当拼接的Ri属于推荐回复Rpos,设为正样本,记标签y=1,当拼接为不推荐回复Rneg,设为负样本,记标签y=0;
Scorei=Score(URi)
Score(URi)=Sigmoid(Encoder[Query;URi])
最后训练打分模型的损失计算函数为二分类交叉熵损失:
Figure FDA0003575393840000047
CN202210332004.4A 2022-03-31 2022-03-31 基于深度学习的情绪感知与支持的对话***构建方法 Pending CN114999610A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210332004.4A CN114999610A (zh) 2022-03-31 2022-03-31 基于深度学习的情绪感知与支持的对话***构建方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210332004.4A CN114999610A (zh) 2022-03-31 2022-03-31 基于深度学习的情绪感知与支持的对话***构建方法

Publications (1)

Publication Number Publication Date
CN114999610A true CN114999610A (zh) 2022-09-02

Family

ID=83023386

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210332004.4A Pending CN114999610A (zh) 2022-03-31 2022-03-31 基于深度学习的情绪感知与支持的对话***构建方法

Country Status (1)

Country Link
CN (1) CN114999610A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116483981A (zh) * 2023-06-16 2023-07-25 北京好心情互联网医院有限公司 对话生成方法、装置、设备及存储介质
CN116501852A (zh) * 2023-06-29 2023-07-28 之江实验室 一种可控对话模型训练方法、装置、存储介质及电子设备
CN117828063A (zh) * 2024-01-10 2024-04-05 广东数业智能科技有限公司 一种心理领域数据生成、模型训练方法、装置及存储介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116483981A (zh) * 2023-06-16 2023-07-25 北京好心情互联网医院有限公司 对话生成方法、装置、设备及存储介质
CN116501852A (zh) * 2023-06-29 2023-07-28 之江实验室 一种可控对话模型训练方法、装置、存储介质及电子设备
CN116501852B (zh) * 2023-06-29 2023-09-01 之江实验室 一种可控对话模型训练方法、装置、存储介质及电子设备
CN117828063A (zh) * 2024-01-10 2024-04-05 广东数业智能科技有限公司 一种心理领域数据生成、模型训练方法、装置及存储介质
CN117828063B (zh) * 2024-01-10 2024-05-17 广东数业智能科技有限公司 一种心理领域数据生成、模型训练方法、装置及存储介质

Similar Documents

Publication Publication Date Title
CN109885672B (zh) 一种面向在线教育的问答式智能检索***及方法
CN110781680B (zh) 基于孪生网络和多头注意力机制的语义相似度匹配方法
Cuayáhuitl et al. Ensemble-based deep reinforcement learning for chatbots
CN110175227B (zh) 一种基于组队学习和层级推理的对话辅助***
US10860630B2 (en) Methods and systems for generating and traversing discourse graphs using artificial neural networks
CN114999610A (zh) 基于深度学习的情绪感知与支持的对话***构建方法
Weber et al. Pedagogical Agents for Interactive Learning: A Taxonomy of Conversational Agents in Education.
CN111275401B (zh) 一种基于位置关系的智能面试方法及***
CN110569356B (zh) 基于智能面试交互***的面试方法、装置和计算机设备
CN110532363B (zh) 一种基于决策树的任务导向型自动对话方法
Juan et al. Particle swarm optimization neural network for research on artificial intelligence college English classroom teaching framework
CN117609486B (zh) 一种心理领域智能对话***
CN113672720A (zh) 一种基于知识图谱和语义相似度的电力审计问答方法
CN116741411A (zh) 一种基于医疗大数据分析的智慧健康科普推荐方法、***
Catterall Using computer programs to code qualitative data
Chandiok et al. CIT: Integrated cognitive computing and cognitive agent technologies based cognitive architecture for human-like functionality in artificial systems
CN117438047A (zh) 心理咨询模型训练和心理咨询处理方法、装置及电子设备
Kaiss et al. Effectiveness of an Adaptive Learning Chatbot on Students’ Learning Outcomes Based on Learning Styles.
Aggarwal A review of ChatGPT and its impact in different domains
Day et al. AI customer service system with pre-trained language and response ranking models for university admissions
CN117592489A (zh) 一种利用大语言模型实现电商商品信息交互的方法及***
CN113011196A (zh) 一种概念增强表示与单向蕴含注意力的主观题自动阅卷神经网络模型
Nair HR based Chatbot using deep neural network
GUO et al. Design and implementation of intelligent medical customer service robot based on deep learning
Wang et al. Construction of a novel production develop decision model based on text mined

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