CN106844327B - 文本编码方法及系统 - Google Patents
文本编码方法及系统 Download PDFInfo
- Publication number
- CN106844327B CN106844327B CN201510907916.XA CN201510907916A CN106844327B CN 106844327 B CN106844327 B CN 106844327B CN 201510907916 A CN201510907916 A CN 201510907916A CN 106844327 B CN106844327 B CN 106844327B
- Authority
- CN
- China
- Prior art keywords
- text
- sentence
- dependency
- dependency syntax
- syntax tree
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种文本编码方法及系统,该方法包括:预先构建基于依存句法树的文本编码模型,所述文本编码模型用于描述不同依存关系对应的转换矩阵和偏置项、以及每个词向量映射到隐藏层的转换矩阵和偏置项,相同依存关系对应相同的转换矩阵和偏置项,不同依存关系对应的转换矩阵和/或偏置项不同;接收待编码文本;以句为单位,对所述待编码文本进行依存句法分析,得到待编码文本中各句文本的依存句法树;利用所述文本编码模型及待编码文本中各句文本的依存句法树对待编码文本进行编码,得到编码后的文本。利用本发明,可以提高文本编码的有效性。
Description
技术领域
本发明涉及自然语言处理领域,尤其是一种文本编码方法及系统。
背景技术
随着人工智能的不断发展,人类对人机交互的期待与要求越来越高,自然语言处理作为人机交互中的重要一环,备受人们的关注。目前,自然语言处理正处于探索阶段,句法分析、自然语言信息提取等技术都是研究热点。其中,研究人员较为关注的任务之一是如何可以将自然语言的文本数据进行编码,将编码后的文本用于复杂的自然语言处理中。现有的文本编码方法一般是将文本数据表示为二叉树的形式,基于二叉树的结构构建文本编码模型,利用该文本编码模型将文本数据映射到一个低维的向量空间中,将文本数据表示成向量,所述向量即编码后的文本表示。然而,基于二叉树的结构构建的文本编码模型,由于二叉树的构建是直接将每句文本中的词堆叠在一起,并且二叉树中的所有子节点与父节点之间词向量的映射使用相同的转换矩阵和偏置项,导致训练得到的文本编码模型不能清晰地体现出词与词之间的依赖关系,同时也不能表现出文本的语义信息;因此,使用该文本编码模型对文本进行编码时,并不能使编码后的文本与原文本的句法结构及语义信息更接近,降低了文本编码的有效性。
发明内容
本发明提供一种文本编码方法及系统,以使编码后的文本与原文本的句法结构及语义信息更接近,提高文本编码的有效性。
为此,本发明提供如下技术方案:
一种文本编码方法,包括:
预先构建基于依存句法树的文本编码模型,所述文本编码模型用于描述不同依存关系对应的转换矩阵和偏置项、以及每个词向量映射到隐藏层的转换矩阵和偏置项,相同依存关系对应相同的转换矩阵和偏置项,不同依存关系对应的转换矩阵和/或偏置项不同;
接收待编码文本;
以句为单位,对所述待编码文本进行依存句法分析,得到待编码文本中各句文本的依存句法树;
利用所述文本编码模型及待编码文本中各句文本的依存句法树对待编码文本进行编码,得到编码后的文本。
优选地,所述构建基于依存句法树的文本编码模型包括:
收集文本数据;
以句为单位,对所述文本数据进行依存句法分析,得到每句文本的依存句法树,所述依存句法树中包括句中词与词之间的依存关系;
根据所有依存句法树训练基于依存句法树的文本编码模型。
优选地,所述方法还包括:
在所述对各词和词性标注后的文本进行依存句法分析之前,去除每句文本中的无意义字符及非法字符。
优选地,所述对各句文本进行依存句法分析,得到各句文本的依存句法树包括:
对各句文本进行分词,得到各句文本中的各词;
对各词进行词性标注;
对各词和词性标注后的文本进行依存句法分析,得到各句文本的依存句法树。
优选地,所述根据所有依存句法树训练基于依存句法树的文本编码模型包括:
将各依存句法树中每个词初始化为词向量;
前向计算过程:根据所述依存句法树中每个词的词向量及依存关系对应的转换矩阵和偏置项计算出各节点映射到隐藏层的值;
后向预测过程:根据所述依存句法树中根节点隐藏层的值及依存关系预测出各子节点隐藏层的值;
参数更新过程:通过迭代执行所述前向计算过程和后向预测过程更新模型参数,并且当前向计算出的所有节点隐藏层的值与后向预测出的对应节点隐藏层的值之间的误差小于设定阈值时,结束参数更新过程,得到基于依存句法树的文本编码模型的模型参数。
优选地,所述利用所述文本编码模型及待编码文本中各句文本的依存句法树对待编码文本进行编码,得到编码后的文本包括:
依次将待编码文本中各句文本的依存句法树作为文本编码的结构,根据文本编码模型的参数,从叶子节点开始递归向上计算每个节点映射到隐藏层的值,直到根节点,将计算得到的根节点映射到隐藏层的值作为该句文本的编码。
一种文本编码系统,包括:
模型构建模块,用于预先构建基于依存句法树的文本编码模型,所述文本编码模型用于描述不同依存关系对应的转换矩阵和偏置项、以及每个词向量映射到隐藏层的转换矩阵和偏置项,相同依存关系对应相同的转换矩阵和偏置项,不同依存关系对应的转换矩阵和/或偏置项不同。;
文本接收模块,用于接收待编码文本;
句法分析模块,用于以句为单位,对所述待编码文本进行依存句法分析,得到待编码文本中各句文本的依存句法树;
编码模块,用于利用所述文本编码模型及待编码文本中各句文本的依存句法树对待编码文本进行编码,得到编码后的文本。
优选地,所述模型构建模块包括:
数据收集单元,用于收集文本数据;
句法分析单元,用于以句为单位,对所述文本数据进行依存句法分析,得到每句文本的依存句法树,所述依存句法树中包括句中词与词之间的依存关系;
模型训练单元,用于根据所有依存句法树训练基于依存句法树的文本编码模型。
优选地,所述模型构建模块还包括:
过滤单元,用于在所述句法分析单元对各词和词性标注后的文本进行依存句法分析之前,去除每句文本中的无意义字符及非法字符。
优选地,所述句法分析单元包括:
分词单元,用于对各句文本进行分词,得到各句文本中的各词;
标注单元,用于对各词进行词性标注;
分析单元,用于对各词和词性标注后的文本进行依存句法分析,得到各句文本的依存句法树。
优选地,所述模型训练单元包括:
初始化单元,用于将各依存句法树中每个词初始化为词向量;
前向计算单元,用于执行前向计算过程:根据所述依存句法树中每个词的词向量及依存关系对应的转换矩阵和偏置项计算出各节点映射到隐藏层的值;
后向预测单元,用于执行后向预测过程:根据所述依存句法树中根节点隐藏层的值及依存关系预测出各子节点隐藏层的值;
迭代控制单元,用于执行参数更新过程:通过迭代方式触发所述前向计算单元执行所述前向计算过程、触发所述后向预测单元执行所述后向预测过程,以更新模型参数,并且当前向计算出的所有节点隐藏层的值与后向预测出的对应节点隐藏层的值之间的误差小于设定阈值时,结束参数更新过程,得到基于依存句法树的文本编码模型的模型参数。
优选地,所述编码模块,具体用于依次将待编码文本中各句文本的依存句法树作为文本编码的结构,根据文本编码模型的参数,从叶子节点开始递归向上计算每个节点映射到隐藏层的值,直到根节点,将计算得到的根节点映射到隐藏层的值作为该句文本的编码。
本发明实施例提供的文本编码方法及系统,对待编码文本以句为单位进行依存句法分析,得到待编码文本中各句文本的依存句法树,所述依存句法树可以清晰地表达文本的句法结构;然后根据预先构建的基于依存句法树的文本编码模型及各句文本的依存句法树,对文本进行编码,得到编码后的文本。由于采用依存句法树描述文本的句法结构,而且在文本编码模型训练时,进一步根据子节点词向量与父节点词向量依存关系的不同,对子节点与父节点之间的映射,使用不同的转换矩阵和偏置项,从而保留了不同依存关系的节点间的语义信息,使编码后的文本与原文本的句法结构及语义信息更接近,提高了文本编码的有效性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是现有技术中基于二叉树结构的文本编码模型的结构示意图;
图2是本发明实施例中构建基于依存句法树的文本编码模型的流程图;
图3是本发明实施例中依存句法树的结构示意图;
图4是本发明实施例中基于依存句法树的文本编码模型的结构示意图;
图5是本发明实施例文本编码方法的流程图;
图6是本发明实施例文本编码系统的结构示意图;
图7是本发明实施例中模型构建模块的一种结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例的方案,下面首先对现有技术采用基于二叉树的结构对文本进行编码的过程进行简要说明,其过程如下:
1)接收待编码文本。
2)对待编码文本进行分词和词性标注,采用二叉树形式表示每句待编码文本。
3)利用预先构建的基于二叉树结构的文本编码模型对所述待编码文本进行编码。
基于二叉树的文本编码模型的构建过程如下:
首先,收集大量文本数据。
然后,将收集的大量文本数据中的每句文本进行分词后使用二叉树的形式表示。二叉树的构建即从每句文本的右边开始构建,将当前句文本的最右边两个词作为子节点,构建得到一个父节点,然后依次向左查找词语,与该父节点一起作为子节点,再次得到一个父节点,再向左查找词语,继续构建,直到当前句所有词都查找完毕,二叉树构建完成。例如,“取消已经开通的十元一百兆的流量”,经过分词之后得到“打取消/已经/开通/的/十/元/一百/兆/的/流量”,根据所得的分词结果,从右开始构造二叉树,“流量”和“的”作为子节点,得到父节点为p1,然后将“兆”和p1作为子节点,得到父节点为p2,继续查找,直到当前句中所有词都查找完毕,得到二叉树结构。根据二叉树结构,可以将每句文本表示成由父节点和子节点组成的二元组,具体形式可以为(p→c1c2),其中,p代表父节点,c1c2分别代表两个子节点。
最后,基于收集的大量数据的二叉树结构,构建文本编码模型,具体构建过程包括前向过程和后向过程。
对二叉树中所有的非叶节点构建一个三层神经网络结构,即包括输入层、隐藏层和输出层,神经网络每层节点数与每个叶子节点对应词向量的维数相同,如100;进行文本编码模型训练时,首先进行前向过程,然后进行后向过程。
所述前向过程,即将两个子节点的向量值映射到父节点的向量值的过程。具体映射时,将两个子节点对应的向量值作为父节点神经网络的输入,神经网络的输出作为父节点的向量值,当子节点为叶子节点时,对应的向量值为词向量,当子节点为非叶子节点时,对应的向量值为该节点神经网络输出层得到的向量值,依次递归直到映射到二叉树的根节点,得到根节点向量值。
根据二叉树结构中的两个子节点计算出父节点的向量值可以通过子节点与父节点之间的转换矩阵和偏置项将子节点的词向量转换为父节点的词向量,每句文本中的所有词共享同一组转换矩阵和偏置项,即每次子节点映射到父节点时,使用的转换矩阵和偏置项相同。具体转换方法如式(1)所示:
y=f(We[c1;c2]+be) (1)
其中,y为子节点c1和c2的父节点的向量值,c1和c2为两个子节点的向量值,f为映射函数,We和be为子节点向量值映射到父节点向量值时共享的转换矩阵和偏置项,即文本编码模型的参数,其取值需要通过大量数据训练得到。
所述后向过程,即给定根节点的向量值,递归预测出父节点对应的两个子节点的向量值,直到叶子节点的过程,具体过程与前向过程相反。具体预测方法如式(2)所示:
[c′1;c′2]=f(Wdy+bd) (2)
其中,c′1和c′2为根据父节点的向量值y预测得到的两个子节点的向量值,Wb和bd为由父节点的向量值预测子节点的向量值时使用的转换矩阵和偏置项,即文本编码模型的参数,其取值需要通过大量数据训练得到,初始值由系统随机给出。
将收集的大量文本数据的二叉树结构作为训练数据,对文本编码模型进行训练,得到文本编码模型参数,具体训练时,即先经过前向过程得到根节点的向量值,再通过反向过程预测得到每个子节点的向量值,将最小化所有非叶子节点的真实向量值与预测向量的误差平方和作为目标函数,训练得到模型参数λ=[We,be,We,bd]。
如图1为基于二叉树结构的文本编码模型的结构图,其中,x1,x2,x3,x4为前向过程中每句文本中每个词的词向量,y1,y2,y3为前向过程中通过子节点的词向量计算得到的父节点的词向量,x′1,x′2,x′3,x′4为后向过程中每句文本中每个词的预测词向量表示,y′2,y′3为后向过程中预测子节点词向量时的中间结果值。
利用上述基于二叉树结构的文本编码模型对文本进行编码时,首先将待编码文本表示为二叉树,然后根据文本编码模型参数,自叶子节点开始递归向上计算每个节点的取值,递归计算到根节点值,将所述根节点的值作为待编码文本的编码。
现有的文本编码方法在构建文本编码模型时,基于二叉树结构对每句文本进行分析,将每句文本表示为由父节点和子节点组成的二元组形式。然而构建这种二叉树结构时,并没有考虑每句文本中词与词之间的结构关系,只是单纯地将词堆叠在一起,因此构建的二叉树结构并不能很好地表示文本的句法结构,并且该二叉树结构也不包含任何句子中词与词的依赖关系。如文本“取消已经开通的十元一百兆的流量”,其中,“取消”、“开通”、“十元”、“一百兆”都与“流量”相关,而现有技术在构建二叉树结构时,首先将“流量”和“的”作为两个子节点,得到一个父节点,再将“兆”和得到的父节点作为子节点继续构建二叉树,由此可见句中词与词之间的关系较为混乱;并且各个词只是堆叠起来,并不能分辨词与词之间的主导与依赖关系,如不能分辨“取消”和“开通”这两个动词的作用以及主导关系。此外,文本编码模型训练时,所有子节点与父节点之间的映射都是共享相同的转换矩阵和偏置项,由于每句文本中词与词之间的关系是不同的,如有的是动宾关系,有的是主谓关系,直接共享相同的转换矩阵和偏置项,不能清晰地体现出词与词之间的依赖关系,同时也不能表现出文本的语义关系,因此共享相同的转换矩阵和偏置项显然不合理。由此可见,现有技术训练得到的文本编码模型并不能很好表现文本的句法结构及语义信息,使用该文本编码模型对文本进行编码,降低了文本编码的有效性。
基于上述现有技术存在的问题,本发明实施例提供一种文本编码方法及系统,对待编码文本以句为单位进行依存句法分析,得到待编码文本中各句文本的依存句法树,所述依存句法树可以清晰地表达文本的句法结构;然后根据预先构建的基于依存句法树的文本编码模型及各句文本的依存句法树,对文本进行编码,得到编码后的文本。由于采用依存句法树描述文本的句法结构,而且在文本编码模型训练时,进一步根据子节点词向量与父节点词向量依存关系的不同,对子节点与父节点之间的映射,使用不同的转换矩阵和偏置项,从而保留了不同依存关系的节点间的语义信息,使编码后的文本与原文本的句法结构及语义信息更接近,提高了文本编码的有效性。
如图2所示,是本发明实施例中构建基于依存句法树的文本编码模型的流程图,包括以下步骤:
步骤201,收集文本数据。
所述文本数据可以根据应用需求来选择,比如收集的文本数据为客服与用户之间的对话文本数据。
步骤202,以句为单位,对所述文本数据进行依存句法分析,得到每句文本的依存句法树。
首先,对各句文本进行分词,得到各句文本中的各词。比如基于条件随机场模型对文本数据进行分词。
然后,对各词进行词性标注,如文本“取消已经开通的十元一百兆的流量”,经过分词和词性标注后,得到的结果为“取消/v已经/d开通/v的/u十/m元/q一百/m兆/q的/u流量/n”,其中,字符表示词性,如“n”表示名词。
最后,对各词和词性标注后的文本进行依存句法分析,得到各句文本的依存句法树。所述依存句法树中包括句中词与词之间的依存关系。
所述依存句法分析是针对给定的句子使用某一依存语法体系对自然语言进行自动分析构建句子对应依存句法树的一种方法,具体可以采用基于规则的方法进行依存句法分析,当然也可以基于一些公开的依存句法分析工具进行分析,如基于斯坦福自然语言处理工具对每句文本进行依存句法分析,得到每句文本中词与词之间的依存关系rel(parent,child)、以及相应的依存句法树,其中parent表示依存句法树中的父节点词,child表示依存句法树中的子节点词。如对“取消/v已经/d开通/v的/u十/m元/q一百/m兆/q的/u流量/n”进行依存句法分析后,得到该句中词与词之间的依存关系如下:
root(ROOT-0,取消-1)
adv(开通-3,已经-2)
att(流量-10,开通-3)
rad(开通-3,的-4)
att(元-6,十-5)
att(流量-10,元-6)
att(兆-8,一百-7)
att(流量-10,兆-8)
rad(兆-8,的-9)
vob(取消-1,流量-10),
其中,括号前面的“att”、“vob”、“adv”、“rad”表示句子中词与词之间的依存关系,括号中第一个词表示依存句法树中的父节点词,第二个词表示依存句法树中的子节点词,每个词后的数字表示词在句子中的位置,ROOT表示依存句法树的根节点,该节点为虚节点,其与子节点之间的关系为root关系,即虚关系,可以将其子节点的值作为根节点的值,所述依存句法树如图3所示。
对收集的大量文本数据进行依存句法分析后,得到各句文本的依存句法树,该依存句法树包含该句文本中词与词之间的依存关系:rel(parent,child)。
另外,需要说明的是,收集的文本数据中可能会存在一些无意义字符及非法字符,所述无意义字符如“#”、“@”,所述非法字符如“\”、“/”。在这种情况下,在进行依存句法分析之前,还需要先将每句文本数据中的无意义字符及非法字符去除,得到纯文本数据;然后对纯文本数据进行分词及上述一系列操作。
步骤203,根据所述依存句法树构建基于依存句法树的文本编码模型。
在本发明实施例中,将依存句法树中每个节点使用一个神经网络表示,所述神经网络共三层,即输入层,隐藏层及输出层,所述输入层即为每个节点的词向量,神经网络每层节点数与词向量的维数相同,如100。训练文本编码模型时,将依存句法树中每个节点对应的词向量先映射到隐藏层,利用映射到隐藏层的值递归计算依存句法树中其它节点隐藏层的值。需要说明的是,每个词向量映射到隐藏层的转换矩阵和偏置项都是一样的。
构建文本编码模型主要是为了计算每种依存关系的共享矩阵和偏置项,具体构建过程包括前向过程和后向过程,如图4为文本编码模型的结构示意图,其中,下面部分为前向过程,上面部分为反向过程,其中,x1,x2,x3,x4,x5为前向过程中每句文本中每个词的词向量表示,x′1,x′2,x′3,x′4,x′5为后向过程中每句文本中每个词的预测词向量表示,WR,bR,WR′,b′R分别为前向过程和后向过程中使用的转换矩阵及偏置项,依存关系不同时,取值不同,每个节点对应一个隐藏层,所述隐藏层未在图中画出。
具体构建过程如下所述:
1)将各依存句法树中每个词初始化为词向量。
比如,预先训练一个词向量模型,如果当前需要向量化的词存在该词向量模型中,则直接根据该词向量模型将当前词映射为一个多维向量,如100维;如果不存在,可以采用随机初始化的方法将当前词映射成向量,如“取消”可以初始化为(1.266826,-1.574513…0.019293,-3.398773,…)共100维。
2)前向计算过程
所述前向计算过程主要是根据文本中每个词的词向量及每种依存关系对应的转换矩阵和偏置项计算出各节点映射到隐藏层的值。
具体计算时,根据依存句法树的结构,将每层的词向量映射到每个节点相应的隐藏层后,根据映射结果再逐层递归映射到根节点,得到根节点映射到隐藏层的值,即根节点表示的向量。由于映射到根节点时,句子中所有的词向量都计算结束了,计算结果中包含了句中所有词之间的依存关系,因此,可以将根节点表示的向量作为句子向量。各节点的具体映射方法如式(3)所示:
其中,hn表示前向计算时依存句法树中第n个节点词向量映射到隐藏层的值,f为非线性映射函数,如正切函数tanh,Wv和b分别表示每个词向量映射到隐藏层的转换矩阵和偏置项,所述转换矩阵和偏置项为文本编码模型的参数,具体取值可以通过大量数据训练得到,初始值可以随机给出,K(n)表示依存句法树中第n个节点的子节点集合,R(n,k)表示第n个节点与其第k个子节点之间的依存关系,WR(n,k)和bR(n,k)分别表示前向计算时第n个节点与其第k个子节点之间的依存关系R(n,k)对应的转换矩阵及偏置项,所述转换矩阵和偏置项为文本编码模型的参数,具体取值可以通过大量数据训练得到,初始值可以随机给出,hk表示第n个节点的第k个子节点映射到隐藏层的值。根据式(3)可以将词向量映射到隐藏层的值逐层映射到根节点。
例如:如图4中,x2节点包含一个子节点x1,计算节点x2映射到隐藏层的值时,需要考虑其子节点x1映射到隐藏层的值,具体计算方法如式(4)所示:
h2=f(WR(2,1)h1+bR(2,1)+Wvx2+b) (4)
其中,h2表示依存句法树中第2个节点x2映射到隐藏层的值,R(2,1)表示节点x2和其子节点x1之间的依存关系,WR(2,1),bR(2,1)分别表示依存关系R(2,1)对应的转换矩阵和偏置项,h1为节点x2的子节点x1映射到隐藏层的值,h1=f(Wvx1+b),其中Wv和b分别表示词向量映射到隐藏层的转换矩阵和偏置项。
需要说明的是,在本发明实施例中,根据依存句法树构建文本编码模型时,对于相同的依存关系,可以共享同一组转换矩阵和偏置项,而不同的依存关系之间,转换矩阵和/或偏置项可以不同,从而可以保留词与词之间不同依存关系的差异性,使编码后的文本与原文本的句法结构及语义信息更接近。
3)后向预测过程
所述后向预测过程主要是根据父节点映射到隐藏层的值预测出各节点映射到隐藏层的值的过程。
具体计算时,根据依存句法树的结构,从根节点开始,根据根节点的映射到隐藏层的值以及其与子节点之间的依存关系,分别预测出每一个子节点映射到隐藏层的值,以此类推,直到预测完毕所有节点映射到隐藏层的值。具体的预测方法如式(5)所示:
h′k=f(W′R(n,k)h′n+b′R(n,k)) (5)
其中,h′n表示后向预测时依存句法树中第n个节点映射到隐藏层的值,f为非线性映射函数,如正切函数tanh,h′k表示第n个节点的第k个子节点映射到隐藏层的值,R(n,k)表示第n个节点与其第k个子节点之间的依存关系,W′R(n,k)和b′R(n,k)分别表示后向预测时第n个节点与其第k个子节点之间的依存关系R(n,k)对应的转换矩阵及偏置项,具体取值可以通过大量数据训练得到,初始值可以随机给出。根据式(5)可以由根节点映射到隐藏层的值反向递归预测出子节点映射到隐藏层的值,直到叶子节点。
4)迭代更新模型参数
模型参数更新的目标函数为最小化所有文本数据的依存句法树中所有节点前向计算出的隐藏层的值与后向预测出的隐藏层的值之间的误差和;通过迭代执行前向过程和后向过程,对模型参数进行更新,具体更新方法与现有技术相同,在此不再详述。当所有节点前向计算出的隐藏层的值与后向预测出的隐藏层的值之间的误差小于预先设定的阈值时,结束参数更新过程,得到文本编码模型参数,具体目标函数如式(6)所示:
其中,λopt表示最小化各句文本对应的依存句法树中所有节点前向计算出的隐藏层的值与后向预测出的隐藏层的值之间的误差和时,对应的文本编码模型的模型参数,所述模型参数由[S(WR,bR),Wv,b,S(W′R,b′R)]组成,其中S(WR,bR)表示前向计算时各依存关系对应的转换矩阵和偏置项的集合,Wv,b分别表示每个词向量映射到隐藏层的转换矩阵和偏置项,S(W′R,b′R)表示后向预测时各依存关系对应的转换矩阵和偏置项的集合,T表示所有依存句法树的集合,t表示待编码文本的第t棵依存句法树;Nt表示第t棵依存句法树的节点集合,hn表示第t棵依存句法树的第n个节点前向计算出的隐藏层的值;h′n表示第t棵依存句法树的第n个节点后向预测出的隐藏层的值。
本发明实施例提供的文本编码方法,对待编码文本以句为单位进行依存句法分析,得到待编码文本中各句文本的依存句法树,然后根据上述基于依存句法树的文本编码模型及各句文本的依存句法树,对文本进行编码,得到编码后的文本。
如图5所示,是本发明实施例文本编码方法的流程图,包括以下步骤:
步骤501,预先构建基于依存句法树的文本编码模型。
步骤502,接收待编码文本。
步骤503,以句为单位,对所述待编码文本进行依存句法分析,得到待编码文本的依存句法树。
对待编码文本进行依存句法分析可参照前面构建基于依存句法树的文本编码模型过程中,对收集的文本数据进行依存句法分析的描述,在此不再赘述。
步骤504,利用预先构建的基于依存句法树的文本编码模型及各句文本的依存句法树对待编码文本进行编码,得到编码后的文本。
具体地,将待编码的各句文本的依存句法树作为文本编码的结构,根据文本编码模型的参数,从叶子节点开始递归向上计算每个节点映射到隐藏层的值,具体计算方法如前面式(3)所示,直到根节点,将根节点映射到隐藏层的值作为该句待编码文本的编码。
例如:待编码文本为“取消已经开通的十元一百兆的流量”,其依存句法树如图3所示。具体编码时,可以先计算出节点“已经”,“的”,“十”,“一百”等叶子节点的词向量映射到隐藏层的值,再由节点“已经”和“的”的隐藏层以及“开通”节点的词向量的值计算出节点“开通”的隐藏层的值;由节点“十”的隐藏层的值以及节点“元”的词向量计算出节点“元”的隐藏层的值;由节点“一百”和“的”的隐藏层的值以及节点“兆”的词向量计算出节点“兆”的隐藏层的值;再由节点“开通”,“元”,“兆”的隐藏层的值和节点“流量”的词向量计算出节点“流量”的隐藏层的值;最后由节点“流量”的隐藏层的值以及节点“取消”的词向量计算出节点“取消”的隐藏层的值递归到根节点,将根节点的隐藏层的值作为待编码文本的编码结果。
需要说明的是,如果接收的待编码文本包括多句,则对应其中每句,依照上述编码,即可得到该句的编码结果。
另外,需要说明的是,有时待编码文本中可能会存在一些无意义字符及非法字符,所述无意义字符如“#”、“@”,所述非法字符如“\”、“/”。在这种情况下,在进行依存句法分析之前,还需要先将每句待编码文本中的无意义字符及非法字符去除,得到纯文本;然后对纯文本进行分词及上述一系列操作。
本发明实施例提供的文本编码方法,对待编码文本以句为单位进行依存句法分析,得到待编码文本中各句文本的依存句法树,所述依存句法树可以清晰地表达文本的句法结构;然后根据预先构建的基于依存句法树的文本编码模型及各句文本的依存句法树,对文本进行编码,得到编码后的文本。由于采用依存句法树描述文本的句法结构,而且在文本编码模型训练时,进一步根据子节点词向量与父节点词向量依存关系的不同,对子节点与父节点之间的映射,使用不同的转换矩阵和偏置项,从而保留了不同依存关系的节点间的语义信息,使编码后的文本与原文本的句法结构及语义信息更接近,提高了文本编码的有效性。
相应地,本发明实施例还提供一种文本编码系统,如图6所示,是该系统的一种结构示意图。
在该实施例中,所述系统包括:
模型构建模块601,用于预先构建基于依存句法树的文本编码模型,所述文本编码模型用于描述不同依存关系对应的转换矩阵和偏置项、以及每个词向量映射到隐藏层的转换矩阵和偏置项,而且相同依存关系对应相同的转换矩阵和偏置项,不同依存关系对应的转换矩阵和/或偏置项不同;
文本接收模块602,用于接收待编码文本;
句法分析模块603,用于以句为单位,对所述待编码文本进行依存句法分析,得到待编码文本中各句文本的依存句法树;
编码模块604,用于利用所述文本编码模型及待编码文本中各句文本的依存句法树对待编码文本进行编码,得到编码后的文本。
如图7所示,是本发明实施例中模型构建模块的一种结构示意图。
所述模型构建模块包括:
数据收集单元71,用于收集文本数据;
句法分析单元72,用于以句为单位,对所述文本数据进行依存句法分析,得到每句文本的依存句法树,所述依存句法树中包括句中词与词之间的依存关系;
模型训练单元73,用于根据所有依存句法树训练基于依存句法树的文本编码模型。
由于收集的文本数据中可能会存在一些无意义字符及非法字符,所述无意义字符如“#”、“@”,所述非法字符如“\”、“/”,因此,在所述模型构建模块的另一实施例中,还可进一步包括:过滤单元(未图示),用于在所述句法分析单元72对各词和词性标注后的文本进行依存句法分析之前,去除每句文本中的无意义字符及非法字符。
上述句法分析单元的一种具体结构可以包括以下各单元:
分词单元,用于对各句文本进行分词,得到各句文本中的各词;
标注单元,用于对各词进行词性标注;
分析单元,用于对各词和词性标注后的文本进行依存句法分析,得到各句文本的依存句法树。
上述模型训练单元的一种具体结构可以包括以下各单元:
初始化单元,用于将各依存句法树中每个词初始化为词向量;
前向计算单元,用于执行前向计算过程:根据所述依存句法树中每个词的词向量及依存关系对应的转换矩阵和偏置项计算出各节点映射到隐藏层的值;
后向预测单元,用于执行后向预测过程:根据所述依存句法树中根节点隐藏层的值及依存关系预测出各子节点隐藏层的值;
迭代控制单元,用于执行参数更新过程:通过迭代方式触发所述前向计算单元执行所述前向计算过程、触发所述后向预测单元执行所述后向预测过程,以更新模型参数,并且当前向计算出的所有节点隐藏层的值与后向预测出的对应节点隐藏层的值之间的误差小于设定阈值时,结束参数更新过程,得到基于依存句法树的文本编码模型的模型参数。
利用上述基于依存句法树的文本编码模型,编码模块604在对待编码进行编码时,依次将待编码文本中各句文本的依存句法树作为文本编码的结构,根据文本编码模型的参数,从叶子节点开始递归向上计算每个节点映射到隐藏层的值,直到根节点,将计算得到的根节点映射到隐藏层的值作为该句文本的编码。
另外,需要说明的是,由于待编码文本中可能会存在一些无意义字符及非法字符,所述无意义字符如“#”、“@”,所述非法字符如“\”、“/”。因此,在本发明系统另一实施例中,还可进一步包括:过滤模块(未图示),用于在句法分析模块603进行依存句法分析之前,将每句待编码文本中的无意义字符及非法字符去除,得到纯文本。相应地,句法分析模块603对所述纯文本进行句法分析。
本发明实施例提供的文本编码系统,对待编码文本以句为单位进行依存句法分析,得到待编码文本中各句文本的依存句法树,所述依存句法树可以清晰地表达文本的句法结构;然后根据预先构建的基于依存句法树的文本编码模型及各句文本的依存句法树,对文本进行编码,得到编码后的文本。由于采用依存句法树描述文本的句法结构,而且在文本编码模型训练时,进一步根据子节点词向量与父节点词向量依存关系的不同,对子节点与父节点之间的映射,使用不同的转换矩阵和偏置项,从而保留了不同依存关系的节点间的语义信息,使编码后的文本与原文本的句法结构及语义信息更接近,提高了文本编码的有效性。
利用本发明提供的文本编码方法及系统得到的文本编码,可以将文本数据映射到一个低维的向量空间,使用向量的形式表示文本数据,这样,有助于复杂的自然语言处理任务,比如计算文本间的相似度等。由于本发明实施例提供的文本编码方法可以大大提高文本编码的有效性,进而也会提高自然语言处理的有效性。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上对本发明实施例进行了详细介绍,本文中应用了具体实施方式对本发明进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及系统;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (12)
1.一种文本编码方法,其特征在于,包括:
预先构建基于依存句法树的文本编码模型,所述文本编码模型用于描述不同依存关系对应的转换矩阵和偏置项、以及每个词向量映射到隐藏层的转换矩阵和偏置项,相同依存关系对应相同的转换矩阵和偏置项,不同依存关系对应的转换矩阵和/或偏置项不同;
接收待编码文本;
以句为单位,对所述待编码文本进行依存句法分析,得到待编码文本中各句文本的依存句法树;
利用所述文本编码模型及待编码文本中各句文本的依存句法树对待编码文本进行编码,得到编码后的文本。
2.根据权利要求1所述的方法,其特征在于,所述构建基于依存句法树的文本编码模型包括:
收集文本数据;
以句为单位,对所述文本数据进行依存句法分析,得到每句文本的依存句法树,所述依存句法树中包括句中词与词之间的依存关系;
根据所有依存句法树训练基于依存句法树的文本编码模型。
3.根据权利要求2所述的方法,其特征在于,对各句文本进行依存句法分析,得到各句文本的依存句法树包括:
对各句文本进行分词,得到各句文本中的各词;
对各词进行词性标注;
对各词和词性标注后的文本进行依存句法分析,得到各句文本的依存句法树。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在所述对各词和词性标注后的文本进行依存句法分析之前,去除每句文本中的无意义字符及非法字符。
5.根据权利要求2所述的方法,其特征在于,所述根据所有依存句法树训练基于依存句法树的文本编码模型包括:
将各依存句法树中每个词初始化为词向量;
前向计算过程:根据所述依存句法树中每个词的词向量及依存关系对应的转换矩阵和偏置项计算出各节点映射到隐藏层的值;
后向预测过程:根据所述依存句法树中根节点隐藏层的值及依存关系预测出各子节点隐藏层的值;
参数更新过程:通过迭代执行所述前向计算过程和后向预测过程更新模型参数,并且当前向计算出的所有节点隐藏层的值与后向预测出的对应节点隐藏层的值之间的误差小于设定阈值时,结束参数更新过程,得到基于依存句法树的文本编码模型的模型参数。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述利用所述文本编码模型及待编码文本中各句文本的依存句法树对待编码文本进行编码,得到编码后的文本包括:
依次将待编码文本中各句文本的依存句法树作为文本编码的结构,根据文本编码模型的参数,从叶子节点开始递归向上计算每个节点映射到隐藏层的值,直到根节点,将计算得到的根节点映射到隐藏层的值作为该句文本的编码。
7.一种文本编码系统,其特征在于,包括:
模型构建模块,用于预先构建基于依存句法树的文本编码模型,所述文本编码模型用于描述不同依存关系对应的转换矩阵和偏置项、以及每个词向量映射到隐藏层的转换矩阵和偏置项,相同依存关系对应相同的转换矩阵和偏置项,不同依存关系对应的转换矩阵和/或偏置项不同;
文本接收模块,用于接收待编码文本;
句法分析模块,用于以句为单位,对所述待编码文本进行依存句法分析,得到待编码文本中各句文本的依存句法树;
编码模块,用于利用所述文本编码模型及待编码文本中各句文本的依存句法树对待编码文本进行编码,得到编码后的文本。
8.根据权利要求7所述的系统,其特征在于,所述模型构建模块包括:
数据收集单元,用于收集文本数据;
句法分析单元,用于以句为单位,对所述文本数据进行依存句法分析,得到每句文本的依存句法树,所述依存句法树中包括句中词与词之间的依存关系;
模型训练单元,用于根据所有依存句法树训练基于依存句法树的文本编码模型。
9.根据权利要求8所述的系统,其特征在于,所述句法分析单元包括:
分词单元,用于对各句文本进行分词,得到各句文本中的各词;
标注单元,用于对各词进行词性标注;
分析单元,用于对各词和词性标注后的文本进行依存句法分析,得到各句文本的依存句法树。
10.根据权利要求9所述的系统,其特征在于,所述模型构建模块还包括:
过滤单元,用于在所述句法分析单元对各词和词性标注后的文本进行依存句法分析之前,去除每句文本中的无意义字符及非法字符。
11.根据权利要求8所述的系统,其特征在于,所述模型训练单元包括:
初始化单元,用于将各依存句法树中每个词初始化为词向量;
前向计算单元,用于执行前向计算过程:根据所述依存句法树中每个词的词向量及依存关系对应的转换矩阵和偏置项计算出各节点映射到隐藏层的值;
后向预测单元,用于执行后向预测过程:根据所述依存句法树中根节点隐藏层的值及依存关系预测出各子节点隐藏层的值;
迭代控制单元,用于执行参数更新过程:通过迭代方式触发所述前向计算单元执行所述前向计算过程、触发所述后向预测单元执行所述后向预测过程,以更新模型参数,并且当前向计算出的所有节点隐藏层的值与后向预测出的对应节点隐藏层的值之间的误差小于设定阈值时,结束参数更新过程,得到基于依存句法树的文本编码模型的模型参数。
12.根据权利要求8至11任一项所述的系统,其特征在于,
所述编码模块,具体用于依次将待编码文本中各句文本的依存句法树作为文本编码的结构,根据文本编码模型的参数,从叶子节点开始递归向上计算每个节点映射到隐藏层的值,直到根节点,将计算得到的根节点映射到隐藏层的值作为该句文本的编码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510907916.XA CN106844327B (zh) | 2015-12-07 | 2015-12-07 | 文本编码方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510907916.XA CN106844327B (zh) | 2015-12-07 | 2015-12-07 | 文本编码方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106844327A CN106844327A (zh) | 2017-06-13 |
CN106844327B true CN106844327B (zh) | 2020-11-17 |
Family
ID=59150928
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510907916.XA Active CN106844327B (zh) | 2015-12-07 | 2015-12-07 | 文本编码方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106844327B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107544959B (zh) * | 2017-08-28 | 2021-01-22 | 北京奇艺世纪科技有限公司 | 一种评价对象的提取方法和装置 |
CN109710913A (zh) * | 2017-10-26 | 2019-05-03 | 张云翔 | 基于依存分析的语义层次结构生成方法及终端 |
CN108363685B (zh) * | 2017-12-25 | 2021-09-14 | 北京牡丹电子集团有限责任公司数字电视技术中心 | 基于递归变分自编码模型的自媒体数据文本表示方法 |
CN108875000B (zh) * | 2018-06-14 | 2021-12-28 | 广东工业大学 | 一种融合多句法结构的语义关系分类方法 |
CN109062902B (zh) * | 2018-08-17 | 2022-12-06 | 科大讯飞股份有限公司 | 一种文本语义表达方法及装置 |
CN111178039B (zh) * | 2019-12-18 | 2023-05-09 | 北京明略软件系统有限公司 | 一种模型训练方法、装置、实现文本处理的方法及装置 |
CN113128201B (zh) * | 2019-12-31 | 2024-07-26 | 阿里巴巴集团控股有限公司 | 句子相似度确定方法、答案搜索方法、装置、设备、系统及介质 |
CN111666738B (zh) * | 2020-06-09 | 2023-06-20 | 南京师范大学 | 一种动作描述自然文本的形式化编码方法 |
CN112016299B (zh) * | 2020-08-31 | 2023-11-14 | 支付宝(杭州)信息技术有限公司 | 计算机执行、利用神经网络生成依存句法树的方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101201819A (zh) * | 2007-11-28 | 2008-06-18 | 北京金山软件有限公司 | 一种树库转化方法及树库转化系统 |
CN102708098A (zh) * | 2012-05-30 | 2012-10-03 | 中国科学院自动化研究所 | 一种基于依存连贯性约束的双语词语自动对齐方法 |
WO2014002775A1 (ja) * | 2012-06-25 | 2014-01-03 | 日本電気株式会社 | 同義語抽出システム、方法および記録媒体 |
CN104021115A (zh) * | 2014-06-13 | 2014-09-03 | 北京理工大学 | 基于神经网络的中文比较句识别方法及装置 |
CN104252533A (zh) * | 2014-09-12 | 2014-12-31 | 百度在线网络技术(北京)有限公司 | 搜索方法和搜索装置 |
CN104391963A (zh) * | 2014-12-01 | 2015-03-04 | 北京中科创益科技有限公司 | 一种自然语言文本关键词关联网络构建方法 |
CN104462066A (zh) * | 2014-12-24 | 2015-03-25 | 北京百度网讯科技有限公司 | 语义角色标注方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102298642B (zh) * | 2011-09-15 | 2012-09-05 | 苏州大学 | 文本信息抽取方法和系统 |
-
2015
- 2015-12-07 CN CN201510907916.XA patent/CN106844327B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101201819A (zh) * | 2007-11-28 | 2008-06-18 | 北京金山软件有限公司 | 一种树库转化方法及树库转化系统 |
CN102708098A (zh) * | 2012-05-30 | 2012-10-03 | 中国科学院自动化研究所 | 一种基于依存连贯性约束的双语词语自动对齐方法 |
WO2014002775A1 (ja) * | 2012-06-25 | 2014-01-03 | 日本電気株式会社 | 同義語抽出システム、方法および記録媒体 |
CN104021115A (zh) * | 2014-06-13 | 2014-09-03 | 北京理工大学 | 基于神经网络的中文比较句识别方法及装置 |
CN104252533A (zh) * | 2014-09-12 | 2014-12-31 | 百度在线网络技术(北京)有限公司 | 搜索方法和搜索装置 |
CN104391963A (zh) * | 2014-12-01 | 2015-03-04 | 北京中科创益科技有限公司 | 一种自然语言文本关键词关联网络构建方法 |
CN104462066A (zh) * | 2014-12-24 | 2015-03-25 | 北京百度网讯科技有限公司 | 语义角色标注方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106844327A (zh) | 2017-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106844327B (zh) | 文本编码方法及系统 | |
CN111985245B (zh) | 基于注意力循环门控图卷积网络的关系提取方法及系统 | |
CN113641820B (zh) | 基于图卷积神经网络的视角级文本情感分类方法及系统 | |
CN111858932B (zh) | 基于Transformer的多重特征中英文情感分类方法及系统 | |
CN108229582A (zh) | 一种面向医学领域的多任务命名实体识别对抗训练方法 | |
CN110032632A (zh) | 基于文本相似度的智能客服问答方法、装置及存储介质 | |
CN109101235A (zh) | 一种软件程序的智能解析方法 | |
CN111027595B (zh) | 双阶段语义词向量生成方法 | |
CN109408812A (zh) | 一种基于注意力机制的序列标注联合抽取实体关系的方法 | |
CN112069328B (zh) | 一种基于多标签分类的实体关系联合抽取模型的建立方法 | |
CN113761893B (zh) | 一种基于模式预训练的关系抽取方法 | |
CN108153864A (zh) | 基于神经网络生成文本摘要的方法 | |
CN108268449A (zh) | 一种基于词项聚类的文本语义标签抽取方法 | |
US20230244704A1 (en) | Sequenced data processing method and device, and text processing method and device | |
CN109359297A (zh) | 一种关系抽取方法及系统 | |
CN113868425B (zh) | 一种方面级情感分类方法 | |
CN111950287A (zh) | 一种基于文本的实体识别方法及相关装置 | |
CN108363685B (zh) | 基于递归变分自编码模型的自媒体数据文本表示方法 | |
CN103324954A (zh) | 一种基于树结构的图像分类方法及其系统 | |
CN117291265B (zh) | 一种基于文本大数据的知识图谱构建方法 | |
CN111274794A (zh) | 一种基于传递的同义词扩展方法 | |
CN114692602A (zh) | 一种句法信息注意力引导的图卷积网络关系抽取方法 | |
CN111340006B (zh) | 一种手语识别方法及系统 | |
CN112560456A (zh) | 一种基于改进神经网络的生成式摘要生成方法和系统 | |
CN114065769B (zh) | 情感原因对抽取模型的训练方法、装置、设备及介质 |
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 |