著录项信息
专利名称 | 一种用于信息检索的查询语句分析方法与系统 |
申请号 | CN200910131826.0 | 申请日期 | 2009-04-08 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2009-08-19 | 公开/公告号 | CN101510221 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F17/30 | IPC分类号 | G;0;6;F;1;7;/;3;0;;;G;0;6;F;1;7;/;2;0查看分类表>
|
申请人 | 北京大学 | 申请人地址 | 北京市海淀区颐和园路5号北京大学
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 北京大学 | 当前权利人 | 北京大学 |
发明人 | 吴玺宏;迟惠生;罗定生;林小俊;张猛 |
代理机构 | 北京君尚知识产权代理事务所(普通合伙) | 代理人 | 冯艺东 |
摘要
本发明公开了一种基于自然语言理解的查询语句分析方法与系统,属于信息检索技术领域。本发明的方法为:1)对输入的中文查询语句进行自动分词、命名实体识别和词性标注;2)对分词后的句子进行句法结构分析,得到句法结构树;根据词性标注后的句子确定每个词的词义;3)根据句子的句法结构和每个词的词义,对句子中谓词进行语义角色标注;4)根据上述对句子在词法、句法和语义层上的分析结果扩充关键词,提取能反映用户信息检索需求的关键词。本发明的系统包括词法分析模块、句法分析模块、语义分析模块和关键词提取模块。本发明可以大大提高查询结果的准确率,使用户得到想要的查询结果。
1.一种用于信息检索的查询语句分析方法,其步骤为:
1)对输入的中文查询语句进行自动分词、命名实体识别和词性标注;
2)对分词后的句子进行句法结构分析,得到句法结构树;对词性标注后的句子采用知网的义原表示体系来确定每个词的词义;
3)根据句子的句法结构和每个词的词义,对句子中目标动词进行语义角色标注;
4)根据识别的命名实体、目标动词的语义角色标注结果分别进行关键词扩展,得到扩展后的关键词。
2.如权利要求1所述的方法,其特征在于所述自动分词和命名实体识别的方法为:采用条件随机场模型对查询语句进行分词和命名实体识别,并对分词和识别结果进行联合标记。
3.如权利要求1或2所述的方法,其特征在于所述命名实体包括:人名、地名、机构名。
4.如权利要求1所述的方法,其特征在于采用最大熵模型进行所述词性标注。
5.如权利要求4所述的方法,其特征在于采用基于隐标记的概率上下文无关文法的句法分析系统对句子进行文法分析,得到句法结构树。
6.如权利要求5所述的方法,其特征在于所述采用知网的义原表示体系来确定每个词的词义的方法为:首先将每个词的词义用义原,以及义原和义原之间的关系来进行描述,得到词义的网络;然后通过动态规划算法,搜索词义网中一条距离最短的路径来确定该词的词义。
7.如权利要求1所述的方法,其特征在于以句法成分为语义角色标注的基本单元,采用最大熵或支持向量机对所述目标动词进行语义角色标注。
8.如权利要求1所述的方法,其特征在于利用所述知网对关键词进行扩展,其方法为:
首先根据词的词义在知网中找出每个词的同义词;然后对命名实体进行同义扩展并赋予一权重,根据句法分析结果对句子中的动词和动词对应的主语中心词、宾语中心词进行扩展,得到扩展关键词,根据目标动词的语义角色标注结果将目标动词承受者作为关键词进行同义或相关扩展并赋予一权重。
9.一种结合语义分析的自然语言式查询分析系统,包括词法分析模块、句法分析模块、语义分析模块和关键词提取模块;
所述词法分析模块用于对输入的中文查询语句进行自动分词、命名实体识别和词性标注;
所述句法分析模块用于将分词后的句子作为输入,对句子的句法结构进行分析得到句法结构树;
所述语义分析模块包括词义消歧模块,用于根据词性标注后的句子确定每个词的词义;和语义角色标注模块,用于根据句子的句法结构和词的词义对句子中目标动词进行语义角色标注;
所述关键词提取模块根据对查询句子在词法分析模块、句法分析模块和语义分析模块中的分析,对关键词进行扩展。
一种用于信息检索的查询语句分析方法与系统 \n技术领域\n[0001] 本发明涉及信息检索技术领域,具体涉及一种基于自然语言理解的查询语句分析方法与系统。 \n背景技术\n[0002] 随着互联网在全球范围内的迅速发展与成熟,网络上的信息资源不断丰富,信息数据量也在飞速膨胀。在当今社会中,通过搜索引擎上网查信息已成为现代人的主要信息获取方式。于是,为用户提供更加便捷而有效的查询服务,便成为搜索引擎技术在当今和未来的发展方向。 \n[0003] 目前大多数搜索引擎所接受的查询方式仍是关键词查询。这种查询方式要求用户将个人的查询意图概括为几个最有效的词汇,这不仅增加了用户的负担,而且会带来一定的查询歧义。例如,现如今当用户在某一搜索引擎中输入关键词“苹果”,返回的检索结果中排在前几位的条目很可能都是关于苹果电脑的信息。如果用户想购买苹果笔记本,那么检索结果会符合他的期望。然而,如果用户想了解“苹果的营养价值”,那么这些结果则明显地“答非所问”了。 \n[0004] 未来更具智能化的搜索引擎应支持用户以自然语言方式进行语句查询。这种像日常对话一样的查询方式不仅能使用户感到方便自然,而且还能够根据上下文语境判断用户的查询意图,克服查询歧义问题。 \n[0005] 基于当前的自然语言处理技术,可以通过对用户输入的查询语句进行自动分析,在理解用户信息需求的基础上,确定出合适的无歧义的关键词检索项。近年来,自然语言处理的研究取得了很多突破性的进展。词法、句法和语义分析技术的进步使得自然语言处理技术在机器翻译、信息检索等领域得到了广泛的应用。目前已经有一些基于自然语言理解的查询分析系统(参考:申请号:200810046936、申请日:2008-02-26、申请人:华中科技大学、发明名称:基于自然语言的全文检索系统,的中国专利申请),这些系统通过对查询语句的分析,得到语句中的词义,再利用外部词典或本体库进行关键词的扩展。然而,这些系统仅仅在词汇的层次上进行词义分析,这还不足以明确用户的查询需求,还应进一步从句子的层次上进行句法和语义的分析。 \n发明内容\n[0006] 本发明的目的在于提供一种用于信息检索的查询语句分析方法与系统。 [0007] 本发明用于中文信息检索系统的用户查询分析中。发明中所阐述的方法通过对用户输入的查询语句进行分析,在理解用户查询意图的基础上,提取有效且无歧义的检索关键词。与当前主流的关键词查询方式相比,本发明能够为信息搜索用户提供更加便捷自然的查询方式,而且能够克服关键词检索的查询歧义问题。 \n[0008] 对自然语言描述的查询进行分析理解,存在着很多技术难点,而这些技术难点正是本发明要重点解决的问题,同时,将这些技术结合在一起,进一步的引入语义角色标注技术,来理解用户的检索查询需求,最终找到合适的检索关键词是本发明的创新和贡献之所在。 \n[0009] 本发明基于自然语言处理技术,设计了面向自然语言式信息查询语句的分析系统。系统的整体框架见附图1。 \n[0010] 系统主要包括词法分析、句法分析、语义分析和关键词提取四个模块,下面将分别予以介绍: \n[0011] 1、词法分析 \n[0012] 该模块对输入的中文查询语句进行自动分词、命名实体识别和词性标注。 [0013] 分词是对查询语句进行自动分析和理解的基础。分词的同时还要识别人名、地名、机构名这些命名实体,它们不仅含有事件的关键信息,同时还和汉语分词有着紧密的联系。很多命名实体恰为分词中很难处理的未登录词,而分词的结果也很大程度地影响着命名实体识别的性能。目前大多采取将分词和命名体识别视为一个序列标注任务同时实现,因而可以采用统计机器学习中的最大熵(Maximum Entropy,ME)、最大熵马尔科夫(MaximumEntropy Markov Models,MEMM)或条件随机场(Conditional Random Fields,CRF)等序列标注模型,给句子中的每个字标记字在词中的位置和实体类别,进而转化成分词结果并识别出命名实体。 \n[0014] 词性标注,即将词语进行分类,可以将句子中具体词的组合关系抽象成词类之间的组合关系,进而可能更容易得到句法结构的规律。一个词的不同词性往往对应不同的含义,所以确定词的词性对于分析词和句子的语义也是很重要的。词性标注也可视为序列标注问题,故可以采用上述的分类器或序列标注模型。模型通过带词性标注的语料训练参数,再对输入的词序列识别词性。 \n[0015] 2、句法分析 \n[0016] 该模块以分词后的句子作为输入,对句子的句法结构进行分析。 \n[0017] 句法分析是保证各种应用系统能够在内容层面处理自然语言的核心技术。所谓句法分析,就是指根据给定的语法,自动地识别出句子所包含的句法单位和这些句法单位之间的关系。句法分析对于理解整句的含义有着非常重要的作用。 \n[0018] 本发明实现了基于概率上下文无关文法(Probabilistic Context Free Grammar,PCFG)的句法分析系统(参考文献:Slav Petrov and Dan Klein.Improved Inference for UnlexicalizedParsing.In Proceedings of HLT/NAACL,2007.),它通过统计得到一套描述句法结构的文法模型,其中包括文法规则和规则的概率分布,从而利用得到的文法模型对于输入的句子进行分析,得到句法结构树。模型需要利用人工标注的标准树库资源进行训练。目前,用于中文句法分析的标准树库有美国宾州大学的中文树库和中国清华大学的中文树库。 \n[0019] 3、语义分析 \n[0020] 该模块包括词义消歧和语义角色标注两个子模块。 \n[0021] 由于自然语言中一词多义现象普遍存在,因此,要让计算机正确地分析和理解自然语言,一个重要的前提条件就是能够在某个特定上下文中,自动排除歧义,确定多义词的意义,即所谓的词义消歧。 \n[0022] 词义消歧子模块以词性标注后的句子作为输入,采用知网(HowNet)的义原表示体系(参考:Dong Z,Dong Q.HowNet,http://www.keenage.com/zhiwang/e_zhiwang.html),将每个词的词义用义原,以及义原和义原之间的关系来进行描述。一个句子的每个词有一个或多个含义,这样就存在多个可能的语义的组合,从而形成了一个类似于词网的结构。我们把网中节点之间的距离定义为相应的义原之间的距离,距离越短,说明这两个义原之间的相关性越大。这样,我们通过动态规划算法,搜索到一条距离最短的路径。这样一种搜索策略反映的是基于整句的词与词之间的语义关系,来确定每个词的意义。 [0023] 词义消歧仅仅是在词汇层上进行语义分析,对于查询理解而言,还需要在句子层面上进行正确的语义分析,才能更准确的理解查询意图。为此,本发明对句法分析后的句子进行语义角色标注。语义角色标注,指的是根据句子的句法结构和句中每个实词的词义,标注句子中的一些成分作为目标动词(谓词)的语义角色,这些成分作为谓词的参数被赋予一定的语义含义。在此基础之上可以推导出能够反映句子意义的形式化表示,从而实现句子层的分析和理解。例如,对于句子:“张三吃了苹果”和“苹果被张三吃了”,虽然它们的表述形式不同,但表示成语义的形式就统一为:“吃(张三,苹果)”。 \n[0024] 本发明采用基于分类器的语义角色标注方法。该子模块建立在完全句法分析基础之上,以句子中的动词作为目标谓词,把句法成分作为语义标注的基本单元,用最大熵、支持向量机等分类器对句子中谓词的语义角色同时进行识别和分类。 \n[0025] 4、关键词提取 \n[0026] 根据对查询句子的在词法、句法和语义层上的分析,提取能反映用户信息检索需求的关键词。 \n[0027] 命名实体识别模块 识别出的人名,地名,机构名含有时间描述的关键信息,需要进行检索,而且赋予较高的权重。利用句法分析模块 ,提取主要短语的中心词作为关键词。\n根据语义角色标注 的结果,提取出查询句子中和目标动词相关的各种角色,根据对目标动词的预划分的类别和与其相关的语义角色,抽取选出不同的语义角色对应的词组,并赋予不同的权重。仅仅利用句子中抽取出来的关键词是不够的,还需要结合词义消歧的结果从知网等资源中抽取和这些词语义近似或相关的词,进行查询扩展,这一方面进一步明确了词的语义,还避免了同一个概念可以用不同的词来描述的问题。提取出的关键词可以直接用在现有的信息检索系统中,通过构建能明确反映用户需求的查询,得到用户期望的检索结果。分配出的权重可以用在进一步的分析处理或其他的系统中。 \n[0028] 如果查询面对的不是倒排索引这样的非结构化数据,而是结构化数据,则利用语义角色标注分析出的句子语义的形式化描述,检索数据项,从而得到更准确的检索结果。 [0029] 本发明的积极效果为: \n[0030] 本发明所提出的解决方案不仅利用了自然语言处理的词法分析、句法分析、词义消歧技术,而且还引入语义角色标注技术,对用户用于描述检索需求的查询语句进行分析和理解。在目前的通用搜索引擎中,查询面向的数据是无结构的索引文件,那么通过分析查询语句中词与词之间的语义关系,抽取出合适的关键词并赋予相应的权重,再利用这些关键词和搜索引擎提供的高级搜索语法进行检索,从而得到用户期望的检索结果。如果面对的是结构化数据,那么就可以利用分析后的语义表示进行精确的数据项匹配,从而得到更准确的结果。 \n附图说明\n[0031] 图1.自然语言查询分析系统框架图; \n[0032] 图2.句法分析树。 \n具体实施方式\n[0033] 下面通过一个具体实例,即用户输入查询语句“最新款的苹果电脑是否有支持手写输入的功能”,来详细描述系统的具体实现方式和各个模块的工作过程。 \n[0034] 1、词法分析 \n[0035] 自动分词和命名实体识别 \n[0036] 分词是其它模块对查询语句作进一步分析的基础。本发明采用条件随机场模型,对分词和命名实体识别两个任务进行联合标记,即对句子中的每个字标记字在词中的位置和实体类别,进而转化成分词结果并识别出命名实体。条件随机场模型能灵活地融合反映上下文信息的各种特征,以及构词法特征,适用于分词等序列标记任务,这种联合策略可以同时提高分词和命名实体识别的准确率。 \n[0037] 分词采用4类标记:词首、词中、词尾和单字词。命名实体识别采用4类标记:人名、地名、组织机构名和非命名实体。将这两类标记组合在一起,这样在一体化模型中就有词首-人名等16种标记。采用的特征为基于3字窗长的6类特征模板,分别是:前一个字、当前字、后一个字、前一个字与当前字、当前字与后一个字、前一个字与后一个字。采用经过标注的人民日报2000年1月份、2月份和3月份语料作为训练语料。 \n[0038] 在识别过程中,对于输入的自然语言查询语句“最新款的苹果电脑是否有支持手写输入的功能”,首先对句子的每个字提取特征。例如,“新”字的特征见表1: [0039] 表1“新”字的特征 \n[0040] \n 特征模板 特征\n 前一个字 最\n 当前字 新\n 后一个字 款\n 前一个字与当前字 最/新\n 当前字与后一个字 新/款\n 前一个字与后一个字 最/款\n[0041] 条件随机场模型利用提取的这些特征,预测出的每个字的类别标记,例如,对于上述句子的“苹果”,其标记序列为“苹/词首-非命名实体果/词尾-非命名实体”。 [0042] 这样的字序列和标记序列,完全指明了一句话的切分方式,即“最新款的苹果电脑是否有支持手写输入的功能”,同时指出了每个词是否是命名实体。 \n[0043] 词性标注 \n[0044] 词性标注任务采用最大熵模型,最大熵模型能融合丰富的上下文信息,同时通过将前一个词的词性标记作为特征,结合动态规划的方式进行解码,可以考虑前后词性之间的相互影响。词性标记集采用《北京大学现代汉语语料库基本加工规范》。使用的特征除前一个词的词性标记外,包括当前词、前一个词、后一个词、当前词的长度、前一个词的长度、后一个词的长度、当前词的首字、当前词的尾字、前一个词与当前词、当前词与后一个词、前一个词与后一个词。采用经过词性标注的人民日报2000年1月份和2月份语料作为训练语料。 \n[0045] 对分词后的句子“最新款的苹果电脑是否有支持手写输入的功能”中的每个词提取特征,例如,对于“电脑”的特征见表2: \n[0046] 表2“电脑”的特征 \n[0047] \n 特征模板 特征\n 当前词 电脑\n 前一个词 苹果\n 后一个词 是否\n 当前词的长度 2\n 前一个词的长度 2\n 后一个词的长度 2\n 当前词的首字 苹\n 当前词的尾字 果\n 前一个词与当前词 苹果/电脑\n 当前词与后一个词 电脑/是否\n 前一个词与后一个词 苹果/是否\n[0048] [0048] 最大熵模型根据上述的特征以及对前一个词预测的词性,对当前词的各种可能词性进行预测,再利用动态规划算法找出所有可能的标记序列中概率最大的序列作为最终结果。上述的句子词性标注的结果为“最/副词新/形容词款/名词的/助词苹果/名词电脑/名词是否/副词有/动词支持/动词手写/区别词输入/名动词的/助词功能/名词”。 \n[0049] 2、句法分析 \n[0050] 句法分析 \n[0051] 本发明采用U.C.Berkeley提出的基于隐标记的概率上下文无关文法,通过标记的分裂和合并,得到比树库中原有文法更细致的文法,从而缓解了上下文无关文法的独立性假设。在分裂过程中,将原来的标记一分为二,进而利用EM(Expectation Maximization)算法估计出分裂后得到的文法的概率分布。然后在根据不同分裂对似然值的贡献,合并某些分裂。经过这样的多次迭代,就可以得到精细的文法及其相应的概率分布。 [0052] 在上面的迭代过程中,同时可以得到一个由粗到细的文法。在对输入的句子进行解码分析时,利用这些由粗到细的文法,在由可能的句法分析树构成的搜索空间中进行裁剪,大大提高了解码效率。 \n[0053] 对于句子“最新款的苹果电脑是否有支持手写输入的功能”,其句法分析树见附图\n2。 \n[0054] 3、语义分析 \n[0055] 词义消歧 \n[0056] 按照上面技术方案中提到的算法,对由每个词的可能的词义构成的词义网,通过动态规划算法找到一条最优路径,这条路径对应着每个词的正确含义。 \n[0057] 对如输入的带有词性的句子,“最/副词新/形容词款/名词的/助词苹果/名词电脑/名词是否/副词有/动词支持/动词手写/区别词输入/名动词的/助词功能/名词”,经词义消歧后,每个词的含义可以用知网中的义原进行明确的表述。例如,“是否”的词义是“表示疑问的功能词”。 \n[0058] 语义角色标注 \n[0059] 本实施方案中,采用Chinese PropBank作为标注语料库,训练用于语义角色标注的最大熵模型,该语料库是美国宾夕法尼亚大学基于Chinese Penn TreeBank标注的汉语浅层语义标注资源。通过从谓词,路径,短语类型,位置,中心词等线索中提取丰富的特征,得 到了一个高性能的语义角色标注器。 \n[0060] 对于经过句法分析后的句子“最新款的苹果电脑是否有支持手写输入的功能”,首先指定句子中的目标动词为“支持”,语义角色标注的结果为:“最新款的苹果电脑是否有[目标动词支持][受事手写输入]的功能”。这样,可以分析出“手写输入”是动词“支持”的承受者,这样就把这些句子成分和句子主要动词的语义关系分析出来。 \n[0061] 4、关键词提取 \n[0062] 首先根据识别的结果抽取出人名、地名、机构名,并根据知网等资源,利用这些词的同义关系进行扩展,并赋予较高的权重,这是在词层次上进行的查询分析和扩展,也是目前很多检索系统所采用的方法。 \n[0063] 根据句法分析结果,可以知道句子“最新款的苹果电脑是否有支持手写输入的功能”的主要动词是“有”,其主语中心词是“苹果”和“电脑”,宾语中心词是“功能”,进而对这些词进行扩展,得到扩充的检索关键词。 \n[0064] 从上面抽取的关键词来看,仅仅利用词法和句法分析的结果,有时还不能完全明确用户的检索需求。我们利用对动词“支持”的语义角色标注结果,分析得出其动作承受者是“手写”和“输入”,根据预先总结的针对不同动词的提取规则,我们把“手写”和“输入”这两个词也添加到检索关键词列表中,同时进行同义或相关扩展。 \n[0065] 无论是利用命名实体信息,还是句法分析和语义角色标注的分析结果,在进行关键词扩展时都要根据每个词的词义进行同义扩展。 \n[0066] 对于提取出的关键词的权重,本发明根据事先总结的规则进行赋值。 [0067] 综上所述,经过本发明提出的方法的分析,对于自然语言的查询语句,“最新款的苹果电脑是否有支持手写输入的功能”,所提取及扩展的关键词及其相应权重分别为“苹果/0.8电脑/0.8计算机/0.4微机/0.4功能/0.8作用/0.4手写/0.6输入/0.6”。 \n[0068] 性能评价 \n[0069] 我们对我们的解决方案中的主要模块进行了性能测试,测试的模块包括词法分析中的自动分词、命名实体识别、词性标注,句法分析和语义角色标注。 \n[0070] 1、词法分析 \n[0071] 分词、命名实体识别和词性标注都采用人名日报2000年6月份作为测试语料,评价指标为正确率、召回率和F1值,各个模块的性能分别见表3、表4、表5: \n[0072] 表3分词模块的性能 \n[0073] \n 正确率(%) 召回率(%) F1(%)\n 分词 97.10 96.59 96.85\n[0074] 表4命名实体识别模块的性能 \n[0075] \n 正确率(%) 召回率(%) F1(%)\n 人名 95.07 90.51 92.72\n 地名 95.22 94.39 94.80\n 机构名 97.90 98.23 98.07\n 所有 98.72 97.11 97.91\n[0076] 表5词性标注模块的性能 \n[0077] \n 正确率(%) 召回率(%) F1(%)\n 词性标注 95.54 95.54 95.54\n[0078] 2、句法分析 \n[0079] 句法分析的训练和测试语料采用句法分析研究中的标准分配策略,评价指标采用正确率、召回率和F1值,句法分析性能见表6: \n[0080] 表6句法分析模块的性能 \n[0081] \n 正确率(%) 召回率(%) F1(%)\n 句法分析 87.29 84.85 86.05\n[0082] 3、语义分析 \n[0083] 语义角色标注的训练和测试语料按照4∶1的比例分配,评价指标为正确率、召回率和F1值,语义角色标注模块性能见表7: \n[0084] 表7语义角色标注模块的性能 \n[0085] \n 正确率(%) 召回率(%) F1(%)\n 语义角色标注 89.43 86.30 87.84
法律信息
- 2019-03-29
未缴年费专利权终止
IPC(主分类): G06F 17/30
专利号: ZL 200910131826.0
申请日: 2009.04.08
授权公告日: 2012.05.30
- 2012-05-30
- 2009-10-14
- 2009-08-19
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2008-08-20
|
2008-02-26
| | |
2
| | 暂无 |
2003-03-11
| | |
3
| | 暂无 |
2006-05-11
| | |
4
| |
2008-10-29
|
2008-06-12
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 1 | | 2016-04-05 | 2016-04-05 | | |