一种基于大语言模型的对话系统意图识别方法及工具与流程-j9九游会真人

文档序号:35886051发布日期:2023-10-28 17:46阅读:3来源:国知局
一种基于大语言模型的对话系统意图识别方法及工具与流程

1.本发明涉及意图识别技术领域,具体的说是一种基于大语言模型的对话系统意图识别方法及工具。


背景技术:

2.意图识别是指在自然语言处理中的一个任务,旨在理解和识别用户在对话或文本中表达的意图或目标。它是一种文本分类任务,通过分析用户的输入文本,将其归类到预定义的意图类别中。在对话系统或聊天机器人中,意图识别是理解用户意图的关键步骤。通过识别用户的意图,对话系统可以根据用户的需求做出相应的回应、采取适当的行动或提供相关的信息。例如,在一个预订餐厅的对话系统中,用户可能会输入类似于"我想预订一张四人桌,明天晚上7点"的文本。意图识别的任务就是将这个文本识别为"预订餐厅"的意图类别,从而对话系统可以根据这个意图进行后续的处理和响应。意图识别通常基于机器学习和自然语言处理技术。它涉及训练一个模型,使其能够从输入文本中提取特征并进行意图分类。这个模型可以使用传统的机器学习算法,如朴素贝叶斯分类器、支持向量机等,也可以使用基于神经网络的方法,如循环神经网络(rnn)、卷积神经网络(cnn)或最近广泛应用的预训练语言模型(bert)等。
3.大语言模型如gpt、chatglm、文心一言等在自然语言处理任务中展现出强大的理解能力和推理能力,能够通过学习大规模语言数据,捕捉到丰富的语义和语境信息,这使得它们能够更好地理解上下文,并在对话或文本中识别出复杂的语义关联。大模型具备处理多样化文本的能力,它们可以处理不同领域、不同风格和不同长度的文本,并具备适应性,从而在各种语言任务中表现出色。大模型在理解语义和推理方面表现出色,能够从给定的文本中推断出隐含的信息、关系和逻辑,进而进行推理和推断,解决复杂的问题。大模型具有强大的泛化能力,可以再面对未见过的样本或领域时仍然表现出良好的性能。他们通过学习大量的语言知识和模式,能够更好地推广到新情境中,实现跨领域和跨任务的应用。
4.在进行意图识别时,现有的方法有:

基于规则的方法:这种方法使用预先定义的规则和模式匹配来识别意图。开发者需要手动设计和编写规则,其中包括关键词、短语或正则表达式等。这种方法适用于简单的意图和明确的规则,但难以应对复杂的语义关联和多样性。

统计机器学习方法:这种方法使用监督学习算法,如朴素贝叶斯分类器、支持向量机(svm)或决策树等,从标记好的训练数据中学习意图分类模型。特征提取通常涉及词袋模型、n-gram特征等。这种方法需要足够的标注数据,并且对特征工程和模型选择有一定要求。

序列模型方法:这种方法基于序列建模,如循环神经网络(rnn)或长短期记忆(lstm)等,能够捕捉输入文本的序列信息。通过将输入文本表示为时间步序列,并使用rnn或lstm进行训练,从而对意图进行分类。这种方法可以处理较长的文本序列,更好地捕捉上下文信息。

预训练语言模型方法:使用预训练的语言模型(如bert)微调到特定的意图识别任务上,利用大规模的无监督数据和语言知识,能够提供语义理解和上下文理解能力。
5.上述意图识别方法有很多优点,如简单高效、可解释性强、领域适应性好等,但是
也有不足,如:

依赖人工设计:传统意图识别方法需要人工设计规则和特征,对领域专家的知识和经验依赖较高。这限制了其在大规模和复杂任务上的应用能力,且需要手动更新和维护规则。

通用性差:传统意图识别方法通常缺乏对语义和上下文的深入理解能力,难以处理复杂的语义关联和多样性。这使得传统方法在处理语义复杂的对话和跨领域任务时表现不佳。

对数据和标注的依赖:传统方法对于标注数据的依赖性较高,需要有足够量且高质量的标注数据进行模型训练和性能优化。获取和标注大规模数据可能会带来一定的成本和困难。

缺乏泛化能力:由于传统方法通常基于固定的规则或特征,其泛化能力相对有限。当遇到新领域、新任务或用户表达方式的变化时,传统方法可能需要重新设计和调整规则,增加了系统的开发和维护成本。


技术实现要素:

6.本发明针对传统意图识别方法在简单任务和特定领域中具有一定的优势,但在处理复杂语义和泛化能力方面的不足,提供一种基于大语言模型的对话系统意图识别方法及工具。
7.第一方面,本发明提供一种基于大语言模型的对话系统意图识别方法,解决上述技术问题采用的技术方案如下:
8.一种基于大语言模型的对话系统意图识别方法,包括如下步骤:
9.s1、根据需求,定义意图;
10.s2、接收用户输入的信息;
11.s3、根据定义的意图设计prompt,将接收信息和设计的prompt输入大语言模型,大语言模型对用户意图进行识别;
12.s4、大语言模型根据意图识别结果调用对话系统中相应的意图模块,被调用的意图模块对意图进行处理,生成答案展示给用户。
13.可选的,执行步骤s1,根据需求定义意图时,定义内容包括:具体意图、与具体意图相关的参数;
14.在定义意图发生参数缺失现象时,需要进一步定义相关操作继续询问用户,直至参数满足为止。
15.可选的,执行步骤s2,用户通过语音转文本或者直接文本输入的方式向对话系统输入表达意图的信息。
16.可选的,执行步骤s3,大语言模型对用户意图进行识别后,输出json信息到对话系统中被调用的意图模块;
17.被调用的意图模块对意图进行处理,生成答案,随后将答案以文本、图表或视频形式展示给用户。
18.优选的,大语言模型采用chatgpt、chatglm、文心一言中的一种。
19.第二方面,本发明提供一种基于大语言模型的对话系统意图识别工具,解决上述技术问题采用的技术方案如下:
20.一种基于大语言模型的对话系统意图识别工具,其包括:
21.定义模块,用于根据需求定义意图;
22.信息获取模块,用于获取用户输入的表示意图的信息;
23.设计模块,用于根据定义的意图设计prompt;
24.意图识别模块,用于将接收信息和设计的prompt输入大语言模型,利用大语言模型对用户意图进行识别;
25.调用处理模块,用于根据大语言模型的意图识别结果调用对话系统中相应的意图模块,被调用的意图模块对意图进行处理,生成答案;
26.展示模块,用于将意图模块生成的答案展示给用户。
27.可选的,通过定义模块定义意图时,定义内容包括:具体意图、与具体意图相关的参数;
28.通过定义模块定义意图后,发生参数缺失现象时,需要进一步通过定义模块定义相关操作继续询问,用户直至参数满足为止。
29.可选的,信息获取模块获取用户输入的语音信息并转为文本信息,或者直接获取用户输入的文本信息。
30.可选的,意图识别模块利用大语言模型对用户意图进行识别后,输出json信息到调用处理模块;
31.调用处理模块根据大语言模型的意图识别结果调用对话系统中相应的意图模块,被调用的意图模块对意图进行处理,生成答案,随后通过展示模块将答案以文本、图表或视频形式展示给用户。
32.优选的,大语言模型采用chatgpt、chatglm、文心一言中的一种。
33.本发明的一种基于大语言模型的对话系统意图识别方法及工具,与现有技术相比具有的有益效果是:
34.1、本发明利用大语言模型进行对话意图识别,能够提供更准确、更灵活、更全面的意图理解能力,从而提升对话系统的交互性能和用户体验。
35.2、本发明所使用的大语言模型具有的优点有:可以通过上下文的信息推断用户意图,这使得对话系统能够更好地理解用户意图,并提供更准确的响应;能够学习到复杂的非线性关系和语义关联,可以识别并捕捉到隐藏在对话的细微差别和语义特征,从而提高对话意图识别的准确性;具备动态自适应能力,传统的意图识别方法通常是基于固定的规则或模式匹配,而大语言模型可以根据对话的动态变化和用户的个性化特征进行实时调整和优化,提供更灵活和个性化的对话体验。
36.3、本发明所涉及的意图识别对话系统可应用到机器人、数字人、问答平台、小助手等多个智能问答产品中,提升意图识别的准确性、智能性以及用户体验感。
附图说明
37.附图1是本发明实施例一的方法流程图;
38.附图2是本发明实施例二的连接框图。
具体实施方式
39.为使本发明的技术方案、解决的技术问题和技术效果更加清楚明白,以下结合具体实施例,对本发明的技术方案进行清楚、完整的描述。
40.实施例一:
41.结合附图1,本实施例提出一种基于大语言模型的对话系统意图识别方法,包括如下步骤:
42.s1、根据需求,定义意图。
43.例如定义以下意图“查询天气”。对于查询天气意图,该意图方法在定义时,需要输入地点和时间两个参数,然后调用第三方可以查询天气的接口,在两个参数都存在的情况下直接调用接口返回结果,如果参数有缺失,则需要定义相关操作继续询问用户直至参数满足为止。
44.s2、接收用户输入的信息。
45.用户可以通过语音转文本方式向对话系统输入表示意图的信息,也可以直接文本输入的方式向对话系统输入表达意图的信息,“查询一下a市的天气”。
46.s3、根据定义的意图设计prompt,将接收信息和设计的prompt输入大语言模型,大语言模型对用户意图进行识别。
47.例如,针对意图“查询天气”,用户输入的意图信息“查询一下a市的天气”,设计prompt,具体如下:
48.{
49.你必须独立进行决策,无需寻求用户的帮助
50.goals:
51.识别对话人的意图,所有回答都用中文
52.commands:
53.查询天气:"check_weather",args:"site":"《site》","time":"《time》"
54.performance evaluation:
55.1.continuously review and analyze your actions to ensure you are performing to the best of your abilities.
56.2.constructively self-criticize your big-picture behavior constantly.
57.3.reflect on past decisions and strategies to refine your approach.
58.4.every command has a cost,so be smart and efficient.aim to complete tasks in the least number of steps.
59.you should only respond in json format as described below
60.response format:
[0061][0062]
将用户输入的意图信息“查询一下a市的天气”和上述设计的prompt输入大语言模型,大语言模型对用户意图进行识别,结果如下:
[0063]
{
[0064]
"thoughts":{
[0065]
"text":"根据用户指令,我将查询济南的天气。",
[0066]
"reasoning":"用户要求查询济南的天气,我可以使用天气数据源来获取相关信息。",
[0067]
"speak":"我将为您查询济南的天气。"
[0068]
},
[0069]
"command":{
[0070]
"name":"check_weather",
[0071]
"args":{
[0072]
"site":"济南",
[0073]
"time":""
[0074]
}
[0075]
}
[0076]
}
[0077]
command中的name对应的是用户意图,args中提取的是意图的相关参数。大语言模型对用户意图进行识别后,输出json信息到对话系统中被调用的意图模块。
[0078]
s4、大语言模型根据意图识别结果调用对话系统中相应的意图模块,被调用的意图模块对意图进行处理,生成答案展示给用户。
[0079]
被调用的意图模块对意图进行处理,生成答案,随后将答案以文本、图表或视频形式展示给用户。
[0080]
需要补充的一点是,本实施例所涉及大语言模型采用chatgpt、chatglm、文心一言中的一种。
[0081]
实施例二:
[0082]
结合附图2,本实施例提出一种基于大语言模型的对话系统意图识别工具,其包括:
[0083]
定义模块,用于根据需求定义意图,定义内容包括:具体意图、与具体意图相关的参数;通过定义模块定义意图后,发生参数缺失现象时,需要进一步通过定义模块定义相关操作继续询问,用户直至参数满足为止;
[0084]
信息获取模块,用于获取用户输入的表示意图的信息,该信息可以是由用户输入的语音转文本信息,也可以是用户直接输入的文本信息;
[0085]
设计模块,用于根据定义的意图设计prompt;
[0086]
意图识别模块,用于将接收信息和设计的prompt输入大语言模型,利用大语言模型对用户意图进行识别,识别后,输出json信息到调用处理模块;
[0087]
调用处理模块,用于根据大语言模型的意图识别结果调用对话系统中相应的意图模块,被调用的意图模块对意图进行处理,生成答案;
[0088]
展示模块,用于将意图模块生成的答案以文本、图表或视频形式展示给用户。
[0089]
针对本实施例,以定义意图“查询天气”为例,该意图方法在定义时,需要输入地点和时间两个参数,然后调用第三方可以查询天气的接口,在两个参数都存在的情况下直接调用接口返回结果,如果参数有缺失,则需要定义相关操作继续询问用户直至参数满足为止。
[0090]
针对意图“查询天气”,用户输入的意图信息“查询一下a市的天气”,设计prompt,具体如下:
[0091]
{
[0092]
你必须独立进行决策,无需寻求用户的帮助
[0093]
goals:
[0094]
识别对话人的意图,所有回答都用中文
[0095]
commands:
[0096]
查询天气:"check_weather",args:"site":"《site》","time":"《time》"
[0097]
performance evaluation:
[0098]
1.continuously review and analyze your actions to ensure you are performing to the best of your abilities.
[0099]
2.constructively self-criticize your big-picture behavior constantly.
[0100]
3.reflect on past decisions and strategies to refine your approach.
[0101]
4.every command has a cost,so be smart and efficient.aim to complete tasks in the least number of steps.
[0102]
you should only respond in json format as described below
[0103]
response format:
[0104]
[0105][0106]
将用户输入的意图信息“查询一下a市的天气”和上述设计的prompt输入大语言模型,大语言模型对用户意图进行识别,结果如下:
[0107]
{
[0108]
"thoughts":{
[0109]
"text":"根据用户指令,我将查询济南的天气。",
[0110]
"reasoning":"用户要求查询济南的天气,我可以使用天气数据源来获取相关信息。",
[0111]
"speak":"我将为您查询济南的天气。"
[0112]
},
[0113]
"command":{
[0114]
"name":"check_weather",
[0115]
"args":{
[0116]
"site":"济南",
[0117]
"time":""
[0118]
}
[0119]
}
[0120]
}
[0121]
其中,command中的name对应的是用户意图,args中提取的是意图的相关参数。
[0122]
需要补充的一点是,本实施例所涉及大语言模型采用chatgpt、chatglm、文心一言中的一种。
[0123]
综上可知,采用本发明的一种基于大语言模型的对话系统意图识别方法及工具,能够提供更准确、更灵活、更全面的意图理解能力,提升对话系统的交互性能和用户体验。
[0124]
以上应用具体个例对本发明的原理及实施方式进行了详细阐述,这些实施例只是用于帮助理解本发明的核心技术内容。基于本发明的上述具体实施例,本技术领域的技术人员在不脱离本发明原理的前提下,对本发明所作出的任何改进和修饰,皆应落入本发明
的专利保护范围。
当前第1页1  
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
网站地图