一种问答知识库的构建方法和装置与流程

文档序号:12786373阅读:159来源:国知局
一种问答知识库的构建方法和装置与流程

本申请涉及计算机技术领域,尤其涉及一种问答知识库的构建方法和装置。



背景技术:

随着互联网技术的蓬勃发展,用户在生活或工作遇到各种各样的问题时越来越倾向于在问答等社区或者是其他网页中搜索答案。问答社区的基本形式通常为用户根据自己的需求提出问题,并由其他的用户来给出答案。这种形式为用户在网络上获取答案信息提供了新的渠道。然而由于任何用户都可以随意地创建内容,即创建问题和创建答案,导致了问答社区中的信息质量差异非常大,因此需要对问答对的质量进行评价,进而根据评价结果将质量较好的问答对排名靠前,又或者是删除质量较差的问答对等。

目前,对问答对的质量评价时,仅仅使用了相关词覆盖特征来描述问题和答案间的语义匹配度,这不但仅仅是停留在词法层面上的,而且很多问题和答案间并不存在相关词的覆盖,从而导致问题和答案间的语义匹配度为0,然而问题和答案间的语义匹配度恰恰是问答对质量的核心,例如问答社区中某一问题为“山东的省会是哪个城市”,相应的答案有以下两个“济南”,“山东的省会是北京”。现有技术利用相关词覆盖特征来评价问答对质量时,根据问题和答案间的语义匹配度则会将“山东的省会是哪个城市”和“山东的省会是北京”认为是一个高质量的问答对,而“山东的省会是哪个城市”和“济南”,之间的语义匹配度为0,因此被认为是一个低质量问答对,这明显与实际不符,因此有必要预先构建出问答知识库,进而利用问答知识库对常用的问答对进行评价。



技术实现要素:

为解决上述技术问题,本申请实施例提供一种问答知识库的构建方法和装置,用于利用构建完成的问答知识库对问答对进行评价,进而提高对问答对评价的准确性。

本申请实施例采用下述技术方案:

一种问答知识库的构建方法,所述问答知识库由多条问答记录构成,所述方法包括:

获取问答对的内容以及所述问答对所属的类别;

提取问答对的问题内容中的词语和答案内容中的词语,得到问题词语集合和答案词语集合;

令问题词语集合中的每个问题词语和答案词语集合中的每个答案词语分形成一条信息记录,并且对每一条信息记录,计算该答案词语和该问题词语在所述问答对所属类别下的语义相关度;

将一个问题词语,答案词语集合中的多个答案词语和多个答案词语中的每个答案词语和所述问题词语之间的语义相关度形成一条问答记录。

优选地,计算该答案词语和该问题词语在所述问答对所属类别下的语义相关度,具体包括:

计算该答案词语属于该类别的概率,计算在该类别上该答案词语对该问题词语的解释的专一程度,计算在该类别上该问题词语用该答案词语进行解释的强度;

将上述概率、专一程度和强度相乘,所得到的乘积为该答案词语和该问题词语在所述问答对所属类别下的语义相关度。

优选地,计算该答案词语属于该类别的概率,具体包括:

计算在该类别上该答案词语对该问题词语的解释的专一程度,具体包括:

计算在该类别上该问题词语用该答案词语进行解释的强度,具体包括:

将概率、专一程度和强度相乘,具体包括:

weight(QWi,AWj|C=Ck)=P(Ck|AWj)*specific(QWi,AWj|C=Ck)*interpret(QWi,AWj|C=Ck)

其中:

P(Ck|AWj)为答案词语AWj属于类别Ck的概率;

specific(QWi,AWj|C=Ck)为在类别Ck上答案词语AWj对问题词语QWi的解释的专一程度;

interpret(QWi,AWj|C=Ck)为在类别Ck上问题词语QWi用答案词语AWj进行解释的强度;

P(CK)表示类别Ck出现的概率;P(AWj)表示答案为AWj的概率;P(AWj|Ck)表示Ck类别属于AWj的概率;#(QWi,AWj)表示问题词语为QWi且答案词语为AWj的次数;#(AWj)表示答案词语为AWj的次数。

优选地,所述问答对为高质量问答对,其中问答对分为高质量问答对和低质量问答对。

优选地,提取问答对的问题内容中的词语和答案内容中的词语,得到问题词语集合和答案词语集合,具体包括:

分别对问题内容和答案内容经过分词、去除停用词、word join,提取实体词,得到问题词语集合和答案词语集合如下:

(<QW1,QW2,…,QWi,…,QWm>,<AW1,AW2,…,AWi,…,AWn>)

其中,QWi表示一个问题词语;AWi表示一个答案词语。

本申请实施例还提供一种问答知识库的构建装置,所述问答知识库由多条问答记录构成,所述装置包括获取模块,提取模块,计算模块和问答记录创建 模块,其中:

所述获取模块,获取问答对的内容以及所述问答对所属的类别;

所述提取模块,用于提取问答对的问题内容中的词语和答案内容中的词语,得到问题词语集合和答案词语集合;

所述计算模块,用于令问题词语集合中的每个问题词语和答案词语集合中的每个答案词语分形成一条信息记录,并且对每一条信息记录,计算该答案词语和该问题词语在所述问答对所属类别下的语义相关度;

所述问答记录创建模块,用于将一个问题词语,答案词语集合中的多个答案词语和多个答案词语中的每个答案词语和所述问题词语之间的语义相关度形成一条问答记录。

优选地,所述计算模块具体包括有计算单元,其中:

所述计算单元,用于计算该答案词语属于该类别的概率,计算在该类别上该答案词语对该问题词语的解释的专一程度,计算在该类别上该问题词语用该答案词语进行解释的强度;

将上述概率、专一程度和强度相乘,所得到的乘积为该答案词语和该问题词语在所述问答对所属类别下的语义相关度。

优选地,所述计算单元的处理过程包括:

计算该答案词语属于该类别的概率,具体包括:

计算在该类别上该答案词语对该问题词语的解释的专一程度,具体包括:

计算在该类别上该问题词语用该答案词语进行解释的强度,具体包括:

将概率、专一程度和强度相乘,具体包括:

weight(QWi,AWj|C=Ck)=P(Ck|AWj)*specific(QWi,AWj|C=Ck)*interpret(QWi,AWj|C=Ck)

其中:

P(Ck|AWj)为答案词语AWj属于类别Ck的概率;

specific(QWi,AWj|C=Ck)为在类别Ck上答案词语AWj对问题词语QWi的解释的专一程度;

interpret(QWi,AWj|C=Ck)为在类别Ck上问题词语QWi用答案词语AWj进行解释的强度;

P(CK)表示类别Ck出现的概率;P(AWj)表示答案为AWj的概率;P(AWj|Ck)表示Ck类别属于AWj的概率;#(QWi,AWj)表示问题词语为QWi且答案词语为AWj的次数;#(AWj)表示答案词语为AWj的次数。

优选地,所述获取模块具体包括有选取单元,其中,所述选取单元,用于选取高质量的问答对,其中问答对分为高质量问答对和低质量问答对。

优选地,所述提取模块,具体用于分别对问题内容和答案内容经过分词、去除停用词、word join,提取实体词,得到问题词语集合和答案词语集合如下:

(<QW1,QW2,…,QWi,…,QWm>,<AW1,AW2,…,AWi,…,AWn>)

其中,QWi表示一个问题词语;AWi表示一个答案词语。

本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:获取问答对的内容以及所述问答对所属的类别后得到问题词语集合和答案词语集合;令问题词语集合中的每个问题词语和答案词语集合中的每个答案词语分形成一条信息记录,并且对每一条信息记录,计算该答案词语和该问题词语在所述问答对所属类别下的语义相关度;将一个问题词语,答案词语集合中的多个答案词语和多个答案词语中的每个答案词语和所述问题词语之间的语义相关度形成一条问答记录,进而利用构建完成的包括有多条问答记录的问答知识库对问答对进行评价,最终提高对问答对评价的准确性。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1为本申请实施例提供的一种问答知识库的构建方法的实现流程示意图;

图2为本申请实施例提供的问答记录细节示意图;

图3为本申请实施例提供的一种问答知识库的构建流程示意图;

图4为本申请实施例提供的一种问答知识库的构建装置示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

图1为本申请实施例提供的一种问答知识库的构建方法的实现流程示意图,包括以下几个步骤:

步骤11:获取问答对的内容以及所述问答对所属的类别。

问答对通常为网络应用中,某些用户根据自己需求提出问题内容,由其他用户来给出答案内容,其中,一条问题内容可能对应多条答案内容,这里可以将一条问题内容和一条答案内容成为一个问答对。获取问答对时,可以利用爬虫从互联网上抓取含有高质量问答对的网页,高质量是相对于低质量问答对而言,高质量的问答对中的答案内容能够较好的回答了问答对的问题内容。这些包含有高质量问答对的网页可以为cQA社区、各大专业论坛,对上述网页进行解析得到大量的问答对内容。

另外在获取问答对的同时,还可以提取出该问答对所属类别信息,这些类别可以为问答社区或者是网页内容对问答对整体的分类,例如将所有的问答对的类别分为游戏,医疗健康,运动,阅读,商业等等。

步骤12:提取问答对的问题内容中的词语和答案内容中的词语,得到问题词语集合和答案词语集合。

提取问答对的问题内容和答案内容中的词语,具体的可以分别对问题内容和答案内容经过分词、去除停用词、word join、提取实体词等步骤,得到问题词语集合和答案词语集合可以按如下所示的格式:

(<QW1,QW2,…,QWi,…,QWm>,<AW1,AW2,…,AWi,…,AWn>),

其中QW为一个问题词语,AW为一个答案词语,右下角的标号则为问题词语或答案词语的编号。例如某一问答对的问题内容是“山东的省会是哪个城市”,相应的答案内容是:“山东的省会是济南”,则经过上述处理得到问题词语集合和答案词语集合可以为(<山东1,省会2,城市3>,<山东1,省会2,济南3>)。

步骤13:令问题词语集合中的每个问题词语和答案词语集合中的每个答案词语分形成一条信息记录,并且对每一条信息记录,计算该答案词语和该问题词语在所述问答对所属类别下的语义相关度。

令问题词语集合中的每个问题词语和答案词语集合中的每个答案词语分形成一条信息记录时,还以之前所举的一个例子为例,对于问题词语集合<山东1,省会2,城市3>中的每一个问题词语和答案词语集合<山东1,省会2,济南3>中的每一个答案词语,一共建立形成九条信息记录,信息记录的格式可以为(山东1,山东1)、(山东1,省会2)、(山东1,济南3)、(省会2,山东1)等共九条信息记录。

对每一条信息记录,计算计算该答案词语和该问题词语在所述问答对所属类别下的语义相关度,得到具体的语义相关度的数值。

步骤14:将一个问题词语,答案词语集合中的多个答案词语和多个答案词 语中的每个答案词语和所述问题词语之间的语义相关度形成一条问答记录。

一般一个问答对经过步骤11的处理中后会产生多个问题词语和多个答案词语,这里可以将多个问题词语中的一个问题词语,答案词语集合中的多个答案词语和多个答案词语中的每个答案词语和所述一个问题词语之间的语义相关度形成一条问答记录,最终一个问答对经过步骤13的处理之后将形成多条问答记录。

需要说明的是,上述步骤11,步骤12和步骤13所仅仅是对一个问答对的处理过程,最终将大量高质量的问答对均经过上述几个步骤处理之后即可构建出问答知识库。

经过上述实施例对大量的问答对进行处理之后构建出问答知识库,进而利用构建完成的包括有多条问答记录的问答知识库对待评价的问答对进行评价,最终提高对问答对评价的准确性。

步骤13中计算该答案词语和该问题词语在所述问答对所属类别下的语义相关度具体可以包括:计算该答案词语属于该类别的概率,计算在该类别上该答案词语对该问题词语的解释的专一程度,计算在该类别上该问题词语用该答案词语进行解释的强度;将上述概率、专一程度和强度相乘,所得到的乘积为该答案词语和该问题词语在所述问答对的类别下的语义相关度。

其中:计算该答案词语属于该类别的概率,具体可以为:

计算在该类别上该答案词语对该问题词语的解释的专一程度,具体可以为:

计算在该类别上该问题词语用该答案词语进行解释的强度,具体可以为:

将概率、专一程度和强度相乘,具体可以为:

weight(QWi,AWj|C=Ck)=P(Ck|AWj)*specific(QWi,AWj|C=Ck)*interpret(QWi,AWj|C=Ck)

在上述几个公式中P(Ck|AWj)为答案词语AWj属于类别Ck的概率;

specific(QWi,AWj|C=Ck)为在类别Ck上答案词语AWj对问题词语QWi的解释的专一程度;

interpret(QWi,AWj|C=Ck)为在类别Ck上问题词语QWi用答案词语AWj进行解释的强度;

P(CK)表示类别Ck出现的概率;P(AWj)表示答案为AWj的概率;P(AWj|Ck)表示Ck类别属于AWj的概率;#(QWi,AWj)表示问题词语为QWi且答案词语为AWj的次数;#(AWj)表示答案词语为AWj的次数。

经过步骤12处理得到问题词语集合和答案词语集合的存储格式可以为:

(<QW1,QW2,…,QWi,…,QWm>,<AW1,AW2,…,AWi,…,AWn>,cate1)则经过上述计算之后,对于上述的每个问题词语QWi(i=1,2,…,m),均计算AWj(j=1,…,n)和QWi的在类别cate1上的语义相关度。最终,对于每个QWi,得到的答案词语集合中的多个答案词语和多个答案词语中的每个答案词语和QWi之间的语义相关度形成一条问答记录,其对应的问答记录细节如图2所示。图2中只是显示出三个问答记录。

需要说明的是,一个问答对经过处理后可以包括多条问答记录,这里的一个问答记录包括一个问题词语、多个答案词语,以及每个答案词语和所述问题词语之间的语义相关度。还需要说明的是,上述语义相关度是问答记录在一个类别之下的语义相关度,还可以计算答案词语和问题词语在不同的类别下的语义相关度,最终多个上述的问答记录构成问答知识库,构建问答知识库的步骤,具体细节可以如图3所示。

为了清楚地说明本申请实施例提供的技术方案,下面结合一个问答知识库的局部细节进行说明,如表1所示,包括三条问答记录,其中表1中答案词语后面的数值为答案词语与问题词语在类别为医疗健康下的语义相关度。

表1问答记录示例

利用上述问答知识库对表2所示的问答对进行评价时,获取待评价问答对 的问题内容中的词语和答案内容中的词语,从问答知识库中选取答案词语有[口服,咳喘,小儿感冒颗粒,检查,止咳,治疗,流感症状,感冒颗粒],计算[口服,咳喘,小儿感冒颗粒,检查,止咳,治疗,流感症状,感冒颗粒]与表1中问题词语的语义相关度,最终利用语义相关度的相关取值对问答对的质量进行评价。

经过问答对语义相关度计算可以得出,该问答对的语义相关度达到了0.9(语义相关度取值范围为0-1)。因此可以看出本申请可以很好的解决这类无相关词覆盖但语义相似度很高的问答对。而现有技术对表2所示的问答对进行评价时,仅仅根据问题和答案中没有相关词覆盖,因此现有技术会认为该问答对没有语义相关度,最终将其分为一个低质量的问答对。因此用本申请提供构建问答知识库的方法,进而利用构建完成的包括有多条问答记录的问答知识库对问答对进行评价,最终提高对问答对评价的准确性。

表2待评价的问答对

上述几个实施例皆为本申请的方法实施例,相应地,本申请还提供了一种问答知识库的构建装置实施例,所述问答知识库由多条问答记录构成,具体见图4,包括:获取模块21,提取模块22,计算模块23和问答记录创建模块24,其中:

所述获取模块21,可以用于获取问答对的内容以及所述问答对所属的类别;

所述提取模块22,可以用于提取问答对的问题内容中的词语和答案内容中的词语,得到问题词语集合和答案词语集合;

所述计算模块23,可以用于令问题词语集合中的每个问题词语和答案词语 集合中的每个答案词语分形成一条信息记录,并且对每一条信息记录,计算该答案词语和该问题词语在所述问答对所属类别下的语义相关度;

所述问答记录创建模块24,可以用于将一个问题词语,答案词语集合中的多个答案词语和多个答案词语中的每个答案词语和所述问题词语之间的语义相关度形成一条问答记录。

上述计算模块23具体包括有计算单元,其中:所述计算单元,用于计算该答案词语属于该类别的概率,计算在该类别上该答案词语对该问题词语的解释的专一程度,计算在该类别上该问题词语用该答案词语进行解释的强度;将上述概率、专一程度和强度相乘,所得到的乘积为该答案词语和该问题词语在所述问答对所属类别下的语义相关度。

所述计算单元的处理过程包括:计算该答案词语属于该类别的概率,具体包括:

计算在该类别上该答案词语对该问题词语的解释的专一程度,具体包括:

计算在该类别上该问题词语用该答案词语进行解释的强度,具体包括:

将概率、专一程度和强度相乘,具体包括:

weight(QWi,AWj|C=Ck)=P(Ck|AWj)*specific(QWi,AWj|C=Ck)*interpret(QWi,AWj|C=Ck)

其中:

P(Ck|AWj)为答案词语AWj属于类别Ck的概率;

specific(QWi,AWj|C=Ck)为在类别Ck上答案词语AWj对问题词语QWi的解释的专一程度;

interpret(QWi,AWj|C=Ck)为在类别Ck上问题词语QWi用答案词语AWj进行解 释的强度;

P(CK)表示类别Ck出现的概率;P(AWj)表示答案为AWj的概率;P(AWj|Ck)表示Ck类别属于AWj的概率;#(QWi,AWj)表示问题词语为QWi且答案词语为AWj的次数;#(AWj)表示答案词语为AWj的次数。

上述获取模块21可以具体包括有选取单元,其中,所述选取单元,用于选取高质量的问答对,其中问答对分为高质量问答对和低质量问答对。

上述提取模块22,可以具体用于分别对问题内容和答案内容经过分词、去除停用词、word join,提取实体词,得到问题词语集合和答案词语集合如下:

(<QW1,QW2,…,QWi,…,QWm>,<AW1,AW2,…,AWi,…,AWn>)

其中,QWi表示一个问题词语;AWi表示一个答案词语。

以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

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