CN101097573B - 一种自动问答系统及方法 - Google Patents
一种自动问答系统及方法 Download PDFInfo
- Publication number
- CN101097573B CN101097573B CN2006100907387A CN200610090738A CN101097573B CN 101097573 B CN101097573 B CN 101097573B CN 2006100907387 A CN2006100907387 A CN 2006100907387A CN 200610090738 A CN200610090738 A CN 200610090738A CN 101097573 B CN101097573 B CN 101097573B
- Authority
- CN
- China
- Prior art keywords
- keyword
- question sentence
- question
- sentence
- setting
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种自动问答系统,包括接口单元、分词单元、推理单元、语言知识库、推理知识库、关键词归一化表、归一化单元,推理单元根据归一化词序列查询所述推理知识库,找到与该归一化词序列具有相同关键词序列的设定问句对应的答句,将该答句作为系统应答通过所述接口单元输出。本发明同时提供一种自动问答的方法,用于具有语言知识库、推理知识库、以及关键词归一化表的系统,包括对用户输入问句进行分词;对分词获得的关键词序列进行归一化;用归一化后的关键词序列查找具有完全相同的关键词序列的设定问句;根据设定问句查找对应的答句;将所述答句作为系统应答输出。本发明通过同义关键词的归一化减少搭建推理知识库的工作量。
Description
技术领域
本发明涉及计算语言学,具体地说涉及一种自动问答系统。本发明同时提供一种自动问答方法,以及一种更新所述自动问答系统的推理知识库的方法。
背景技术
自动问答系统又称QA(automatic Question Answering)系统,它采用自然语言处理技术,一方面完成对用户问题的分析处理;另一方面完成正确答案的生成。自动问答系统以自然语言理解技术为核心,涉及到计算语言学、信息科学和人工智能等多门学科,是计算机应用研究的热点之一。
衡量自动问答系统的技术指标主要包括自动问答系统的准确率和自动问答系统的召回率。
所谓自动问答系统的准确率,是指自动问答系统做出正确应答的次数占总共应答次数的比率。例如用户向自动问答系统输入了100个句子,该自动问答系统做出了100次应答,其中有20次是正确的,那么这个机器人系统的准确率就是20%。
自动问答系统的召回率,是指自动问答系统做出正确应答的次数占知识库中存在正确应答数目的比率。例如用户向机器人输入了100个句子,机器人做出了100次应答,其中有20次是正确的,但是用户输入的100个句子中,知识库中只有其中25个句子的正确应答存在,那么这个机器人系统的招回率就是80%。
自然语言理解技术是实现自动问答系统的前提,它使计算机能够理解和运用人类的自然语言,实现人与计算机之间基于自然语言的有效通信,直接影响自动问答系统的准确率和召回率。
人类使用的自然语言有数千种之多,每种自然语言都有各自的特点。自然语言理解技术必然与所针对的特定自然语言的特点密切相关。现有的中文自动问答系统大多参考国外一些优秀的英文自动问答系统,采用简单的模式匹配技术实现对自然语言的理解。但是与英文相比,中文具有用词灵活、句法复杂多变的特点,并不适合简单的模式匹配技术,导致中文自动问答系统普遍存在中文知识库的覆盖面窄、系统的准确率和招回率都很低的问题,对用户体验造成了伤害。
例如,一种常用的中文自动问答系统,其基本的算法就是从第一个词开始,对用户当前输入的句子和知识库中预先存储的句子进行匹配,如果两个词相同就继续下一个词的匹配,中间可能利用任意词通配符来忽略掉用户输入的句子中存在的一些不太关键的词,重复这一过程直到整个用户输入的句子匹配完毕。如果匹配成功,就将知识库中的句子所对应的系统应答返回给用户。下面举例说明采用上述简单的模式匹配技术实现的中文自动问答系统的缺点。
假设自动问答系统的推理知识库中存在以下一组问答语句对,其中包括一个用户输入的自然语言句子(以下简称设定问句)和系统应答(以下简称答句):
●问答语句对一
■设定问句:你喜欢看春节联欢晚会吗?
■答句:是啊,你怎么知道的?
当用户输入“你喜欢看春节联欢晚会吗?”的时候,系统会找到这组问答语句对,并将该问答语句对的答句取出返回给用户。但是,当用户输入“你喜欢看春晚吗?”的时候,因为“春晚”和“春节联欢晚会”无法匹配成功,所以系统无法找到合适的回答,从而返回了错误的答句(可能是系统缺省的应答)。但是实际上,“春晚”和“春节联欢晚会”在语义上一致的,例子中的系统应答就是用户输入的正确应答。
在该现有问答系统中解决这种问题,就必须在推理知识库中再构造一组问答语句对如下:
●问答语句对二
■设定问句:你喜欢看春晚吗?
■答句:是啊,你怎么知道的?
假如系统中有100个有关春节联欢晚会的知识点,则每个知识点都必须构造类似上面的两组问答语句对。但是,由于中文的同义词现象非常普遍,而且用词灵活多变,所以通过增加更多的问答语句对来解决该问题,无论是从工作量还是系统效率的角度来看,都是不可接受的。
从上述例子可以看出:简单的模式匹配技术会导致搭建推理知识库的工作量巨大,且覆盖面窄,系统的准确率和招回率都很低,对用户体验造成了很大的伤害。
发明内容
针对上述缺陷,本发明解决的技术问题在于,提供一种自动问答系统,该系统可以解决简单的模式匹配方法造成的问题,减少搭建推理知识库的工作量,提高系统的准确率和召回率。该系统尤其适合中文等词与词之间没有明显分界的语言。本发明同时提供一种自动问答方法,以及一种更新推理知识库的方法。
本发明提供的自动问答系统,包括接口单元、分词单元、推理单元、语言知识库、推理知识库,还包括:
关键词归一化表,用于存储同义关键词的分组,并在每一组同义词中确定一个关键词,作为该组同义词的归一化词;
归一化单元,用于接收所述分词单元输出的对用户输入问句分词后产生的关键词序列,并根据所获得的关键词,查询所述关键词归一化表,获得该关键词序列的每一个关键词的归一化词,从而获得对应于所述用户输入问句的归一化词序列,并将该归一化词序列输出到所述推理单元;
所述推理单元根据该归一化词序列查询所述推理知识库,找到与该归一化词序列具有相同关键词序列的设定问句与所述用户输入问句匹配,并查询该设定问句对应的答句,将该答句作为系统应答通过所述接口单元输出。
优选地,该自动问答系统还包括推理知识库生成子系统,该子系统包括:
设定问句分词单元,用于接收知识库管理员输入的设定问句,并根据所述语言知识库存储的关键词信息对该问句进行分词,获得对应所述设定问句的关键词序列;
更新单元,用于接收所述设定问句的关键词序列,以及管理员输入的对所述设定问句的答句,将两者的内容以及对应关系存储到所述推理知识库供所述推理单元查询。
优选地,所述推理知识库生成子系统,还包括:
设定问句归一化单元,用于接收所述设定问句分词单元输出的关键词序列,并查询所述关键词归一化表,获得对应于该关键词序列的每一个关键词的归一化词,形成归一化的关键词序列;
所述更新单元接收的所述设定问句的关键词序列是所述归一化的关键词序列。
优选地,所述设定问句归一化单元使用与所述归一化单元相同的关键词归一化表。
优选地,所述推理知识库用于存储问答语句对,每一个问答语句对包括设定问句和对应的答句;并且所述设定问句采用关键词序列形式存储,所述的关键词中可以包含关键词通配符。
优选地,,所述推理单元获得的与用户输入问句的关键词序列完全相同的设定问句,包括在若干位置上为任意词通配符,而其他对应位置的关键词完全相同的设定问句。
本发明同时提供一种自动问答的方法,应用于具有语言知识库、推理知识库、以及关键词归一化表的系统,该方法在接收用户输入问句后进行下述处理:
71)对用户输入问句进行分词,获得关键词序列;
72)对所述关键词序列进行归一化处理;
73)以归一化处理后的关键词序列作为依据,查询与该归一化的关键词序列具有完全相同的关键词序列的设定问句;所述完全相同,包括关键词相同和关键词所处于的位置相同;
74)根据所获得的设定问句查找与该设定问句对应的答句;
75)将所述答句作为对所述用户输入问句的系统应答输出。
优选地,,所述步骤72)的归一化处理根据关键词归一化表进行。
优选地,,所述步骤73)的查询过程,具体是按照使用归一化的关键词序列,在所述推理知识库中查找与该关键词序列头一个关键词具有相同关键词的设定问句,将获得的所有问句作为当前结果集合;对下一个关键词的查找以所述当前结果集合为检索范围,进行与上述步骤同样的查找,直到所述关键词序列的所有关键词查找完毕。
优选地,,所述相同关键词,可以为任意词通配符。
优选地,,所述步骤73)获得的与该归一化的关键词序列具有完全相同的关键词序列的设定问句可以为多个设定问句的结果集合;此时,所述步骤74)随机选取将该结果集合中某一个设定问句对应的答句作为系统应答。
优选地,,若所述步骤73)无法获得与用户问句的归一化的关键词词序列具有完全相同的关键词序列的设定问句,则选择一个缺省答句作为系统应答,不进行步骤74)、步骤75)。
本发明进一步提供一种更新自动问答系统的推理知识库的方法,在接收知识库管理员输入的问答语句对后,进行如下处理:
131)对所述设定问答语句对的设定问句进行分词,获得对应于该设定问句的关键词序列;
132)将上一步骤所获得的关键词序列进行归一化处理;
133)将归一化处理后的所述设定问句的关键词序列,以及对应于该设定问句的答句加入推理知识库。
优选地,所述步骤132)进行归一化处理中,采用与系统应答时相同的关键词归一化表。
本发明的基本思路是,在所述自动问答系统和方法中,增加对关键词的归一化处理单元或者步骤,使用户输入语句中的关键词通过归一化处理能够转化为推理知识库中通用的关键词,从而通过同义关键词的归一化减少推理知识库中所需的问答语句对,减少搭建推理知识库的工作量。
首先,由于对句子中的关键词进行归一化处理,使推理知识库所需的问答语句对大幅减少,。
在现有技术中,对于各种同义关键词必须逐一建立问答语句对,才能实现正确问答。在本发明提供的方案中,将同义关键词进行归一化的处理,使一组同义关键词在不同的句子中能够得到相同的归一化处理。由于关键词是有限的,而关键词组成的句子是千变万化、无穷无尽的,因此,在关键词一级进行归一化处理后,将使需要建立的问答语句对大幅减少。例如,一组关键词“出生地”、“老家”、“家乡”、“故乡”等经过归一化处理后,全部转化为“出生地”。这样,针对任何出现上述关键词的句子都归一化为为“出生地”来处理,就会将原本需要搭建的牵涉该组词语的的四组问答句转变为一组。减少搭建推理知识库的工作量。
其次,由于关键词归一化处理,使问答系统的内容覆盖面增加。
在现有技术中,由于未进行归一化处理,对于每个同义词都要建立不同的问答语句对才能够获得准确的应答,许多采用同义词的具有相同内涵的问题不可能都建立相应的问答语句对。而本发明提供的系统和方法中,由于利用关键词一化表,对各种问答语句对中出现的关键词进行归一化,实际上增加了一个问答语句对的覆盖面。可以认为,在本发明提供的系统的推理知识库中,增加一个问答语句对,相当于现有技术下增加了若干问答语句对,这就使整个推理知识库的覆盖面大幅增加,因此,使该自动问答系统的准确率和召回率等指标相应得以改善。
再次,本发明的优选方案中,由于使用了归一化的方法构造推理知识库,使自动应答的结果更加符合逻辑。
在现有技术下,由于需要为一组同义词中的不同词搭建同样结构的问答语句对,由于信息管理的庞杂,不可能保证每个有相同含义的用户输入问句获得相同的系统应答,这使用户感到自动问答系统在逻辑上不统一。本发明提供的系统和方法,则将具有相同含义的同义词先进行归一化,再使用归一化的词构造存入推理知识库的问答语句对,这些问答语句对与经过同样的归一化处理的用户输入问句进行比较,就可以使具有相同含义的用户输入问句获得同样的系统应答,使系统得以保持逻辑上的一致性。
附图说明
图1是本发明第一实施例系统框图;
图2是本发明第二实施例提供的一种自动问答方法的流程图;
图3是本发明第三实施例提供的一种更新推理知识库的方法的流程图。
具体实施方式
请参看图1,为本发明第一实施例系统框图,该图示出一种自动问答系统的组成单元及其相互关系。该实施例以中文为目标语言,当然,该系统也可以用于建立其他语言的自动问答系统。
所述自动问答系统包括知识库子系统10、问答子系统11、推理知识库生成子系统12。
所述知识库子系统10为一个数据库,用于分类存储语言知识以及问答语句对等,以供所述问答子系统11查询。
所述问答子系统11用于接收用户输入问句,根据该用户输入问句,查找对应于该用户输入问句对应的答句,并将该答句输出。
所述推理知识库生成子系统12,用于接收知识库管理员输入的问答语句对,并将该问答语句对进行处理后,获得归一化的关键词序列,用于更新所述知识库子系统12中的推理知识库中的问答语句对。
以下对上述子系统进行详细地说明。
所述知识库子系统10包括语言知识库101、关键词归一化表102、推理知识库103。
所述语言知识库101内存储的是分词所必需的知识,包括但不限于词典(实际上就是以词为基本单位的数据库)以及词频等各种统计数据。词典中存储的词,可以用于确定用户输入语句中包含的关键词。尤其是对于中文,由于词之间不具有明显的分割,必须依据词典中包含的词对用户输入语句按顺序进行识别。这个过程称为分词,其基础就是具有一个包含各种词的数据库(词典)可供查询,同时,为了提高分词正确率,该语言知识库还需要存储词频信息,以便对同一语句可以进行不同的分词时,根据词频确定最合理的分词结果。
所述关键词归一化表102,用于存储关键词的分组,以及每组词的归一化词。在存储方式上,该关键词归一化表102采用表的形式,即包括若干表项,每条表项中记录一组包括至少两个词的同义词组,每一个表项中的同义词组中都有一个词被指定为该表项中所有其他同义词的归一化词。举例如下表所示:
归一化词 | 原词 |
西红柿 | 番茄 |
成立 | 创立建立创建 |
出生地 | 老家家乡故乡 |
生日 | 寿辰诞辰出生日期生辰八字 |
春晚 | 春节联欢晚会 |
根据上述关键词归一化表的内容就可以查找到任何一个词是否具有归一化词,以及其具体的归一化词
推理知识库103,用于存储用户可能输入的各种问答语句对,每一个问答语句对包括设定问句和对应的答句。其中,每个设定问句都是经过分词和归一化处理的关键词序列,可以对应一个或多个应答。存储在推理知识库103中的某一个设定问句由若干经过归一化处理的关键词以及任意词通配符等组成。
所述问答子系统11包括接口单元111、分词单元112、归一化单元113、推理单元114。
所述接口单元111用于实现该自动问答系统与用户的交互,包括接收用户输入的用户输入问句,并将该用户输入问句输出;以及接收所述推理单元114输出的系统应答,并输出给用户。
所述分词单元112,用于接收所述接口单元111输出的用户输入问句,并根据所述语言知识库101存储的语言知识,对该用户输入问句进行分词,获得与该用户输入问句对应的关键词序列。
所述分词单元112进行分词的方法有多种,一种可以采用的方案如下:该分词单元112首先将该用户输入问句的头一个字作为待检索词,在所述语言知识库101中查找以该字开始的词,查找到该词后,将语言知识库101中该字开头的所有词作为检索范围,查找是否有与该字加上所述用户输入问句的下一个字或下若干个字完全符合的词。所谓完全符合,指所有的字和字序全部相同。将这些词(包括由头一个字单独组成的词)全部找出,并在词频信息中查询哪一个词的词频最高,将词频最高的词作为该用户问句的第一个关键词。获得该关键词后,从用户输入问句中该关键词的下一个字开始,重复进行上述检索,直到将该用户问句全部检索完毕。将每一轮检索获得的关键词顺序排列,最终获得一个关键词序列,该关键词序列就是与上述用户输入问句对应的关键词序列。
所述归一化单元113,用于接收所述分词单元112输出的关键词序列,并将该关键词序列的各个关键词进行归一化处理后形成归一化的关键词序列输出。所述归一化处理是根据所述关键词归一化表102的内容,在归一化表102中逐一查询所述关键词序列的各关键词所在的同义词组,并将该同义词组的归一化词代替该关键词。经过对上述关键词序列的所有关键词进行上述归一化处理后,就获得一个新的关键词序列,即归一化的关键词序列。
所述推理单元114,用于接收所述归一化单元114输出的归一化的关键词序列,并将该关键词序列中的关键词按顺序与推理知识库103中存储的问答语句对中的设定问句的关键词序列进行比对,查找到具有完全相同的关键词序列的设定问句,该设定问句称为与用户问句匹配的设定问句。应当说明,上述完全相同还包括下列情况:若设定问句在某个位置上采用通配符时,则相应位置上的用户输入问句关键词可以是任意词,只要其他位置的关键词相同,即可视为完全相同的关键词序列。
当上述推理单元114查找到与用户问句匹配的设定问句时,同时即可获得与该设定问句对应的答句。推理单元114将该答句作为系统应答,通过所述接口单元111向用户输出,从而完成一次自动问答。
所述推理知识库生成子系统12,包括设定问句分词单元121,设定问句归一化单元122、更新单元123。
所述设定问句分词单元121,用于接收知识库管理员输入的问答语句对,并对该问答语句对中的设定问句进行分词,分词的方法与前述分词单元112中所述的分词方法相同。经过该单元处理后,最终获得设定问句的关键词序列。
所述设定问句归一化单元122,用于接收所述设定问句分词单元121输出的关键词序列,并查询所述关键词归一化表,获得对应于该关键词序列的每一个关键词的归一化词,形成归一化的关键词序列并输出。具体进行上述归一化的方法与上述归一化单元113的方法相同。
所述更新单元123,用于接收所述设定问句归一化单元122输出的归一化的关键词序列,并将该关键词序列与对应的答句,输出到所述推理知识库103,实现对推理知识库103的知识更新。所述推理知识库103获得的问答语句对,其形式为设定问句的归一化的关键词序列,以及对应的答句。所述对应的答句直接采用用户输入的答句,无需进行分词和归一化的处理,因此,上述答句可以随着所述设定问句的处理过程,由所述设定用户分词单元121对应的传给所述设定问句分词单元122,再传到所述更新单元123,最后存入所述推理知识库103,只要保持与原来的设定问句的对应关系即可。
通过所述推理知识库生成子系统12,知识库管理员不断增加推理知识库103存储的问答语句对,从而更新推理知识库103的内容,使推理知识库103能够不断增加新的内容,完善自动应答系统。
请参看图2,该图示出本发明第二实施例提供的一种自动问答方法的流程图。该方法应用于具有知识库子系统的系统环境。所述知识库子系统包括语言知识库、关键词归一化表、推理知识库等三种知识库,上述三种知识库的内容与第一实施例相同,在此不再赘述。以下结合图2详细描述该自动问答方法。
步骤S201,开始。
步骤S202,接收用户输入的问句。
用户输入问句的目的是获得系统的应答。
步骤S203,对用户输入的问句进行分词。
分词的目的是将用户输入的问句转化为关键词序列,这是由于自动问答中对自然语言句子的识别,是采用与推理知识库中的设定问句进行关键词比对的方法实现的,因此,首先需要将用户输入问句转化为对应的关键词序列才能进行比较。具体的分词方法,需要采用第一实施例中分词单元所采用的方法,通过查阅语言知识库存储的词典实现。由于中文词与词之间没有明显的标记,因此根据词典进行分词非常重要。
步骤S204,对关键词序列进行归一化处理。
如前所述,自然语言中总是有很多同义词或近义词,由于进行语句识别时,是以关键词序列为标准进行识别,每一个位置的关键词必须相同,才会判断用户输入问句与设定问句相同。对于一个同义词组中的不同同义词,可能需要构造若干个设定问句才能够保证同样含义的用户输入问句获得同样的系统应答。为此,有必要采用关键词归一化的方法,减少构造问答语句对的数量,并且可以保证系统应答在逻辑上的统一。
步骤S205,设计数器n=1;并设当前结果集合为全部知识库。
在对用户输入问句归一化处理完成后,获得经过归一化的关键词序列,可以开始与推理知识库中存储的问答语句对的设定问句进行比较,以便找出与用户输入问句具有相同的关键词序列的设定问句。比较的具体方法是,将所获得的关键词序列的关键词按顺序与推理知识库中的设定问句的关键词序列的关键词进行逐一比较,找出具有完全相同的关键词序列的设定问句与用户输入问句匹配。本步骤的目的是为开始进行上述比较进行准备。
所述计数器用于对比较的关键词的序号进行计数,首先将其设为1,也就是从第一个关键词开始比较。
比较的目的是找出具有完全相同的关键词序列的设定问句,只要有一个关键词不同,即可将该设定问句排除。本实施例采取逐步排除的方法,将同一位置上关键词相同的设定问句作为待选的问句选出,而将其他设定问句排除,通过若干次的重复,最终将会找出所需的设定问句。为此,需要设定一个当前结果集合,用于记录当前尚未排除的设定问句。在比较刚刚开始时,该当前结果集合设定为整个推理知识库。
步骤S206,取归一化的关键词序列的第n个词为待查找词。
首先根据计数器的值,从所述归一化的关键词序列中确定待查找词,将该待查找词作为检索依据。
步骤S207,在当前结果集合内查找符合条件的设定问句,判断是否查找成功;若是,则进入S208;若否,则进入S212。
所述查找,具体是以步骤S206确定的待查找词为检索依据,在当前结果集合中,查找计数器值所指示的位置上,具有与该待查找词相同的关键词或者该位置为任意词通配符的的所有设定问句。所述任意词通配符,用于表示该设定问句的该位置可以为任何关键词。推理知识库中存在的问答语句对中,往往在句子中具有若干任意词通配符,以便扩大该问答语句对的覆盖范围。该位置的关键词并不影响系统应答。
若查找到符合上述要求的设定问句,则可以继续进行查找。如果没有找到,说明该推理知识库中尚未建立所需的问答语句对,应当停止检索。
步骤S208,将找到的设定问句及其问答语句对作为当前的结果集合。
在步骤S207中找到合适的句子后,将所找到的问答语句对作为当前的结果集合,以便确定后续进一步比对时的检索范围。
步骤S209,判断用户输入问句关键词序列是否已经检索完毕;若是,则进入步骤S211;若否,则进入步骤S210。
若当前用户输入问句已经检索完毕,则整个比较过程结束,若否,则需要对下一个关键词进行比较。
步骤S210,将n设置为n+1;返回步骤S206。
该步骤将计数器的值加1,以便进行下一个关键词的比较。
步骤S211,从匹配成功后的设定问句的结果集合中随机选取一个设定问句对应的答句作为系统应答。进入步骤S213。
由于比较完毕后获得的符合条件的结果集合中,可能有多个问答语句对,可以选择其中之一的答句作为系统应答。
步骤S212,在系统缺省应答中随机选择一个作为系统应答。
对于无法找到匹配成功的设定问句的情况,系统设定了缺省应答,此时,可以从中选择一个作为系统应答。
步骤S213,输出系统应答。
步骤S214,结束。
请参看图3,该图示出本发明第三实施例提供的一种更新推理知识库的方法的流程图。推理知识库是获得正确的系统应答的关键,为此,需要经常进行更新。由于本发明采用对关键词先归一化再比对的方法进行检索,为此,需要将存入推理知识库的用户问答语句对中的设定问句先进行相应的处理,否则容易导致匹配失败
以下根据图3,对本实施例的更新推理知识库的方法作一个详细说明。
步骤301,开始。
步骤S302,接收知识库管理员输入的问答语句对。该问答语句对包括设定问句和对应于该设定问句的答句。
步骤S303,对所述设定问句进行分词,获得对应的关键词序列。
由于用户输入问句与设定问句比对时,是采用比较关键词序列的方法进行比对,所以,首先要将设定问句进行分词,获得对应的关键词序列,以便以后直接用于比对。分词需要根据语言知识库进行,该语言知识库与对用户输入问句进行分词时的语言知识库为同一个语言知识库。
步骤S304,对所述关键词序列进行归一化处理。
由于在进行用户输入问句与设定问句比对时,首先对用户输入问句的关键词序列进行了归一化处理,因此,对于推理知识库的用户问答语句对的设定问句也应当进行归一化处理。否则,如果所述推理知识库的问答语句对使用的不是归一化词,就可能将许多可以匹配成功的句子漏匹配,降低匹配成功率。因此,存入推理知识库的问答语句对的设定问句的关键词序列必须进行归一化处理。
步骤S305,将所获得的设定问句的归一化后的关键词序列以及对应于所述设定问句的答句加入推理知识库。
上述工作完成后,最终获得一个归一化的关键词序列,该关键词序列对应于用户问答语句对中的设定问句。将该关键词序列以及对应的答句存入推理知识库,就可能在系统应答时获得正确的匹配,从而提高自动问答的成功率。
步骤S306,结束。
以上实施例分别提供了自动应答系统和自动应答方法、以及更新自动应答所使用的推理知识库的方法的优选实施例,上述实施例主要以中文为目标语言,也可以适用于其他语言,尤其是词与词之间缺少明显分割的语言。上述实施例相互之间是独立的。第一实施例提供的自动应答系统可以在该系统所述的功能范围内以多种方法实现系统应答;第二实施例的自动应答方法也可以以多种系统来实现,只要具有知识库子系统的外部环境,可以使用多种系统实现该方法。所述第三实施例提供的更新推理知识库的方法,同样独立于第一实施例的自动应答系统和第二实施例的自动应答方法。当然,并不排除使用第一实施例的系统实现第二实施例的方法,以及使用第三实施例的方法更新第一实施例中的推理知识库。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (13)
1.一种自动问答系统,包括接口单元、分词单元、推理单元、语言知识库、推理知识库,其特征在于,还包括:
关键词归一化表,用于存储同义词的分组,并在每一组同义词中确定一个关键词,作为该组同义词的归一化词;
归一化单元,用于接收所述分词单元输出的对用户输入问句分词后产生的关键词序列,并根据所获得的关键词,查询所述关键词归一化表,获得该关键词序列的每一个关键词的归一化词,从而获得对应于所述用户输入问句的归一化词序列,并将该归一化词序列输出到所述推理单元;
所述推理单元根据该归一化词序列查询所述推理知识库,找到与该归一化词序列具有相同关键词序列的设定问句与所述用户输入问句匹配,并查询该设定问句对应的答句,将该答句作为系统应答通过所述接口单元输出。
2.根据权利要求1所述的自动问答系统,其特征在于,还包括推理知识库生成子系统,该子系统包括:
设定问句分词单元,用于接收知识库管理员输入的设定问句,并根据所述语言知识库存储的关键词信息对该问句进行分词,获得对应所述设定问句的关键词序列;
更新单元,用于接收所述设定问句的关键词序列,以及管理员输入的对所述设定问句的答句,将两者的内容以及对应关系存储到所述推理知识库供所述推理单元查询。
3.根据权利要求2所述的自动问答系统,其特征在于,所述推理知识库生成子系统,还包括:
设定问句归一化单元,用于接收所述设定问句分词单元输出的关键词序列,并查询所述关键词归一化表,获得对应于该关键词序列的每一个关键词的归一化词,形成归一化的关键词序列;
所述更新单元接收的所述设定问句的关键词序列是所述归一化的关键词序列。
4.根据权利要求3所述的自动问答系统,其特征在于,所述设定问句归一化单元使用与所述归一化单元相同的关键词归一化表。
5.根据权利要求1所述的自动问答系统,其特征在于,所述推理知识库用于存储问答语句对,每一个问答语句对包括设定问句和对应的答句;并且所述设定问句采用关键词序列形式存储,所述的关键词中可以包含任意词通配符。
6.根据权利要求5所述的自动问答系统,其特征在于,所述推理单元获得的与用户输入问句的关键词序列完全相同的设定问句,包括在若干位置上为任意词通配符,而其他对应位置的关键词完全相同的设定问句。
7.一种自动问答的方法,应用于具有语言知识库、推理知识库、以及关键词归一化表的系统,其特征在于,接收用户输入问句后进行下述处理:
71)对用户输入问句进行分词,获得关键词序列;
72)对所述关键词序列进行归一化处理;
73)以归一化处理后的关键词序列作为依据,查询与该归一化的关键词序列具有完全相同的关键词序列的设定问句;所述完全相同,包括关键词相同和关键词所处于的位置相同;
74)根据所获得的设定问句查找与该设定问句对应的答句;
75)将所述答句作为对所述用户输入问句的系统应答输出。
8.根据权利要求7所述的自动问答的方法,其特征在于,所述步骤72)的归一化处理根据关键词归一化表进行。
9.根据权利要求7所述的自动问答的方法,其特征在于,所述步骤73)的查询过程,具体是按照使用归一化的关键词序列,在所述推理知识库中查找与该关键词序列头一个关键词具有相同关键词的设定问句,将获得的所有问句作为当前结果集合;对下一个关键词的查找以所述当前结果集合为检索范围,进行与上述步骤同样的查找,直到所述关键词序列的所有关键词查找完毕。
10.根据权利要求9所述的自动问答的方法,其特征在于,所述相同关键词,可以为任意词通配符。
11.根据权利要求9所述的自动问答的方法,其特征在于,所述步骤73)获得的与该归一化的关键词序列具有完全相同的关键词序列的设定问句可以为多个设定问句的结果集合;此时,所述步骤74)随机选取将该结果集合中某一个设定问句对应的答句作为系统应答。
12.根据权利要求7所述的自动问答的方法,其特征在于,若所述步骤73)无法获得与用户输入问句的归一化的关键词序列具有完全相同的关键词序列的设定问句,则选择一个缺省答句作为系统应答,不进行步骤74)、步骤75)。
13.一种更新自动问答系统的推理知识库的方法,其特征在于,接收知识库管理员输入的问答语句对后,进行如下处理:
131)对设定问答语句对的设定问句进行分词,获得对应于该设定问句的关键词序列;
132)将上一步骤所获得的关键词序列进行归一化处理;
133)将归一化处理后的所述设定问句的关键词序列,以及对应于该设定问句的答句加入推理知识库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006100907387A CN101097573B (zh) | 2006-06-28 | 2006-06-28 | 一种自动问答系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006100907387A CN101097573B (zh) | 2006-06-28 | 2006-06-28 | 一种自动问答系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101097573A CN101097573A (zh) | 2008-01-02 |
CN101097573B true CN101097573B (zh) | 2010-06-09 |
Family
ID=39011408
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006100907387A Active CN101097573B (zh) | 2006-06-28 | 2006-06-28 | 一种自动问答系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101097573B (zh) |
Families Citing this family (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101286161B (zh) * | 2008-05-28 | 2010-10-06 | 华中科技大学 | 一种基于概念的智能中文问答系统 |
US9298826B2 (en) | 2012-01-05 | 2016-03-29 | International Business Machines Corporation | Goal-oriented user matching among social networking environments |
CN102855285A (zh) * | 2012-08-07 | 2013-01-02 | 网讯电通股份有限公司 | 用于咨询服务系统的关键字管理系统及其方法 |
CN103838749B (zh) * | 2012-11-22 | 2017-09-05 | 上海智臻智能网络科技股份有限公司 | 一种对分享信息进行相应操作的方法、装置和设备 |
CN103885966A (zh) * | 2012-12-20 | 2014-06-25 | 北京京东尚科信息技术有限公司 | 电子商务交易平台中的问答交互方法和系统 |
CN103914480B (zh) * | 2013-01-07 | 2017-07-14 | 重庆新媒农信科技有限公司 | 一种用于自动应答系统的数据查询方法、控制器及系统 |
CN103235786B (zh) * | 2013-03-28 | 2018-12-18 | 北京百度网讯科技有限公司 | 一种用于提供长尾搜索结果的方法与设备 |
EP2992482A1 (en) * | 2013-04-29 | 2016-03-09 | Siemens Aktiengesellschaft | Data unification device and method for unifying unstructured data objects and structured data objects into unified semantic objects |
CN103902652A (zh) * | 2014-02-27 | 2014-07-02 | 深圳市智搜信息技术有限公司 | 自动问答系统 |
CN105095203B (zh) * | 2014-04-17 | 2018-10-23 | 阿里巴巴集团控股有限公司 | 同义词的确定、搜索方法及服务器 |
CN104978396A (zh) * | 2015-06-02 | 2015-10-14 | 百度在线网络技术(北京)有限公司 | 一种基于知识库的问答题目生成方法和装置 |
CN105069070A (zh) * | 2015-07-30 | 2015-11-18 | 武汉博楷管理咨询有限公司 | 一种客户网上咨询的管理系统及其方法 |
CN105117387B (zh) * | 2015-09-21 | 2018-06-12 | 上海智臻智能网络科技股份有限公司 | 一种智能机器人交互系统 |
CN108845992B (zh) * | 2015-10-30 | 2022-08-26 | 上海智臻智能网络科技股份有限公司 | 计算机可读存储介质及问答交互方法 |
TWI562000B (en) * | 2015-12-09 | 2016-12-11 | Ind Tech Res Inst | Internet question answering system and method, and computer readable recording media |
CN105528437B (zh) * | 2015-12-17 | 2018-11-23 | 浙江大学 | 一种基于结构化文本知识提取的问答系统构建方法 |
CN105630917A (zh) * | 2015-12-22 | 2016-06-01 | 成都小多科技有限公司 | 智能应答方法及装置 |
CN105843797A (zh) * | 2016-03-30 | 2016-08-10 | 乐视控股(北京)有限公司 | 归一化方法及装置 |
CN105912712B (zh) * | 2016-04-29 | 2019-09-17 | 华南师范大学 | 基于大数据的机器人对话控制方法和系统 |
JP6721179B2 (ja) * | 2016-10-05 | 2020-07-08 | 国立研究開発法人情報通信研究機構 | 因果関係認識装置及びそのためのコンピュータプログラム |
CN106776797A (zh) * | 2016-11-22 | 2017-05-31 | 中国人名解放军理工大学 | 一种基于本体推理的知识问答系统及其工作方法 |
CN106649706A (zh) * | 2016-12-20 | 2017-05-10 | 北京云知声信息技术有限公司 | 自然语言知识学习及装置 |
CN106844558A (zh) * | 2016-12-31 | 2017-06-13 | 深圳市优必选科技有限公司 | 智能问答方法及系统 |
CN106802951B (zh) * | 2017-01-17 | 2019-06-11 | 厦门快商通科技股份有限公司 | 一种用于智能对话的话题抽取方法及系统 |
CN108345610A (zh) * | 2017-01-24 | 2018-07-31 | 北京搜狗科技发展有限公司 | 一种获取数据资源的方法和装置、用于获取数据资源的装置 |
CN110019836A (zh) * | 2017-08-23 | 2019-07-16 | 中兴通讯股份有限公司 | 一种智能问答方法及装置 |
CN108509476A (zh) * | 2017-09-30 | 2018-09-07 | 平安科技(深圳)有限公司 | 问题联想推送方法、电子装置及计算机可读存储介质 |
CN110020163B (zh) * | 2017-12-15 | 2021-08-17 | 百度在线网络技术(北京)有限公司 | 基于人机交互的搜索方法、装置、计算机设备和存储介质 |
CN107908803B (zh) * | 2017-12-26 | 2020-10-27 | 上海智臻智能网络科技股份有限公司 | 问答交互的响应方法及装置、存储介质、终端 |
CN108170780A (zh) * | 2017-12-26 | 2018-06-15 | 北京邦邦共赢网络科技有限公司 | 一种自助问答的问题匹配方法及装置 |
CN108491378B (zh) * | 2018-03-08 | 2021-11-09 | 国网福建省电力有限公司 | 电力信息运维智能应答系统 |
CN108681552A (zh) * | 2018-04-02 | 2018-10-19 | 厦门智融合科技有限公司 | 专利信息服务虚拟对话系统及专利信息虚拟服务方法 |
CN109815318B (zh) * | 2018-12-24 | 2024-07-05 | 平安科技(深圳)有限公司 | 问答系统中的问题答案查询方法、系统及计算机设备 |
CN109992657B (zh) * | 2019-04-03 | 2021-03-30 | 浙江大学 | 一种基于强化动态推理的对话式问题生成方法 |
CN110032632A (zh) * | 2019-04-04 | 2019-07-19 | 平安科技(深圳)有限公司 | 基于文本相似度的智能客服问答方法、装置及存储介质 |
CN110287295A (zh) * | 2019-05-14 | 2019-09-27 | 闽江学院 | 基于小程序的问答机器人构建方法和系统 |
CN110232920B (zh) * | 2019-06-21 | 2021-11-19 | 阿波罗智联(北京)科技有限公司 | 语音处理方法和装置 |
CN110489533A (zh) * | 2019-07-09 | 2019-11-22 | 深圳追一科技有限公司 | 人机对话方法及相关设备 |
US11397857B2 (en) | 2020-01-15 | 2022-07-26 | International Business Machines Corporation | Methods and systems for managing chatbots with respect to rare entities |
CN111400339B (zh) * | 2020-03-04 | 2023-04-07 | 广州大学 | 产品数据库标识反向解析的检索方法及系统 |
CN112199958A (zh) * | 2020-09-30 | 2021-01-08 | 平安科技(深圳)有限公司 | 概念词序列生成方法、装置、计算机设备及存储介质 |
CN112650846B (zh) * | 2021-01-13 | 2024-08-23 | 北京智通云联科技有限公司 | 一种基于问句框架的问答意图知识库构建系统及方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1335574A (zh) * | 2001-09-05 | 2002-02-13 | 罗笑南 | 智能语义搜索方法 |
-
2006
- 2006-06-28 CN CN2006100907387A patent/CN101097573B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1335574A (zh) * | 2001-09-05 | 2002-02-13 | 罗笑南 | 智能语义搜索方法 |
Non-Patent Citations (2)
Title |
---|
刘庆明等.基于WEB搜索引擎的中文问答系统.科技资讯 4.2006,(4),90-91. |
刘庆明等.基于WEB搜索引擎的中文问答系统.科技资讯 4.2006,(4),90-91. * |
Also Published As
Publication number | Publication date |
---|---|
CN101097573A (zh) | 2008-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101097573B (zh) | 一种自动问答系统及方法 | |
CN111353310B (zh) | 基于人工智能的命名实体识别方法、装置及电子设备 | |
CN110647614B (zh) | 智能问答方法、装置、介质及电子设备 | |
CN100565515C (zh) | 一种中文自动应答方法及系统 | |
CN100578539C (zh) | 自动问答方法及系统 | |
CN101819578B (zh) | 检索方法、索引建立方法和装置及检索系统 | |
CN107766511A (zh) | 智能问答方法、终端及存储介质 | |
US20210018332A1 (en) | Poi name matching method, apparatus, device and storage medium | |
CN109947770A (zh) | 一种数据库查询方法、终端设备及存储介质 | |
CN104391908B (zh) | 一种图上基于局部敏感哈希的多关键字索引方法 | |
US20100030761A1 (en) | Method of retrieving and refining information based on tri-gram | |
CN114003709A (zh) | 一种基于问句匹配的智能问答系统和方法 | |
CN111782763A (zh) | 基于语音语义的信息检索方法、及其相关设备 | |
CN103914570A (zh) | 基于字符串相似度算法的智能客服搜索方法与系统 | |
CN112632239A (zh) | 基于人工智能技术的类脑问答系统 | |
CN117251469A (zh) | 一种sql语句生成方法、系统、介质及设备 | |
CN110727769A (zh) | 语料库生成方法及装置、人机交互处理方法及装置 | |
CN113139558A (zh) | 确定物品的多级分类标签的方法和装置 | |
CN105373605A (zh) | 数据文件批量存储方法及系统 | |
CN117272073B (zh) | 文本单位语义距离预计算方法及装置、查询方法及装置 | |
US20230142351A1 (en) | Methods and systems for searching and retrieving information | |
CN116383412B (zh) | 基于知识图谱的功能点扩增方法和系统 | |
CN113761104A (zh) | 知识图谱中实体关系的检测方法、装置和电子设备 | |
CN109684357B (zh) | 信息处理方法及装置、存储介质、终端 | |
CN113449522A (zh) | 一种文本模糊匹配方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |