面向税务咨询业务的智能问答系统的制作方法

文档序号:11155309阅读:482来源:国知局
面向税务咨询业务的智能问答系统的制造方法与工艺

本发明属于人工智能技术领域,具体涉及面向税务咨询业务的智能问答系统。



背景技术:

随着12366服务热线十多年的快速发展,税务咨询已成为纳税人了解税法和表达诉求的重要方式,但是当前纳税人咨询总量高速增长,问题复杂程度不断加深,热点问题相对集中,仅依靠原有的咨询方式已不能满足纳税人的需求。

税务智能咨询作为问答系统的一种应用,能为海量纳税人提供不间断地在线服务,已逐渐成为未来咨询服务的一种模式。它能够满足政府深化改革、改变角色、提升服务质量的需求,是一种提高回答准确度与用户满意度、提升税务咨询效率、降低税收成本的有效手段。目前税务智能咨询主要采用关键词匹配,缺乏对问题语义的理解,不能满足用户的需求。



技术实现要素:

为克服目前传统方法存在的问题,本发明提出了一种税务咨询业务的智能问答系统。

本发明提出的税务咨询业务的智能问答系统,采用在通用数据库上进行文本相似度匹配的方法,解决了传统模型在不完备数据库上泛化能力过差和专用数据库体量过大的问题。

本发明使用了一个词语移动距离(Word Mover’s Distance,WMD)模型,可以通过计算两个文本之间的距离来计算相似度,有效的提高了对问题语义的理解。本发明使用了一个长短时神经网络(Long-Short Term Memory,LSTM)模型,先对问题分类再计算相似度的方法,这样可以在提高相似度计算准确率的同时,有效缩短计算时间。另外对WMD模型和LSTM网络也进行算法的优化,大大降低了算法的时间复杂度。

本发明提供的税务咨询业务的智能问答系统,包括:

一台安装Android操作系统终端设备,用于采集用户语音问题,并将语音数据实时转化为文本数据传入计算机;还用于将最终匹配的答案返回给用户进行展示;

一台计算机,用于对实时传入的文本问题进行理解检索;

所述终端设备安装有应用软件程序,该应用软件包括语音转化模块1、问题返回模块4,用于采集用户语音数据、为用户提供精准的问题答案、为用户提供友好的界面;

所述计算机上安装有服务软件系统,该处理软件系统包括问题理解模块2、问题检索模 块3,用于进行语义分析,以便理解问题,用于检索相似度最高问题;

系统工作时语音转化模块1将用户输出的语音数据转化为文本数据,通过问题理解模块2进行语义理解,使用问题检索模块3检索答案,并通过问题返回模块4将处理结果传输给终端用户。

所述的语音转化模块1,用于完成用户语音信号转化为对应文本的信息的功能,包括通过对用户语音的采集,对语音信息进行特征提取,形成待识别模型,并与参考模型进行匹配,寻找相似度最高的模型并最终输出识别结果;其输入的是语音信息,输出为文本信息。

所述的问题理解模块2,用于完成对文本信息的处理,包括对输入文本进行分词、对文本进行分类、删除文本中包含的停用词等;其输入的是问题文本,输出为特征词。

所述的问题检索模块3,用于完成对用户输入问题与税务语料库中问答的匹配,包括通过两个给定问题之间的匹配程度的比较,将两个问题共同特征最多的一些问题检索出来;其输入的是问题特征,输出的是多个相似度最高的问题编号。

所述的问题返回模块4,用于完成对匹配问题的展示,预先设定返回问题数量,将相似度最高的问题答案返回给用户;其输入是需返回的问题编号,输出为对应的问题及答案。

本发明综合使用语音识别技术、文本分类技术、相似度计算技术,形成了一种在专业领域不完备数据集上进行文本相似匹配的方法,可对纳税人提出问题进行深层次的语义分析,并能同时应对海量的用户,提供不间断的准确咨询服务,以满足税务咨询的实际需要。

本发明中,所述的问题理解模块2包括中文分词模块21、文本分类模块22、去停用词模块23。其中,中文分词模块21,用于对输入文本进行分词,以确定文本中包含的特征词;文本分类模块22,用于根据已训练分类数据,对文本进行分类,以提高系统准确率和效率;去停用词模块,用于删除文本中包含的停用词,以提高系统效率。中文分词模块21确定文本中包含的特征词传输给文本分类模块22;文本分类模块22对问题进行分类;将特征词传输给去停用词模块23进行处理。

所述的中文分词模块21,对语句进行分析,按照一定的理解规则判断哪些字应该组合在一起形成词,将整句的每一个词语分离出来。

所述的文本分类模块22,将预先定义的分类提炼出特定的特征,建立相应的判断规则,然后对待分类文本进行自动分类;

所述的去停用词模块23,使用预先设定的停用词表,将问题中提用词去除。

本发明中,所述的文本分类模块22,使用长短时神经网络(Long-Short Term Memory,LSTM)模型。

本发明中,所述的问题检索模块3,使用词语移动距离(Word Mover’s Distance,WMD)模型进行相似度计算。

本发明中,系统在投入自动运行前需要进行数据的采集以及训练。问题检索模块3需使用税务问答语料库,它是税务咨询系统核心的问答库,是回答用户问题的数据来源。问题检索模块3还需要使用词向量训练库,主要是完成对不同词语特征的训练,为后续相似度计算使用。文本分类模块22需使用经过人工分类的训练集,提取每一个分类的特征,用于完成对陌生问题的分类任务。去停用词模块23需采集停用词表。训练不需要额外的设备,只需要在计算中完成。完成上述初始化工作后,系统就可以开始运行。

本发明的优点

本发明能够有效的对用户提出的问题进行理解,并实时给出准确答案,具有广阔的应用前景。税务咨询需求量在剧烈增长,本发明能够同时应对海量的用户,能够有效地帮助人工客服分流用户。可以进行复杂而全面的设计,克服人工客服在国地税业务范围的分立设置,对复杂问题难以应对的弊端。针对热点问题可以提前进行新问题的增设,提早预防咨询高峰。本发明采用的是语音输入模式,是纳税人更乐于使用的方式。

附图说明

图1是本发明的系统整体结构图。

图2是本发明的系统的流程图。

图3是本发明的文本分类模块模型图。

图4是本发明的问题检索模块模型图。

具体实施方式

以下根据图1-图4给出本发明的较好实施方案,并予以详细说明,便于更好地理解本发明而非用来限制本发明的使用范围。

如图1,为完成对用户提出问题进行有效回答的需求,本发明各个模块之间信息的传输是按照语音转化模块1、问题理解模块2、问题检索模块3、问题返回模块4的顺序进行的。其中问题理解模块2、问题检索模块3是整个系统的核心,通过后台服务软件运行以完成大量的计算工作,语音转化模块1和问题返回模块4主要通过前台应用软件的运行用以完成与用户的信息交换。

如图2,系统的具体流程设计,主要的流程如下:对用户输入的语音数据转换成文本数据。使用分词组件对输入问题进行分词。本发明在分类时采用了一个基本类别分类器,对一些含有特定词语的问题直接进行分类,直接可以判断其类别,不需使用分类算法进行运算, 这样可以加快分类速度并提高分类准确率。通过是否含有关键词的判断进行分流程处理,如果未发现关键词将分词数据推送至LSTM分类器,并使用前期我们设计的LSTM模型训练出的数据结果对分词问题进行分类。使用停用词表对分词数据去除停用词,主要是为了提高相似度计算的速度及准确率。WMD相似度计算器使用的是word2Vec的训练的词向量数据,并对去除停用词的特征词数据与处理过的问题语料进行相似度计算,并输出相似度最高的系列问题的ID,问题的ID是在税务语料库里问答的唯一编号,编号的目的是便于快速地进行索引。根据问题ID在未处理过的问答语料中查询到对应的问答返回给用户。

本发明的主要工作集中在文本分类模块22、问题检索模块3,是完成文本相似度计算的核心模块。

文本分类模块22使用了LSTM网络,该网络设计了记忆模块用于完成对历史数据的保存,而记忆模块是由记忆细胞构成的,信息可以自由地在各个记忆单元中传输而不受梯度消失的影响,这些单元也可以被增加或者移除,记忆细胞主要由输入门、遗忘门、输出门几个主要部分构成。各种门的设置主要是用于调节记忆细胞自身和外部环境之间的关系,其中输入门主要决定是否对接收到的数据进行改变,遗忘门主要决定记忆细胞自身前一时刻的状态是否被删除,输出门则影响的是其他的神经细胞。

下面主要介绍神经细胞即记忆细胞是如何在每一个时刻进行更新的,假设h为LSTM单元的输出,C为LSTM记忆单元的值,x为输入,W为对应的权重矩阵,σ、tanh为激活函数,b为乘离率(BIAS)向量。更新过程用如下公式进行描述:

(1)时刻t神经细胞的值记为

(2)计算输入门的值记为it

it=σ(Wxixt+Wcict-1+bi) (2)

(3)计算遗忘门在时刻t的值记为ft

ft=σ(Wxfxt+Whfht-1+bf) (3)

(4)结合神经细胞在时刻t的值和遗忘门的值,对神经细胞进行更新,更新后的神经细胞值记为Ct

(5)结合神经细胞新的值由sigmoid函数激活的隐藏层来计算哪部分信息输出记为ot

ot=σ(Wx0xt+Whoht-1+Wcoct-1+bo) (5)

(6)用一个tanh函数来对最终的更新进行过滤,来决定要最终的输出ht

ht=ot*tanh(Ct) (6)

通过以上这些设置,LSTM网络不仅克服了梯度消失的问题,同时还具备了一些特殊功能,例如保存和读取、重置和更新不同时间历史信息的能力。

如图3所示,本发明使用的是传统LSTM网络的一种变化,在记忆细胞中,输出门不依赖于记忆细胞Ct的状态,这有利于更快地训练神经网络。本发明使用的输出门的计算公式中没有Whoct-1,而将公式5变成了如下公式:

ot=σ(Wx0xt+Whoht-1+bo) (7)

与传统的LSTM网络不同,本发明使用的网络是在传统的LSTM中增加了一个均值池化功能和一个逻辑回归层。整个神经网络的输入是一个句子,由词向量组成记为x0,x1,,…,xn,这些词向量经过LSTM网络的处理之后,变成了抽象表示h0,h1,…,hn,这些抽象表示再经过均值池化,得到整个句子的一个向量表示为:

最终句子的向量表示h经过逻辑回归层由softmax函数计算得到最终的分类,以及属于各个分类的概率,计算公式为:

问题检索模块3,如图4所示将一个文本与word2vec训练的词向量组成一个d×n的矩阵R,其中d是文本使用词袋模型表示的特征值个数,但是会将停用词去除。n是word2vec词汇表词语的个数,每一列表示的是某一个词在d维中的特征描述。将文本转化为词向量矩阵,那么两个特征词可以理解为n维空间中的两个点,而他们的语义相似度与两个点之间的距离有关,可以用欧氏距离来计算。对于两个文本来说,可以将其看成是两个分布,现在要比较两个文本的相似程度,也就是要比较两个分布之间的距离,但是距离只能用于两个点的计算,这里可以将EMD距离的思想应用于两个文本的分布。当两个文本分布的EMD距离较小时,相似度就高,那么就可以通过EMD距离计算比较文本的相似度。

通过词与词的距离计算,对文本与文本的距离也进行相应的计算,假设两个文本分别为P和Q,其含义有可能是相似的,但是却不包含任意一个相同的特征词,那么这两个文本在空间中就存在于不同的区域进行分布,我们需要找到P和Q中的语义相近的词进行转换。假设P中任意词语i和Q中的任意词语j,其欧氏距离为dij。我们的目标是找到每一对词的最小距离,由于文本给定那么其特征词就会选出,通过比较P和Q中每对词的距离就能找到距离 最短的词,而我们将距离最短的词进行转化,其转化距离c(i,j)定义为:

c(i,j)=||xi-xj||2 (10)

但是通常两个文本的特征词数不是相等的,不能成对的进行转化,所以借助一个类似于EMD距离里的重量的概念,假设词语在文本中出现了ci次,这个词的质量用di表示:

假设可以得到一个词语移动矩阵T,其中Tij≥0,表示从词语i转移到词语j所需要的运输量。为了能将词语i全部的转化为j,在以上的假设的基础上通过设定以下条件进行限制:

(1)d中每个词语应该转移出它所有的质量,用公式表示为:

(2)d‘中的每个词语也应该接收到它所有的质量,用公式表示为:

(3)而计算文本的目标就是使传输的总运输量最小,因此这个问题变成了一个线性规划的问题,用下列公式表示:

WMD=minT≥0Σi,jTijc(i,j) (14)

线性规划最小的方案会将语义相似的词语进行转化,因为他们的距离更近,而如果转化的两个文本词语的数量不同导致质量不同时,多余的质量就会转化到其他意义近似的词语上。

本发明使用WCD距离和RWCD距离对文本进行必要的筛选,可以减少最后计算WMD距离的工作量,以达到减少计算时间的目的,对WMD的计算进行简化。WCD距离将每个文档表示成它的加权的平均词语向量,通过以下的推算可以证明WMD≥WCD。虽然WCD的计算非常简单,但是它也不是很严格,是一种近似的算法,在向量空间里可以想象将WMD距离的值缩小了。RWCD距离的原理是减少WMD距离的限制条件公式12或者13,这样就会得到两种方案L1和L2,定义RWCD=max(L1,L2),这样做可以获得更加严格的界限。而放松条件的结果有可能会减少WMD的值,也就是说WMD≥RWCD,可以用数学公式证明,这里可以想象放松限制有可能会导致不完全的词语传输,往往是一个文档中的某些词与另外一个文档的词语语义更近,由于距离更短,放松条件使得这些词会多次进行传输,而某些距离较大的词没有进行传输,最终会导致总的传输量变小。

本发明优化实现的主要过程是,首先计算待查询的文本WCD距离,并对所有WCD距离进 行升序排序,取出前k个WCD距离较小的文本计算它们的WMD值。接下来,我们计算剩余的文本RWMD距离,如果剩余文本RWMD最小值超过了目前k个WMD值中最小值,那么就可以删除剩余文本,目前K中最小的WMD值就是我们要找的。如果没有超过,重复取值操作直到以上情况的发生。由于RWMD是一个非常严格的界限,RWMD大约能使对95%的文本进行删除,也就是说只需要对5%的文本进行了WMD计算,可以节省大量的时间。

本发明在优化WMD算法的同时,对需要匹配的文本也做了优化。用户提出的问题s的长度与待匹配目标问题qi的长度大致相等,而目标问题的答案ai通常较长,如果直接把ai与qi拼接起来作为一个新的文本,与s计算WMD值,会大大增加计算时间。因此本文在拼接之前,先用TF-IDF提出ai中的若干个关键词,然后把这些关键词与qi拼接起来,最后再计算WMD值。

通过以上的优化过程,我们通过计算用户输入问题转化到税务语料库中问答中每一个问题的WMD值,通过对WMD值降幂排序,找出WMD值最小的一些问题的ID,最终将对应的问题与答案返回给用户。

实施例

目的:于真实咨询问题环境下,将问题输入本发明系统中,完成对问题的回答。

本系统软件编程环境主要参数如下:CPU型号Intel Core i7四核;CPU频率2GHz;内存8GB;硬盘256G;操作系统为OSX EL Capitan 10.11.4;开发环境为Android Studio、PyCharm、IntelliJ IDEA;数据主要以JSON、bin、txt格式存储;编程语言服务软件使用python编写,应用软件使用java编写。

软件部署主要参数如下:CPU型号Intel i3-2120双核;CPU频率3.30GHz;内存4GB;硬盘500G;操作系统为Windows 10专业版32位;部署环境后台服务使用的是Python2.7.3,安装的主要组件有gensim0.12.4、jieba0.38、numpy1.9.1、PuLP1.5.3、scikit-learn0.14.1、six1.10.0、Theano0.8.2、smart_open1.3.3;部署环境前台使用的是genymotion2.6.0和VirtualBox5.0.20进行android系统的模拟。

语音转化模块使用科大讯飞有限公司研发的语音识别提供在线服务。

中文分词模块使用Python的结巴分词(jieba)组件。

文本分类模块使用长短时神经网络LSTM模型。训练使用人工分类的训练集,包括税务文件、税务论文、地方政府文件、税务新闻等。

问题检索模块使用词语移动距离WMD模型。训练使用搜狗全网新闻数据进行词向量训练,使用工具Google公司的word2vec软件,word2vec软件使用的主要参数为模型选择的是Skip-gram模型,维度选择250维优,化算法选择的是Hierarchical Softmax算法。

问题返回模块设置返回问题数量10。

核心税务语料库使用12366纳税服务热线税收业务知识库中的问答库。

问题库使用的互联网问题是百度知道、360问答、搜狗问问三个问答系统中与税务语料库里相似的问题。在返回10个问题时,平均正确率为74.49%。

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