一种用于语言理解的层次语义树构建方法及系统的制作方法

文档序号:6547254阅读:1154来源:国知局
一种用于语言理解的层次语义树构建方法及系统的制作方法
【专利摘要】一种用于语言理解的层次语义树构建方法及系统,该方法主要包括以下步骤:对语句进行分词并加载语义知识库;根据LV规则识别语句的所有节点,根据语义知识和词语位置及搭配识别节点的层次;把句末标点生成特殊的节点,作为语义树的根节点;根据上述生成的节点信息对其进行合并,识别语句的语义边语块,把0级语义边作为子节点挂于根节点;循环遍历其各个子节点直至无低层次语义边,作为叶子节点挂于子节点。该方案在没有句法资源的情况下,仅使用语义信息和词语位置及搭配而得到语义结构树,使计算机能够进入自然语言的语义深层,在理解的基础上完成对自然语言的各种处理,实现了自然语言语义理解的第一步,可用于信息检索、自动文摘、机器翻译、文本分类以及信息过滤等。
【专利说明】-种用于语言理解的层次语义树构建方法及系统

【技术领域】
[0001] 本发明涉及一种自然语言处理领域,具体地说是利用语义知识和词语的位置及搭 配而得到的层次语义树构建方法及系统。

【背景技术】
[0002] 随着电子信息技术的发展,数字信息资源被越来越多的广泛使用。这就需要机器 也能理解自然语言,在"懂"的基础上完成对自然语言的各种处理,如信息检索、自动文摘、 机器翻译、文本分类以及信息过滤等等。可见,使得计算机能够进入自然语言的语义深层, 是达到上述目的一个条件。要想让机器了解自然语言的意义,首先要了解自然语言语句的 结构,语句结构是自然语言的一种基本结构,一般包括语法结构和语义结构。为了更好的对 语句的语义进行描述,采用语句结构树是一种简单且清晰有效的方式。语句的结构树类型 主要包括两种:一种是句法结构树,一种是语义结构树。句法结构树主要包括短语结构树、 依存树等,其自动构建主要在句法标注的基础上,采用基于统计的方法来实现,此类句法结 构树的构建不使用或较少使用词语的语义知识。
[0003] 语义结构树的构建必须使用语义知识,构建语义树是在HNC (概念层次网络)理论 的指导下,在没有句法资源的情况下,仅使用语义知识和语词语位置及搭配而进行的,使得 计算机能够进入自然语言的语义深层,在理解的基础上进行自然语言的各种处理,实现自 然语言语义理解的第一步,为后续应用在信息检索、机器翻译、信息过滤、文本分类等过程 中创造条件。
[0004] 在中国专利文献CN1606004A中公开了一种从文本标识语义结构的方法和装置, 形成至少两个候选语义结构,基于所述语义结构的似然性对每一候选语义结构确定语义得 分,也基于单词在文本中的位置以及从该单词形成的语义实体在该语义结构中的位置对每 一语义结构确定句法得分,将句法得分和语义得分组合来对该文本的至少一部分选择语义 结构。该方案中定义实体的模式,该模式包括语义类型和概率、马尔科夫概率和语义规则, 这些语义内容的获取需要训练大规模的数据,对文本的领域依赖性强,由于任务的复杂性, 取得的效果不一定理想,后续的所有的操作都依赖这一步的结果,其效果将大打折扣。


【发明内容】

[0005] 本发明所要解决的技术问题在于现有技术中的标识语义结构的方法需要训练大 规模的数据,对文本的领域依赖性强,从而提出一种无需训练的层次语义树构建方法和系 统。
[0006] 为解决上述技术问题,本发明提供一种用于语言理解的层次语义树构建方法及系 统,包括如下步骤:
[0007] S1、输入待处理语句,对待处理语句进行分词,并加载分词后词语的语义知识;
[0008] S2、根据分词结果,识别出该语句的语义节点;
[0009] S3、利用语义知识和词语位置及搭配获得语义节点的层次;
[0010] S4、识别该语句中不同层次的语义边;
[0011] S5、根据各层次的语义边生成层次语义树。
[0012] 优选地,所述步骤S1中,对待处理语句进行分词时,按照领域词典和通用词典对 待处理语句进行分词。
[0013] 优选地,所述语义知识包括词语的广义概念类及其子类,所述词语的广义概念类 包括动态、静态、物、人、属性、逻辑。
[0014] 优选地,所述步骤S2中"根据分词结果,识别出该语句的语义节点"的过程,包括:
[0015] 对于分词后的词语,如果词语的语义知识中有逻辑概念,对该词语标记为L,如果 词语的语义知识中有动态概念,标记为V;
[0016] 对所有标记为L或V的词语,进行LV排除处理;
[0017] 对所有L标记根据其概念类别进行标记,并判断其是否有后标记,如果有后标记, 对后标记的词语标记为L1H,根据上述所有标记生成语义节点。
[0018] 优选地,所述步骤S2中"根据分词结果,识别出该语句的语义节点"的过程,还包 括:将句末标点生成语义节点作为根节点。
[0019] 优选地,所述步骤S3中"利用语义知识和词语位置及搭配获得语义节点的层次" 的过程,包括:
[0020] 所有L标记和v标记的默认层次都记为0,当出现两个上述标记相邻时,第二个标 记的层次减小一层为-1。
[0021] 优选地,所述步骤S4中"识别该语句中不同层次的语义边"的过程,包括
[0022] 对所有标记为V的语义节点,进行核心动词识别,生成语块;
[0023] 对所有标记为L的语义节点,生成语块;
[0024] 根据语块生成语义边。
[0025] 优选地,所述进行核心动词识别的过程包括:
[0026] 排除不能构成核心动词的词语;
[0027] 其余的词语根据构成和词语本身所具有的特征赋予不同的权值,根据权值的排序 结果和位置信息选择核心动词。
[0028] 优选地,所述根据各层次的语义边生成层次语义树的过程,包括:
[0029] 选择根节点;
[0030] 把层次高的语块,按照该层次中的顺序,挂到根节点上,作为子节点;
[0031] 遍历所有子节点,将每个子节点范围内的所有语块作为该子节点的子节点,直到 没有新的子节点产生。
[0032] -种所述的层次语义树构建方法对应的层次语义树构建系统,包括:
[0033] 预处理单元:输入待处理语句,对待处理语句进行分词,并加载分词后词语的语义 知识;
[0034] 第一序列生成单元:根据分词结果,识别出该语句的语义节点;利用语义知识和 词语位置及搭配获得语义节点的层次;
[0035] 第二序列生成单元:识别该语句中不同层次的语义边;
[0036] 层次语义树生成单元:根据各层次的语义边生成层次语义树。
[0037] 本发明的上述技术方案相比现有技术具有以下优点,
[0038] (1)本实施例所述的层次语义树构建方法,主要包括预处理、节点识别、语义边识 另IJ、语义树生成的过程,输出上述结构树即可得到层次语义树。本实施例中的层次语义树构 建的方案,对语句的分析都是利用规则方法进行实现的。本方案中通过节点及其层次的识 另IJ、语义边及其层次的识别,来控制规则在不同层次、不同阶段的调度。在此原则指导下,首 先需要对规则进行层次分类,每一类规则只在固定分析层次中调用,且每一条规则只关注 对邻近语串中语言现象的分析,不需要兼顾对整体形势的判断,而是通过调度来解决规则 的兼容性问题。
[0039] (2)本发明中的层次语义树构建方法,在没有句法资源的情况下,仅使用语义信息 和词语位置及搭配而得到的语义结构树,使计算机能够进入自然语言的语义深层,在理解 的基础上完成对自然语言的各种处理,实现了自然语言语义理解的第一步。构建语义树,可 广泛应用在自然语言处理领域,如信息检索、自动文摘、机器翻译、文本分类以及信息过滤 等方便。本实施例中的语义树的构建方法,已经应用到专利文献汉英机器翻译上,显著提高 了专利文献译文的可读性和准确性。

【专利附图】

【附图说明】
[0040] 为了使本发明的内容更容易被清楚的理解,下面根据本发明的具体实施例并结合 附图,对本发明作进一步详细的说明,其中
[0041] 图1是本发明所述的层次语义树构建方法的流程图;
[0042] 图2本发明所述的层次语义树构建方法的节点生成流程图;
[0043] 图3本发明所述的层次语义树构建方法的语义边生成流程图;
[0044] 图4、图5本发明所述的层次语义树构建方法的一个应用实例的结果示意图;
[0045] 图6是本发明所述的层次语义树构建系统的结构框图。

【具体实施方式】
[0046] 实施例1 :
[0047] 本实施例中提供一种用于语言理解的层次语义树构建方法及系统,语义树即语义 结构树,是针对自然语言中的一个句子而言,指的是一个句子中特征语块(核心动词语块) 和由其决定的其他语块之间的语义关系。如一个句子中的特征语块V是表示作用的动词, 该特征语块决定此句中必有作用者语块、对象语块、内容语块,只有如此句子的语义才完 整。虽然后三者在一定的上下文环境中可以省略其一,但是这四种语块是句子成立即语义 完整的必要构件,又叫主要语块。而相比较而言,辅助语块不是句子成立的必要构件,主要 是表示动作的方式、手段、途径、条件、时间等。主要语块和辅助语块都可由一定的逻辑概念 来提示,因此使用LV (逻辑概念和动态概念)准则来识别句子的语义结构成为可能。本实 施例中的层次语义树构建方法,就是利用LV准则来识别一个句子的主要语块和辅助语块, 该方案可实现自动对语句进行划分,用于语言翻译中,可以大大提高了机器翻译的可读性 和准确性。
[0048] 本实施例中的层次语义树构建方法,主要的处理过程包括:待处理语句S110经过 预处理S120、节点识别S130、语义边识别S140、语义树生成S150后得到语义树S160,流程 图如图1所示,具体包括如下步骤:
[0049] S1、输入待处理语句,对待处理语句进行分词,并加载分词后词语的语义知识。对 待处理语句进行分词时,按照领域词典和通用词典对待处理语句进行分词。
[0050] S2、根据分词结果,识别出该语句的语义节点。主要包括以下过程:对于分词后的 词语,如果词语的语义知识中有虚词义项,对该词语标记为L,如果词语的语义知识中有动 词义项,标记为V ;对所有标记为L或V的词语,进行LV排除处理;对所有L标记根据其概 念类别进行标记,并判断其是否有后标记,如果有后标记,对后标记的词语也进行标记,根 据上述所有标记生成语义节点。
[0051] 上述过程具体的方式如下:
[0052] 对每个词语进行LV识别,如果词语的语义知识中有虚词义项,则该词语标记为L, 如果词语的语义知识中有动词义项,则该词语标记为V。所述语义知识包括词语的广义概念 类及其子类(即概念类别),所述词语的概念广义概念类包括动态、静态、物、人、属性和逻 辑。
[0053] 对所有标记为L或V的词语,进行LV排除处理,如果该词语前面有"的"、"一种" 这样的词语,则取消其L和V标记;如果该词语后面有"的"这样的词语,则取消其L和V标 记;
[0054] 对所有L标记,如果该节点的概念类别是11,则其标记修改为L1 ;判断其是否有后 标记,"当…时候"中,"时候"是"当"的后标记,对后标记的词语,生成一个标记为L1H的标 记;如果该节点的概念类别是10,则其标记修改为L0。
[0055] 把所有L标记(包括L0、L1和L1H)和V标记,带上位置信息,生成一个语义节点, 记入一个队列,称之为第一序列。如果一个词语上生成超过1个语义节点,都记入第一序 列。
[0056] S3、利用语义知识和词语位置获得语义节点的层次。首先,将所有L标记和v标 记的默认层次都记为〇,当出现两个上述标记相邻时,第二个标记的层次减小一层。具体如 下:
[0057] 对第一序列中的所有语义节点,进行LV层次识别,所有L标记和V标记的默认层 次都记为〇 ;
[0058] 当两个L相邻时,即出现L1L2时,L2的层次减1 ;
[0059] 当L和V相邻时,即出现L1V2时,V2的层次减1 ;
[0060] 当L和V相邻时,即出现V1L2时,L2的层次减1 ;
[0061] 对句号标点符号,生成一个语义节点,其标记为SST,记入第一序列。
[0062] S4、识别该语句中不同层次的语义边。包括:首先,对所有标记为V的语义节点,进 行核心动词识别,生成语块;然后,对所有标记为L的语义节点,生成语块;从而,根据语块 生成语义边。
[0063] 具体方式如下:
[0064] 生成一个队列,称之为第二序列;
[0065] 对第一序列中所有标记为V的语义节点,进行EG识别,生成语块,其标记为CHK_ EG,把语块加入第二序列;
[0066] 对第一序列中所有标记为L的语义节点,进行以下处理:
[0067] 对所有标记为L1的语义节点,生成一个语块,其标记是CHK_ABK,其起始位置为L1 节点的起始位置;判断该节点后是否有L1H,如果有,则语块结束位置是L1H的结束位置;如 果其后没有L1H,则语块结束位置是紧邻的下一个标记为L的语义节点的起始位置pos-1, 语块层次是语义节点的层次,把语块加入第二序列;
[0068] 对所有标记为L0的语义节点,生成一个语块,其标记是CHK_L0,其起始位置是L0 的起始位置,其结束位置是L0的结束位置,语块层次是语义节点的层次,把语块加入第二 序列;
[0069] 对所有标记为L0的语义节点,生成一个语块,其标记是CHK_GBK,其起始位置是L0 的结束位置P〇s+l,其结束位置是紧邻的下一个语块(其标记是CHK_EG或CHK_ABK或CHK_ L0)的起始位置pos-1,语块层次是语义节点的层次,把语块加入第二序列;
[0070] 对第一序列中标记为SST的语义节点,生成一个语块,其标记是CHK_SST,加入到 第二序列。该过程中得到的语块CHK_SST、CHK_ABK、CHK_EG、CHK_L0即为语义边。
[0071] 上述过程中,EG识别是指核心动词识别,主要是通过设计一系列有序的权值来判 断每一个动态概念作为EG的权值大小,该过程包括:首先,排除不能构成核心动词的词语, 将语句中有可能构成EG的词语进行初步排除,包括动态概念与静态概念、逻辑概念、属性 兼类以及不同动态概念的兼类。然后,其余的词语根据搭配和词语本身所具有的特征赋予 不同的权值,根据权值的排序结果和位置信息选择核心动词。也就是把排除后剩下的候选 词语全部生成EG,并根据它们构成或词语本身所具有的特征赋予不同的权值,综合考虑权 值排序结果及位置信息选择一个合适的词语作为语句的EG。
[0072] S5、根据各层次的语义边生成层次语义树。首先,选择根节点;然后,把层次高的语 块,按照该层次中的顺序,挂到根节点上,作为子节点;最后,遍历所有子节点,将每个子节 点范围内的所有语块作为该子节点的子节点,直到没有新的叶子节点产生。
[0073] 本实施例所述的层次语义树构建方法,主要包括以下步骤:对语句进行分词并加 载语义知识库;根据LV规则和语言规则,识别语句的所有节点及其层次;把句末标点符号 生成特殊的节点,作为语义树的根节点;根据上述生成的节点信息对其进行合并,识别语句 的语义边语块,把〇级语义边语块作为子节点挂于根节点;遍历各个子节点直至无低层次 语义边语块,作为叶子节点挂于子节点。输出上述结构树即可得到层次语义树。本实施例 中的层次语义树构建的方案,对语句的分析都是利用规则方法进行实现的。规则系统受到 质疑的一个原因在于,若规则描述过于简单,则规则产生的结果或者互相矛盾,或者不足以 分析句子。若想完全依赖规则准确地给出分析结果,就需要每一条规则能够描写复杂的语 言现象,这使得规则的概括性差,书写需要大量人工,不具有可行性。为解决这一矛盾,本方 案中通过节点及其层次的识别、语义边及其层次的识别,来控制规则在不同层次、不同阶段 的调度。在此原则指导下,首先需要对规则进行层次分类,每一类规则只在固定分析层次中 调用,且每一条规则只关注对邻近语串中语言现象的分析,不需要兼顾对整体形势的判断, 而是通过调度来解决规则的兼容性问题。本实施例中解决的策略有两条:首先避免规则的 贪婪匹配,使规则调用具有层次性,并在每一个层次上依据激活信息调用相应规则;其次, 调度会根据不同处理阶段的语句特征对规则生成的结果进行选择合成。这样,既减少了需 要匹配的规则,也减少了不同规则所产生的矛盾对最终分析的影响,以此加强对规则调用 的控制,也使得基于规则的层次语义树的构建成为可能。
[0074] 上述构建语义树是在概念层次网络理论的指导下,在没有句法资源的情况下,仅 使用语义信息和语言规则而得到的语义结构树,使计算机能够进入自然语言的语义深层, 在理解的基础上完成对自然语言的各种处理,实现了自然语言语义理解的第一步。构建语 义树,可广泛应用在自然语言处理领域,如信息检索、自动文摘、机器翻译、文本分类以及信 息过滤等方便。本实施例中的语义树的构建方法,已经应用到专利文献汉英机器翻译上,显 著提高了专利文献译文的可读性和准确性。
[0075] 实施例2 :
[0076] 本实施例中给出一个具体的层次语义树构建方法,该方案的基本流程也是如图1 所示,本实施例中层次语义树构建方法100开始于步骤S110即输入待处理语句,然后在 步骤S120中对待处理语句进行预处理,即按照领域词典和通用词典对待处理语句进行分 词,并加载词语的语义知识,语义知识主要包括词语的广义概念类即V(动态)、G(静态)、 W(物)、P (人)、U (属性)、L (逻辑)六大广义概念类和其统筹下的若干子类;其次,在步骤 S130中识别该语句的语义节点并对其的层次进行区分,第一步是对分词后的结果,采用LV 规则识别所有的语义节点,第二步是利用语义知识和词语位置,比较判断出节点的层次;再 次,在步骤S140中识别该语句的不同层次的语义边,把小句层面的语义节点的识别结果, 识别为小句层面的语义边,把语块层面的语义节点的识别结果,识别为语块层面的语义边; 然后,在步骤S150中生成层次语义树,根据语义边的识别结果,根据调度分层次生成在树 结构上;最后,在步骤S160中输出待处理语句的层次语义树。
[0077] 图2是说明节点识别300的示意图。如图2所示,节点识别的入口 S310是待处理 语料的分词结果。在步骤S311中对词语和标点区别对待。对于词语来说,需要对每一个词 加载概念类别等语义知识。语义知识简单包括如下两个方面:词语属性,其包括广义概念 类GCC、概念类别CC、LV属性LV、语素 QH、是否是纯V动词CHUNV ;句类属性,其包括广义作 用句GXGY、主语块数量GBK_NUM、是否块扩句EPER、是否GBK2原型句蜕GBK2_YT、被动语态 ALL_PASS、是否构成双向关系句R0、是否构成比较判断句JD0。需要特别说明的是,概念类 别的分类及其说明如下表所示:
[0078]

【权利要求】
1. 一种用于语言理解的层次语义树构建方法及系统,其特征在于,包括如下步骤: 51、 输入待处理语句,对待处理语句进行分词,并加载分词后词语的语义知识; 52、 根据分词结果,识别出该语句的语义节点; 53、 利用语义知识和词语位置及搭配获得语义节点的层次; 54、 识别该语句中不同层次的语义边; 55、 根据各层次的语义边生成层次语义树。
2. 根据权利要求1所述的层次语义树构建方法,其特征在于,包括:所述步骤S1中,对 待处理语句进行分词时,按照领域词典和通用词典对待处理语句进行分词。
3. 根据权利要求1或2所述的层次语义树构建方法,其特征在于,所述语义知识包括词 语的广义概念类及其子类,所述词语的广义概念类包括动态、静态、物、人、属性、逻辑。
4. 根据权利要求1-3任一所述的层次语义树构建方法,其特征在于,所述步骤S2中"根 据分词结果,识别出该语句的语义节点"的过程,包括: 对于分词后的词语,如果词语的语义知识中有逻辑概念,对该词语标记为L,如果词语 的语义知识中有动态概念,标记为V ; 对所有标记为L或V的词语,进行LV排除处理; 对所有L标记根据其概念类别进行标记,并判断其是否有后标记,如果有后标记,对后 标记的词语标记为L1H,根据上述所有标记生成语义节点。
5. 根据权利要求1-4任一所述的层次语义树构建方法,其特征在于,所述步骤S2中"根 据分词结果,识别出该语句的语义节点"的过程,还包括:将句末标点生成语义节点作为根 节点。
6. 根据权利要求1-5任一所述的层次语义树构建方法,其特征在于,所述步骤S3中"利 用语义知识和词语位置及搭配获得语义节点的层次"的过程,包括: 所有L标记和v标记的默认层次都记为0,当出现两个上述标记相邻时,第二个标记的 层次减小一层为-1。
7. 根据权利要求1-6任一所述的层次语义树构建方法,其特征在于,所述步骤S4中"识 别该语句中不同层次的语义边"的过程,包括 对所有标记为V的语义节点,进行核心动词识别,生成语块; 对所有标记为L的语义节点,生成语块; 根据语块生成语义边。
8. 根据权利要求1-7任一所述的层次语义树构建方法,其特征在于,所述进行核心动 词识别的过程包括: 排除不能构成核心动词的词语; 其余的词语根据构成和词语本身所具有的特征赋予不同的权值,根据权值的排序结果 和位置信息选择核心动词。
9. 根据权利要求1-8任一所述的层次语义树构建方法,其特征在于,所述根据各层次 的语义边生成层次语义树的过程,包括: 选择根节点; 把层次高的语块,按照该层次中的顺序,挂到根节点上,作为子节点; 遍历所有子节点,将每个子节点范围内的所有语块作为该子节点的子节点,直到没有 新的子节点产生。
10. -种权利要求1-9所述的层次语义树构建方法对应的层次语义树构建系统,其特 征在于,包括: 预处理单元:输入待处理语句,对待处理语句进行分词,并加载分词后词语的语义知 识; 第一序列生成单元:根据分词结果,识别出该语句的语义节点;利用语义知识和词语 位置及搭配获得语义节点的层次; 第二序列生成单元:识别该语句中不同层次的语义边; 层次语义树生成单元:根据各层次的语义边生成层次语义树。
【文档编号】G06F17/27GK104142917SQ201410216929
【公开日】2014年11月12日 申请日期:2014年5月21日 优先权日:2014年5月21日
【发明者】晋耀红, 朱筠, 刘小蝶 申请人:北京师范大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1