一种自动问答方法及系统的制作方法

文档序号:6603444阅读:179来源:国知局

专利名称::一种自动问答方法及系统的制作方法
技术领域
:本发明涉及计算机自然语言处理技术,具体是涉及一种基于资源库的自动问答方法及系统。
背景技术
:随着互联网的普及,互联网上的信息越来越丰富,现在人们能够通过搜索引擎方便的得到自己想要的各种信息。比较有名的搜索引擎有Google、百度等。无论哪方面的内容,这些搜索引擎都能帮助人们快速地找到相关的网页。用户只需输入一些关键字,它们马上就会搜索出相关的网页。但是这些传统的搜索引擎存在很多不足的地方,一是相关性信息太多,返回大量的相关网页,用户很难快速准确地定位到所需的信息。二是以关键词组合来表达检索需求,由于人们的检索需求往往是非常复杂而特殊的,是无法以几个关键词的简单组合来表达的,这样用户都没有将自己的检索意图表达清楚,搜索引擎自然也就没有办法找出令用户满意的答案了,因此检索效果很难进一步提高。自动问答(QuestionAnswering,QA),是指根据用户的自然语言提出的问题找到一个明确的答案,是信息检索与自然语言处理相结合的研究领域。自动问答允许用户用自然语言提出问题,返回给用户一个准确的答案,更加方便用户信息获取的需求。可以说,问答系统就是新一代的搜索引擎。对于问答系统,用户不需要把自己的问题分解成关键字,用户可以把整个问题直接交给问答系统。问答系统结合自然语言处理技术,通过对问题理解,能够直接提交给用户想要的答案。问答系统就像一个知识渊博的专家,可以快速准确地回答任何问题。比如,用户提交一个问题“丹麦的首都是那座城市?,,问答系统将会直接给出答案“丹麦的首都是哥本哈根”。可以看出,问答系统要比传统的搜索引擎方便、快捷、高效。目前自动问答技术还处于起步阶段,离人工智能还有较大的差距,但其诱人的前景吸引着人们在该技术上的投入。现有的自动问答方法分三个过程,问题分析、信息检索和答案选择。问题分析把用户的自然语言提出的问题进行分词,提炼出关键词,并判断问题询问类型;信息检索是通过问题分析的关键词结果,在资源库中检索相关的段落作为答案材料;答案选择过程根据问题分析得到的问题询问类型,以及信息检索得到的答案材料,抽取准确的答案返回给用户。其中回答问题的资源库是固定的文档库,自动问答方法往往是基于此文档库,其直接决定自动问答方法的策略,进而影响回答的准确率和回答范围等性能指标。基于固定的文档库建立的自动问答方法,扩展性差;而基于hternet的自动问答方法,检索到的信息冗余过大,可能隶属多个主题信息,影响到答案的准确率。现有的自动问答技术存在的一个问题是,问题分析过程中仅提炼出关键词,判断问题的询问类型,此分析结果无法代表整个问题,仅是问题的部分信息,导致现有的问答系统的正确率低。
发明内容本发明要解决的问题是提出一种自动问答方法及系统,能更好的分析和理解问题,以提高答案的准确率。本发明的技术方案是,这种自动问答方法包括步骤1)问题分析步骤,先对自然语言问句进行分词,再利用问点/条件点识别模型对分词后得到的词语进行标识,识别出问句中的问点、条件点;2)信息检索步骤,利用标识的问点、条件点查询信息资源库,并抽取查询结果。所述的信息资源库为结构化信息资源库。上述自动问答方法中,从hternet网络上获取各个主题的结构化信息资源库。所述步骤1)中采用问点/条件点数据结构表达所述的问点、条件点。所述步骤2)中,将问点/条件点数据结构中的问点作为SQL查询的字段,将问点/条件点数据结构中的条件点作为SQL查询的条件。一种自动问答系统,包括问题分析单元、信息检索单元和答案抽取单元;所述问题分析单元用于对自然语言问句进行分词,并利用问点/条件点识别模型对分词后的词语进行问点、条件点的标识;所述信息检索单元用于利用标识的问点、条件点查询信息资源库。所述的信息资源库为结构化信息资源库。本发明与现有技术对比所具有的有益效果是将自然语言问题分析成问点、条件点的词语集合,区分问点和条件点在问句中的不同作用查询数据资源库,能更好地理解问题并提供准确的答案。结构化信息资源库可以通过hternet获取,主题清晰,信息丰富;通过计算机理解的数据结构来表示问点、条件点,并将问点、条件点与SQL查询语句匹配,可以更有效地提高自动问答答案的准确率,扩展自动问答的知识领域范围。图1是具体实施方式的问答过程示意图;图2是具体实施方式中问句的识别结果示意图;图3是具体实施方式中问点/条件点识别模型的生成过程示意图;图4是具体实施方式中问点/条件点识别模型训练语料的格式图;图5是与图4相应的特征模板格式图。具体实施例方式下面通过具体实施方式结合附图对本发明作进一步详细说明。一种中文自动问答系统,采用结构化信息作为回答问题的资源库,将用户提出的自然语言问题分析成问点、条件点形式,映射到相应的SQLGtructuredQueryLanguage,结构化查询语言)查询语句,从结构化信息中检索信息作为问题的答案。结构化信息是基于表格的信息,每个主题对应一个表,通过字段名组织和表示信息,而信息内容是字段值。本自动问答方法针对一个主题的问题就构建这个主题的结构化信息作为回答问题的资源库,资源库可以从hternet上获取、编辑。系统包括问题分析单元和信息检索单元、答案抽取单元。问题分析单元将自然语言的问题解析成问点、条件点的词语集合,使用计算机可理解的数据结构表示出来。信息检索单元根据问题分析单元的问点、条件点分词识别结果,利用已定义好的SQL模板匹配出SQL查询语句,并从结构化信息中检索答案。如图1所示,自动问答方法的实现过程为步骤1系统接收用户输入的自然语言问句Q,如“中国发明专利权的保护期限是多长时间?”。步骤2分词。问题分析单元利用分词模块对Q进行分词。如图2所示,分词结果为Q:AB⑶EF,其中Q代表问句,ABCEDF代表组成问句的中文词语以及相应的词性。分词模块采用专业的分词系统(如基于开源的中科院分词系统ICTCLAS),并使用结构化信息添加专有词汇,以提高分词的准确率。如上例可以分解为“中国_ns|发明专利权-nz|的-U保护期限-ηI是-vlI多长时间_t?-w”,其中ns是地名,nz是专有名词,u是助词,η是名词,vl是系动词,t是时间词。步骤3问句识别。问句识别方法是一个基于统计方法的命名实体识别过程。首先需要在系统中基于条件随机场,经过人工特征标注、训练学习后生成问点/条件点识别模型。再利用已生成建立的问点/条件点识别模型对分词后的问句Q=ABCDEF进行识别,识别出问点、条件点,并通过问点/条件点数据结构表示识别结果QData,识别结果如图2所示,包括以下问点/条件点数据结构QType{Single,Sum}QPoint{QType,Name,Operator}Condition{Name,Value,Operator}其中,QType代表问题的类型,Single代表简单问点,Sum代复合问点;QPoint代表问题的问点,QType代表问题类型,Name代表问点的字段名,Operator代表复合问点的计算操作;Condition代表问题的条件点,Name代表条件的的字段名,Value代表条件的的字段值,Operator代表条件的字段值的限定操作。上述问点/条件点识别模型的生成过程如图3所示首先选择问句特征,然后根据本发明提出的识别内容(问点和条件点)对大量自然语言问句进行特征标注,采用问点/条件点数据结构变量名对应的值作为标注符号,经过条件随机场训练学习得到问点/条件点识别模型。问点/条件点识别模型采用词语和词性作为特征信息,问点和条件点的要素进行人工标注训练语料,然后经过条件随机域机器学习得到识别模型。训练语料数量越大,得到的识别模型识别准确率越高。条件随机域学习得到的问句识别模型,实质是利用训练语料的词语和词性信息与问点条件点之间的潜在联系,获取一种计算这种潜在联系概率的方式。标记使用问点和条件点的要素,作为训练语料的标记符号以及识别结果。训练语料格式如图4所示,其中标记符号C-value、C-name和C-operator分别代表Condition{name,value,operator}中的各个要素;Q-name>Q-type禾口Q_operator分另ll代表QPoint{name,QType,operator}中的各个要素。特征模板的基本格式为%χ[row,col],它用于确定输入数据中的一个token(令牌)。其中,row用于确定与当前的token的相对行数,col用于确定绝对列数。如图4所示,当前token为“低于”。与图4相应的特征模板如图5所示。训练模型使用crf_learn命令%crf_learntemplate_filetrain_filemodel_file。其中,template_file是特征模板文件,train_file是训练用的问句语料文件,训练后的模型存放在识别模型model_file中。识别问句使用crf_test命令%crf_test-mmodel_filetest_files。其中model_file是识别模型,test_file是需要识别问点和条件点的问句文件,这个文件的格式与训练问句文件是一致的。步骤4信息检索单元利用SQL模板将问题分析单元的输出结果QData匹配到SQL查询语句,得到相应的SQL查询语句。SQL匹配方法举例如下将SQL查询语句定义为selectAfromtablewhereB,其中A代表查询的字段或字段运算,B代表条件或条件的运算。Condition解析结果赋值给B,QPoint解析结果赋值给A,匹配过程为for(Conditions){根据Operator值进行分类判断,Name经过Operator后与Value结合生成B;}for(QPoints){根据QType值进行分类判断,Name与Operator结合生成A;}步骤5信息检索单元用生成的SQL查询语句查询存储在数据库中的结构化信息,查询结果作为问题的答案,并通过答案抽取过程后将最终答案展示给提问的用户。通过上述步骤后,已将用户自然语言的问题分析成问点、条件点,与结构化信息中的字段名和字段值进行映射,因此,已知条件点寻求问点答案的过程,就转化成已知查询条件检索表信息的过程,其中查询条件即为字段值和限制条件(条件点),检索内容即为字段名(问点),从而使得计算机能更好地理解问题,提高答案的准确率。以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属
技术领域
的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。权利要求1.一种自动问答方法,其特征在于,包括以下步骤1)问题分析步骤,先对自然语言问句进行分词,再利用问点/条件点识别模型对分词后得到的词语进行标识,识别出问句中的问点、条件点;2)信息检索步骤,利用标识的问点、条件点查询信息资源库,并抽取查询结果。2.如权利要求1所述的自动问答方法,其特征在于所述的信息资源库为结构化信息资源库。3.如权利要求2所述的自动问答方法,其特征在于从^ternet网络上获取各个主题的结构化信息资源库。4.如权利要求2所述的自动问答方法,其特征在于所述步骤1)中采用问点/条件点数据结构表达所述的问点、条件点。5.如权利要求4所述的自动问答方法,其特征在于所述步骤2)中,将问点/条件点数据结构中的问点作为SQL查询的字段,将问点/条件点数据结构中的条件点作为SQL查询的条件。6.一种自动问答系统,其特征在于,包括问题分析单元、信息检索单元和答案抽取单元;所述问题分析单元用于对自然语言问句进行分词,并利用问点/条件点识别模型对分词后的词语进行问点、条件点的标识;所述信息检索单元用于利用标识的问点、条件点查询信息资源库。7.如权利要求6所述的自动问答系统,其特征在于所述的信息资源库为结构化信息资源库。全文摘要本发明公开了一种自动问答方法及系统,包括1)问题分析步骤,先对自然语言问句进行分词,再利用问点/条件点识别模型对分词后得到的词语进行标识,识别出问句中的问点、条件点;2)信息检索步骤,利用标识的问点、条件点查询信息资源库,并抽取查询结果。所述的信息资源库为结构化信息资源库。所述步骤2)中,将问点/条件点数据结构中的问点作为SQL查询的字段,将条件点作为SQL查询的条件。本发明通过问点和条件点的逻辑关系查询结构化信息资源库,能更好地理解问题,并提供准确的答案。文档编号G06F17/30GK102262634SQ201010189290公开日2011年11月30日申请日期2010年5月24日优先权日2010年5月24日发明者丛鹏飞,于雅洁,卢佳,徐伯星,杭诚方申请人:北京大学深圳研究生院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1