近似文本分析的装置和方法

文档序号:184966阅读:256来源:国知局
专利名称:近似文本分析的装置和方法
技术领域
本发明涉及本发明涉及自然语言处理领域中的文本分析的装置与方法,属于国际专利分类(IPC)的子类G06F 17/27,具体是指一种近似文本分析的装置和方法。
背景技术
大部分的文本分析工作,都包括两个步骤,即词法分析与句法分析。词法分析,其目的是判断哪些字符可构成单字,以及哪些单字可以构成词组;句法分析(或称语法分析),其目的则是判断哪些单字或词组可构成语法成分,哪些语法成分可以继续归约,直到构成一个句子。在句法分析的基础上,还可以进一步的进行语义分析,即分析不同语法成分所代表的概念,进而分析哪些概念可以组合成更复杂的概念。
无论词法分析,语法分析,还是语义分析,从自底向上分析的角度来看,其实质都是根据一定的规则对语言实体进行归约,构成新的语言实体的过程。
在此基础上进一步抽象,不难发现,所谓文本分析,其目的在于识别出文本中的各种语言实体及其相互之间的关系。所谓的语言单元关系是指,哪些语言单元根据特定的归约规则,归约出特定的语言单元。
语言实体在不同语言层次上的具体所指是不同,比如在词法层面,可以指单字或词组;在句法层面可以指语法成分;或者在语义层面,可以指不同的语义概念。当然,随着文本处理领域研究的不断深入,所说的语言层次可能会有所增加或变动。
语言实体在实施时,一般被构造成由标记表达的数据结构(语言单元)。在词法层面,语言单元用来代表字母,单字或词组;在语法层面,则代表单字,词组或语法成分;在语义层面,则代表语法成分,或者语义概念。
传统文本分析方法,其着眼点在于了解语言单元之间的必然关系,但是,在某些场合,人们需要(或者不得不)获知各个语言单元相互之间可能的,而非必然的关系。比如,在短时间内,对大量文本进行非严格的分析,以期得到某些具有统计意义的结论;在干扰文字或者与分析无关字符存在的情况下进行文本分析,如果要使用传统的确然的文本分析技术,就要采取文本去噪,这需要专门的领域知识以及较高的知识建模的技术,以至于在一些应用场合效果不够理想;这时,传统的确然的文本分析方法(包括词法分析,语法分析)就不适用,而应采取近似文本分析。

发明内容
本发明的目的是克服了上述现有技术中的缺点,提供一种进行近似文本分析的装置与方法,可对大量文本进行非严格的分析,从而在干扰文字或者与分析无关字符存在的情况下进行文本分析,得到具有统计意义的结论。
为了实现上述的目的,本发明的近似文本分析的装置和方法如下该近似文本分析的装置,其主要特点是,所述的装置包括(1)缓冲队列的存储部件,用于缓存待送入广义归约部件的语言单元;所说的语言单元存储的信息描述了一段文字所对应的特定语言层次的语言实体;(2)广义归约部件,用于对语言单元进行广义归约;(3)输入部件,用于从外部得到语言单元;(4)分析部件,用于当缓冲队列为空时,通过输入部件得到语言单元并加入缓冲队列;从缓冲队列中取出一个语言单元成员,送入广义归约部件,以及接收来自广义归约部件的语言单元,并加入队列;(5)输出部件,将产生的新的语言单元输出;
所述的输入部件的输出与所述的分析部件的输入相连,该分析部件的输出与所述的输出部件的输入相连,且该分析部件与缓冲队列的存储部件相连,并与广义归约部件之间进行交互。
该近似文本分析的装置的输入部件从文本中抽取单字构造语言单元。
该近似文本分析的装置的广义归约部件采用增量式广义归约。
该近似文本分析的装置还包括语言单元表,包含若干表项,每个表项用以存储分析过程中涉及的语言单元;所述的分析装置中,每当有新的语言单元加入队列时,同时也记录在语言单元表中。
该近似文本分析的装置的语言单元表项,还包含唯一表示一个语言单元的“标识”字段、指明该语言单元通过何种归约规则而得到的“归约规则”字段和指明哪些语言单元参与归约产生该表项存储的语言单元的“参与归约”字段。
使用上述装置进行近似文本分析的的方法,其主要特点是,所述方法包括以下步骤(1)如果缓冲队列为空,通过输入手段得到语言单元并加入缓冲队列;所述的缓冲队列的存储手段,用于缓存待送入进行广义归约手段处理的语言单元;所说的输入手段,用于从装置外得到语言单元;所说的广义归约手段,用于对语言单元进行广义归约;所说的语言单元存储的信息描述了一段文字所对应的特定语言层次的语言实体;(2)从缓冲队列取得一个语言单元,并输入进行广义归约手段处理;(3)如果经广义归约手段处理产生语言单元,则将之加入缓冲队列;转步骤(1)。
该近似文本分析的方法的输入手段为从文本中抽取单字构造语言单元。
该近似文本分析的方法的广义归约手段,采用增量式广义归约。
该近似文本分析的方法还包括语言单元表,包含若干表项,每个表项用以存储分析过程中涉及的语言单元;所说的分析手段中,每当有新的语言单元加入队列时,同时也记录在语言单元表中。
该近似文本分析的方法的语言单元表项,还包含“标识”字段,用以唯一表示一个语言单元;所述的语言单元表项,还包含“归约规则”字段,用以指明该语言单元通过什么归约规则得到;所说的语言单元表项,还包含“参与归约”字段,用以指明哪些语言单元参与归约产生该表项存储的语言单元。
存储有实现上述的近似文本分析方法的程序的计算机可读的存储介质,其主要特点是,所述的程序执行以下步骤(1)如果缓冲队列为空,通过输入手段得到语言单元并加入缓冲队列;所述的缓冲队列的存储手段,用于缓存待送入进行广义归约手段处理的语言单元;所述的输入手段,用于从装置外得到语言单元;所述的广义归约手段,用于对语言单元进行广义归约;所述的语言单元存储的信息描述了一段文字所对应的特定语言层次的语言实体;(2)从缓冲队列取得一个语言单元,并输入进行广义归约手段处理;(3)如果经广义归约手段处理产生语言单元,则将之加入缓冲队列;转步骤(1)。
该存储介质的输入手段为从文本中抽取单字构造语言单元。
该存储介质的广义归约手段,采用增量式广义归约。
该存储介质还包括语言单元表,包含若干表项,每个表项用以存储分析过程中涉及的语言单元;所说的分析手段中,每当有新的语言单元加入队列时,同时也记录在语言单元表中。
该存储介质的语言单元表项,还包含“标识”字段,用以唯一表示一个语言单元;所述的语言单元表项,还包含“归约规则”字段,用以指明该语言单元通过什么归约规则得到;所说的语言单元表项,还包含“参与归约”字段,用以指明哪些语言单元参与归约产生该表项存储的语言单元。
采用了该发明的近似文本分析的装置和方法,由于对文本进行近似分析,从而得到语言单元相互之间基于预先给定归约规则的各种可能的关系;由于近似文本分析给出的语言单元关系比传统方法要多,所以,在近似文本分析基础上所做的后续分析,将得到一些基于传统文本分析无法得到的结论;在应用上,本发明适合作为大规模定量文本分析,文本数据挖掘的前导阶段,从而为后续的分析,尤其是基于统计学的分析提供信息。
不过,由于近似分析,相对于传统的分析,对语言单元关系的识别范围放宽,导致了每个被识别语言单元关系在逻辑上不是必然成立。一方面,某些关系是逻辑上成立的,有些甚至不能由传统的分析手段得到的。比如,在一个句群中,前一分句中的主语通过代词影响随后分句中的谓语,这在传统分析方法中是不能被直接识别的;另一方面,也会有一些关系是错误的,即逻辑上不成立,而是碰巧在形式上符合特定的归约规则;所以,为了减小错误关系对后续分析的影响,可以通过引入权重机制,对语料进行机器学习等技术来达到此目的。
另外,以缓冲队列为实现手段的迭代方式的文本分析,保证了本方法是增量式的,这意味着近似分析的时间开销将受到控制,从而使近似文本分析更有实用意义。


图1为本发明以迭代广义归约进行近似文本分析的装置的功能结构框图。
图2为图1中装置的硬件结构框图。
图3为本发明的语言单元的结构框图。
图4为以迭代广义归约进行近似文本分析方法的主过程MainProc的流程图。
图5为本发明的语言单元表的结构框图。
图6为增量式广义归约方法中主过程MainProc的流程图。
图7为被图6中的主过程MainProc调用、用于寻找语言单元组合以产生新语言单元的过程GenNewUnit流程图。
图9为被图7中的过程GenNewUnit调用、根据给定的语言单元栈产生新语言单元的过程Stk2Unit的流程图。
具体实施例方式
为了能够更清楚地理解本发明的技术内容,特举以下实施例详细说明。
请参阅图1所示,分析部件102从缓冲队列105中取语言单元输入广义归约部件,并接收广义归约部件在归约后输出的新语言单元并加入缓冲队列尾部。每当分析部件102从从缓冲队列105取语言单元时,都要判断队列是否为空。如果缓冲队列105为空时,分析部件102则通过输入部件101得到语言单元,并加入缓冲队列。具体的以迭代广义归约进行近似文本分析方法将在随后描述。
再请参阅图2所示,处理器201执行随后将描述的以迭代广义归约进行近似文本分析的程序。RAM202提供了此程序执行时所需要的存储区域。此外,还用于存储广义归约部件104所用到的数据和程序,以及缓冲队列105。ROM203存储以迭代广义归约进行近似文本分析的程序。I/O接口204与输入部件101与输出部件103相连。输入部件101可以是键盘,OCR,接收器或者是储存有待处理语言单元的内存等。输出部件103可以是显示设备,打印机,网络接口,或者是内存等。总线205联接以上各个部件。
所说的语言单元存储的信息描述了一段文字所对应的特定语言层次的语言实体;特别地,语言单元存储的信息以标记方式描述了一段文字所对应的特定语言层次的语言实体。
语言单元的实现方式有多种,比如1.用单个标记来表示语言实体的类属;2.用多个标记来表示语言实体在不同方面的类属,这些标记构成一个集合。
单标记是多数语言分析装置或软件在归约时都采用的方法,其好处是简单直接;多标记集合方法在功能合一文法等文本分析方法中采用。为了简便起见,本实施例采用单标记的实现方法。掌握计算机科学一般知识的技术人员,参照本实施例,不难将语言单元实现为多标记集合以实施本发明。
在实施时,可以选择语言单元是否包含文本区域信息以说明语言实体在文本中占据的区域。
如果不使用文本区域,则归约规则各子前件之间不存在位置关系的限定,这时的归约是无顺序归约。无顺序归约可被用于某些场合,比如对于某些语言的文本进行分析,比如拉丁文,各词汇的语法上的角色通过词格变化区分,而非词汇在句子中的位置;在语法要求不是很严格的情况下分析文本;或者对文本进行时间要求高但准确度要求不是很高的分析。
另一方面,如果使用文本区域,则归约规则各子前件之间存在位置关系的限定,这时的归约是有顺序归约。大部分自然语言,比如中文,英文等,都适用有顺序归约的方式。
本实施例采用有顺序归约的模式,所以语言单元中包含文本区域。掌握计算机科学一般知识的技术人员,参照本实施例,不难以无顺序归约方式实施本发明。
本实施例中语言单元所采用的结构请参见图3所示。由于是有顺序归约模式,每个语言单元301包含主体302与文本区域303;主体302包含标记304与辅助信息305。如果是无顺序归约模式,则语言单元301不包含文本区域303。
标记304用于标识不同的语言层次下的语言概念可以使用英语中的POS(Part of Speech)标记,也可以根据需要自行定义。如果本发明被实施为某个文本分析装置或软件的一个模块时,则采用此文本分析装置或软件给定的标记。以下是一些标记的举例,供实施时参考

标记可以是相互平级的,即相互间不存在从属关系;也可以是有层次关系的。如果是平级的,在比较标记A与B时,判断A与B是否一致;如果是有层次关系的,则判断A是B的子类,还是B是A的子类,或者A与B无关。在本实施例中,标记相互间关系是平级的。
辅助信息305用于描述一些标记无法描述的信息,比如当语言单元表示一个单字时,用辅助信息存储这个单字的字符串形式;或者当语言单元表示一个词组时,用辅助信息存储这个词组的字符串形式。
文本区域303描述了语言单元所代表的语言实体在文本中占据的区域,可以实现为1.以数字对偶表示的区间,说明此区域在文本中的边界。比如,(3,10)表示文本的区域从标号为3的字符串开始到标号为10的字符串结束。
2.数字集合,说明哪些位置上的字符串属于此语言实体。比如,{3,4,5,10}表示此语言实体覆盖标号为3,4,5,10的字符串。
在本实施例中,采用数字对偶的方式。
以下,结合若干实例对结构如图3的语言单元进行说明,标记及其含义见上面给出的标记示例1.语言单元(WRD,“中”,(3,3))标记为WRD,表示该语言单元代表的语言实体为一个单字;辅助信息为“中”,表示该单字为“中”;占据的文本区域只覆盖标号为3的字符串;2.语言单元(PHR,“中国”,(3,5))
标记为PHR,表示该语言单元代表的语言实体为一个词组;辅助信息为“中国”,表示该词组为“中国”;占据的文本区域为(3,5);3语言单元(V,NULL,(4,7))标记为V,表示该语言单元代表的语言实体为一个动词;辅助信息为空,表示语言单元未对此语言实体进一步描述;占据的文本区域为(4,7);近似文本分析的主过程MainProc如下(参见图4)D01如果缓冲队列为空则转步骤D05,否则转步骤D02D02从缓冲队列首部取出语言单元成员XD03将X输入广义归约部件D04将广义归约部件输出的语言单元存入缓冲队列尾部D05如果可从输入部件得到新的语言单元,则转步骤D06,否则结束D06从输入部件得到一个语言单元UD07将U加入缓冲队列;转步骤D02广义归约部件,接收外界输入的语言单元或语言单元标识,判断其可以与本部件已存储的哪些语言单元或语言单元标识一起,匹配特定的已存储的归约规则,得到新的语言单元,并将此新的语言单元输出或将之与参与归约的语言单元一起输出。
作为一种优化的实现方式,广义归约部件可采用增量式广义归约装置。
进行增量式广义归约的装置包括(1)归约规则表的存储部件,用于存储归约规则;所述的归约规则包含一个或一个以上子前件,存储了语言单元匹配时应满足的条件;所述的归约规则还包含一个后件,所存储的信息描述了规则被匹配后将产生的语言单元的全部或部分内容;所述的语言单元存储的信息描述了一段文字所对应的特定语言层次的语言实体;(2)候选者队列的存储部件,用于存储匹配特定规则的特定子前件的语言单元
(3)归约部件,用于将由输入手段得到的语言单元,与各规则的各子前件逐一进行匹配,当所述的语言单元与特定规则的特定子前件匹配时将之加入到此子前件对应的候选者队列中;在每个匹配子前件过程中,若此语言单元匹配的是某个具有n个子前件的规则的最末子前件,运用遍历算法搜索各种语言单元组合,每个组合满足(a)第i个成员来自此规则的第i个子前件的候选者队列(1≤i≤n-1);(b)第n个成员为此语言单元;(4)输入部件,得到从外界输入的语言单元;(5)输出部件,将产生的新的语言单元输出;所述的输入部件的输出与所述的归约部件的输入相连,该归约部件的输出与所述的输出部件的输入相连,且该归约部件还分别与归约规则表的存储部件和候选者队列的存储部件相连;对于每个语言单元组合,都根据规则后件产生新的语言单元并通过输出部件输出。
该广义归约的装置的语言单元还包括指明该语言单元所代表的语言实体在文本中占据区域的文本区域;所述的归约装置为(a)在搜索语言单元组合时,每种语言单元组合的第i个语言单元的文本区域不重合于第i+1个语言单元且在其左侧(1≤i≤n-1);(b)得到的新的语言单元的文本区域,为对应语言单元组合中各语言单元的文本区域的叠加。
其中,归约部件通过输入部件得到从外界输入的语言单元,根据归约规则表,运用随后将描述的增量式广义归约的方法,将新得到的语言单元复制到候选者队列表中的符合条件的候选者队列中;并在符合特定条件的情况下,在候选者队列表中寻找符合特定条件的语言单元组合,由归约规则表中特定的规则得到新的语言单元,将新语言单元由输出部件输出到装置外。
增量式广义归约主过程MainProc将新的语言单元与各规则各子前件一一匹配,只要发现匹配就将之保存到此子前件对应的候选者队列中。如果匹配的是某个规则的最后一个子前件,则开始在此规则各有关候选者队列中进行增量式的语言单元组合的搜索。
主过程MainProc可供参考的一种实现步骤如下(参见图6)A01从输入部件得到一个语言单元UA02得到归约规则表的规则个数NA03令I=1A04如果I<=N,则转步骤A05,否则结束A05得到归约规则表的第I个规则R(I)A06得到R(I)的子前件个数SA07令J=1A08如果J<=S,则转步骤A09,否则转步骤A12A09得到R(I)的第J个子前件Pre(I,J)A10如果U匹配Pre(I,J),则转A13,否则转步骤A11A11J=J+1;转步骤A08A12I=I+1;转步骤A04A13在候选者队列表中找到候选者队列Cand(I,J)A14将U加入Cand(I,J)队列尾A15如果J=S,则转步骤A16,否则转步骤A11A16调用过程GenNewUnit(U,I,S),转步骤A12步骤A10所述的匹配是指语言单元符合规则子前件的要求。具体地,可以参考上文所述的子前件实现方式中所描述的匹配方式。
主过程调用遍历算法在特定规则的各有关候选者队列中寻找语言单元组合。在实施例中,即A16调用方法GenNewUnit来实现。为了保证搜索是增量式的,语言单元组合的最后一个元素被限定为刚输入系统的新语言单元。
有顺序归约模式相对于无顺序归约模式,在搜索语言单元组合时,多了一条限制,即语言单元组合中的每个成员与其后的成员,在文本区域上是互不重叠的,且前者在后者的左侧。如语言单元A的文本区域为(4,7),语言单元B的文本区域为(5,8),则A与B在文本区域上有公共部分,二者的位置关系为重叠。又比如,语言单元C的文本区域为(8,10),则A与C无重叠,而且A的右边界为7,仍小于C的左边界8,故而A在C的左侧。
方法GenNewUnit可供参考的一种实现步骤如下(参见图7)B01进行初始化,包括得到U在Cand(I,S)中的地址PU;堆栈Stk清空;将<S,PU>入栈StkB02读取Stk栈顶元素<X,Y>
B03将Y所指向的语言单元的文本区域赋值给YT,即令YT=Y->TxtRgnB04如果X>1转步骤B05,否则转步骤B11B05X=X-1B06将指针PC指向候选者队列Cand(I,X)的队尾B07如果PC到队首则转步骤B12,否则转步骤B08B08将PC所指向语言单元的文本区域赋值给CT,即令CT=PC->TxtRgnB09如果CT与YT不重叠且在YT左侧,则转步骤B18,否则转步骤B10B10指针PC向前移动一个单元,即令PC=PC->Prv;转步骤B07B11调用过程Stk2Unit(I,Stk)B12弹出Stk栈顶元素B13如果栈Stk为空,则结束,否则转步骤B14B14读取Stk栈顶元素<X,Y>
B15如果Y到队首,则转步骤B12,否则转步骤B16B16指针Y向前移动一个单元,即令Y=Y->PrvB17<X,Y>入栈Stk;转步骤B02B18<X,*PC>入栈Stk;转步骤B02步骤B18的*PC表示PC所指向的语言单元。
步骤B11所调用的方法Stk2Unit用于由当前得到的语言单元组合,特定的后件产生新的语言单元并输出之。
方法Stk2Unit可供参考的一种实现步骤如下(参见图8)C01文本区域T0初始化C02将指针PS指向堆栈Stk底部C03如果PS到栈顶,则转步骤C06,否则转步骤C04C04得到PS所指向的栈中语言单元的文本区域T=PS->TxtRgnC05将PS所指向的栈中语言单元的文本区域叠加到T0,即令T0=T0∪T;转步骤C03C06创建语言单元U0C07将U0的文本区域设置为T0,即令U0。TxtRgn=T0C08得到第I个归约规则的后件Post(I)C09将Post(I)复制到语言单元U0的主体C10向输出接口输出U0步骤C05所述的文本区域的叠加操作,就是数学中区间或集合的“并”操作。比如,语言单元A文本区域(2,5),语言单元B为(4,6),则叠加的结果为A∪B=(2,6)如果对上述方法做如下修改1.去除B08、B09、B10;2.让B07在为假时转B18;3.去除C04、C05、C07。
则此归约即为无顺序归约模式。
以上是增量式广义归约方法的一种实施方式。计算机科学领域的一般技术人员,不难根据本实施例,针对具体应用背景实施本发明。
在前面的以迭代广义归约进行近似文本分析的过程中,输入部件负责向MainProc反应待分析的文本是否已结束,并在文本未结束的情况下从文本中抽取单字构造而得。如何从文本中识别并抽取单字(完整的英文单词,汉字,日期等),在计算机科学中属于公知技术。可采用的方法有1.定义欲识别不同类型单字(英文单词、汉字、日期等)的正则表达式,使用LEX等软件来构造词法分析程序,用词法分析程序来识别单字;2.构造分析程序,将连续两个高位为1的字符识别为一个汉字,将连续的字母序列识别为一个单词。
前者的识别能力强,但运算的时间开销与空间开销相对较大,适用对准确性要求高,但对时间要求不是很高的情况;后者简便快捷,但是有些情况下会发生错误识别,适用于对时间要求较高,对准确性要求不是很高的情况。
对于单字的识别,可以全部识别,也可以只识别与特定领域有关的单字字符串。前者适用于开发通用的分析装置或软件,而后者适用于与特定领域有关的应用。
输入手段在得到单字字符串后,将之构造为一个语言单元。也就是说,创建一个代表单字的字符串,将辅助信息赋值为此字符串。在有顺序归约模式下,还要将此单字的文本位置设定为此语言单元的文本区域。文本位置有多种定义方式,可以是该单字在文本中的偏移位置,也可以是单字编号等。输入手段可以任选一种文本位置定义方式,也可以根据具体应用需要自定义文本位置。在本实施例中,采用文本偏移位置的定义方式。
比如,输入手段从文本中读取了单字字符串“中”,当前单字在文本中偏移位置为3,则对应的语言单元为(WRD,“中”,(3,3))。
在应用中还可以建立语言单元表,用以存储分析过程中产生的语言单元。语言单元表的结构如图5。语言单元表501包含若干语言单元表项(502,503,...,504);每个语言单元表项(以502为例),包含标识505,语言单元506,归约规则507,参与归约508。
标识505用于唯一表示一个语言单元。归约规则507用以指明该语言单元通过什么归约规则得到;参与归约508,用以指明哪些语言单元参与归约产生该表项存储的语言单元。
以下是一个具体的近似文本分析的实例给定归约规则如下1.<(WRD,张),(WRD,三)>→(PHR,张三)2.<(PHR,张三)>→(N,NULL)3.<(WRD,不)>→(PHR,否定)4.<(PHR,否定)>→(AD,NULL)5.<(WRD,仔),(WRD,细)>→(PHR,仔细)6.<(PHR,仔细)>→(A,NULL)7.<(WRD,努),(WRD,力)>→(PHR,努力)8.<(PHR,努力)>→(A,NULL)9.<(PHR,努力)>→(AD,NULL)10.<(AD,NULL),(A,NULL)>→(A,NULL)11.<(N,NULL),(A,NULL)>→(EVT,NULL)归约规则保存在归约部件中。
待处理的文本如下所示。每个方块代表一个单字,每个单字下的数字代表其文本位置。在本例中,单字的文本位置为此单字在文本中的偏移。每个汉字单字占两个字节,每个标点单字占一个字节。

则根据所描述的近似文本分析方法,得到以下语言单元表

为了说明方便,在如图5的结构上又增加如下字段1.“归约输出”当每个语言单元送入广义归约部件后,由广义归约部件输出的新语言单元。
2.“缓冲队列”每个语言单元刚进入缓冲队列时,缓冲队列的状态。
3.“覆盖文本”每个语言单元在文本中对应的文字。
4.“来源”每个语言单元是由输入部件产生,还是由广义归约部件产生。
上表即为在给定归约规则与文本后进行近似文本分析得到的结果。
以上语言单元表,给出了所有符合给定归约规则的语言单元关系,从而为后续的分析,比如大规模定量文本分析或文本数据挖掘,提供信息。作为一种简单的后续分析,可以是语言单元关系的关联规则挖掘,或者是对不同类型语言单元在不同类型文本中频率差异的分析,等等。
进行以迭代广义归约进行近似文本分析的方法可以用程序的形式存储在计算机可读的存储介质中,用于存储程序的存储介质可以是软盘、硬盘、光盘、磁光盘、CD-ROM、CD-R、磁带、非易失存储器或者易失存储器。
在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。
权利要求
1.一种近似文本分析的装置,其特征在于,所述的装置包括(1)缓冲队列的存储部件,用于缓存待送入广义归约部件的语言单元;所说的语言单元存储的信息描述了一段文字所对应的特定语言层次的语言实体;(2)广义归约部件,用于对语言单元进行广义归约;(3)输入部件,用于从外部得到语言单元;(4)分析部件,用于当缓冲队列为空时,通过输入部件得到语言单元并加入缓冲队列;从缓冲队列中取出一个语言单元成员,送入广义归约部件,以及接收来自广义归约部件的语言单元,并加入队列;(5)输出部件,将产生的新的语言单元输出;所述的输入部件的输出与所述的分析部件的输入相连,该分析部件的输出与所述的输出部件的输入相连,且该分析部件与缓冲队列的存储部件相连,并与广义归约部件之间进行交互。
2.根据权利要求1所述的近似文本分析的装置,其特征在于,所述的输入部件从文本中抽取单字构造语言单元。
3.根据权利要求1所述的近似文本分析的装置,其特征在于,所述的广义归约部件采用增量式广义归约。
4.根据权利要求1所述的近似文本分析的装置,其特征在于,所述的装置还包括语言单元表,包含若干表项,每个表项用以存储分析过程中涉及的语言单元;所述的分析装置中,每当有新的语言单元加入队列时,同时也记录在语言单元表中。
5.根据权利要求4所述的近似文本分析的装置,其特征在于,所述的语言单元表项,还包含唯一表示一个语言单元的“标识”字段、指明该语言单元通过何种归约规则而得到的“归约规则”字段和指明哪些语言单元参与归约产生该表项存储的语言单元的“参与归约”字段。
6.一种使用权利要求1所述装置进行近似文本分析的的方法,其特征在于,所述方法包括以下步骤(1)如果缓冲队列为空,通过输入手段得到语言单元并加入缓冲队列;所述的缓冲队列的存储手段,用于缓存待送入进行广义归约手段处理的语言单元;所说的输入手段,用于从装置外得到语言单元;所说的广义归约手段,用于对语言单元进行广义归约;所说的语言单元存储的信息描述了一段文字所对应的特定语言层次的语言实体;(2)从缓冲队列取得一个语言单元,并输入进行广义归约手段处理;(3)如果经广义归约手段处理产生语言单元,则将之加入缓冲队列;转步骤(1)。
7.根据权利要求6所述的近似文本分析的方法,其特征在于,所述的输入手段为从文本中抽取单字构造语言单元。
8.根据权利要求6所述的近似文本分析的方法,其特征在于,所述的广义归约手段,采用增量式广义归约。
9.根据权利要求6所述的近似文本分析的方法,其特征在于,所述的方法还包括语言单元表,包含若干表项,每个表项用以存储分析过程中涉及的语言单元;所说的分析手段中,每当有新的语言单元加入队列时,同时也记录在语言单元表中。
10.根据权利要求9所述的近似文本分析的方法,其特征在于,所述的语言单元表项,还包含“标识”字段,用以唯一表示一个语言单元;所述的语言单元表项,还包含“归约规则”字段,用以指明该语言单元通过什么归约规则得到;所说的语言单元表项,还包含“参与归约”字段,用以指明哪些语言单元参与归约产生该表项存储的语言单元。
11.一种存储有实现权利要求6所述的近似文本分析方法的程序的计算机可读的存储介质,其特征在于,所述的程序执行以下步骤(1)如果缓冲队列为空,通过输入手段得到语言单元并加入缓冲队列;所述的缓冲队列的存储手段,用于缓存待送入进行广义归约手段处理的语言单元;所述的输入手段,用于从装置外得到语言单元;所述的广义归约手段,用于对语言单元进行广义归约;所述的语言单元存储的信息描述了一段文字所对应的特定语言层次的语言实体;(2)从缓冲队列取得一个语言单元,并输入进行广义归约手段处理;(3)如果经广义归约手段处理产生语言单元,则将之加入缓冲队列;转步骤(1)。
12.根据权利要求11所述的存储介质,其特征在于,所说的输入手段为从文本中抽取单字构造语言单元。
13.根据权利要求11所述的存储介质,其特征在于,所述的广义归约手段,采用增量式广义归约。
14.根据权利要求11所述的存储介质,其特征在于,还包括语言单元表,包含若干表项,每个表项用以存储分析过程中涉及的语言单元;所说的分析手段中,每当有新的语言单元加入队列时,同时也记录在语言单元表中。
15.根据权利要求14所述的存储介质,其特征在于,所述的语言单元表项,还包含“标识”字段,用以唯一表示一个语言单元;所述的语言单元表项,还包含“归约规则”字段,用以指明该语言单元通过什么归约规则得到;所说的语言单元表项,还包含“参与归约”字段,用以指明哪些语言单元参与归约产生该表项存储的语言单元。
全文摘要
本发明涉及一种近似文本分析的装置与方法。其中的装置包含(1)缓冲队列的存储手段,用于缓存语言单元;(2)广义归约手段,用于进行广义归约;(3)输入手段,用于从装置外得到语言单元;(4)分析手段,用于进行近似文本分析,得到语言单元之间可能的关系。本发明适合作为大规模定量文本分析,文本数据挖掘的前导阶段。
文档编号G06F17/27GK1648895SQ200510023589
公开日2005年8月3日 申请日期2005年1月26日 优先权日2005年1月26日
发明者刘健, 吴耿锋 申请人:上海大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1