CN118070907B - 一种基于大语言模型的中医客服回复系统 - Google Patents

一种基于大语言模型的中医客服回复系统 Download PDF

Info

Publication number
CN118070907B
CN118070907B CN202410465315.7A CN202410465315A CN118070907B CN 118070907 B CN118070907 B CN 118070907B CN 202410465315 A CN202410465315 A CN 202410465315A CN 118070907 B CN118070907 B CN 118070907B
Authority
CN
China
Prior art keywords
language model
module
model
representing
word
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
Application number
CN202410465315.7A
Other languages
English (en)
Other versions
CN118070907A (zh
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.)
Zhuo Shi Zhi Xing Tianjin Technology Co ltd
Original Assignee
Zhuo Shi Zhi Xing Tianjin Technology Co ltd
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 Zhuo Shi Zhi Xing Tianjin Technology Co ltd filed Critical Zhuo Shi Zhi Xing Tianjin Technology Co ltd
Priority to CN202410465315.7A priority Critical patent/CN118070907B/zh
Publication of CN118070907A publication Critical patent/CN118070907A/zh
Application granted granted Critical
Publication of CN118070907B publication Critical patent/CN118070907B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Machine Translation (AREA)

Abstract

本发明提供一种基于大语言模型的中医客服回复系统,属于数据处理技术领域。系统包括:获取模块,用于获取关于中医资料的训练数据集;增广模块,用于对训练数据集进行基于同义词嵌入的数据增广;建立模块,用于建立以transformer模型为基础的大语言模型;训练模块,用于利用增广后的训练数据集对大语言模型进行训练;构造模块,用于构造多分枝损失函数,对大语言模型的训练结果进行反馈;微调模块,用于根据损失函数值对大语言模型进行微调,直至损失函数值小于预设损失值;解析模块,用于利用微调后的大语言模型对客户的请求文本进行解析,得到回复文本;发送模块,用于将回复文本发送至客户。这样,能够提升大语言模型在中医领域的回复准确性和及时性。

Description

一种基于大语言模型的中医客服回复系统
技术领域
本发明涉及数据处理技术领域,特别是指一种基于大语言模型的中医客服回复系统。
背景技术
中国一直致力于传统中医药的传承和发展,中医药在中国的医疗体系中扮演着重要的角色,中医诊疗不仅在中国得到广泛应用,还在世界各地逐渐受到关注和接受,包括中药治疗、针灸、推拿、拔罐等传统疗法,与此同时,中国还在不断推动中医药现代化,包括中药现代研究、中药制剂的国际注册、中医药临床指南的制定等。中医药领域的科研在不断进展,包括中药药效机制、针灸治疗的神经生物学基础、中医诊断技术等,这些研究为中医药的更好应用提供了科学依据,在临床应用方面,中医药被广泛应用于一系列疾病的辅助治疗,如疼痛管理、慢性疾病管理、免疫调节等。中医诊疗的发展也与教育和培训相关,各国设立了中医药学校和培训机构,培养中医师和针灸师,此外,一些国家引进中医药教育和培训项目。中医诊疗的范围逐渐扩展,不仅限于一些慢性疾病的管理,还包括了运动伤害、妇产科、儿科等各个领域。
随着中医药领域的发展,越来越多的患者选择中医进行疾病诊疗,但是限于中医药领域分类复杂,使得中医药师在解答患者疑问时易受到知识的局限性,回复不及时,另外,现有的中医自动化回复在遇到同一问题但中药主题名称改变时无法识别查找问题相对应的答案,往往给出的都是错误的回复,回复正确性差。
发明内容
为了解决现有技术存在的由于中医药领域分类复杂,使得中医药师在解答患者疑问时易受到知识的局限性,回复不及时,以及现有的中医自动化回复在遇到同一问题但中药主题名称改变时无法识别查找问题相对应的答案,回复正确性差的技术问题,本发明实施例提供了一种基于大语言模型的中医客服回复系统。所述技术方案如下:
本发明实施例提供的基于大语言模型的中医客服回复系统,包括:
获取模块,用于获取关于中医资料的训练数据集,其中,所述中医资料包括:预置问题和相应的解决方案;
增广模块,用于对所述训练数据集进行基于同义词嵌入的数据增广;
建立模块,用于建立以transformer模型为基础的大语言模型,其中,所述大语言模型包括:编码层、聚合层和解析层,所述编码层通过所述聚合层与所述解析层连接,其中,所述编码层包括:广义自回归语言模型,所述广义自回归语言模型包括排列机制和并流注意力机制,所述并流注意力机制用于接收所述排列机制的输出,所述并流注意力机制包括:内容流注意力机制和位置流注意力机制;
训练模块,用于利用增广后的训练数据集对所述大语言模型进行训练;
构造模块,用于构造多分枝损失函数,对所述大语言模型的训练结果进行反馈;
微调模块,用于根据损失函数值对所述大语言模型进行微调,直至所述损失函数值小于预设损失值;
解析模块,用于利用微调后的大语言模型对客户的请求文本进行解析,得到回复文本;
发送模块,用于将所述回复文本发送至所述客户。
可选地,所述获取模块,具体用于通过学术数据库获取关于所述中医资料的训练数据集,其中,所述学术数据库包括:PubMed、CNKI、万方和维普。
可选地,所述增广模块具体用于:
S1021:通过中文电子词典对所述训练数据集中的原始文本进行分词,得到分词后的原始文本:
其中,表示可替换词,,m表示可替换词总数;表示之间的不可替换词,表示不可替换词总数;
S1022:构建每个可替换词的同义词词库;
S1023:在所述同义词词库中对所述可替换词进行编码,得到位置编码;
S1024:根据编码后的同义词词库,将所述原始文本进行同义词替换,得到多个替换文本;
S1025:将所述替换文本添加至所述训练数据集,完成所述训练数据集的增广。
可选地,所述S1022具体用于:
S1022A:找出所述可替换词的同义词,记为:
S1022B:将所述可替换词与所述同义词进行组合得到初始同义词词库
S1022C:遍历所述原始文本,找出所述可替换词在原始文本中的搭配词集
其中,表示可替换词的第h个搭配词;
S1022D:计算所述初始同义词词库中每个词语与所述搭配词集的搭配相似度
其中,表示在搭配词出现时初始同义词词库中词语的出现概率;表示搭配词与初始同义词词库中词语同时出现概率;表示搭配词的出现概率,所述出现概率由汉语语料库统计得到;
S1022E:设置搭配相似度阈值,去除初始同义词词库中小于所述搭配相似度阈值的词语;
S1022F:将去除后的初始同义词词库中的词语按与所述搭配词集的搭配相似度大小进行降序排列,得到各个所述可替换词的同义词词库。
可选地,所述S1023具体用于:
S1023A:记录词语在所述同义词词库中的位置序号
其中,表示所述同义词词库中的同义词数量;
S1023B:将所述位置序号进行二进制转换,得到位的所述位置编码:
其中,符号表示取整。
可选地,所述训练模块具体用于:
S1041:将增广后的训练数据集中的预置问题转换为结构化查询数据,其中,所述结构化查询数据的生成模板包括:查询列信息、选择的聚合函数、查询条件的列信息,对所述查询列信息执行的操作、所述操作对应的值以及所述查询列信息与所述查询条件的关系;
S1042:将增广后的训练数据集中的预置问题对应的所述解决方案生成可查询表,其中,所述可查询表包括:表头、表头类型、表内容和表编号;
S1043:将文本长度为的结构化查询数据x进行排列组合,得到排列集合
S1044:将所述排列集合输入至所述广义自回归语言模型,确定所述广义自回归语言模型的学习目标:
其中,表示在所述排列集合中预测得到目标字符的概率,表示非目标字符,c表示文本分割点,θ表示模型超参数,表示在所述模型超参数下搜寻所述概率的最大值,表示排列集合的元素终点位置,t表示所述排列集合中的元素位置,表示任意文本长度对应的排列集合中预测目标的字符位置,表示预测目标的字符位置对应的元素,表示预测目标之前的元素,表示预测目标的概率分布,表示在transformer模型中进行内容预测和位置预测,表示作为模型输入数据x即任意预测目标的字符位置对应的元素的嵌入向量,表示嵌入向量序号,符号“exp”表示指数函数;
S1045:通过所述聚合层对所述嵌入向量进行聚合,得到所述结构化查询数据的表示矩阵;
S1046:根据所述表示矩阵,通过所述解析层从所述可查询表中生成所述结构化查询数据对应的结构化目标数据。
可选地,所述大语言模型还包括:输入层和输出层,所述输入层和所述编码层连接,所述输出层和所述解析层连接,所述输出层包括:激活函数,所述激活函数为Sigmoid函数。
可选地,所述构造模块具体用于:
S1051:通过激活函数计算增广后的预置问题Qi得到正确答案的正确概率
其中,表示预置问题得到第j种解决方案的概率值;
S1052:根据所述正确概率,计算所述预置问题Qi得到正确的预测答案O的损失值
其中,yi=0或者1,yi=0表示所述预测答案不是所述预置问题的答案,yi=1表示所述预测答案是所述预置问题的答案,n表示所述预置问题的数量,i表示第i个预置问题;
S1053:计算所述预置问题Qi得到正确的预测答案O的整体损失值,即所述多分枝损失函数:
其中,k表示增广后的相同含义的预置问题数量。
可选地,所述系统还包括:
第一调用模块,用于间隔预设时长重新调用所述微调模块,以维持所述损失函数值小于所述预设损失值。
可选地,所述系统还包括:
第二调用模块,用于统计所述回复文本为所述请求文本的符合概率,在所述符合概率低于预设概率的情况下,调用所述微调模块,对所述大语言模型进行微调。
本发明实施例提供的技术方案带来的有益效果至少包括:
本实施例中,通过对训练数据集进行基于同义词嵌入的数据增广,扩展训练数据集中中药及医疗工具名称的别称,进而使得以该训练数据集进行训练得到的模型能够快速识别各种不同中药相关称谓的请求文本,扩展系统的应对场景和回复能力,提升系统回复及时性和准确性;通过建立以transformer模型为基础的大语言模型,并对大语言模型的编码层使用包括排列机制和并流注意力机制的广义自回归语言模型进行改进,这样,能够在学习上下文内容的同时,弥补自监督学习模型中位置遮盖造成的学习能力减弱的缺点,同时考虑遮盖位的位置流和遮盖位的上下文内容流,提升模型学习能力,进而提升模型预测准确性;构造多分枝损失函数,对大语言模型的训练结果进行反馈,使得大语言模型的训练结果得到综合的监测,避免训练数据分散监测导致的损失函数下降过快进而出现的监测准确性差的问题,提升大语言模型的训练效果和训练后的预测精度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种基于大语言模型的中医客服回复系统的结构示意图;
图2是本发明实施例提供的大语言模型的结构示意图;
图3是本发明实施例提供的一种基于大语言模型的中医客服回复系统的详细结构示意图。
具体实施方式
下面结合附图,对本发明中的技术方案进行描述。
在本发明实施例中,“示例地”、“例如”等词用于表示作例子、例证或说明。本发明中被描述为“示例”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用示例的一词旨在以具体方式呈现概念。此外,在本发明实施例中,“和/或”所表达的含义可以是两者都有,或者可以是两者任选其一。
本发明实施例中,“图像”,“图片”有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。“的(of)”,“相应的(corresponding,relevant)”和“对应的(corresponding)”有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。
本发明实施例中,有时候下标如W1可能会表示为非下标的形式如W1,在不强调其区别时,其所要表达的含义是一致的。
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明实施例提供了一种基于大语言模型的中医客服回复系统,如图1所示,该系统包括:获取模块1、增广模块2、建立模块3、训练模块4、构造模块5、微调模块6、解析模块7以及发送模块8。其中:
获取模块1,用于获取关于中医资料的训练数据集,其中,所述中医资料包括:预置问题和相应的解决方案;
一种可行的实施方式中,获取模块具体用于:
通过学术数据库获取关于中医资料的训练数据集,其中,学术数据库包括PubMed、CNKI、万方和维普。
需要说明的是,获取模块通过访问学术数据库来检索与中医相关的文献和资料,这些学术数据库包括PubMed、CNKI(中国知网)、万方和维普等,这些数据库包含了大量的学术文献、研究报告和文章,其中包括了有关中医的信息,过关键词搜索、主题筛选等方式从学术数据库中筛选出与中医相关的文献和资料, 获取模块将从学术数据库中获得的文献和资料整理成结构化的数据,其中包括预置问题和相应的解决方案,预置问题是用户可能会提出的问题,而解决方案则是对这些问题的答案或解释。训练数据集用于训练基于Transformer模型的大语言模型,这个模型将学习如何理解中医相关的问题和如何生成相关的解决方案,通过大量的训练数据,模型可以提高其回答问题的准确性和自然度。
增广模块2,用于对所述训练数据集进行基于同义词嵌入的数据增广;
其中,同义词嵌入是将预置问题或者解决方案中存在相同含义的替换句子进行扩展,比如“甘草的用途是什么”,根据甘草的别称,该句可扩展为“甘遂/甘草炙/人参草/乌饭草的用途是什么”,进而提升训练数据集的覆盖范围,避免由于别称造成的训练后模型不能识别相同替换句子的意思。
可以理解的是,中医领域存在许多同义词和一词多义的情况,这些不同的词汇可能在不同的上下文中使用,但它们具有相似的含义,通过使用同义词嵌入进行数据增广,可以扩展训练数据集,覆盖更多可能的词汇组合和表达方式,从而使模型更好地理解和回答不同形式的问题。同义词嵌入可以帮助模型更好地应对用户提问时使用不同的词汇或表达方式,如果训练数据集中包含了各种同义词和一词多义的替代方式,模型在识别和理解这些不同方式时会更加灵活,提高了系统的鲁棒性。有时同一词汇可以在不同上下文中有不同的意义,通过增广数据,可以帮助模型更好地理解这些上下文差异,减少歧义性问题的出现。而且,数据增广可以增加训练数据的多样性,有助于训练出更准确和鲁棒的模型,更多的训练数据通常导致更好的泛化性能。
总之,通过使用同义词嵌入进行数据增广,可以提高训练数据集的多样性和丰富性,从而提升模型在中医客服回复系统中的表现,使其更好地处理不同表达方式和同义词问题,增加系统的可用性和效用,这有助于减少训练后模型无法识别相同替代句子的意义的问题,从而提高用户满意度。
在一种可能的实施方式中,增广模块具体用于:
S1021:通过中文电子词典对训练数据集中的原始文本进行分词,得到分词后的原始文本:
其中,表示可替换词,,m表示可替换词总数;表示之间的不可替换词,表示不可替换词总数;
需要说明的是,通过分词可以提升模型对原始文本的识别速度和识别准确性,也避免了同义词嵌入导致的替换文本存在歧义或者乱序的情况。
S1022:构建每个可替换词的同义词词库。
一种可能的实施方式中,S1022具体用于:
S1022A:找出可替换词的同义词,记为:
S1022B:将可替换词与同义词进行组合得到初始同义词词库
S1022C:遍历原始文本,找出可替换词在原始文本中的搭配词集
其中,表示可替换词的第h个搭配词;
S1022D:计算所述初始同义词词库中每个词语与所述搭配词集的搭配相似度
其中,表示在搭配词出现时初始同义词词库中词语的出现概率;表示搭配词与初始同义词词库中词语同时出现概率;表示搭配词的出现概率,出现概率由汉语语料库统计得到;
S1022E:设置搭配相似度阈值,去除初始同义词词库中小于搭配相似度阈值的词语;
S1022F:将去除后的初始同义词词库中的词语按与搭配词集的搭配相似度大小进行降序排列,得到各个可替换词的同义词词库。
需要说明的是,在中医领域各种医疗器械、操作或者中药等都存在多种别称,而这些别称在实际情况下是存在不同的使用频率的,根据这些频率计算各个别称的出现概率,进而分别对各个词语和各个词语对应的替换文本进行排序,得到同义词词库,对于使用频率极低或者没有的词语可以忽略,进而通过排序后的同义词词库提升用其进行训练的模型识别能力和处理速度。
S1023:在同义词词库中对可替换词进行编码,得到位置编码。
在一种可能的实施方式中,S1023具体用于:
S1023A:记录词语在所述同义词词库中的位置序号
其中,表示所述同义词词库中的同义词数量;
S1023B:将所述位置序号进行二进制转换,得到位的所述位置编码:
其中,符号表示取整。
需要说明的是,进行初始的位置编码,可以更有利于模型捕捉语义信息,提升语义识别能力和识别结果的准确性,进而提升回复准确性。比如:甘草的同义词词库:【甘草、甘遂、甘草炙、人参草、乌饭草】编码后得到的位置编码位【00、01、10、11、100】,自注意力机制倾向于关注与特定位置较近的单词,而位置编码可以帮助模型更好地理解全局序列结构,减轻了自注意力机制的限制,输入数据通常由一系列单词或标记组成,但这些模型是基于自注意力机制构建的,自注意力机制在不同位置的词语之间建立了关联,但它们是无序的,即模型不会直接捕捉到单词在输入序列中的位置信息,这可能导致一些问题,例如无法处理序列中单词的顺序信息,引入位置编码,它是一个用于模型输入的向量,包含关于输入序列中单词位置的信息,位置编码向模型提供了有关单词在输入序列中的相对位置的信息,这对于理解单词之间的顺序和依赖关系非常重要,特别是在处理自然语言文本时,其中单词的顺序通常具有重要意义,而且位置编码是可学习的,因此可以自动适应不同任务和数据集的位置信息,它不仅提供了位置信息,还包含了与任务相关的上下文信息,相应地位置编码有助于提高模型在不同输入长度和结构的序列上的泛化能力,它可以帮助模型更好地处理长短不一的输入,自注意力机制倾向于关注与特定位置较近的单词,而位置编码可以帮助模型更好地理解全局序列结构,减轻了自注意力机制的限制,有助于大型语言模型更好地理解和处理输入数据中的位置信息,从而提高模型的性能和泛化能力。
S1024:根据编码后的同义词词库,将原始文本进行同义词替换,得到多个替换文本。
S1025:将替换文本添加至训练数据集,完成训练数据集的增广。
建立模块3,用于建立以transformer模型为基础的大语言模型,如图2所示,所述大语言模型包括:编码层、聚合层和解析层,所述编码层通过所述聚合层与所述解析层连接,其中,所述编码层包括:广义自回归语言模型,所述广义自回归语言模型包括排列机制和并流注意力机制,所述并流注意力机制用于接收所述排列机制的输出,所述并流注意力机制包括:内容流注意力机制和位置流注意力机制;
其中,大语言模型包括编码层、聚合层和解析层,编码层通过聚合层与解析层连接,其中,编码层包括广义自回归语言模型,其中,广义自回归语言模型包括排列机制和并流注意力机制,并流注意力机制用于接收排列机制的输出,其中,并流注意力机制包括内容流注意力机制和位置流注意力机制。
其中,Transformer模型是一种深度学习模型架构,最初被提出用于自然语言处理任务。它是一种基于注意力机制的神经网络架构,以并行方式处理输入数据,并且在处理长序列数据时表现出色。大语言模型是一个深度学习模型,通常用于自然语言处理任务,可以理解和生成自然语言文本,它通常在大规模文本数据上进行预训练,然后在特定任务上进行微调,这种模型在回答问题、生成文本、翻译等任务中具有广泛的应用。编码层是Transformer模型的一部分,用于将输入数据进行编码,在NLP任务中,编码层通常由多个编码器堆叠在一起,每个编码器有自己的子层,包括自注意力机制和前馈神经网络,编码层的任务是将输入序列转换为更丰富的表示,以便后续的处理。聚合层是大语言模型的一部分,在编码层之后,用于整合编码层的输出,它可以将编码层的输出进行汇总、聚合,以获得更高级别的表示。解析层是大语言模型的一部分,用于生成和理解自然语言文本,在NLP任务中,解析层通常用于生成答案、翻译文本或执行其他自然语言处理任务,它将聚合层的输出进行后续处理,以生成文本或执行其他任务。
传统的广义自回归模型无法对双向信息进行捕捉,排列机制的引入有助于广义自回归语言模型识别全文中预测节点的上下文关系,举例来说,假设有一个长度为序列,则对序列所包含的字符进行排列组合,共有种结果,以序列排列组合的结果作为输入,并使模型在所有的排列结果进行参数共享,那么模型将从所有的排列结果中学习到信息,理解序列中元素之间的关系,例如词语在句子中的顺序。进一步解释,由于在排列组合中位置之后和之前的字符都会出现在之前,所以模型会学习到位置的双向信息,在训练过程中,对于文本序列所有文本的排列顺序都将会被训练,由于在训练过程中,参数在同一序列的不同排序中共享,所以超参数将会看到排列集合的所有排列情况,实现了对所有信息的捕捉。
并流注意力机制是一种注意力机制,用于同时考虑内容信息和位置信息。它可以捕获元素在序列中的位置关系,并关注元素之间的内容相似性,有助于模型更好地理解序列数据。
同时所述广义自回归语言模型包括排列机制和并流注意力机制,在学习上下文内容的情况下,弥补位置遮盖造成的学习能力的减弱缺点,充分考虑预测位的位置流和内容流,提升模型学习能力,提升模型预测准确性。基于Transformer模型构建的大语言模型包括编码层、聚合层和解析层,这些层级有助于处理自然语言文本数据,理解其内部结构和生成相关文本,排列机制和并流注意力机制等机制在此架构中有助于处理序列性数据。
在一种可能的实施方式中,如图2所示,大语言模型还包括输入层和输出层,输入层和编码层连接,输出层和解析层连接,输出层包括激活函数,激活函数为Sigmoid函数。
其中,输入层通常用于接收外部输入,例如用户提出的问题或请求文本,这是模型接收信息的地方,它可以将原始文本数据转换为模型可理解的格式。输出层通常用于生成模型的输出,例如回复文本或答案,这是模型生成信息的地方。在这种实施方式中,输出层包括一个激活函数,具体来说是Sigmoid函数。Sigmoid函数是一种非线性函数,因此可以用于引入非线性关系到模型中,这对于神经网络等模型来说非常重要,因为线性模型通常无法处理复杂的非线性问题,Sigmoid函数用于输出层,将神经元的输出映射到概率值。
总之,输入层和输出层是为了更好地处理输入和输出数据而添加的组件,连接它们与编码层和解析层有助于管理信息流,激活函数的使用则依赖于具体的任务和模型目标,用于对模型的输出进行适当的处理,这种架构的扩展可以使模型更灵活地处理各种自然语言处理任务,激活函数的选取可以根据实际需求进行选择。
训练模块4,用于利用增广后的训练数据集对所述大语言模型进行训练;
在一种可能的实施方式中,训练模块具体用于:
S1041:将增广后的训练数据集中的预置问题转换为结构化查询数据,其中,结构化查询数据的生成模板包括:查询列信息、选择的聚合函数、查询条件的列信息,对查询列信息执行的操作、操作对应的值以及查询列信息与查询条件的关系;
S1042:将增广后的训练数据集中的预置问题对应的解决方案生成可查询表,其中,可查询表包括表头、表头类型、表内容和表编号;
S1043:将文本长度为的结构化查询数据x进行排列组合,得到排列集合
S1044:将排列集合输入至广义自回归语言模型,确定广义自回归语言模型的学习目标:
其中,表示在所述排列集合中预测得到目标字符的概率,表示非目标字符,c表示文本分割点,θ表示模型超参数,表示在所述模型超参数下搜寻所述概率的最大值,表示排列集合的元素终点位置,t表示所述排列集合中的元素位置,表示任意文本长度对应的排列集合中预测目标的字符位置,表示预测目标的字符位置对应的元素,表示预测目标之前的元素,表示预测目标的概率分布,表示在transformer模型中进行内容预测和位置预测,表示作为模型输入数据x即任意预测目标的字符位置对应的元素的嵌入向量,表示嵌入向量序号,符号“exp”表示指数函数;
S1045:通过聚合层对嵌入向量进行聚合,得到结构化查询数据的表示矩阵;
S1046:根据表示矩阵,通过解析层从可查询表中生成结构化查询数据对应的结构化目标数据。
具体地,首先,S1041阶段将增广后的训练数据集中的预置问题转化为结构化查询数据,这一步的目的是将自然语言问题映射为计算机可以理解的结构化查询,以便模型能够对问题进行处理,这一过程可能包括将问题分解成查询列信息、选择的聚合函数、查询条件的列信息等部分,以构建标准化的查询数据。S1042阶段是为解决方案生成可查询表,该表包含了所需的信息,以便在训练模型时进行自监督学习,这个表包括表头、表头类型、表内容和表编号等信息,以帮助模型生成答案。S1043阶段将结构化查询数据转换为排列集合,其中每个元素代表一个不同的查询序列,这是为了扩充训练数据,使模型更好地理解不同问题形式和排列。S1044阶段使用排列集合作为输入,将其送入广义自回归语言模型中,确定广义自回归语言模型的学习目标,这个目标是为了让模型预测给定输入排列集合中的下一个字符,这种训练方式被称为自回归训练,它有助于模型生成自然语言文本。S1045阶段通过聚合层对嵌入向量进行聚合,以获得结构化查询数据的表示矩阵,这个表示矩阵将在训练中用于生成答案。S1046阶段使用表示矩阵和可查询表,通过解析层从可查询表中生成结构化查询数据对应的结构化目标数据,这是模型的输出答案。
通过将自然语言问题转换为结构化查询数据,可以更精确地表示问题和解决方案,从而提高模型的理解能力和泛化能力,排列组合的方式扩展了训练数据,使模型能够处理多种问题形式和排列,提高了模型的适应性和多样性。自回归训练有助于模型生成自然语言文本,使模型能够以自然的方式生成答案和回复。生成结构化目标数据有助于训练模型生成与输入相关的高质量答案,提高了模型的性能和可用性。总之,这个训练过程有助于模型更好地理解和回答自然语言问题,生成高质量的答案,并提高模型的多样性和适应性。
构造模块5,用于构造多分枝损失函数,对所述大语言模型的训练结果进行反馈;
其中,损失函数是一种用于度量模型预测值和实际目标之间差异的函数。它表示模型的性能,目标是最小化损失函数的值,在训练中,模型根据损失函数的值来更新参数,以提高模型的准确性。损失函数在训练大语言模型时用于度量模型的性能和指导参数的更新,多分枝损失函数是一种损失函数的扩展,用于多任务学习或多分枝结构的模型,在这种情况下,不仅有一个损失函数,而是为每个分支任务(或子任务)定义了一个独立的损失函数,这些损失函数通常关注模型对不同训练数据时反映出的性能,损失函数用于衡量模型在不同任务上的性能,因此它们反映了模型的多任务学习能力。
在大语言模型中,多分枝损失函数的设计允许模型同时处理多种自然语言处理任务,从而提高了模型的多功能性和通用性。通过在不同分支上使用不同的损失函数,模型可以平衡多个任务之间的权衡,并在训练过程中不断调整参数以最小化这些损失函数,这有助于模型在多个任务上表现出色,并提高了其在各种自然语言处理应用中的性能。
在一种可能的实施方式中,构造模块具体用于:
S1051:通过激活函数计算增广后的预置问题Qi得到正确答案的正确概率
其中,表示预置问题得到第j种解决方案的概率值;
S1052:根据所述正确概率,计算所述预置问题Qi得到正确的预测答案O的损失值
其中,yi=0或者1,yi=0表示所述预测答案不是所述预置问题的答案,yi=1表示所述预测答案是所述预置问题的答案,n表示所述预置问题的数量,i表示第i个预置问题;
S1053:计算所述预置问题Qi得到正确的预测答案O的整体损失值,即所述多分枝损失函数:
其中,k表示增广后的相同含义的预置问题数量。
具体地,S1051阶段通过使用激活函数来计算增广后的预置问题得到正确答案的正确概率,这意味着模型将预测每个预置问题的答案,并计算每个答案的概率值,这些概率值表示模型对每个问题-答案对的置信度。S1052阶段根据正确概率,计算预置问题Qi得到正确的预测答案O的损失值,损失值表示模型的预测与实际答案之间的差异,如果模型的预测是正确答案,则损失值较低,如果模型的预测不是正确答案,损失值较高,这有助于评估模型的性能在每个问题-答案对上。S1053阶段计算多分枝损失函数,它是所有问题-答案对损失值的总和的平均值,多分枝损失函数衡量了模型在整个任务集上的性能,它是模型在多个任务上的综合表现。多分枝损失函数与大语言模型训练结果之间的关系在于,这个损失函数用于度量模型在多个任务上的性能,通过最小化多分枝损失函数,模型被迫在多个任务上表现出色,而不仅仅是在单个任务上,这提高了模型的通用性和适应性。
微调模块6,用于根据损失函数值对所述大语言模型进行微调,直至所述损失函数值小于预设损失值;
具体地,微调模块用于微调大语言模型的参数,以使损失函数值逐渐减小,直至损失函数值小于预设的损失值。微调是一个迭代的过程,通常通过梯度下降或其变种来实现。下面是微调的一般步骤:初始化模型参数:首先,模型的参数会被初始化为某个初始值,通常,这些参数是在训练模型的初始阶段学到的,但它们可能需要进一步微调以提高模型性能。计算损失:使用训练数据集中的样本,计算当前模型的损失函数值,这个损失函数值表示模型的性能,我们的目标是使其尽可能小。计算梯度:计算损失函数相对于模型参数的梯度。梯度告诉我们,如果我们稍微改变参数的值,损失函数会如何变化,梯度下降方法将帮助我们找到使损失函数最小化的参数值。参数更新:根据计算得到的梯度,对模型的参数进行微小的更新,这个更新通常通过以下公式完成:参数 = 参数 - 学习率 梯度,学习率是一个超参数,它控制每次参数更新的大小。较小的学习率可以稳定训练,但需要更多的迭代次数,而较大的学习率可能导致不稳定的训练。重复迭代:重复迭代步骤,直到损失函数值小于预设的损失值或收敛到一个可以接受的水平,迭代的次数取决于训练数据的大小和复杂性,以及模型的初始状态。微调的目标是逐渐调整模型参数,使其更好地拟合训练数据,减小损失函数值,并提高模型的性能,成功的微调将使模型更具通用性,适应不同的任务和数据,微调需要多次迭代,直到模型达到满意的性能水平。
需要说明的是,本领域技术人员可以根据实际需要设置预设损失值的大小,本发明在此不做限定。
解析模块7,用于利用微调后的大语言模型对客户的请求文本进行解析,得到回复文本;
可以理解的是,经过训练后大语言模型已经经过了增广后训练数据集的训练,具备一定的泛华能力的语义识别和答案生成能力,使用训练完成的大语言模型接收客户的请求文本,进而在训练完成的超参数下,保持损失值较小的情况下生成相应的回复文本,即请求文本的答案。
发送模块8,用于将所述回复文本发送至所述客户。
在一种可能的实施方式中,如图3所示,所述系统还包括:
第一调用模块9,用于间隔预设时长重新调用微调模块,以维持损失函数值小于预设损失值。
需要说明的,设置定期调用微调模块,可以保持大语言模型的预测精度,避免长时间不检测导致的预测结果偏移过大的问题,通过控制损失函数的损失值,使得大语言模型始终保持较好的预测效果。
需要说明的是,本领域技术人员可以根据实际需要设置预设时长的大小,本发明实施例在此不做限定。
在一种可能的实施方式中,如图3所示,所述系统还包括:
第二调用模块10,用于统计回复文本为请求文本的符合概率,在符合概率低于预设概率的情况下,调用微调模块,对大语言模型进行微调。
需要说明的是,统计回复文本为请求文本的符合概率可以以一种持续的监测方式监测训练后的大语言模型的预测精度,以便在符合概率偏差较大的情况下及时调用微调模块对大语言模型进行修正。
需要说明的是,本领域技术人员可以根据实际需要设置预设概率的大小,本发明实施例在此不做限定。
上述技术方案,与现有技术相比至少具有如下有益效果:
(1)在本发明实施例中,通过对训练数据集进行基于同义词嵌入的数据增广,扩展训练数据集中中药名称及医疗工具名称的别称,进而使得以该训练数据集进行训练得到的模型能够快速识别各种不同中药相关称谓的请求文本,扩展系统的应对场景和回复能力,提升系统回复及时性和准确性。
(2)在本发明实施例中,通过建立以transformer模型为基础的大语言模型,并对大语言模型的编码层使用包括排列机制和并流注意力机制的广义自回归语言模型进行改进,这样,能够在学习上下文内容的同时,弥补自监督学习模型中位置遮盖造成的学习能力减弱的缺点,同时考虑遮盖位的位置流和遮盖位的上下文内容流,提升模型学习能力,进而提升模型预测准确性。
(3)在本发明实施例中,构造多分枝损失函数,对大语言模型的训练结果进行反馈,使得大语言模型的训练结果得到综合的监测,避免训练数据分散监测导致的损失函数下降过快进而出现的监测准确性差的问题,提升大语言模型的训练效果和训练后的预测精度。
上述实施例,可以全部或部分地通过软件、硬件(如电路)、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系,但也可能表示的是一种“和/或”的关系,具体可参考前后文进行理解。
本发明中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a, b, c, a-b, a-c, b-c, 或a-b-c,其中a,b,c可以是单个,也可以是多个。
应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (3)

1.一种基于大语言模型的中医客服回复系统,其特征在于,所述系统包括:
获取模块,用于获取关于中医资料的训练数据集,其中,所述中医资料包括:预置问题和相应的解决方案;
所述获取模块,具体用于通过学术数据库获取关于所述中医资料的训练数据集,其中,所述学术数据库包括:PubMed、CNKI、万方和维普;
增广模块,用于对所述训练数据集进行基于同义词嵌入的数据增广;
所述增广模块具体用于:
S1021:通过中文电子词典对所述训练数据集中的原始文本进行分词,得到分词后的原始文本:
其中,表示可替换词,m表示可替换词总数;表示之间的不可替换词,表示不可替换词总数;
S1022:构建每个可替换词的同义词词库;
所述S1022具体用于:
S1022A:找出所述可替换词的同义词,记为:
S1022B:将所述可替换词与所述同义词进行组合得到初始同义词词库
S1022C:遍历所述原始文本,找出所述可替换词在原始文本中的搭配词集
其中,表示可替换词的第h个搭配词;
S1022D:计算所述初始同义词词库中每个词语与所述搭配词集的搭配相似度
其中,表示在搭配词出现时初始同义词词库中词语的出现概率;表示搭配词与初始同义词词库中词语同时出现概率;表示搭配词的出现概率,所述出现概率由汉语语料库统计得到;
S1022E:设置搭配相似度阈值,去除初始同义词词库中小于所述搭配相似度阈值的词语;
S1022F:将去除后的初始同义词词库中的词语按与所述搭配词集的搭配相似度大小进行降序排列,得到各个所述可替换词的同义词词库;
S1023:在所述同义词词库中对所述可替换词进行编码,得到位置编码;
所述S1023具体用于:
S1023A:记录词语在所述同义词词库中的位置序号
其中,表示所述同义词词库中的同义词数量;
S1023B:将所述位置序号进行二进制转换,得到位的所述位置编码:
其中,符号表示取整;
S1024:根据编码后的同义词词库,将所述原始文本进行同义词替换,得到多个替换文本;
S1025:将所述替换文本添加至所述训练数据集,完成所述训练数据集的增广;
建立模块,用于建立以transformer模型为基础的大语言模型,其中,所述大语言模型包括:编码层、聚合层和解析层,所述编码层通过所述聚合层与所述解析层连接,其中,所述编码层包括:广义自回归语言模型,所述广义自回归语言模型包括排列机制和并流注意力机制,所述并流注意力机制用于接收所述排列机制的输出,所述并流注意力机制包括:内容流注意力机制和位置流注意力机制;
训练模块,用于利用增广后的训练数据集对所述大语言模型进行训练;
所述训练模块具体用于:
S1041:将增广后的训练数据集中的预置问题转换为结构化查询数据,其中,所述结构化查询数据的生成模板包括:查询列信息、选择的聚合函数、查询条件的列信息,对所述查询列信息执行的操作、所述操作对应的值以及所述查询列信息与所述查询条件的关系;
S1042:将增广后的训练数据集中的预置问题对应的所述解决方案生成可查询表,其中,所述可查询表包括:表头、表头类型、表内容和表编号;
S1043:将文本长度为l的结构化查询数据x进行排列组合,得到排列集合
S1044:将所述排列集合输入至所述广义自回归语言模型,确定所述广义自回归语言模型的学习目标:
其中,表示在所述排列集合中预测得到目标字符的概率,表示非目标字符,c表示文本分割点,θ表示模型超参数,表示在所述模型超参数下搜寻所述概率的最大值,表示排列集合的元素终点位置,t表示所述排列集合中的元素位置,表示任意文本长度对应的排列集合中预测目标的字符位置,表示预测目标的字符位置对应的元素,表示预测目标之前的元素,表示预测目标的概率分布,表示在transformer模型中进行内容预测和位置预测,表示作为模型输入数据x即任意预测目标的字符位置对应的元素的嵌入向量,表示嵌入向量序号,符号“exp”表示指数函数;
S1045:通过所述聚合层对所述嵌入向量进行聚合,得到所述结构化查询数据的表示矩阵;
S1046:根据所述表示矩阵,通过所述解析层从所述可查询表中生成所述结构化查询数据对应的结构化目标数据;
构造模块,用于构造多分枝损失函数,对所述大语言模型的训练结果进行反馈;
所述大语言模型还包括:输入层和输出层,所述输入层和所述编码层连接,所述输出层和所述解析层连接,所述输出层包括:激活函数,所述激活函数为Sigmoid函数;
所述构造模块具体用于:
S1051:通过激活函数计算增广后的预置问题Q i 得到正确答案的正确概率
其中,表示预置问题得到第j种解决方案的概率值;
S1052:根据所述正确概率,计算所述预置问题Q i 得到正确的预测答案O的损失值
其中,y i =0或者1,y i =0表示所述预测答案不是所述预置问题的答案,y i =1表示所述预测答案是所述预置问题的答案,n表示所述预置问题的数量,i表示第i个预置问题;
S1053:计算所述预置问题Q i 得到正确的预测答案O的整体损失值,即所述多分枝损失函数:
其中,k表示增广后的相同含义的预置问题数量;
微调模块,用于根据损失函数值对所述大语言模型进行微调,直至所述损失函数值小于预设损失值;
解析模块,用于利用微调后的大语言模型对客户的请求文本进行解析,得到回复文本;
发送模块,用于将所述回复文本发送至所述客户。
2.根据权利要求1所述的基于大语言模型的中医客服回复系统,其特征在于,所述系统还包括:
第一调用模块,用于间隔预设时长重新调用所述微调模块,以维持所述损失函数值小于所述预设损失值。
3.根据权利要求1所述的基于大语言模型的中医客服回复系统,其特征在于,所述系统还包括:
第二调用模块,用于统计所述回复文本为所述请求文本的符合概率,在所述符合概率低于预设概率的情况下,调用所述微调模块,对所述大语言模型进行微调。
CN202410465315.7A 2024-04-18 2024-04-18 一种基于大语言模型的中医客服回复系统 Active CN118070907B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410465315.7A CN118070907B (zh) 2024-04-18 2024-04-18 一种基于大语言模型的中医客服回复系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410465315.7A CN118070907B (zh) 2024-04-18 2024-04-18 一种基于大语言模型的中医客服回复系统

Publications (2)

Publication Number Publication Date
CN118070907A CN118070907A (zh) 2024-05-24
CN118070907B true CN118070907B (zh) 2024-07-09

Family

ID=91102162

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410465315.7A Active CN118070907B (zh) 2024-04-18 2024-04-18 一种基于大语言模型的中医客服回复系统

Country Status (1)

Country Link
CN (1) CN118070907B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116341546A (zh) * 2023-02-15 2023-06-27 道亿科技医疗健康(海南)有限公司 一种基于预训练模型的医学自然语言处理方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111128122B (zh) * 2019-12-31 2022-08-16 思必驰科技股份有限公司 韵律预测模型的优化方法及系统
CN111581952B (zh) * 2020-05-20 2023-10-03 长沙理工大学 一种用于自然语言信息隐藏的大规模可替换词词库构建方法
CN115828902A (zh) * 2023-01-03 2023-03-21 长沙理工大学 一种基于神经语言模型的保护文档版权的数字水印方法
CN117763093B (zh) * 2024-02-22 2024-05-03 数字苏州建设有限公司 一种基于预训练语言模型的信息记录数据分块方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116341546A (zh) * 2023-02-15 2023-06-27 道亿科技医疗健康(海南)有限公司 一种基于预训练模型的医学自然语言处理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"XLNet: Generalized Autoregressive Pretraining for Language Understanding";Zhilin Yang.etc;《arxiv》;20190619;全文 *

Also Published As

Publication number Publication date
CN118070907A (zh) 2024-05-24

Similar Documents

Publication Publication Date Title
Gao et al. Camp: Co-attention memory networks for diagnosis prediction in healthcare
Liu et al. Joint binary classifier learning for ECOC-based multi-class classification
US11521713B2 (en) System and method for generating clinical trial protocol design document with selection of patient and investigator
US20230274420A1 (en) Method and system for automated generation of text captions from medical images
Liu et al. Medical-vlbert: Medical visual language bert for covid-19 ct report generation with alternate learning
CN112016295B (zh) 症状数据处理方法、装置、计算机设备及存储介质
CN112149414B (zh) 文本相似度确定方法、装置、设备及存储介质
CN110931137B (zh) 机器辅助对话系统、方法及装置
CN115098620A (zh) 一种注意力相似度迁移的跨模态哈希检索方法
WO2023272748A1 (zh) 一种面向学术精准推荐的异质科研信息集成方法及系统
CN115238053A (zh) 基于bert模型的新冠知识智能问答系统及方法
CN108427717A (zh) 一种基于逐步扩展的字母类语系医疗文本关系抽取方法
CN114358001A (zh) 诊断结果的标准化方法及其相关装置、设备和存储介质
CN110299194B (zh) 基于综合特征表示与改进宽深度模型的相似病例推荐方法
CN116975218A (zh) 文本处理方法、装置、计算机设备和存储介质
CN114757188A (zh) 一种基于生成对抗网络的规范医疗文本改写方法
Pan et al. A BERT-based generation model to transform medical texts to SQL queries for electronic medical records: model development and validation
Guo et al. Matching visual features to hierarchical semantic topics for image paragraph captioning
CN118070907B (zh) 一种基于大语言模型的中医客服回复系统
Ferreira et al. Evaluating human-machine translation with attention mechanisms for industry 4.0 environment SQL-based systems
CN113035303A (zh) 一种中文电子病历的命名实体类别标注方法与系统
CN116860947A (zh) 面向文本阅读理解的选择题生成方法、系统及存储介质
CN115936014B (zh) 一种医学实体对码方法、系统、计算机设备、存储介质
CN116341546A (zh) 一种基于预训练模型的医学自然语言处理方法
CN110633363B (zh) 一种基于nlp和模糊多准则决策的文本实体推荐方法

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