CN101470701A - 支持基于有限状态机的语义规则的文本分析器及其方法 - Google Patents
支持基于有限状态机的语义规则的文本分析器及其方法 Download PDFInfo
- Publication number
- CN101470701A CN101470701A CNA2007103066335A CN200710306633A CN101470701A CN 101470701 A CN101470701 A CN 101470701A CN A2007103066335 A CNA2007103066335 A CN A2007103066335A CN 200710306633 A CN200710306633 A CN 200710306633A CN 101470701 A CN101470701 A CN 101470701A
- Authority
- CN
- China
- Prior art keywords
- speech
- semantic rules
- path
- text
- expansion
- 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
Images
Landscapes
- Machine Translation (AREA)
Abstract
本发明提供一种文本分析器,包括:第一解码器,用于通过利用词搜索树对输入的文本中的每个字符依次进行第一路径扩展,获得与每次第一路径扩展对应的词;以及第二解码器,用于通过利用语义规则搜索树对第一解码器每次进行第一路径扩展获得的词依次进行第二路径扩展,获得与每次第二路径扩展对应的语义规则。以及本发明提供了一种文本分析方法,以及一种应用本发明分析器的短消息智能处理***及其方法。
Description
技术领域
本发明涉及自然语言处理过程,更具体地,涉及支持基于有限状态机的语义规则的文本分析器及其方法以及短消息智能处理***及其方法。
背景技术
自然语言处理是一个非常热门的研究领域,该领域产生了很多重要的工业应用。由于语言是用以通信的主要工具以及文化的主要载体,因此,对人类语言进行分析是非常有益和重要的。随着计算机科技的发展,逐渐可以开发出用于自动分析人类语言的工具,语言分析器正是这样一种或多或少理解语言的工具。由此非常明显的是,自然语言分析是自然语言处理的基础技术之一。性能良好的分析器可以广泛用于诸多方面,例如自然语言理解、文档分类、机器翻译等等。
我们都知道,语言是世界上最复杂的***之一,对于本地人来说,误解语句是非常正常的,更不用说是计算机了。而最重要的一点则是如何用计算机语言表述人类语言知识以及如何使计算机理解这种语言。通常,人们尝试让计算机以语言学方式来理解人类语言,或者尝试让计算机理解语句的语法结构以及词在语句中的语法作用。由此,自然语言分析器常被用于分析语句(或文档)结构和为文本标记标签,例如主语、谓语、宾语等等。例如,在英汉机器翻译***中,使用分析器来提取英文语句中的语法元素,而***则采用中文形式来重组这些元素。
分析器的目的(或任务)是提取文本串中的特定元素,换句话说,对分析器而言,输入是文本,输出的则是结构信息,这其中包括分词、词的词性标签以及某些可被称为语义规则的高级标记。可以看到,分词是基本功能,基于分词给出词性标记,此外,基于词及其词性标签提取高级语义规则。
对语言分析器来说,其最重要的一点是设计分析框架,这样做将会确定可处理信息的类型、处理效率以及输出性能。此外,语义规则表述模式同样是一个有影响的因素。
语言分析器是一个很复杂的模块。关于分析器的现有解决方案大多数是以Chomsky的形式语言理论及其后续研究为基础的。对自然语言分析器来说,有两种因素是非常重要的,一个是语法,另一个则是分析算法。语法是关于语言的可允许结构的形式规定。随着手动注解了自身结构的语言建模文本主体(语料库)的出现,现在可以对形式语法进行归纳,以便包含精确的概率。此外,在一句话中,词之间的概率关系可以用所谓的随机语言模型而直接从语料库中推导和模拟,例如n元(n-gram),由此可以排除对于创建广义覆盖语法的需要。一般来说,分析算法提供了一个程序,该程序对用于组合语法语义规则的不同方式进行搜索,以便找出产生了用于描述输入语句结构的树图的组合方式。在没有统计语言模型的情况下,传统的分析算法使用的是图表分析模式,该模式可以采用自顶向下或自底向上模式来分析句子,随着统计语言模型的出现,可以使用维特比算法而从各种用于组合语法语义规则的方式中选择得分最高的方式。
但是,现有解决方案都是以多步框架为基础的。在这种框架中,处理过程分为若干个单独步骤,前一个步骤的输出将会是下一个步骤的输入。更详细的说,***首先尝试将文本串分成词,然后则尝试为词给出词性标签,最后则应用某些语义规则来匹配和提取语义规则。可以看出,传统的分析框架既没有将分析过程视为一个整体,也没有将这个过程视为是不可分的,这种设计降低了***复杂度,但是由于在从一个步骤到另一个步骤的过程中丢弃某些有用的信息,因此这种设计是无法实现最佳性能的。
此外,某些现有分析器只实施了某些过程步骤,例如,某些分析器并没有考虑分词子任务,并且它们是无法在没有词边界的语言中使用的,例如中文和日文。
专利文献【US2006095250】给出了一种由计算机实施并用于开发分析器的方法。该方法包括:访问语句语料库,通过分析语句来产生每个句子的结构描述。该分析器是基于每个句子的结构描述来训练的。
该文献仅仅用于英语之类的基于词的语言,此外,由于在词之间具有充当但此边界的空格字符,因此,该文献并未提供用于分词的组件。该发明的详细描述表明它是逐步执行词性标记、名词短语提取以及动词短语提取的。
专利文献【US2003233225】提供了一种用于分析语句的方法、计算机程序产品和设备,其中包括:对某个语句进行分析,其中包括符号标记该语句中的词,并使之经过迭代式归纳处理器。该处理器至少使用第一和第二规则集合。这些规则将会缩减句子中的词的可能句法解释的范围。在穷举了第一规则集的应用之后,该程序将会移至第二语义规则集。这个程序将会在这些语义规则集之间来回迭代,直至无法进一步简化句法解释为止。此后,如有必要将会执行一个演绎性的标记合并处理。该文献提供了表示句法解释(可以看作某种语义规则)的更为复杂的框架,但是也将整个过程分割为多个单独的步骤。
对当前的语言分析器来说,其主要问题如下所述。
首先,整个过程分成了若干个单独的步骤,并且***是逐一执行这些步骤的。很明显,这种设计会使分析处理非常不便。前一个步骤完成其工作并产生其输出,然后则将其输出发送到下一个步骤。由此,相邻步骤之间的通信将会受限;它们将无法共享某些有用的信息。
其次,传统的框架可以确保最终的输出是所有可能性中的最优候选者。我们知道,对中文和日文这类没有词边界的语言来说,如果给出语句,那么分段结果可能有很多种;如果给出的是词,则可以有多种有效的词性候选词,以及如果给出的是词的词性类型,那么有可能存在一种以上的方式来将其与其他词相结合。传统的解析框架会将整个过程分成若干个步骤,并且每一个步骤都会独立完成其工作,由此整个解码过程将会丧失其连续性,并且前一个步骤带来的差错会使后续步骤的工作丧失意义。举例来说,如果先前的分词步骤给出的是不正确的分词,那么基于这个不正确的中间结果的所有工作都会变得毫无意义。
在专利文献【US2003233225】中,虽然引用了多组规则来匹配句法解释,但是其语义规则设计并不灵活,并且它会在独立的步骤中执行字元化工作以及句法信息提取,依照先前的分析,这种处理非常低效和不合理,甚至是不恰当的。
此外,传统的分析框架并未提供用于句法实体提取的灵活机制。现有技术中的专利文献【US2006095250】则是这样一个用于对句法实体进行拙劣处理的专利。
发明内容
为了解决上述问题,本发明提供了用于给出句法解释(可以被视为是某种语义规则)的更复杂框架。
本发明采用了一体化分析设计方式。在这种设计中使用解码框架,以此来替换传统的单维特比组件框架。在这个框架中,其中分别为句法实体和普通词设计了两个解码组件。在分析过程中,当输入(或是从语句中读取)新字符时,这时将会使用用于词处理的解码器来产生可能的词(分词子任务)并且给出可能的POS;然后,用于句法实体提取的解码器将搜索可能的语义规则。在这个过程中,全局搜索路径将被扩展。这个过程将会随着字符输入而重复执行,换句话说,这两个解码器将会轮流负责该解码过程,并且在整体上,所有可能的路径都会延伸,由此最终结果将会是最优的。
其次,为了构造双解码器,本发明采用了一种名为基于规则表述框架的有限状态机的语义实体框架。这种框架不但可以用于表示基于词的语义元素,而且还可以表示某些作为词和非词成分组合的实体,例如标点符号、语句边界、段落边界等等;此外,这种框架可以表述那些区间很长的语义现象。此外,其基于有限状态机的规则表述框架被设计为符合正常的词表述,并且将会允许分析器以相同方式来对其进行管理,这样将会减少***内存和CPU需求。语义实体表述设计确保了两个维特比组件可以完美地在一起工作。
本发明可以用于所有的文档分析,其中对短文本分析而言则尤为有效。由于其对内存和CPU的需求很低,因此它特别适合计算能力低下的***,例如移动电话等等。
根据本发明第一方面,提出了一种文本分析器,包括:
第一解码器,用于通过利用词搜索树对输入的文本中的每个字符依次进行第一路径扩展,获得与每次第一路径扩展对应的词;以及
第二解码器,用于通过利用语义规则搜索树对第一解码器每次进行第一路径扩展获得的词依次进行第二路径扩展,获得与每次第二路径扩展对应的语义规则。
根据本发明第二方面,提出了一种文本分析方法,包括:
第一解码步骤,包括
接收输入的文本;
从文本中按照顺序获取一个字符;
利用搜索树对当前的字符进行第一路径扩展,获得与第一路径扩展对应的当前词;以及
第二解码步骤,包括
接收第一路径扩展获得的当前词;
利用语义规则搜索树对当前词进行第二路径扩展,获得与第二路径扩展对应的语义规则;以及
重复执行第一解码步骤以及第二解码步骤,直到对文本中的所有字符执行了第一路径扩展和第二路径扩展。
根据本发明第三方面,提出了一种短消息智能处理***,包括:
短消息上下文检索器,用于从输入的短消息中检索上下文信息;
根据本发明的文本分析器,用于对短消息文本进行分析;
分类器,用于对文本分析器的输出进行分类;
短消息标记器,用于利用标签对来自文本分类器和短消息上下文检索器的输出进行标记;
短消息管理器,用于根据加标签的输出,对短消息进行管理。
根据本发明第四方面,提出了一种短消息智能处理方法,包括
短消息上下文检索步骤,从输入的短消息中检索上下文信息;
根据本发明所述的文本分析方法,对短消息文本进行分析;
分类步骤,对文本分析方法分析的结果进行分类;
短消息标记步骤,利用标签对来自文本分类步骤和短消息上下文检索步骤的输出进行标记;
短消息管理步骤,根据加标签的输出,对短消息进行管理。
与常规的文本分析器不同,根据本发明的文本分析器具有如下特点:
1.双解码器分析框架会使分析处理更为有效,它提高了分析过程的速度,并且降低了***需求;
2.双解码器分析框架保证了最终结果是所有可能结果中的最佳选择,由此提高了了分析处理的精度;
3.基于有限状态机的语义规则表述方法是用于双解码器框架的重要补充。它提供了用于支持嵌套规则、长区间规则和具有非词成分的规则的灵活机制。
附图说明
通过以下参照附图对优选实施例的详细描述,本发明的这些和其他方案、特征和优点将变得更加清楚。
图1是示出了根据本发明的文本分析器的硬件结构图;
图2是示出了包括本发明的文本分析器中的搜索树构造装置与第一解码器和第二解码器之间的交互协作的示意图;
图3示出了本发明的基于有限状态机的语义规则的一个示例;
图4a是示出了本发明的词搜索树构造装置的示意图;
图4b是示出了本发明的语义规则搜索树构造装置的示意图;
图5a是示出了本发明的词搜索树构造方法的流程图;
图5b是示出了本发明的语义规则搜索树构造方法的流程图;
图6a示出了中文词典排序表;
图6b是示出了搜索树的一个示例的结构图;
图6c示出了英文词典排序表;
图6d,6e是示出了搜索树的另一个示例的结构图;
图7a示出了基于有限状态机的语义规则的一个示例表;
图7b示出了基于有限状态机的语义规则的搜索树的一个示例的结构图;
图8a是示出了本发明的一个实施例的第一解码器和第二解码器的示意图;
图8b是示出了本发明的一个实施例的文本分析方法的流程图;
图8c是示出了本发明的另一实施例的第一解码器和第二解码器的示意图;
图8d示出了本发明的另一实施例的文本分析方法的流程图;
图9示出了利用本发明的文本分析器执行分析获得的结果的示意图;
图10示出了本发明的文本分析器的另一个实施例的示意图。
图11示出了应用了根据本发明的文本分析器的短消息智能处理***的示意图。
图12示出了短消息智能处理***执行的处理方法的流程图。
具体实施方式
下面,将参考附图描述本发明的优选实施例。在附图中,相同的元件将由相同的参考符号或数字表示。此外,在本发明的下列描述中,将省略对已知功能和配置的具体描述,以避免使本发明的主题不清楚。
图1是示出了包括本发明的文本分析器的硬件结构图。该文本分析器例如可以是运行特定程序的计算机***。其中16指示了该***的关键部件。所述***包括CPU 01,用于对应用程序提供计算功能;内部总线02,所述***通过内部总线02在内存12和永久性存储器05(可以是硬盘和闪存)之间交换数据;用户接口03,例如可以是用于按键输入的键盘或用于语音输入的麦克风等等,***设备04;以及内存12。
永久性存储器05包括分析资源06以及其它的存储器。分析资源包括普通词词汇07,基于有限状态机(FSM)的语义规则定义08,语言模型09和词性信息10。其中语言模型(LM)09与词性信息10是可选的,此外也可以使用一元语言模型来减少存储器成本。其它存储器11用于存储其它的数据。内存12包括多个组件,操作***13;其它应用程序14,以及自然语言处理相关应用程序15,该应用程序使用了支持基于有限状态机的语义规则的综合文本分析器16,综合文本分析器16包括两个关键部件,部件161是一个多资源组织器和存取器,它对所有用于分析的资源进行管理,并且对其进行组织,以便保证本发明的一次通过式的分析处理;部件162是双解码器,包括第一解码器和第二解码器,它接收来自自然语言处理相关应程序的输入文档17,并且借助部件161来使用所有分析资源,以及采用一次通过的方式产生分析结果18,然后将结分析结果发送到自然语言处理相关应用程序15。
图2是示出了本发明的文本分析器中的搜索树构造装置与第一解码器和第二解码器之间的交互关系的示意图。参考图2,多资源组织器和存取器16具有与永久性存储器中的资源相连的四个数据管道。包括词搜索树构造装置1611,用于加载来自永久性存储器的普通词词汇07并且将其构造成词搜索树1614;语义规则搜索树构造装置1612,用于加载基于有限状态机的语义规则定义08,并且将其构造成语义规则搜索树1615;词性信息存取器1613以及LM存取器1616。如果词性信息和语言模型很小,那么它们会分别由词性信息存取器1613和LM存取器1616加载到内存中,如果其对内存的消耗很大,那么词性信息存取器1613和LM存取器将在必要的运行时间局部加载这些信息和模型。双解码器包括第一解码器1621与第二解码器1622,第一解码器1621用于对输入文本中的词进行处理,第二解码器1622用于对输入文本中的语义规则进行提取,以及第一解码器与第二解码器相互协作,随后将会对第一解码器与第二解码器之间的交互工作进行描述。优选地,第一解码器和第二解码器是分别利用维特比解码器来实现的。
本发明采用了基于语义规则表述框架的有限状态机的语义规则框架。这种框架不但可以用于表示基于词的语义元素,而且还可以表示某些作为词和非词成分组合的实体,例如标点符号、语句边界、段落边界等等;此外,这种框架可以表述那些区间很长的语义现象。此外,其基于有限状态机的语义规则表述框架被设计为符合正常的词表述,并且这样将会允许分析器以相同方式来对其进行管理,这样将会减少***内存和CPU需求。语义规则表述设计使得第一解码器与第二解码器一起协调工作。
图3示出了本发明的基于有限状态机的语义规则的一个示例。基于有限状态机的语义规则是由一些节点(与状态相对应)以及变换弧线组成的。数字071表示语义规则中的起始节点,数字074则表示结束节点。每一个语义规则都从起始节点开始,并且被用于匹配一个文档。如果文档到达语义规则中的结束节点,那么这意味着该文档包含了相应语义规则的实例。数字072指示了一个表示正常词汇中的词的节点。实际上,图3中有两个普通节点。数字073是表示嵌套式的基于有限状态机的语义规则,它充当的是当前语义规则的状态。通过使用嵌套机制,语义规则的表述能力将会在相当程度上得到扩展。数字075指示了紧密的链接弧线,它意味着在弧线的两个节点之间没有任何无用词。而数字076则是一个松散的链接弧线,它意味着在弧线的两个节点之间存在长距离的区间并且某些无用词(这些词并不被关注)可以填充这个区间。数字077指示的是一个开始点与结束点都是相同节点的弧线。这个弧线可用于表述某些重复词,例如组成数字的重复数位。
根据本发明,所采用的基于有限状态机的语义规则可以满足下列条件:
1.基于有限状态机的语义规则与有限状态机对应,其中节点可以是词典中的词或者是另一个有限状态机的语义规则。即,如果需要的话,基于有限状态机的语义规则是可以嵌套的。
2.两个节点之间的链接弧线可以是紧密弧线或松散弧线。对紧密弧线来说,第一节点即为前一个节点,而对松散链接来说,在两个节点之间可以存在某些不相关的词或语义规则;
3.来自某个节点的链接弧线可以引导到同一个节点。也就是说,该链接弧线代表的是当前节点的一个或多次重复。这个特性对数字表示而言是非常重要的。
下面将首先对如何生成本发明的词搜索树以及语义规则搜索树进行描述,之后将结合生成的词搜索树以及语义规则搜索树对本发明的第一解码器和第二解码器的交互工作进行描述。
图4a示出了本发明的词搜索树构造装置的示意图。参考图4,词搜索树构造装置1611包括字典排序单元41,用于根据读取的字典中的词串对词进行排序;词ID分配单元42,用于对排序后的每个词分配一个唯一的词ID;以及词搜索树构造单元44,用于利用排序后的词与分配的词ID构造一个词搜索树。
图5a示出了本发明的词搜索树的构造方法的流程图。在S501,字典排序单元41将读取的字典根据词串来对字典中的词进行排序。在S502,词ID分配单元42为排序后的每一个词给出一个唯一的词ID。在S503,词搜索树构造单元44将经过排序的字典中的词构造成词搜索树。
图4b示出了本发明的语义规则搜索树构造装置的示意图。参考图4b,该语义规则搜索树构造装置包括语义规则排序单元46,用于对有限状态机的语义规则中的所有语义规则进行排序。可以按照预定的方式对语义规则进行排序,例如R1,R2,R3...等;语义规则ID分配单元48,用于对排序后的每一个语义规则分配一个唯一的ID;以及根据排序结果来构造语义规则搜索树的语义规则搜索树构造单元50。其中有限状态机的语义规则中的语义规则是与字典中的词对应的,因此,需要在构造语义规则搜索树之前构造词搜索树。
图5b示出了本发明的语义规则搜索树构造方法的流程图。在S504,语义规则排序单元46对有限状态机的语义规则进行排序。在S505,语义规则ID分配单元48为排序后的语义规则分配一个唯一的ID。语义规则的ID与词的ID不同,以免冲突。在S506,语义规则搜索树构造单元根据排序后的语义规则来构造语义规则搜索树。
图6a中的排序表显示了普通中文字典的排序结果。这些词是按照其字符串代码来进行排序的。由于每一个中文字符都可以看作为单个的词,因此在本实例中,所有出现在多字符词中的所有中文字符都被添加到了字典中。
图6b示出了搜索树的一个示例结构。参考图6b,每一个节点只保存了当前节点的字符,以及从根节点到当前节点的字符串则代表的是一个词。具有实线圆圈的节点是一个停止节点,它意味着来自根节点的字符串可以在这个节点中停止,或者从根节点到当前节点的字符串是一个有效的词。具有虚线圆圈的节点是非停止节点,它意味着从根节点到当前节点的字串不是有效词。非停止节点不能是叶节点。在本实例中,“艾”、“艾滋病”、“艾滋病毒”都是有效词,但是“艾滋”在这里则不是有效词,因此非停止节点用于表示字串“艾滋”。在本实例中,搜索树只用于描述逻辑结构。实际上,还可以采用其它的实际的树结构来实现这种搜索树。如果字典很大,并且大多数非叶节点都具有一个以上的子节点,那么在这种情况下,采用TRIE树将会非常适合。如果有很多只具有单个子节点的非叶和非停止节点,那么可以使用PAT树来将该节点连同其单个子节点一起整合到一个节点中,以使所述树更为紧凑。在该图中显示的树是一个TRIE树。由于只有一个节点是可以压缩的,因此在这里没有必要使用PAT树,以免带来额外的存储器消耗。
图6c示出了英文字典排序表。其中英文字典借助字串来进行排序。字典中的某些单词实际上是包含了空格字符的短语。
图6d和6e示出了与英文字典排序表对应的搜索树的示例结构图。该图与图6a非常相似,但是图6d和6e分别具有两种类型的树结构。由于存在很多分别只具有单个子节点的非叶非停止节点,因此如PAT树所示,该TRIE树可以被有效压缩。
图7a示出了基于有限状态机的语义规则的一个示例表。在该图中列举了四个语义规则,第一个语义规则R1具有两个实例0和1。第二个语义规则R2是一个或多个重复的“R1”,因此R2可以用于表示二进制字串,例如“1001101010”。语义规则R3是两个词语义规则,并且这两个词之间的链接是松散链接,或者在这两个词之间可以存在某些无用的词。语义规则R4是一个紧密链接,它意味着在该链接的两个部分之间没有任何无用信息。可以使用TRIE或PAT树表示这种结构,并且节点需要一些额外比特来表示重复特性以及紧密或松散链接。
图7b示出了基于有限状态机的语义规则的搜索树的一个示例的结构图。其中按照语义规则R1,R2,R3和R4的顺序来对图7a的表中的语义规则进行排序。
下面将结合生成的词搜索树和语义规则搜索树来描述本发明的文本分析器的第一解码器和第二解码器如何对输入的文本进行分析。
图8a是示出了本发明的第一解码器和第二解码器之间交互协作对输入的文本分析的示意图。第一解码器1621包括利用词搜索树对输入的文本中的每个字符依次进行路径扩展以获得搜索的词(与每条路径对应的词)的第一路径扩展单元81,用于对搜索的词进行记录的词记录单元82,用于对搜索的词的词性进行标记的词性标记单元83以及用于从第二解码器分析后的词和语义规则序列中选取合适的词和语义规则序列的词和语义规则序列选取单元84。第二解码器1622包括利用语义规则搜索树对第一解码器每次搜索到的词进行路径扩展以搜索到与之完全匹配的语义规则的第二路径扩展单元86,对利用语义规则搜索树搜索到的语义规则进行记录的语义规则记录单元87以及用于对获得的词和语义规则序列进行排序的词和语义规则序列排序单元88。通过采用两个解码器分别从词和语义上对输入的文本进行分析,从而可以将文本解码成词和语义规则序列。第一解码器和第二解码器可以是维特比解码器,根据输入文本中的每个字符来记录所有维特比状态。维特比状态表示当输入该字符时所有可能的词序列或者潜在的词序列。
图8b示出本发明的文本分析方法的流程图。在步骤16201,当接收到输入的文本之后,例如一句话,第一路径扩展单元81从句子中每次取出一个字符执行步骤16202,1621,1622直到16203的分析。例如,对于输入的句子“我今天走了”,将作为字符序列“我-今-天-走-了”输入到第一路径扩展单元81。
在步骤16202,判断是否能够取出一个字符。如果不成功,则转到步骤16204。如果成功,则执行步骤16211。
在步骤16211,第一路径扩展单元81使用输入的这一个字符对其在词搜索树中可能存在的所有路径进行扩展。例如,当输入“我”时,对词搜索树执行搜索,搜索到“我”这个节点并记录下从根节点到该节点的路径,在对当前词“我”执行完步骤16202,1621,1622直到16203之后,输入了“今”,第一路径扩展单元81从现有的路径“我”继续进行搜索,但是由于不能将现有的路径“我”扩展为“我今”(词搜索树中并不存在这样的一个词),所以将从现有路径中删除这一路径。以及将“今”扩展为搜索词汇树中的当前路径,。因此,现有的路径包括从根节点到“今”的这一条路径。在对当前词“今”执行完步骤16202,1621,1622直到16203之后,输入了“天”,通过搜索词搜索树,可以找到从根节点经过节点“今”到叶节点“天”的路径,因此,“天”可以被扩展为词搜索树中的路径“今天”。此外,可以将“天”自身扩展为路径“天”。之后,当输入“走”时,搜索词搜索树,可以发现该词“走”并不能够被扩展为“今天走”(词典中并不存在这个词),因此,删除现有路径“今天”。以及“走”可以被扩展为当前路径。最后,当输入“了”时,搜索词搜索树,发现可以从词搜索树中找到路径“走了”,因此,可以记录当前路径。
在步骤16212,词记录单元82确定哪条路径对应了完整的词(到达词边界),如果完整,则将其作为与搜索到的路径对应的当前词并记录。例如,对于第一个字符“我”,记录为当前词“我”。对于第二个字符“今”,记录为当前词“今”,对于第三个字符“天”,记录为当前词“天”和“今天”。最终记录的词包括:我,今,天,今天,走,走了。
在步骤16213,词性标记单元83对记录的当前词的词性进行标记,并将该当前词输入到步骤16221。
在步骤16221,第二解码器中的第二路径扩展单元86通过搜索语义规则搜索树,对输入的当前词在语义规则搜索树中的所有可能的路径进行扩展。第二路径搜索单元将输入的当前词与语义规则搜索树中的语义规则进行匹配,如果输入的词可以与语义规则搜索树中的某一语义规则的至少一部分匹配,则当前词在语义规则搜索树中具有可扩展的路径,以及记录下该路径。
在步骤16222,语义规则记录单元87判断语义规则搜索树中的扩展的路径中对应的语义规则是否是完整的语义规则,如果是,则记录该完整的语义规则。
在步骤16203,语义规则排序单元88对当前获得的所有可能词和语义规则序列进行排序。步骤16203可以采用不同的方法对词和语义规则序列进行排序。方法可以采用将较大的数值分配给最有可能的词序列。例如,在输入“天”之后,两个可能的词序列是“我”-“今”-“天”,“我”-“今天”.可以定义针对每个可能的词序列的数值的计算方法并根据计算的数值对每个可能的词序列进行排序。例如,采用计算每个词(单元)的概率的相乘的方法。如果对于词“我”,“今”,“天”,“今天”,其单元(unigram)分别是0.1,0.01,0.02,0.2,则第一词序列的概率是0.1*0.01*0.02=0.00002而第二词序列的概率是is0.1*0.2=0.02。因此,第二词序列将被排序在第一位置处。
之后,转向步骤16201,来顺序获取下一个字符。当在步骤16202判断已经对输入的句子的所有字符进行了分析之后,则进行到步骤16204,从排序后的词和语义规则序列中选出第一个词和语义规则,作为最终的分析结果。
继续以输入为“我今天走了”为例,描述第二解码器执行的处理。在步骤16221,当接收到标记词性后的词“我”之后,第二路径扩展单元86搜索语义规则搜索树,查找与词“我”可以匹配的语义规则。假设语义规则搜索树中存在语义规则R1:我...走了,则词“我”可以与语义规则R1部分匹配。第二路径扩展单元86将词“我”扩展为语义规则搜索树中的路径“我”。之后,执行后续处理16222以及16203。当在步骤16201获取词“今”后,执行与词“我”的类似的处理。在步骤16221,第二路径扩展单元86搜索语义规则搜索树,查找到路径可以扩展为语义规则搜索树中的一部分语义规则R1“我...”。对于词“天”和“走”,执行与词“今”类似的处理过程。最终当输入词“了”之后,在步骤16221接收到的词包括“走了”和“了”,第二路径扩展单元86将词“走了”扩展为语义规则搜索树中的路径“我...走了”。在步骤16222,如果16221所扩展的路径与语义规则搜索树中的某个语义规则完全一致,则记录该语义规则。对于上述例子,仅当输入了“了”之后,才记录该完整的语义规则。
图8c是示出了根据本发明的另一实施例的第一解码器和第二解码器的示意图。与图8a相比,其区别在于第一解码器包括用于在对所有字符进行了路径扩展之后,对词序列进行排序的词序列排序单元84’,而不是词和语义规则序列选取单元。以及第二解码器包括在对所有词进行第二路径扩展之后,对语义规则排序的语义规则排序单元88’,而不是词和语义规则序列排序单元。
图8d示出了根据本发明的另一实施例的文本分析方法的流程图,其与图8b所示的流程类似,区别在于在步骤16204,第一解码器对获得的词进行排序。以及在步骤16203,第二解码器对所有语义规则进行排序。
图9示出了本发明的文本分析器的分析结果的一个示例。当输入的文本句子是“下午三点三十分开会”时,采用根据本发明的分析器的最终分析的结果包括语义规则R8和词“开会”,其中语义规则R8是有关时间的描述:“下午三点三十分开会”。
图10示出了本发明的文本分析器的另一个实施例的示意图。参考图10,除了该文本分析器并不包括词搜索树构造装置1611,语言语义规则搜索树构造装置1612,词性信息存取器1613以及LM存取器1616之外,其结构与图2所示的文本分析器类似。该文本分析器包括第一解码器1621和第二解码器1622,通过采用已经生成的词搜索树和语义规则搜索树来对输入的文本执行分析。其方法流程与图8b所示的类似。
图11示出了短消息智能处理***的示意图。在该***中,采用了本发明的文本分析器。该***包括:输入装置171,用于输入短消息;短消息上下文检索器19;文本分析器16;分类器20;短消息标记器21以及短消息管理器22。其中,短消息上下文检索器19,用于从输入的短消息中检索上下文信息,其中短消息上下文包括:发送方/接收方的电话号码、发送/接收时间、该号码是否处于地址列表中等等;文本分析器16,用于对短消息的纯文本进行分析,并输出分析后的语义规则和词;分类器20,用于对文本分析器的输出进行分类;短消息标记器21,接收来自文本分类器和短消息上下文检索器的输出,并利用特定标签对该短消息进行标记,特定标签例如可以是“隐私性”、“家庭”、“工作”等等。短消息管理器22用于根据短消息标记后的结果对短消息进行管理。
图12示出了短消息智能处理***执行的处理方法的流程图。参考图12,在步骤1201,接收输入的短消息。在步骤1202,短消息内容检索器19从输入的短消息中检索上下文信息。在步骤1203,文本分析器16对短消息的文本执行分析,以得到语义规则和词。在步骤1204,分类器20对分析后的短消息执行分类。在步骤1205,短消息标记器21根据短消息上下文检索器从输入的短消息中检索到的上下文信息以及分类器20分类的结果对短消息加标签。在步骤1206,短消息管理器22根据短消息的标签对短消息进行管理。
由于本发明的分析器具有很高的效率,且可以获得较高精度的分析结果,因此,根据本发明的文本分析器除了可以应用在移动电话上对输入的短消息进行文本分析之外,还可以应用于其它对文本分析要求较高的***中。此外,根据本发明,可知本发明不仅可以对中文文本进行分析,而且可以对包括英文文本的其它种类的语言文本执行分析。
尽管已经参照附图,对示例实施例进行了描述,应当理解的是,本发明并不局限于这些实施例,本领域的普通技术人员可以对其进行多种其它变化和修改,而不偏离本发明的范围或精神。所有这些变化和修改包括在所附权利要求所限定的本发明的范围内。
Claims (27)
1.一种文本分析器,包括:
第一解码器,用于通过利用词搜索树对输入的文本中的每个字符依次进行第一路径扩展,获得与每次第一路径扩展对应的词;以及
第二解码器,用于通过利用语义规则搜索树对第一解码器每次进行第一路径扩展获得的词依次进行第二路径扩展,获得与每次第二路径扩展对应的语义规则。
2.如权利要求1所述的文本分析器,其中:
第二解码器在每次第二路径扩展结束之后,对获得的词和语义规则的序列进行排序;以及
第一解码器在已经对所有的字符顺序进行了第一路径扩展之后,从第二解码器排序后的词和语义规则序列选择出所需的词和语义规则序列,作为分析结果。
3.如权利要求2所述的文本分析器,其中第一解码器包括:
第一路径扩展单元,用于利用词搜索树对输入的文本中的每个字符依次进行第一路径扩展,获得与每次第一路径扩展对应的词;
词记录单元,用于对获得的与每条路径对应的词进行记录;以及
词和语义规则序列选取单元,用于在已经对所有的字符顺序进行了第一路径扩展之后,从第二解码器排序后的词和语义规则序列中选取合适的词和语义规则序列。
4.如权利要求3所述的文本分析器,其中第一解码器还包括:
词性标记单元,用于对每次第一路径扩展获得的词的词性进行标记。
5.如权利要求2所述的文本分析器,其中第二解码器包括:
第二路径扩展单元,用于利用语义规则搜索树对第一解码器每次进行第一路径扩展获得的词依次进行第二路径扩展,获得与每次第二路径扩展对应的语义规则;
语义规则记录单元,用于对获得的语义规则进行记录;以及
词和语义规则序列排序单元,用于对获得的词和语义规则序列进行排序。
6.如权利要求2所述的文本分析器,其中:
第二解码器通过对词序列中的每个词序列计算词单元来对词序列进行排序。
7.如权利要求1所述的文本分析器,还包括:
词搜索树构造装置,包括
词典排序单元,用于对词典中的词进行排序;
词ID分配单元,用于为每个排序后的词分配一个唯一的词ID;以及
词搜索树构造单元,用于利用排序后的词和相应的词ID构造词搜索树。
8.如权利要求1所述的文本分析器,还包括:
语义规则搜索树构造装置,包括
语义规则排序单元,用于对语义规则进行排序;
语义规则ID分配单元,用于为排序后的每个语义规则分配一个唯一的语义规则ID;以及
语义规则搜索树构造单元,用于利用排序后的语义规则和相应的语义规则ID构造语义规则搜索树。
9.如权利要求1所述的文本分析器,其中所述的语义规则是基于有限状态机的语义规则。
10.如权利要求6所述的文本分析器,其中语义规则可以是词或者是一个嵌套的语义规则。
11.如权利要求1所述的文本分析器,其中:
第一解码器在对输入的文本中的所有字符依次进行了第一路径扩展之后,对所获得的词的词序列进行排序;以及
第二解码器在对第一路径扩展获得的所有词依次进行第二路径扩展之后,对获得的与每次第二路径扩展对应的语义规则进行排序。
12.如权利要求11所述的文本分析器,其中:
第一路径扩展单元,用于利用词搜索树对输入的文本中的每个字符依次进行第一路径扩展,获得与每次第一路径扩展对应的词;
词记录单元,用于对获得的与每条路径对应的词进行记录;以及
词序列排序单元,用于在已经对所有的字符依次进行了第一路径扩展之后,对获得的词的词序列进行排序。
13.如权利要求11所述的文本分析器,其中第二解码器包括:
第二路径扩展单元,用于利用语义规则搜索树对第一解码器每次进行第一路径扩展获得的词依次进行第二路径扩展,获得与每次第二路径扩展对应的语义规则;
语义规则记录单元,用于对获得的语义规则进行记录;以及
语义规则序列排序单元,用于对获得的语义规则序列进行排序。
14.如权利要求1所述的文本分析器,其中:
第一解码器和第二解码器分别是维特比解码器。
15.一种文本分析方法,包括:
第一解码步骤,包括
接收输入的文本;
从文本中按照顺序获取一个字符;
利用搜索树对当前的字符进行第一路径扩展,获得与第一路径扩展对应的当前词;以及
第二解码步骤,包括
接收第一路径扩展获得的当前词;
利用语义规则搜索树对当前词进行第二路径扩展,获得与第二路径扩展对应的语义规则;以及
重复执行第一解码步骤以及第二解码步骤,直到对文本中的所有字符执行了第一路径扩展和第二路径扩展。
16.根据权利要求15所述的方法,其中第二解码步骤还包括在执行完第二路径扩展之后,对当前词和语义规则序列进行排序的步骤;以及
在对文本中的所有字符执行了第一路径扩展和第二路径扩展之后,第一解码步骤还包括从排序后的词和语义规则序列中选择所需的词和语义规则序列的步骤。
17.根据权利要求15所述的方法,其中第一解码步骤还包括在对输入的文本中的所有字符依次进行了第一路径扩展之后,对所获得的词的词序列进行排序的步骤;以及
第二解码步骤还包括在对第一路径扩展获得的所有词依次进行第二路径扩展之后,对获得的语义规则进行排序的步骤。
18.如权利要求16所述的文本分析方法,其中
第二解码步骤通过对词序列中的每个词序列计算词单元来对词序列进行排序。
19.如权利要求15所述的文本分析方法,其中第一解码步骤还包括:
词记录步骤,对当前词进行记录。
20.如权利要求18所述的文本分析方法,其中第一解码步骤还包括:
词性标记步骤,对当前词的词性进行标记。
21.如权利要求15所述的文本分析方法,其中第二解码步骤还包括:
在执行第二路径扩展之后,对获得的语义规则进行记录的步骤。
22.如权利要求15所述的文本分析方法,还包括:
第一构造步骤,包括
词典排序步骤,对词典中的词进行排序;
词ID分配步骤,为每个排序后的词分配一个唯一的词ID;以及
词搜索树构造步骤,利用排序后的词和相应的词ID构造词搜索树。
23.如权利要求15所述的文本分析方法,还包括:
第二构造步骤,包括
语义规则排序步骤,对语义规则进行排序;
语义规则ID分配步骤,为排序后的每个语义规则分配一个唯一的语义规则ID;以及
语义规则搜索树构造步骤,利用排序后的语义规则和相应的语义规则ID构造语义规则搜索树。
24.如权利要求15所述的文本分析方法,其中所述的语义规则是基于有限状态机的语义规则。
25.如权利要求15所述的文本分析方法,其中语义规则可以是词或者是一个嵌套的语义规则。
26.一种短消息智能处理***,包括:
短消息上下文检索器,用于从输入的短消息中检索上下文信息;
根据本发明权利要求1所述的文本分析器,用于对短消息文本进行分析;
分类器,用于对文本分析器的输出进行分类;
短消息标记器,用于利用标签对来自文本分类器和短消息上下文检索器的输出进行标记;
短消息管理器,用于根据加标签的输出,对短消息进行管理。
27.一种短消息智能处理方法,包括
短消息上下文检索步骤,从输入的短消息中检索上下文信息;
根据本发明权利要求15所述的文本分析方法,对短消息文本进行分析;
分类步骤,对文本分析方法分析的结果进行分类;
短消息标记步骤,利用标签对来自文本分类步骤和短消息上下文检索步骤的输出进行标记;
短消息管理步骤,根据加标签的输出,对短消息进行管理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007103066335A CN101470701A (zh) | 2007-12-29 | 2007-12-29 | 支持基于有限状态机的语义规则的文本分析器及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007103066335A CN101470701A (zh) | 2007-12-29 | 2007-12-29 | 支持基于有限状态机的语义规则的文本分析器及其方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101470701A true CN101470701A (zh) | 2009-07-01 |
Family
ID=40828178
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007103066335A Pending CN101470701A (zh) | 2007-12-29 | 2007-12-29 | 支持基于有限状态机的语义规则的文本分析器及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101470701A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102479508A (zh) * | 2010-11-30 | 2012-05-30 | 国际商业机器公司 | 用于将文本转换成语音的方法和*** |
CN105843868A (zh) * | 2016-03-17 | 2016-08-10 | 浙江大学 | 一种基于语言模型的医案搜索方法 |
CN106202464A (zh) * | 2016-07-18 | 2016-12-07 | 上海轻维软件有限公司 | 一种基于变异回溯算法的数据识别方法 |
WO2018000278A1 (zh) * | 2016-06-29 | 2018-01-04 | 深圳狗尾草智能科技有限公司 | 一种基于状态机上下文敏感多轮对话管理***及方法 |
CN108960673A (zh) * | 2018-07-24 | 2018-12-07 | 北京天诚同创电气有限公司 | 污水处理故障诊断方法和装置 |
CN112632991A (zh) * | 2020-12-30 | 2021-04-09 | 北京久其软件股份有限公司 | 一种中文语言的特征信息提取方法及装置 |
CN112732743A (zh) * | 2021-01-12 | 2021-04-30 | 北京久其软件股份有限公司 | 一种基于中文自然语言的数据分析方法及装置 |
-
2007
- 2007-12-29 CN CNA2007103066335A patent/CN101470701A/zh active Pending
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102479508A (zh) * | 2010-11-30 | 2012-05-30 | 国际商业机器公司 | 用于将文本转换成语音的方法和*** |
US8620656B2 (en) | 2010-11-30 | 2013-12-31 | Nuance Communications, Inc. | Converting partial word lists into a phoneme tree for speech recognition |
US8650032B2 (en) | 2010-11-30 | 2014-02-11 | Nuance Communications, Inc. | Partial word lists into a phoneme tree |
CN102479508B (zh) * | 2010-11-30 | 2015-02-11 | 国际商业机器公司 | 用于将文本转换成语音的方法和*** |
CN105843868A (zh) * | 2016-03-17 | 2016-08-10 | 浙江大学 | 一种基于语言模型的医案搜索方法 |
WO2018000278A1 (zh) * | 2016-06-29 | 2018-01-04 | 深圳狗尾草智能科技有限公司 | 一种基于状态机上下文敏感多轮对话管理***及方法 |
CN106202464A (zh) * | 2016-07-18 | 2016-12-07 | 上海轻维软件有限公司 | 一种基于变异回溯算法的数据识别方法 |
CN106202464B (zh) * | 2016-07-18 | 2019-12-17 | 上海轻维软件有限公司 | 一种基于变异回溯算法的数据识别方法 |
CN108960673A (zh) * | 2018-07-24 | 2018-12-07 | 北京天诚同创电气有限公司 | 污水处理故障诊断方法和装置 |
CN112632991A (zh) * | 2020-12-30 | 2021-04-09 | 北京久其软件股份有限公司 | 一种中文语言的特征信息提取方法及装置 |
CN112632991B (zh) * | 2020-12-30 | 2024-05-14 | 北京久其软件股份有限公司 | 一种中文语言的特征信息提取方法及装置 |
CN112732743A (zh) * | 2021-01-12 | 2021-04-30 | 北京久其软件股份有限公司 | 一种基于中文自然语言的数据分析方法及装置 |
CN112732743B (zh) * | 2021-01-12 | 2023-09-22 | 北京久其软件股份有限公司 | 一种基于中文自然语言的数据分析方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9223779B2 (en) | Text segmentation with multiple granularity levels | |
CN106537370B (zh) | 在存在来源和翻译错误的情况下对命名实体鲁棒标记的方法和*** | |
CN103970798B (zh) | 数据的搜索和匹配 | |
JP5615476B2 (ja) | 対訳語句提示プログラム、対訳語句提示方法および対訳語句提示装置 | |
CN103189860B (zh) | 组合句法转换模型与词汇转换模型的机器翻译装置和机器翻译方法 | |
KR101195341B1 (ko) | 미등록 단어의 카테고리 결정 방법 및 장치 | |
CN101470701A (zh) | 支持基于有限状态机的语义规则的文本分析器及其方法 | |
Jabbar et al. | An improved Urdu stemming algorithm for text mining based on multi-step hybrid approach | |
EP3598321A1 (en) | Method for parsing natural language text with constituent construction links | |
Karim et al. | A step towards information extraction: Named entity recognition in Bangla using deep learning | |
Chantrapornchai et al. | Information extraction tasks based on BERT and SpaCy on tourism domain | |
Sawalha et al. | Fine-grain morphological analyzer and part-of-speech tagger for Arabic text | |
US10810368B2 (en) | Method for parsing natural language text with constituent construction links | |
CN109086285B (zh) | 基于语素的汉语智能处理方法和***及装置 | |
KR100288144B1 (ko) | 한글로 표기된 외래어 코드화 방법 및 그를 이용한 검색 방법 | |
Onyenwe et al. | Toward an effective igbo part-of-speech tagger | |
JPH08129554A (ja) | 関係表現抽出装置および関係表現検索装置 | |
KR20130074176A (ko) | 말뭉치 기반의 한국어 형태소 분석장치 및 그 분석방법 | |
Sabty et al. | Techniques for named entity recognition on arabic-english code-mixed data | |
Mazitov et al. | Named entity recognition in Russian using Multi-Task LSTM-CRF | |
KR100463376B1 (ko) | 원시언어를 대상언어로 번역하기 위한 번역엔진 장치 및 그 번역방법 | |
Wang et al. | Bondec-A Sentence Boundary Detector | |
Baishya et al. | Present state and future scope of Assamese text processing | |
JP2008276561A (ja) | 形態素解析装置、形態素解析方法、形態素解析プログラム及びコンピュータプログラムを格納した記録媒体 | |
JP3768157B2 (ja) | 他言語オントロジー辞書利用装置及び方法並びにプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20090701 |