CN116662515A - 检索式多轮对话方法及装置、存储介质、电子设备 - Google Patents

检索式多轮对话方法及装置、存储介质、电子设备 Download PDF

Info

Publication number
CN116662515A
CN116662515A CN202310706740.6A CN202310706740A CN116662515A CN 116662515 A CN116662515 A CN 116662515A CN 202310706740 A CN202310706740 A CN 202310706740A CN 116662515 A CN116662515 A CN 116662515A
Authority
CN
China
Prior art keywords
representation
dialogue
screening
statement
round
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
CN202310706740.6A
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.)
SHANDONG MENTEL HEALTH CENETER
Qilu University of Technology
Original Assignee
SHANDONG MENTEL HEALTH CENETER
Qilu University of Technology
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 SHANDONG MENTEL HEALTH CENETER, Qilu University of Technology filed Critical SHANDONG MENTEL HEALTH CENETER
Priority to CN202310706740.6A priority Critical patent/CN116662515A/zh
Publication of CN116662515A publication Critical patent/CN116662515A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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
    • 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/951Indexing; Web crawling techniques
    • 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/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0499Feedforward networks
    • 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
    • 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
    • G06N3/0985Hyperparameter optimisation; Meta-learning; Learning-to-learn
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

本发明公开了检索式多轮对话方法及装置、存储介质、电子设备,属于自然语言及人工智能领域,本发明要解决的技术问题为如何有效利用历史对话中的最后一句话对剩余历史对话序列完成语义匹配和信息筛选,同时对候选响应进行信息筛选,从而提高多轮对话模型的预测准确性,技术方案为:该方法具体如下:获取多轮对话数据集;构建多轮对话模型:针对多轮对话数据集中的每一条数据,将历史对话中的每个句子按照对话顺序依次标记构建历史对话序列,并针对每条历史对话序列构建候选响应;对历史对话序列中的每个语句和候选响应分别进行编码处理,从而得到历史对话中每条语句的编码表示和候选响应编码表示;训练多轮对话模型。

Description

检索式多轮对话方法及装置、存储介质、电子设备
技术领域
本发明涉及自然语言处理及人工智能领域,具体地说是一种检索式多轮对话方法及装置、存储介质、电子设备。
背景技术
据统计,各类精神病患者人数已超过1亿,其中,精神分裂症患者人数超过640万,双相情感障碍患者人数达110万。然而,对精神疾病的诊断和治疗严重不足,治疗率不到10%。心理卫生专家指出,最大的危害不是精神疾病本身,而是人们对待心里疾病的态度。简单点说,精神疾病患者往往不愿承认或面对自己患病这件事情,更会担心周围人知道自己患病。在这种情况下,病人往往不会向任何人吐露心声,从而导致病愈发严重。随着互联网技术的快速发展,对话问答技术也越发成熟。若能将对话问答技术用于患者病症咨询,则能有效降低患者对看精神科医生的排斥情绪,也能避免患者在真人面前谈论心理问题的病耻感。
对话问答技术包括单轮对话和多轮对话。由于一般患者缺乏专业的医学知识,往往无法一次性专业描述问题,因此,需要采用多轮对话技术识患者的描述,进而对患者的症状进行预测。在多轮对话任务里,历史对话中的最后一句话对于整段对话往往具有特殊的价值。一方面,它是由所有历史对话序列引出的句子,是历史对话序列的结果,即,它承接了上文;另一方面,它在逻辑一致性、语义连惯性等方面对于正确响应的选择所发挥的作用是最大的,即,它启发了下文。由于历史对话序列中的最后一句话作为分界点起着承上启下的作用,因此其对于历史对话以及候选响应的信息筛选都应发挥更大的作用。但是,现有方法并没有重视这个问题,这就导致现有模型的性能未能让人满意。
故如何有效利用历史对话中的最后一句话对剩余历史对话序列完成语义匹配和信息筛选,同时对候选响应进行信息筛选,从而提高多轮对话模型的预测准确性是目前亟待解决的技术问题。
发明内容
本发明的技术任务是提供一种检索式多轮对话方法及装置、存储介质、电子设备,来解决如何有效利用历史对话中的最后一句话对剩余历史对话序列完成语义匹配和信息筛选,同时对候选响应进行信息筛选,从而提高多轮对话模型的预测准确性的问题。
本发明的技术任务是按以下方式实现的,一种检索式多轮对话方法,该方法具体如下:
获取多轮对话数据集:使用爬虫技术在网上公共医疗问答平台爬取对话数据,得到多轮对话知识库;针对每条对话数据构建正例数据和负例数据,并按照设定比例划分训练集和测试集;
构建多轮对话模型:针对多轮对话数据集中的每一条数据,将历史对话中的每个句子按照对话顺序依次标记构建历史对话序列,并针对每条历史对话序列构建候选响应;对历史对话序列中的每个语句和候选响应分别进行编码处理,从而得到历史对话中每条语句的编码表示和候选响应编码表示;再以分界语句为界,对剩余对话语句中每个语句的编码表示分别进行语义匹配和信息筛选处理;同时对候选响应编码表示进行信息筛选处理,对自身完成信息筛选操作,通过聚合操作得到对话语义表示,将对话语义表示映射为指定区间上的一个浮点型数据,该浮点型数据作为该候选响应与历史对话的匹配度,再比较不同候选响应的匹配度,将匹配度最高的候选响应作为正确响应;
训练多轮对话模型:利用训练集训练多轮对话模型,并构建损失函数和优化函数,完成候选响应的预测。
作为优选,构建多轮对话模型具体如下:
构建输入数据:针对数据集中的每一条数据,将历史对话中的每个句子按照对话顺序构建历史对话序列,记为h1、h2、…、hn;在多个候选响应中选择一个响应作为当前响应,形式化为r;根据该条响应是否为正确响应,确定该条数据的标签,即,若该条响应是正确响应,则记为1;否则,则记为0;历史对话序列、当前响应及标签共同组成一条输入数据,形式为:(h1、h2、…、hn,r,标签);
编码处理:使用预训练语言模型BERT对输入数据分别进行编码处理,从而得到历史对话中每条语句的编码表示和候选响应编码表示,记为 和/>其中,/>是分界语句编码表示;/>为候选响应编码表示;公式如下:
其中,h1,h2,…,hn-1,hn表示历史对话中的语句1,语句2,…,语句n-1,语句n;r表示候选响应;
分界匹配筛选:以分界语句为界,将分界语句与剩余对话语句中每个句子的编码表示分别进行语义匹配计算,并按照各自与分界语句的匹配度完成信息筛选过程;同时使用交叉注意力机制完成分界语句对候选响应编码表示的信息筛选处理过程,并使用自注意力机制完成对自身信息的筛选过程;最终通过聚合操作得到对话语义表示;
标签预测:将对话语义表示经过一层维度为1,激活函数为Sigmoid的全连接网络处理,得到当前响应为正确响应的概率;
其中,当多轮对话模型尚未进行训练时,对多轮对话模型进行训练,以优化多轮对话模型的参数;
当多轮对话模型训练完毕时,预测候选响应中的哪一个是正确响应。
更优地,分界匹配筛选具体如下:
联接分界语句编码表示与编码表示1,再使用一层激活函数为Sigmoid的全连接网络Dense对联接结果进行映射,从而得到编码表示1与分界语句编码表示匹配度λ1;再对分界语句编码表示匹配度λ1与编码表示1执行乘运算,从而得到筛选表示1,记为公式如下:
其中,表示分界语句编码表示;/>表示编码表示1;
联接分界语句编码表示与编码表示2,再使用一层激活函数为Sigmoid的全连接网络Dense对联接结果进行映射,从而得到编码表示2与分界语句编码表示匹配度λ2;再对分界语句编码表示匹配度λ2与编码表示2执行乘运算,从而得到筛选表示2,记为公式如下:
其中,表示分界语句编码表示;/>表示编码表示2;
联接分界语句编码表示与编码表示3,后续操作过程与获得筛选表示2操作类似,从而得到筛选表示3,记为以此类推,直至联接分界语句编码表示与编码表示n-1,并执行与获得筛选表示2类似的操作后,得到筛选表示n-1,记为/>公式如下:
其中,表示分界语句编码表示;/>表示编码表示n-1;
通过加运算将筛选表示1~筛选表示n-1、关键信息表示和候选响应筛选表示进行聚合,从而得到对话语义表示,记为公式如下:
其中,分别表示筛选表示1、筛选表示2、…、筛选表示n-1;/>表示关键信息表示;/>表示候选响应筛选表示。
作为优选,训练多轮对话模型具体如下:
构建损失函数:采用交叉熵作为损失函数,公式如下:
其中,ytrue为真实的标签;ypred为多轮对话模型输出的正确概率;
构建优化函数:经过对多种优化函数进行测试,最终选择使用AdamW优化函数作为优化函数,除了其学习率设置为2e-5外,AdamW的其他超参数均选择pytorch中的默认值设置。
一种检索式多轮对话装置,该装置包括:
数据集获取单元,用于使用爬虫技术在网上公共医疗问答平台爬取对话数据,得到多轮对话知识库;针对每条对话数据构建正例数据和负例数据,并按照设定比例划分训练集和测试集;
多轮对话模型构建单元,用于针对多轮对话数据集中的每一条数据,将历史对话中的每个句子按照对话顺序依次标记构建历史对话序列,并针对每条历史对话序列构建候选响应;对历史对话序列中的每个语句和候选响应分别进行编码处理,从而得到历史对话中每条语句的编码表示和候选响应编码表示;再以分界语句为界,对剩余对话语句中每个语句的编码表示分别进行语义匹配和信息筛选处理;同时对候选响应编码表示进行信息筛选处理,对自身完成信息筛选操作,通过聚合操作得到对话语义表示,将对话语义表示映射为指定区间上的一个浮点型数据,该浮点型数据作为该候选响应与历史对话的匹配度,再比较不同候选响应的匹配度,将匹配度最高的候选响应作为正确响应;
多轮对话模型训练单元,用于利用训练集训练多轮对话模型,并构建损失函数和优化函数,完成候选响应的预测。
作为优选,所述多轮对话模型构建单元包括:
输入模块,用于预处理原始数据集,构建输入数据;
编码模块,用于使用预训练语言模型BERT对输入数据分别进行编码处理,从而得到历史对话中每条语句的编码表示和候选响应编码表示;
分界匹配筛选模块,用于以分界语句为界,将分界语句与剩余对话语句中每个句子的编码表示分别进行语义匹配计算,并按照各自与分界语句的匹配度完成信息筛选过程;同时使用交叉注意力机制完成分界语句对候选响应编码表示的信息筛选处理过程;最终通过聚合操作得到对话语义表示;
标签预测模块,用于基于对话语义表示判断当前响应是否为正确响应。
作为优选,所述分界匹配筛选模块的实现过程具体如下:
(1)、联接分界语句编码表示与编码表示1,再使用一层激活函数为Sigmoid的全连接网络Dense对联接结果进行映射,从而得到编码表示1与分界语句编码表示匹配度λ1;再对分界语句编码表示匹配度λ1与编码表示1执行乘运算,从而得到筛选表示1,记为公式如下:
其中,表示分界语句编码表示;/>表示编码表示1;
(2)、联接分界语句编码表示与编码表示2,再使用一层激活函数为Sigmoid的全连接网络Dense对联接结果进行映射,从而得到编码表示2与分界语句编码表示匹配度λ2;再对分界语句编码表示匹配度λ2与编码表示2执行乘运算,从而得到筛选表示2,记为公式如下:
其中,表示分界语句编码表示;/>表示编码表示2;
(3)、联接分界语句编码表示与编码表示3,后续操作过程与获得筛选表示2操作类似,从而得到筛选表示3,记为以此类推,直至联接分界语句编码表示与编码表示n-1,并执行与获得筛选表示2类似的操作后,得到筛选表示n-1,记为/>公式如下:
其中,表示分界语句编码表示;/>表示编码表示n-1;
(4)、通过加运算将筛选表示1~筛选表示n-1、关键信息表示和候选响应筛选表示进行聚合,从而得到对话语义表示,记为公式如下:
其中,分别表示筛选表示1、筛选表示2、…、筛选表示n-1;/>表示关键信息表示;/>表示候选响应筛选表示。
作为优选,所述多轮对话模型训练单元包括:
损失函数构建模块,用于使用交叉熵损失函数计算预测结果与真实数据的误差;
优化函数构建模块,用于训练并调整模型训练中的参数,减小预测误差。
一种电子设备,包括:存储器和至少一个处理器;
其中,所述存储器上存储有计算机程序;
所述至少一个处理器执行所述存储器存储的计算机程序,使得所述至少一个处理器执行如上述的检索式多轮对话方法。
一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序可被处理器执行以实现如上述的检索式多轮对话方法。
本发明中的分界语句:本专利中的“分界语句”是指在多轮对话任务中,历史对话序列里的最后一个语句序列。由于本发明中会多次使用、提及这个对象,且该对象的表述形式过长,所以将其命名为“分界语句”。
剩余对话语句:本发明中的“剩余对话语句”是指在多轮对话任务中,除历史对话序列里最后一个语句序列以外的所有历史对话语句序列。由于本发明中会多次使用、提及这个对象,且该对象的表述形式过长,所以将其命名为“剩余对话语句”。
本发明的检索式多轮对话方法及装置、存储介质、电子设备具有以下优点:
(一)本发明可以有效利用历史对话中的最后一句话对剩余历史对话序列完成语义匹配和信息筛选,从而得到有效的历史语义信息;同时对候选响应进行信息筛选,从而得到准确的候选响应语义特征,进而提高多轮对话模型的预测准确性;
(二)本发明通过编码处理可以捕获历史对话和候选响应中的编码特征,从而获得更加丰富、准确的编码表示;
(三)本发明通过分界匹配筛选可以有效利用历史对话中的最后一句话对剩余历史对话序列完成语义匹配和信息筛选,从而得到有效的历史语义信息表示;
(四)本发明通过分界匹配筛选可以有效对候选响应进行信息筛选,从而得到准确的候选响应语义特征表示;
(五)本发明结合分界匹配筛选可以有效提高多轮对话模型的预测准确性。
附图说明
下面结合附图对本发明进一步说明。
附图1为检索式多轮对话方法的流程框图;
附图2构建多轮对话模型的流程框图;
附图3为训练多轮对话模型的流程框图;
附图4为检索式多轮对话装置的结构框图;
附图5为分界匹配筛选模块的实现过程的示意图;
附图6为分界匹配筛选模块的框架的示意图。
具体实施方式
参照说明书附图和具体实施例对本发明的检索式多轮对话方法及装置、存储介质、电子设备作以下详细地说明。
实施例1:
如附图1所示,本实施例提供了一种检索式多轮对话方法,该方法具体如下:
S1、获取多轮对话数据集,具体如下:
S101、使用爬虫获取数据:编写爬虫程序,在网上公共医疗问答平台爬取对话数据,得到多轮对话知识库;
举例:互联网上的公共医疗问答分享平台中有着大量的问答数据,这些都是面向大众开放的。因此,根据问答平台的特点,设计相应的爬虫程序,以此来获取多轮对话数据,从而得到多轮对话知识库。某医疗问答平台中的多轮对话示例,如下表所示:
S102、构建多轮对话数据集:针对每条对话数据,构建正例数据和负例数据,并按照固定比例划分训练集和测试集;
举例:以步骤S101中展示的数据为例,将S1~S5作为历史对话序列,将S6作为正确响应,将其标记为1;并在其他数据中随机抽取3条对话语句分别将其作为该条数据的错误响应,将其标记为0。该数据集中的数据格式如下表所示:
按照4:1的比例将该数据集划分为训练集和测试集。
S2、构建多轮对话模型:针对多轮对话数据集中的每一条数据,将历史对话中的每个句子按照对话顺序依次标记构建历史对话序列,并针对每条历史对话序列构建候选响应;对历史对话序列中的每个语句和候选响应分别进行编码处理,从而得到历史对话中每条语句的编码表示和候选响应编码表示;再以分界语句为界,对剩余对话语句中每个语句的编码表示分别进行语义匹配和信息筛选处理;同时对候选响应编码表示进行信息筛选处理,对自身完成信息筛选操作,通过聚合操作得到对话语义表示,将对话语义表示映射为指定区间上的一个浮点型数据,该浮点型数据作为该候选响应与历史对话的匹配度,再比较不同候选响应的匹配度,将匹配度最高的候选响应作为正确响应;
S3、训练多轮对话模型:利用训练集训练多轮对话模型,并构建损失函数和优化函数,完成候选响应的预测。
如附图2所示,本实施例中的构建多轮对话模型具体如下:
S201、构建输入数据:针对数据集中的每一条数据,将历史对话中的每个句子按照对话顺序构建历史对话序列,记为h1、h2、…、hn;在多个候选响应中选择一个响应作为当前响应,形式化为r;根据该条响应是否为正确响应,确定该条数据的标签,即,若该条响应是正确响应,则记为1;否则,则记为0;历史对话序列、当前响应及标签共同组成一条输入数据,形式为:(h1、h2、…、hn,r,标签);
举例:使用S102中展示的数据作为样例,以此组成一条输入数据。其结果如下所示:
(h1:孩子今年高三,马上要高考了,孩子就是一考试就有点心里紧张,想给做个心里辅导,h2:您好,考前焦虑很常见,您当地有心理专科医院吗?,h3:有,请问一下这种情况考试之前需要辅导几次,h4:不建议临时抱佛脚,考前焦虑往往存在认知偏差,平时就要改变自己的认知方式,一般8-12次,具体还要看孩子的情况,h5:那我现在接下来该怎么办,r:您先带孩子去心理科评估一下,会结合一些心理测试量表,听医生建议进行心理治疗或结合其他治疗,1)。
S202、编码处理:使用预训练语言模型BERT对输入数据分别进行编码处理,从而得到历史对话中每条语句的编码表示和候选响应编码表示,记为 其中,/>是分界语句编码表示;/>为候选响应编码表示;公式如下:
其中,h1,h2,…,hn-1,hn表示历史对话中的语句1,语句2,…,语句n-1,语句n;r表示候选响应;
举例:本实施例在Ubuntu Dialogue Corpus数据集上实施时,调用预训练语言模型BERT的完成该模块的操作,一切设置均按pytorch中BERT的默认设置。在pytorch中,对于上面描述的代码实现如下所示:
其中,h_embed_list表示历史对话中的每条语句,r是候选响应,h_encoder_list表示历史对话中每条语句的编码表示,response表示选项序列,response_embed是候选响应编码表示。
S203、分界匹配筛选:以分界语句为界,将分界语句与剩余对话语句中每个句子的编码表示分别进行语义匹配计算,并按照各自与分界语句的匹配度完成信息筛选过程;同时使用交叉注意力机制完成分界语句对候选响应编码表示的信息筛选处理过程,并使用自注意力机制完成对自身信息的筛选过程;最终通过聚合操作得到对话语义表示;
S204、标签预测:将对话语义表示经过一层维度为1,激活函数为Sigmoid的全连接网络处理,得到当前响应为正确响应的概率;
其中,当多轮对话模型尚未进行训练时,对多轮对话模型进行训练,以优化多轮对话模型的参数;
当多轮对话模型训练完毕时,预测候选响应中的哪一个是正确响应。
如附图5和6所示,本实施例步骤S203中的分界匹配筛选具体如下:
S20301、联接分界语句编码表示与编码表示1,再使用一层激活函数为Sigmoid的全连接网络Dense对联接结果进行映射,从而得到编码表示1与分界语句编码表示匹配度λ1;再对分界语句编码表示匹配度λ1与编码表示1执行乘运算,从而得到筛选表示1,记为公式如下:
其中,表示分界语句编码表示;/>表示编码表示1;
S20302、联接分界语句编码表示与编码表示2,再使用一层激活函数为Sigmoid的全连接网络Dense对联接结果进行映射,从而得到编码表示2与分界语句编码表示匹配度λ2;再对分界语句编码表示匹配度λ2与编码表示2执行乘运算,从而得到筛选表示2,记为公式如下:
其中,表示分界语句编码表示;/>表示编码表示2;
S20303、联接分界语句编码表示与编码表示3,后续操作过程与获得筛选表示2操作类似,从而得到筛选表示3,记为以此类推,直至联接分界语句编码表示与编码表示n-1,并执行与获得筛选表示2类似的操作后,得到筛选表示n-1,记为/>公式如下:
其中,表示分界语句编码表示;/>表示编码表示n-1;
使用交叉注意力机制完成分界语句对候选响应编码表示的信息筛选处理过程,从而得到候选响应筛选表示,记为公式如下:
其中,表示通过点积乘法操作实现分界语句和候选响应编码表示间的交互计算;/>表示分界语句编码表示;/>表示候选响应编码表示;/>表示点积乘法操作;
表示通过归一化操作获得注意力权重αi,i和i'表示对应输入张量中的元素下标;l表示输入张量/>中的元素数量;
表示使用已获得的注意力权重αi完成对候选响应编码表示的特征筛选,从而得到候选响应筛选表示;l表示/>和αi中的元素数量;
使用自注意力机制对分界语句编码表示完成语义信息筛选选过程,从而得到关键信息表示,记为具体公式:
表示通过点积乘法操作实现分界语句对自身的交互计算,/>表示分界语句编码表示,/>表示点积乘法操作;
表示通过归一化操作获得注意力权重α,i和i'表示对应输入张量中的元素下标;l表示输入张量/>中的元素数量;
表示使用已获得的注意力权重αi完成对分界语句编码表示的特征筛选,从而得到关键信息表示;l表示/>和αi中的元素数量;
S20304、通过加运算将筛选表示1~筛选表示n-1、关键信息表示和候选响应筛选表示进行聚合,从而得到对话语义表示,记为公式如下:
其中,分别表示筛选表示1、筛选表示2、…、筛选表示n-1;/>表示关键信息表示;/>表示候选响应筛选表示。
举例:由于目前缺乏公共精神医疗疾病的多轮对话数据集,故本实施例是在另外一个多轮对话数据集Ubuntu Dialogue Corpus上实施的;在pytorch中,对于上面描述的代码实现如下所示:
/>
其中,history_embed_list表示历史对话中所有语句编码表示的列表;response_embed表示候选响应编码表示;Q表示对话语义表示。
如附图3所示,本实施例步骤S3中的训练多轮对话模型具体如下:
S301、构建损失函数:采用交叉熵作为损失函数,公式如下:
其中,ytrue为真实的标签;ypred为多轮对话模型输出的正确概率;
举例:在pytorch中,对于上面描述的代码实现如下所示:
#通过交叉熵损失函数计算预测值与标签之间的误差
loss_fct=CrossEntropyLoss()
loss=loss_fct(logits.view(-1,self.num_labels),labels.view(-1))
其中,labels为真实的标签,logits为模型输出的正确概率。
S302、构建优化函数:经过对多种优化函数进行测试,最终选择使用AdamW优化函数作为优化函数,除了其学习率设置为2e-5外,AdamW的其他超参数均选择pytorch中的默认值设置。
举例:在pytorch中,对于上面描述的代码实现如下所示:
#通过AdamW优化器对模型参数进行优化
optimizer=AdamW(optimizer_grouped_parameters,lr=2e-5)
其中,optimizer_grouped_parameters为待优化的参数,默认为自动问答模型中的所有参数。
当模型尚未进行训练时,需要进一步执行步骤S3进行训练,以优化模型的参数;当模型训练完毕时,可执行步骤S204预测候选响应中的哪一个是正确响应。
实施例2:
如附图4所示,本实施例中的一种检索式多轮对话装置,该装置包括:
数据集获取单元,用于使用爬虫技术在网上公共医疗问答平台爬取对话数据,得到多轮对话知识库;针对每条对话数据构建正例数据和负例数据,并按照设定比例划分训练集和测试集;
多轮对话模型构建单元,用于针对多轮对话数据集中的每一条数据,将历史对话中的每个句子按照对话顺序依次标记构建历史对话序列,并针对每条历史对话序列构建候选响应;对历史对话序列中的每个语句和候选响应分别进行编码处理,从而得到历史对话中每条语句的编码表示和候选响应编码表示;再以分界语句为界,对剩余对话语句中每个语句的编码表示分别进行语义匹配和信息筛选处理;同时对候选响应编码表示进行信息筛选处理,对自身完成信息筛选操作,通过聚合操作得到对话语义表示,将对话语义表示映射为指定区间上的一个浮点型数据,该浮点型数据作为该候选响应与历史对话的匹配度,再比较不同候选响应的匹配度,将匹配度最高的候选响应作为正确响应;
多轮对话模型训练单元,用于利用训练集训练多轮对话模型,并构建损失函数和优化函数,完成候选响应的预测。
本实施例中的多轮对话模型构建单元包括:
输入模块,用于预处理原始数据集,构建输入数据;
编码模块,用于使用预训练语言模型BERT对输入数据分别进行编码处理,从而得到历史对话中每条语句的编码表示和候选响应编码表示;
分界匹配筛选模块,用于以分界语句为界,将分界语句与剩余对话语句中每个句子的编码表示分别进行语义匹配计算,并按照各自与分界语句的匹配度完成信息筛选过程;同时使用交叉注意力机制完成分界语句对候选响应编码表示的信息筛选处理过程;最终通过聚合操作得到对话语义表示;
标签预测模块,用于基于对话语义表示判断当前响应是否为正确响应。
如附图5和6所示,本实施例中的分界匹配筛选模块的实现过程具体如下:
(1)、联接分界语句编码表示与编码表示1,再使用一层激活函数为Sigmoid的全连接网络Dense对联接结果进行映射,从而得到编码表示1与分界语句编码表示匹配度λ1;再对分界语句编码表示匹配度λ1与编码表示1执行乘运算,从而得到筛选表示1,记为公式如下:
/>
其中,表示分界语句编码表示;/>表示编码表示1;
(2)、联接分界语句编码表示与编码表示2,再使用一层激活函数为Sigmoid的全连接网络Dense对联接结果进行映射,从而得到编码表示2与分界语句编码表示匹配度λ2;再对分界语句编码表示匹配度λ2与编码表示2执行乘运算,从而得到筛选表示2,记为公式如下:
其中,表示分界语句编码表示;/>表示编码表示2;
(3)、联接分界语句编码表示与编码表示3,后续操作过程与获得筛选表示2操作类似,从而得到筛选表示3,记为以此类推,直至联接分界语句编码表示与编码表示n-1,并执行与获得筛选表示2类似的操作后,得到筛选表示n-1,记为/>公式如下:
其中,表示分界语句编码表示;/>表示编码表示n-1;
使用交叉注意力机制完成分界语句对候选响应编码表示的信息筛选处理过程,从而得到候选响应筛选表示,记为公式如下:
其中,表示通过点积乘法操作实现分界语句和候选响应编码表示间的交互计算;/>表示分界语句编码表示;/>表示候选响应编码表示;/>表示点积乘法操作;
表示通过归一化操作获得注意力权重αi,i和i'表示对应输入张量中的元素下标;l表示输入张量/>中的元素数量;
表示使用已获得的注意力权重αi完成对候选响应编码表示的特征筛选,从而得到候选响应筛选表示;l表示/>和αi中的元素数量;
使用自注意力机制对分界语句编码表示完成语义信息筛选选过程,从而得到关键信息表示,记为具体公式:
表示通过点积乘法操作实现分界语句对自身的交互计算,/>表示分界语句编码表示,/>表示点积乘法操作;
表示通过归一化操作获得注意力权重α,i和i'表示对应输入张量中的元素下标;l表示输入张量/>中的元素数量;
表示使用已获得的注意力权重αi完成对分界语句编码表示的特征筛选,从而得到关键信息表示;l表示/>和αi中的元素数量;
(4)、通过加运算将筛选表示1~筛选表示n-1、关键信息表示和候选响应筛选表示进行聚合,从而得到对话语义表示,记为公式如下:
其中,分别表示筛选表示1、筛选表示2、…、筛选表示n-1;/>表示关键信息表示;/>表示候选响应筛选表示。
本实施例中的多轮对话模型训练单元包括:
损失函数构建模块,用于使用交叉熵损失函数计算预测结果与真实数据的误差;
优化函数构建模块,用于训练并调整模型训练中的参数,减小预测误差。
实施例3:
本实施例还提供了一种电子设备,包括:存储器和处理器;
其中,存储器存储计算机执行指令;
处理器执行所述存储器存储的计算机执行指令,使得处理器执行本发明任一实施例中的检索式多轮对话方法。
处理器可以是中央处理单元(CPU),还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通过处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器可用于储存计算机程序和/或模块,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现电子设备的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器还可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,只能存储卡(SMC),安全数字(SD)卡,闪存卡、至少一个磁盘存储期间、闪存器件、或其他易失性固态存储器件。
实施例4:
本实施例还提供了一种计算机可读存储介质,其中存储有多条指令,指令由处理器加载,使处理器执行本发明任一实施例中的检索式多轮对话方法。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RYM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种检索式多轮对话方法,其特征在于,该方法具体如下:
获取多轮对话数据集:使用爬虫技术在网上公共医疗问答平台爬取对话数据,得到多轮对话知识库;针对每条对话数据构建正例数据和负例数据,并按照设定比例划分训练集和测试集;
构建多轮对话模型:针对多轮对话数据集中的每一条数据,将历史对话中的每个句子按照对话顺序依次标记构建历史对话序列,并针对每条历史对话序列构建候选响应;对历史对话序列中的每个语句和候选响应分别进行编码处理,从而得到历史对话中每条语句的编码表示和候选响应编码表示;再以分界语句为界,对剩余对话语句中每个语句的编码表示分别进行语义匹配和信息筛选处理;同时对候选响应编码表示进行信息筛选处理,对自身完成信息筛选操作,通过聚合操作得到对话语义表示,将对话语义表示映射为指定区间上的一个浮点型数据,该浮点型数据作为该候选响应与历史对话的匹配度,再比较不同候选响应的匹配度,将匹配度最高的候选响应作为正确响应;
训练多轮对话模型:利用训练集训练多轮对话模型,并构建损失函数和优化函数,完成候选响应的预测。
2.根据权利要求1所述的检索式多轮对话方法,其特征在于,构建多轮对话模型具体如下:
构建输入数据:针对数据集中的每一条数据,将历史对话中的每个句子按照对话顺序构建历史对话序列,记为h1、h2、…、hn;在多个候选响应中选择一个响应作为当前响应,形式化为r;根据该条响应是否为正确响应,确定该条数据的标签,即,若该条响应是正确响应,则记为1;否则,则记为0;历史对话序列、当前响应及标签共同组成一条输入数据,形式为:(h1、h2、…、hn,r,标签);
编码处理:使用预训练语言模型BERT对输入数据分别进行编码处理,从而得到历史对话中每条语句的编码表示和候选响应编码表示,记为…,/>和/>其中,是分界语句编码表示;/>为候选响应编码表示;公式如下:
其中,h1,h2,…,hn-1,hn表示历史对话中的语句1,语句2,…,语句n-1,语句n;r表示候选响应;
分界匹配筛选:以分界语句为界,将分界语句与剩余对话语句中每个句子的编码表示分别进行语义匹配计算,并按照各自与分界语句的匹配度完成信息筛选过程;同时使用交叉注意力机制完成分界语句对候选响应编码表示的信息筛选处理过程,并使用自注意力机制完成对自身信息的筛选过程;最终通过聚合操作得到对话语义表示;
标签预测:将对话语义表示经过一层维度为1,激活函数为Sigmoid的全连接网络处理,得到当前响应为正确响应的概率;
其中,当多轮对话模型尚未进行训练时,对多轮对话模型进行训练,以优化多轮对话模型的参数;
当多轮对话模型训练完毕时,预测候选响应中的哪一个是正确响应。
3.根据权利要求2所述的检索式多轮对话方法,其特征在于,分界匹配筛选具体如下:
联接分界语句编码表示与编码表示1,再使用一层激活函数为Sigmoid的全连接网络Dense对联接结果进行映射,从而得到编码表示1与分界语句编码表示匹配度λ1;再对分界语句编码表示匹配度λ1与编码表示1执行乘运算,从而得到筛选表示1,记为公式如下:
其中,表示分界语句编码表示;/>表示编码表示1;
联接分界语句编码表示与编码表示2,再使用一层激活函数为Sigmoid的全连接网络Dense对联接结果进行映射,从而得到编码表示2与分界语句编码表示匹配度λ2;再对分界语句编码表示匹配度λ2与编码表示2执行乘运算,从而得到筛选表示2,记为公式如下:
其中,表示分界语句编码表示;/>表示编码表示2;
联接分界语句编码表示与编码表示3,后续操作过程与获得筛选表示2操作类似,从而得到筛选表示3,记为以此类推,直至联接分界语句编码表示与编码表示n-1,并执行与获得筛选表示2类似的操作后,得到筛选表示n-1,记为/>公式如下:
其中,表示分界语句编码表示;/>表示编码表示n-1;
通过加运算将筛选表示1~筛选表示n-1、关键信息表示和候选响应筛选表示进行聚合,从而得到对话语义表示,记为公式如下:
其中,分别表示筛选表示1、筛选表示2、…、筛选表示n-1;/>表示关键信息表示;/>表示候选响应筛选表示。
4.根据权利要求1所述的检索式多轮对话方法,其特征在于,训练多轮对话模型具体如下:
构建损失函数:采用交叉熵作为损失函数,公式如下:
其中,ytrue为真实的标签;ypred为多轮对话模型输出的正确概率;
构建优化函数:经过对多种优化函数进行测试,最终选择使用AdamW优化函数作为优化函数,除了其学习率设置为2e-5外,AdamW的其他超参数均选择pytorch中的默认值设置。
5.一种检索式多轮对话装置,其特征在于,该装置包括:
数据集获取单元,用于使用爬虫技术在网上公共医疗问答平台爬取对话数据,得到多轮对话知识库;针对每条对话数据构建正例数据和负例数据,并按照设定比例划分训练集和测试集;
多轮对话模型构建单元,用于针对多轮对话数据集中的每一条数据,将历史对话中的每个句子按照对话顺序依次标记构建历史对话序列,并针对每条历史对话序列构建候选响应;对历史对话序列中的每个语句和候选响应分别进行编码处理,从而得到历史对话中每条语句的编码表示和候选响应编码表示;再以分界语句为界,对剩余对话语句中每个语句的编码表示分别进行语义匹配和信息筛选处理;同时对候选响应编码表示进行信息筛选处理,对自身完成信息筛选操作,通过聚合操作得到对话语义表示,将对话语义表示映射为指定区间上的一个浮点型数据,该浮点型数据作为该候选响应与历史对话的匹配度,再比较不同候选响应的匹配度,将匹配度最高的候选响应作为正确响应;
多轮对话模型训练单元,用于利用训练集训练多轮对话模型,并构建损失函数和优化函数,完成候选响应的预测。
6.根据权利要求5所述的检索式多轮对话装置,其特征在于,所述多轮对话模型构建单元包括:
输入模块,用于预处理原始数据集,构建输入数据;
编码模块,用于使用预训练语言模型BERT对输入数据分别进行编码处理,从而得到历史对话中每条语句的编码表示和候选响应编码表示;
分界匹配筛选模块,用于以分界语句为界,将分界语句与剩余对话语句中每个句子的编码表示分别进行语义匹配计算,并按照各自与分界语句的匹配度完成信息筛选过程;同时使用交叉注意力机制完成分界语句对候选响应编码表示的信息筛选处理过程;最终通过聚合操作得到对话语义表示;
标签预测模块,用于基于对话语义表示判断当前响应是否为正确响应。
7.根据权利要求6所述的检索式多轮对话装置,其特征在于,所述分界匹配筛选模块的实现过程具体如下:
(1)、联接分界语句编码表示与编码表示1,再使用一层激活函数为Sigmoid的全连接网络Dense对联接结果进行映射,从而得到编码表示1与分界语句编码表示匹配度λ1;再对分界语句编码表示匹配度λ1与编码表示1执行乘运算,从而得到筛选表示1,记为公式如下:
其中,表示分界语句编码表示;/>表示编码表示1;
(2)、联接分界语句编码表示与编码表示2,再使用一层激活函数为Sigmoid的全连接网络Dense对联接结果进行映射,从而得到编码表示2与分界语句编码表示匹配度λ2;再对分界语句编码表示匹配度λ2与编码表示2执行乘运算,从而得到筛选表示2,记为公式如下:
其中,表示分界语句编码表示;/>表示编码表示2;
(3)、联接分界语句编码表示与编码表示3,后续操作过程与获得筛选表示2操作类似,从而得到筛选表示3,记为以此类推,直至联接分界语句编码表示与编码表示n-1,并执行与获得筛选表示2类似的操作后,得到筛选表示n-1,记为/>公式如下:
其中,表示分界语句编码表示;/>表示编码表示n-1;
(4)、通过加运算将筛选表示1~筛选表示n-1、关键信息表示和候选响应筛选表示进行聚合,从而得到对话语义表示,记为公式如下:
其中,分别表示筛选表示1、筛选表示2、…、筛选表示n-1;/>表示关键信息表示;/>表示候选响应筛选表示。
8.根据权利要求5所述的检索式多轮对话装置,其特征在于,所述多轮对话模型训练单元包括:
损失函数构建模块,用于使用交叉熵损失函数计算预测结果与真实数据的误差;
优化函数构建模块,用于训练并调整模型训练中的参数,减小预测误差。
9.一种电子设备,其特征在于,包括:存储器和至少一个处理器;
其中,所述存储器上存储有计算机程序;
所述至少一个处理器执行所述存储器存储的计算机程序,使得所述至少一个处理器执行如权利要求1至4任一项所述的检索式多轮对话方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序可被处理器执行以实现如权利要求1至4中任一项所述的检索式多轮对话方法。
CN202310706740.6A 2023-06-15 2023-06-15 检索式多轮对话方法及装置、存储介质、电子设备 Pending CN116662515A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310706740.6A CN116662515A (zh) 2023-06-15 2023-06-15 检索式多轮对话方法及装置、存储介质、电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310706740.6A CN116662515A (zh) 2023-06-15 2023-06-15 检索式多轮对话方法及装置、存储介质、电子设备

Publications (1)

Publication Number Publication Date
CN116662515A true CN116662515A (zh) 2023-08-29

Family

ID=87716982

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310706740.6A Pending CN116662515A (zh) 2023-06-15 2023-06-15 检索式多轮对话方法及装置、存储介质、电子设备

Country Status (1)

Country Link
CN (1) CN116662515A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118014039A (zh) * 2024-04-08 2024-05-10 亚信科技(中国)有限公司 模型训练方法、装置、存储介质及电子设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118014039A (zh) * 2024-04-08 2024-05-10 亚信科技(中国)有限公司 模型训练方法、装置、存储介质及电子设备

Similar Documents

Publication Publication Date Title
CN112242187B (zh) 基于知识图谱表征学习的医疗方案推荐系统及方法
CN111415740A (zh) 问诊信息的处理方法、装置、存储介质及计算机设备
CN109192300A (zh) 智能问诊方法、系统、计算机设备和存储介质
US11256873B2 (en) Data processing system and method for dynamic assessment, classification, and delivery of adaptive personalized recommendations
CN112257966B (zh) 模型处理方法、装置、电子设备及存储介质
CN110427486B (zh) 身体病况文本的分类方法、装置及设备
CN112069329B (zh) 文本语料的处理方法、装置、设备及存储介质
Wang et al. Student physical health information management model under big data environment
CN114254208A (zh) 薄弱知识点的识别方法、学习路径的规划方法与装置
CN116662515A (zh) 检索式多轮对话方法及装置、存储介质、电子设备
CN114420279A (zh) 一种医疗资源推荐方法、装置、设备及存储介质
CN114708976A (zh) 辅助诊断技术的方法、装置、设备及存储介质
CN117747087A (zh) 问诊大模型的训练方法、基于大模型的问诊方法和装置
US11547345B2 (en) Dynamic neuropsychological assessment tool
Avishka et al. Mobile app to support people with dyslexia and dysgraphia
Yin et al. A hybrid intelligent diagnosis approach for quick screening of Alzheimer’s disease based on multiple neuropsychological rating scales
US20230148945A1 (en) Dynamic neuropsychological assessment tool
Jo et al. Diagnosis of depression based on four-stream model of bi-LSTM and CNN from audio and text information
WO2023235346A1 (en) Prompting machine-learned models using chains of thought
CN116541711A (zh) 模型训练方法、课程推荐方法、装置、设备及介质
CN116344060A (zh) 用于表示时序医疗信息的方法及装置
Muangnak et al. The neural network conversation model enables the commonly asked student query agents
CN114328864A (zh) 基于人工智能和知识图谱的眼科问答系统
CN115803821A (zh) 智能分诊方法、装置、存储介质及电子设备
Liu et al. Stone needle: A general multimodal large-scale model framework towards healthcare

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