CN111523302B - 一种句法分析方法、装置、存储介质及电子设备 - Google Patents
一种句法分析方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN111523302B CN111523302B CN202010638300.8A CN202010638300A CN111523302B CN 111523302 B CN111523302 B CN 111523302B CN 202010638300 A CN202010638300 A CN 202010638300A CN 111523302 B CN111523302 B CN 111523302B
- Authority
- CN
- China
- Prior art keywords
- word
- phrase
- vector
- vectors
- cache space
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Abstract
本申请提供了一种句法分析方法、装置、存储介质及电子设备,方法用于解析原始语句,使得原始语句中的多个字词向量从缓存空间全部转移至栈空间的过程,方法包括:对当前位于缓存空间中的多个字词向量分别对应的第一索引重新组合排列,获得K种候选词组索引单元组成的第一字词索引集合;查询与每个候选词组索引单元对应的词组向量,获得每个词组向量的第一得分,将最高的第一得分对应的词组向量预测为当前从缓存空间转移至栈空间进行移位操作时移动的词组向量,使得对语句的识别更准确。
Description
技术领域
本申请涉及自然语言处理技术领域,具体而言,涉及一种句法分析方法、装置、存储介质及电子设备。
背景技术
目前,自然语言处理(Natural Language Processing)是人工智能和语言学领域的分支学科。在此领域中探讨如何处理及运用自然语言,包括自然语言认知,自然语言生成和自然语言理解等。自然语言认知则是指让电脑“懂”人类的语言;自然语言生成系统把计算机数据转化为自然语言;自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。自然语言处理的主要任务包括词性标注、情感分析、句法分析等。
目前,自然语言理解在日常生活中的应用越来越广泛,例如自动语音识别、神经机器翻译等。对于固定搭配、俗语、习语和网络用语等词组的识别是现有技术中一直存在的问题,这是因为这些词组既不是地点、人名名词性的实体,也不能仅仅从字面意思去理解,使得这些词组与通常的命名实体识别任务不一样。现有技术通常使用神经网络结合条件随机场的方法来学习出一个能够识别命名实体的模型,该模型只能通过句子内本身词与词的上下文关系来判定是否是一组连续的词组,使得识别结果不够准确。
发明内容
本申请的目的在于提供一种句法分析方法、装置、存储介质及电子设备,以有效的改善现有技术中识别结果不准确的技术缺陷。
本申请的实施例通过以下技术方案实现:
第一方面,本申请实施例提供了一种句法分析方法,方法用于解析原始语句,使得原始语句中的多个字词向量从缓存空间全部转移至栈空间的过程,方法包括:对当前位于缓存空间中的多个字词向量分别对应的第一索引重新组合排列,获得K种候选词组索引单元组成的第一字词索引集合,其中,包括:根据多个字词向量在缓存空间的存储地址,将每个字词向量在缓存空间的存储地址赋予互不相同的数值,将每个字词向量的数值确定为每个字词向量的第一索引;根据组合的数量和组合的顺序,对第一索引进行组合排列,每一种组合排列方式形成一种候选词组索引单元,第一字词索引集合包括了当前位于缓存空间中第一索引组合排列形成的所有可能性的候选词组单元;查询与每个候选词组索引单元对应的词组向量,获得每个词组向量的第一得分,将最高的第一得分对应的词组向量预测为当前从缓存空间转移至栈空间进行移位操作时移动的词组向量。
结合第一方面,在第一种可能的实现方式中,方法还包括:获得当前可建立句法关系的第二字词索引集合,其中,第二字词索引集合包括当前位于缓存空间中的第一个字词向量对应的第二字词索引、当前位于栈空间中的栈顶的字词向量对应的第二字词索引以及与栈顶相邻位置的字词向量对应的第二字词索引,当前位于栈空间中的栈顶和与栈顶相邻位置的两个字词向量之间可以进行左弧操作或右弧操作,左弧操作基于57种句法关系,右弧操作基于57种句法关系;根据句法关系,将第二字词索引集合中的所有第二字词索引映射成114种由字词向量组成的句法关系词组向量,获得114种句法关系词组向量的第二得分,根据第二得分预测当前从缓存空间转移至栈空间时字词向量进行左弧操作或右弧操作对应的句法关系。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,方法还包括:根据K个词组向量的所述第一得分和114种句法关系词组向量的第二得分,对当前从缓存空间转移至栈空间时字词向量将在移位操作、左弧操作和右弧操作的三种操作中做出预测。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,根据K个词组向量的第一得分和114种句法关系词组向量的第二得分,对当前从缓存空间转移至栈空间时字词向量将在移位操作、左弧操作和右弧操作的三种操作中做出预测,包括:确定K个词组向量的第一得分和114种句法关系词组向量的第二得分中的最高得分;将最高得分对应的操作预测为当前从缓存空间转移至栈空间时进行的操作。
结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,方法还包括:对当前K个词组向量的第一得分、114种句法关系词组向量的第二得分和当前从缓存空间转移至栈空间时人工标注的正确的标签进行损失函数运算,得到损失函数差值,根据损失函数差值,对当前的预测结果进行训练修正,直至满足预设条件时结束,其中,正确的标签用于表征原始语句中多个字词向量之间具有的正确的操作和正确的句法关系。
结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,方法还包括:在当前字词向量根据预测结果从缓存空间转移至栈空间,预测下一个状态时字词向量的操作时,将根据上一个正确的标签预测下一个状态时字词向量的操作。
第二方面,本申请实施例提供了一种句法分析装置,装置包括:第一处理模块,用于对当前位于缓存空间中的多个字词向量分别对应的第一索引重新组合排列,获得K种候选词组索引单元组成的第一字词索引集合,其中,包括:根据多个字词向量在缓存空间的存储地址,将每个字词向量在缓存空间的存储地址赋予互不相同的数值,将每个字词向量的数值确定为每个字词向量的第一索引;根据组合的数量和组合的顺序,对第一索引进行组合排列,每一种组合排列方式形成一种候选词组索引单元,第一字词索引集合包括了当前位于缓存空间中第一索引组合排列形成的所有可能性的候选词组单元;第二处理模块,用于查询与每个候选词组索引单元对应的词组向量,获得每个词组向量的第一得分,将最高的第一得分对应的词组向量预测为当前从缓存空间转移至栈空间进行移位操作时移动的词组向量。
第三方面,本申请实施例提供了一种存储介质,存储介质上存储有计算机程序,计算机程序被计算机运行时执行如第一方面,以及第一方面的任一种可能的实现方式提供的句法分析方法。
第四方面,本申请实施例提供了一种电子设备,包括:处理器、通信总线、通信接口以及存储器;通信总线分别连接处理器、通信接口和存储器;存储器存储有计算机可读取指令,当处理器执行可读取指令时,运行第一方面,以及第一方面的任一种可能的实现方式提供的句法分析方法。
本申请实施例的技术方案至少具有如下优点和有益效果:将词性以及句法关系的信息结合在深度神经网络,因为具备完整词意的词组处于语法树同一个子树下,使得对成语、习语、俗语和网络用语等词组的预测具备可解释性,从而在解析语句的时候,可以使得成语、习语、俗语和网络用语等具备完整词意的词组作为整体进行解析,从而使得识别的结果更为准确。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
101-预训练字词向量模块;102-第一循环神经网络模块;103-第一线性计算模块;104-词性损失函数模块;105-字/词向量拼接模块;106-第二线性计算模块;107-第二循环神经网络模块;108-第三线性计算模块;109-第四线性计算模块;110-候选操作损失函数模块。
图1为本申请实施例提供的一种电子设备的结构框图;
图2为本申请实施例提供的一种句法分析方法的流程图;
图3为本申请实施例提供的一种可能的实现方式的示意图;
图4为本申请实施例提供的一种可能的实现方式的模型流程图;
图5为本申请实施例提供的另一种可能的实现方式的示意图;
图6为本申请实施例提供的一种句法分析装置的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
请参阅图1,本申请一些可能的实施例提供了一种电子设备10。电子设备10可以为个人电脑(personal computer,PC)、平板电脑、智能手机、个人数字助理(personaldigitalassistant,PDA)等,或电子设备10可以为网络服务器、数据库服务器、云服务器或由多个子服务器构成的服务器集成等。
可理解到的是,在一些应用场景中,若电子设备10服务于数量较少的对象,即电子设备10与数量较少的对象进行通信,以跟踪并监测这些对象的位置。那么,电子设备10可以不需要太多的性能的要求,故在这种情况下,电子设备10可以选择为个人电脑、平板电脑、智能手机、个人数字助理等。但在另一些应用场景中,若电子设备10服务于数量众多的对象,即电子设备10与大量的对象进行通信,以跟踪并监测这些对象的位置。那么,则对电子设备10的性能的要求很高,故在这种情况下,电子设备10可以选择为网络服务器、数据库服务器、云服务器或由多个子服务器构成的服务器集成等。
进一步地,作为一种可选地方式,该电子设备10可以包括:存储器111、通信接口112、通信总线113和处理器114。其中,处理器114、通信接口112和存储器111通过通信总线113连接。处理器114用于执行存储器111中存储的可执行模块,例如计算机程序。图1所示的电子设备10的组件和结构只是示例性的,而非限制性的,根据需要,电子设备10也可以具有其他组件和结构。
其中,存储器111可能包含高速随机存取存储器(Random Access Memory RAM),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。
通信总线113可以是ISA总线((Industry Standard Architecture,工业标准体系结构)、PCI总线(Peripheral Component Interconnect,外设部件互连标准)或EISA总线(Extended Industry Standard Architecture,扩展工业标准结构)等。通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图1中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器114可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器114中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器114可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。
本发明实施例定义的装置所执行的方法可以应用于处理器114中,或者由处理器114实现。处理器114可以通过与电子设备10中其他模块或者元器件配合,从而执行句法分析方法。下面将对句法分析方法的执行进行详细地说明。
请参阅图2,本申请一些可能的实施例提供了一种句法分析方法。该句法分析方法可以由电子设备执行,方法包括:步骤S11和步骤S12。
步骤S11:对当前位于缓存空间中的多个字词向量分别对应的第一索引重新组合排列,获得K种候选词组索引单元组成的第一字词索引集合,其中,包括:根据多个字词向量在缓存空间的存储地址,将每个字词向量在缓存空间的存储地址赋予互不相同的数值,将每个字词向量的数值确定为每个字词向量的第一索引;根据组合的数量和组合的顺序,对第一索引进行组合排列,每一种组合排列方式形成一种候选词组索引单元,第一字词索引集合包括了当前位于缓存空间中第一索引组合排列形成的所有可能性的候选词组单元;
步骤S12:查询与每个候选词组索引单元对应的词组向量,获得每个词组向量的第一得分,根据第一得分预测当前从缓存空间转移至栈空间进行移位操作时移动的词组向量。
下面将对该句法分析方法的流程做详细说明。句法分析(syntactic parsing)是自然语言处理中的关键技术之一,它是对输入的文本句子进行分析以得到句子的句法结构的处理过程。对句法结构进行分析,一方面是语言理解的自身需求,句法分析是语言理解的重要一环,另一方面也为其它自然语言处理任务提供支持,例如句法驱动的统计机器翻译需要对源语言或目标语言(或者同时两种语言)进行句法分析。语义分析通常以句法分析的输出结果作为输入以便获得更多的指示信息。根据句法结构的表示形式不同,最常见的句法分析任务可以分为以下三种:句法结构分析(syntactic structure parsing),又称短语结构分析(phrase structure parsing),也叫成分句法分析(constituent syntacticparsing),作用是识别出句子中的短语结构以及短语之间的层次句法关系;依存关系分析,又称依存句法分析(dependency syntactic parsing),简称依存分析,作用是识别句子中词汇与词汇之间的相互依存关系;深层文法句法分析,即利用深层文法,例如词汇化树邻接文法(Lexicalized Tree Adjoining Grammar,LTAG)、词汇功能文法(Lexical FunctionalGrammar,LFG)、组合范畴文法(Combinatory Categorial Grammar,CCG)等,对句子进行深层的句法以及语义分析。
在本申请实施例中,句法分析是以依存句法分析为基础的。依存句法分析就是将句子分析成一棵依存句法树,描述各个词语之间的依存关系,即指出词语之间在句法上的搭配关系。一方面,句法分析可对相应语法书库构建体系的正确性和完备性进行验证;另一方面,句法分析也可直接服务于各种上层应用,如信息抽取和自动问答等其他自然语言处理相关的任务。通过依存句法分析,可以解析句子的语法结构,并对词与词之间建立非对称的语法关系。
例如,“所以我们满脸通红地交流”这句话,基于依存句法分析,可以进行如图3所示的划分。如图3,示例中由多个字词组成的一个具有完整语义的句子,对组成句子的每个字词进行了词性标注以及对字词与字词之间的句法关系进行了标注。详细地,词性指的是一类词的语法特征,即其所具有的语法功能,词性包括:名词、动词、代词、副词和形容词等;字词与字词之间的句法关系是由语言学家标注出来的,包括:副词修饰关系和主语动词关系等57种句法关系。详细地,“所以”这个词语的词性为副词,标注为ADV,而“交流”这个词语的词性为动词,根据副词修饰动词的语法关系即“所以”这个副词修饰了“交流”这个动词,可以判断出“所以”与“交流”存在的句法关系是副词修饰关系,标注为advmod。通过使用依存句法分析算法进行学习,获得的依存句法分析模型可以对一个句子进行句法关系的标注。
基于依存句法分析的算法,包括有移位操作、左弧操作和右弧操作,算法的操作过程是将原本位于缓存空间中的字词移位到栈空间中。现在常用的算法有Arc-Standard 依存句法分析算法,假设,用α表示栈空间,用β表示缓存空间,使用Arc-Standard依存句法分析算法对上述的“所以我们满脸通红地交流”这句话进行解析,解析的过程如表1所示。
步骤数 | 栈空间α | 缓存空间β | 预测操作 |
1 | Root | 所以/我们/满脸通红/地/交流/。 | 移位 |
2 | Root/所以 | 我们/满脸通红/地/交流/。 | 移位 |
3 | Root/所以/我们 | 满脸通红/地/交流/。 | 移位 |
4 | Root/所以/我们/满脸通红 | 地/交流/。 | 移位 |
5 | Root/所以/我们/满脸通红/地 | 交流/。 | 右弧 mark:adv |
6 | Root/所以/我们/满脸通红 | 交流/。 | 移位 |
7 | Root/所以/我们/满脸通红/交流 | 。 | 左弧 advmod |
8 | Root/所以/我们/交流 | 。 | 左弧 nsubj |
9 | Root/所以/交流 | 。 | 左弧 advmod |
10 | Root/交流 | 。 | 移位 |
11 | Root/交流/。 | 右弧 punct | |
12 | Root/交流 | 右弧 root |
表1
上述表1阐释了Arc-Standard 依存句法分析算法对一个句子的解析流程:最开始栈空间α内只有根节点Root,算法模型预测下一个操作为移位操作,“所以”这个词语从缓存空间β被移位到栈空间α,此时栈空间α只有Root和“所以”,不能构成左弧和右弧关系;第二步,算法模型预测依然是移位操作,“我们”被移位到栈空间α;第三步,由于“所以”和“我们”不具备句法关系,于是依然预测操作为移位操作,“满脸通红”被移入栈空间α;第四步,继续预测为移位操作,“地”被移入栈空间α;第五步,栈空间α中位于栈顶的第一个词语和与栈顶相邻的第二个词语,即“地”是“满脸通红”的副词标记词,且“地”是依赖点,所以“地”被从栈空间α移除;第六步,先检查栈空间α第一个和第二个词语是否有关系,确定没有关系,则预测下一步为移位操作;第七步,“交流”是被“满脸通红”这个副词修饰,所以建立左弧关系,是副词修饰(advmod)关系;第八步,“交流”和“我们”是主语动词关系(nsubj),建立了左弧关系;第九步,“交流”和“所以”也是副词修饰关系,建立的是左弧关系;第十步,栈空间只剩Root和“交流”,所以预测下一步是移位操作;第十一步,句号是“交流”的结束标点符号,句号作为依赖点建立右弧关系;第十二步,由Root建立右弧关系指向“交流”,作为根节点,一切的起点。
上述的Arc-Standard 依存句法分析算法,针对每一次移位操作,将会默认移动缓存空间β中的第一个字词。这样的分析算法可能使得有些成语、俗语和习语等具有完整的词意的一个完整的词组被解析成几个单独的字词,使得划分出来的字词不能表达成语、俗语和习语等一个完整的词组所代表的意思。
在本申请实施例中,作为一种可能实现的技术方案,将采取下面的步骤,使得在解析语句时先在移位操作、左弧操作和右弧操作中预测出将要进行的操作;其次对于移位操作,本申请实施例提供的一种技术方案不会默认移动缓存空间中的第一个字词,而是需要预测一个字词序列,通过字词序列,可以把俗语、成语和习语等一个完整的词组进行移位操作,对于左弧操作和右弧操作,可以预测出准确的句法关系。
请参阅图4,图4表示本申请实施例提供的一种可能的实现方式的模型流程图。对于要进行解析的原始语句,先进行把一个句子切分成多个字词的分词处理,然后把分好词的句子输入到预训练字词向量模块101,预训练字词向量模块101接收已经分好词的句子,并输出每个字词对应的向量,即预训练字词向量模块101用于把原始语句中的多个字词表示成数值向量的形式,使得原始语句中的多个字词在解析过程中可以进行相关的计算。再将与原始语句中的多个字词对应的多个字词向量输入第一循环神经网络模块102中,该模块可以将字词向量之间的信息和相关性串联起来,输出具备上下文信息的字词向量。第一线性计算模块103接收具备上下文信息的字词向量,进行线性变换,而词性损失函数模块104将原始语句中每个字词向量的词性作为正确的标签,与第一线性计算模块103输出的字词向量进行对比训练,目的是训练学习出每一种词性的向量表示,例如,名词是一种词性,可以通过上述的学习方式,对于名词这个词性学习出一个固定的向量代表名词,而动词是另一个词性,通过训练学习,将学习出另一个固定的向量代表动词,代表名词的固定向量与代表动词的固定向量是不同的。第一循环神经网络模块102输出的具备上下文信息的字词向量与通过第一线性计算模块103和词性损失函数模块104学习到的词性向量在字/词向量拼接模块105进行拼接,每一个具备上下文信息的字词向量与其对应的词性向量进行拼接,这样使得字/词向量拼接模块105输出的字词向量是由代表字词本身的信息的字词向量与代表它词性的词性向量结合起来,具有丰富的语法特征。然后再将拼接后的具有词性的字词向量输入至第二线性计算模块106,该模块将输入的具有词性的字词向量压缩维度,这是为了之后的计算更快,并且经过第二线性计算模块106的线性变换后,可以在空间中更好地进行综合表征字词与词性信息,且第二线性计算模块106输出的是各个独立的经过一系列变换压缩后的具有词性信息的字词向量。
可以理解的是,对于一个词语,即使是相同的一个词语,可能会因为词性不同而扮演句子中的不同角色。比如:“装修”是动词,一般作为谓语,但是“装修工人”里面“装修”是名词修饰词,词性一般是形容词。这样给一个词语组合了它在句子中的词性向量,就可以表达出更加综合的词组以及语句。
经过上述的一系列的操作运算,获得原始语句中多个字词一一对应的多个字词向量,并基于获得的多个字词向量进行下面步骤。
步骤S11:对当前位于缓存空间中的多个字词向量分别对应的第一索引重新组合排列,获得K种候选词组索引单元组成的第一字词索引集合,其中,包括:根据多个字词向量在缓存空间的存储地址,将每个字词向量在缓存空间的存储地址赋予互不相同的数值,将每个字词向量的数值确定为每个字词向量的第一索引;根据组合的数量和组合的顺序,对第一索引进行组合排列,每一种组合排列方式形成一种候选词组索引单元,第一字词索引集合包括了当前位于缓存空间中第一索引组合排列形成的所有可能性的候选词组单元。
解析原始语句的时候,是将位于缓存空间中的原始语句中的字词向量全部转移至栈空间中。在这个过程中,对当前位于缓存空间中的多个字词向量分别对应的第一索引重新组合排列,获得K种候选词组索引单元组成的第一字词索引集合,其中,第一字词索引集合包括了当前位于缓存空间中字词向量组合排列形成的所有可能性的候选词组索引单元;查询与每个候选词组索引单元对应的词组向量,获得每个词组向量的第一得分,根据第一得分预测当前从缓存空间转移至栈空间进行移位操作时移动的词组向量。
详细地,原始语句中的多个字词经过处理得到多个字词向量,便于后续步骤的计算。将多个字词向量存放在缓存空间的方式,可以为随机将每个字词向量存放在缓存空间中,每个字词向量与每个字词向量的存储地址是离散随机的,也可以为多个字词向量按照与原始语句中多个字词对应的顺序依次存放在缓存空间中,每个字词向量与每个字词向量的存储地址是连续的。在本申请实施例中,多个字词向量按照与原始语句中各个字词对应的顺序,存放在缓存空间中,每个字词向量与每个字词向量的存储地址是连续的,每个字词向量存放在缓存空间的存储地址对应的数字将会作为该字词向量对应的第一索引。例如,当前状态下,缓存空间中剩下的原始语句对应的字词向量为“过程/具体/是/怎么/样/的/呢”, 其中,“/”这个符号用于表示字词向量与字词向量之间的分隔。用“V”表示字词向量,将“过程”这个字词向量存放在缓存空间中时,用“0”这个数字表示“过程”这个字词向量存放在位于缓存空间中的存储地址,用“V0”表示“过程”这个字词向量存放在存储地址为“0”的缓存空间中,“V0”既可以表示“过程”这个字词向量,同时也可以表示“过程”这个字词向量对应的缓存空间中存储地址为“0”。由于每个字词向量存放在缓存空间中的存储地址对应的数字是不同且唯一的,因此,可以将每个字词向量存放在缓存空间中的存储地址对应的数字作为第一索引,通过第一索引可以查询到缓存空间中的字词向量,且提高了查询的效率。
在本申请实施例中,多个字词向量按照与原始语句中各个字词对应的顺序,存放在缓存空间中,每个字词向量与每个字词向量的存储地址是连续的,每个字词向量存放在缓存空间的存储地址对应的数字将会作为该字词向量对应的第一索引,因此,在“过程”这个字词向量用“V0”表示的基础上,“具体”这个字词向量可以用“V1”表示,“是”这个字词向量可以用“V2”表示,“怎么”这个字词向量可以用“V3”表示,“样”这个字词向量可以用“V4”表示,“的”这个字词向量可以用“V5”表示,“呢”这个字词向量可以用“V6”表示。每一个字词向量中的数字代表了该字词向量对应的第一索引,通过使用0,1,2,3,4,5,6这种位置数字就可以找到对应的字词向量。
为了使得进行移位操作时,不是默认移动缓存空间中的第一个字词向量,将对当前位于缓存空间中的多个字词向量分别对应的第一索引重新组合排列。组合的方式可以为按照从一个字词向量到多个字词向量的组合数量,以及结合字词向量之间不同的组合顺序进行组合。组合的方式可以是所有的字词向量不分顺序进行组合排列,也可以根据第一个字词向量的顺序是固定的,后面的字词向量进行组合;以及组合的过程中,组合的字词向量的个数也是可以变化的。例如,对当前位于缓存空间中包括的“过程/具体/是/怎么/样/的/呢”这7个字词向量对应的索引进行组合,那么可以有0,1,2,3,4,5,6,01,02,03,10,20,30,012,210,013,310, 0123,3210,0124, 01234, 0123456,…,6543210等多种组合的方式。在本申请实施例中,由于原始语句中的多个字词向量之间的排列具有次序性,目标字词向量序列的排列顺序也是基于原始语句中的多个字词向量的排列顺序,因此,在字词向量的索引在组合排列的过程中,可以排除在从左向右的顺序,数值大的数字索引位于数值小的数字索引的左边的情况。例如,10,210,3210等这种索引的组合情况不会出现;同时,也排除了多个相同索引进行组合排列的情况,如00,111,2222这种组合排列方式。这样的组合排列方式,既可以保证由多个字词向量组合形成的一个具有完整意义的字词向量序列有被输出的可能性,也可以减少不必要的组合可能性,减少运算量。例如,对上述例子中的字词向量的索引进行组合排列,即把‘过程’、“具体”、“是”、“怎么”、“样”、“的”、“呢”都组合一遍,组合的结果包括:“过程具体”、“过程是”、“过程怎么”、“过程样”、“过程的”、“过程呢”、“过程具体是”、“过程具体怎么”、…、“过程具体是怎么样的呢”。通过对当前位于缓存空间中的多个字词向量分别对应的第一索引重新组合排列,每一种组合排列方式形成一个候选词组索引单元,对所有的组合排列方式形成的候选词组索引单元进行集合,获得K个候选词组索引单元组成的第一字词索引集合。
步骤S12:查询与每个候选词组索引单元对应的词组向量,获得每个词组向量的第一得分,根据第一得分预测当前从缓存空间转移至栈空间进行移位操作时移动的词组向量。
应当理解的是,由于每个第一索引可以指向该第一索引对应的字词向量,因此,第一索引之间进行不同的组合,实质上也是各个字词向量的组合,即可以根据第一索引的组合使得不同的字词向量进行组合。
在第一字词索引集合里包括了多种第一索引组合的结果,多种第一索引组合的结果对应着多种字词向量组合的结果,利用字词向量的第一索引组合找到对应的字词向量组合的这个过程中,对字词向量的第一索引重新组合排列的这个过程,实质上,也就是为了原来被划分的词组有更多可能的组合,这样可以使得原来一个俗语、成语和习语等一个完整的词组却被划分成多个单独的词语有着重新被组合成一个完整词组的可能性。
通过原始语句中多个字词向量的第一索引重新组合排列,每一种第一索引的组合排列方式形成一个候选词组索引单元,获得K个候选词组索引单元组成的第一字词索引集合。第一字词索引集合中具有K个候选词组索引单元,实际上,只有一个候选词组索引单元对应的字词向量才是实际上真正的目标词组向量。在本申请实施例中,作为一种可能的实现方式,查询与每个候选词组索引单元对应的字词向量,获得与每个候选词组索引单元对应的字词向量的第一得分,根据第一得分预测当前从缓存空间转移至栈空间进行移位操作时移动的候选词组索引单元对应的组合的字词向量。
详细地,第一字词索引集合中包括了当前位于缓存空间中第一索引组合排列形成的所有可能性的候选词组索引单元,根据第一字词索引集合中的 K个候选词组索引单元,找到每个候选词组索引单元对应的字词向量组合形成的词组,并将K个候选词组索引单元对应的K种字词向量组合形成的词组输入至第二循环神经网络模块107中,第二循环神经网络模块107将综合每个词组中的字词信息输出K个相互不同的词组向量,并将K个词组向量输入至第三线性计算模块108中,第三线性计算模块108将K个词组向量进行线性变换输出K个词组向量对应的第一得分。
在神经网络训练过程中,神经网络的预测输出为一种或者多种数值,这个数值可以被称为分数,数值不同,分数不同。分数越高,说明神经网络的预测输出越接近目标输出结果。可以理解的是,分数也可以理解成得分,分数即得分。在本申请实施例中,每种第一索引的组合排列结果对应一个候选词组索引单元,每一个候选词组索引单元对应一个词组向量,经过运算处理,每一个词组向量会转化对应一个第一得分,第一得分可以用于表征该词组向量与正确的目标输出结果之间的相似程度,第一得分越高,表示该词组向量越接近正确的目标输出结果。通过将每个词组向量输入至第二循环神经网络模块107和第三线性计算模块108中,对每个字词向量进行一系列的线性变换的方式来获得每个词组向量对应的第一得分。
需要说明的是,本申请实施例中,使用的是循环神经网络模块,在此仅仅作为一种可选的实现方式,并不做限制。获得K种词组向量对应的第一得分后,将根据每个词组向量的第一得分预测进行移位操作时移动的词组向量。词组向量的第一得分越高,被预测为移位操作时的移动的词组向量的概率越大。
句法分析方法还包括:获得当前可建立句法关系的第二字词索引集合,其中,第二字词索引集合包括当前位于缓存空间中的第一个字词向量对应的第二字词索引、当前位于栈空间中的栈顶的字词向量对应的第二字词索引以及与栈顶相邻位置的字词向量对应的第二字词索引,当前位于栈空间中的栈顶和与栈顶相邻位置的两个字词向量之间可以进行左弧操作或右弧操作,左弧操作基于57种句法关系,右弧操作基于57种句法关系;根据句法关系,将第二字词索引集合中的第二字词索引映射成114种由字词向量组成的句法关系词组向量,获得114种句法关系词组向量的第二得分,将最高的第二得分对应的句法关系预测为当前从缓存空间转移至栈空间时字词向量进行左弧操作或右弧操作对应的句法关系。
每一种句法关系词组向量对应一个第二得分,第二得分可以用于表征该句法关系词组向量包括的句法关系与正确的句法关系之间的相似程度,第二得分越高,表示该句法关系词组向量包括的句法关系越接近正确的句法关系。通过将每个句法关系词组向量至第四线性计算模块109中,对每个句法关系词组向量进行一系列的线性变换的方式来获得每个句法关系词组向量对应的第二得分。
详细地,可以观察到的左弧操作和右弧操作是基于位于栈空间中的栈顶和与栈顶相邻位置的两个字词向量进行的操作。实际上,作为一种可能的实现方式,第二字词索引集合还包括当前位于缓存空间中的第一个字词向量对应的第二字词索引,用做指向当前位于缓存空间中的第一个字词向量。对位于栈空间中的两个字词向量进行左弧操作或者右弧操作时,这意味着位于栈空间中的两个字词向量与缓存空间中的第一个字词向量之间可能存在不一样的地方,因此将缓存空间中的第一个字词向量包括在第二字词索引集合中作为一种特征,使得在预测两个字词向量进行左弧操作或者右弧操作时的预测结果更准确。
位于栈空间中的栈顶和与所述栈顶相邻位置的两个字词向量之间可以进行左弧操作和/或右弧操作,并且进行左弧操作还是右弧操作取决于关系词组索引单元的句法关系。例如,原始语句为“我们满脸通红地交流”,在从缓存空间转移至栈空间时,已经将“我们”“满脸通红”“地”这几个字词向量移位至栈空间,在预测接下来是进行移位操作还是左右弧操作时,根据栈空间中的“地”这个字词向量是“满脸通红”这个字词向量的副词标记词,即用“地”修饰“满脸通红”,“满脸通红”这个字词向量是被修饰的,所以进行右弧操作,去掉“地”这个字词向量,保留“满脸通红”这个字词向量。句法关系是已经被语言学家定义好的,包括副词修饰关系、主语动词关系等57种句法关系。由于有左弧操作和右弧操作这两种指向操作,所以共有57*2=114种句法关系。
在当前状态下,第二字词索引集合包括当前位于缓存空间中的第一个字词向量对应的第二字词索引、当前位于栈空间中的栈顶的字词向量对应的第二字词索引以及与栈顶相邻位置的字词向量对应的第二字词索引,在使用第二字词索引找到对应的字词向量,并将字词向量输入至第三线性计算模块109中进行线性变换的过程中,可以根据映射关系以及运算,获得基于114种句法关系的114个第二得分。也就是说,通过获得第二字词索引集合中3个第二字词索引找到的字词向量的信息特征,在将字词向量输入至第三线性计算模块109中进行线性变换的过程中,根据映射关系,可以获得第二字词索引集合中3个第二字词索引对应的字词向量之间的句法关系特征。
上述的计算过程中,直接将字词向量输入至第三线性计算模块109,而不经过神经网络模块,这是因为输入的两个字词向量不具备直接的上下文关系,所以直接输入至线性计算模块得出114种句法关系的第二得分。
根据获得的114种句法关系对应的114个第二得分中的最高分,可以预测当前状态从缓存空间转移至栈空间时,是进行左弧操作还是右弧操作,以及进行左右弧操作时的句法关系。第二得分越高,被预测为左弧操作或右弧操作对应的句法关系的概率越大。
句法分析方法还包括:根据K个词组向量的所述第一得分和114种句法关系词组向量的第二得分,对当前从缓存空间转移至栈空间时字词向量将在移位操作、左弧操作和右弧操作的三种操作中做出预测。
详细地,将K+114个得分进行汇合,将其中的最高得分对应的结果预测为从缓存空间移位至栈空间时将要进行的操作。若最高得分是位于K个词组向量对应的K个第一得分中,那么将预测当前从缓存空间转移至栈空间时字词向量进行的操作为移位操作,并且移位的字词向量序列为最高得分对应的词组向量;若最高得分是位于114个第二得分中,那么将预测当前从缓存空间转移至栈空间时对字词向量进行的操作为左弧操作或者右弧操作,并且将最高得分对应的句法关系预测为正确的句法关系。
通过将K+114个得分进行汇合,将其中的最高得分对应的结果作为预测结果这种方法,首先,是先在移位操作、左弧操作和右弧操作三个操作中做出预测,其次,对于移位操作,预测移位操作时移位哪个词组向量,对于左弧操作和右弧操作,预测出准确的句法关系。
需要说明的是,将K+114个得分进行汇合,将其中的最高得分对应的结果作为预测结果这种方法,实际上,预测结果可能与预设的正确的标签不一定匹配,其中,正确的标签用于表征原始语句中多个字词向量之间具有的正确的操作和正确的所句法关系,详细地,正确的标签可以为人工对原始语句进行正确的划分即人为的进行标注,包括对俗语、成语和习语等一个完整的词组划分成一个词组,以及正确的句法关系。因此,需要对预测结果进行学习和修正,使得预测结果可以更接近正确的标签。而对预测结果进行学习和修正,可以将K+114个得分与正确的标签一起进行训练学习,使得预测结果可以更接近正确的标签。
具体地,将K+114个得分与正确的标签一起输入至候选操作损失函数模块110进行训练学习,其中,每一个得分对应一个分类,分类表示预测结果。在K+114个得分分别对应的分类中,只有一个得分对应的分类与正确的标签对应,将该个得分对应的分类设为1,其他K+113个得分对应的分类与正确的标签不对应,将这K+113个得分对应的分类设为0。候选操作损失函数模块110将K+114个得分转变成K+114个概率,根据候选操作损失函数模块的损失函数特点,只有与正确的标签对应的那一个分类的概率在候选操作损失函数模块中进行了损失计算。损失函数最终在训练学习时都会反向传播梯度,来更新前面的第二循环神经网络模块107、第三线性计算模块108、第四线性计算模块109的参数,使得与正确的标签对应的分类的概率更大。
为了便于理解,假设获得7个得分,在候选操作损失函数模块中转化成7个概率,这7个得分对应的概率分别为0.2、0.12、0.4、0.1、0.002、0.11、0.068,而与正确的标签对应的分类概率为0.1。在这个7个概率里面,最大值为0.4,在本申请实施例中的技术方案,将会把0.4对应的分类作为预测结果,然而,这个预测结果与正确的标签不对应,因此,将与正确的标签对应的分类概率0.1进行损失计算,通过计算可以获得与正确的标签对应的分类与正确的分类之间的差值,这个差值表示了距离正确的分类的差异,与正确的标签对应的分类概率越小,差值越大,表示损失越高。通过这个差值会计算针对每个前面神经网络层中的参数的梯度,通过神经网络优化算法进行参数更新,使得与正确的标签对应的分类的概率增大,从而使得整个神经网络的参数朝向正确标签会拿到最低的损失的方向更新。所以在学习训练和修正训练完成后,最终想要的分类概率更高,即最终想要的字词向量对应的分数会更高,从而使得预测结果可以更接近正确的标签,预测结果也更准确。
当前状态下,当计算获得的与正确的标签对应的分类与正确的分类之间的差值满足预设条件时,将会从当前状态进入下一个状态。在进行下一个状态时,对字词向量之间将要进行的操作进行预测,这个预测是基于上一个状态人工标注的正确的标签进行的。
详细地,从当前状态迁移转变成下一个状态,也就是当前的状态下,对要进行的操作的预测结果已经满足预设条件,将预测下一个字词向量从缓存空间转移至栈空间时将要进行的操作。对下一个状态的预测,可以是基于上一个状态的预测结果进行下一个状态的预测,也可以基于人工进行标注的正确的标签进行下一个状态的预测。在本申请实施例中,采用基于人工进行标注的正确的标签进行下一个状态的预测这种方式,这种方式可以使得预测结果更加准确。
假设,对一个语句进行标注,给定的正确的标签为第一步进行移位一个字,第二步进行移位一个词组,第三步为进行左弧操作。而当前状态,对第一步的操作进行预测,预测结果为右弧操作,这和给定的正确标签相差较大,通过不断的修正和学习训练,使得第一步的预测结果为移位一个字的概率提高,直至满足预设条件,将进行对第二步进行预测。在对第二步的操作进行预测时,是基于第一步操作为与正确的标签相符的基础上进行的,同理,在对第三步的操作进行预测时,是基于第一步操作为与正确的标签相符和第二步操作为与正确的标签相符的基础上进行的。
根据本申请实施例提供的一种可能的实现方式,对原始语句中的俗语、成语和习语等一个完整的词组的识别结果如下表2所示。
步骤数 | 栈空间α | 缓存空间β | 预测操作 |
1 | Root | 我/看/你/这/臭/小子/是/三/天/不/打/上房/揭瓦/。 | 移位 |
2 | Root/我 | 看/你/这/臭/小子/是/三/天/不/打/上房/揭瓦/。 | 移位 |
3 | Root/我/看 | 你/这/臭/小子/是/三/天/不/打/上房/揭瓦/。 | 左弧 nsubj |
4 | Root/看 | 你/这/臭/小子/是/三/天/不/打/上房/揭瓦/。 | 移位 |
5 | Root/看/你 | 这/臭/小子/是/三/天/不/打/上房/揭瓦/。 | 移位 |
6 | Root/看/你/这 | 臭/小子/是/三/天/不/打/上房/揭瓦/。 | 移位(词组敏感预测出固定词组) |
7 | Root/看/你/这/臭小子 | 是/三/天/不/打/上房/揭瓦/。 | 左弧 det |
8 | Root/看/你/臭小子 | 是/三/天/不/打/上房/揭瓦/。 | 移位 |
9 | Root/看/你/臭小子/是 | 三/天/不/打/上房/揭瓦/。 | 左弧 nsubj |
10 | Root/看/你/是 | 三/天/不/打/上房/揭瓦/。 | 移位(词组敏感预测出固定词组) |
11 | Root/看/你/是/三天不打上房揭瓦 | 。 | 左弧 cop |
12 | Root/看/你/三天不打上房揭瓦 | 。 | 左弧 nsubj |
13 | Root/看/三天不打上房揭瓦 | 。 | 右弧 ccomp |
14 | Root/看 | 。 | 移位 |
15 | Root/看/。 | 右弧 punct | |
16 | Root/看 | 右弧 root |
表2
以上表2描述了本申请实施例提供的一种句法分析方法的实现方式对“我看你这臭小子是三天不打上房揭瓦”这句话的句法解析流程。图5为现有的句法分析方法对“我看你这臭小子是三天不打上房揭瓦”这句话的句法解析流程。
可以理解的是,现有的句法分析方法将“臭小子”这个为昵称的词组向量拆分成了“臭”和“小子”两个字词向量,并且也将“三天不打上房揭瓦”这句为俗语的一个词组拆分成“三”、“天”、“不”、“打”、“上房”和“揭瓦”这六个字词向量,一个完整的词组向量被拆分成多个字词向量,这使得在对语句的分析识别结果不准确。
本申请实施例提供的技术方案中,可以将被预测可以组合成一个具备完整意思的词组“臭小子”和“三天不打上房揭瓦”作为一个整体进行移位操作、左弧操作和右弧操作,这就使得在在对语句的分析识别结果更准确。将成语、习语、俗语和网络用语等词组划分到处于同一个句法分析树的子树下,从而可以融合更多的语言学特征,帮助更好地发现学习成语、习语、俗语和网络用语等词组。
请参阅图6,本申请一些可能的实施例提供了一种句法分析装置100,该数据分析装置100包括:
第一处理模块120,用于对当前位于缓存空间中的多个字词向量分别对应的第一索引重新组合排列,获得K种候选词组索引单元组成的第一字词索引集合,其中,包括:根据多个字词向量在缓存空间的存储地址,将每个字词向量在缓存空间的存储地址赋予互不相同的数值,将每个字词向量的数值确定为每个字词向量的第一索引;根据组合的数量和组合的顺序,对第一索引进行组合排列,每一种组合排列方式形成一种候选词组索引单元,第一字词索引集合包括了当前位于缓存空间中第一索引组合排列形成的所有可能性的候选词组单元。
第二处理模块130,用于查询与每个候选词组索引单元对应的词组向量,获得每个词组向量的第一得分,根据第一得分预测当前从缓存空间转移至栈空间进行移位操作时移动的所述词组向量。
需要说明的是,由于所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
综上所述,本申请实施例提供了一种句法分析方法,方法用于解析原始语句,使得原始语句中的多个字词向量从缓存空间全部转移至栈空间的过程,方法包括:对当前位于缓存空间中的多个字词向量分别对应的第一索引重新组合排列,获得K种候选词组索引单元组成的第一字词索引集合,其中,包括:根据多个字词向量在缓存空间的存储地址,将每个字词向量在缓存空间的存储地址赋予互不相同的数值,将每个字词向量的数值确定为每个字词向量的第一索引;根据组合的数量和组合的顺序,对第一索引进行组合排列,每一种组合排列方式形成一种候选词组索引单元,第一字词索引集合包括了当前位于缓存空间中第一索引组合排列形成的所有可能性的候选词组单元;查询与每个候选词组索引单元对应的词组向量,获得每个词组向量的第一得分,将最高的第一得分对应的词组向量预测为当前从缓存空间转移至栈空间进行移位操作时移动的词组向量。将词性以及句法关系的信息结合在深度神经网络,因为具备完整词意的词组处于语法树同一个子树下,使得对成语、习语、俗语和网络用语等词组的预测具备可解释性,从而在解析语句的时候,可以使得成语、习语、俗语和网络用语等具备完整词意的词组作为整体进行解析,从而使得识别的结果更为准确。
本申请一些可能的实施例提供了一种存储介质,配置为存储计算机可执行指令,该计算机可执行指令被执行时执行上述任意一项实施例提供的句法分析方法的操作。
本申请一些可能的实施例提供了一种计算机程序产品,包括计算机可执行指令,当上述计算机可执行指令在设备上运行时,该设备中的处理器执行用于实现上述任意一项实施例提供句法分析方法的指令。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (9)
1.一种句法分析方法,所述方法用于解析原始语句,使得所述原始语句中的多个字词向量从缓存空间全部转移至栈空间的过程,其特征在于,所述方法包括:
对当前位于所述缓存空间中的多个所述字词向量分别对应的第一索引重新组合排列,获得K种候选词组索引单元组成的第一字词索引集合,其中,包括:根据多个字词向量在缓存空间的存储地址,将每个字词向量在缓存空间的存储地址赋予互不相同的数值,将每个字词向量的数值确定为每个字词向量的第一索引;根据组合的数量和组合的顺序,对第一索引进行组合排列,每一种组合排列方式形成一种候选词组索引单元,第一字词索引集合包括了当前位于缓存空间中第一索引组合排列形成的所有可能性的候选词组单元;
查询与每个所述候选词组索引单元对应的词组向量,获得每个所述词组向量的第一得分,将最高的所述第一得分对应的所述词组向量预测为当前从所述缓存空间转移至所述栈空间进行移位操作时移动的所述词组向量。
2.根据权利要求1所述的句法分析方法,其特征在于,所述方法还包括:
获得当前可建立句法关系的第二字词索引集合,其中,所述第二字词索引集合包括当前位于所述缓存空间中的第一个所述字词向量对应的第二字词索引、当前位于所述栈空间中的栈顶的所述字词向量对应的第二字词索引以及与所述栈顶相邻位置的所述字词向量对应的第二字词索引,当前位于所述栈空间中的栈顶和与所述栈顶相邻位置的两个所述字词向量之间可以进行左弧操作或右弧操作,所述左弧操作基于57种所述句法关系,所述右弧操作基于57种所述句法关系;
根据所述句法关系,将所述第二字词索引集合中的所有所述第二字词索引映射成114种由所述字词向量组成的句法关系词组向量,获得114种所述句法关系词组向量的第二得分,将最高的所述第二得分对应的所述句法关系预测为当前从所述缓存空间转移至所述栈空间时所述字词向量进行所述左弧操作或所述右弧操作对应的所述句法关系。
3.根据权利要求2所述的句法分析方法,其特征在于,所述方法还包括:
根据K个所述词组向量的所述第一得分和114种所述句法关系词组向量的所述第二得分,对当前从所述缓存空间转移至所述栈空间时所述字词向量将在所述移位操作、所述左弧操作和所述右弧操作的三种操作中做出预测。
4.根据权利要求3所述的句法分析方法,其特征在于,所述根据K个所述词组向量的所述第一得分和114种所述句法关系词组向量的所述第二得分,对当前从所述缓存空间转移至所述栈空间时所述字词向量将在所述移位操作、所述左弧操作和所述右弧操作的三种操作中做出预测,包括:
确定K个所述词组向量的所述第一得分和114种所述句法关系词组向量的所述第二得分中的最高得分;
将所述最高得分对应的操作预测为当前从所述缓存空间转移至所述栈空间时进行的操作。
5.根据权利要求4所述的句法分析方法,其特征在于,在所述将所述最高得分对应的操作预测为当前从所述缓存空间转移至所述栈空间时进行的操作之后,所述方法还包括:
对当前所述K个所述词组向量的所述第一得分、114种所述句法关系词组向量的所述第二得分和当前从所述缓存空间转移至所述栈空间时人工标注的正确的标签进行损失函数运算,得到损失函数差值,根据所述损失函数差值,对当前的预测结果进行训练修正,直至满足预设条件时结束,其中,所述正确的标签用于表征所述原始语句中多个所述字词向量之间具有的正确的操作和正确的所述句法关系。
6.根据权利要求5所述的句法分析方法,其特征在于,所述方法还包括:
在当前所述字词向量根据所述预测结果从所述缓存空间转移至所述栈空间,预测下一个状态时所述字词向量的操作时,将根据上一个所述正确的标签预测下一个状态时所述字词向量的操作。
7.一种句法分析装置,其特征在于,所述装置包括:
第一处理模块,用于对当前位于缓存空间中的多个字词向量分别对应的第一索引重新组合排列,获得K种候选词组索引单元组成的第一字词索引集合,其中,包括:根据多个字词向量在缓存空间的存储地址,将每个字词向量在缓存空间的存储地址赋予互不相同的数值,将每个字词向量的数值确定为每个字词向量的第一索引;根据组合的数量和组合的顺序,对第一索引进行组合排列,每一种组合排列方式形成一种候选词组索引单元,第一字词索引集合包括了当前位于缓存空间中第一索引组合排列形成的所有可能性的候选词组单元;
第二处理模块,用于查询与每个所述候选词组索引单元对应的词组向量,获得每个所述词组向量的第一得分,将最高的所述第一得分对应的所述词组向量预测为当前从所述缓存空间转移至栈空间进行移位操作时移动的所述词组向量。
8.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被计算机运行时执行如权利要求1-6任一项所述的句法分析方法。
9.一种电子设备,其特征在于,所述电子设备包括:处理器、通信总线、通信接口以及存储器;
所述通信总线分别连接所述处理器、所述通信接口和所述存储器;
所述存储器存储有计算机可读取指令,当所述处理器执行可读取指令时,运行如权利要求1-6中任一权项所述的句法分析方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010638300.8A CN111523302B (zh) | 2020-07-06 | 2020-07-06 | 一种句法分析方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010638300.8A CN111523302B (zh) | 2020-07-06 | 2020-07-06 | 一种句法分析方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111523302A CN111523302A (zh) | 2020-08-11 |
CN111523302B true CN111523302B (zh) | 2020-10-02 |
Family
ID=71911993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010638300.8A Active CN111523302B (zh) | 2020-07-06 | 2020-07-06 | 一种句法分析方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111523302B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113468878A (zh) * | 2021-07-13 | 2021-10-01 | 腾讯科技(深圳)有限公司 | 词性标注方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104991891A (zh) * | 2015-07-28 | 2015-10-21 | 北京大学 | 一种短文本特征提取方法 |
CN107766317A (zh) * | 2016-08-15 | 2018-03-06 | 南京中兴新软件有限责任公司 | 一种生成分词结果的方法及装置 |
CN110489760A (zh) * | 2019-09-17 | 2019-11-22 | 达而观信息科技(上海)有限公司 | 基于深度神经网络文本自动校对方法及装置 |
CN111274399A (zh) * | 2020-01-20 | 2020-06-12 | 上海市大数据中心 | 一种基于自然语言预处理的公共数据分级方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101196898A (zh) * | 2007-08-21 | 2008-06-11 | 新百丽鞋业(深圳)有限公司 | 将词组索引技术应用在互联网搜索引擎中的方法 |
CN101833547B (zh) * | 2009-03-09 | 2015-08-05 | 三星电子(中国)研发中心 | 基于个人语料库进行短语级预测输入的方法 |
CN102929870B (zh) * | 2011-08-05 | 2016-06-29 | 北京百度网讯科技有限公司 | 一种建立分词模型的方法、分词的方法及其装置 |
CN202623710U (zh) * | 2012-06-04 | 2012-12-26 | 刘昊烨 | 一种经济管理专用绘图仪 |
KR20150061393A (ko) * | 2013-11-27 | 2015-06-04 | 삼성전자주식회사 | 메모리 장치로부터 읽은 데이터를 고속으로 전송하는 메모리 컨트롤러 및 그것의 데이터 전송 방법. |
CN106649260B (zh) * | 2016-10-19 | 2022-01-25 | 中国计量大学 | 基于评论文本挖掘的产品特征结构树构建方法 |
CN108268539A (zh) * | 2016-12-31 | 2018-07-10 | 上海交通大学 | 基于文本分析的视频匹配系统 |
CN106844348B (zh) * | 2017-02-13 | 2020-01-17 | 哈尔滨工业大学 | 一种汉语句子功能成分分析方法 |
US10795029B2 (en) * | 2017-02-14 | 2020-10-06 | United States Of America As Represented By The Secretary Of The Navy | Systems and methods for transmitting ship positions and tracks over multiple communications channels |
CN107818781B (zh) * | 2017-09-11 | 2021-08-10 | 远光软件股份有限公司 | 智能交互方法、设备及存储介质 |
CN107656921B (zh) * | 2017-10-10 | 2021-01-08 | 上海数眼科技发展有限公司 | 一种基于深度学习的短文本依存分析方法 |
CN109408628B (zh) * | 2019-01-15 | 2019-06-07 | 深兰人工智能芯片研究院(江苏)有限公司 | 一种解析句子语义结构的方法及相关设备 |
CN110737768B (zh) * | 2019-10-16 | 2022-04-08 | 信雅达科技股份有限公司 | 基于深度学习的文本摘要自动生成方法及装置、存储介质 |
CN110826322A (zh) * | 2019-10-22 | 2020-02-21 | 中电科大数据研究院有限公司 | 一种新词发现和词性预测及标注的方法 |
-
2020
- 2020-07-06 CN CN202010638300.8A patent/CN111523302B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104991891A (zh) * | 2015-07-28 | 2015-10-21 | 北京大学 | 一种短文本特征提取方法 |
CN107766317A (zh) * | 2016-08-15 | 2018-03-06 | 南京中兴新软件有限责任公司 | 一种生成分词结果的方法及装置 |
CN110489760A (zh) * | 2019-09-17 | 2019-11-22 | 达而观信息科技(上海)有限公司 | 基于深度神经网络文本自动校对方法及装置 |
CN111274399A (zh) * | 2020-01-20 | 2020-06-12 | 上海市大数据中心 | 一种基于自然语言预处理的公共数据分级方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111523302A (zh) | 2020-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110032648B (zh) | 一种基于医学领域实体的病历结构化解析方法 | |
Jung | Semantic vector learning for natural language understanding | |
US10409911B2 (en) | Systems and methods for text analytics processor | |
US9152623B2 (en) | Natural language processing system and method | |
Mansouri et al. | Named entity recognition approaches | |
US6684201B1 (en) | Linguistic disambiguation system and method using string-based pattern training to learn to resolve ambiguity sites | |
CN110008472B (zh) | 一种实体抽取的方法、装置、设备和计算机可读存储介质 | |
CN109960728B (zh) | 一种开放域会议信息命名实体识别方法及系统 | |
Kestemont et al. | Integrated sequence tagging for medieval Latin using deep representation learning | |
CN117076653B (zh) | 基于思维链及可视化提升上下文学习知识库问答方法 | |
CN112328800A (zh) | 自动生成编程规范问题答案的系统及方法 | |
CN112417823A (zh) | 一种中文文本语序调整和量词补全方法及系统 | |
Noshin Jahan et al. | Bangla real-word error detection and correction using bidirectional lstm and bigram hybrid model | |
Fischbach et al. | Fine-grained causality extraction from natural language requirements using recursive neural tensor networks | |
CN111523302B (zh) | 一种句法分析方法、装置、存储介质及电子设备 | |
CN110210033B (zh) | 基于主述位理论的汉语基本篇章单元识别方法 | |
Khasianov et al. | Lawyer's intellectual tool for analysis of legal documents in Russian | |
Zheng et al. | Character-based parsing with convolutional neural network | |
Ajees et al. | A named entity recognition system for Malayalam using conditional random fields | |
Khoufi et al. | Chunking Arabic texts using conditional random fields | |
Ramesh et al. | Interpretable natural language segmentation based on link grammar | |
CN110750967B (zh) | 一种发音的标注方法、装置、计算机设备和存储介质 | |
Song et al. | Improving a pipeline architecture for shallow discourse parsing | |
Lê et al. | CCG Supertagging Using Morphological and Dependency Syntax Information | |
US20110320493A1 (en) | Method and device for retrieving data and transforming same into qualitative data of a text-based document |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |