一种基于决策树的任务导向型自动对话方法与流程

文档序号:19310562发布日期:2019-12-03 23:28阅读:359来源:国知局
一种基于决策树的任务导向型自动对话方法与流程

本发明涉及自然语言处理、数据挖掘、大数据分析与对话系统等技术领域,具体涉及一种基于决策树的任务导向型自动对话方法。



背景技术:

面向任务的对话系统的研究目标是希望利用自然语言来访问结构化数据库并从中查询数据,可以视为继图形用户界面之后新的人机交互接口。面向任务的对话系统不同于以闲聊和情感陪伴为目的的聊天机器人,是智能客服技术工具化应用的主要发展方向,也是智能问答系统最热门和最有应用价值的子领域之一。

任务驱动式对话系统始自人工智能诸多专家系统的研究,学者们最早通过人工提取特征,设计本体,组织规则,研制了众多数据库自然语言接口(naturallanguageinterfaceofdatabase,nlidb),使人们可以通过限定性的自然语言来查询数据,但其只支持上下文无关的单轮对话查询,通用性和可扩展性都很差。后来随着eliza系统的成功,多轮对话系统也开始出现。一些系统开始了在某些狭窄领域的商业应用,如机票订购,餐厅预订,导航助理。此类系统称为基于规则或基于模板(symbolicrule/templatedbased)的对话系统,是第一代技术。优点是系统内部的规则易懂透明,很容易修补漏洞和进行系统更新。但跨领域的通用性和可扩展性都很差,依赖领域专家的开发和维护,数据被用来设计规则,而不是学习。

随着大数据技术的发展,统计机器翻译(简称smt)在自动翻译上取得了巨大成功,热潮蔓延到对话系统领域,出现了统计对话系统(statisticaldialogsystem),为第二代技术。此类系统将许多浅层模型(如crf、hmm)用于对话系统的语言理解和生成,增强学习的方法也开始使用,代表是剑桥大学steveyoung教授团队研发的基于pomdp的对话系统。优点是摆脱了对领域专家的依赖,增强了问答的鲁棒性,但模型却变得难以解释,从而很难维护系统,模型的表征能力也不够强,不足以做到完全端到端学习,系统依然难以跨领域扩展。

2014年,深度学习在计算机视觉和语音识别上的突破性进展,以及深度增强学习在atari游戏上的成功,使学者们开始将诸多神经网络模型用于对话系统,称为神经对话系统(neuraldialogsystem),为第三代技术。在此基础上,模型的表征能力更强,完全端到端变得可行,微软邓力团队于2016年即开发了一个完全端到端的机器人kb-infobot,采用基于概率的软查询来访问结构化数据库,让人们看到了神经网络模型在面向任务的对话系统上的更多可能。但此类对话系统依然有很多局限,包括依靠大规模标注数据的训练,模型仍然很难解释,在神经网络学习和符号自然语言之间缺乏交互。



技术实现要素:

本发明的目的在于克服现有技术的不足,提出一种基于决策树的任务导向型自动对话方法,接受用户在线法律咨询,实现与用户的多轮对话,能够返回精准的法律咨询结论,互动效果好、实时性高,极大的缩减了人工工作量。

本发明采用如下技术方案:

一种基于决策树的任务导向型自动对话方法,包括:

1.1)将法律咨询的结论离散化为分类类别,把与结论相关的当事人的信息离散化为基本属性;

1.2)接收当事人咨询的问题,通过分类算法抽取基本属性对应的属性值,结论对应的类别值;

1.3)将收集的实际案例作为训练样本,建立基于决策树的法律咨询分类预测模型;

1.4)接收新的当事人的咨询,根据所建立的决策树实现咨询对话的过程,并返回当事人咨询的结论。

优选的,所述1.1),具体包括:

1.1.1)分析给出结论的类别个数,明确每个类别对应的类别含义;

1.1.2)分析并提供可能影响结论的属性集合以及属性对应的属性值类别。

优选的,所述1.2),具体包括:

1.2.1)通过标签工程对部分咨询案例中句子的每个属性所对应的属性值打标签;

1.2.2)通过标签工程对部分咨询案例中的结论所对应的分类类别打标签;

1.2.3)对标签数据集通过分类算法训练模型;

1.2.4)通过分类算法训练的模型对咨询案例进行属性值提取,及对结论对应的类别值提取。

优选的,所述1.2.3),具体包括:

1.2.3.1)标签数据集设定为一个句子,该句子对应的属性值类别标签为y;

1.2.3.2)文本特征提取:首先通过分词工具对所述句子分词,去掉分词结果中的停用词和低频词,其次每个词语在该数据集中对应的权重,计算公式如下:

tf-idf=tf*idf

1.2.3.3)将得到的权重数据作为lda文本主题模型的输入,训练提取句子主题特征x;

1.2.3.4)将提取的特征x作为分类算法的输入,通过svm算法进行模型的训练,具体计算如下:

首先假设在高维空间的某一分类界面是y=wx+b;其中w表示界面的权重,b表示界面的偏差,w和b的初值通过随机初始化获得,某一特征点xi到该平面的距离表达式为:

找到最近点距离最远的分界面,让γi的值最大,也就是目标函数,即:

其中,s表示句子总数,分析目标函数,并将原分类问题可以转化为:

s.t.yi(wxi+b)≥1,i=1,2,3,...s

引入拉格朗日乘子αi可得到拉格朗日函数,拉格朗日乘子αi将约束条件函数与原函数联系到一起,使能配成与变量数量相等的等式方程,从而求出得到原函数极值的各个变量的解:

s.t.αi≥0

将问题转换为求极大极小问题,即通过进一步转化分析得到其等价形式为:

假设至少有一个αj>0,得到

其中,b*为目标函数的最优解,α*为对偶问题的最优解,由此得到目标函数分类的超平面,以将不同类别的数据划分。

优选的,所述1.2.4),具体包括:

提取所有咨询案例的主题特征,输入训练好的分类算法模型中,预测其属性对应的属性值类别,从而得到所有案例咨询的结构化数据。

优选的,所述1.3),具体包括:

1.3.1)将得到的所有咨询案例的结构化数据作为决策树的输入;

1.3.2)分类属性的选择即选择最优划分属性,采取信息增益率的方法从属性集合a={a1,a2,…,an}中选取最优的属性aj。

优选的,所述1.3.2),具体包括:

1.3.2.1)首先对结论d进行信息熵的计算,计算公式如下:

其中,m代表d的类别数目,pi代表结论d对应类别i的总数占总的案例咨询个数;

1.3.2.2)其次对所有属性进行信息熵的计算,计算公式如下:

其中,qi代表在属性aj对应的属性值类别k的条件下结论d中对应类别i的总数占属性aj对应的属性值类别k的总数,表示属性aj对应的属性值类别k的数据信息;k∈[1,v],v表示aj对应属性值类别的总数;

1.3.2.3)计算在选择属性aj的情况下的信息熵,也叫条件熵,具体计算如下:

其中,|d|代表总的案例咨询个数,代表属性值类别为k的数目;

1.3.2.4)信息增益定义为原来的信息需求与新需求之间的差,如下:

gain(aj)=info(d)-info(d|aj)

1.3.2.5)计算属性aj的分裂信息,具体计算如下:

1.3.2.6)信息增益率使用分裂信息值将信息增益规范化,具体计算如下:

1.3.2.7)计算所有属性a的信息增益率,然后选取信息增益率最大的属性作为分裂节点,即a=max(gainratio(a1),gainratio(a1),…,gainratio(an)),属性节点a的每个属性值对应一个分支,且分支的数据为在属性值为k的情况下剩余属性及结论的数据,当分支对应的还有剩余属性可选择并且结论数据中的类别不唯一时,重复步骤1.3.2.1-1.3.2.7,否则停止分裂。

优选的,所述1.4),具体包括:

1.4.1)当接收到新的当事人咨询信息时,从决策树跟节点开始,向用户提出属性节点对应的问题,抽取当事人的信息;

1.4.2)将得到的主题特征输入训练好的分类算法模型中,预测其属性对应的属性值类别;

1.4.3)根据预测的属性值类别与决策树当前节点属性的属性值进行比较,选择相等时的分支作为下一步对话的子决策树;

1.4.4)当子决策树为叶子结点是停止对话,并且返回最后的结论类别对应的答案返回给当事人,否则重复1.4.1-1.4.3步骤。

本发明具有如下有益效果:

1)本发明一种基于决策树的任务导向型自动对话方法,接受用户在线法律咨询,实现与用户的多轮对话,能够针对较少的提问问题,返回精准的法律咨询结论,互动效果好、实时性高,极大的缩减了人工工作量;

2)本发明一种基于决策树的任务导向型自动对话方法,可解释性强,而且方法将最为重要的判断因素都很好的安排在了靠近树的根部位置,能够快速得出结论;

3)本发明一种基于决策树的任务导向型自动对话方法,可用来辅助律师,帮助律师提取与咨询相关属性的属性值,减少律师繁琐的提问工作,也可以防止律师在解决咨询时的疏忽与遗漏。

上述说明仅是本发明技术方案的概述,为了能够更清楚地了解本发明的技术手段,从而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下列举本发明的具体实施方式。

根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述及其他目的、优点和特征。

附图说明

图1为本发明方法的流程图;

图2为本发明的系统框图;

图3为本发明方法的流程框图;

图4为本发明方法的交叉验证流程图

图5为本发明方法的决策树的构建流程;

图6为本发明方法的基于决策树的法律自动对话流程;

图7为本发明方法的用户回答的属性值抽取流程图;

图8为本发明方法的用户回答的属性值抽取的数据集样例;

图9为本发明方法的训练集占所有数据的不同比例下的分类准确率;其中(a)表示c4.5算法;(b)表示id3算法;

图10为本发明方法的训练集占所有数据的不同比例下的平均提问个数;其中(a)表示c4.5算法;(b)表示id3算法;

图11为本发明方法的c4.5-使用20%的数据作为训练集的决策树;

图12为本发明方法的id3-使用20%的数据作为训练集的决策树;

图13为本发明实施例的律咨询交互界面及咨询过程图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步的详细描述。

参见图1所示,本发明一种基于决策树的任务导向型自动对话方法,包括:

1.1)将法律咨询的结论离散化为分类类别,把与结论相关的当事人的信息离散化为基本属性;

1.2)接收当事人咨询的问题,通过分类算法抽取基本属性对应的属性值,结论对应的类别值;

1.3)将收集的实际案例作为训练样本,建立基于决策树的法律咨询分类预测模型;

1.4)接收新的当事人的咨询,根据所建立的决策树实现咨询对话的过程,并返回当事人咨询的结论。

所述1.1),具体包括:

1.1.1)分析给出结论的类别个数,明确每个类别对应的类别含义;

1.1.2)分析并提供可能影响结论的属性集合以及属性对应的属性值类别。

所述1.2),具体包括:

1.2.1)通过标签工程对部分咨询案例中句子的每个属性所对应的属性值打标签;

1.2.2)通过标签工程对部分咨询案例中的结论所对应的分类类别打标签;

1.2.3)对标签数据集通过分类算法训练模型;

1.2.4)通过分类算法训练的模型对咨询案例进行属性值提取,及对结论对应的类别值提取。

所述1.2.3),具体包括:

1.2.3.1)标签数据集设定为一个句子,该句子对应的属性值类别标签为y;

1.2.3.2)文本特征提取:首先通过分词工具对所述句子分词,去掉分词结果中的停用词和低频词,其次每个词语在该数据集中对应的权重,计算公式如下:

tf-idf=tf*idf

1.2.3.3)将得到的权重数据作为lda文本主题模型的输入,训练提取句子主题特征x;

1.2.3.4)将提取的特征x作为分类算法的输入,通过svm算法进行模型的训练,具体计算如下:

首先假设在高维空间的某一分类界面是y=wx+b;其中w表示界面的权重,b表示界面的偏差,w和b的初值通过随机初始化获得,某一特征点xi到该平面的距离表达式为:

找到最近点距离最远的分界面,让γi的值最大,也就是目标函数,即:

其中,s表示句子总数,分析目标函数,并将原分类问题可以转化为:

s.t.yi(wxi+b)≥1,i=1,2,3,...s

引入拉格朗日乘子αi可得到拉格朗日函数,拉格朗日乘子αi将约束条件函数与原函数联系到一起,使能配成与变量数量相等的等式方程,从而求出得到原函数极值的各个变量的解:

s.t.αi≥0

将问题转换为求极大极小问题,即通过进一步转化分析得到其等价形式为:

假设至少有一个αj>0,得到

其中,b*为目标函数的最优解,α*为对偶问题的最优解,由此得到目标函数分类的超平面,以将不同类别的数据划分。

所述1.2.4),具体包括:

提取所有咨询案例的主题特征,输入训练好的分类算法模型中,预测其属性对应的属性值类别,从而得到所有案例咨询的结构化数据。

所述1.3),具体包括:

1.3.1)将得到的所有咨询案例的结构化数据作为决策树的输入;

1.3.2)分类属性的选择即选择最优划分属性,采取信息增益率的方法从属性集合a={a1,a2,…,an}中选取最优的属性aj。

所述1.3.2),具体包括:

1.3.2.1)首先对结论d进行信息熵的计算,计算公式如下:

其中,m代表d的类别数目,pi代表结论d对应类别i的总数占总的案例咨询个数;

1.3.2.2)其次对所有属性进行信息熵的计算,计算公式如下:

其中,qi代表在属性aj对应的属性值类别k的条件下结论d中对应类别i的总数占属性aj对应的属性值类别k的总数,表示属性aj对应的属性值类别k的数据信息;k∈[1,v],v表示aj对应属性值类别的总数;

1.3.2.3)计算在选择属性aj的情况下的信息熵,也叫条件熵,具体计算如下:

其中,|d|代表总的案例咨询个数,代表属性值类别为k的数目;

1.3.2.4)信息增益定义为原来的信息需求与新需求之间的差,如下:

gain(aj)=info(d)-info(d|aj)

1.3.2.5)计算属性aj的分裂信息,具体计算如下:

1.3.2.6)信息增益率使用分裂信息值将信息增益规范化,具体计算如下:

1.3.2.7)计算所有属性a的信息增益率,然后选取信息增益率最大的属性作为分裂节点,即a=max(gainratio(a1),gainratio(a1),…,gainratio(an)),属性节点a的每个属性值对应一个分支,且分支的数据为在属性值为k的情况下剩余属性及结论的数据,当分支对应的还有剩余属性可选择并且结论数据中的类别不唯一时,重复步骤1.3.2.1-1.3.2.7,否则停止分裂。

所述1.4),具体包括:

1.4.1)当接收到新的当事人咨询信息时,从决策树跟节点开始,向用户提出属性节点对应的问题,抽取当事人的信息;

1.4.2)将得到的主题特征输入训练好的分类算法模型中,预测其属性对应的属性值类别;

1.4.3)根据预测的属性值类别与决策树当前节点属性的属性值进行比较,选择相等时的分支作为下一步对话的子决策树;

1.4.4)当子决策树为叶子结点是停止对话,并且返回最后的结论类别对应的答案返回给当事人,否则重复1.4.1-1.4.3步骤。

参见图2和图3所示,依据本发明的另一方面,还包括一种基于决策树的任务导向型自动对话系统,所述一种基于决策树的任务导向型自动对话系统包括数据采集模块、数据预处理模块、数据学习模块、属性值抽取模块和模型应用模块,具体说明请参见图2和图3所示。

如下将对本发明一种基于决策树的任务导向型自动对话方法的处理效果进行验证。

本发明的实验采用五折交叉验证方法,验证基于决策树的任务导向型自动对话系统效果。五折交叉法将数据集分五份,每份循环作为测试集,剩下的作为训练集,训练集用于评分预测,测试集用于衡量算法效果,如图4所示。

2.评价指标

分类结果用准确率(precision,pr)、召回率(recall,re)和调和平均值f1三个指标来衡量,公式如下:

各参数含义如表1所示,其中,准确率考察的是分类结果的正确性,召回率考察分类结果的完备性,f1分数认为召回率和准确率同等重要,考察模型的综合性能。

表1分类评价指标参数含义表

平均提问的个数是当用户咨询问题时,本系统需要平均向用户抛出的问题个数才能返回最终分类结果给用户。

其中,i为叶子结点,n为叶子节点总数,havg为平均提问个数。

如下将以婚姻法律咨询为例详细说明实验实施的具体步骤。

1.数据集

数据来源于律品网(https://ai.lvpin100.com),律品网是一个法律咨询网站,它有大量的数据语料,通过大量的专业人士整理成问题及选项,根据不同情况的用户咨询的不同问题,所需要选择的问题深度不同,通过网络爬虫获取能不能离婚(https://ai.lvpin100.com/g/divorce_rate?)的数据,数据格式如表2所示:

表2数据原始格式

婚姻咨询问题经过预处理过后的数据格式如表3所示,一共有4个分类类别,8个基本属性,不同的属性对应的属性值的个数不同,其数据共2*3*2*4*3*2*4*2=2304条数据:

表3数据预处理后数据格式

2.建立决策树

根据表3所示,一共有4个分类类别,8个基本属性,不同的属性对应的属性值的个数不同,其数据共2304条数据,根据这些训练样本利用c4.5算法建立决策树。如图5所示,通过数据集属性的增益率大小建立决策树,使用20%的数据作为训练集做实验,实验所建的决策树如图11和12所示。

3.决策树应用

当用户咨询婚姻问题时,从所建立的决策树根节点决策属性开始,将决策属性所对应的问题返回给当事人进行提问,基本属性所对应的向当事人提问的问题如表4所示,根据用户的回答,抽取问题对应的属性值,再根据属性值判断决策树分支,根据分支的下一个决策属性对应的问题抛出给当事人进行提问,直到为叶子节点才结束,并将叶子结点所对应的分类类别作为结论返回给当事人,如图6所示。

表4基本属性所对应的向当事人提问的问题

4.属性值抽取

参见图7所示,用户回答属性值抽取的数据集是通过收集律师与当事人的对话由人工打标签构建的。以基本属性是否有结婚证为例,标签数据如图8所示,1代表正类,表示用户回答中有描述结婚证,0代表反类,表示用户回答中没有描述结婚证。对于正类,再通过肯定句、否定句的识别,抽取出最后的属性值归属。对于反例,对话系统需要重新向当事人提问,直到用户回答属性值抽取的结果为正例为止。

对8个基本属性,均需要合法属性值提取判别模型。以属性否是有结婚证为例,收集律师与当事人的对话由人工打标签构建的数据集总量为1100,训练集与测试集比例为8:2,测试集数据总量为220,训练的模型识别性能如表5所示。

表5属性值抽取实验结果

用户回答的属性值抽取实验中,根据是否有结婚证为例的实验结果表5可知,模型的准确度、召回率都在83%以上的精度,体现模型的可用性,能较好的应用于决策树中决策属性的属性值提取和判别。

5.实验设计

由于婚姻咨询数据需要大量的专业人士处理,不容易收集到所有的数据集。为了获得需要多大比率的数据集才能达到足够分类精度,训练集占所有数据的不同比例下的分类准确率实验结果如图9所示。

由于婚姻咨询存在很强的逻辑推理关系,律品网则是会把所有的问题从头到尾都会对用户进行提问,问题的个数会很多,且存在对推理结果无用的问题,因此本文对训练集占所有数据的不同比例对问题决策树深度影响做了实验,实验结果如图10所示。

使用20%的数据作为训练集做实验,实验所建的决策树如图11和12所示。

使用20%的数据作为训练集进行实验算得的评价指标如表6所示:

表6使用20%的数据作为训练集的实验结果

6.实验结果分析

1)训练集与测试集各种比例下的准确率实验中,训练集的比例越大,准确率越高,上升趋势明显,根据图9可知只用20%的训练集就能达到95%的准确率,减去了很多的人工工作量,且实验效果好;

2)训练集与测试集各种比例下的树的层数实验中,训练集的比例越大,决策树深度越深,上升趋势明显,结合图10可知只用20%的训练集时树的平均深度为4.3层,也就是问用户4-5个问题就能返回用户答案,省去了很多的无用问题,且实验效果好;

3)使用20%的数据作为训练集实验所建的决策树中,一共有8个基本属性,最高深度为7层,最低深度为1层,即只需对用户提一个问题则可返回答案结果值。决策树只需要一次构建,反复使用,每一次预测的最大计算次数不超过决策树的深度;

4)结合表6,只用20%的训练集评价指标的实验中,c4.5算法分类中的类别1协议离婚和类别4解除同居关系都有很高的准确率,类别2诉讼离婚的准确率也高达93%以上,类别3不能离婚的准确率高达74%以上,说明了模型的可行性良好,且优于id3算法。

7.法律咨询交互界面及咨询过程如图13所示。

上述仅为本发明的具体实施方式,但本发明的设计构思并不局限于此,凡利用此构思对本发明进行非实质性的改动,均应属于侵犯本发明保护范围的行为。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1