本发明涉及网络搜索技术领域,特别涉及一种自动问答方法及装置。
背景技术:
在当前的网络搜索中,问答社区逐渐发展起来,问答社区即用户参与提问和回答,并按照这种问答关系将用户和数据组织起来,可供用户搜索的互联网产品。而问答社区中,完全由用户来回答问题是无法满足用户提问需求的,因此目前大多数问答社区还提供自动问答功能,即由后台服务器自动对用户的问题给出答案。
自动问答目前主要有两种实现方法:
1)在特定知识领域内,根据设定的分析方法,自动分析用户问题并从现有回答中抽取答案。
2)在大量的预定义的知识库中匹配答案。
对于第一种在特定知识领域内分析问题并抽取答案,这种方法由于限定在特定的知识领域,所以具有一定的局限性。
而对于第二种在大量的预定义的知识库中匹配答案,这种方法解决问题的能力取决于预先存储的知识库数据量的大小,超出知识库范围的问题无法实现自动问答。
总之,现有技术中,自动问答必须依托特定知识领域或知识库;只要是超出知识领域或知识库的问题,都无法实现自动问答。
技术实现要素:
有鉴于此,本发明提供了一种自动问答方法及装置,可以根据现有问答社区的用户问答数据,实现自动问答。为达上述目的,本发明的技术方案具体是这样实现的:
一种自动问答方法,该方法包括:
根据用户终端输入的问题串获取相关的现有用户问答数据;
统计所述现有用户问答数据的摘要部分的中心词的词频;
根据所述各个中心词的词频和预先统计出的所述各个中心词的逆文档频率,计算所述各个中心词的词权重,将词权重最大的中心词确定为答案词;
根据所述答案词确定所述问题串对应的自动问答的答案。
较佳地,所述根据用户终端输入的问题串获取相关的现有用户问答数据,包括:
将所述问题串作为检索串,输入到问答社区的搜索引擎,获得与所述检索串对应的查询结果,每条查询结果包括标题部分和带有区别标识的摘要部分。
较佳地,统计所述现有用户问答数据的摘要部分的中心词的词频,包括:
逐条统计每一条查询结果的摘要部分的中心词词频,直至所有查询结果都统计完成;
其中,针对每一条查询结果,将其摘要部分以句号切分为句子,针对每个句子统计其中各中心词的词频,将所有句子中的中心词的词频进行累加,得到摘要中所有中心词的词频。
较佳地,所述将所有句子中的中心词的词频进行累加,得到摘要中所有中心词的词频,包括:
如果句子中有带有区别标识的词,则该句子中各个中心词的词频按3倍标准权重累加;如果该句子前或后相邻的句子中有带有区别标识的词,则该句子中各个中心词的词频按2倍标准权重累加;否则,该句子中各个中心词的词频按标准权重累加,从而得到该句子中所有中心词的加权词频。
较佳地,所述逐条统计每一条查询结果的摘要部分的中心词词频,直至所有查询结果都统计完成,包括:
比较每一条查询结果的标题部分与所述问题串之间的相似度,如果当前查询结果的标题和所述问题串的相似度大于预设的阈值,则执行所述统计中心词词频的步骤,否则跳过当前查询结果的统计中心词词频的步骤。
较佳地,所述计算各个中心词的词权重,包括:
中心词的词权重=该中心词的词频×该中心词的逆文档频率。
较佳地,所述根据答案词确定所述问题串对应的自动问答的答案,包括:
在所述查询结果的摘要中找到出现答案词最多的前s个摘要;s为大于等于1的整数;
将所述s个摘要各按句号分成多个句子;在这些句子中找到出现答案词和用户问题串的中心词个数最多的句子,作为所述问题串对应的自动问答的答案。
一种自动问答装置,该装置包括:
问答数据获取模块,用于根据用户终端输入的问题串获取相关的现有用户问答数据;
词频统计模块,用于统计所述现有用户问答数据的摘要部分的中心词的词频;
答案词确定模块,用于根据所述各个中心词的词频和预先统计出的所述各个中心词的逆文档频率,计算所述各个中心词的词权重,将词权重最大的中心词确定为答案词;
自动问答答案确定模块,用于根据所述答案词确定所述问题串对应的自动问答的答案。
较佳地,所述问答数据获取模块,包括:
检索单元,用于将所述问题串作为检索串,输入到问答社区的搜索引擎;
获取单元,用于获取与所述检索串对应的查询结果,每条查询结果包括标题部分和带有区别标识的摘要部分。
较佳地,所述词频统计模块包括:
切分单元,用于针对每一条查询结果,将其摘要部分以句号切分为句子;
统计单元,用于针对所述切分单元切分的每个句子,统计其中各中心词的词频;
累加单元,用于将所述统计单元统计的所有句子中的中心词的词频进行累加,得到摘要中所有中心词的词频;
控制单元,用于控制所述切分单元、统计单元和累加单元,逐条统计每一条查询结果的摘要部分的中心词词频,直至所有查询结果都统计完成。
较佳地,所述累加单元包括:
标识判断子单元,用于判断所述切分单元切分的句子中的区别标识;
权重累加子单元,用于根据所述标识判断子单元的判断进行词频累加;如果句子中有带有区别标识的词,则该句子中各个中心词的词频按3倍标准权重累加;如果该句子前或后相邻的句子中有带有区别标识的词,则该句子中各个中心词的词频按2倍标准权重累加;否则,该句子中各个中心词的词频按标准权重累加,从而得到该句子中所有中心词的加权词频。
较佳地,所述词频统计模块进一步包括:
相似度比较单元,用于比较每一条查询结果的标题部分与所述问题串之间的相似度;
所述控制单元进一步用于,如果当前查询结果的标题和所述问题串的相似度大于预设的阈值,则控制所述切分单元、统计单元和累加单元,执行所述统计中心词词频的步骤,否则跳过当前查询结果的统计中心词词频的步骤。
较佳地,所述答案词确定模块包括:
词权重计算单元,用于根据公式:中心词的词权重=该中心词的词频×该中心词的逆文档频率,计算所述各个中心词的词权重;
答案词确定单元,用于将词权重最大的中心词确定为答案词。
较佳地,所述自动问答答案确定模块包括:
摘要获取单元,用于在所述查询结果的摘要中找到出现答案词最多的前s个摘要;s为大于等于1的整数;
摘要切分单元,用于将所述s个摘要各按句号分成多个句子;
答案确定单元,用于在所述摘要切分单元切分的句子中找到出现答案词和用户问题串的中心词个数最多的句子,作为所述问题串对应的自动问答的答案。
由上述技术方案可见,本发明的这种自动问答方法及装置,充分利用了问答社区已有的用户问答数据,不需要建立问答知识库,也不需要限制用户问题的知识领域,并根据词频、逆文档频率、文本相似度等参数从已有的问答数据中找出和用户提出的问题最相关的答案,实现全自动回答。除此以外,本发明还可以用于对普通问题或者文本串进行语义扩展,可以用于分类或者搜索等。
附图说明
图1为本发明实施例的自动问答方法流程图;
图2为本发明实施例的自动问答装置结构示意图;
图3为本发明实施例的问答数据获取模块结构示意图;
图4为本发明实施例的词频统计模块结构示意图;
图5为本发明实施例的累加单元结构示意图;
图6为本发明实施例的答案词确定模块结构示意图;
图7为本发明实施例的自动问答答案确定模块结构示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
本发明主要是利用问答社区已有的问答数据,通过搜索引擎得到与用户提出的问题串相关的问答数据检索结果,并根据词频,逆文档频率,以及文本段之间相似度等参数,从这些检索结果中选择候选单词,以及计算对这些候选单词的权重并排序,将权重最大的候选单词作为答案词,并将该答案词所在的句子,作为用户提出的问题串的自动问答答案。
具体流程如图1所示,包括如下步骤:
步骤101,根据用户终端输入的问题串获取相关的现有用户问答数据;
获取用户终端提出的问题串(用q表示),将问题串q作为检索串,输入到问答社区的搜索引擎,获得n条查询结果,每条结果包括标题(用ti,i=1|n表示)和带有区别标识的摘要,摘要中的区别标识是用于将摘要中,与用户终端输入的问题串中相同的词标记出来的标识,由问答社区搜索引擎返回搜索结果时在搜索结果中标出,以提示用户;一般是以红色字体标出,所以带有区别标识的摘要又称标红的摘要,摘要中标红的词实际上就是在摘要中出现的与检索串中相同的词。当然,根据搜索引擎的不同,获得的查询结果也可能采用其他的区别标识,这里只要获取到带有区别标识的摘要即可,具体标识的形式任意。
这些查询结果即为问答社区中与用户输入的问题串相关的现有用户问答数据,其中标题是与用户输入的问题串q相关的问题,摘要则是对应的答案。
步骤102,统计所述现有用户问答数据的摘要部分的中心词的词频;
在得到查询结果即现有用户问答数据后,需要对这n条查询结果进行逐条分析,并计算这些现有用户问答数据中,摘要部分的中心词的词频,具体如下:
从第一条查询结果开始,即i=1;
首先可以通过比较查询结果的标题部分与问题串q之间的相似度,排除相似度不高的查询结果,以减少需要分析处理的查询结果数量,如果问题串q和标题ti的相似度大于预设的阈值,则说明该搜索结果与问题串q足够相关,需要进行分析,反之则结束处理,进行下一条查询结果的分析处理;
如果问题串q和标题ti的相似度大于预设的阈值,则具体的处理过程如下:
将该查询结果的摘要部分ai以句号“。”切分为m个句子(用ai,j,j=1|m表示)。针对每个句子ai,j,j=1|m统计其中各中心词(中心词即不包括停用词、高频词和符号,如“我”、“的”、“了”等剩余的单词)的词频tf,即出现次数,将所有m个句子中的中心词的tf进行累加,得到ai中所有中心词的tf。
其中,由于摘要中带有区别标识的中心词与问题串q相关性更大,为了体现中心词与问题串q相关程度的区别,得到更加精确合理的tf,在统计tf时还可以采用加权计算;例如,如果句子ai,j中有带有区别标识的词,则ai,j中各个中心词的词频tf按3倍标准权重累加;如果ai,j前或后相邻的句子(ai,j|1或ai,j+1)中有带有区别标识的词,则ai,j中各个中心词的tf按2倍标准权重累加;否则,ai,j中各个中心词的tf按标准权重累加,从而得到ai,j中各个中心词的加权词频。
词频统计完成,或者问题串q和标题ti的相似度小于等于预设的阈值,则结束本条查询结果的分析,处理下一个查询结果,即令i=i+1,并重复上述处理过程直到n条查询结果都处理完。其中,问题串q和标题ti的相似度的计算可以采用现有的任意两文本之间相似度的算法,例如词近邻得分算法(Term proximity scoring)。
步骤103,根据上述过程统计出来的各个中心词的tf和预先统计出的中心词的逆文档频率(idf),计算所有中心词的词权重W,其中W=tf*idf;并对各个中心词的词权重W从大到小排序,将词权重W最大的中心词确定为答案词。
其中,逆文档频率即文档频率的倒数,文档频率是指出现某个词的文档个数,可以预先从互联网上通过收集文本进行统计,收集范围任意,可以从特定网站、社区中收集,或者直接从提供自动问答所在的问答社区中收集。
步骤104、根据确定的答案词确定用户终端输入的问题串对应的自动问答答案。
具体步骤为:在n条查询结果的摘要中找到出现答案词最多的前s个摘要(s的值为大于等于1的任意整数,例如取2),将这s个摘要各按句号“。”分成若干句子,然后在这些句子中找到出现答案词和用户问题串q的中心词个数最多的句子,作为自动问答的答案。当然,直接将含有答案词的句子或包含该答案词的摘要确定为自动问答答案也是可以的。
另外,本发明还提供了一种自动问答装置,如图2所示,该装置包括:
问答数据获取模块201,用于根据用户输入的问题串获取相关的现有用户问答数据;
词频统计模块202,用于统计所述现有用户问答数据的摘要部分的中心词的词频;
答案词确定模块203,用于根据所述各个中心词的词频和预先统计出的所述各个中心词的逆文档频率,计算所述各个中心词的词权重,将词权重最大的中心词确定为答案词;
自动问答答案确定模块204,用于根据所述答案词确定自动问答的答案。
其中,所述问答数据获取模块201的具体结构如图3所示,包括:
检索单元301,用于将所述问题串作为检索串,输入到问答社区的搜索引擎;
获取单元302,用于获取与所述检索串对应的查询结果,每条查询结果包括标题部分和带有区别标识的摘要部分。
所述词频统计模块202如图4所示,包括:
切分单元401,用于针对每一条查询结果,将其摘要部分以句号切分为句子;
统计单元402,用于针对所述切分单元401切分的每个句子,统计其中各中心词的词频;
累加单元403,用于将所述统计单元402统计的所有句子中的中心词的词频进行累加,得到摘要中所有中心词的词频;
控制单元404,用于控制所述切分单元401、统计单元402和累加单元403,逐条统计每一条查询结果的摘要部分的中心词词频,直至所有查询结果都统计完成。
其中,所述累加单元403,如图5所示,包括:
标识判断子单元501,用于判断所述切分单元401切分的句子中的区别标识;
权重累加子单元502,用于根据所述标识判断子单元501的判断进行词频累加;如果句子中有带有区别标识的词,则该句子中各个中心词的词频按3倍标准权重累加;如果该句子前或后相邻的句子中有带有区别标识的词,则该句子中各个中心词的词频按2倍标准权重累加;否则,该句子中各个中心词的词频按标准权重累加,从而得到该句子中所有中心词的加权词频。
如图4所示,作为另一实施例,所述词频统计模块202可以进一步包括:
相似度比较单元405,用于比较每一条查询结果的标题部分与所述问题串之间的相似度;
所述控制单元404进一步用于,如果当前查询结果的标题和所述问题串的相似度大于预设的阈值,则控制所述切分单元、统计单元和累加单元,执行所述统计中心词词频的步骤,否则跳过当前查询结果的统计中心词词频的步骤。
所述答案词确定模块203如图6所示,包括:
词权重计算单元601,用于根据公式:中心词的词权重=该中心词的词频×该中心词的逆文档频率,计算所述各个中心词的词权重;
答案词确定单元602,用于将词权重最大的中心词确定为答案词。
所述自动问答答案确定模块204如图7所示,包括:
摘要获取单元701,用于在所述查询结果的摘要中找到出现答案词最多的前s个摘要;s为大于等于1的整数;
摘要切分单元702,用于将所述s个摘要各按句号分成多个句子;
答案确定单元703,用于在所述摘要切分单元702切分的句子中找到出现答案词和用户问题串的中心词个数最多的句子,作为问题串对应的自动问答答案。
由上述的实施例可见,本发明的这种自动问答方法及装置,充分利用了问答社区已有的用户问答数据,不需要建立问答知识库,也不需要限制用户问题的知识领域,并根据词频、逆文档频率、文本相似度等参数从已有的问答数据中找出和用户提出的问题最相关的答案,实现全自动回答。除此以外,本发明还可以用于对普通问题或者文本串进行语义扩展,可以用于分类或者搜索等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。