CN115525753A - 面向任务的基于1+n的多轮对话方法及系统 - Google Patents

面向任务的基于1+n的多轮对话方法及系统 Download PDF

Info

Publication number
CN115525753A
CN115525753A CN202211317437.9A CN202211317437A CN115525753A CN 115525753 A CN115525753 A CN 115525753A CN 202211317437 A CN202211317437 A CN 202211317437A CN 115525753 A CN115525753 A CN 115525753A
Authority
CN
China
Prior art keywords
intention
text
field
model
word slot
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
CN202211317437.9A
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.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong 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 Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN202211317437.9A priority Critical patent/CN115525753A/zh
Publication of CN115525753A publication Critical patent/CN115525753A/zh
Pending legal-status Critical Current

Links

Images

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/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • G06F16/353Clustering; Classification into predefined classes
    • 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/08Learning methods

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)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Machine Translation (AREA)

Abstract

本发明提供了一种面向任务的基于1+N的多轮对话方法及系统,包括:根据业务需求构建任务型对话的领域分类模型、意图识别模型和词槽语义填充模型;进行单轮对话任务,通过领域分类模型获得文本所属领域,如果文本所属领域并非预设领域,通过闲聊信源服务进行回复;如果该领域为预设领域,使用词槽通过该意图对应的信源服务给出回复;进行多轮对话,用户文本同时进入上轮对话的意图识别模型和领域分类模型,如果和上轮对话识别的意图一致,则进入多轮对话任务给出回复;如果不一致,则切换成单轮对话任务给出回复。本发明通过采取任务型对话的领域分类模型和上轮的意图识别模型保证任务型多轮对话的正确性且具有较好的性能,提升用户的交互体验。

Description

面向任务的基于1+N的多轮对话方法及系统
技术领域
本发明涉及人工智能交互领域,具体地,涉及一种面向任务的基于1+N的多轮对话方法及系统。
背景技术
自然语言是人类智慧的结晶,以自然语言的形式与计算机进行交互是人们长久以来的期待。随着自然语言处理技术的发展与深度学习方法的兴起,人机对话系统成为了新的研究热点。人机对话系统按照功能可以分为任务导向型对话系统、闲聊型对话系统、问答型对话系统。任务导向型对话系统是一种典型的人机对话系统,旨在帮助用户完成某些特定的任务,有着十分重要的研究意义和应用价值。自然语言是人类表达情感、观念的主要工具和人类思维的重要载体,而最常见的自然语言应用场景则是对话。人们希望通过自然语言控制机器,甚至实现机器与人类的对话与交流。使用自然语言作为输入输出的媒介,会使用户获得更自然友好的人机交互体验,从而为人类生活提供便捷服务。随着近年来人工智能技术的蓬勃发展,实现基于自然语言的对话系统逐渐成为了人工智能领域的热门研究之一,受到了工业界和学术界的高度重视和广泛关注。
专利文献CN108228764A(申请号:CN201711440063.9)公开了一种单轮对话和多轮对话的融合方法,其特征在于:包括以下步骤:S01)、获取用户输入的多模态输入信息;S02)、对输入信息进行实体信息的抽取和结构化切片处理,获得结构化文本信息;S03)、基于结构化文本信息抽取用户意图;S04)、基于历史信息、结构化文本信息以及用户意图,融合单轮对话系统和多轮对话系统,自适应判断生成符合用户真实意图的对话模式;S05)、基于用户意图和对话模式,构建对话场景,获得结构化引导性问题或者答案;S06)、基于结构化引导性问题或者答案生成对应的自然语言问题或者答案。但该发明没有通过采取任务型对话的领域分类模型和上轮的意图识别模型保证任务型多轮对话的正确性。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种面向任务的基于1+N的多轮对话方法及系统。
根据本发明提供的一种面向任务的基于1+N的多轮对话方法,包括:
步骤S1:根据业务需求构建任务型对话的领域分类模型、意图识别模型和词槽语义填充模型;
步骤S2:进行单轮对话任务,通过领域分类模型获得文本所属领域,如果文本所属领域并非预设领域,通过闲聊信源服务进行回复;
如果该领域为预设领域,首先通过意图识别模型识别该文本对应意图,然后通过词槽语义填充模型对该文本进行词槽填充,抽取该文本的词槽,使用词槽通过该意图对应的信源服务给出回复;
步骤S3:进行多轮对话,用户文本同时进入上轮对话的意图识别模型和领域分类模型,如果当前文本通过上轮对话的意图识别模型识别的意图和上轮对话识别的意图一致,则进入多轮对话任务给出回复;
如果当前文本通过上轮的意图识别模型识别的意图和上轮对话识别的意图不一致,则多轮对话任务切换成单轮对话任务,跳转至步骤S2给出回复。
优选地,在所述步骤S1中:
根据业务需求收集相应用户语料并进行预处理;
步骤S1.1:语料收集:通过生产环境线上日志收集用户语料;
步骤S1.2:语料预处理:清洗没有实际语义的用户语料;
步骤S1.3:根据所述用户语料定义相应领域、相应意图、词槽标签:通过用户语料确定语料所对应的领域,结合业务需求定义相应意图和词槽标签;
所述领域包括:任务导向型对话领域、闲聊型对话领域以及问答型对话领域,任务导向型对话领域通过自然语言交互的形式帮助用户完成某个特定的任务;闲聊型对话领域模拟人的聊天行为;问答型对话领域旨在基于特定的知识,回答用户特定的问题,以帮助用户获取其关注的信息;
标注领域、意图和词槽:根据用户语料信息标注相应的领域、意图和词槽;
步骤S1.4:训练和优化领域分类模型、意图识别模型、词槽语义填充模型:
每个领域的语料按照8:1:1的比例进行划分,把每个领域语料的8份作为训练集,每个领域语料的1份作为验证集,另每个领域语料的1份作为测试集;
步骤S1.5:领域分类、意图识别和词槽语义填充模型的优化:
通过测试集的结果,分析该模型对每个领域语料识别效果,从语料话术、算法和参数迭代优化模型。
优选地,在所述步骤S2中:
对领域分类、意图识别和词槽语义填充模型进行推理;
对于领域分类模型,使用TextCNN模型输入文本,输出该文本所对应的领域,获取并处理输入的语言文本信息,进行基于字符语句的向量化处理,以得到基于字符语句的初始向量;进行多个卷积核处理、多个窗口池化处理、RELU激活函数处理和级联处理获得优化的基于字符语句向量;进行部分元素丢弃和变换以获得基于字符语句的目标向量;经过神经网络的全连接层进行计算以识别得到与语言文本信息对应的文本领域和相应的文本领域概率;
对于意图识别模型,意图识别是领域识别的子任务,同样使用TextCNN模型输入文本,输出该文本所对应的意图;意图识别的目的在于提取用户的实际意图;获取并处理输入的语言文本信息,进行基于字符语句的向量化处理,以得到基于字符语句的初始向量;进行多个卷积核处理、多个窗口池化处理、RELU激活函数处理和级联处理获得优化的基于字符语句向量;进行部分元素丢弃和变换以获得基于字符语句的目标向量;经过神经网络的全连接层进行计算以识别得到与语言文本信息对应的文本意图和相应的文本意图概率;
对于词槽语义填充模型,输入文本,输出词槽;槽填充的目的在于分析自然语言中所包含的实体信息;获取并处理输入的语言文本信息,进行基于字符语句的向量化处理,以得到基于字符语句的初始向量;进行双向LSTM优化处理和级联处理获得优化的基于字符语句向量;进行部分元素丢弃和变换以获得基于字符语句的目标向量;经过神经网络的全连接层进行计算以识别得到与语言文本词槽信息对应的词槽值,最后经过CRF得到合法的词槽;
通过领域分类、意图识别和词槽语义填充模型识别该用户语料的领域、意图和提取相应词槽;
用户说话的文本通过领域分类模型获得某个领域,如果该领域不为预设领域种类,则通过闲聊信源服务进行回复,否则,再通过意图识别模型识别该领域的某个意图,通过词槽语义填充模型抽取该意图相应的词槽,使用该词槽通过该意图对应的信源服务给出回复;
单轮对话评价指标:用户文本对应的领域、意图和所有词槽都为正确,领域分类、意图识别和词槽语义填充的评价指标分别如下:
领域分类任务:使用领域分类准确率Pdomain来评价领域分类模型:
Pdomain=领域分类正确的语句数/语句总数
意图识别任务:使用意图识别的分类准确率Pintent来评价意图识别模型:
Pintent=意图识别正确的语句数/语句总数
词槽填充任务:使用句子级词槽填充准确率Pslot来评价词槽填充模型:
Pslot=词槽填充正确的语句数/语句总数
优选地,在所述步骤S3中:
多轮任务判别:当多轮对话时,用户说话的文本同时进入上轮领域的意图识别模型和领域分类模型,如果当前文本通过上轮的意图识别模型识别的意图和上轮意图一致,则进入多轮,通过该意图对应的词槽语义填充模型抽取该意图相应的词槽,并使用该词槽通过该意图对应的信源服务给出回复,如果当前文本通过上轮的意图识别模型识别的意图和上轮意图不一致,则多轮对话任务切换成单轮,进行相应的回复;
多轮对话评价指标:用户每轮文本对应的领域、意图和句子级词槽都为正确,多轮对话的评价指标如下:
使用多轮准确率Pmrd来评价多轮对话系统:
Pmrd=多轮对话正确数/多轮对话总数
优选地,对话状态包括单轮对话和多轮对话,对话状态以key和value的形式存储在阿里云的Redis数据库中并存储时间为常量k,k为自定义的定时器,如果对话状态存储时间为常量k时,该对话状态会释放清空;
其中,key的值是语义结果,value的值是分类结果domain、意图识别结果intent和词槽抽取结果slots;
当单轮对话时,用户文本的语义结果值domain、intent和slots都被填充相应的值,当多轮对话时,新的用户文本会更新上轮的语义结果domain、intent和slots值。
根据本发明提供的一种面向任务的基于1+N的多轮对话系统,包括:
模块M1:根据业务需求构建任务型对话的领域分类模型、意图识别模型和词槽语义填充模型;
模块M2:进行单轮对话任务,通过领域分类模型获得文本所属领域,如果文本所属领域并非预设领域,通过闲聊信源服务进行回复;
如果该领域为预设领域,首先通过意图识别模型识别该文本对应意图,然后通过词槽语义填充模型对该文本进行词槽填充,抽取该文本的词槽,使用词槽通过该意图对应的信源服务给出回复;
模块M3:进行多轮对话,用户文本同时进入上轮对话的意图识别模型和领域分类模型,如果当前文本通过上轮对话的意图识别模型识别的意图和上轮对话识别的意图一致,则进入多轮对话任务给出回复;
如果当前文本通过上轮的意图识别模型识别的意图和上轮对话识别的意图不一致,则多轮对话任务切换成单轮对话任务,跳转至模块M2给出回复。
优选地,在所述模块M1中:
根据业务需求收集相应用户语料并进行预处理;
模块M1.1:语料收集:通过生产环境线上日志收集用户语料;
模块M1.2:语料预处理:清洗没有实际语义的用户语料;
模块M1.3:根据所述用户语料定义相应领域、相应意图、词槽标签:通过用户语料确定语料所对应的领域,结合业务需求定义相应意图和词槽标签;
所述领域包括:任务导向型对话领域、闲聊型对话领域以及问答型对话领域,任务导向型对话领域通过自然语言交互的形式帮助用户完成某个特定的任务;闲聊型对话领域模拟人的聊天行为;问答型对话领域旨在基于特定的知识,回答用户特定的问题,以帮助用户获取其关注的信息;
标注领域、意图和词槽:根据用户语料信息标注相应的领域、意图和词槽;
模块M1.4:训练和优化领域分类模型、意图识别模型、词槽语义填充模型:
每个领域的语料按照8:1:1的比例进行划分,把每个领域语料的8份作为训练集,每个领域语料的1份作为验证集,另每个领域语料的1份作为测试集;
模块M1.5:领域分类、意图识别和词槽语义填充模型的优化:
通过测试集的结果,分析该模型对每个领域语料识别效果,从语料话术、算法和参数迭代优化模型。
优选地,在所述模块M2中:
对领域分类、意图识别和词槽语义填充模型进行推理;
对于领域分类模型,使用TextCNN模型输入文本,输出该文本所对应的领域,获取并处理输入的语言文本信息,进行基于字符语句的向量化处理,以得到基于字符语句的初始向量;进行多个卷积核处理、多个窗口池化处理、RELU激活函数处理和级联处理获得优化的基于字符语句向量;进行部分元素丢弃和变换以获得基于字符语句的目标向量;经过神经网络的全连接层进行计算以识别得到与语言文本信息对应的文本领域和相应的文本领域概率;
对于意图识别模型,意图识别是领域识别的子任务,同样使用TextCNN模型输入文本,输出该文本所对应的意图;意图识别的目的在于提取用户的实际意图;获取并处理输入的语言文本信息,进行基于字符语句的向量化处理,以得到基于字符语句的初始向量;进行多个卷积核处理、多个窗口池化处理、RELU激活函数处理和级联处理获得优化的基于字符语句向量;进行部分元素丢弃和变换以获得基于字符语句的目标向量;经过神经网络的全连接层进行计算以识别得到与语言文本信息对应的文本意图和相应的文本意图概率;
对于词槽语义填充模型,输入文本,输出词槽;槽填充的目的在于分析自然语言中所包含的实体信息;获取并处理输入的语言文本信息,进行基于字符语句的向量化处理,以得到基于字符语句的初始向量;进行双向LSTM优化处理和级联处理获得优化的基于字符语句向量;进行部分元素丢弃和变换以获得基于字符语句的目标向量;经过神经网络的全连接层进行计算以识别得到与语言文本词槽信息对应的词槽值,最后经过CRF得到合法的词槽;
通过领域分类、意图识别和词槽语义填充模型识别该用户语料的领域、意图和提取相应词槽;
用户说话的文本通过领域分类模型获得某个领域,如果该领域不为预设领域种类,则通过闲聊信源服务进行回复,否则,再通过意图识别模型识别该领域的某个意图,通过词槽语义填充模型抽取该意图相应的词槽,使用该词槽通过该意图对应的信源服务给出回复;
单轮对话评价指标:用户文本对应的领域、意图和所有词槽都为正确,领域分类、意图识别和词槽语义填充的评价指标分别如下:
领域分类任务:使用领域分类准确率Pdomain来评价领域分类模型:
Pdomain=领域分类正确的语句数/语句总数
意图识别任务:使用意图识别的分类准确率Pintent来评价意图识别模型:
Pintent=意图识别正确的语句数/语句总数
词槽填充任务:使用句子级词槽填充准确率Pslot来评价词槽填充模型:
Pslot=词槽填充正确的语句数/语句总数
优选地,在所述模块M3中:
多轮任务判别:当多轮对话时,用户说话的文本同时进入上轮领域的意图识别模型和领域分类模型,如果当前文本通过上轮的意图识别模型识别的意图和上轮意图一致,则进入多轮,通过该意图对应的词槽语义填充模型抽取该意图相应的词槽,并使用该词槽通过该意图对应的信源服务给出回复,如果当前文本通过上轮的意图识别模型识别的意图和上轮意图不一致,则多轮对话任务切换成单轮,进行相应的回复;
多轮对话评价指标:用户每轮文本对应的领域、意图和句子级词槽都为正确,多轮对话的评价指标如下:
使用多轮准确率Pmrd来评价多轮对话系统:
Pmrd=多轮对话正确数/多轮对话总数
优选地,对话状态包括单轮对话和多轮对话,对话状态以key和value的形式存储在阿里云的Redis数据库中并存储时间为常量k,k为自定义的定时器,如果对话状态存储时间为常量k时,该对话状态会释放清空;
其中,key的值是语义结果,value的值是分类结果domain、意图识别结果intent和词槽抽取结果slots;
当单轮对话时,用户文本的语义结果值domain、intent和slots都被填充相应的值,当多轮对话时,新的用户文本会更新上轮的语义结果domain、intent和slots值。
与现有技术相比,本发明具有如下的有益效果:
1、本发明通过采取任务型对话的领域分类模型和上轮的意图识别模型保证任务型多轮对话的正确性且具有较好的性能,提升用户的交互体验;
2、本发明领域识别和意图识别准确率约99.2%,响应时间约10ms,词槽语义填充模型准确率约92.3%,响应时间约20ms,保证了单轮对话的正确性和性能,同时提升用户的交互体验。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为流水线式任务导向型对话系统框架;
图2为TextCNN领域识别和意图识别模型;
图3为Bi-LSTM-CRF词槽语义填充模型;
图4为面向任务的基于1+N的对话系统单轮技术流程图;
图5为面向任务的基于1+N的对话系统多轮技术流程图;
图6为本申请实现领域分类方法的神经网络一实施方式的实现方式示意图;
图7为本申请实现文本意图识别方法的神经网络一实施方式的实现方式示意图;
图8为本申请实现文本词槽语义填充方法的神经网络一实施方式的实现方式示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
实施例1:
根据本发明提供的一种面向任务的基于1+N的多轮对话方法,如图1-图8所示,包括:
步骤S1:根据业务需求构建任务型对话的领域分类模型、意图识别模型和词槽语义填充模型;
具体地,在所述步骤S1中:
根据业务需求收集相应用户语料并进行预处理;
步骤S1.1:语料收集:通过生产环境线上日志收集用户语料;
步骤S1.2:语料预处理:清洗没有实际语义的用户语料;
步骤S1.3:根据所述用户语料定义相应领域、相应意图、词槽标签:通过用户语料确定语料所对应的领域,结合业务需求定义相应意图和词槽标签;
所述领域包括:任务导向型对话领域、闲聊型对话领域以及问答型对话领域,任务导向型对话领域通过自然语言交互的形式帮助用户完成某个特定的任务;闲聊型对话领域模拟人的聊天行为;问答型对话领域旨在基于特定的知识,回答用户特定的问题,以帮助用户获取其关注的信息;
标注领域、意图和词槽:根据用户语料信息标注相应的领域、意图和词槽;
步骤S1.4:训练和优化领域分类模型、意图识别模型、词槽语义填充模型:
每个领域的语料按照8:1:1的比例进行划分,把每个领域语料的8份作为训练集,每个领域语料的1份作为验证集,另每个领域语料的1份作为测试集;
步骤S1.5:领域分类、意图识别和词槽语义填充模型的优化:
通过测试集的结果,分析该模型对每个领域语料识别效果,从语料话术、算法和参数迭代优化模型。
步骤S2:进行单轮对话任务,通过领域分类模型获得文本所属领域,如果文本所属领域并非预设领域,通过闲聊信源服务进行回复;
如果该领域为预设领域,首先通过意图识别模型识别该文本对应意图,然后通过词槽语义填充模型对该文本进行词槽填充,抽取该文本的词槽,使用词槽通过该意图对应的信源服务给出回复;
具体地,在所述步骤S2中:
对领域分类、意图识别和词槽语义填充模型进行推理;
对于领域分类模型,使用TextCNN模型输入文本,输出该文本所对应的领域,获取并处理输入的语言文本信息,进行基于字符语句的向量化处理,以得到基于字符语句的初始向量;进行多个卷积核处理、多个窗口池化处理、RELU激活函数处理和级联处理获得优化的基于字符语句向量;进行部分元素丢弃和变换以获得基于字符语句的目标向量;经过神经网络的全连接层进行计算以识别得到与语言文本信息对应的文本领域和相应的文本领域概率;
对于意图识别模型,意图识别是领域识别的子任务,同样使用TextCNN模型输入文本,输出该文本所对应的意图;意图识别的目的在于提取用户的实际意图;获取并处理输入的语言文本信息,进行基于字符语句的向量化处理,以得到基于字符语句的初始向量;进行多个卷积核处理、多个窗口池化处理、RELU激活函数处理和级联处理获得优化的基于字符语句向量;进行部分元素丢弃和变换以获得基于字符语句的目标向量;经过神经网络的全连接层进行计算以识别得到与语言文本信息对应的文本意图和相应的文本意图概率;
对于词槽语义填充模型,输入文本,输出词槽;槽填充的目的在于分析自然语言中所包含的实体信息;获取并处理输入的语言文本信息,进行基于字符语句的向量化处理,以得到基于字符语句的初始向量;进行双向LSTM优化处理和级联处理获得优化的基于字符语句向量;进行部分元素丢弃和变换以获得基于字符语句的目标向量;经过神经网络的全连接层进行计算以识别得到与语言文本词槽信息对应的词槽值,最后经过CRF得到合法的词槽;
通过领域分类、意图识别和词槽语义填充模型识别该用户语料的领域、意图和提取相应词槽;
用户说话的文本通过领域分类模型获得某个领域,如果该领域不为预设领域种类,则通过闲聊信源服务进行回复,否则,再通过意图识别模型识别该领域的某个意图,通过词槽语义填充模型抽取该意图相应的词槽,使用该词槽通过该意图对应的信源服务给出回复;
单轮对话评价指标:用户文本对应的领域、意图和所有词槽都为正确,领域分类、意图识别和词槽语义填充的评价指标分别如下:
领域分类任务:使用领域分类准确率Pdomain来评价领域分类模型:
Pdomain=领域分类正确的语句数/语句总数
意图识别任务:使用意图识别的分类准确率Pintent来评价意图识别模型:
Pintent=意图识别正确的语句数/语句总数
词槽填充任务:使用句子级词槽填充准确率Pslot来评价词槽填充模型:
Pslot=词槽填充正确的语句数/语句总数
步骤S3:进行多轮对话,用户文本同时进入上轮对话的意图识别模型和领域分类模型,如果当前文本通过上轮对话的意图识别模型识别的意图和上轮对话识别的意图一致,则进入多轮对话任务给出回复;
如果当前文本通过上轮的意图识别模型识别的意图和上轮对话识别的意图不一致,则多轮对话任务切换成单轮对话任务,跳转至步骤S2给出回复。
具体地,在所述步骤S3中:
多轮任务判别:当多轮对话时,用户说话的文本同时进入上轮领域的意图识别模型和领域分类模型,如果当前文本通过上轮的意图识别模型识别的意图和上轮意图一致,则进入多轮,通过该意图对应的词槽语义填充模型抽取该意图相应的词槽,并使用该词槽通过该意图对应的信源服务给出回复,如果当前文本通过上轮的意图识别模型识别的意图和上轮意图不一致,则多轮对话任务切换成单轮,进行相应的回复;
多轮对话评价指标:用户每轮文本对应的领域、意图和句子级词槽都为正确,多轮对话的评价指标如下:
使用多轮准确率Pmrd来评价多轮对话系统:
Pmrd=多轮对话正确数/多轮对话总数
具体地,对话状态包括单轮对话和多轮对话,对话状态以key和value的形式存储在阿里云的Redis数据库中并存储时间为常量k,k为自定义的定时器,如果对话状态存储时间为常量k时,该对话状态会释放清空;
其中,key的值是语义结果,value的值是分类结果domain、意图识别结果intent和词槽抽取结果slots;
当单轮对话时,用户文本的语义结果值domain、intent和slots都被填充相应的值,当多轮对话时,新的用户文本会更新上轮的语义结果domain、intent和slots值。
实施例2:
实施例2为实施例1的优选例,以更为具体地对本发明进行说明。
本领域技术人员可以将本发明提供的一种面向任务的基于1+N的多轮对话方法,理解为面向任务的基于1+N的多轮对话系统的具体实施方式,即所述面向任务的基于1+N的多轮对话系统可以通过执行所述面向任务的基于1+N的多轮对话方法的步骤流程予以实现。
根据本发明提供的一种面向任务的基于1+N的多轮对话系统,包括:
模块M1:根据业务需求构建任务型对话的领域分类模型、意图识别模型和词槽语义填充模型;
具体地,在所述模块M1中:
根据业务需求收集相应用户语料并进行预处理;
模块M1.1:语料收集:通过生产环境线上日志收集用户语料;
模块M1.2:语料预处理:清洗没有实际语义的用户语料;
模块M1.3:根据所述用户语料定义相应领域、相应意图、词槽标签:通过用户语料确定语料所对应的领域,结合业务需求定义相应意图和词槽标签;
所述领域包括:任务导向型对话领域、闲聊型对话领域以及问答型对话领域,任务导向型对话领域通过自然语言交互的形式帮助用户完成某个特定的任务;闲聊型对话领域模拟人的聊天行为;问答型对话领域旨在基于特定的知识,回答用户特定的问题,以帮助用户获取其关注的信息;
标注领域、意图和词槽:根据用户语料信息标注相应的领域、意图和词槽;
模块M1.4:训练和优化领域分类模型、意图识别模型、词槽语义填充模型:
每个领域的语料按照8:1:1的比例进行划分,把每个领域语料的8份作为训练集,每个领域语料的1份作为验证集,另每个领域语料的1份作为测试集;
模块M1.5:领域分类、意图识别和词槽语义填充模型的优化:
通过测试集的结果,分析该模型对每个领域语料识别效果,从语料话术、算法和参数迭代优化模型。
模块M2:进行单轮对话任务,通过领域分类模型获得文本所属领域,如果文本所属领域并非预设领域,通过闲聊信源服务进行回复;
如果该领域为预设领域,首先通过意图识别模型识别该文本对应意图,然后通过词槽语义填充模型对该文本进行词槽填充,抽取该文本的词槽,使用词槽通过该意图对应的信源服务给出回复;
具体地,在所述模块M2中:
对领域分类、意图识别和词槽语义填充模型进行推理;
对于领域分类模型,使用TextCNN模型输入文本,输出该文本所对应的领域,获取并处理输入的语言文本信息,进行基于字符语句的向量化处理,以得到基于字符语句的初始向量;进行多个卷积核处理、多个窗口池化处理、RELU激活函数处理和级联处理获得优化的基于字符语句向量;进行部分元素丢弃和变换以获得基于字符语句的目标向量;经过神经网络的全连接层进行计算以识别得到与语言文本信息对应的文本领域和相应的文本领域概率;
对于意图识别模型,意图识别是领域识别的子任务,同样使用TextCNN模型输入文本,输出该文本所对应的意图;意图识别的目的在于提取用户的实际意图;获取并处理输入的语言文本信息,进行基于字符语句的向量化处理,以得到基于字符语句的初始向量;进行多个卷积核处理、多个窗口池化处理、RELU激活函数处理和级联处理获得优化的基于字符语句向量;进行部分元素丢弃和变换以获得基于字符语句的目标向量;经过神经网络的全连接层进行计算以识别得到与语言文本信息对应的文本意图和相应的文本意图概率;
对于词槽语义填充模型,输入文本,输出词槽;槽填充的目的在于分析自然语言中所包含的实体信息;获取并处理输入的语言文本信息,进行基于字符语句的向量化处理,以得到基于字符语句的初始向量;进行双向LSTM优化处理和级联处理获得优化的基于字符语句向量;进行部分元素丢弃和变换以获得基于字符语句的目标向量;经过神经网络的全连接层进行计算以识别得到与语言文本词槽信息对应的词槽值,最后经过CRF得到合法的词槽;
通过领域分类、意图识别和词槽语义填充模型识别该用户语料的领域、意图和提取相应词槽;
用户说话的文本通过领域分类模型获得某个领域,如果该领域不为预设领域种类,则通过闲聊信源服务进行回复,否则,再通过意图识别模型识别该领域的某个意图,通过词槽语义填充模型抽取该意图相应的词槽,使用该词槽通过该意图对应的信源服务给出回复;
单轮对话评价指标:用户文本对应的领域、意图和所有词槽都为正确,领域分类、意图识别和词槽语义填充的评价指标分别如下:
领域分类任务:使用领域分类准确率Pdomain来评价领域分类模型:
Pdomain=领域分类正确的语句数/语句总数
意图识别任务:使用意图识别的分类准确率Pintent来评价意图识别模型:
Pintent=意图识别正确的语句数/语句总数
词槽填充任务:使用句子级词槽填充准确率Pslot来评价词槽填充模型:
Pslot=词槽填充正确的语句数/语句总数
模块M3:进行多轮对话,用户文本同时进入上轮对话的意图识别模型和领域分类模型,如果当前文本通过上轮对话的意图识别模型识别的意图和上轮对话识别的意图一致,则进入多轮对话任务给出回复;
如果当前文本通过上轮的意图识别模型识别的意图和上轮对话识别的意图不一致,则多轮对话任务切换成单轮对话任务,跳转至模块M2给出回复。
具体地,在所述模块M3中:
多轮任务判别:当多轮对话时,用户说话的文本同时进入上轮领域的意图识别模型和领域分类模型,如果当前文本通过上轮的意图识别模型识别的意图和上轮意图一致,则进入多轮,通过该意图对应的词槽语义填充模型抽取该意图相应的词槽,并使用该词槽通过该意图对应的信源服务给出回复,如果当前文本通过上轮的意图识别模型识别的意图和上轮意图不一致,则多轮对话任务切换成单轮,进行相应的回复;
多轮对话评价指标:用户每轮文本对应的领域、意图和句子级词槽都为正确,多轮对话的评价指标如下:
使用多轮准确率Pmrd来评价多轮对话系统:
Pmrd=多轮对话正确数/多轮对话总数
具体地,对话状态包括单轮对话和多轮对话,对话状态以key和value的形式存储在阿里云的Redis数据库中并存储时间为常量k,k为自定义的定时器,如果对话状态存储时间为常量k时,该对话状态会释放清空;
其中,key的值是语义结果,value的值是分类结果domain、意图识别结果intent和词槽抽取结果slots;
当单轮对话时,用户文本的语义结果值domain、intent和slots都被填充相应的值,当多轮对话时,新的用户文本会更新上轮的语义结果domain、intent和slots值。
实施例3:
实施例3为实施例1的优选例,以更为具体地对本发明进行说明。
步骤1:根据业务需求构建任务型对话的领域分类模型
步骤2:根据业务需求构建任务型对话的意图识别模型
步骤3:根据业务需求构建任务型对话的词槽语义填充模型
步骤4:当第一轮对话时,用户说话的文本通过领域分类模型获得某个领域,如果该领域为other,则通过闲聊信源服务进行回复,否则,再通过意图识别模型识别该领域的某个意图,然后通过词槽语义填充模型抽取该意图相应的词槽,最后使用该词槽通过该意图对应的信源服务给出回复。
步骤5:当多轮对话时,用户说话的文本同时进入上轮领域的意图识别模型和领域分类模型,如果当前文本通过上轮的意图识别模型识别的意图和上轮意图一致,则进入多轮,通过该意图对应的词槽语义填充模型抽取该意图相应的词槽,并使用该词槽通过该意图对应的信源服务给出回复,如果当前文本通过上轮的意图识别模型识别的意图和上轮意图不一致,则多轮切换成单轮,进行步骤三给出相应的回复。
产品:车载语音智能对话系统
业务需求:该系统需要单轮对话和多轮对话
主要技能:导航、音乐和车控等
三个模型:领域分类模型、意图识别模型和词槽语义填充模型
领域为Other:是其它领域都为other领域的意思,例如:车载智能对话系统有导航、音乐、车控和other领域,此other领域的含义是除了导航、音乐和车控领域以外的领域,例如天气和闲聊等
闲聊信源服务:信源服务指应用接口,例如导航的信源服务有高德地图,百度地图和腾讯地图等,音乐信源服务有爱趣听、QQ音乐和酷狗音乐等,闲聊信源服务有阿里闲聊、腾讯闲聊和百度闲聊等,闲聊信源服务提供闲聊技能的一个服务或接口,输入的是闲聊话术,输出的该语句相应的回复。例如:输入:我想和你聊天输出:主人,我等你好久了
上轮领域:具体指的当前轮的上轮
构建模型:
1:根据业务需求收集相应用户语料并进行预处理;
具体地,语料收集:
通过生产环境线上日志收集用户语料,我们的车载语音对话系统在实际的车上已经运营。例如:我们的新能源汽车上都有车载语音智能对话机器人。
语料预处理:
语料预处理:清洗脏乱差和没有实际语义的用户语料。例如:一个字的、一个符号的和没有实际语义的句子等。
2:根据所述用户语料定义相应领域、相应意图、词槽标签;
具体地,2中,定义领域、意图和词槽标签:
通过用户语料可以知道这些语料所对应的领域,结合业务需求定义相应意图、词槽标签。
标注领域、意图和词槽:
例如:用户语料有:1.今天上海的天气;2.导航去人民广场;3.播放周杰伦的双截棍。则对应意图为:1.天气;2.导航;3.音乐。对应词槽为:1.日期和城市名;2.出发地和目的地;3.演唱者和歌名。
3:训练和优化领域分类模型、意图识别模型、词槽语义填充模型;
具体地,3中,领域分类、意图识别、和词槽语义填充模型的训练:
首先,每个领域的语料按照8:1:1的比例进行划分,其次,把每个领域语料的8份作为训练集,每个领域语料的1份作为验证集,另每个领域语料的1份作为测试集。
领域分类、意图识别和词槽语义填充模型的优化:
通过测试集的结果,分析该模型对每个领域语料识别效果,从语料话术、算法和参数迭代优化该模型。
4:对领域分类、意图识别和词槽语义填充模型进行推理;
具体地,4中,领域分类、意图识别和词槽语义填充模型的推理:
对于领域分类模型,输入是文本,输出是该文本所对应的领域。例如领域分类模型的输入:今天的天气,则该模型推理结果为该文本对应的领域为weather_domain。
意图识别是领域识别的子任务,任务非常相似。
对于意图识别模型,输入是文本,输出是该文本所对应的意图。例如意图识别模型的输入:今天的天气,则该模型推理结果为该文本对应的意图为weather_intent。
对于词槽语义填充模型,输入是文本,输出是词槽。例如词槽语义填充模型的输入:明天上海的天气怎么样,则该模型推理结果为日期槽位:明天,城市名槽位:上海。
5:通过领域分类、意图识别和词槽语义填充模型识别该用户语料的意图和提取相应词槽。
单轮任务:用户说话的文本通过领域分类模型获得某个领域,如果该领域为other,则通过闲聊信源服务进行回复,否则,再通过意图识别模型识别该领域的某个意图,然后通过词槽语义填充模型抽取该意图相应的词槽,最后使用该词槽通过该意图对应的信源服务给出回复。
多轮对话:
例如,前一句用户说“今天的天气怎么样”,下一句说“北京呢?”,第二句用户想问的是今天北京的天气怎么样,传统多轮对话可能识别当前的语义是百度北京,可能就进入百科了,不能进行多轮进而影响用户体验。
再例如,前一句用户说"今天的天气怎么样",下一句说“上海的天气很不错”,该句话的意思是闲聊,但是传统多轮对话可能识别当前的语义是今天上海的天气,不能切换新任务,这样也影响了用户体验。
具体地,5中,多轮任务判别:
当多轮对话时,用户说话的文本同时进入上轮领域的意图识别模型和领域分类模型,如果当前文本通过上轮的意图识别模型识别的意图和上轮意图一致,则进入多轮,通过该意图对应的词槽语义填充模型抽取该意图相应的词槽,并使用该词槽通过该意图对应的信源服务给出回复,如果当前文本通过上轮的意图识别模型识别的意图和上轮意图不一致,则多轮切换成单轮,进行步骤三给出相应的回复。
对话状态以key和value的形式存储在阿里云的Redis数据库中并存储时间为常量k,k为自定义的定时器,如果对话状态存储时间为常量k时,该对话状态会释放清空。key的值是语义结果,value的值是分类结果domain、意图识别结果intent和词槽抽取结果slots。当单轮对话时,用户文本的语义结果值domain、intent和slots都被填充相应的值,当多轮对话时,新的用户文本会更新上轮的语义结果domain、intent和slots值。
例如:
单轮对话时:今天北京的天气
Redis数据库的key的语义结果值value为:
domain:weather
intent:weather_search
slots:
City:北京
Date:今天
当多轮对话时:明天呢
此时,Redis数据库的key的语义结果值value更新为:
domain:weather
intent:weather_search
slots:
City:北京
Date:明天
当再多轮对话时:西安呢
此时,Redis数据库的key的语义结果值value更新为:
domain:weather
intent:weather_search
slots:
City:西安
Date:明天
单轮对话评价指标:用户文本对应的领域、意图和所有词槽都为正确。领域分类、意图识别和词槽语义填充的评价指标分别如下:
领域分类任务:本文使用领域分类准确率(Pdomain)来评价领域分类模型。
Pdomain=领域分类正确的语句数/语句总数(1)
意图识别任务:本文使用意图识别的分类准确率(Pintent)来评价意图识别模型
Pintent=意图识别正确的语句数/语句总数 (2)
词槽填充任务:本文使用句子级词槽填充准确率(Pslot)来评价词槽填充模型。
Pslot=词槽填充正确的语句数/语句总数 (3)
多轮对话评价指标:用户每轮文本对应的领域、意图和句子级词槽都正确为正确。多轮对话的评价指标如下:
多轮任务:本文使用多轮准确率(Pmrd)来评价多轮对话系统。
Pmrd=多轮对话正确数/多轮对话总数 (4)
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

Claims (10)

1.一种面向任务的基于1+N的多轮对话方法,其特征在于,包括:
步骤S1:根据业务需求构建任务型对话的领域分类模型、意图识别模型和词槽语义填充模型;
步骤S2:进行单轮对话任务,通过领域分类模型获得文本所属领域,如果文本所属领域并非预设领域,通过闲聊信源服务进行回复;
如果该领域为预设领域,首先通过意图识别模型识别该文本对应意图,然后通过词槽语义填充模型对该文本进行词槽填充,抽取该文本的词槽,使用词槽通过该意图对应的信源服务给出回复;
步骤S3:进行多轮对话,用户文本同时进入上轮对话的意图识别模型和领域分类模型,如果当前文本通过上轮对话的意图识别模型识别的意图和上轮对话识别的意图一致,则进入多轮对话任务给出回复;
如果当前文本通过上轮的意图识别模型识别的意图和上轮对话识别的意图不一致,则多轮对话任务切换成单轮对话任务,跳转至步骤S2给出回复。
2.根据权利要求1所述的面向任务的基于1+N的多轮对话方法,其特征在于,在所述步骤S1中:
根据业务需求收集相应用户语料并进行预处理;
步骤S1.1:语料收集:通过生产环境线上日志收集用户语料;
步骤S1.2:语料预处理:清洗没有实际语义的用户语料;
步骤S1.3:根据所述用户语料定义相应领域、相应意图、词槽标签:通过用户语料确定语料所对应的领域,结合业务需求定义相应意图和词槽标签;
所述领域包括:任务导向型对话领域、闲聊型对话领域以及问答型对话领域,任务导向型对话领域通过自然语言交互的形式帮助用户完成某个特定的任务;闲聊型对话领域模拟人的聊天行为;问答型对话领域旨在基于特定的知识,回答用户特定的问题,以帮助用户获取其关注的信息;
标注领域、意图和词槽:根据用户语料信息标注相应的领域、意图和词槽;
步骤S1.4:训练和优化领域分类模型、意图识别模型、词槽语义填充模型:
每个领域的语料按照8:1:1的比例进行划分,把每个领域语料的8份作为训练集,每个领域语料的1份作为验证集,另每个领域语料的1份作为测试集;
步骤S1.5:领域分类、意图识别和词槽语义填充模型的优化:
通过测试集的结果,分析该模型对每个领域语料识别效果,从语料话术、算法和参数迭代优化模型。
3.根据权利要求1所述的面向任务的基于1+N的多轮对话方法,其特征在于,在所述步骤S2中:
对领域分类、意图识别和词槽语义填充模型进行推理;
对于领域分类模型,使用TextCNN模型输入文本,输出该文本所对应的领域,获取并处理输入的语言文本信息,进行基于字符语句的向量化处理,以得到基于字符语句的初始向量;进行多个卷积核处理、多个窗口池化处理、RELU激活函数处理和级联处理获得优化的基于字符语句向量;进行部分元素丢弃和变换以获得基于字符语句的目标向量;经过神经网络的全连接层进行计算以识别得到与语言文本信息对应的文本领域和相应的文本领域概率;
对于意图识别模型,意图识别是领域识别的子任务,同样使用TextCNN模型输入文本,输出该文本所对应的意图;意图识别的目的在于提取用户的实际意图;获取并处理输入的语言文本信息,进行基于字符语句的向量化处理,以得到基于字符语句的初始向量;进行多个卷积核处理、多个窗口池化处理、RELU激活函数处理和级联处理获得优化的基于字符语句向量;进行部分元素丢弃和变换以获得基于字符语句的目标向量;经过神经网络的全连接层进行计算以识别得到与语言文本信息对应的文本意图和相应的文本意图概率;
对于词槽语义填充模型,输入文本,输出词槽;槽填充的目的在于分析自然语言中所包含的实体信息;获取并处理输入的语言文本信息,进行基于字符语句的向量化处理,以得到基于字符语句的初始向量;进行双向LSTM优化处理和级联处理获得优化的基于字符语句向量;进行部分元素丢弃和变换以获得基于字符语句的目标向量;经过神经网络的全连接层进行计算以识别得到与语言文本词槽信息对应的词槽值,最后经过CRF得到合法的词槽;
通过领域分类、意图识别和词槽语义填充模型识别该用户语料的领域、意图和提取相应词槽;
用户说话的文本通过领域分类模型获得某个领域,如果该领域不为预设领域种类,则通过闲聊信源服务进行回复,否则,再通过意图识别模型识别该领域的某个意图,通过词槽语义填充模型抽取该意图相应的词槽,使用该词槽通过该意图对应的信源服务给出回复;
单轮对话评价指标:用户文本对应的领域、意图和所有词槽都为正确,领域分类、意图识别和词槽语义填充的评价指标分别如下:
领域分类任务:使用领域分类准确率Pdomain来评价领域分类模型:
Pdomain=领域分类正确的语句数/语句总数
意图识别任务:使用意图识别的分类准确率Pintent来评价意图识别模型:
Pintent=意图识别正确的语句数/语句总数
词槽填充任务:使用句子级词槽填充准确率Pslot来评价词槽填充模型:
Pslot=词槽填充正确的语句数/语句总数
4.根据权利要求1所述的面向任务的基于1+N的多轮对话方法,其特征在于,在所述步骤S3中:
多轮任务判别:当多轮对话时,用户说话的文本同时进入上轮领域的意图识别模型和领域分类模型,如果当前文本通过上轮的意图识别模型识别的意图和上轮意图一致,则进入多轮,通过该意图对应的词槽语义填充模型抽取该意图相应的词槽,并使用该词槽通过该意图对应的信源服务给出回复,如果当前文本通过上轮的意图识别模型识别的意图和上轮意图不一致,则多轮对话任务切换成单轮,进行相应的回复;
多轮对话评价指标:用户每轮文本对应的领域、意图和句子级词槽都为正确,多轮对话的评价指标如下:
使用多轮准确率Pmrd来评价多轮对话系统:
Pmrd=多轮对话正确数/多轮对话总数
5.根据权利要求1所述的面向任务的基于1+N的多轮对话方法,其特征在于:
对话状态包括单轮对话和多轮对话,对话状态以key和value的形式存储在阿里云的Redis数据库中并存储时间为常量k,k为自定义的定时器,如果对话状态存储时间为常量k时,该对话状态会释放清空;
其中,key的值是语义结果,value的值是分类结果domain、意图识别结果intent和词槽抽取结果slots;
当单轮对话时,用户文本的语义结果值domain、intent和slots都被填充相应的值,当多轮对话时,新的用户文本会更新上轮的语义结果domain、intent和slots值。
6.一种面向任务的基于1+N的多轮对话系统,其特征在于,包括:
模块M1:根据业务需求构建任务型对话的领域分类模型、意图识别模型和词槽语义填充模型;
模块M2:进行单轮对话任务,通过领域分类模型获得文本所属领域,如果文本所属领域并非预设领域,通过闲聊信源服务进行回复;
如果该领域为预设领域,首先通过意图识别模型识别该文本对应意图,然后通过词槽语义填充模型对该文本进行词槽填充,抽取该文本的词槽,使用词槽通过该意图对应的信源服务给出回复;
模块M3:进行多轮对话,用户文本同时进入上轮对话的意图识别模型和领域分类模型,如果当前文本通过上轮对话的意图识别模型识别的意图和上轮对话识别的意图一致,则进入多轮对话任务给出回复;
如果当前文本通过上轮的意图识别模型识别的意图和上轮对话识别的意图不一致,则多轮对话任务切换成单轮对话任务,跳转至模块M2给出回复。
7.根据权利要求6所述的面向任务的基于1+N的多轮对话系统,其特征在于,在所述模块M1中:
根据业务需求收集相应用户语料并进行预处理;
模块M1.1:语料收集:通过生产环境线上日志收集用户语料;
模块M1.2:语料预处理:清洗没有实际语义的用户语料;
模块M1.3:根据所述用户语料定义相应领域、相应意图、词槽标签:通过用户语料确定语料所对应的领域,结合业务需求定义相应意图和词槽标签;
所述领域包括:任务导向型对话领域、闲聊型对话领域以及问答型对话领域,任务导向型对话领域通过自然语言交互的形式帮助用户完成某个特定的任务;闲聊型对话领域模拟人的聊天行为;问答型对话领域旨在基于特定的知识,回答用户特定的问题,以帮助用户获取其关注的信息;
标注领域、意图和词槽:根据用户语料信息标注相应的领域、意图和词槽;
模块M1.4:训练和优化领域分类模型、意图识别模型、词槽语义填充模型:
每个领域的语料按照8:1:1的比例进行划分,把每个领域语料的8份作为训练集,每个领域语料的1份作为验证集,另每个领域语料的1份作为测试集;
模块M1.5:领域分类、意图识别和词槽语义填充模型的优化:
通过测试集的结果,分析该模型对每个领域语料识别效果,从语料话术、算法和参数迭代优化模型。
8.根据权利要求6所述的面向任务的基于1+N的多轮对话系统,其特征在于,在所述模块M2中:
对领域分类、意图识别和词槽语义填充模型进行推理;
对于领域分类模型,使用TextCNN模型输入文本,输出该文本所对应的领域,获取并处理输入的语言文本信息,进行基于字符语句的向量化处理,以得到基于字符语句的初始向量;进行多个卷积核处理、多个窗口池化处理、RELU激活函数处理和级联处理获得优化的基于字符语句向量;进行部分元素丢弃和变换以获得基于字符语句的目标向量;经过神经网络的全连接层进行计算以识别得到与语言文本信息对应的文本领域和相应的文本领域概率;
对于意图识别模型,意图识别是领域识别的子任务,同样使用TextCNN模型输入文本,输出该文本所对应的意图;意图识别的目的在于提取用户的实际意图;获取并处理输入的语言文本信息,进行基于字符语句的向量化处理,以得到基于字符语句的初始向量;进行多个卷积核处理、多个窗口池化处理、RELU激活函数处理和级联处理获得优化的基于字符语句向量;进行部分元素丢弃和变换以获得基于字符语句的目标向量;经过神经网络的全连接层进行计算以识别得到与语言文本信息对应的文本意图和相应的文本意图概率;
对于词槽语义填充模型,输入文本,输出词槽;槽填充的目的在于分析自然语言中所包含的实体信息;获取并处理输入的语言文本信息,进行基于字符语句的向量化处理,以得到基于字符语句的初始向量;进行双向LSTM优化处理和级联处理获得优化的基于字符语句向量;进行部分元素丢弃和变换以获得基于字符语句的目标向量;经过神经网络的全连接层进行计算以识别得到与语言文本词槽信息对应的词槽值,最后经过CRF得到合法的词槽;
通过领域分类、意图识别和词槽语义填充模型识别该用户语料的领域、意图和提取相应词槽;
用户说话的文本通过领域分类模型获得某个领域,如果该领域不为预设领域种类,则通过闲聊信源服务进行回复,否则,再通过意图识别模型识别该领域的某个意图,通过词槽语义填充模型抽取该意图相应的词槽,使用该词槽通过该意图对应的信源服务给出回复;
单轮对话评价指标:用户文本对应的领域、意图和所有词槽都为正确,领域分类、意图识别和词槽语义填充的评价指标分别如下:
领域分类任务:使用领域分类准确率Pdomain来评价领域分类模型:
Pdomain=领域分类正确的语句数/语句总数
意图识别任务:使用意图识别的分类准确率Pintent来评价意图识别模型:
Pintent=意图识别正确的语句数/语句总数
词槽填充任务:使用句子级词槽填充准确率Pslot来评价词槽填充模型:
Pslot=词槽填充正确的语句数/语句总数。
9.根据权利要求6所述的面向任务的基于1+N的多轮对话系统,其特征在于,在所述模块M3中:
多轮任务判别:当多轮对话时,用户说话的文本同时进入上轮领域的意图识别模型和领域分类模型,如果当前文本通过上轮的意图识别模型识别的意图和上轮意图一致,则进入多轮,通过该意图对应的词槽语义填充模型抽取该意图相应的词槽,并使用该词槽通过该意图对应的信源服务给出回复,如果当前文本通过上轮的意图识别模型识别的意图和上轮意图不一致,则多轮对话任务切换成单轮,进行相应的回复;
多轮对话评价指标:用户每轮文本对应的领域、意图和句子级词槽都为正确,多轮对话的评价指标如下:
使用多轮准确率Pmrd来评价多轮对话系统:
Pmrd=多轮对话正确数/多轮对话总数。
10.根据权利要求6所述的面向任务的基于1+N的多轮对话系统,其特征在于:
对话状态包括单轮对话和多轮对话,对话状态以key和value的形式存储在阿里云的Redis数据库中并存储时间为常量k,k为自定义的定时器,如果对话状态存储时间为常量k时,该对话状态会释放清空;
其中,key的值是语义结果,value的值是分类结果domain、意图识别结果intent和词槽抽取结果slots;
当单轮对话时,用户文本的语义结果值domain、intent和slots都被填充相应的值,当多轮对话时,新的用户文本会更新上轮的语义结果domain、intent和slots值。
CN202211317437.9A 2022-10-26 2022-10-26 面向任务的基于1+n的多轮对话方法及系统 Pending CN115525753A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211317437.9A CN115525753A (zh) 2022-10-26 2022-10-26 面向任务的基于1+n的多轮对话方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211317437.9A CN115525753A (zh) 2022-10-26 2022-10-26 面向任务的基于1+n的多轮对话方法及系统

Publications (1)

Publication Number Publication Date
CN115525753A true CN115525753A (zh) 2022-12-27

Family

ID=84703041

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211317437.9A Pending CN115525753A (zh) 2022-10-26 2022-10-26 面向任务的基于1+n的多轮对话方法及系统

Country Status (1)

Country Link
CN (1) CN115525753A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116303962A (zh) * 2023-03-21 2023-06-23 北京百度网讯科技有限公司 对话生成方法、深度学习模型的训练方法、装置和设备
CN116401346A (zh) * 2023-03-09 2023-07-07 北京海致星图科技有限公司 一种任务型多轮对话构建方法、设备和计算机可读存储介质
CN116737883A (zh) * 2023-08-15 2023-09-12 科大讯飞股份有限公司 人机交互方法、装置、设备及存储介质
CN116777568A (zh) * 2023-08-17 2023-09-19 浙江网新恒天软件有限公司 金融市场交易事前智能对话下单方法、装置及存储介质
CN116821309A (zh) * 2023-08-28 2023-09-29 北京珊瑚礁科技有限公司 一种基于大语言模型的上下文构造方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116401346A (zh) * 2023-03-09 2023-07-07 北京海致星图科技有限公司 一种任务型多轮对话构建方法、设备和计算机可读存储介质
CN116303962A (zh) * 2023-03-21 2023-06-23 北京百度网讯科技有限公司 对话生成方法、深度学习模型的训练方法、装置和设备
CN116303962B (zh) * 2023-03-21 2024-05-28 北京百度网讯科技有限公司 对话生成方法、深度学习模型的训练方法、装置和设备
CN116737883A (zh) * 2023-08-15 2023-09-12 科大讯飞股份有限公司 人机交互方法、装置、设备及存储介质
CN116777568A (zh) * 2023-08-17 2023-09-19 浙江网新恒天软件有限公司 金融市场交易事前智能对话下单方法、装置及存储介质
CN116821309A (zh) * 2023-08-28 2023-09-29 北京珊瑚礁科技有限公司 一种基于大语言模型的上下文构造方法
CN116821309B (zh) * 2023-08-28 2023-11-17 北京珊瑚礁科技有限公司 一种基于大语言模型的上下文构造方法

Similar Documents

Publication Publication Date Title
CN115525753A (zh) 面向任务的基于1+n的多轮对话方法及系统
CN108446286B (zh) 一种自然语言问句答案的生成方法、装置及服务器
CN107291783B (zh) 一种语义匹配方法及智能设备
CN111738016B (zh) 多意图识别方法及相关设备
CN110717339A (zh) 语义表示模型的处理方法、装置、电子设备及存储介质
CN111191016A (zh) 一种多轮对话处理方法、装置及计算设备
CN110990543A (zh) 智能对话的生成方法、装置、计算机设备及计算机存储介质
CN111708869B (zh) 人机对话的处理方法及装置
CN108763510A (zh) 意图识别方法、装置、设备及存储介质
Xu et al. Exploiting shared information for multi-intent natural language sentence classification.
CN109920414A (zh) 人机问答方法、装置、设备和存储介质
CN109243468B (zh) 语音识别方法、装置、电子设备及存储介质
CN112101045B (zh) 一种多模态语义完整性识别方法、装置及电子设备
CN110309277B (zh) 人机对话语义解析方法和系统、车载人机对话方法和系统、控制器及存储介质
CN112541060A (zh) 一种基于对抗训练的端到端任务型对话学习框架和方法
CN112667796B (zh) 一种对话回复方法、装置、电子设备及可读存储介质
CN111739520B (zh) 一种语音识别模型训练方法、语音识别方法、装置
KR20220060780A (ko) 언어학습을 위한 지식 기반 대화 시스템 및 방법
CN108304424A (zh) 文本关键词提取方法及文本关键词提取装置
CN117521675A (zh) 基于大语言模型的信息处理方法、装置、设备及存储介质
CN111399629B (zh) 一种终端设备的操作引导方法、终端设备及存储介质
CN115345177A (zh) 意图识别模型训练方法和对话方法及装置
Mariani et al. Natural interaction with robots, knowbots and smartphones
CN112818096A (zh) 对话生成方法及其装置
CN111680514B (zh) 信息处理和模型训练方法、装置、设备及存储介质

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