CN115878778A - 面向业务领域的自然语言理解方法 - Google Patents
面向业务领域的自然语言理解方法 Download PDFInfo
- Publication number
- CN115878778A CN115878778A CN202211709949.XA CN202211709949A CN115878778A CN 115878778 A CN115878778 A CN 115878778A CN 202211709949 A CN202211709949 A CN 202211709949A CN 115878778 A CN115878778 A CN 115878778A
- Authority
- CN
- China
- Prior art keywords
- natural language
- slot
- sample
- language understanding
- field
- 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
Links
Images
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Machine Translation (AREA)
Abstract
本申请提供一种面向业务领域的自然语言理解方法。该方法包括:根据应用需求建立自然语言理解目标;自然语言理解目标包括:业务领域、意图以及槽位;槽位包括槽以及槽对应的槽值,槽包括业务领域通用的通用槽和面向特定业务领域的特殊槽,槽值为对话样本数据集中的关键词;基于对话样本数据集训练形成自然语言理解模型;其中,生成对话样本数据集的方法包括:根据槽值替换生成新的对话样本和采用文本生成技术生成新的对话样本;自然语言理解模型能够将输入的自然语言识别为业务领域标签、意图标签和槽位标签。本申请能够提高业务领域应用中对自然语言理解的准确度。
Description
技术领域
本申请涉及自然语言处理技术领域,尤其涉及一种面向业务领域的自然语言理解方法。
背景技术
自然语言理解是对话系统的核心功能之一,主要是对用户的对话文本进行语义分析,获取用户的对话行为以及与任务相关的重要的信息。构建语义理解模型,首先构建训练样本库,然后基于深度学习的方法,通过训练样本对自然语言理解模型进行训练,训练好的自然语言理解模型可以对对话过程中的自然语言进行识别,实现对自然语言的理解。现有技术中通常面向对话的自然语言理解标注样本数据很少,造成样本词汇和句式单一,利用少量样本进行训练,得到的自然语言理解模型准确度较低,进而导致对自然语言的理解不够准确。
发明内容
本申请实施例提供了一种面向业务领域的自然语言理解方法,以解决现有技术中对自然语言的理解不够准确的问题。
第一方面,本申请实施例提供了一种面向业务领域的自然语言理解方法,所述面向业务领域的自然语言理解方法包括:
根据应用需求建立自然语言理解目标;所述自然语言理解目标包括:业务领域、意图以及槽位;所述槽位包括槽以及槽对应的槽值,槽包括业务领域通用的通用槽和面向特定业务领域的特殊槽,槽值为对话样本数据集中的关键词;
基于对话样本数据集训练形成自然语言理解模型;
所述自然语言理解模型能够将输入的自然语言识别为业务领域标签、意图标签和槽位标签;
其中,生成对话样本数据集的方法包括:根据槽值替换生成新的对话样本和采用文本生成技术生成新的对话样本。
在一种可能的实现方式中,所述根据槽值替换生成新的对话样本,包括:
对所述对话样本数据集进行预处理,确定所述对话样本数据集中表示业务领域的槽值;
根据替换数据替换所述对话样本数据集中表示业务领域的槽值,生成新的对话样本;
所述替换数据的来源为业务领域字典、基础台账知识图谱以及业务数据表。
在一种可能的实现方式中,根据业务领域字典确定替换数据包括:对业务领域的相关行业文档进行分词处理,根据分词结果中表示业务领域的关键词和所述对话样本数据集中表示业务领域的槽值之间的关系构建业务领域词典,根据所述关系确定替换数据;
根据基础台账知识图谱确定替换数据包括:对业务领域的相关知识进行梳理,得到表示业务领域的关键词以及表示业务领域的关键词之间的关系,根据表示业务领域的关键词以及表示业务领域的关键词之间的关系生成三元组,根据所述三元组生成基础台账知识图谱,根据所述三元组确定替换数据;
根据业务数据表确定替换数据包括:对业务领域的业务数据表进行梳理,得到表示业务领域的关键词,根据所述关键词确定替换数据。
在一种可能的实现方式中,对所述对话样本数据集进行预处理的方法包括:对对话样本数据集中的字符进行标识,划分业务领域、意图和槽位。
在一种可能的实现方式中,所述采用文本生成技术生成新的对话样本包括:
将槽值替换生成的新的对话样本输入预先训练好的神经网络模型中,采用文本生成技术生成新的对话样本;
其中,所述神经网络模型用于根据所述槽值替换生成的新的对话样本以及自然语言理解目标中的关键词生成新的对话样本,同时所述神经网络模型基于注意力机制,使得生成的新的对话样本包含所述关键词。
在一种可能的实现方式中,所述自然语言理解模型包括:BERT(BidirectionalEncoder Representations from Transformers,基于变换器的双向编码器表示技术)层、业务领域分类层、意图分类层以及槽位序列标注层;
其中,所述BERT层用于根据预处理后的所述自然语言中的字嵌入特征,确定相应的隐状态序列;
所述业务领域分类层用于根据所述隐状态序列中预设的标识字符对应的隐藏层向量确定所述自然语言的业务领域标签,所述自然语言的业务领域标签为所述自然语言的业务领域对应的概率最大的业务领域类别;
所述意图分类层用于根据所述隐状态序列中预设的标识字符对应的隐藏层向量确定所述自然语言的意图标签,所述自然语言的意图标签为所述自然语言的意图对应的概率最大的意图类别;
所述槽位序列标注层用于根据所述隐状态序列中预设的标识字符后面字符对应的隐藏层向量确定所述自然语言的槽位标签,所述自然语言的槽位标签为所述自然语言的槽位对应的概率最大的槽位类别;
所述预设的标识字符包含起始字符和结尾字符,起始字符位于被标识的字符之前,结尾字符位于被标识的字符之后。
在一种可能的实现方式中,所述概率的确定方法为:
p(Ai|s)=soft max(Wi×si+bi),i=1,2,3 (1)
其中,i=1表示业务领域类别,i=2表示意图类别,i=3表示槽位类别,s表示自然语言,p(Ai|s)表示对应的概率分布,Wi表示对应的权重矩阵,si表示对应的隐藏层向量,bi表示对应的偏移向量。
在一种可能的实现方式中,所述自然语言理解模型的训练方法,包括:
从对话样本数据集中随机生成训练样本集;
基于训练样本集训练得到所述自然语言理解模型。
在一种可能的实现方式中,根据自然语言理解模型训练获得的业务领域类别、意图类别和槽位类别,计算自然语言理解模型的损失函数,自然语言理解模型根据损失函数值进行迭代,获得所述自然语言理解模型。
在一种可能的实现方式中,在获得自然语言理解模型之后,还包括:
从对话样本数据集中随机生成测试样本集;
使用测试样本集对所述自然语言理解模型进行性能评估,得到业务领域类别、意图类别以及槽位类别对应的准确率、召回率以及F1值,根据所述准确率、所述召回率以及所述F1值判断所述自然语言理解模型是否符合预设的性能评价指标,若所述自然语言理解模型不符合预设的性能评价指标,则继续进行训练直至所述自然语言理解模型符合预设的性能评价指标。
本申请实施例提供的面向业务领域的自然语言理解方法的有益效果在于:
在本申请实施例中,考虑到现有技术中利用少量样本进行自然语言理解模型的训练,得到的自然语言理解模型的准确度不高,因此,在本申请中考虑通过根据槽值替换生成新的对话样本和采用文本生成技术生成新的对话样本进行数据增强,可以生成大量的对话样本,基于数据增强后获得的对话样本数据集进行训练,可以提高自然语言理解模型的准确度以及业务领域应用中对自然语言理解的准确度,解决了现有技术中利用少量样本进行训练,对自然语言的理解不够准确的问题。同时本申请中的数据增强方法可以同时保证样本文本表达的多样性和句式的多样性,可以提高自然语言理解模型对自然语言中业务领域、意图和槽位的识别的准确度,进而可以提高业务领域应用中对自然语言理解的准确度。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的面向业务领域的自然语言理解方法的流程示意图;
图2是采用文本生成技术生成新的对话样本的神经网络模型的示意图;
图3是基于BERT的端到端的自然语言理解模型的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图通过具体实施例来进行说明。
图1为本申请实施例提供的面向业务领域的自然语言理解方法的流程示意图。如图1所示,该方法包括:
步骤101:根据应用需求建立自然语言理解目标。
在本实施例中,自然语言理解目标包括:业务领域、意图以及槽位。槽位包括槽以及槽对应的槽值,槽包括业务领域通用的通用槽和面向特定业务领域的特殊槽,槽值为对话样本数据集中的关键词。
在本实施例中,为实现实际业务领域业务场景的智能问答,首要需要明确问题的定义,即实际对话场景中需识别的信息。在本申请中实际对话场景中需识别的信息包括业务领域、意图和槽位。面向具体的应用需求,需要合理地建立自然语言理解目标(自然语言理解目标即业务框架),包括梳理划分定义对话中涉及的业务领域、对话的意图以及关键信息的槽位为后续的意图识别以及槽填充奠定基础。
本申请以面向电力领域的对话场景为实例,对业务框架具体内涵进行梳理与明确定义。本申请通过对电力领域业务框架进行定义,定义了业务领域,本申请可以通过划分业务领域进而定义划分意图、槽位。具体地,根据电力领域的工作报告、指标报表中心涉及到的指标数据,确定业务领域、意图和槽位的各个类别,主要根据电力公司数据中的数据仓库模型来划分业务领域类别,将同一业务场景下相关的指标数据划分为一个业务领域,属于同一个业务领域类别,每个业务领域汇集了该业务领域常见问题中的统计维度和统计方法,将统计维度和统计方法定义为槽。部分槽为所有业务领域通用为通用槽,其他面向特定域的槽为特殊槽。面向所有业务领域定义了计数、总和、求均值、占比、同比等意图。以下表1为定义的业务框架示例。
表1业务框架示例
本申请可以通过对电力领域的对话样本数据集进行梳理,确定业务领域、意图和槽位。
其中,业务领域的确定方法为:
主要根据电力公司数据中的数据仓库模型来确定业务领域,将同一业务场景下相关的指标数据划分为一个业务领域,属于同一个业务领域类别。例如,在电力领域中可以定义电量、工单、投诉、线损等业务领域。
意图的确定方法为:
随着业务领域的不同,检索的问题也有所不同,意图也随之发生变化。包含了询问数量情况、询问同比情况、询问占比情况等意图。因此,可以通过对不同业务领域的常见问题进行梳理,确定意图。本申请通过对电力领域的常见问题进行了梳理,确定了十三类检索意图,包含了计数、总和、求均值、占比、同比等。
槽位的确定方法为:
在本实施例中,槽位包括槽以及槽对应的槽值,槽包括业务领域通用的通用槽和面向特定业务领域的特殊槽。根据各个业务领域中的统计维度、统计方法确定槽位。其中通用槽可以由用户给出,并且相对固定。本申请可以通过对电力领域中不同业务领域的常见问题进行梳理,挖掘大部分常见问题中不可或缺的槽位,比如时间以及单位。当对不同业务领域不同指标数据进行不同意图的检索筛选时,通用槽通常会由检索用户给出,作为相对固定的检索筛选条件。特殊槽通常作为相对灵活的检索筛选条件,因为电力领域中不同业务领域关注的业务指标存在差异,因此可以将特殊槽定义为某一业务领域特有的业务指标或统计维度,作为相对灵活的检索筛选条件。当用户提问某一特定类型的指标数量时,该特定类型便会对应一个统计维度,通常一个统计维度具有多个可选项值。
如表2中,当用户提问,石家庄上月服装行业的用电量时,单位、时间和询问对象可以通用槽,行业类别则可以作为特殊槽,具体槽的可选项值可以包括:服装行业、石化行业、居民生活行业等,通过该槽可以确定用电量的筛选条件。
表2通用槽和特殊槽示例
步骤102:基于对话样本数据集训练形成自然语言理解模型。
在本实施例中,自然语言理解模型能够将输入的自然语言识别为业务领域标签、意图标签和槽位标签。生成对话样本数据集的方法包括:根据槽值替换生成新的对话样本和采用文本生成技术生成新的对话样本。
在本实施例中,训练自然语言理解模型之前,需要获取对话样本数据集,并对对话样本数据集进行数据增强。
在本实施例中,自然语言理解模型是基于数据增强后的对话样本数据集训练形成的,对话样本数据集的数据增强方法包括:根据槽值替换生成新的对话样本或者采用文本生成技术生成新的对话样本。自然语言理解模型用于对自然语言进行识别,获得自然语言的业务领域标签、意图标签和槽位标签。
在本实施例中,对话样本数据集或者对话样本可以是实际对话场景中需要识别的问题或问句,对话样本数据集中的问题可以作为问题模板。在本实施例中槽值替换生成的训练数据使得生成的新的对话样本包含了多样性的业务领域数据值表达方式。数据增强方法中的采用文本生成技术生成新的对话样本也就是基于序列模型的样本自动生成方法,序列模型需要提前训练,可以采用槽值替换后生成的问句作为训练样本,也可以采用对话样本数据集中的问句作为训练样本。
在本申请实施例中,考虑到现有技术中利用少量样本进行自然语言理解模型的训练,得到的自然语言理解模型的准确度不高,因此,在本申请中考虑通过根据槽值替换生成新的对话样本和采用文本生成技术生成新的对话样本进行数据增强,可以生成大量的对话样本,基于数据增强后获得的对话样本数据集进行训练,可以提高自然语言理解模型的准确度以及业务领域应用中对自然语言理解的准确度,解决了现有技术中利用少量样本进行训练,对自然语言的理解不够准确的问题。同时本申请中的数据增强方法可以同时保证样本文本表达的多样性和句式的多样性,可以提高自然语言理解模型对自然语言中业务领域、意图和槽位的识别的准确度,进而可以提高业务领域应用中对自然语言理解的准确度。
在一种可能的实现方式中,根据槽值替换生成新的对话样本,包括:
对对话样本数据集进行预处理,确定对话样本数据集中表示业务领域的槽值。
根据替换数据替换对话样本数据集中表示业务领域的槽值,生成新的对话样本。
替换数据的来源为业务领域字典、基础台账知识图谱以及业务数据表。
在本实施例中,根据槽值替换生成新的对话样本可以实现训练样本文本表达(词汇)的多样性。
在一种可能的实现方式中,根据业务领域字典确定替换数据包括:对业务领域的相关行业文档进行分词处理,根据分词结果中表示业务领域的关键词和对话样本数据集中表示业务领域的槽值之间的关系构建业务领域词典,根据关系确定替换数据。
根据基础台账知识图谱确定替换数据包括:对业务领域的相关知识进行梳理,得到表示业务领域的关键词以及表示业务领域的关键词之间的关系,根据表示业务领域的关键词以及表示业务领域的关键词之间的关系生成三元组,根据三元组生成基础台账知识图谱,根据三元组确定替换数据。
根据业务数据表确定替换数据包括:对业务领域的业务数据表进行梳理,得到表示业务领域的关键词,根据关键词确定替换数据。
在本实施例中,根据业务领域字典确定替换数据包括:通过对电力领域相关行业文档进行分词处理,计算分词结果中表示业务领域的关键词和对话样本数据集中表示业务领域的槽值的语义相似度,根据语义相似度收集表示业务领域的关键词,并且识别表示业务领域的关键词之间的近义同义关系和上下位关系,根据上述关系构建业务领域词典。通过业务领域词典里表示业务领域的关键词的同义词、近义词和上下位词替换对话样本数据集中表示业务领域的槽值,生成表达多样的对话样本,可以实现训练样本中词汇的多样性。
根据基础台账知识图谱确定替换数据包括:可以通过对电力领域相关知识进行梳理,初步得到基础台账知识图谱中的知识结构、关键词、以及三元组模型。对初步得到的基础台账知识图谱对应的数据库表结构进行数据的重新组织,从数据源文件中进行针对性的关键词的抽取,然后根据表示业务领域的关键词以及表示业务领域的关键词之间的关系生成三元组,根据生成的三元组形成具体的语义网络实例,利用图数据库构建电力领域的基础台账知识图谱。
根据业务数据表确定替换数据包括:通过对电力领域业务数据表进行梳理,得到表示业务领域的关键词对应的可选项值,作为槽值替换的替换数据的来源。例如,槽为“行业类别”时,当“行业类别”字段对应的业务数据表中存储了表示业务领域的关键词对应的可选项值:服装行业、石化行业、居民生活行业等,那么这些可选项值可作为该槽行业类别的槽值替换的替换数据的来源。也就是说,当对话样本数据集中表示业务领域的槽值属于“行业类别”时,可以将该“行业类别”字段对应的可选项值(服装行业、石化行业、居民生活行业等)作为对话样本数据集中表示业务领域的槽值的替换数据。例如,当给出问题模版:某台区服装行业的用电量,那么根据业务数据表确定替换数据进行槽值替换生成的对话样本包括:某台区石化行业(居民生活行业、服装行业)的用电量。
在一种可能的实现方式中,对对话样本数据集进行预处理的方法包括:对对话样本数据集中的字符进行标识,划分业务领域、意图和槽位。
在本实施例中,具体的预处理方法为:将对话样本中的问题文本进行标注,用于预测槽值。将对话样本中标注的业务领域以及意图抽取出来,用于后续将其作为标签值与预测值对比计算损失,其中,可以采用BIO(B-begin,I-inside,O-outside,三位标注法)进行标注。
在一种可能的实现方式中,采用文本生成技术生成新的对话样本包括:
将槽值替换生成的新的对话样本输入预先训练好的神经网络模型中,采用文本生成技术生成新的对话样本。
其中,神经网络模型用于根据槽值替换生成的新的对话样本以及自然语言理解目标中的关键词生成新的对话样本,同时神经网络模型基于注意力机制,使得生成的新的对话样本包含关键词。
在本实施例中采用文本生成技术生成新的对话样本可以实现训练样本句式的多样性。
在本实施例中,如图2所示的采用文本生成技术生成新的对话样本的神经网络模型的示意图。预先训练好的神经网络模型可以是PF-LSTM(Permutation Entropy LongShort Term Memory,排列熵长短期记忆)模型。考虑到通过替换对话样本数据集的槽或者槽值生成的新的对话样本的句式与对话样本数据集中问题模板的句式基本一致,通过槽值替换的方法可能无法充分利用不同业务领域的各类问题模版生成句式多样性的样本。因此本申请可以采用文本生成技术(基于序列模型的文本生成技术)生成新的对话样本,将问题的给定槽值(即关键词)输入PF-LSTM模型中,自动生成问题。PF-LSTM模型可以根据槽值替换生成的新的对话样本以及自然语言理解目标中的关键词进行训练。采用文本生成技术生成新的对话样本的主要步骤可以包括:收集各业务领域下各意图的问题模板。可以对问题模板进行分词和停用词处理,按照特定格式进行保存。将分词结果输入word2vec模型,输出词向量文件。将词向量文件以及分词文件作为模型的输入,训练PF-LSTM模型;在PF-LSTM模型预测部分,可通过输入关键词,输出完整的对话样本。在PF-LSTM模型训练过程中,在获得关键词后,可以使用LSTM来预测关键词的概率分布,以生成新的关键词。同时,可以通过引用注意力机制,对每个关键词与生成的新的关键词的语义相关性进行评分,在初始时,对每个关键词创建一个多维向量,用向量来表示关键词的表达程度,可通过关键词的表达程度来调整注意策略,使PF-LSTM模型能够更多地考虑表达程度较低的关键词。例如,输入的关键词为“石家庄、去年、售电量、排名”,输出的新的对话样本可以是“石家庄去年售电量排名多少?”。也就是说,本申请可以通过引用注意力机制,使生成的新的对话样本包含关键词。
在一种可能的实现方式中,自然语言理解模型包括:BERT(BidirectionalEncoder Representations from Transformers,基于变换器的双向编码器表示技术)层、业务领域分类层、意图分类层以及槽位序列标注层。
其中,BERT层用于根据预处理后的自然语言中的字嵌入特征,确定相应的隐状态序列。
业务领域分类层用于根据隐状态序列中预设的标识字符对应的隐藏层向量确定自然语言的业务领域标签,自然语言的业务领域标签为自然语言的业务领域对应的概率最大的业务领域类别。
意图分类层用于根据隐状态序列中预设的标识字符对应的隐藏层向量确定自然语言的意图标签,自然语言的意图标签为自然语言的意图对应的概率最大的意图类别。
槽位序列标注层用于根据隐状态序列中预设的标识字符后面字符对应的隐藏层向量确定自然语言的槽位标签,自然语言的槽位标签为自然语言的槽位对应的概率最大的槽位类别。
预设的标识字符包含起始字符和结尾字符,起始字符位于被标识的字符之前,结尾字符位于被标识的字符之后。
在本实施例中,起始字符可以是“[CLS]”,结尾字符可以是“[SEP]”。如图3所示的基于BERT的端到端的自然语言理解模型的示意图。在本实施例中可以将预处理后的自然语言中的字嵌入特征输入BERT层进行处理,获得相应的隐状态序列,可以将隐状态序列中字符“[CLS]”对应的隐藏层向量分别输入业务领域分类层和意图分类层中,获取业务领域标签和意图标签,可以将隐状态序列中字符“[CLS]”后面问题文本对应的隐藏层向量输入槽位序列标注层中,获取槽位标签(包括首标签和尾标签),对照BIO标注,抽取出槽-槽值对。例如,实际对话场景为电力领域,其中的自然语言为“石家庄今年售电量是多少?”,该自然语言的三类标签分别是:业务领域:售电量;意图:查询数量;槽位一:单位:石家庄;槽位二:询问对象:售电量。按照BERT预定义的数据格式得到字嵌入特征:“[CLS]石家庄今年售电量是多少?[SEP]”。其中,[CLS]表示句子的开端。[SEP]表示句子的结束。将其经过BERT层的编码后,得到问句(即石家庄今年售电量是多少?)的最后一层隐藏层向量,以及“[CLS]”对应的最后一层隐藏层向量;将“[CLS]”对应的最后一层隐藏层向量经过业务领域分类层和意图分类层,将概率最大的类别作为该自然语言的业务领域标签及意图标签;将问句对应的最后一层隐藏层向量通过槽位序列标注层,对照BIO标注抽取出槽和槽值对。
在一种可能的实现方式中,概率的确定方法为:
p(Ai|s)=softmax(Wi×si+bi),i=1,2,3(1)
其中,i=1表示业务领域类别,i=2表示意图类别,i=3表示槽位类别,s表示自然语言,p(Ais)表示对应的概率分布,Wi表示对应的权重矩阵,si表示对应的隐藏层向量,bi表示对应的偏移向量。
在本实施例中,业务领域的概率分布的确定方法为:
p(A1|s)=softmax(W1×s1+b1)
其中,p(A1|s)表示业务领域的概率分布,A1表示业务领域类别,s表示自然语言,W1表示业务领域权重矩阵,s1表示预设的标识字符对应的隐藏层向量,b1表示业务领域偏移向量。
意图的概率分布的确定方法为:
p(A2|s)=softmax(W2×s2+b2)
其中,p(A2|s)表示意图的概率分布,A2表示意图类别,s表示自然语言,W2表示意图权重矩阵,s2表示预设的标识字符对应的隐藏层向量,b2表示意图偏移向量。
槽位的概率分布的确定方法为:
p(A3|s)=softmax(W3×s3+b3)
其中,p(A3s)表示槽位的概率分布,A3表示槽位类别,s表示自然语言,W3表示槽位权重矩阵,s3表示预设的标识字符后面字符对应的隐藏层向量,b3表示槽位偏移向量。
在一种可能的实现方式中,自然语言理解模型的训练方法,包括:
从对话样本数据集中随机生成训练样本集。
基于训练样本集训练得到自然语言理解模型。
在本实施例中,构建的是端到端的自然语言理解模型,基于深度学习的自然语言理解模型可以对用户输入的问题进行语义解析,将其转化为已定义的数据(包括业务领域类别、意图类别和槽位类别),作为后续的检索筛选条件。具体为采用端到端的自然语言理解模型识别出用户问题中涉及的业务领域、意图,进行槽填充。主要步骤包括:从对话样本数据集中随机生成训练样本集;对训练样本集进行预处理,根据预处理后的训练样本集对自然语言理解模型进行训练。
在一种可能的实现方式中,根据自然语言理解模型训练获得的业务领域类别、意图类别和槽位类别,计算自然语言理解模型的损失函数,自然语言理解模型根据损失函数值进行迭代,获得自然语言理解模型。
在本实施例中,损失函数的确定方法为:
Loss=Loss_domain+Loss_intent+Loss_slot
其中,Loss表示损失函数,Loss_domain表示业务领域识别任务的损失函数,Loss_intent表示意图识别任务的损失函数,Loss_slot表示槽位识别任务的损失函数。
业务领域识别任务的(交叉熵)损失函数的确定方法为:
其中,D为业务领域类别的数量,yd为业务领域标签变量,pd为训练样本属于类别d的预测概率。
意图识别任务的(交叉熵)损失函数的确定方法为:
其中,I为意图类别的数量,yi为意图标签变量,pi为训练样本属于类别i的预测概率。
槽位识别任务的(交叉熵)损失函数的确定方法为:
其中,J为槽位类别的数量,yj为槽位标签变量,pj为训练样本属于类别j的预测概率。
在一种可能的实现方式中,在获得自然语言理解模型之后,还包括:
从对话样本数据集中随机生成测试样本集。
使用测试样本集对自然语言理解模型进行性能评估,得到业务领域类别、意图类别以及槽位类别对应的准确率、召回率以及F1值,根据准确率、召回率以及F1值判断自然语言理解模型是否符合预设的性能评价指标,若自然语言理解模型不符合预设的性能评价指标,则继续进行训练直至自然语言理解模型符合预设的性能评价指标。
在本实施例中,将测试样本中标注的业务领域计算得到的标签值与预测值做对比,计算业务领域识别的准确率、召回率以及F1值。将测试样本中标注的意图计算得到的标签值与预测值做对比,计算意图识别的准确率、召回率以及F1值。将测试样本中标注的槽位计算得到的标签值与预测值做对比,计算每个槽位识别的准确率、召回率以及F1值。本实施例的最终性能评估结果为:本实施例采用30万余条样本进行自然语言理解模型的训练,自然语言理解模型在测试样本集的各业务领域的问题理解上能取得95~99%以上的正确率。
在本申请实施例中,本申请考虑通过识别问题模版中被标注的槽位,替换相同概念的槽值,形成新的对话样本并同时进行自动标注,其中槽值替换的数据来源包括:业务领域字典、基础台账知识图谱以及业务数据表,在本申请中可以通过不同的来源确定替换数据,使得槽值替换生成的新的对话样本包含了多样性的业务领域数据值表达方式,可以使训练样本更加丰富,训练得到的自然语言理解模型的准确度也会更高。同时本申请考虑到通过槽值替换的数据增强方法得到的新的对话样本虽然可以实现文本表达的多样性,但是通过槽值替换的数据增强方法得到的新的对话样本与问题模板的句式基本一致,因此,本申请还考虑通过采用文本生成技术生成新的对话样本来实现训练样本句式的多样性。因此,基于本申请的方案可以生成大量训练样本,同时可以保证训练样本文本表达的多样性和句式的多样性。此外,本申请能够通过合理定义业务框架,生成各个业务领域对应的训练样本,减少了训练样本中的标注错误的情况,提高了意图识别及槽填充的准确率,进而可以提高业务领域应用中对自然语言理解的准确度。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
以上实施例仅用以说明本申请的技术方案,而非对其限制。尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种面向业务领域的自然语言理解方法,其特征在于,所述面向业务领域的自然语言理解方法包括:
根据应用需求建立自然语言理解目标;所述自然语言理解目标包括:业务领域、意图以及槽位;所述槽位包括槽以及槽对应的槽值,槽包括业务领域通用的通用槽和面向特定业务领域的特殊槽,槽值为对话样本数据集中的关键词;
基于对话样本数据集训练形成自然语言理解模型;
所述自然语言理解模型能够将输入的自然语言识别为业务领域标签、意图标签和槽位标签;
其中,生成对话样本数据集的方法包括:根据槽值替换生成新的对话样本和采用文本生成技术生成新的对话样本。
2.根据权利要求1所述的方法,其特征在于,所述根据槽值替换生成新的对话样本,包括:
对所述对话样本数据集进行预处理,确定所述对话样本数据集中表示业务领域的槽值;
根据替换数据替换所述对话样本数据集中表示业务领域的槽值,生成新的对话样本;
所述替换数据的来源为业务领域字典、基础台账知识图谱以及业务数据表。
3.据权利要求2所述的方法,其特征在于,根据业务领域字典确定替换数据包括:对业务领域的相关行业文档进行分词处理,根据分词结果中表示业务领域的关键词和所述对话样本数据集中表示业务领域的槽值之间的关系构建业务领域词典,根据所述关系确定替换数据;
根据基础台账知识图谱确定替换数据包括:对业务领域的相关知识进行梳理,得到表示业务领域的关键词以及表示业务领域的关键词之间的关系,根据表示业务领域的关键词以及表示业务领域的关键词之间的关系生成三元组,根据所述三元组生成基础台账知识图谱,根据所述三元组确定替换数据;
根据业务数据表确定替换数据包括:对业务领域的业务数据表进行梳理,得到表示业务领域的关键词,根据所述关键词确定替换数据。
4.据权利要求2所述的方法,其特征在于,对所述对话样本数据集进行预处理的方法包括:对对话样本数据集中的字符进行标识,划分业务领域、意图和槽位。
5.根据权利要求1所述的方法,其特征在于,所述采用文本生成技术生成新的对话样本包括:
将槽值替换生成的新的对话样本输入预先训练好的神经网络模型中,采用文本生成技术生成新的对话样本;
其中,所述神经网络模型用于根据所述槽值替换生成的新的对话样本以及自然语言理解目标中的关键词生成新的对话样本,同时所述神经网络模型基于注意力机制,使得生成的新的对话样本包含所述关键词。
6.根据权利要求1所述的方法,其特征在于,所述自然语言理解模型包括:BERT(Bidirectional Encoder Representations from Transformers,基于变换器的双向编码器表示技术)层、业务领域分类层、意图分类层以及槽位序列标注层;
其中,所述BERT层用于根据预处理后的所述自然语言中的字嵌入特征,确定相应的隐状态序列;
所述业务领域分类层用于根据所述隐状态序列中预设的标识字符对应的隐藏层向量确定所述自然语言的业务领域标签,所述自然语言的业务领域标签为所述自然语言的业务领域对应的概率最大的业务领域类别;
所述意图分类层用于根据所述隐状态序列中预设的标识字符对应的隐藏层向量确定所述自然语言的意图标签,所述自然语言的意图标签为所述自然语言的意图对应的概率最大的意图类别;
所述槽位序列标注层用于根据所述隐状态序列中预设的标识字符后面字符对应的隐藏层向量确定所述自然语言的槽位标签,所述自然语言的槽位标签为所述自然语言的槽位对应的概率最大的槽位类别;
所述预设的标识字符包含起始字符和结尾字符,起始字符位于被标识的字符之前,结尾字符位于被标识的字符之后。
7.根据权利要求6所述的方法,其特征在于,所述概率的确定方法为:
p(Ais)=softmax(Wi×si+bi),i=1,2,3(1)
其中,i=1表示业务领域类别,i=2表示意图类别,i=3表示槽位类别,s表示自然语言,p(Ais)表示对应的概率分布,Wi表示对应的权重矩阵,si表示对应的隐藏层向量,bi表示对应的偏移向量。
8.根据权利要求1所述的方法,其特征在于,所述自然语言理解模型的训练方法,包括:
从对话样本数据集中随机生成训练样本集;
基于训练样本集训练得到所述自然语言理解模型。
9.根据权利要求8所述的方法,其特征在于,根据自然语言理解模型训练获得的业务领域类别、意图类别和槽位类别,计算自然语言理解模型的损失函数,自然语言理解模型根据损失函数值进行迭代,获得所述自然语言理解模型。
10.根据权利要求8所述的方法,其特征在于,在获得自然语言理解模型之后,还包括:
从对话样本数据集中随机生成测试样本集;
使用测试样本集对所述自然语言理解模型进行性能评估,得到业务领域类别、意图类别以及槽位类别对应的准确率、召回率以及F1值,根据所述准确率、所述召回率以及所述F1值判断所述自然语言理解模型是否符合预设的性能评价指标,若所述自然语言理解模型不符合预设的性能评价指标,则继续进行训练直至所述自然语言理解模型符合预设的性能评价指标。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211709949.XA CN115878778A (zh) | 2022-12-29 | 2022-12-29 | 面向业务领域的自然语言理解方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211709949.XA CN115878778A (zh) | 2022-12-29 | 2022-12-29 | 面向业务领域的自然语言理解方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115878778A true CN115878778A (zh) | 2023-03-31 |
Family
ID=85757176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211709949.XA Pending CN115878778A (zh) | 2022-12-29 | 2022-12-29 | 面向业务领域的自然语言理解方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115878778A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117573845A (zh) * | 2024-01-15 | 2024-02-20 | 之江实验室 | 一种面向跨领域人机协同作业的机器人自然语言理解方法 |
CN117708286A (zh) * | 2023-12-07 | 2024-03-15 | 北京英视睿达科技股份有限公司 | 一种基于意图大模型的智能领域匹配方法及系统 |
-
2022
- 2022-12-29 CN CN202211709949.XA patent/CN115878778A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117708286A (zh) * | 2023-12-07 | 2024-03-15 | 北京英视睿达科技股份有限公司 | 一种基于意图大模型的智能领域匹配方法及系统 |
CN117573845A (zh) * | 2024-01-15 | 2024-02-20 | 之江实验室 | 一种面向跨领域人机协同作业的机器人自然语言理解方法 |
CN117573845B (zh) * | 2024-01-15 | 2024-05-24 | 之江实验室 | 一种面向跨领域人机协同作业的机器人自然语言理解方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108304372B (zh) | 实体提取方法和装置、计算机设备和存储介质 | |
CN111694924B (zh) | 一种事件抽取方法和系统 | |
CN112115238B (zh) | 一种基于bert和知识库的问答方法和系统 | |
CN110727779A (zh) | 基于多模型融合的问答方法及系统 | |
CN112231447B (zh) | 一种中文文档事件抽取的方法和系统 | |
CN115878778A (zh) | 面向业务领域的自然语言理解方法 | |
CN110232439B (zh) | 一种基于深度学习网络的意图识别方法 | |
CN112035599B (zh) | 基于垂直搜索的查询方法、装置、计算机设备及存储介质 | |
CN112101040B (zh) | 一种基于知识图谱的古代诗词语义检索方法 | |
CN112270188B (zh) | 一种提问式的分析路径推荐方法、系统及存储介质 | |
CN111274817A (zh) | 一种基于自然语言处理技术的智能化软件成本度量方法 | |
CN112463944B (zh) | 一种基于多模型融合的检索式智能问答方法及装置 | |
CN113360582B (zh) | 基于bert模型融合多元实体信息的关系分类方法及系统 | |
CN112560486A (zh) | 基于多层神经网络的电力实体识别方法、存储介质和设备 | |
WO2023035330A1 (zh) | 一种长文本事件抽取方法、装置、计算机设备及存储介质 | |
CN111858888A (zh) | 一种值机场景的多轮对话系统 | |
CN115310443A (zh) | 模型训练方法、信息分类方法、装置、设备及存储介质 | |
CN112417132A (zh) | 一种利用谓宾信息筛选负样本的新意图识别方法 | |
CN113672718A (zh) | 基于特征匹配和领域自适应的对话意图识别方法及系统 | |
CN116010581A (zh) | 一种基于电网隐患排查场景的知识图谱问答方法及系统 | |
CN113869054A (zh) | 一种基于深度学习的电力领域项目特征识别方法 | |
CN115905187B (zh) | 一种面向云计算工程技术人员认证的智能化命题系统 | |
CN111178080A (zh) | 一种基于结构化信息的命名实体识别方法及系统 | |
CN116028606A (zh) | 基于Transformer指针抽取的人机多轮对话改写方法 | |
CN115688789A (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 |