技术领域
本发明涉及信息检索技术领域,具体涉及一种基于自然语言理解的查询语句分析方法 与系统。
背景技术
随着互联网在全球范围内的迅速发展与成熟,网络上的信息资源不断丰富,信息数据 量也在飞速膨胀。在当今社会中,通过
搜索引擎上网查信息已成为现代人的主要信息获取 方式。于是,为用户提供更加便捷而有效的查询服务,便成为搜索引擎技术在当今和未来 的发展方向。
目前大多数搜索引擎所接受的查询方式仍是关键词查询。这种查询方式要求用户将个 人的查询意图概括为几个最有效的词汇,这不仅增加了用户的负担,而且会带来一定的查 询歧义。例如,现如今当用户在某一搜索引擎中输入关键词“苹果”,返回的检索结果中 排在前几位的条目很可能都是关于苹果电脑的信息。如果用户想购买苹果笔记本,那么检 索结果会符合他的期望。然而,如果用户想了解“苹果的营养价值”,那么这些结果则明 显地“答非所问”了。
未来更具智能化的搜索引擎应支持用户以自然语言方式进行语句查询。这种像日常对 话一样的查询方式不仅能使用户感到方便自然,而且还能够根据上下文语境判断用户的查 询意图,克服查询歧义问题。
基于当前的
自然语言处理技术,可以通过对用户输入的查询语句进行自动分析,在理 解用户信息需求的
基础上,确定出合适的无歧义的关键词检索项。近年来,自然语言处理 的研究取得了很多突破性的进展。词法、句法和语义分析技术的进步使得自然语言处理技 术在
机器翻译、信息检索等领域得到了广泛的应用。目前已经有一些基于自然语言理解的 查询分析系统(参考:
申请号:200810046936、申请日:2008-02-26、
申请人:华中科技 大学、
发明名称:基于自然语言的全文检索系统,的中国
专利申请),这些系统通过对查 询语句的分析,得到语句中的词义,再利用外部词典或本体库进行关键词的扩展。然而, 这些系统仅仅在词汇的层次上进行词义分析,这还不足以明确用户的查询需求,还应进一 步从句子的层次上进行句法和语义的分析。
发明内容
本发明的目的在于提供
一种用于信息检索的查询语句分析方法与系统。
本发明用于中文信息检索系统的用户查询分析中。发明中所阐述的方法通过对用户输 入的查询语句进行分析,在理解用户查询意图的基础上,提取有效且无歧义的检索关键词。 与当前主流的关键词查询方式相比,本发明能够为信息搜索用户提供更加便捷自然的查询 方式,而且能够克服关键词检索的查询歧义问题。
对自然语言描述的查询进行分析理解,存在着很多技术难点,而这些技术难点正是本 发明要重点解决的问题,同时,将这些技术结合在一起,进一步的引入语义
角色标注技术, 来理解用户的检索查询需求,最终找到合适的检索关键词是本发明的创新和贡献之所在。
本发明基于自然语言处理技术,设计了面向自然语言式信息查询语句的分析系统。系 统的整体
框架见
附图1。
系统主要包括词法分析、句法分析、语义分析和关键词提取四个模
块,下面将分别予 以介绍:
1、词法分析
该模块对输入的中文查询语句进行自动分词、
命名实体识别和
词性标注。
分词是对查询语句进行自动分析和理解的基础。分词的同时还要识别人名、地名、机 构名这些命名实体,它们不仅含有事件的关键信息,同时还和汉语分词有着紧密的联系。 很多命名实体恰为分词中很难处理的未登录词,而分词的结果也很大程度地影响着命名实 体识别的性能。目前大多采取将分词和命名体识别视为一个序列标注任务同时实现,因而 可以采用统计
机器学习中的最大熵(Maximum Entropy,ME)、最大熵
马尔科夫(Maximum Entropy Markov Models,MEMM)或条件随机场(Conditional Random Fields,CRF)等序列 标注模型,给句子中的每个字标记字在词中的
位置和实体类别,进而转
化成分词结果并识 别出命名实体。
词性标注,即将词语进行分类,可以将句子中具体词的组合关系抽象成词类之间的组 合关系,进而可能更容易得到句法结构的规律。一个词的不同词性往往对应不同的含义, 所以确定词的词性对于分析词和句子的语义也是很重要的。词性标注也可视为序列标注问 题,故可以采用上述的分类器或序列标注模型。模型通过带词性标注的语料训练参数,再 对输入的词序列识别词性。
2、句法分析
该模块以分词后的句子作为输入,对句子的句法结构进行分析。
句法分析是保证各种应用系统能够在内容层面处理自然语言的核心技术。所谓句法分 析,就是指根据给定的语法,自动地识别出句子所包含的句法单位和这些句法单位之间的 关系。句法分析对于理解整句的含义有着非常重要的作用。
本发明实现了基于概率上下文无关文法(Probabilistic Context Free Grammar,PCFG)的 句法分析系统(参考文献:Slav Petrov and Dan Klein.Improved Inference for Unlexicalized Parsing.In Proceedings of HLT/NAACL,2007.),它通过统计得到一套描述句法结构的文法 模型,其中包括文法规则和规则的概率分布,从而利用得到的文法模型对于输入的句子进 行分析,得到句法结构树。模型需要利用人工标注的标准树库资源进行训练。目前,用于 中文句法分析的标准树库有美国宾州大学的中文树库和中国清华大学的中文树库。
3、语义分析
该模块包括
词义消歧和语义角色标注两个子模块。
由于自然语言中一词多义现象普遍存在,因此,要让计算机正确地分析和理解自然语 言,一个重要的前提条件就是能够在某个特定上下文中,自动排除歧义,确定多义词的意 义,即所谓的词义消歧。
词义消歧子模块以词性标注后的句子作为输入,采用知网(HowNet)的义原表示体系 (参考:Dong Z,Dong Q.HowNet,http://www.keenage.com/zhiwang/e_zhiwang.html),将 每个词的词义用义原,以及义原和义原之间的关系来进行描述。一个句子的每个词有一个 或多个含义,这样就存在多个可能的语义的组合,从而形成了一个类似于词网的结构。我 们把网中
节点之间的距离定义为相应的义原之间的距离,距离越短,说明这两个义原之间 的相关性越大。这样,我们通过动态规划
算法,搜索到一条距离最短的路径。这样一种搜 索策略反映的是基于整句的词与词之间的语义关系,来确定每个词的意义。
词义消歧仅仅是在词汇层上进行语义分析,对于查询理解而言,还需要在句子层面上 进行正确的语义分析,才能更准确的理解查询意图。为此,本发明对句法分析后的句子进 行语义角色标注。语义角色标注,指的是根据句子的句法结构和句中每个实词的词义,标 注句子中的一些成分作为目标动词(谓词)的语义角色,这些成分作为谓词的参数被赋予 一定的语义含义。在此基础之上可以推导出能够反映句子意义的形式化表示,从而实现句 子层的分析和理解。例如,对于句子:“张三吃了苹果”和“苹果被张三吃了”,虽然它 们的表述形式不同,但表示成语义的形式就统一为:“吃(张三,苹果)”。
本发明采用基于分类器的语义角色标注方法。该子模块建立在完全句法分析基础之上, 以句子中的动词作为目标谓词,把句法成分作为语义标注的基本单元,用最大熵、支持向 量机等分类器对句子中谓词的语义角色同时进行识别和分类。
4、关键词提取
根据对查询句子的在词法、句法和语义层上的分析,提取能反映用户信息检索需求的 关键词。
命名实体识别模块识别出的人名,地名,机构名含有时间描述的关键信息,需要进行 检索,而且赋予较高的权重。利用句法分析模块,提取主要短语的中心词作为关键词。根 据语义角色标注的结果,提取出查询句子中和目标动词相关的各种角色,根据对目标动词 的预划分的类别和与其相关的语义角色,
抽取选出不同的语义角色对应的词组,并赋予不 同的权重。仅仅利用句子中抽取出来的关键词是不够的,还需要结合词义消歧的结果从知 网等资源中抽取和这些词语义近似或相关的词,进行查询扩展,这一方面进一步明确了词 的语义,还避免了同一个概念可以用不同的词来描述的问题。提取出的关键词可以直接用 在现有的信息检索系统中,通过构建能明确反映用户需求的查询,得到用户期望的检索结 果。分配出的权重可以用在进一步的分析处理或其他的系统中。
如果查询面对的不是倒排索引这样的非结构化数据,而是结构化数据,则利用语义角 色标注分析出的句子语义的形式化描述,检索数据项,从而得到更准确的检索结果。
本发明的积极效果为:
本发明所提出的解决方案不仅利用了自然语言处理的词法分析、句法分析、词义消歧 技术,而且还引入语义角色标注技术,对用户用于描述检索需求的查询语句进行分析和理 解。在目前的通用搜索引擎中,查询面向的数据是无结构的索引文件,那么通过分析查询 语句中词与词之间的语义关系,抽取出合适的关键词并赋予相应的权重,再利用这些关键 词和搜索引擎提供的高级搜索语法进行检索,从而得到用户期望的检索结果。如果面对的 是结构化数据,那么就可以利用分析后的语义表示进行精确的数据项匹配,从而得到更准 确的结果。
附图说明
图1.自然语言查询分析系统框架图;
图2.句法分析树。
具体实施方式
下面通过一个具体实例,即用户输入查询语句“最新款的苹果电脑是否有支持手写输 入的功能”,来详细描述系统的具体实现方式和各个模块的工作过程。
1、词法分析
自动分词和命名实体识别
分词是其它模块对查询语句作进一步分析的基础。本发明采用条件随机场模型,对分 词和命名实体识别两个任务进行联合标记,即对句子中的每个字标记字在词中的位置和实 体类别,进而转化成分词结果并识别出命名实体。条件随机场模型能灵活地融合反映上下 文信息的各种特征,以及构词法特征,适用于分词等序列标记任务,这种联合策略可以同 时提高分词和命名实体识别的准确率。
分词采用4类标记:词首、词中、词尾和单字词。命名实体识别采用4类标记:人名、 地名、组织机构名和非命名实体。将这两类标记组合在一起,这样在一体化模型中就有词 首-人名等16种标记。采用的特征为基于3字窗长的6类特征模板,分别是:前一个字、 当前字、后一个字、前一个字与当前字、当前字与后一个字、前一个字与后一个字。采用 经过标注的人民日报2000年1月份、2月份和3月份语料作为训练语料。
在识别过程中,对于输入的自然语言查询语句“最新款的苹果电脑是否有支持手写输 入的功能”,首先对句子的每个字提取特征。例如,“新”字的特征见表1:
表1“新”字的特征
特征模板 特征 前一个字 最 当前字 新 后一个字 款 前一个字与当前字 最/新 当前字与后一个字 新/款 前一个字与后一个字 最/款
条件随机场模型利用提取的这些特征,预测出的每个字的类别标记,例如,对于上述 句子的“苹果”,其标记序列为“苹/词首-非命名实体果/词尾-非命名实体”。
这样的字序列和标记序列,完全指明了一句话的切分方式,即“最新款的苹果电 脑是否有支持手写输入的功能”,同时指出了每个词是否是命名实体。
词性标注
词性标注任务采用最大熵模型,最大熵模型能融合丰富的上下文信息,同时通过将前 一个词的词性标记作为特征,结合动态规划的方式进行解码,可以考虑前后词性之间的相 互影响。词性标记集采用《北京大学现代汉语语料库基本加工规范》。使用的特征除前一 个词的词性标记外,包括当前词、前一个词、后一个词、当前词的长度、前一个词的长度、 后一个词的长度、当前词的首字、当前词的尾字、前一个词与当前词、当前词与后一个词、 前一个词与后一个词。采用经过词性标注的人民日报2000年1月份和2月份语料作为训 练语料。
对分词后的句子“最新款的苹果电脑是否有支持手写输入的功能”中的 每个词提取特征,例如,对于“电脑”的特征见表2:
表2“电脑”的特征
特征模板 特征 当前词 电脑 前一个词 苹果 后一个词 是否 当前词的长度 2 前一个词的长度 2 后一个词的长度 2 当前词的首字 苹 当前词的尾字 果 前一个词与当前词 苹果/电脑 当前词与后一个词 电脑/是否 前一个词与后一个词 苹果/是否
最大熵模型根据上述的特征以及对前一个词预测的词性,对当前词的各种可能词性进 行预测,再利用动态规划算法找出所有可能的标记序列中概率最大的序列作为最终结果。 上述的句子词性标注的结果为“最/副词新/形容词款/名词的/助词苹果/名词电脑/名词 是否/副词有/动词支持/动词手写/区别词输入/名动词的/助词功能/名词”。
2、句法分析
句法分析
本发明采用U.C.Berkeley提出的基于隐标记的概率上下文无关文法,通过标记的分裂 和合并,得到比树库中原有文法更细致的文法,从而缓解了上下文无关文法的独立性假设。 在分裂过程中,将原来的标记一分为二,进而利用EM(Expectation Maximization)算法估 计出分裂后得到的文法的概率分布。然后在根据不同分裂对似然值的贡献,合并某些分裂。 经过这样的多次
迭代,就可以得到精细的文法及其相应的概率分布。
在上面的迭代过程中,同时可以得到一个由粗到细的文法。在对输入的句子进行解码 分析时,利用这些由粗到细的文法,在由可能的句法分析树构成的搜索空间中进行裁剪, 大大提高了解码效率。
对于句子“最新款的苹果电脑是否有支持手写输入的功能”,其句法分 析树见附图2。
3、语义分析
词义消歧
按照上面技术方案中提到的算法,对由每个词的可能的词义构成的词义网,通过动态 规划算法找到一条最优路径,这条路径对应着每个词的正确含义。
对如输入的带有词性的句子,“最/副词新/形容词款/名词的/助词苹果/名词电脑/ 名词是否/副词有/动词支持/动词手写/区别词输入/名动词的/助词功能/名词”,经词 义消歧后,每个词的含义可以用知网中的义原进行明确的表述。例如,“是否”的词义是 “表示疑问的功能词”。
语义角色标注
本实施方案中,采用Chinese PropBank作为标注语料库,训练用于语义角色标注的最 大熵模型,该语料库是美国宾夕法尼亚大学基于Chinese Penn TreeBank标注的汉语浅层语 义标注资源。通过从谓词,路径,短语类型,位置,中心词等线索中提取丰富的特征,得 到了一个高性能的语义角色标注器。
对于经过句法分析后的句子“最新款的苹果电脑是否有支持手写输入的功能”,首先
指定句子中的目标动词为“支持”,语义角色标注的结果为:“最新款的苹果电脑是 否有[目标动词支持][受事手写输入]的功能”。这样,可以分析出“手写输入” 是动词“支持”的承受者,这样就把这些句子成分和句子主要动词的语义关系分析出来。
4、关键词提取
首先根据识别的结果抽取出人名、地名、机构名,并根据知网等资源,利用这些词的 同义关系进行扩展,并赋予较高的权重,这是在词层次上进行的查询分析和扩展,也是目 前很多检索系统所采用的方法。
根据句法分析结果,可以知道句子“最新款的苹果电脑是否有支持手写输入的功能” 的主要动词是“有”,其主语中心词是“苹果”和“电脑”,宾语中心词是“功能”,进 而对这些词进行扩展,得到扩充的检索关键词。
从上面抽取的关键词来看,仅仅利用词法和句法分析的结果,有时还不能完全明确用 户的检索需求。我们利用对动词“支持”的语义角色标注结果,分析得出其动作承受者是 “手写”和“输入”,根据预先总结的针对不同动词的提取规则,我们把“手写”和“输 入”这两个词也添加到检索关键词列表中,同时进行同义或相关扩展。
无论是利用命名实体信息,还是句法分析和语义角色标注的分析结果,在进行关键词 扩展时都要根据每个词的词义进行同义扩展。
对于提取出的关键词的权重,本发明根据事先总结的规则进行赋值。
综上所述,经过本发明提出的方法的分析,对于自然语言的查询语句,“最新款的苹 果电脑是否有支持手写输入的功能”,所提取及扩展的关键词及其相应权重分别为“苹果 /0.8电脑/0.8计算机/0.4微机/0.4功能/0.8作用/0.4手写/0.6输入/0.6”。
性能评价
我们对我们的解决方案中的主要模块进行了性能测试,测试的模块包括词法分析中的 自动分词、命名实体识别、词性标注,句法分析和语义角色标注。
1、词法分析
分词、命名实体识别和词性标注都采用人名日报2000年6月份作为测试语料,评价 指标为正确率、召回率和F1值,各个模块的性能分别见表3、表4、表5:
表3 分词模块的性能
正确率(%) 召回率(%) F1(%) 分词 97.10 96.59 96.85
表4 命名实体识别模块的性能
正确率(%) 召回率(%) F1(%) 人名 95.07 90.51 92.72 地名 95.22 94.39 94.80 机构名 97.90 98.23 98.07 所有 98.72 97.11 97.91
表5 词性标注模块的性能
正确率(%) 召回率(%) F1(%) 词性标注 95.54 95.54 95.54
2、句法分析
句法分析的训练和测试语料采用句法分析研究中的标准分配策略,评价指标采用正确 率、召回率和F1值,句法分析性能见表6:
表6 句法分析模块的性能
正确率(%) 召回率(%) F1(%) 句法分析 87.29 84.85 86.05
3、语义分析
语义角色标注的训练和测试语料按照4:1的比例分配,评价指标为正确率、召回率和 F1值,语义角色标注模块性能见表7:
表7 语义角色标注模块的性能
正确率(%) 召回率(%) F1(%) 语义角色标注 89.43 86.30 87.84