CN111597801B - 一种基于自然语言处理的文本自动结构化方法和系统 - Google Patents
一种基于自然语言处理的文本自动结构化方法和系统 Download PDFInfo
- Publication number
- CN111597801B CN111597801B CN201910126552.XA CN201910126552A CN111597801B CN 111597801 B CN111597801 B CN 111597801B CN 201910126552 A CN201910126552 A CN 201910126552A CN 111597801 B CN111597801 B CN 111597801B
- Authority
- CN
- China
- Prior art keywords
- text
- code
- model
- neural network
- sequence
- 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
Classifications
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明公开了一种基于自然语言处理的文本自动结构化方法和系统,能够将文本文档的内容(包括文档自带序号标注错误甚至文档没有自带序号)进行自动结构化处理以转化成结构化的知识体系。其技术方案为:输入需要自动结构化处理的原始文本;利用经训练的神经网络模型对原始文本进行处理,生成有编码形式的长序列文本;通过在有编码形式的含有序号的长序列文本中查找对应编码来自动结构化文本;查找自动结构化文本中对应的编码符号,按照前后两个编码之间的关系和编码的含义将编码符号替换为相应的序号。
Description
技术领域
本发明涉及一种文本结构化技术,具体涉及基于深度学习和自然语言处理的文本自动结构化的方法和系统。
背景技术
以结构化的知识体系为基础的知识分享平台或者学习系统是目前的主流方案。而诸如电子书、文章、报告等文本文档的内容文字并不是以结构化方式来组织的。
目前也有一些将普通的文本文档自动结构化的方法,但这些方法只能应用于原本就在文本中标注有序号的文档。这会带来两个问题,其一是文本文档在利用自身自带序号进行自动结构化时,如果遇到手误标错的序号,则自动结构化处理就无法顺利展开;其二是对于逻辑结构清晰但并没有自带标注序号的文本文档,现有的自动结构化的方法无法将文档内容结构化。
发明内容
以下给出一个或多个方面的简要概述以提供对这些方面的基本理解。此概述不是所有构想到的方面的详尽综览,并且既非旨在指认出所有方面的关键性或决定性要素亦非试图界定任何或所有方面的范围。其唯一的目的是要以简化形式给出一个或多个方面的一些概念以为稍后给出的更加详细的描述之序。
本发明的目的在于解决上述问题,提供了一种基于自然语言处理的文本自动结构化方法和系统,能够将文本文档的内容(包括文档自带序号标注错误甚至文档没有自带序号)进行自动结构化处理以转化成结构化的知识体系。
本发明的技术方案为:本发明揭示了一种基于自然语言处理的文本自动结构化方法,包括:
输入需要自动结构化处理的原始文本;
利用经训练的神经网络模型对原始文本进行处理,生成有编码形式的长序列文本;
通过在有编码形式的含有序号的长序列文本中查找对应编码来自动结构化文本;
查找自动结构化文本中对应的编码符号,按照前后两个编码之间的关系和编码的含义将编码符号替换为相应的序号。
根据本发明的基于自然语言处理的文本自动结构化方法的一实施例,有编码形式的长序列文本中包含的序号包括正确的序号和错误的序号。
根据本发明的基于自然语言处理的文本自动结构化方法的一实施例,方法还包括:
通过在有编码形式的不含序号的长序列文本中查找空格来自动结构化文本;
查找自动结构化文本中的空格符号,将空格符号按文章顺序的方式将空格符号替换为递增的数字。
根据本发明的基于自然语言处理的文本自动结构化方法的一实施例,神经网络模型的训练过程包括:
收集样本数据;
对收集到的样本数据进行数据标注;
对经标注的数据进行数据清洗和预处理,得到无编码形式的长序列样本作为神经网络模型训练的输入;
搭建PyTorch框架;
建立神经网络模型,神经网络模型中包含指示不同层级标题序号之间的关系的编码规则;
利用无编码形式的长序列样本训练神经网络模型;
对神经网络模型进行测试与优化;
确定神经网络模型。
根据本发明的基于自然语言处理的文本自动结构化方法的一实施例,神经网络模型是seq2seq模型,seq2seq模型结构中的编码器将所有的输入序列都编码成一个统一的语义向量,再由解码器进行解码,解码过程中不断将前一个时刻解的输出作为后一个时刻的输入,循环编码直至输出停止符为止。
本发明还揭示了一种基于自然语言处理的文本自动结构化系统,包括:
文本输入模块,输入需要自动结构化处理的原始文本;
模型处理模块,利用经训练的神经网络模型对原始文本进行处理,生成有编码形式的长序列文本;
编码查找模块,通过在有编码形式的含有序号的长序列文本中查找对应编码来自动结构化文本;
编码替换模块,查找自动结构化文本中对应的编码符号,按照前后两个编码之间的关系和编码的含义将编码符号替换为相应的序号。
根据本发明的基于自然语言处理的文本自动结构化系统的一实施例,有编码形式的长序列文本中包含的序号包括正确的序号和错误的序号。
根据本发明的基于自然语言处理的文本自动结构化系统的一实施例,系统还包括:
空格查找模块,通过在有编码形式的不含序号的长序列文本中查找空格来自动结构化文本;
空格替换模块,查找自动结构化文本中的空格符号,将空格符号按文章顺序的方式将空格符号替换为递增的数字。
根据本发明的基于自然语言处理的文本自动结构化系统的一实施例,模型处理模块中包括模型训练子模块,其中模型训练子模块进一步包括:
样本收集单元,收集样本数据;
数据标注单元,对收集到的样本数据进行数据标注;
数据清洗和预处理单元,对经标注的数据进行数据清洗和预处理,得到无编码形式的长序列样本作为神经网络模型训练的输入;
框架搭建单元,搭建PyTorch框架;
模型建立单元,建立神经网络模型,神经网络模型中包含指示不同层级标题序号之间的关系的编码规则;
模型训练单元,利用无编码形式的长序列样本训练神经网络模型;
模型测试与优化单元,对神经网络模型进行测试与优化;
模型确定单元,确定神经网络模型。
根据本发明的基于自然语言处理的文本自动结构化系统的一实施例,神经网络模型是seq2seq模型,seq2seq模型结构中的编码器将所有的输入序列都编码成一个统一的语义向量,再由解码器进行解码,解码过程中不断将前一个时刻解的输出作为后一个时刻的输入,循环编码直至输出停止符为止。
本发明还揭示了一种基于自然语言处理的文本自动结构化系统,包括:
处理器;以及
存储器,所述存储器被配置为存储一系列计算机可执行的指令以及与所述一系列计算机可执行的指令相关联的计算机可访问的数据,
其中,当所述一系列计算机可执行的指令被所述处理器执行时,使得所述处理器进行如前所述的方法。
本发明还揭示了一种非临时性计算机可读存储介质,其特征在于,所述非临时性计算机可读存储介质上存储有一系列计算机可执行的指令,当所述一系列可执行的指令被计算装置执行时,使得计算装置进行如前所述的方法。
本发明对比现有技术有如下的有益效果:本发明利用pytorch框架,基于自然语言处理领域中的seq2seq模型,利用循环神经网络进行模型训练。然后将训练得到的模型进行文本自动结构化处理,可以将文本文档的内容(包括文档自带序号标注错误甚至文档没有自带序号)进行自动结构化处理以转化成结构化的知识体系。
附图说明
在结合以下附图阅读本公开的实施例的详细描述之后,能够更好地理解本发明的上述特征和优点。在附图中,各组件不一定是按比例绘制,并且具有类似的相关特性或特征的组件可能具有相同或相近的附图标记。
图1示出了本发明的基于自然语言处理的文本自动结构化方法的第一实施例的流程图。
图2示出了本发明的基于自然语言处理的文本自动结构化方法的第二实施例的流程图。
图3示出了图1和图2所示的方法实施例中的模型训练过程的流程图。
图4示出了本发明的基于自然语言处理的文本自动结构化系统的第一实施例的原理图。
图5示出了本发明的基于自然语言处理的文本自动结构化系统的第二实施例的原理图。
图6示出了图3和图4所示的系统实施例中的模型训练子模块的细化原理图。
图7示出了seq2seq模型结构的简单原理示意图。
具体实施方式
以下结合附图和具体实施例对本发明作详细描述。注意,以下结合附图和具体实施例描述的诸方面仅是示例性的,而不应被理解为对本发明的保护范围进行任何限制。
图1示出了本发明的基于自然语言处理的文本自动结构化方法的第一实施例的流程。请参见图1,下面是第一实施例的方法中各步骤的详细描述。
步骤S11:输入需要自动结构化处理的原始文本。
步骤S12:利用经训练的神经网络模型对原始文本进行处理,生成有编码形式的长序列文本。
本步骤中神经网络模型的训练过程具体参见图3所示以及下文中对图3步骤的详述。
步骤S13:通过在有编码形式的含有序号的长序列文本中查找对应编码来自动结构化文本。
有编码形式的长序列文本中包含的序号包括正确的序号和错误的序号。即使长序列文本中有标错的序号,本实施例依然基于标错的序号生成需要的编码方式,再通过查找特定的编码来进行文本结构化,这样就不限制于具体的序号,从而解决了标错序号的问题。
步骤S14:查找自动结构化文本中对应的编码符号,按照前后两个编码之间的关系和编码的含义将编码符号替换为相应的序号。
本实施例中通过python程序查找对应的编码符号,例如编码形式为“↑”等,python程序可以从“一、”序号开始按文章顺序查找编码并且按前后两个编码之间的关系和编码的含义将编码替换为相应的序号,例如将“↑xxxx→xxxx←xxx”替换为“一、xxxx1.1xxxx二、”。
图2示出了本发明的基于自然语言处理的文本自动结构化方法的第二实施例的流程。请参见图2,下面是第二实施例的方法中各步骤的详细描述。
步骤S21:输入需要自动结构化处理的原始文本。
步骤S22:利用经训练的神经网络模型对原始文本进行处理,生成有编码形式的长序列文本。
本步骤中神经网络模型的训练过程具体参见图3所示以及下文中对图3步骤的详述。
步骤S22之后针对两种情况分别进行处理,第一种情况是和图1实施例相同的针对包含序号的长序列文本的处理(步骤S23至S24),第二种情况是对不包含序号的长序列文本的处理(步骤S25至S26)。
步骤S23:通过在有编码形式的含有序号的长序列文本中查找对应编码来自动结构化文本。
有编码形式的长序列文本中包含的序号包括正确的序号和错误的序号。即使长序列文本中有标错的序号,本实施例依然基于标错的序号生成需要的编码方式,再通过查找特定的编码来进行文本结构化,这样就不限制于具体的序号,从而解决了标错序号的问题。
步骤S24:查找自动结构化文本中对应的编码符号,按照前后两个编码之间的关系和编码的含义将编码符号替换为相应的序号。
本实施例中通过python程序查找对应的编码符号,例如编码形式为“↑”等,python程序可以从“一、”序号开始按文章顺序查找编码并且按前后两个编码之间的关系和编码的含义将编码替换为相应的序号,例如将“↑xxxx→xxxx←xxx”替换为“一、xxxx1.1xxxx二、”。
步骤S25:通过在有编码形式的不含序号的长序列文本中查找空格来自动结构化文本。
即使长序列文本中没有序号,如果图3所示的训练样本中具备此类型样本:“xxxxxxxx”格式(seq2seq模型输入端的样本文章的段落间带有空格),那么seq2seq模型也可以学习到这种上下文关系,且编码器encoder和解码器decoder不要求输入和输出序列具有相同的时间长度,则可以在长序列文本中无序号的情况下实现自动结构化。
本实施例中是以seq2seq模型作为神经网络模型的具体模型,但本发明不以该具体模型为限,只要是能和seq2seq模型起到相同作用并能适用于本发明场景的所有神经网络模型都应包括在本发明的保护范围之内。
步骤S26:查找自动结构化文本中的空格符号,将空格符号按文章顺序的方式将空格符号替换为递增的数字。
图3示出了图1和图2所示的方法实施例中的模型训练过程的流程,请参见图3,下面是对图3中的模型训练流程各步骤的详细描述。
步骤S31:收集样本数据。
收集样本数据包括收集一定数量的文章样本。
步骤S32:对收集到的样本数据进行数据标注。
数据标注是将待训练的文章样本标注对应的标签,其中标签是输入样本经过模型训练后拟合出来的值,在本发明中标签即为对应的编码形式。
步骤S33:对经标注的数据进行数据清洗和预处理,得到无编码形式的长序列样本作为模型训练的输入。
数据清洗是发现并纠正数据文件中可识别的错误的最后一道程序,包括检查数据一致性,处理无效值和缺失值等。
预处理是将每个训练的样本转换为相应的无编码形式的长序列样本,此为seq2seq模型训练的输入,网络训练即训练seq2seq模型。在后续的模型训练中,一个无编码形式的长序列样本对应一个有编码形式(编码形式即标签)的长序列样本,从而让seq2seq模型去拟合输入和输出。
步骤S34:搭建PyTorch框架。
深度学习框架PyTorch的前身是Torch,其底层和Torch框架一样,但是使用Python重新写了很多内容,不仅更加灵活,支持动态图,而且提供了Python接口。它是由Torch7团队开发,是一个以Python优先的深度学习框架,不仅能够实现强大的GPU加速,同时还支持动态神经网络,这是很多主流深度学习框架比如Tensorflow等都不支持的。PyTorch既可以看作加入了GPU支持的numpy,同时也可以看成一个拥有自动求导功能的强大的深度神经网络。除了Facebook外,它已经被Twitter、CMU和Salesforce等机构采用。PyTorch框架会用在seq2seq模型的神经网络计算中。
步骤S35:建立seq2seq模型,seq2seq模型中包含了指示不同层级标题序号之间的关系的编码规则。
自然语言处理领域中的seq2seq模型是基于循环神经网络,如图7所示,在seq2seq结构中,编码器encoder把所有的输入序列都编码成一个统一的语义向量context,然后再由解码器decoder解码。在解码器decoder解码的过程中,不断的将前一个时刻t-1解的输出作为后一个时刻t的输入,循环解码,直到输出停止符为止。
编码规则的其中一例为:文章样本和标签label采用特殊的编码形式,按照文本大纲级别进行编码。由于需要查找文章中不同级别的标题序号,因此可以用“←”、”→”、“↑”、“↓”这四种符号来代表文章中标题序号之间的层级关系。假设文章中有“一、”、“1.1”、“1.2”、“二、”四个序号,则将“一、”表示为“↓”,“1.1”表示为“→”,“1.2”表示为“↓”,“二、”表示为“←”,以此类推,用这种表示方法代表层级之间的流动关系。由此可知,前述提到的编码规则用方向型符号的表达方式代表了不同层级标题序号之间的关系,即进入子级用“→”表示,同级用“↓”表示,回到父级用“←表示”,其他关系用“↑”表示(可省略)。
假设seq2seq模型的输入端为“一、绪论”,输入数据中包含四个字符,将其进行encoder编码则有四个时刻t1,t2,t3,t4,以及对应了四个隐藏层状态h1,h2,h3,h4。将t4时刻的h4作为语义向量context。将语义向量作为decoder端的h0状态,同时在t1时刻输入<start>特殊标识符,该标识符通过嵌入方法得到。之后便可以开始解码,再不断将前一时刻的状态输出作为下一时刻的输入进行解码,直到输出<stop>标识符结束。解码后的输出为“一↓绪论”。
另一个例子中,若seq2seq模型的输入端为“一、xxxxxx1.1xxxxx1.2xxxxxx二、xxxxxx”(其中xxxxx代表文本中其他文字),则解码后模型的输出为(一↓xxxxxxx1→1xxxxxxx1↓2xxxxxx二←xxxxx)。
本实施例中是以seq2seq模型的上述具体编码方式为例来说明,但本发明不以该具体模型为限,只要是能和上述具体编码方式起到相同作用并能适用于本发明场景的所有编码方式都应包括在本发明的保护范围之内。
步骤S36:训练seq2seq模型。
利用经步骤S33预处理好的样本来训练seq2seq模型,基于预设的编码规则将输入到seq2seq模型的无编码形式长序列样本拟合为有编码形式的长序列样本,让seq2seq模型去学习这种编码规则。
步骤S37:seq2seq模型测试与优化。
利用样本集中的测试集来测试模型,测试集用于训练完成时测试模型好坏,测试集和验证集来自近似分布,训练集来自其他分布。通过测试模型,再相应改变模型的超参数(超参数是在开始学习过程之前设置值的参数,而不是通过训练得到的参数数据),通过不断调整超参数对超参数进行优化,给模型选择一组最优超参数,以提高学习的性能和效果。
步骤S38:确定模型。
确定模型可以使用的标准例如是模型应用在测试集的准确率达到95%以上。
图4示出了本发明的基于自然语言处理的文本自动结构化系统的第一实施例的原理。请参见图4,本实施例的系统包括:文本输入模块、模型处理模块、编码查找模块、编码替换模块。
文本输入模块用于输入需要自动结构化处理的原始文本。
模型处理模块用于利用经训练的神经网络模型对原始文本进行处理,生成有编码形式的长序列文本。模型处理模块中包括模型训练子模块,模型训练子模块的具体原理如图6所示并在下文中加以详述。
编码查找模块用于通过在有编码形式的含有序号的长序列文本中查找对应编码来自动结构化文本。
有编码形式的长序列文本中包含的序号包括正确的序号和错误的序号。即使长序列文本中有标错的序号,本实施例依然基于标错的序号生成需要的编码方式,再通过查找特定的编码来进行文本结构化,这样就不限制于具体的序号,从而解决了标错序号的问题。
编码替换模块用于查找自动结构化文本中对应的编码符号,按照前后两个编码之间的关系和编码的含义将编码符号替换为相应的序号。
本实施例中通过python程序查找对应的编码符号,例如编码形式为“↑”等,python程序可以从“一、”序号开始按文章顺序查找编码并且按前后两个编码之间的关系和编码的含义将编码替换为相应的序号,例如将“↑xxxx→xxxx←xxx”替换为“一、xxxx1.1xxxx二、”。
图5示出了本发明的基于自然语言处理的文本自动结构化系统的第二实施例的原理。请参见图5,本实施例的系统包括:文本输入模块、模型处理模块、编码查找模块、编码替换模块、空格查找模块和空格替换模块。
文本输入模块用于输入需要自动结构化处理的原始文本。
模型处理模块用于利用经训练的神经网络模型对原始文本进行处理,生成有编码形式的长序列文本。模型处理模块中包括模型训练子模块,模型训练子模块的具体原理如图6所示并在下文中加以详述。
模型处理模块之后针对两种情况分别进行处理,第一种情况是和图4实施例相同的针对包含序号的长序列文本的处理(编码查找模块、编码替换模块),第二种情况是对不包含序号的长序列文本的处理(空格查找模块和空格替换模块)。
编码查找模块用于通过在有编码形式的含有序号的长序列文本中查找对应编码来自动结构化文本。
有编码形式的长序列文本中包含的序号包括正确的序号和错误的序号。即使长序列文本中有标错的序号,本实施例依然基于标错的序号生成需要的编码方式,再通过查找特定的编码来进行文本结构化,这样就不限制于具体的序号,从而解决了标错序号的问题。
编码替换模块用于查找自动结构化文本中对应的编码符号,按照前后两个编码之间的关系和编码的含义将编码符号替换为相应的序号。
本实施例中通过python程序查找对应的编码符号,例如编码形式为“↑”等,python程序可以从“一、”序号开始按文章顺序查找编码并且按前后两个编码之间的关系和编码的含义将编码替换为相应的序号,例如将“↑xxxx→xxxx←xxx”替换为“一、xxxx1.1xxxx二、”。
空格查找模块用于通过在有编码形式的不含序号的长序列文本中查找空格来自动结构化文本。
即使长序列文本中没有序号,如果图3所示的训练样本中具备此类型样本:“xxxxxxxx”格式(seq2seq模型输入端的样本文章的段落间带有空格),那么seq2seq模型也可以学习到这种上下文关系,且编码器encoder和解码器decoder不要求输入和输出序列具有相同的时间长度,则可以在长序列文本中无序号的情况下实现自动结构化。
空格替换模块用于查找自动结构化文本中的空格符号,将空格符号按文章顺序的方式将空格符号替换为递增的数字。
图6示出了图4和图5所示的系统实施例中的模型训练子模块的原理图。请参见图6,模型训练子模块包括:样本收集单元、数据标注单元、数据清洗和预处理单元、框架搭建单元、模型建立单元、模型训练单元、模型测试与优化单元、模型确定单元。
样本收集单元用于收集样本数据。收集样本数据包括收集一定数量的文章样本。
数据标注单元用于对收集到的样本数据进行数据标注。
数据标注是将待训练的文章样本标注对应的标签,其中标签是输入样本经过模型训练后拟合出来的值,在本发明中标签即为对应的编码形式。
数据清洗和预处理单元用于对经标注的数据进行数据清洗和预处理,得到无编码形式的长序列样本作为模型训练的输入。
数据清洗是发现并纠正数据文件中可识别的错误的最后一道程序,包括检查数据一致性,处理无效值和缺失值等。
预处理是将每个训练的样本转换为相应的无编码形式的长序列样本,此为seq2seq模型训练的输入,网络训练即训练seq2seq模型。在后续的模型训练中,一个无编码形式的长序列样本对应一个有编码形式(编码形式即标签)的长序列样本,从而让seq2seq模型去拟合输入和输出。
框架搭建单元用于搭建PyTorch框架。
深度学习框架PyTorch的前身是Torch,其底层和Torch框架一样,但是使用Python重新写了很多内容,不仅更加灵活,支持动态图,而且提供了Python接口。它是由Torch7团队开发,是一个以Python优先的深度学习框架,不仅能够实现强大的GPU加速,同时还支持动态神经网络,这是很多主流深度学习框架比如Tensorflow等都不支持的。PyTorch既可以看作加入了GPU支持的numpy,同时也可以看成一个拥有自动求导功能的强大的深度神经网络。除了Facebook外,它已经被Twitter、CMU和Salesforce等机构采用。PyTorch框架会用在seq2seq模型的神经网络计算中。
模型建立单元用于建立seq2seq模型,seq2seq模型中包含了指示不同层级标题序号之间的关系的编码规则。
自然语言处理领域中的seq2seq模型是基于循环神经网络,如图7所示,在seq2seq结构中,编码器encoder把所有的输入序列都编码成一个统一的语义向量context,然后再由解码器decoder解码。在解码器decoder解码的过程中,不断的将前一个时刻t-1解的输出作为后一个时刻t的输入,循环解码,直到输出停止符为止。
编码规则的其中一例为:文章样本和标签label采用特殊的编码形式,按照文本大纲级别进行编码。由于需要查找文章中不同级别的标题序号,因此可以用“←”、”→”、“↑”、“↓”这四种符号来代表文章中标题序号之间的层级关系。假设文章中有“一、”、“1.1”、“1.2”、“二、”四个序号,则将“一、”表示为“↓”,“1.1”表示为“→”,“1.2”表示为“↓”,“二、”表示为“←”,以此类推,用这种表示方法代表层级之间的流动关系。由此可知,前述提到的编码规则用方向型符号的表达方式代表了不同层级标题序号之间的关系,即进入子级用“→”表示,同级用“↓”表示,回到父级用“←表示”,其他关系用“↑”表示(可省略)。
假设seq2seq模型的输入端为“一、绪论”,输入数据中包含四个字符,将其进行encoder编码则有四个时刻t1,t2,t3,t4,以及对应了四个隐藏层状态h1,h2,h3,h4。将t4时刻的h4作为语义向量context。将语义向量作为decoder端的h0状态,同时在t1时刻输入<start>特殊标识符,该标识符通过嵌入方法得到。之后便可以开始解码,再不断将前一时刻的状态输出作为下一时刻的输入进行解码,直到输出<stop>标识符结束。解码后的输出为“一↓绪论”。
另一个例子中,若seq2seq模型的输入端为“一、xxxxxx1.1xxxxx1.2xxxxxx二、xxxxxx”(其中xxxxx代表文本中其他文字),则解码后模型的输出为(一↓xxxxxxx1→1xxxxxxx1↓2xxxxxx二←xxxxx)。
模型训练单元用于利用预处理好的样本来训练seq2seq模型,基于预设的编码规则将输入到seq2seq模型的无编码形式长序列样本拟合为有编码形式的长序列样本,让seq2seq模型去学习这种编码规则。
模型测试与优化单元用于对seq2seq模型测试与优化。
利用样本集中的测试集来测试模型,测试集用于训练完成时测试模型好坏,测试集和验证集来自近似分布,训练集来自其他分布。通过测试模型,再相应改变模型的超参数(超参数是在开始学习过程之前设置值的参数,而不是通过训练得到的参数数据),通过不断调整超参数对超参数进行优化,给模型选择一组最优超参数,以提高学习的性能和效果。
模型确定单元用于确定模型。确定模型可以使用的标准例如是模型应用在测试集的准确率达到95%以上。
此外,本发明还公开了一种基于自然语言处理的文本自动结构化系统,系统包括处理器和存储器,其中存储器被配置为存储一系列计算机可执行的指令以及与这一系列计算机可执行的指令相关联的计算机可访问的数据,其中,当这一系列计算机可执行的指令被处理器执行时,使得处理器进行如图1或图2实施例所述的方法。由于方法中各步骤在前述实施例中已经详细描述,在此不再赘述。
此外,本发明还公开了一种非临时性计算机可读存储介质,非临时性计算机可读存储介质上存储有一系列计算机可执行的指令,当这一系列可执行的指令被计算装置执行时,使得计算装置进行如图1或图2实施例所述的方法。由于方法中各步骤在前述实施例中已经详细描述,在此不再赘述。
尽管为使解释简单化将上述方法图示并描述为一系列动作,但是应理解并领会,这些方法不受动作的次序所限,因为根据一个或多个实施例,一些动作可按不同次序发生和/或与来自本文中图示和描述或本文中未图示和描述但本领域技术人员可以理解的其他动作并发地发生。
本领域技术人员将进一步领会,结合本文中所公开的实施例来描述的各种解说性逻辑板块、模块、电路、和算法步骤可实现为电子硬件、计算机软件、或这两者的组合。为清楚地解说硬件与软件的这一可互换性,各种解说性组件、框、模块、电路、和步骤在上面是以其功能性的形式作一般化描述的。此类功能性是被实现为硬件还是软件取决于具体应用和施加于整体系统的设计约束。技术人员对于每种特定应用可用不同的方式来实现所描述的功能性,但这样的实现决策不应被解读成导致脱离了本发明的范围。
结合本文所公开的实施例描述的各种解说性逻辑板块、模块、和电路可用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其设计成执行本文所描述功能的任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,该处理器可以是任何常规的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如DSP与微处理器的组合、多个微处理器、与DSP核心协作的一个或多个微处理器、或任何其他此类配置。
结合本文中公开的实施例描述的方法或算法的步骤可直接在硬件中、在由处理器执行的软件模块中、或在这两者的组合中体现。软件模块可驻留在RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM、或本领域中所知的任何其他形式的存储介质中。示例性存储介质耦合到处理器以使得该处理器能从/向该存储介质读取和写入信息。在替换方案中,存储介质可以被整合到处理器。处理器和存储介质可驻留在ASIC中。ASIC可驻留在用户终端中。在替换方案中,处理器和存储介质可作为分立组件驻留在用户终端中。
在一个或多个示例性实施例中,所描述的功能可在硬件、软件、固件或其任何组合中实现。如果在软件中实现为计算机程序产品,则各功能可以作为一条或更多条指令或代码存储在计算机可读介质上或藉其进行传送。计算机可读介质包括计算机存储介质和通信介质两者,其包括促成计算机程序从一地向另一地转移的任何介质。存储介质可以是能被计算机访问的任何可用介质。作为示例而非限定,这样的计算机可读介质可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁存储设备、或能被用来携带或存储指令或数据结构形式的合意程序代码且能被计算机访问的任何其它介质。任何连接也被正当地称为计算机可读介质。例如,如果软件是使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)、或诸如红外、无线电、以及微波之类的无线技术从web网站、服务器、或其它远程源传送而来,则该同轴电缆、光纤电缆、双绞线、DSL、或诸如红外、无线电、以及微波之类的无线技术就被包括在介质的定义之中。如本文中所使用的盘(disk)和碟(disc)包括压缩碟(CD)、激光碟、光碟、数字多用碟(DVD)、软盘和蓝光碟,其中盘(disk)往往以磁的方式再现数据,而碟(disc)用激光以光学方式再现数据。上述的组合也应被包括在计算机可读介质的范围内。
提供对本公开的先前描述是为使得本领域任何技术人员皆能够制作或使用本公开。对本公开的各种修改对本领域技术人员来说都将是显而易见的,且本文中所定义的普适原理可被应用到其他变体而不会脱离本公开的精神或范围。由此,本公开并非旨在被限定于本文中所描述的示例和设计,而是应被授予与本文中所公开的原理和新颖性特征相一致的最广范围。
Claims (9)
1.一种基于自然语言处理的文本自动结构化方法,其特征在于,包括:
输入需要自动结构化处理的原始文本;
利用经训练的神经网络模型对原始文本进行处理,生成有编码形式的长序列文本;
通过在有编码形式的含有序号的长序列文本中查找对应编码来自动结构化文本;
查找自动结构化文本中对应的编码符号,按照前后两个编码之间的关系和编码的含义将编码符号替换为相应的序号;
其中,神经网络模型的训练过程包括:
收集样本数据;
对收集到的样本数据进行数据标注;
对经标注的数据进行数据清洗和预处理,得到无编码形式的长序列样本作为神经网络模型训练的输入;
搭建PyTorch框架;
建立神经网络模型,神经网络模型中包含指示不同层级标题序号之间的关系的编码规则;
利用无编码形式的长序列样本训练神经网络模型;
对神经网络模型进行测试与优化;
确定神经网络模型;
其中,神经网络模型是seq2seq模型,seq2seq模型结构中的编码器将所有的输入序列都编码成一个统一的语义向量,再由解码器进行解码,解码过程中不断将前一个时刻解的输出作为后一个时刻的输入,循环编码直至输出停止符为止。
2.根据权利要求1所述的基于自然语言处理的文本自动结构化方法,其特征在于,有编码形式的长序列文本中包含的序号包括正确的序号和错误的序号。
3.根据权利要求1所述的基于自然语言处理的文本自动结构化方法,其特征在于,方法还包括:
通过在有编码形式的不含序号的长序列文本中查找空格来自动结构化文本;
查找自动结构化文本中的空格符号,将空格符号按文章顺序的方式将空格符号替换为递增的数字。
4.一种基于自然语言处理的文本自动结构化系统,其特征在于,包括:
文本输入模块,输入需要自动结构化处理的原始文本;
模型处理模块,利用经训练的神经网络模型对原始文本进行处理,生成有编码形式的长序列文本;
编码查找模块,通过在有编码形式的含有序号的长序列文本中查找对应编码来自动结构化文本;
编码替换模块,查找自动结构化文本中对应的编码符号,按照前后两个编码之间的关系和编码的含义将编码符号替换为相应的序号;
其中,模型处理模块中包括模型训练子模块,其中模型训练子模块进一步包括:
样本收集单元,收集样本数据;
数据标注单元,对收集到的样本数据进行数据标注;
数据清洗和预处理单元,对经标注的数据进行数据清洗和预处理,得到无编码形式的长序列样本作为神经网络模型训练的输入;
框架搭建单元,搭建PyTorch框架;
模型建立单元,建立神经网络模型,神经网络模型中包含指示不同层级标题序号之间的关系的编码规则;
模型训练单元,利用无编码形式的长序列样本训练神经网络模型;
模型测试与优化单元,对神经网络模型进行测试与优化;
模型确定单元,确定神经网络模型;
其中,神经网络模型是seq2seq模型,seq2seq模型结构中的编码器将所有的输入序列都编码成一个统一的语义向量,再由解码器进行解码,解码过程中不断将前一个时刻解的输出作为后一个时刻的输入,循环编码直至输出停止符为止。
5.根据权利要求4所述的基于自然语言处理的文本自动结构化系统,其特征在于,有编码形式的长序列文本中包含的序号包括正确的序号和错误的序号。
6.根据权利要求4所述的基于自然语言处理的文本自动结构化系统,其特征在于,系统还包括:
空格查找模块,通过在有编码形式的不含序号的长序列文本中查找空格来自动结构化文本;
空格替换模块,查找自动结构化文本中的空格符号,将空格符号按文章顺序的方式将空格符号替换为递增的数字。
7.根据权利要求4所述的基于自然语言处理的文本自动结构化系统,其特征在于,神经网络模型是seq2seq模型,seq2seq模型结构中的编码器将所有的输入序列都编码成一个统一的语义向量,再由解码器进行解码,解码过程中不断将前一个时刻解的输出作为后一个时刻的输入,循环编码直至输出停止符为止。
8.一种基于自然语言处理的文本自动结构化系统,其特征在于,包括:
处理器;以及
存储器,所述存储器被配置为存储一系列计算机可执行的指令以及与所述一系列计算机可执行的指令相关联的计算机可访问的数据,
其中,当所述一系列计算机可执行的指令被所述处理器执行时,使得所述处理器进行如权利要求1至3中任一项所述的方法。
9.一种非临时性计算机可读存储介质,其特征在于,所述非临时性计算机可读存储介质上存储有一系列计算机可执行的指令,当所述一系列可执行的指令被计算装置执行时,使得计算装置进行如权利要求1至3中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910126552.XA CN111597801B (zh) | 2019-02-20 | 2019-02-20 | 一种基于自然语言处理的文本自动结构化方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910126552.XA CN111597801B (zh) | 2019-02-20 | 2019-02-20 | 一种基于自然语言处理的文本自动结构化方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111597801A CN111597801A (zh) | 2020-08-28 |
CN111597801B true CN111597801B (zh) | 2023-09-15 |
Family
ID=72188573
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910126552.XA Active CN111597801B (zh) | 2019-02-20 | 2019-02-20 | 一种基于自然语言处理的文本自动结构化方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111597801B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113807056B (zh) * | 2021-09-23 | 2023-11-14 | 北京林业大学 | 一种文档名称序号纠错方法、装置和设备 |
CN114185595B (zh) * | 2021-11-02 | 2024-03-29 | 武汉大学 | 基于代码结构引导的方法名生成方法 |
CN113901179B (zh) * | 2021-12-10 | 2022-03-22 | 中国测绘科学研究院 | 一种基于自然语言的人员流动应急管理信息结构化方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9830315B1 (en) * | 2016-07-13 | 2017-11-28 | Xerox Corporation | Sequence-based structured prediction for semantic parsing |
CN107992597A (zh) * | 2017-12-13 | 2018-05-04 | 国网山东省电力公司电力科学研究院 | 一种面向电网故障案例的文本结构化方法 |
CN109299273A (zh) * | 2018-11-02 | 2019-02-01 | 广州语义科技有限公司 | 基于改进seq2seq模型的多源多标签文本分类方法及其系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9858263B2 (en) * | 2016-05-05 | 2018-01-02 | Conduent Business Services, Llc | Semantic parsing using deep neural networks for predicting canonical forms |
-
2019
- 2019-02-20 CN CN201910126552.XA patent/CN111597801B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9830315B1 (en) * | 2016-07-13 | 2017-11-28 | Xerox Corporation | Sequence-based structured prediction for semantic parsing |
CN107992597A (zh) * | 2017-12-13 | 2018-05-04 | 国网山东省电力公司电力科学研究院 | 一种面向电网故障案例的文本结构化方法 |
CN109299273A (zh) * | 2018-11-02 | 2019-02-01 | 广州语义科技有限公司 | 基于改进seq2seq模型的多源多标签文本分类方法及其系统 |
Non-Patent Citations (1)
Title |
---|
贾声声 ; 彭敦陆 ; .CNN支持下的领域文本自组织映射神经网络聚类算法.小型微型计算机系统.2018,(06),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111597801A (zh) | 2020-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111597801B (zh) | 一种基于自然语言处理的文本自动结构化方法和系统 | |
US20100083101A1 (en) | Methods of coding and decoding a structured document, and the corresponding devices | |
FR2931271A1 (fr) | Procede et dispositif de codage d'un document structure et procede et dispositif de decodage d'un document ainsi code | |
US20060212467A1 (en) | Encoding of hierarchically organized data for efficient storage and processing | |
CN109104405B (zh) | 二进制协议编码、解码方法和装置 | |
CN105450232A (zh) | 编码、解码方法以及编码装置和解码装置 | |
CN103279544A (zh) | 树型结构数据在关系型数据库中的存储和查询方法及装置 | |
CN107451106A (zh) | 文本纠正方法及装置、电子设备 | |
WO2016124070A1 (zh) | 一种数据处理的方法和设备 | |
Cao et al. | Adaptive coding for DNA storage with high storage density and low coverage | |
CN112035165B (zh) | 基于同构网络的代码克隆检测方法及系统 | |
FR2929778A1 (fr) | Procedes et dispositifs de codage et de decodage binaire iteratif pour documents de type xml. | |
CN111131403A (zh) | 一种物联网设备的消息编解码方法及装置 | |
CN102779161B (zh) | 基于rdf知识库的语义标注方法 | |
CN111159394A (zh) | 一种文本摘要生成方法和装置 | |
JP2013089185A (ja) | 記述方法、exiデコーダおよびプログラム | |
US8279095B2 (en) | Method for storing node information of Huffman tree and corresponding decoding method | |
US11106657B2 (en) | Optimizing hash storage and memory during caching | |
CN112822265A (zh) | 数据编码方法、装置、设备端及存储介质 | |
CN111190896B (zh) | 数据处理方法、装置、存储介质和计算机设备 | |
US20070276827A1 (en) | Method and device for generating reference structural patterns adapted to represent hierarchized data | |
CN111104520A (zh) | 一种基于人物身份的人物实体链接方法 | |
JP4821287B2 (ja) | 構造化文書の符号化方法、符号化装置、符号化プログラム、復号装置及び符号化された構造化文書のデータ構造 | |
CN114564958B (zh) | 文本识别方法、装置、设备及介质 | |
CN114385624A (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 |