掌桥专利:专业的专利平台
掌桥专利
首页

一种基于数字人的交互方法、装置及存储介质

文献发布时间:2024-04-18 20:02:18


一种基于数字人的交互方法、装置及存储介质

技术领域

本公开涉及数据交互技术领域,特别是涉及一种基于数字人的交互方法、装置及存储介质。

背景技术

在煤炭开采过程中,需要多种设备进行联动进行开采。其中,在开采过程中若存在设备发生故障,并且没有及时发现,或者故障没有及时解决,都可能会导致整个煤矿开采工作的中断,从而造成严重损失。例如,液压支架在煤炭开采过程中产生了大量的数据,包括矿山操作数据和大量的设备传感器数据等,液压支架的故障可能导致事故和安全风险,对工作人员造成伤害,还可能导致生产中断和延误,对煤炭生产效率产生负面影响,且液压支架的故障修复和维护成本较高。

相关技术中,传统的液压支架故障诊断方法通常依赖于工程师的经验和专业知识,该方法受限于个体经验的局限性,容易出现主观判断和误诊的情况;传统的液压支架故障诊断方法通常需要离线分析和实验室测试,无法实现实时监测和诊断,这导致故障诊断的响应时间较长,无法及时采取措施防止故障发展;传统方法在液压支架故障诊断的准确性上存在一定的限制,复杂的故障模式和互相影响的因素使得诊断过程变得困难,容易出现误报和漏报的情况,故障诊断精确度低。

发明内容

本公开提供了一种基于数字人的交互方法、装置及存储介质,通过目标故障诊断大模型实时自动得到问题数据的推理结果,不需要依赖人工经验,保证了诊断实时性,提高了故障诊断精确度,并基于推理结果驱动数字人,以实现数字人与用户的交互,提高了用户体验。

根据本公开的一方面,提供了一种基于数字人的交互方法,包括:

获取用户需要回答的问题数据,并确定所述问题数据的类型;

基于所述问题数据所属类型,通过目标故障诊断大模型得到回答所述问题数据的推理结果;

基于所述推理结果驱动数字人,以实现所述数字人与所述用户的交互。

可选的,所述问题数据的类型包括概念类型和分析类型;所述基于所述问题数据所属类型,通过目标故障诊断大模型得到回答所述问题数据的推理结果,包括:

若所述问题数据的类型为概念类型,则将所述问题数据输入所述目标故障诊断大模型中得到回答所述问题数据的推理结果;

若所述问题数据的类型为分析类型,则在故障诊断知识库中对所述问题数据进行知识搜索,获得所述问题数据对应的背景信息;

基于所述问答数据和所述背景信息生成目标prompt模板;

将生成的所述目标prompt模板,输入所述故障诊断大模型中得到回答所述问题数据的推理结果。

可选的,所述在故障诊断知识库中对所述问题数据进行知识搜索,获得所述问题数据对应的背景信息之前,所述方法还包括:

获取问题数据集和文章数据集,其中,所述问题数据集和所述文章数据集属于同一领域;

将所述文章数据集中的文章名称进行拆分并转化为结构化数据,得到所述文章名称对应的文章名称数据集;

根据预设规则将所述问题数据集进行分类,得到概念类问题数据集和分析类问题数据集;

基于所述分析类问题数据集、所述文章数据集和所述文章名称数据集,构建故障诊断知识库。

可选的,所述基于所述分析类问题数据集、所述文章数据集和所述文章名称数据集,构建故障诊断知识库,包括:

将所述分析类问题数据集和所述文章名称数据集输入文本分析模型,得到所述分析类问题数据集中每个问题与所述文章名称数据集中文章名称的第一对应关系;

确定所述分析类问题数据集的关键词集合;

基于所述关键词集合,得到所述关键词集合中每个关键词与所述分析类问题数据集中问题数据的第二对应关系;

将所述文章数据集中每篇文章的内容进行抽取,得到所述每篇文章对应的文本内容和所述每篇文章的文章名称与文本内容的第三对应关系;

基于所述第一对应关系、第二对应关系和所述第三对应关系,构建所述故障诊断知识库。

可选的,所述基于所述第一对应关系、第二对应关系和所述第三对应关系,构建所述故障诊断知识库,包括:

基于所述第一对应关系、所述第二对应关系和所述第三对应关系创建一个向量库索引;

将所述第一对应关系、第二对应关系和所述第三对应关系中的内容分别输入至文本分析模型,得到对应的向量化表示;

基于所述向量库索引和向量化表示,构建所述故障诊断知识库。

可选的,所述在故障诊断知识库中对所述问题数据进行知识搜索,获得所述问题数据对应的背景信息,包括:

将所述问题数据输入至文本分析模型中,得到所述问题数据的向量化表示;

将所述问题数据的向量化表示与故障诊断知识库中的向量数据进行匹配,得到所述问题数据相关的文本内容;

通过余弦相似度,将所述问题数据相关的文本内容中与所述问题数据相似度最高的文本内容,确定为所述问题数据对应的背景信息。

可选的,所述基于所述问题数据所属类型,通过目标故障诊断大模型得到回答所述问题数据的推理结果之前,所述方法还包括:

基于故障诊断知识库构建微调数据集;

利用所述微调数据集对预设故障诊断大模型进行微调,得到目标故障诊断大模型。

根据本公开的另一方面,提供了一种基于数字人的交互装置,其特征在于,所述装置包括:

获取模块,用于获取用户需要回答的问题数据,并确定所述问题数据的类型;

模型处理模块,用于基于所述问题数据所属类型,通过目标故障诊断大模型得到回答所述问题数据的推理结果;

交互模块,用于基于所述推理结果驱动数字人,以实现所述数字人与所述用户的交互。

根据本公开的另一方面,提供了一种电子设备,包括:

至少一个处理器;以及

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述一方面中任一项所述的方法。

根据本公开的另一方面,提供了一种存储有计算机指令的计算机存储介质,其中,所述计算机存储介质存储有计算机可执行指令;所述计算机可执行指令被处理器执行后,能够实现前述一方面中任一项所述的方法。

本公开实施例的基于数字人的交互方法和装置,通过目标故障诊断大模型实时自动得到问题数据的推理结果,不需要依赖人工经验,保证了诊断实时性,提高了故障诊断精确度,并基于推理结果驱动数字人,以实现数字人与用户的交互,提高了用户体验。

本公开附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本公开的实践了解到。

附图说明

本公开上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1是根据本公开实施例的基于数字人的交互方法的流程图;

图2为根据本公开实施例的一种数字人的示意图;

图3是根据本公开实施例的基于数字人的交互装置的结构图;

图4是用来实现本公开实施例的基于数字人的交互方法的电子设备的框图。

具体实施方式

需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。

为了使本技术领域的人员更好地理解本公开方案,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分的实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本公开保护的范围。

下面参照附图描述根据本公开实施例提出的基于数字人的交互方法和装置。

图1是本公开实施例的基于数字人的交互方法的流程图。

如图1所示,该基于数字人的交互方法,包括:

S101,获取用户需要回答的问题数据,并确定问题数据的类型;

其中,需要说明的是,上述基于数字人的交互方法的执行主体为基于数字人的交互装置,该基于数字人的交互装置可以由软件和/或硬件的方式实现,该实施例中的基于数字人的交互装置可以配置在电子设备中。

其中,本示例实施例中电子设备可以包括终端设备和服务器等设备,该实施例对电子设备不作限定。

示例的,在本公开的一个实施例中,用户需要回答的问题数据可以为“2023年煤炭行业常用的液压支架电液控故障诊断方案是什么?”。

在本公开的一个实施例中,上述问题数据的类型可以包括概念类型和分析类型。

其中,在本公开的一个实施例中,获取用于分析的问题数据集后,可以根据问题数据涉及的年份个数对该问题数据集进行分类。示例的,假设问题数据集中包括3500个问题数据,则根据涉及的年份个数对该问题数据集进行分类后,得到的分类结果为1300个问题数据中包含的年份个数为0;1200个问题数据中包含的年份个数为1;1000个问题数据中包含的年份个数为2。

以及,在本公开的一个实施例中,包含年份个数为0的问题数据中可能包括煤炭故障诊断领域数据、概念、政策(例如“煤炭开采过程中可能出现的故障类型”),不包含具体的年份信息的关于概念性知识的询问,而不是某一特定时间段的煤炭领域问题;包含年份个数为1的问题数据通常非常具体,指向某一关键问题在某一年度的具体内容或数据,且大多数问题都与某一特定的煤炭领域指标或数据点有关,基于此,这类问题的特点是明确、具体,可能是对某一篇文章的某一年的特定内容或数据进行查询(例如“2020年之后煤炭行业三机如何进行故障诊断?”);对包含年份个数为2的问题数据可能是进行两个年份之间的对比,该类问题数据在于对两个年份的某一特定数据或内容进行比较,可能需要从两个不同的数据点中检索信息,并进行相应的比较。

进一步地,在本公开的一个实施例中,基于上述对问题数据特点进行分析后,可以得出包含年份个数为2的问题数据是涉及两个年份的内容,基于此,回复该类问题数据时需要同时考虑两个年份的文章内容。在本公开的一个实施例中,可以根据问题数据中涉及的年份数量对问题进行分类,不涉及具体年份的问题数据的类型为概念类型;涉及年份的问题数据的类型为分析类型。

进一步地,在本公开的一个实施例中,获取用户需要回答的问题数据之后,可以根据该问题数据中的年份个数对该问题数据进行分类,若该问题数据不包括年份则确定该问题数据的类型为概念类型;若该问题数据包括年份则确定该问题数据的类型为分析类型。

S102,基于问题数据所属类型,通过目标故障诊断大模型得到回答问题数据的推理结果;

其中,在本公开的一个实施例中,通过上述步骤确定问题数据的类型后,可以基于问题数据所属类型,通过目标故障诊断大模型得到回答问题数据的推理结果。

具体地,在本公开的一个实施例中,基于问题数据所属类型,通过目标故障诊断大模型得到回答问题数据的推理结果的方法可以包括以下步骤:

步骤1、若问题数据的类型为概念类型,则将问题数据输入目标故障诊断大模型中得到回答问题数据的推理结果;

其中,在本公开的一个实施例中,若问题数据的类型为概念类型,此时可以利用目标故障诊断大模型得到回答问题数据的推理结果。

步骤2、若问题数据的类型为分析类型,则在故障诊断知识库中对问题数据进行知识搜索,获得问题数据对应的背景信息;

以及,在本公开的一个实施例中,若问题数据的类型为分析类型,需要在故障诊断知识库中对问题数据进行知识搜索,以获得该问题数据对应的背景信息。其中,在本公开的一个实施例中,在故障诊断知识库中对问题数据进行知识搜索,获得问题数据对应的背景信息之前,该方法还可以包括以下步骤:

步骤a、获取问题数据集和文章数据集,其中,问题数据集和文章数据集属于同一领域;

其中,在本公开的一个实施例中,上述问题数据集中的问题数据与文章数据集中文章属于同一领域,以便回答问题数据的解答数据更加准确。示例的,在本公开的一个实施例中,问题数据集和文章数据集属于液压支架的故障诊断领域。

以及,在本公开的一个实施例中,上述文章数据集可以为煤炭领域的故障诊断论文,如液压支架电液控制系统故障诊断技术研究。

步骤b、将文章数据集中的文章名称进行拆分并转化为结构化数据,得到文章名称对应的文章名称数据集;

其中,在本公开的一个实施例中,将文章数据集中的文章名称进行拆分并转化为结构化数据之前,可以将文章数据集中的文章名称进行规范命名。示例的,将文件名称中的关键词之间使用“__”来分割,假设文章名称为“基于大数据的液压支架液压系统故障诊断及维修”,则可以基于关键词“基于大数据”、“液压支架”、“故障诊断及维修”之间使用“__”来分割,得到规范命名为“基于大数据__的__液压支架__液压系统__故障诊断及维修”。

以及,在本公开的一个实施例中,将文章数据集中的文章名称进行规范命名之后,可以将文章名称拆分并转化为结构化数据。具体地,在本公开的一个实施例中,将文章名称数据转化为pd.DataFrame格式,并将pd.DataFrame格式的文件名进行拆分并转化为结构化数据,得到文章名称对应的文章名称数据集。

其中,在本公开的一个实施例中,对于规范命名的文件名称,可以通过Pandas的.loc方法将其分解成多个部分并分别存储。以及,该方法可以根据行和列的标签对DataFrame进行索引,并对多个元素进行同时赋值。

示例的,在本公开的一个实施例中,创建一个简单的DataFrame df_temp,包含单列数据'A','B','C',和'D',通过使用.loc方法对DataFrame进行多项赋值,即:将第0行和第1行的值更改为'a'和'b',同时可以使用str.split方法进行拆分,并使用.loc方法对DataFrame完成多项赋值。

步骤c、根据预设规则将问题数据集进行分类,得到概念类问题数据集和分析类问题数据集;

步骤d、基于分析类问题数据集、文章数据集和文章名称数据集,构建故障诊断知识库。

其中,在本公开的一个实施例中,上述基于分析类问题数据集、文章数据集和文章名称数据集,构建故障诊断知识库的方法可以包括以下步骤:

步骤一、将分析类问题数据集和文章名称数据集输入文本分析模型,得到分析类问题数据集中每个问题与文章名称数据集中文章名称的第一对应关系;

其中,在本公开的一个实施例中,在确定分析类问题数据集中每个问题与文章名称数据集中文章名称的第一对应关系时,可以将问题数据集中问题数据和文章名称数据集中文章名称进行文本嵌入处理,并通过向量之间的相似度得到分析类问题数据集中每个问题与文章名称数据集中文章名称的第一对应关系。其中,文本嵌入为将信息通过特定算法转化为高维向量。

以及,在本公开的一个实施例中,可以将分析类问题数据集和文章名称数据集输入文本分析模型,将问题数据与文章名称转化为具体的向量表示。其中,在本公开的一个实施例中,上述文本分析模型可以是训练好的text2vec-large模型。

进一步地,在本公开的一个实施例中,在得到问题数据与文章名称的向量表示后,可以通过余弦相似得到分析类问题数据集中每个问题相似的文章名称。其中,分析类问题数据集中每个问题与文章名称数据集中文章名称的第一对应关系可以为与每个问题相似度最高的文章名称,此时第一对应关系为一对一;还可以为与每个问题相似度靠前的多个文章名称,此时第一对应关系为一对多。

以及,在本公开的一个实施例中,在利用文本分析模型对分析类问题数据集和文章名称数据集进行处理之前,还可以对该文本分析模型进行验证,以确保文本嵌入结果的正确性和有效性。

具体地,在本公开的一个实施例中,利用文本分析模型得到问题数据的嵌入向量表示矩阵后,计算问题表示矩阵与其自身的转置的点积,该操作会生成一个相似度矩阵,其中每个元素(i,j)表示第i个问题和第j个问题的向量表示之间的相似度,然后提取上述相似度矩阵的主对角线,若主对角线上的值均为1,说明文本嵌入正确地捕捉到了每个问题的语义,并且这些向量已经被正则化,证实了文本嵌入是正确和有效的;否则,说明该文本分析模型的正确性较低,需要对该文本分析模型进行训练,提高该文本分析模型的正确性。

进一步地,在本公开的一个实施例中,在利用文本分析模型对分析类问题数据集和文章名称数据集进行处理之前,还可以通过以下优化策略对该分析类问题数据集和文章名称数据集进行处理,以提高后续处理的准确性。其中,在本公开的一个实施例中,上述优化策略可以包括调整文件名称,保留文件名称的关键信息(如技术手段、煤炭领域主体和报告年份)以简化文件名称,增强后续的匹配效果;文本清洗,利用jieba分词和停用词词典,去除了与问题无关的内容,使得问题名称的描述更加简洁与精确;利用Faiss工具构建向量库,对匹配错误的情况,通过逻辑筛选和多重正确性校验,建立了一个优先级规则,该规则为all_name:全称完全匹配,准确度最高;emb_find:包含简称并且通过相似度匹配成功;refind_list:仅通过简称直接匹配成功;notin_list:Embedding匹配成功,但不包含简称。

步骤二、确定分析类问题数据集的关键词集合;

其中,在本公开的一个实施例中,可以采用人工构造关键词。

示例的,在本公开的一个实施例中,按照答案的评测指标可以想到的关键词如:年份(如"2019年"、"2020年")、技术全称或简称(如"故障诊断"、"大数据"、"迁移学习"、"深度学习等)。以及,每个抽取的关键词之间使用"#"对问题数据进行标注。

以及,在本公开的一个实施例中,构造关键词后,可以确定分析类问题数据集的关键词集合。其中,在本公开的一个实施例中,对每一关键词将相关的问题分类并处理,在完成一个关键词的处理后,从分析类问题数据集中移除相应的问题数据,重复上述循环,直至所有的主要关键词均被抽取完毕或所有问题均已处理。具体地,在本公开的一个实施例中,上述方法操作流程如下:

①创建分析类问题数据集的副本:为确保分析类问题数据集的完整性并方便后续操作,构建分析类问题数据集的副本;

②基于关键词集合对分析类问题数据集的副本中的问题数据进行筛选;

③找到所有包含定义的关键词的问题索引;

④在分析类问题数据集的副本中移除已匹配关键词的问题数据;

⑤基于特定的关键词筛选并处理相关问题后,从分析类问题数据集的副本中移除已处理的问题,以逐渐缩小数据集,从而在接下来的迭代中找到其他的关键词相关的问题数据,从而确保对每一个主要指标都进行了处理,不会遗漏任何关键词;

⑥第二次循环,对需要修改新的主要关键词,再次执行Step②~Step③;

⑦定位主要关键词列表,不断重复此过程,得到一个包含多个(如183个)关键词的列表;

⑧验证一下分析类数据集中的每个问题是否都至少包含了关键词列表中的一个关键词。

步骤三、基于关键词集合,得到关键词集合中每个关键词与分析类问题数据集中问题数据的第二对应关系;

步骤四、将文章数据集中每篇文章的内容进行抽取,得到每篇文章对应的文本内容和每篇文章的文章名称与文本内容的第三对应关系;

其中,在本公开的一个实施例中,将文章数据集中每篇文章的内容进行抽取的方法可以包括以下步骤:

Step1、使用Converter类读取文章数据集中PDF文件,执行pdf2word函数将每个PDF文件转换为word文件;

Step2、利用docx.Document(word_path)读取word文件,判断docx中每个block类型(段落或表格),获取段落/表格中的内容:1)段落->非空、去除特殊字符;2)表格->去除空字符;

Step3:遍历word文件产生的列表数据,标注每个列表类型(标题/文本/表格),按顺序分别合并同一小标题下的文本和表格;

Step4:根据标注类型对文件内容进行处理。

具体地,在本公开的一个实施例中,确定标注类型,当检测到新的章、节或部分时,更新当前章、节或部分的值,并检查下一个元素以确定当前元素是否是该章、节或部分的最后一个元素。若是,则将被视为"unknown"并被加入到merged_list;对于表格和文本内容,与当前的章、节和部分一起被添加到merged_list;输出一个元组类型,每个元组有五个元素:当前的章、节、部分、类型(表格或文本)和实际内容。

进一步地,在本公开的一个实施例中,将处理后的文本内容保存为CSV格式。其中,在本公开的一个实施例中,在将上述处理后的文本内容保存为CSV格式时,将所有的缺失值(null)替换为空字符串(”);提取表格数据单位(如"万元"、"亿美元"等),删除表格中的数字以提高文本嵌入的准确性;直接保存处理后的文本数据。

步骤五、基于第一对应关系、第二对应关系和第三对应关系,构建故障诊断知识库。

其中,在本公开的一个实施例中,通过上述步骤得到第一对应关系、第二对应关系和第三对应关系后,可以基于第一对应关系、第二对应关系和第三对应关系,构建故障诊断知识库。

具体地,在本公开的一个实施例中,基于第一对应关系、第二对应关系和第三对应关系,构建所述故障诊断知识库的方法可以包括:基于第一对应关系、第二对应关系和第三对应关系创建一个向量库索引;将第一对应关系、第二对应关系和第三对应关系中的内容分别输入至文本分析模型,得到对应的向量化表示;基于向量库索引和向量化表示,构建故障诊断知识库。

其中,在本公开的一个实施例中,可以使用Faiss基于第一对应关系、第二对应关系和第三对应关系创建一个向量库索引,从而可以快速定位所需查询故障诊断的内容,减少查询所需的时间。

进一步地,在本公开的一个实施例中,通过上述步骤构建故障诊断知识库后,可以在故障诊断知识库中对问题数据进行知识搜索,获得问题数据对应的背景信息。其中,在本公开的一个实施例中,在故障诊断知识库中对问题数据进行知识搜索,获得问题数据对应的背景信息的方法可以包括:将问题数据输入至文本分析模型中,得到问题数据的向量化表示;将问题数据的向量化表示与故障诊断知识库中的向量数据进行匹配,得到问题数据相关的文本内容;通过余弦相似度,将问题数据相关的文本内容中与问题数据相似度最高的文本内容,确定为问题数据对应的背景信息。

其中,在本公开的一个实施例中,上述得到问题数据相关的文本内容可以为多个段落内容或者不同文章的文本内容,基于此,得到问题数据相关的文本内容后,还需要通过余弦相似度,将问题数据相关的文本内容中与问题数据相似度最高的文本内容确定为问题数据对应的背景信息。

步骤3、基于问答数据和背景信息生成目标prompt模板;

其中,在本公开的一个实施例中,通过上述步骤得到问答数据对应的背景信息后,可以将问题数据和背景信息组合形成一个完整的提问模板,该模板将为目标故障诊断大模型提供足够的上下文信息,确保目标故障诊断大模型能够给出精准的回答。

步骤4、将生成的目标prompt模板,输入目标故障诊断大模型中得到回答问题数据的推理结果。

其中,在本公开的一个实施例中,在将生成的目标prompt模板,输入故障诊断大模型中得到回答问题数据的推理结果之前,该方法还可以包括:基于故障诊断知识库构建微调数据集;利用微调数据集对预设故障诊断大模型进行微调,得到目标故障诊断大模型。

以及,在本公开的一个实施例中,不同于全量微调(FT)方式,高效微调PEFT的数据集具有其特有的结构,如问答对形式,该形式更容易捕获到特定任务中的信息,并能够为模型提供更加明确的学习目标。示例的如下所示:{"question":"....","answer":"...."}。

进一步地,在本公开的一个实施例中,基于故障诊断知识库构建微调数据集的方法可以包括:获取包含"煤炭领域"、"基本情况简介"、"算法技术"、"解决问题"、"年份"、"作者";获取多思考类型的问题数据;构建与故障诊断大模型交互的逻辑,返回响应及历史对话内容;为两种不同的匹配背景(文本型和数字型)创建交互历史(history),并为该提示提供正确答案,作为上下文提供给故障诊断大模型;根据提供的Json获得相对应的内容并利用故障诊断大模型回复。

进一步地,在本公开的一个实施例中,上述单思考类型为只需要一次思考,故障诊断大模型可以直接给出答案;多思考类型为需要至少两次的思考,故障诊断大模型无法直接给出答案。需要多次Chat的过程,并伴随着对比、计算、格式标准化。

示例的,在本公开的一个实施例中,传感器异常为单思考类型,问题描述:某个煤炭开采设备上的温度传感器显示数值异常;问题答案一般只需要一步思考:给出答复直接检查温度传感器的连接状态,查看是否有明显的损坏或故障;如果连接正常,可能需要简单的重新校准传感器;振动异常导致液压支架设备故障为多思考类型,需多次思考比对,一台重要的液压支架发生异常振动,但不清楚具体是什么原因导致的。其中,首先确定异常振动的频率和幅度,然后结合设备的工作原理和历史数据,逐步排查可能的原因,可能涉及到设备的结构、润滑情况、零部件磨损等多个方面的问题。

进一步地,在本公开的一个实施例中,采用Deepspeed、P-tuning v2和故障诊断大模型组合进行微调,其中,对部分参数进行微调而预设故障诊断大模型(LLM)大部分的参数则保持不变。

其中,在本公开的一个实施例中,DeepSpeed训练过程中涉及的主要参数和分类如下:

#参数赋值

PRE_SEQ_LEN=128#采用默认

MAX_SOURCE_LEN=400#question文本token长度

MAX_TARGET_LEN=40#answer文本token长度

MAX_STEPS=500#bs*epoach取得

SAVE_STPES=100 #一个checkpoint占用储存空间24GB

#核心参数超参数

TRAIN_BATCH_SIZE=4#训练集一次抽样数量

EVAL_BATCH_SIZE=4#测试集一次抽样数量

GRA_ACC_STEPS=16 #累计传播步数

LR=5e-4#学习率

LR_SCHEDULER_TYPE=cosine#学习率类型

DATA_NAME=SMP-$LR_SCHEDULER_TYPE

MASTER_PORT=$(shuf-n 1-i 10000-65535)

2.常规参数

其中,MAX_SOURCE_LEN采用tokenizer.encode方法获得编码,在计算编码长度。在微调过程中,对question和answer文本进行token化,并使用tokenizer.encode方法获得编码,再分别取最大的值,本文计算结果为366、34,最终取400、40。

3.核心参数超参数

4、微调参数设计

TRAIN_BATCH_SIZE=[1,2,4]

#EVAL_BATCH_SIZE=TRAIN_BATCH_SIZE

GRA_ACC_STEPS=[2,4]

LR=[5e-5,5e-4,5e-3]

LR_SCHEDULER_TYPE=["cosine","linear","constant"]

其中,在本公开的一个实施例中,在模型的微调过程中,通过不同的参数组合以优化模型性能。具体地,在本公开的一个实施例中,TRAIN_BATCH_SIZE(即每次训练迭代时的数据样本批量大小)使用了1、2和4三个值,并在评估模型性能的时候,同样采用这三个设定的批量大小。同时,在累计梯度的步数上,设置了2和4两个值;对于学习率,采用了三个不同的值,并针对每个学习率值,设置了三种不同的学习率调整策略。

以及,在本公开的一个实施例中,结合上述所提到的各参数可能的值,共有54种不同的参数组合(3个批量大小x 3个学习率x 2种累计梯度策略x 3种学习率调整策略=54)。基于此,将运行54次独立的微调过程,每次使用一个特定的参数组合,最终得到54个结果,在这54次微调过程中,共计保存了106个checkpoint,目的是找到能够达到最佳性能的参数设置。

进一步地,在本公开的一个实施例中,上述目标故障诊断大模型可以是ChatGLM2-6B模型。

S103,基于推理结果驱动数字人,以实现数字人与用户的交互。

在本公开的一个实施例中,基于UE5及methman插件开发“数字人”,并接入训练好的目标故障诊断大模型,使得“数字人”具有文字抓取及语音对话能力,建立煤炭行业相关知识库。图2为根据本公开实施例提供的一种数字人的示意图。

其中,在本公开的一个实施例中,如图2所示,进行数字人环境安装与搭建,通过AI生成3D模型后捏虚拟数字人,通过UE5接入故障诊断大模型,然后依次通过界面调整和模块化重组、微软语音接入、语音驱动嘴型、角色动画重定向、身体和头部分离处理、眨眼睛表情控制、面部表情控制、动作切换控制、微软语音识别、动作切换控制驱动数字人,以实现数字人与用户的交互。

在本公开一个或多个实施例中,获取用户需要回答的问题数据,并确定问题数据的类型,然后基于问题数据所属类型,通过目标故障诊断大模型得到回答问题数据的推理结果,基于推理结果驱动数字人,以实现数字人与用户的交互。由此,通过目标故障诊断大模型实时自动得到问题数据的推理结果,不需要依赖人工经验,保证了诊断实时性,提高了故障诊断精确度,并基于推理结果驱动数字人,以实现数字人与用户的交互,提高了用户体验。

下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。

请参见图3,其示出了本公开一个实施例提供的一种基于数字人的交互装置的结构示意图。该基于数字人的交互装置10包括获取模块100、模型处理模块200、交互模块300,其中:

获取模块100,用于获取用户需要回答的问题数据,并确定问题数据的类型;

模型处理模块200,用于基于问题数据所属类型,通过目标故障诊断大模型得到回答问题数据的推理结果;

交互模块300,用于基于推理结果驱动数字人,以实现数字人与用户的交互。

可选的,在本公开的一个实际例中,上述模型处理模块,具体用于:

若问题数据的类型为概念类型,则将问题数据输入目标故障诊断大模型中得到回答问题数据的推理结果;

若问题数据的类型为分析类型,则在故障诊断知识库中对问题数据进行知识搜索,获得问题数据对应的背景信息;

基于问答数据和背景信息生成目标prompt模板;

将生成的目标prompt模板,输入目标故障诊断大模型中得到回答问题数据的推理结果。

可选的,在本公开的一个实际例中,上述模型处理模块,还用于:

获取问题数据集和文章数据集,其中,问题数据集和文章数据集属于同一领域;

将文章数据集中的文章名称进行拆分并转化为结构化数据,得到文章名称对应的文章名称数据集;

根据预设规则将问题数据集进行分类,得到概念类问题数据集和分析类问题数据集;

基于分析类问题数据集、文章数据集和文章名称数据集,构建故障诊断知识库。

可选的,在本公开的一个实施例中,上述模型处理模块,还用于:

将分析类问题数据集和文章名称数据集输入文本分析模型,得到分析类问题数据集中每个问题与文章名称数据集中文章名称的第一对应关系;

确定分析类问题数据集的关键词集合;

基于关键词集合,得到关键词集合中每个关键词与分析类问题数据集中问题数据的第二对应关系;

将文章数据集中每篇文章的内容进行抽取,得到每篇文章对应的文本内容和每篇文章的文章名称与文本内容的第三对应关系;

基于第一对应关系、第二对应关系和第三对应关系,构建故障诊断知识库。

可选的,在本公开的一个实施例中,上述模型处理模块,还用于:

基于第一对应关系、第二对应关系和第三对应关系创建一个向量库索引;

将第一对应关系、第二对应关系和第三对应关系中的内容分别输入至文本分析模型,得到对应的向量化表示;

基于向量库索引和向量化表示,构建故障诊断知识库。

可选的,在本公开的一个实施例中,上述模型处理模块,还用于:

将问题数据输入至文本分析模型中,得到问题数据的向量化表示;

将问题数据的向量化表示与故障诊断知识库中的向量数据进行匹配,得到问题数据相关的文本内容;

通过余弦相似度,将问题数据相关的文本内容中与问题数据相似度最高的文本内容,确定为问题数据对应的背景信息。

可选的,在本公开的一个实施例中,上述模型处理模块,还用于:

基于故障诊断知识库构建微调数据集;

利用微调数据集对预设故障诊断大模型进行微调,得到目标故障诊断大模型。

在本公开一个或多个实施例中,获取用户需要回答的问题数据,并确定问题数据的类型,然后基于问题数据所属类型,通过目标故障诊断大模型得到回答问题数据的推理结果,基于推理结果驱动数字人,以实现数字人与用户的交互。由此,通过目标故障诊断大模型实时自动得到问题数据的推理结果,不需要依赖人工经验,保证了诊断实时性,提高了故障诊断精确度,并基于推理结果驱动数字人,以实现数字人与用户的交互,提高了用户体验。

本公开的技术方案中,所涉及的用户个人信息的获取、存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。

根据本公开的实施例,本公开还提供了一种电子设备、一种计算机存储介质。

图4示出了可以用来实施本公开的实施例的示例电子设备400的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴电子设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。

如图4所示,电子设备400包括计算单元401,其可以根据存储在只读存储器(ROM)402中的计算机程序或者从存储单元408加载到随机访问存储器(RAM)404中的计算机程序,来执行各种适当的动作和处理。在RAM 403中,还可存储电子设备400操作所需的各种程序和数据。计算单元401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。

电子设备400中的多个部件连接至I/O接口405,包括:输入单元406,例如键盘、鼠标等;输出单元407,例如各种类型的显示器、扬声器等;存储单元408,例如磁盘、光盘等;以及通信单元409,例如网卡、调制解调器、无线通信收发机等。通信单元409允许电子设备400通过诸如因特网的计算机网络和/或各种电信网络与其他电子设备交换信息/数据。

计算单元401可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元401的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元401执行上文所描述的各个方法和处理,例如基于数字人的交互方法。例如,在一些实施例中,基于数字人的交互方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元408。在一些实施例中,计算机程序的部分或者全部可以经由ROM 402和/或通信单元409而被载入和/或安装到电子设备400上。当计算机程序加载到RAM 403并由计算单元401执行时,可以执行上文描述的基于数字人的交互方法的一个或多个步骤。备选地,在其他实施例中,计算单元401可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行基于数字人的交互方法。

本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑电子设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或电子设备使用或与指令执行系统、装置或电子设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或电子设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存电子设备、磁储存电子设备、或上述内容的任何合适组合。

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、互联网和区块链网络。

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务("Virtual Private Server",或简称"VPS")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。

上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

相关技术
  • 一种基于行走机器人灯光指示的协作系统、方法及装置与终端和存储介质
  • 人车交互方法、装置、设备及存储介质
  • 机器人交互方法、装置、计算机设备及可读存储介质
  • 一种BMC与BIOS的Setup交互实现方法、装置、终端及存储介质
  • 一种语音交互设备唤醒方法、装置、设备及存储介质
  • 一种基于数字人的剧本杀交互方法、装置、设备及存储介质
  • 一种多目标分段优化的图像语义通信框架
技术分类

06120116581183