CN1521661A - 一种利用自然语言处理功能进行信息检索的方法 - Google Patents
一种利用自然语言处理功能进行信息检索的方法 Download PDFInfo
- Publication number
- CN1521661A CN1521661A CNA031020755A CN03102075A CN1521661A CN 1521661 A CN1521661 A CN 1521661A CN A031020755 A CNA031020755 A CN A031020755A CN 03102075 A CN03102075 A CN 03102075A CN 1521661 A CN1521661 A CN 1521661A
- Authority
- CN
- China
- Prior art keywords
- sublist
- semantic
- website
- natural language
- information retrieval
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 77
- 230000006870 function Effects 0.000 title claims abstract description 27
- 238000003058 natural language processing Methods 0.000 title claims abstract description 20
- 238000004458 analytical method Methods 0.000 claims abstract description 59
- 230000008569 process Effects 0.000 claims description 24
- 238000012545 processing Methods 0.000 claims description 21
- 238000004364 calculation method Methods 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 claims description 3
- 230000008878 coupling Effects 0.000 claims description 2
- 238000010168 coupling process Methods 0.000 claims description 2
- 238000005859 coupling reaction Methods 0.000 claims description 2
- 230000000717 retained effect Effects 0.000 claims 1
- 230000026676 system process Effects 0.000 claims 1
- 230000000694 effects Effects 0.000 description 21
- 238000005516 engineering process Methods 0.000 description 11
- 238000000605 extraction Methods 0.000 description 8
- 239000003795 chemical substances by application Substances 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 239000010749 BS 2869 Class C1 Substances 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000002950 deficient Effects 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000004321 preservation Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 108010022579 ATP dependent 26S protease Proteins 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013549 information retrieval technique Methods 0.000 description 1
- 235000020068 maotai Nutrition 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
Images
Landscapes
- Machine Translation (AREA)
Abstract
本发明提出了一种利用自然语言处理功能进行信息检索的方法,包括:用户在查询界面输入查询的句子;将所输入的句子分解成若干个语法分析树子表;将所有子表传递到网络中的每一个语义网站;结合语义网站信息对有歧义的语法分析树子表进行后续的语法分析;语义网站利用语义知识和规则,依照语法分析树子表的语义查找保存在语义网站中的数据,如果没有结果,则结束;如果有结果,则将结果返回查询界面后结束。本发明利用语义网站技术,借助于每个语义网站本身的语义论知识和推理能力,有效地消除自然语言分析中的歧义问题,从而实现极高的准确率。同时,对于用户输入的查询语句,本发明按照“展开加排除”方法进行语法分析,保证了对每一种可能结果的穷尽分析,保证了用户输入的原始信息无损失地到达每一个语义网站。
Description
技术领域
本发明涉及信息检索技术,尤其是涉及一种在整个信息提取过程中利用自然语言处理功能最大限度地保证有用信息的无损失,从而提高了信息提取的准确率的信息检索方法。
背景技术
现有技术利用搜索引擎查询来检索信息时,通常是通过输入查询语句来检索文件。
一种方法就是统计方法。整个系统是基于关键词的,关键词的布尔表达式作为查询语句。对于文件数据库,使用一个“关键词加上关键词出现位置”的字典。比较查询语句中的关键词与文件数据库字典中的关键词,就可以找到该词在文件中的位置。
这种方法,对文本信息提取/检索系统,有两个技术指标:
联想率=提取的文档数量/数据库中实际相关文档数量;
准确率=提取到的相关文档数量/总的提取的文档数量。
所有商业应用系统的联想率和准确率都没有达到40%。而且联想率和准确率有一个内在的抵消效应。同意不同形单词就找不到;同形不同意单词就找错了。
联想率和准确率的抵消效应是这样的:联想率高,提取的文件就多,但其中无关的文件也就增多了,因此准确率就低;如果准确率高,那么许多相关文件就没有提取到,因此无法保证足够多的相关文件被提取出来,因此联想率也就低。
影响准确率低的理论缺陷在于:只是考虑单词外在形式,根本不考虑单词实际意义。而实际上单词意义普遍存在着多种含义。
结构查询语言SQL的理论局限性在于:只适合于关系模型,不适合于继承与抽象等面向对象的模型;只能用于简单对象,不能处理复杂对象。
针对关键词信息提取法,近来也出现了一些改进,如:同义词,统计法,模糊逻辑,概念群;但都没有从实质上突破关键词布尔表达式作为查询语句的缺陷。
语义网络是人工智能领域的一个非常重要的思想。已经有了一些分类策略。其基本思路就是将一个单词意义与所有相关概念联系起来。将概念与概念之间的相互关系组成一个网络结构,该网络结构以“isa”关系组成一个层次结构。从顶层一直查找到单词的确切意义所在位置,这样一个单词的意义就一层一层地展开了。
语义网络理论的缺陷在于:没有与特定的单词意义挂钩;不是以心理语言学研究为基础;没有与单词句法特性挂钩;无法在语法分析过程中展开。
目前还没有任何针对自然语言的表达策略,包括任何语义网络的表达方式在内,能够解决穷尽地表达自然语言所有概念这样一个棘手难题。虽然已经完成了一些小的语义网络,但是从来没有任何一个语义网络大得足以作为一个自然语言系统的基础。
总结上述的所有方法,查询的意义与人们想描述的意义有差距;不能有效地消除联想率与准确率的抵消效应;无法有效地控制指数级复杂度;无法解决棘手的常识推理。
发明内容
本发明要解决的技术问题是提出一种利用自然语言处理功能进行信息检索的方法,本发明结合高精度语法分析器和最新的语义网站技术,显著地提高信息检索的准确率。
本发明所述方法,包括如下步骤:
步骤一、用户在查询界面输入要查询的句子;
步骤二、将所输入的句子分解成若干个语法分析树子表;
步骤三、将所有语法分析树子表传递到网络中的每一个语义网站;
步骤四、结合语义网站信息对有歧义的语法分析树子表进行后续的语法分析;
步骤五、语义网站利用语义知识和规则,依照语法分析树子表的语义查找保存在语义网站中的数据,如果没有结果,则结束;如果有结果,则将结果返回查询界面后结束。
本发明利用语义网站技术,借助于每个语义网站本身的语义论知识和推理能力,来有效地消除自然语言分析中的歧义问题,从而实现极高的准确率。同时,本发明对于用户输入的查询语句,按照“展开+排除”方法进行语法分析,保证了对每一种可能结果的穷尽分析,直接将所有这些语法分析结果传递给网络上的各个语义网站,而不是象传统的信息提取系统那样将查询语句转化为关键词的布尔表达式,或者是经过特定领域或有限规模语义系统处理后的结果。这样,就保证了用户输入的原始有用信息无损失地到达每一个语义网站,而不是像传统方法那样在检索之前就已经丢失了大量原始有用信息。
附图说明
图1为本发明所述方法的流程图;
图2是一个足球语义网站对用户输入的处理过程;
图3是一种进行语法分析的自然语言分析器的结构示意图;
图4是语法分析树生成过程的实际例子。
具体实施方式
本发明方法结合高精度语法分析器和最新的语义网站技术,显著地提高信息检索的搜索准确率。
众所周知,要想有效地消除自然语言语法分析中的歧义,必须要用到语义知识和推理。而所有现有的语义处理方法都无法穷尽地描述自然语言中所有的语义知识,现有的方法只能在特定的知识领域,或者在通用功能的但是规模有限的语义范围内,利用语义知识和推理来消除自然语言语法分析中的歧义,这样不仅限制了信息提取的应用范围,而且会造成自然语言的原始有用信息的大量丢失。
由于本发明所述方法,基于最新的语义网站技术,为了更好地说明本发明,下面介绍语义网站的相关技术:
对于″I want to take an airline flight from Beijing to Washington on May first2002,which should start from Beijing in afternoon.″这样一个复杂的查询例句,一般的网站无法处理这样的查询。如果想解决这类问题,必须超越关键词而确定网站上描述的资源的意义。
语义网站系统能够定义网站本体论及其相关知识基础。本体论是从哲学中借用的一个词汇,指的是描述个体类型及其相互关系的科学。在本体论中,一个实体就是一个类和属性的定义的集合,以及约束这些类和属性的规则。包括:
类之间的分类学关系;数据类型的属性(对类属性的描述);对象属性(对类的关系的描述);类的实例;属性的实例。其中的数据类型属性和对象属性组合成类的属性。
一组断言装入一个推理系统,该推理系统叫做知识库。这些断言可能包括类的成员个体的事实,或者推导的事实,在本体论的表面文字中不存在的事实,但却是本体论的语义所蕴涵的事实。这些断言可能是基于一个单一的本体论,或者是通过语义网站的系统的机制联系在一起的多个分布式的本体论。
本体论不同于特定领域范围内的特定规则。特定领域范围内的特定规则根本无法处理该领域以外的推理。例如:商品内容的网站没有一个通用的机制来作出结论:因为产品是一种茅台酒,所以它必须是一种白酒。本体论的一个优点就是它能对上面的情形进行推理。他们将提供一种通用的支持,而不是局限于一个特定的领域。
语义网站是处理网站内容的,所以他天生就是分布式且开放的。也就是说,资源描述并不是局限于一个文件或范围,而是具有面向对象的继承性和可扩展性。例如:类C1最先是在本体论A中定义的,它在本体论B中进行扩展,然后本体论C从本体论B中继承了该类,从而有了本体论C中的类C1。
最新的语义网站技术使得每个网站具备了通用的语义表达和通用的知识推理能力,并不局限于特定知识领域和特定规则。整个系统是完全开放的,利用工具软件可以方便用户对实体论的构建,也就是说不同的用户可以自主构件完全不同的实体论。另外该系统的体系结构天生就是分布式的,可以分级进行扩展,完全具有面向对象的继承性和可扩展性。
本发明的基本思想在于:利用语义网站技术,借助于每个语义网站本身的语义论知识和推理能力,来有效地消除自然语言分析中的歧义问题,从而实现极高的准确率。
一方面,对于用户输入的查询语句按照“展开加排除”方法进行语法分析,该语法分析方法保证了对每一种可能结果的穷尽分析,通过排除那些绝对不可能的分析结果,保留下来的结果要么是正确结果,要么是需要利用语义知识和推理来消除歧义的可能正确的结果。直接将所有这些语法分析结果传递给网络上的各个语义网站,而不是象传统的信息检索系统那样将查询语句转化为关键词的布尔表达式,或者是经过特定领域或有限规模的语义系统处理后的结果。这样,就保证了用户输入的原始有用信息无损失地到达每一个语义网站,而不是像传统方法那样在检索之前就已经丢失了大量原始有用信息。
另一方面,每一个语义网站接到查询要求后,如果发现有一些传递进来的语法分析结果需要利用语义知识和推理来消除歧义,那么就结合语义网站的信息进行后续的自然语言语法分析。如果经过后续的语法分析有效地消除了语法歧义,或者传递进来的语法分析结果本身就没有歧义,那么就按照语义网站自身的语义知识和推理系统进行查询推理。如果符合条件而且得到了结果,就向查询界面发出包含结果的响应信息;如果不符合条件,就不响应。
因为语义网站的结构和功能是分布式且开放的,所以语义网站的处理过程既可以利用自身网站的信息进行推理,也可以调用分布于网络上的相关联的语义网站的信息到自身网站内部来进行推理,或者将输入条件全部或者部分地传递给分布于网络上的相关联的语义网站,在相关联的语义网站内部进行推理,然后将结果返回到自身网站或者直接由关联网站返回查询界面。
由于语义网站允许用户自主建立本体论,而且其体系结构是分布式的和开放式的,那么网络上成千上万的人就可以建造成千上万个不同的本体论的语义网站。即使自然语言中所有的语义知识是无穷无尽的,但是,只要网络上存在着一个语义网站包含了某个语义知识的本体论,那么通过上述方法就一定能够找到该网站。不满足查询条件的网站不向查询界面发出响应,因此返回的全部都是正确结果。这样准确率就非常高。
另外,最新的语义网站技术使得每个网站具备了通用的语义表达和通用的知识推理能力,并不局限于特定知识领域和特定规则。因此,用户可以在查询界面输入任意领域,任意范围的查询条件。只要输入文字符合通用的语法规则,而且网络上确实存在满足条件的信息,就一定能得到正确的结果。
本发明的基本思路的大原则下,还可以进行如下的补充和变化。
1、在对用户输入语言进行语法分析时,可以先结合一个包含常用的、基本的语义知识和规则的知识推理系统先粗略地处理一遍,但是对于用此推理系统的语义排除规则排除掉的子表并不扔掉,而是与其他的作为结果的子表一起传输给所有语义网站,最终利用语义网站中的知识推理系统确定是否该排除掉。由于先在查询界面完成了一部分知识推理的计算工作,所以这样能够减小所有语义网站总的计算量。
2、并不是将展开加排除方法的语法分析结果直接传递给网络中所有的网站地址,而是先用其他技术,在保证高的联想率的前提下,先行处理一遍。举例说明:先按照一般的关键词检索方法,找到尽可能多的有匹配关键词的网站,这样的结果虽然准确率很低,但是结果中的网站总数只是整个因特网中所有网站总数的一小部分。然后将展开加排除方法的结果向先行处理结果中的网站发送。由于先行处理结果中的网站总数只是整个因特网中所有网站总和的一小部分,这样就可以减小由于发送该语法分析结果而导致的总的网络信息流量。
3、定期通过后台处理程序将语义网站的语义知识和推理系统经过特定处理后保留一些相关内容在查询界面所处的本地计算环境中。这样在查询界面的本地计算环境中就可以用到部分或全部的语义网站的信息和功能,通过在查询界面的本地计算环境中对查询语句进行一定程度的语义网站功能的处理,节省了一部分在网络上发送语法分析结果的数据量。从而加速整个查询的计算过程。
4、本发明不仅仅适用于INTERNET结构,同样适用于小型网络或者单机环境下的信息检索系统。语义网站只是这类技术中的一种,本发明同样适用于其他具备语义网站相当功能的语义知识技术。
图1是本发明所述方法进行信息检索的流程图,具体说明如下:
101,用户在查询界面中输入查询句子;
102,用扩展加排除方法对输入查询句子进行语法分析,得到语法分析树子表;
103,102的所有结果的语法分析树子表,肯定有一个子表包含正确的语法分析树;可能有的子表包含未完成的语法分析树;将所有这些子表从查询界面传递到网络中的每一个语义网站;
104,进入语义网站,进行下面的分解扩展;
141,查找并确定语义网站中保存的类名称;
142,查找并确定语义网站中保存的类的属性;
143,查找并确定语义网站中保存的类与类之间的关系;
144,查找并确定语义网站中保存的断言,然后进行知识推理,用以对有歧义的语法分析树子表进行后续的语法分析;
145,推理引擎利用语义知识和规则,依照语法分析树子表的语义查找保存在语义网站中的数据;
105,判断是否还有传递进来的子表没有被语义网站分析过,如果是,进入106;否则,表示所有的子表都分析过了,则进入100;
106,将该子表的语法分析树取出来;
107,判断该语法分析树是否存在歧义,也就是判断它是否为完整的语法分析树,如果存在歧义(也就是它不是完整的语法分析树),就进入108;
108,利用语义网站的语义知识和推理引擎来帮助扩展加排除方法再一次对该子表进行语法分析;
109,判断108是否得到正确的语法分析树;如果是,进入110;否则进入105;
110,到此,语法分析树是正确的;
在利用语义网站的语义知识和推理引擎来对该语法分析树进行分析时,一个正确的语法分析树可能会有多个不同的语义。如果该正确的语法分析树在该语义网站的语义知识范围内是错误的,那么根本就不会一步去查找深入的数据信息。否则,就按照语义网站的语义知识和推理引擎来查找符合条件的数据信息。可能有结果,也可能没有结果。
111,判断110是否得到结果;如果没有,进入105;如果有,进入112;
112,将结果返回给查询界面;然后进入105;
100,结束,不向查询界面返回消息。
下面结合图1,以一个实际的例子,来详细说明本发明所述方法。
首先,在101时,用户在查询界面中输入句子“Did Arsenal win last week?”;
对应102,用户输入的句子进行扩展加排除方法的语法分析如下:
用扩展加排除方法对此句子进行语法分析后得到一个正确的语法分析树;关于如何展开加排除的语法分析树,本发明将在图3、图4中加以介绍。
该语法分析树是一个由助动词“do”引导的一般疑问句;它由助动词“do”的过去时“did”、一个作为主语的名词“Arsenal”和一个谓语动词短语“win last week”组成;该谓语动词短语由一个动词单词“win”和一个表示时间的名词短语“last week”组成;该名词短语由一个形容词“last”和一个时间名词“week”组成,作为时间副词修饰前面的动词“win”;
然后103时,该语法分析树就被传送到网络上所有的语义网站。
下面接着以一个武器语义网站为例,介绍对用户输入的语法分析树的处理过程:
在104,一个武器语义网站接收到查询信息;这个武器语义网站开始进行分解扩展;
这个武器语义网站先在141中查找到包含的一部分类的名称:“兵工厂arsenal”,“房屋house”,非生命物体non-life object”,“人类活动human activity”,“获胜win”;
142中查找到这个武器语义网站的包含的类“人类活动human activity”的部分属性,有“施动者agent”,“时间time”,“地点place”;
143中查找到这个武器语义网站所包含的类与类之间关系的一部分,有:
“arsenal”Is_A_Kind_Of“house”/“兵工厂”是一种“房屋”;
“house”Is_A_Kind_Of“non-life object”/“房屋”是一种“非生命物体”;
“win”Is_A_Kind_Of“human activity”/“获胜”是一种“人类活动”;
144中查找到这个武器语义网站中包含的断言的一部分,有:
“non-life object”can not be the agent of“human activity”/“非生命物体”不能做“人类活动”的施动者;
145进行推理,这个武器语义网站进行的推理的一部分:
“arsenal”Is_A_Kind_Of“non-life object”/“兵工厂”是一种“非生命物体”;
“arsenal”can not be the agent of”win”/“兵工厂”不能做“获胜”的施动者;
没有结果/Get no answer;
105-106,取得这个语法分析树;
107,判断这个语法分析树是否有歧义,就是判断它是否为完整的语法分析树。结果它没有歧义,它是完整的语法分析树,进入110;
110,利用这个武器语义网站的信息进行推理,也就是上述141-145的过程,然后进入111;
111,判断110是否有结果。本例子中,在武器语义范围内,名词“兵工厂arsenal”不可能做动词“获胜win”的主语,所以没有进一步推导符合查询条件的数据信息;回到105,由于输入的子表只有一个,所以到此结束,不向查询界面返回任何消息。
上述关于武器语义网站的查询检索没有结果,接下来的例子是,如果将上述的语法分析树送到一个足球语义网站,相应的处理又是什么样的结果呢?
图2一个足球语义网站对用户输入的处理过程:
2102,语义网站接收到查询信息,就是上面的输入句子“Did Arsenal win lastweek?”
2104,送到一个足球语义网站进行分析;这个足球语义网站进行分解扩展如下:
对应图1的141,查找到这个足球语义网站中包含的一部分类的名称,有:
“兵工厂arsenal”,“足球俱乐部football club”,“足球队football team”,“生命物体life object”,“人类活动human activity”,“获胜win”;
对应图1的142,查找到这个足球语义网站中包含的类“人类活动human activity”的部分属性,有“施动者agent”,“时间time”,“地点place”;
对应图1的143,查找到这个足球语义网站中包含的类与类之间关系的一部分,有:
“arsenal”Is_One_Of“football club”/“兵工厂”是一个“足球俱乐部”;
“arsenal”Is_One_Of“football team”/“兵工厂”是一个“足球队”;
“football team”Is_A_Kind_Of“life object”/“足球队”是一种“生命物体”;
“win”Is_A_Kind_Of“human activity”/“获胜”是一种“人类活动”;
对应图1的144,查找到这个足球语义网站中包含的断言的一部分,有:
“non-life object”can not be the agent of“human activity”/“非生命物体”不能做“人类活动”的施动者;
“life object”can be the agent of“human activity”/“生命物体”可以能做“人类活动”的施动者;
对应图1的145,进行推理,这个足球语义网站中进行的推理的一部分:
“arsenal”Is_One_Of“life object”/“兵工厂”是一个“生命物体”;
“arsenal”can be the agent of”win”/“兵工厂”可以做“获胜”的施动者;
用查询语句检索数据库:Search databa se with QUERY=(“football team”=“arsenal”)AND(“human_activity”=“win”)AND(“time”=“last week”);
得到结果:Get answer=“Arsenal won Livepool with 3:2 last week.”;
2106,取得这个语法分析树;
2107,判断这个语法分析树4101是否有歧义,也就是判断它是否为完整的语法分析树;结果它没有歧义,即它是完整的语法分析树;进入2108;
2108,利用这个足球语义网站的信息进行推理,也就是图1中141-145的过程;然后进入2111;
2111,判断2108是否有结果;本例子中,在足球语义的范围内,名词“兵工厂arsenal”可以做动词“获胜win”的主语,所以进一步推导出关键词的数据库查询语句QUERY=(“football team”=“arsenal”)AND(“human_activity”=“win”)AND(“time”=“last week”),再对数据库检索得到结果“Arsenal won Livepoolwith 3:2 last week.”;进入2112;
2112,向查询界面返回结果“Arsenal won Livepool with 3:2 last week.”;
由于输入的子表只有一个,所以到此结束。
图3给出了本发明自然语言分析器的模块结构,包括:数据库10、输入模块20、子表控制模块30和运算处理模块40。
数据库10:数据库的内容为各种词典资源,存放于硬盘中,在程序运行时可以将其中的一部分调入内存。其中的句法词典11为处理模块提供词性查找功能,用来确定每个单词在词典中所有可能的词性。
输入模块20:该模块位于内存中,包含输入缓存区21和子表展开程序22。首先将待处理的输入句子暂时存放在输入缓存区21中;然后子表展开程序22查询数据库10之中的句法词典11获取每个单词的所有可能的词性;最后子表展开程序22将输入句子分解成一个个子表。每个子表交给子表控制模块30保存。
子表控制模块30:包括位于内存中的子表控制程序31和位于存储器中的子表文件32;子表控制程序31用于子表的保存、调用、排序、查找、索引、子表状态保存以及计算机系统资源调用和分配等控制,将结果保存子表文件32中。
运算处理模块40:该模块位于内存中,包括规则库、分析控制程序41和当前子表分析单元42。分析控制程序41将还需要进行语法分析的子表从子表控制模块中取出来放入当前子表分析单元42之中,然后将当前子表的句子内容与规则库的规则进行比较。如果发现了明显错误的语言现象,就将该子表丢弃;否则,就按照生成规则进行合并分析,然后将合并分析结果及其状态标志放回子表控制模块30。
如果能够按照生成规则合并节点,则将合并节点后的子表送回到子表列表里。此时,也可以对合并处理过的子表的属性作出标记。例如,可以针对其应用过的生成规则,作出相应的标记。这样,有多少种可应用的生成规则,就可以对应多少种标记,从而提高了下一轮的分析运算的速度。这种做法的优点是先对每一个子表广泛地进行分析运算,然后,在此基础上再反复进行下一轮。当然,还可以采用“深度分析”的做法,这就是如果能够合并节点,则将合并节点后的子表再送回到当前子表处理单元里,再次进行逻辑运算。这样,对该子表反复进行多次排除、合并,直至不能再合并了,才对该子表进行更新并作出“结束”标记;将更新的子表送到子表列表的尾部;清空当前子表处理单元。
图4是本发明说明一个完整的语法分析树是如何生成的具体例子,所输入的例句为“they considered him a fool”。
如图4-1所示,输入模块20首先将输入的句子“they considered him a fool”暂时存放在输入缓存器21中,然后对句子的每个单词查找数据库10中的句法词典11,确定每个单词在句法词典11中所有可能的词性。其中,只有“fool”这个单词的词性有两种,即名词或者动词。
随后,图4-2中,输入模块20将整个句子所有的单词词性组合展开为一个个的子表,得到两个子表:子表1和子表2;保证每个子表中的每个单词只有一个词性。
子表1为:they(名词)considered(动词)him(名词)a(冠词)fool(名词);
子表2为:they(名词)considered(动词)him(名词)a(冠词)fool(动词);
所有展开的子表通过子表控制模块30进行管理,它具体负责子表的保存、调用、排序、查找、索引、子表状态参数保存以及计算机系统资源调用和分配等等控制功能。从图3-2中可以看出,刚刚完成分表操作的时候,子表控制模块30中有两个子表:子表1和子表2,它们的状态属性都为初始态。而当前子表处理单元42中为空。
从图4-3开始,就开始进入循环过程。每次将子表控制模块30中的第一个需要进行语法分析的子表取出来放进当前子表处理单元42中进行语法分析运算。
首先,将子表控制模块30中的子表1取出来,放进当前子表处理单元42中进行语法分析运算。这样子表控制模块30中就只剩下一个子表2,其状态为初始态。当前子表处理单元对子表1进行语法分析,最终得到了一个完整的语法分析树,即:名词短语+动词短语。
图4-4表示的是当前子表处理单元42中的语法分析运算结束后,将分析后的子表1的状态标注为结束,再添加到子表控制模块30的尾部。这样当前子表处理单元42的状态又变为空,而子表控制模块中有两个子表,一个是子表2,其状态为初始态;另一个是子表1,其状态为结束态。
图4-5中,将子表控制模块30中的当前第一个表即子表2取出来,放进当前子表处理单元42中进行语法分析运算。这样子表控制模块30中就只剩下一个子表1,其状态为结束;当前子表处理单元42中的子表2处于初始状态。对其进行语法分析的过程中,发现可以应用一个句法排除规则即“冠词+动词”(DET+V),表明这种“冠词+动词”的现象是绝对不可能形成任何正确完整的语法分析树的,所以整个子表都没有必要再进行任何更进一步的语法分析。所以当前子表处理单元42就将子表2排除掉,不再加入到子表控制模块中。
图4-6表示,当前子表处理单元42变为空后,子表控制模块30中只有一个子表1,其状态为结束。已经没有需要进行语法分析得子表了,此时已经完成所有的语法分析运算,这样整个语法分析过程就结束了。如果前面的语法分析运算过程中已经消除了所有的错误歧义,那么结果中就只有唯一正确的完整的语法分析运算树。如果前面的语法过程中没有完全消除所有的错误的歧义,那么结果中就可能会有多个完整的语法分析运算树,但可以保证其中之一为正确的完整的语法分析运算树。
由于整个语法分析运算过程中,通过子表控制模块30对系统资源进行有效的处理,所以不用担心因为系统资源耗尽而终止语法分析运算过程。所以在应用语法规则的时候可以充分地进行穷尽搜索。这样就保证一定会生成正确的完整的语法分析运算树。
最后所应说明的是:以上实施例仅用以说明而非限制本发明的技术方案,尽管参照上述实施例对本发明进行了详细说明,本领域的普通技术人员应当理解:依然可以对本发明进行修改或者等同替换,而不脱离本发明的精神和范围的任何修改或局部替换,其均应涵盖在本发明的权利要求范围当中。
Claims (15)
1、一种利用自然语言处理功能进行信息检索的方法,其特征在于,包括如下步骤:
步骤一、用户在查询界面输入查询的句子;
步骤二、将所输入的句子分解成若干个语法分析树子表;
步骤三、将所有语法分析树子表传递到网络中的每一个语义网站;
步骤四、结合语义网站信息对有歧义的语法分析树子表进行后续的语法分析;
步骤五、语义网站利用语义知识和规则,依照语法分析树子表的语义查找保存在语义网站中的数据,如果没有结果,则结束;如果有结果,则将结果返回查询界面后结束。
2、根据权利要求1所述的利用自然语言处理功能进行信息检索的方法,其特征在于,所述步骤二将所输入的句子分解成若干个语法分析树子表,进一步包括:
建立词典库和规则库;
查找所输入句子中每个单词在词典的所有词性,生成子表列表,所述子表列表中每个子表包含输入句子的所有单词,且每个单词只有一个词性;
依次将该子表放入运算处理模块,与规则库中的规则比较,进行运算处理,既将该将该将该将该将该将该将该将该掉,也利用生成规则合并出新的中间节点;
判断处理过的子表是否可以排除,将肯定错误的子表排除,不能排除的,则将该子表更新并做好标记后,放回到子表列表的尾部。
3、根据权利要求1所述的利用自然语言处理功能进行信息检索的方法,其特征在于,所述生成子表列表的过程中,可以将子表内容与所述规则库中的排除规则相比较,丢弃明显错误的子表。
4、根据权利要求1-3任一所述的利用自然语言处理功能进行信息检索的方法,其特征在于,如果处理过的子表不能排除,则与所述规则库中的生成规则相比较,判断是否能进行节点的合并,如果能合并,则在合并后送到子表列表中;或者直接送到运算处理模块中继续进行比较运算。
5、根据权利要求4所述的利用自然语言处理功能进行信息检索的方法,其特征在于,所述子表的节点合并后,还包括对合并后的子表的属性作出标记。
6、根据权利要求5所述的利用自然语言处理功能进行信息检索的方法,其特征在于,针对子表合并时应用过的生成规则,对合并后的子表的属性,作出相应的标记。
7、根据权利要求4所述的利用自然语言处理功能进行信息检索的方法,其特征在于,如果判断子表不能进行合并,则根据运算结果对该子表进行更新并作出“结束”标记,将更新的子表送到第一步中的子表列表的尾部。
8、根据权利要求1或7所述的利用自然语言处理功能进行信息检索的方法,其特征在于,对于用户输入的查询语句,按照先展开再排除的原则进行语法分析,对每一种可能结果进行穷尽分析,直接将所有这些语法分析结果传递给网络上的各个语义网站,这样就保证了用户输入的原始有用信息无损失地到达每一个语义网站。
9、根据权利要求1所述的利用自然语言处理功能进行信息检索的方法,其特征在于,所述语义网站,进行下面的分解扩展;
查找并确定语义网站中保存的类名称;
查找并确定语义网站中保存的类的属性;
查找并确定语义网站中保存的类与类之间的关系;
查找并确定语义网站中保存的断言,然后进行知识推理,用以对有歧义的语法分析树子表进行后续的语法分析;
推理引擎利用语义知识和规则,依照语法分析树子表的语义查找保存在语义网站中的数据。
10、根据权利要求1或9所述的利用自然语言处理功能进行信息检索的方法,其特征在于,所述步骤四包括:判断所分析的语法分析树是否有歧义,如果有,则结合语义网站信息,按照先展开再排除的原则进行后续的语法分析,将所得出的正确语法分析树用语义网站进行推理。
11、根据权利要求1所述的利用自然语言处理功能进行信息检索的方法,其特征在于,所述步骤四中语义网站的处理过程包括:既可以利用自身网站的信息进行推理,也可以调用分布于网络上的相关联的语义网站的信息到自身网站内部来进行推理,或者将输入条件全部或者部分地传递给分布于网络上的相关联的语义网站,在相关联的语义网站内部进行推理,然后将结果返回到自身网站或者直接由关联网站返回查询界面。
12、根据权利要求1所述的利用自然语言处理功能进行信息检索的方法,其特征在于,所述步骤二在将所输入的句子分解成若干个语法分析树子表的过程中,还可以包括:结合一个包含常用的、基本的语义知识和规则的知识推理系统先处理一遍,并把用此推理系统的语义排除规则排除掉的子表与其他的作为结果的子表一起传输给所有语义网站,最终利用语义网站中的知识推理系统确定是否应该排除掉。
13、根据权利要求1或12所述的利用自然语言处理功能进行信息检索的方法,其特征在于,所述步骤三还可以包括:先按照一般的关键词检索方法,找到尽可能多的有匹配关键词的网站,然后将展开加排除方法的结果向先行处理结果中的网站发送。
14、根据权利要求1所述的利用自然语言处理功能进行信息检索的方法,其特征在于,所述步骤二还包括:定期通过后台处理程序将语义网站的语义知识和推理系统经过特定处理后,将相关内容保留在查询界面所处的本地计算环境中。
15、根据权利要求1或14所述的利用自然语言处理功能进行信息检索的方法,其特征在于:所述方法不仅仅适用于因特网结构,同样适用于小型网络或者单机环境下的信息检索系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA031020755A CN1521661A (zh) | 2003-01-29 | 2003-01-29 | 一种利用自然语言处理功能进行信息检索的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA031020755A CN1521661A (zh) | 2003-01-29 | 2003-01-29 | 一种利用自然语言处理功能进行信息检索的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1521661A true CN1521661A (zh) | 2004-08-18 |
Family
ID=34281589
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA031020755A Pending CN1521661A (zh) | 2003-01-29 | 2003-01-29 | 一种利用自然语言处理功能进行信息检索的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1521661A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100361126C (zh) * | 2004-09-24 | 2008-01-09 | 北京亿维讯科技有限公司 | 使用本体论和用户查询处理技术解决问题的方法 |
CN102360346A (zh) * | 2011-10-31 | 2012-02-22 | 武汉大学 | 基于受限的语义依存分析的文本推理方法 |
CN102708199A (zh) * | 2012-05-18 | 2012-10-03 | 苏州佰思迈信息咨询有限公司 | 企业信息数据检索系统 |
CN106325973A (zh) * | 2015-06-29 | 2017-01-11 | 龙芯中科技术有限公司 | 虚拟机指令的解释执行方法和装置 |
CN106919674A (zh) * | 2017-02-20 | 2017-07-04 | 广东省中医院 | 一种基于Wiki语义网络构建的知识问答系统及智能检索方法 |
CN107004158A (zh) * | 2014-11-27 | 2017-08-01 | 爱克发医疗保健公司 | 数据存储库查询方法 |
US10185772B2 (en) | 2013-04-28 | 2019-01-22 | Hithink Royalflush Information Network Co., Ltd. | Query selection method and system |
-
2003
- 2003-01-29 CN CNA031020755A patent/CN1521661A/zh active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100361126C (zh) * | 2004-09-24 | 2008-01-09 | 北京亿维讯科技有限公司 | 使用本体论和用户查询处理技术解决问题的方法 |
CN102360346A (zh) * | 2011-10-31 | 2012-02-22 | 武汉大学 | 基于受限的语义依存分析的文本推理方法 |
CN102360346B (zh) * | 2011-10-31 | 2014-05-21 | 武汉大学 | 基于受限的语义依存分析的文本推理方法 |
CN102708199A (zh) * | 2012-05-18 | 2012-10-03 | 苏州佰思迈信息咨询有限公司 | 企业信息数据检索系统 |
US10185772B2 (en) | 2013-04-28 | 2019-01-22 | Hithink Royalflush Information Network Co., Ltd. | Query selection method and system |
US12130872B2 (en) | 2013-04-28 | 2024-10-29 | Hithink Royalflush Information Network Co., Ltd. | Query selection method and system |
CN107004158A (zh) * | 2014-11-27 | 2017-08-01 | 爱克发医疗保健公司 | 数据存储库查询方法 |
CN106325973A (zh) * | 2015-06-29 | 2017-01-11 | 龙芯中科技术有限公司 | 虚拟机指令的解释执行方法和装置 |
CN106325973B (zh) * | 2015-06-29 | 2019-10-25 | 龙芯中科技术有限公司 | 虚拟机指令的解释执行方法和装置 |
CN106919674A (zh) * | 2017-02-20 | 2017-07-04 | 广东省中医院 | 一种基于Wiki语义网络构建的知识问答系统及智能检索方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Andrenucci et al. | Automated question answering: Review of the main approaches | |
US10282419B2 (en) | Multi-domain natural language processing architecture | |
Moldovan et al. | Cogex: A logic prover for question answering | |
US9710458B2 (en) | System for natural language understanding | |
US6829605B2 (en) | Method and apparatus for deriving logical relations from linguistic relations with multiple relevance ranking strategies for information retrieval | |
Cafarella et al. | Knowitnow: Fast, scalable information extraction from the web | |
US20170011023A1 (en) | System for Natural Language Understanding | |
US20090089047A1 (en) | Natural Language Hypernym Weighting For Word Sense Disambiguation | |
US20100030552A1 (en) | Deriving ontology based on linguistics and community tag clouds | |
EP0597630A1 (en) | Method for resolution of natural-language queries against full-text databases | |
US20150178390A1 (en) | Natural language search engine using lexical functions and meaning-text criteria | |
US20170011119A1 (en) | System for Natural Language Understanding | |
Berger et al. | An adaptive information retrieval system based on associative networks | |
CN1521661A (zh) | 一种利用自然语言处理功能进行信息检索的方法 | |
CN106372145A (zh) | 一种大数据环境下基于本体语义的查询方法及系统 | |
CN1687925A (zh) | 一种实现双语网页搜索的方法 | |
CN101398828A (zh) | 一种信息精确搜索和信息发布的方法 | |
Mezghanni et al. | Learning of legal ontology supporting the user queries satisfaction | |
Akerkar et al. | Natural Language Interface Using Shallow Parsing. | |
Martínez-Santiago et al. | A merging strategy proposal: The 2-step retrieval status value method | |
Kumar et al. | Smart information retrieval using query transformation based on ontology and semantic-association | |
Kaur et al. | Effective question answering techniques and their evaluation metrics | |
CN114610842A (zh) | 一种基于意图识别的关联搜索方法及系统 | |
Schenkel et al. | Ontology-enabled XML search | |
Liu et al. | Interactive question answering based on FAQ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |