基于深度学习的答案抽取方法及系统与流程

文档序号:13804871阅读:997来源:国知局
基于深度学习的答案抽取方法及系统与流程

本发明属于人工智能与深度学习技术领域,更具体地,涉及一种基于深度学习的答案抽取方法及系统。



背景技术:

问答机器人是指以自然语言理解技术为核心,使得计算机能够理解用户提出的问题,实现人与计算机之间的有效沟通,并且提供强大的搜索能力,准确回答用户的问题。其中,目前在计算机客服系统中普遍采用的智能问答系统就是一种自动问答系统,它是一种通过自然语言技术,能够理解用户的问题,并且提供准确答案的人工智能系统。然而目前的智能问答系统。

现有问答系统大多都是先以句子为单位进行分词及标注词性。利用问句类型表得到预期答案类型,利用句型分析得到答案的可能形式。最后将片段中不含预期答案类型的句子排除得到答案候选集。这类方法存在的问题是抽取方法只能识别特定词语的答案而不能识别相似词语的答案,从而导致识别准确性较低。



技术实现要素:

针对现有技术的以上缺陷或改进需求,本发明提供了一种基于深度学习的答案抽取方法及系统,由此解决现有答案抽取方法中存在的只能识别特定词语的答案而不能识别相似词语的答案,而导致的识别准确性较低的技术问题。

为实现上述目的,按照本发明的一个方面,提供了一种基于深度学习的答案抽取方法,包括:

根据待回答问题中的关键词搜集与所述待回答问题的答案相关的知识碎片;

基于所述待回答问题的类型,对所述知识碎片进行词性标注分析,将包含符合所述待回答问题的类型的知识碎片作为候选答案;

利用已训练的word2vec模型,计算所述关键词与所述候选答案中的知识碎片所包含的词语的相似度,找出满足相似度要求的词语作为目标候选答案;

将所述目标候选答案中的词语反代入到所述待回答问题中得到若干个目标语句,对各目标语句进行语义依存分析,并通过判断各目标语句的语义信息,对各目标语句进行排序,将得分最高的目标语句作为目标答案。

优选地,所述方法还包括:

根据所述关键词的重要程度对所述知识碎片进行打分,其中,所述关键词的重要程度越高,则所述知识碎片的分数越高,且所述关键词位于所述知识碎片所属标题中的重要程度高于位于所述知识碎片中的重要程度;

判断所述知识碎片的分数是否高于分数阈值,若高于所述分数阈值,则将所述知识碎片作为候选答案,并执行所述利用已训练的word2vec模型,计算所述关键词与所述候选答案中的知识碎片所包含的词语的相似度,找出满足相似度要求的词语作为目标候选答案;

若所述知识碎片的分数不高于所述分数阈值,则执行所述基于所述待回答问题的类型,对所述知识碎片进行词性标注分析,将包含符合所述待回答问题的类型的知识碎片作为候选答案。

优选地,所述方法还包括:

采用结巴分词,将训练语料进行分词;

将分好词的训练语料进行训练得到word2vec模型,其中,输入为由所有分词组成的输入文件,输出为词向量,每个单词的向量维度是m,训练的窗口大小为n,采样阈值为l。

按照本发明的另一方面,提供了一种基于深度学习的答案抽取系统,包括:

搜集模块,用于根据待回答问题中的关键词搜集与所述待回答问题的答案相关的知识碎片;

词性分析模块,用于基于所述待回答问题的类型,对所述知识碎片进行词性标注分析,将包含符合所述待回答问题的类型的知识碎片作为候选答案;

相似度计算模块,用于利用已训练的word2vec模型,计算所述关键词与所述候选答案中的知识碎片所包含的词语的相似度,找出满足相似度要求的词语作为目标候选答案;

目标答案确定模块,用于将所述目标候选答案中的词语反代入到所述待回答问题中得到若干个目标语句,对各目标语句进行语义依存分析,并通过判断各目标语句的语义信息,对各目标语句进行排序,将得分最高的目标语句作为目标答案。

优选地,所述系统还包括:

评分模块,用于根据所述关键词的重要程度对所述知识碎片进行打分,其中,所述关键词的重要程度越高,则所述知识碎片的分数越高,且所述关键词位于所述知识碎片所属标题中的重要程度高于位于所述知识碎片中的重要程度;

判断模块,用于判断所述知识碎片的分数是否高于分数阈值;

判断执行模块,用于在所述知识碎片的分数高于所述分数阈值时,将所述知识碎片作为候选答案,并执行所述相似度计算模块的操作;在所述知识碎片的分数不高于所述分数阈值时,则执行所述词性分析模块的操作。

优选地,所述系统还包括:

训练模块,用于采用结巴分词,将训练语料进行分词;将分好词的训练语料进行训练得到word2vec模型,其中,输入为由所有分词组成的输入文件,输出为词向量,每个单词的向量维度是m,训练的窗口大小为n,采样阈值为l。

总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:

(1)通过利用问题中的关键词从本地文本库或互联网上获取支撑问题的证据碎片,该方法极大地扩充了问题证据的广泛性,从而能有效地找到相关问题对应的答案;

(2)为评价不同证据碎片对问题的支撑程度,通过计算问题中的关键词在标题和碎片中的词频建立了一套证据评分机制,通过词性分析和依存句法分析,筛选出证据中包含问题类型的句子,该方法通过一种评分机制及对词性的分析,有效地提高了针对问题分类所采取的证据筛选和过滤的功能;

(3)利用深度学习技术,基于语料库,训练一种word2vec模型,计算问题中关键词与候选中词语的相似度,找到与问题中关键词相似的词语并排序,该方法通过采用深度学习的技术,通过神经网络模型,计算问题关键词与候选答案中词语的相似性,筛选出与问题关键词相似度较高的词语,从而提高了答案的获取效率。

附图说明

图1是本发明实施例公开的一种基于深度学习的答案抽取方法的流程示意图;

图2是本发明实施例公开的另一种基于深度学习的答案抽取方法的流程示意图;

图3是本发明实施例公开的一种基于深度学习的word2vec模型训练流程示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

本发明针对用户提出的问题,在经过对问题的分类和关键词提取之后,利用关键词从文本库或基于网络搜索涉及问题的答案的碎片。利用知识抽取技术,根据给定本体从无语义标注的信息中识别并抽取与本体匹配的事实知识。利用深度学习技术,基于语料库,训练一种word2vec词向量模型,计算问题中关键词与从知识碎片中抽取到的关键词之间的相似度,从而找到与问题中关键词相似的词,再讲筛选得到的词代入问题中,并对句子进行句法分析,从而找到最符合问题的答案。

如图1所示是本发明实施例公开的一种基于深度学习的答案抽取方法的流程示意图;在图1所示的方法中,包括以下步骤:

s1:根据待回答问题中的关键词搜集与待回答问题的答案相关的知识碎片;

其中,根据问题中的关键词,可以基于solr搜索服务器,从本地文本库寻找支撑问题的证据。若本地数据库存储有该问题的证据,则直接返回支撑问题的证据。否则,需要利用搜索引擎从互联网上抓取与该问题相关的片段,并抽取出其中的正文作为该问题的支撑证据。

s2:基于待回答问题的类型,对知识碎片进行词性标注分析,将包含符合待回答问题的类型的知识碎片作为候选答案;

其中,如图2所示,在步骤s2之前,所述方法还包括:

根据关键词的重要程度对知识碎片进行打分,其中,关键词的重要程度越高,则知识碎片的分数越高,且关键词位于知识碎片所属标题中的重要程度高于位于知识碎片中的重要程度。

例如,若出现在标题中,则分数加2,若出现在证据碎片中,则分数加1,得到各个知识碎片的评分。

判断知识碎片的分数是否高于分数阈值,若高于分数阈值,则将知识碎片作为候选答案,并执行步骤s3;

若知识碎片的分数不高于分数阈值,则执行步骤s2。

s3:利用已训练的word2vec模型,计算关键词与候选答案中的知识碎片所包含的词语的相似度,找出满足相似度要求的词语作为目标候选答案;

其中,对模型的训练包括:

采用结巴分词,将训练语料进行分词,可以空格或tab隔开;

将分好词的训练语料进行训练得到word2vec模型,其中,输入为由所有分词组成的输入文件,输出为词向量,每个单词的向量维度是m,训练的窗口大小为n,采样阈值为l。

例如,在训练时输入命令为:

./word2vec-traincorpus.txt-outputvectors.bin-cbow0-size200-window5-negative0-hs1-sample1e-3-threads12-binary1

上述命令表示的含义为:输入文件是corpus.txt,输出文件是vectors.bin,不使用cbow模型,默认为skip-gram模型。每个单词的向量维度是200,训练的窗口大小为5就是考虑一个词前五个和后五个词语(实际代码中还有一个随机选窗口的过程,窗口大小<=5)。不使用neg方法,使用hs方法。-sampe指的是采样的阈值,如果一个词语在训练样本中出现的频率越大,那么就越会被采样。-binary为1指的是结果二进制存储,为0是普通存储(普通存储的时候是可以打开看到词语和对应的向量的)。

训练好模型之后,得到vectors.bin这个模型文件。vectors.bin这个文件就是文档中词语和其对应的向量,这个向量的维度即是训练时设置的参数大小。利用训练得到的模型,计算与问题关键词相似的词语。

如图3所示,将词w(t)所在的上下文中的词w(t-2),w(t-1),w(t+1),w(t+2)作为输入,而词w(t)本身作为输出,即达到通过一个上下文,能猜出这个词和它的意思的目的。通过在一个大的语料库训练,得到一个从输入层到隐含层的权重模型。第t个词的上下文词是w(t-2),w(t-1),w(t+1),w(t+2),那么w(t-2),w(t-1),w(t+1),w(t+2)作为输入,它们所在的词汇表中的位置的值置为1。然后,输出是t,把它所在的词汇表中的位置的值置为1。训练完成后,就得到了每个词到隐含层的每个维度的权重,就是每个词的词向量。

s4:将目标候选答案中的词语反代入到待回答问题中得到若干个目标语句,对各目标语句进行语义依存分析,并通过判断各目标语句的语义信息,对各目标语句进行排序,将得分最高的目标语句作为目标答案。

通过步骤s4可以跨越句子表层句法结构的束缚,直接获取深层的语义信息,通过判断语义信息,对答案进行排序,得分最高的即为最准确答案。

在本发明的另一个方面,提供了一种基于深度学习的答案抽取系统,其特征在于,包括:

搜集模块,用于根据待回答问题中的关键词搜集与所述待回答问题的答案相关的知识碎片;

词性分析模块,用于基于所述待回答问题的类型,对所述知识碎片进行词性标注分析,将包含符合所述待回答问题的类型的知识碎片作为候选答案;

相似度计算模块,用于利用已训练的word2vec模型,计算所述关键词与所述候选答案中的知识碎片所包含的词语的相似度,找出满足相似度要求的词语作为目标候选答案;

目标答案确定模块,用于将所述目标候选答案中的词语反代入到所述待回答问题中得到若干个目标语句,对各目标语句进行语义依存分析,并通过判断各目标语句的语义信息,对各目标语句进行排序,将得分最高的目标语句作为目标答案。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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