一种面向税务的智能问答系统的制作方法

文档序号:19787034发布日期:2020-01-24 13:43阅读:273来源:国知局
一种面向税务的智能问答系统的制作方法

本发明涉及自然语言处理技术领域,具体而言,尤其涉及一种面向税务的智能问答系统。



背景技术:

12366纳税服务热线是纳税人咨询税务问题的最主要途径。但由于纳税人众多、问题种类也繁多复杂,导致客服人员的解答效率不高。且由于地方新政策、优惠政策等时常变更,导致纳税人不能及时获知,进而加大了客服人员的工作压力,降低了服务效率。



技术实现要素:

根据上述提出的技术问题,而提供一种面向税务的智能问答系统。本发明主要以自然语言处理技术为基本,结合了最新的统计学、深度学习等方向的知识,能够理解用户的需求。本发明配备了完备性高、时效性强的知识库,保证了“有问必答”,避免了“答非所问”。实现了能够不间断地为纳税人提供问题解答服务,从而有效地缓解了客服人员的压力,提高了纳税人的咨询效率。同时,本发明能够满足政府深化改革、提升服务质量的需求,是未来咨询服务的主要模式。

本发明采用的技术手段如下:

一种面向税务的智能问答系统,包括:

一台大型服务器,用于存储知识库、用户数据、客服数据,还用于处理在用户使用过程中所发的消息;

一台安装android或ios操作系统的用户终端设备,用于采集客户语音或文本消息并传输至服务器进行计算;还用于将服务器计算得到的相关数据推送给用户以供用户选择;

一台计算机,用于客服人员与用户通过对话界面进行直接交流;

所述的大型服务器和计算机均安装有服务软件系统,该服务软件系统包括后台维护模块,前台客服模块;

所述用户终端设备安装有应用软件程序,该应用软件程序包括智能机器人模块中的语言算法模块;同时还安装有微信6.5.1版本及以上的应用程序。

进一步地,所述前台客服模块包括智能机器人模块和人工客服模块;

所述智能机器人模块包括语言算法模块、问题推送模块;

其语言算法模块还包括:

语音转换模块,用于将用户录制的语音信息转化为文本信息;

分词模块,用于将文本信息切分成词组序列,其所用工具为ltp分词工具;

停用词过滤器,用于根据已有的大规模停用词表,去除用户提问的句子中和知识库内的句子里与实意无关的词,其所用工具为hanlp分词工具;

同义词转换模块,用于将实际上意义相同的词组进行归一化处理;

句法分析模块,用于对已去除停用词的句子进行句法分析,删除或忽视对实际意义影响不大的词语;

其问题推送模块还包括:

相似度计算模块,用于计算出关键词之间的联系;该模块整体运用了esim模型,引用了最新的注意力机制方法;

推送模块,用于将选择出的若干问题反馈给用户;

多轮问答模块,即在用户输入问题时,后台获取到第一输入信息,并对获取的第一输入信息进行识别从而确定预定问题;如果用户第一次提问的信息模糊,则后台可以根据第二次提问时对问题的补充来缩小问题的范围,给出精确的答案;

以及用户画像模块,用于对同一用户的身份形象进行刻画;

所述人工客服模块包括交流模块,用于人工客服在线为用户解答非常复杂的问题,其交流模块还创建了连接客服端和用户端的接口。

进一步地,所述后台维护模块主要为数据库模块,其包括对已有知识库的“增、删、改、查”操作和对人工客服或智能机器人客服的聊天记录的“增、删、改、查”操作,以及对用户满意度的标注;

数据库模块,用于根据数据库记录的大量用户的查询操作,选取高频次、范围适中、高概括度的问题作为热点问题以企业号消息的方式推送到用户终端上,还用于自主剔除无效问题并增添新的政策方向问题,预训练模型采用elmo模型。

进一步地,系统在运行前需要进行相关的前序操作:数据库模块需要对知识库已有的知识条目进行核查,确保标签粒度适中;将知识库已有条目用elmo模型训练出预训练模型,该语言模型不仅考虑了词的位置和频率,同时考虑了上下文的关系;同义词转换模块检查已有的同义词表是否完整;停用词过滤器检查停用词表是否完整。

进一步地,所述的esim模型和elmo模型均选用bi-lstm(双向长短时记忆模型)神经网络,该神经网络由两层不同方向的前向lstm网络和后向lstm网络串联组成,其在每一个记忆单元中也包括了记忆门、遗忘门、输出门三个可供增加或删除的部件。

进一步地,所述bi-lstm神经网络的记忆单元更新过程如下:

(1)计算遗忘门:输入为前一时刻的隐层状态ht-1和当前时刻的输入词xt,输出为遗忘门的值ft,则遗忘门的计算公式为:

ft=σ(wf·[ht-1,xt]+bf)

(2)计算记忆门:输入为前一时刻的隐层状态ht-1和当前时刻的输入词xt,输出为记忆门的值it和临时单元状态则记忆门和临时单元状态的计算公式分别为:

it=σ(wi·[ht-1,xt]+bi)

(3)计算当前时刻单元状态:输入为记忆门的值it,遗忘门的值ft,临时单元状态上一时刻单元状态ct-1,输出为当前时刻的单元状态ct,则当前时刻单元状态的计算公式为:

(4)计算输出门和当前时刻隐层状态:输入为前一时刻隐层状态ht-1和当前时刻的输入词xt,输出为当前时刻单元状态ct,则输出门和当前时刻隐层状态的计算公式分别为:

ot=σ(wo·[ht-1,xt]+bo)

ht=ot*tanh(ct)。

进一步地,基于以上bi-lstm神经网络的记忆单元更新过程,通过一个lstm层,得到与单词序列长度相同的隐层状态序列{h0,h1,...,hn-1},通过前向lstm网络,根据前k-1个单词序列来预测第k个单词:而后向lstm网络则是根据后n-k个单词序列来预测第k个单词:采用对数函数的最大似然估计来将前向lstm网络和后向lstm网络进行结合,最终得到:

进一步地,所述elmo模型在计算相似度时会选择bi-lstm最后一层的输出并将其整合成一个向量,其表达式为:

式中,表示每一层的输出,表示第一层的向量,整个表达式还可以表示为:θtask表示针对的特定任务,γ表示用来控制elmo模型生成的向量大小,s表示softmax函数用作层间的归一化处理。

进一步地,所述相似度计算模块整体运用了esim模型,包括:

输入与编码部分,整个系统的输入采用elmo模型预训练出的模型,为了对输入内容做特征提取,该部分将输入内容输入至双向lstm中做编码,最后把隐藏状态的值保留下来,分别记为

式中,i,j分别表示的是不同的时刻,a,b分别表示的是用户提问句和目标匹配句;

本地推断模型部分,用于将所述输入与编码部分得到的特征值做差异性计算,即首先进行两个句子之间单词的相似度计算,得到一个二维相似矩阵:

上式中,αi,αj运用了注意力机制;

根据注意力权重计算得出的提问句和匹配句的权重,其加权后的值设为

将输入与编码部分得到对应句子的编码值和本地推断模型部分得到对应句子的加权编码值做差异性计算,即对位相减和对位相乘操作,最后将编码值、加权编码值、对位相减值、对位相乘值拼接在一起,得到:

推理成分部分,将得到的编码信息送入bilstm神经网络进行计算,用于整合局部推理信息ma,mb以及上下文的关系,对经过bilstm神经网络处理得到的结果分别进行平均池化操作vave和最大池化操作vmax,并将结果拼接,得到:

v=[va,ave,va,max,vb,ave,vb,max]

预测部分,将推理成分部分的v送入至全连接层用来分类,激活函数采用tanh,得到的结果送至softmax层,最终得到相似度。

进一步地,所述的注意力机制,具体为:

将所述bi-lstm模型的输出作为注意力机制的输入,设为e,由下式获得:

e×wq=q;e×wk=k;e×wv=v

其中,为了提高表达能力,wq、wk、wv分别表示可训练的参数矩阵,初始化时不相同,同时,会在训练中调整自己;q=k=v,三者都是由序列中单词对应的词向量转化而来;

计算注意力机制时,主要包括如下步骤:

步骤一:将q和每一个k进行相似度计算得到权重;

步骤二:采用一个softmax函数对上述权重进行归一化;

步骤三:将权重和对应的键值v进行加权求和后得到最后的attention,attention(q,k,v)=∑iαivi,最终得到的αi即为注意力权重,得到:

ct=[α1;...;αt]

较现有技术相比,本发明具有以下优点:

1、本发明提供的智能问答系统,能够对用户提出的问题进行分析与理解,并与知识库中已有的知识进行比对,实时地返回给用户数个最相似的问题供用户自主选择。

2、本发明提供的智能问答系统,知识库完备性高,知识库由数十万条历史问题整合而出,覆盖面广;同时,知识库还会根据新政策的出台做出实时更新。

3、本发明提供的智能问答系统,能够统计当前热点问题与政策,并针对热点问题、热点政策做出专栏解读。此外,在本发明的现有基础上,还可以提供更多的便民功能,如查询社保等。

4、本发明提供的智能问答系统,其采用了全新的技术和模型:其中,神经网络模型为双向长短时记忆模型,语言模型为elmo,并且通过注意力机制来增强对问题语义的理解。

5、本发明提供的智能问答系统,体贴用户。本系统增添的多轮问答、用户画像的功能,提高了用户体验,可以提升用户在应用本平台时的体验度。

基于上述理由本发明可在人工智能等领域广泛推广。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做以简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明的系统结构图。

图2为本发明的系统设计流程图。

图3为本发明系统的bi-lstm神经网络模型中的记忆单元图。

图4为本发明系统的注意力机制示意图。

图5为本发明系统的esim模型流程图。

具体实施方式

需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。

除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。同时,应当清楚,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。对于相关领域普通技术人员己知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。在这里示出和讨论的所有示例中,任向具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

如图1所示,为了对用户所提出的问题进行有效的处理并予以回答,本发明主要在智能机器人模块内对用户信息进行处理,在某些时候,还会涉及到人工客服模块。

本发明提供了一种面向税务的智能问答系统,包括:

一台大型服务器,用于存储知识库、用户数据、客服数据,还用于处理在用户使用过程中所发的消息;

一台安装android或ios操作系统的用户终端设备,用于采集客户语音或文本消息并传输至服务器进行计算;还用于将服务器计算得到的相关数据推送给用户以供用户选择;用户终端设备安装有应用软件程序,该应用软件程序包括智能机器人模块中的语言算法模块;同时还安装有微信6.5.1版本及以上的应用程序。

一台计算机,用于客服人员与用户通过对话界面进行直接交流;

所述的大型服务器和计算机均安装有服务软件系统,该服务软件系统包括后台维护模块,前台客服模块;

前台客服模块包括智能机器人模块和人工客服模块;

所述智能机器人模块包括语言算法模块、问题推送模块;

其语言算法模块还包括:

语音转换模块,用于将用户录制的语音信息转化为文本信息;

分词模块,用于将文本信息切分成词组序列,其所用工具为哈尔滨工业大学开发的ltp分词工具;

停用词过滤器,用于根据已有的大规模停用词表,去除用户提问的句子中和知识库内的句子里与实意无关的词,其所用工具为hanlp分词工具;

同义词转换模块,用于将实际上意义相同的词组进行归一化处理;如:“交”和“缴”,在绝大多数情况下,它们都是指缴纳的意思,但由于用户的习惯以及输入法的问题,会有很多异名同义的词或者口语化的词出现。为此,在机器学习训练出词向量的基础上,额外增加了一个同义词转换模块,测试显示该模块的加入提升了识别精确度。

句法分析模块,用于对已去除停用词的句子进行句法分析,在删除停用词的基础上再进行信息的“筛选”,删除或忽视对实际意义影响不大的词语,如形容词、副词等。

其问题推送模块,用于将问题推送给用户,还包括:

相似度计算模块,用于计算出关键词之间的联系;该模块整体运用了esim模型,引用了最新的注意力机制方法;

推送模块,用于将选择出的若干问题反馈给用户;用户可以根据自己需求选择自己想要查询的问题或寻求人工客服的帮助来解决非常复杂的问题。

多轮问答模块,主要为避免“一问一答”模式下,用户有时会阅读大量内容的情况出现。即在用户输入问题时,后台获取到第一输入信息,并对获取的第一输入信息进行识别从而确定预定问题;其中,预定问题是指对用户输入的信息在不同组合下对应不同答案的问题,每个条件组合中包括一个或多个条件;开始进行对于所确定的预定问题的第一轮问答;在每一轮问答中分别进行以下处理:输出对于所确定的预定问题的一个未知条件的提问,获取用户答复的条件;根据预定的条件组合和答案之间的对应关系,判断已获取的条件的组合是否存在对应的答案;如果存在,则输出已获取的条件的组合所对应的答案;如果不存在,则进行下一轮问答。如果用户第一次提问的信息模糊,则后台可以根据第二次提问时对问题的补充来缩小问题的范围,给出精确的答案;

以及用户画像模块,用于对同一用户的身份形象进行刻画;如果某用户频繁地查询有关“印花税”问题,那么可以根据用户画像技术,系统将根据该技术有选择性地推送用户有关“印花税”的热点问题。本发明提供的用户画像模块,主要包括对用户的行为进行建模。算法通过用户的历史查询行为进行建模,以预测用户的查询行为偏好。知识库中已经存在的问题,都有其对应的中间粒度的标签,这种标签既有一定的准确度,又有一定的泛化能力。为防止老的行为权重太高,新的行为权重过低,本算法考虑时间衰减,和次数衰减。

次数衰减公式:scorei+1=α*scorei+c*weight(0<α<1),

时间衰减公式:scoret+1=scoret*β(0<β<1),

其中,α,β分别为次数衰减因子和时间衰减因子;c表示标签是否出现,出现为1,未出现为0。

所述人工客服模块包括交流模块,用于12366人工客服在线为用户解答非常复杂的问题,其交流模块还创建了连接客服端和用户端的接口。

后台维护模块主要为数据库模块,其包括对已有知识库的“增、删、改、查”操作和对人工客服或智能机器人客服的聊天记录的“增、删、改、查”操作,以及对用户满意度的标注;

数据库模块,用于根据数据库记录的大量用户的查询操作,选取高频次、范围适中、高概括度的问题作为热点问题以企业号消息的方式推送到用户终端上,还用于自主剔除无效问题并增添新的政策方向问题,预训练模型采用elmo模型。

本发明中,系统在运行前需要进行相关的前序操作:数据库模块需要对知识库已有的知识条目进行核查,确保标签粒度适中;将知识库已有条目用elmo模型训练出预训练模型,该语言模型不仅考虑了词的位置和频率,同时考虑了上下文的关系;同义词转换模块检查已有的同义词表是否完整;停用词过滤器检查停用词表是否完整。

如图2所示,为本发明系统的具体流程设计,其主要流程为:

s1、用户进入平台后,先会发出提问,提问时发出的消息可以是语音或是文本,如果是语音消息,语音转换模块则将语音内容转化为文本后再进入分词模块。

s2、分词模块可以将完整的句子切分成一个个符合人们理解的词语,并筛选出关键词(关键词由专业的从业人员人为录入,独有的关键词有利于提升精确度),再进入停用词过滤器。

s3、在停用词过滤器中将去除疑问词和语气词等停用词,这些词不影响句子的原本意思,能够提高句间相似度,减少后台程序运行时的运算时间。

s4、经过停用词过滤器处理后,句法分析模块将现有的已分词句子进行句法分析,筛选掉一些无关句子主要信息的词项,如对ltp网址在线示例进行句法分析:“他叫汤姆去拿外衣”

叫——>核心

他——主谓——>叫

叫——兼语——>汤姆

叫——动宾关系——>拿

去——状中关系——>拿

拿——动宾关系——>外衣

可以看出,去掉状中关系后对该句的原始含义也没有影响,所以单词“去”可以被去掉。

s5、经过句法分析模块处理后,同义词转换模块将同一化一些专有名词的简称或一些词语由于口语化的原因而导致的不严谨,以减少文本数据在参与计算时的误差。如“文化事业建设费”和“文建费”,指代内容完全相同;以及“贴花”和“贴了花”,指代内容也是完全相同的。

s6、经过以上语言算法模块,即可得到一个信息高度凝练的词语序列,相似度计算模块对该词语序列与知识库内容计算相似度。在系统运行前,平台将通过bi-lstm神经网络用知识库中的内容预训练出一个语言模型。通过该模型,可以计算出用户输入文本和知识库中已有文本的相似度,相似度越高说明两者越接近。

s7、经过步骤s6之后,推送问题模块将根据计算出的相似度选取最相似的若干个问题推送给用户,用户可以根据需要选择最相似的问题并查看该问题的解决方式。如果推送的内容中没有想要的答案,用户可以选择呼叫人工客服以寻求帮助。

s8、在本轮用户对话开启时,多轮问答模块就已经开始运行:用户所问的问题都会被该模块记录。在用户使用软件时,经常不能一次性将全部内容说完,有可能会将想表达的内容分成多个文本段。这时,多轮问答模块将会按照步骤s1-s5,记录下所有已表达内容,并根据其中的关键词,通过树的方式寻找并预测用户可能想要问询的方向。当用户表述内容共计出现五个或更多个不同关键词时(输入多条信息时),平台将会推送给用户“是否想要查询xx方向的内容”,暨此引导用户进行有方向、有目的、有效率的查询。

本发明系统还设计有数据库模块,本发明所用的数据库是数十万条历史问题集合而成,具有覆盖率高,完备性高,时效性强等特点。其中,为了保证时效性,还需要剔除无效问题和更新政策问题。数据库中的政策问题在知识库中被标记为政策类问题,此类问题具有时效性,一旦新的政策出台,旧的相关问题的答案将会被新的答案所代替。当一个问题连续多次被不同用户作出较低评价,该问题会被列入“观察区”,此时若仍然有不同用户作出较低评价,则暂时弃置到回收站,并不再参与后续活动。维护人员将定时清理回收站。

本发明的设计重点在于相似度计算模块,用来计算文本间的相似度,从而计算出关键词之间的联系。相似度计算模块中预训练的语言模型采用elmo模型。其神经网络应用的是bi-lstm神经网络(双向长短时记忆模型神经网络),该神经网络由两层不同方向的前向lstm网络和后向lstm网络串联组成,模型训练的效果也比一般的lstm更好。bi-lstm和lstm一样,其在每一个记忆单元中也包括了记忆门、遗忘门、输出门三个可供增加或删除的部件。

bi-lstm神经网络的记忆单元的更新规则如图3所示,首先假设xt为t时刻该记忆单元的输入,ht为t时刻该记忆单元的隐层状态。由单元状态ct,临时单元状态遗忘门ft,记忆门it,输出门ot组成。通过对单元状态中的信息遗忘和记忆新的信息使得对后续时刻计算有用的信息得以传递,而无用的信息将被丢弃,并在每一个时间步都会输入隐层状态ht。其中,遗忘、记忆与输出通过上个时刻的ht-1和当前输入xt计算出来的遗忘门ft,记忆门it,输出门ot来控制。

具体的更新过程如下:

(1)计算遗忘门:输入为前一时刻的隐层状态ht-1和当前时刻的输入词xt,输出为遗忘门的值ft,则遗忘门的计算公式为:

ft=σ(wf·[ht-1,xt]+bf)

(2)计算记忆门:输入为前一时刻的隐层状态ht-1和当前时刻的输入词xt,输出为记忆门的值it和临时单元状态则记忆门和临时单元状态的计算公式分别为:

it=σ(wi·[ht-1,xt]+bi)

(3)计算当前时刻单元状态:输入为记忆门的值it,遗忘门的值ft,临时单元状态上一时刻单元状态ct-1,输出为当前时刻的单元状态ct,则当前时刻单元状态的计算公式为:

(4)计算输出门和当前时刻隐层状态:输入为前一时刻隐层状态ht-1和当前时刻的输入词xt,输出为当前时刻单元状态ct,则输出门和当前时刻隐层状态的计算公式分别为:

ot=σ(wo·[ht-1,xt]+bo)

ht=ot*tanh(ct)。

通过以上bi-lstm神经网络的记忆单元更新过程,bi-lstm神经网络实现了保存、读取、更新网络的能力,同时解决了梯度消失的问题,最终通过一个lstm层,得到与单词序列长度相同的隐层状态序列{h0,h1,...,hn-1},通过前向lstm网络,根据前k-1个单词序列来预测第k个单词:而后向lstm网络则是根据后n-k个单词序列来预测第k个单词:采用对数函数的最大似然估计来将前向lstm网络和后向lstm网络进行结合,最终得到:

所述elmo模型在计算相似度时会选择bi-lstm神经网络最后一层的输出并将其整合成一个向量,其表达式为:

式中,表示每一层的输出,表示第一层的向量,整个表达式还可以表示为:θtask表示针对的特定任务,γ表示用来控制elmo模型生成的向量大小,相关研究表明当仅取elmo模型最后一层时,这个系数对模型的优化有好处,加入这个系数会大大提高准确度;s表示softmax函数用作层间的归一化处理。本发明仅取elmo模型的最后一层输出。原因有二,具体如下:

首先,取全部层的输出的效果对比于仅取最后一层的效果提升不明显,还会导致系统运行缓慢和平台维护困难等诸多问题。

其次,一般认为低层的输出包含的是语法信息,高层的输出包含的信息是语义信息。

本发明引入该模型的目的是为了解决歧义等语义信息的,所以本发明仅取该模型的最后一层输出,不仅提高了运行速度,也减少了预处理语言模型时所需的时间和存储空间。

作为本发明优选的实施方式,相似度计算模块整体运用了esim模型(增强型长短时记忆模型神经网络的自然语言推断模型),包括:

输入与编码部分,整个系统的输入采用elmo模型预训练出的模型,为了对输入内容做特征提取,该部分将输入内容输入至双向lstm中做编码,最后把隐藏状态的值保留下来,分别记为

式中,i,j分别表示的是不同的时刻,a,b分别表示的是用户提问句和目标匹配句;

本地推断模型部分,用于将所述输入与编码部分得到的特征值做差异性计算,即首先进行两个句子之间单词的相似度计算,得到一个二维相似矩阵:

上式中,αi,αj运用了注意力机制;

根据注意力权重计算得出的提问句和匹配句的权重,其加权后的值设为

将输入与编码部分得到对应句子的编码值和本地推断模型部分得到对应句子的加权编码值做差异性计算,即对位相减和对位相乘操作,最后将编码值、加权编码值、对位相减值、对位相乘值拼接在一起,得到:

推理成分部分,将得到的编码信息送入bilstm神经网络进行计算,用于整合局部推理信息ma,mb以及上下文的关系,对经过bilstm神经网络处理得到的结果分别进行平均池化操作vave和最大池化操作vmax,并将结果拼接,得到:

v=[va,ave,va,max,vb,ave,vb,max]

预测部分,将推理成分部分的v送入至全连接层用来分类,激活函数采用tanh,得到的结果送至softmax层,最终得到相似度。

注意力机制的主要内容,如图4所示,本发明中的注意力机制实质上是指self-attention。其本质可以被描述为一个查询(q)到一系列键值对(k,v)的映射。由于self-attention只注意自身内部结构,所以一般可以认为q=k=v,即内容是一致的,三者都是由序列中单词对应的词向量转化来的。

将所述bi-lstm模型的输出作为注意力机制的输入,设为e,由下式获得:

e×wq=q;e×wk=k;e×wv=v

其中,为了提高表达能力,wq、wk、wv分别表示可训练的参数矩阵,初始化时不相同,同时,会在训练中调整自己;

计算注意力机制时,主要包括如下步骤:

步骤一:将q和每一个k进行相似度计算得到权重,一般可以选择点积、拼接等操作计算。本发明中选择点积。f(q,k)=qtk

步骤二:采用一个softmax函数对上述权重进行归一化;

步骤三:将权重和对应的键值v进行加权求和后得到最后的attention,attention(q,k,v)=∑iαivi,最终得到的αi即为注意力权重,得到:

ct=[α1;...;αt]

作为本发明优选的实施方式,本发明的编程环境如下:

cpu:intelcorei78700k3.70ghz;

内存:金士顿16g;

硬盘:机械硬盘2t;

显卡:七彩虹nvidiageforcegtx1080ti11g;

操作系统:windows1064位;

开发环境:idea2019.3.2(jdk1.8)、anaconda(python3.6);

数据库:oracle11g;

数据格式:.csv、.txt、.bin格式为主;

编程语言:深度学习部分以python为主,其它部分以java为主。

部署环境主要参数:

cpu:intelcorei53.2ghz;

内存:16g;

硬盘:1t;

操作系统:win764位;

数据库:oracle11g;

开发环境:jdk1.8,tomcat8.0;

设置的返回的候选问题答案最大数量为5。回答平均正确率为82%。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

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