一种文档拆分方法及终端技术

技术编号:34918519 阅读:28 留言:0更新日期:2022-09-15 07:09
本发明专利技术公开一种文档拆分方法及终端,根据接收的按句拆分请求对原始文档按照第一预设拆分长度和标点符号进行拆分,得到多个句子;遍历所述多个句子,直至每一所述句子均已遍历;对于遍历到的目标句子,确定所述目标句子的前一句子,并根据预设滑动距离对所述目标句子和所述前一句子进行合并,得到拆分结果,通过引入预设滑动距离,对拆分后的部分句子进行合并,当拆分后的多个子句上下文存在重叠部分时,可将重叠部分合并到一个拆分句子中,可避免机器阅读理解时将答案拆分到两个不同的小段落中,以此实现更细粒度的拆分,提高了文档拆分的准确率,且无需大量的训练数据,可实现冷启动,从而提高文档拆分效果。从而提高文档拆分效果。从而提高文档拆分效果。

【技术实现步骤摘要】
一种文档拆分方法及终端


[0001]本专利技术涉及自然语言处理
,尤其涉及一种文档拆分方法及终端。

技术介绍

[0002]自然语言问答的中文文档拆分是将DOCX、PDF、TXT中的文档内容提取出来并拆分成小段落,以便于机器阅读理解(Machine Reading Comprehension,MRC),因为Transformer模型(一种神经网络)需要输入一段固定长度(例如512)的向量,所以需要将每篇中文文档拆分成小于512字的小段落。
[0003]目前将文档拆分为小段落的方法大多数使用规则或者正则表达式的方法,也有使用深度学习模型的方法,例如NLTK(Natural Language Toolkit,自然语言处理工具包)使用语料库和深度学习模型将文档内容拆分为词或者句子,但这些方法都存在以下缺点:
[0004]1、只提供按照标点符号拆分文档,并未提供对文档进行更细粒度地拆分;
[0005]2、使用语料库和深度学习模型的方法需要整理大量的训练数据,人工工作量较大。

技术实现思路

[0006]本专利技术所要解决的技术问题是:提供一种文档拆分方法及终端,能够提高文档拆分效果。
[0007]为了解决上述技术问题,本专利技术采用的一种技术方案为:
[0008]一种文档拆分方法,包括步骤:
[0009]根据接收的按句拆分请求对原始文档按照第一预设拆分长度和标点符号进行拆分,得到多个句子;
[0010]遍历所述多个句子,直至每一所述句子均已遍历;/>[0011]对于遍历到的目标句子,确定所述目标句子的前一句子,并根据预设滑动距离对所述目标句子和所述前一句子进行合并,得到拆分结果。
[0012]为了解决上述技术问题,本专利技术采用的另一种技术方案为:
[0013]一种文档拆分终端,包括存储器、处理器及存储在存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
[0014]根据接收的按句拆分请求对原始文档按照第一预设拆分长度和标点符号进行拆分,得到多个句子;
[0015]遍历所述多个句子,直至每一所述句子均已遍历;
[0016]对于遍历到的目标句子,确定所述目标句子的前一句子,并根据预设滑动距离对所述目标句子和所述前一句子进行合并,得到拆分结果。
[0017]本专利技术的有益效果在于:根据接收的按句拆分请求对原始文档按照第一预设拆分长度和标点符号进行拆分,得到多个句子,遍历多个句子,对于遍历到的目标句子,确定目标句子的前一句子,并根据预设滑动距离对目标句子和前一句子进行合并,得到拆分结果,
通过引入预设滑动距离,对拆分后的部分句子进行合并,当拆分后的多个子句上下文存在重叠部分时,可将重叠部分合并到一个拆分句子中,可避免机器阅读理解时将答案拆分到两个不同的小段落中,以此实现更细粒度的拆分,提高了文档拆分的准确率,且无需大量的训练数据,可实现冷启动,从而提高文档拆分效果。
附图说明
[0018]图1为本专利技术实施例的一种文档拆分方法的步骤流程图;
[0019]图2为本专利技术实施例的一种文档拆分终端的结构示意图。
具体实施方式
[0020]为详细说明本专利技术的
技术实现思路
、所实现目的及效果,以下结合实施方式并配合附图予以说明。
[0021]请参照图1,本专利技术实施例提供了一种文档拆分方法,包括步骤:
[0022]根据接收的按句拆分请求对原始文档按照第一预设拆分长度和标点符号进行拆分,得到多个句子;
[0023]遍历所述多个句子,直至每一所述句子均已遍历;
[0024]对于遍历到的目标句子,确定所述目标句子的前一句子,并根据预设滑动距离对所述目标句子和所述前一句子进行合并,得到拆分结果。
[0025]从上述描述可知,本专利技术的有益效果在于:根据接收的按句拆分请求对原始文档按照第一预设拆分长度和标点符号进行拆分,得到多个句子,遍历多个句子,对于遍历到的目标句子,确定目标句子的前一句子,并根据预设滑动距离对目标句子和前一句子进行合并,得到拆分结果,通过引入预设滑动距离,对拆分后的部分句子进行合并,当拆分后的多个子句上下文存在重叠部分时,可将重叠部分合并到一个拆分句子中,可避免机器阅读理解时将答案拆分到两个不同的小段落中,以此实现更细粒度的拆分,提高了文档拆分的准确率,且无需大量的训练数据,可实现冷启动,从而提高文档拆分效果。
[0026]进一步地,所述根据接收的按句拆分请求对原始文档按照第一预设拆分长度和标点符号进行拆分,得到多个句子之前包括步骤:
[0027]使用第一正则表达式识别原始文档中的空行,并去除所述空行,得到去除后的原始文档;
[0028]读取所述去除后的原始文档中的每行文本;
[0029]去除所述每行文本中的空白后,对所述每行文本进行合并,得到预处理后的原始文档;
[0030]所述根据接收的按句拆分请求对原始文档按照第一预设拆分长度和标点符号进行拆分,得到多个句子包括:
[0031]根据接收的按句拆分请求对所述预处理后的原始文档按照第一预设拆分长度和标点符号进行拆分,得到多个句子。
[0032]由上述描述可知,通过去除原始文档中的空白和空行,实现了文档的预处理,预处理后的原始文档能够避免由于空白和空行导致的拆分不准确的情况。
[0033]进一步地,所述根据接收的按句拆分请求对所述预处理后的原始文档按照第一预
设拆分长度和标点符号进行拆分,得到多个句子包括:
[0034]根据接收的按句拆分请求使用第二正则表达式识别所述预处理后的原始文档中的标点符号;
[0035]按照所述标点符号对所述预处理后的原始文档进行拆分,得到多个初始句子;
[0036]判断所述多个初始句子中的任一初始句子的长度是否小于第一预设拆分长度,若是,则判断所述任一初始句子的前一初始句子的长度是否小于所述第一预设拆分长度,若小于,则合并所述任一初始句子和所述前一初始句子,得到多个句子,若不小于,则判断所述任一初始句子的后一初始句子的长度是否小于所述第一预设拆分长度,若是,则合并所述任一初始句子和所述后一初始句子,得到多个句子,否则,不进行合并。
[0037]由上述描述可知,先对预处理后的原始文档进行初步拆分,按照标点符号初步拆分后得到的多个句子既满足第一预设拆分长度,又能够保留每句话中重要的语义信息。
[0038]进一步地,所述根据预设滑动距离对所述目标句子和所述前一句子进行合并,得到拆分结果包括:
[0039]若所述前一句子的长度大于预设滑动距离,则将所述前一句子按照标点符号进行拆分,得到多个子句;
[0040]根据距离所述目标句子由近到远的方向遍历所述多个子句,并初始化历史子句;
[0041]对于遍历到的目标子句,判断所述目标子句和所述历史子句的长度之和是否大于所述预设滑动距离,若是,则将所述目标子句、所述历史子句和所述目标句子依次合并,得到拆本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种文档拆分方法,其特征在于,包括步骤:根据接收的按句拆分请求对原始文档按照第一预设拆分长度和标点符号进行拆分,得到多个句子;遍历所述多个句子,直至每一所述句子均已遍历;对于遍历到的目标句子,确定所述目标句子的前一句子,并根据预设滑动距离对所述目标句子和所述前一句子进行合并,得到拆分结果。2.根据权利要求1所述的一种文档拆分方法,其特征在于,所述根据接收的按句拆分请求对原始文档按照第一预设拆分长度和标点符号进行拆分,得到多个句子之前包括步骤:使用第一正则表达式识别原始文档中的空行,并去除所述空行,得到去除后的原始文档;读取所述去除后的原始文档中的每行文本;去除所述每行文本中的空白后,对所述每行文本进行合并,得到预处理后的原始文档;所述根据接收的按句拆分请求对原始文档按照第一预设拆分长度和标点符号进行拆分,得到多个句子包括:根据接收的按句拆分请求对所述预处理后的原始文档按照第一预设拆分长度和标点符号进行拆分,得到多个句子。3.根据权利要求2所述的一种文档拆分方法,其特征在于,所述根据接收的按句拆分请求对所述预处理后的原始文档按照第一预设拆分长度和标点符号进行拆分,得到多个句子包括:根据接收的按句拆分请求使用第二正则表达式识别所述预处理后的原始文档中的标点符号;按照所述标点符号对所述预处理后的原始文档进行拆分,得到多个初始句子;判断所述多个初始句子中的任一初始句子的长度是否小于第一预设拆分长度,若是,则判断所述任一初始句子的前一初始句子的长度是否小于所述第一预设拆分长度,若小于,则合并所述任一初始句子和所述前一初始句子,得到多个句子,若不小于,则判断所述任一初始句子的后一初始句子的长度是否小于所述第一预设拆分长度,若是,则合并所述任一初始句子和所述后一初始句子,得到多个句子,否则,不进行合并。4.根据权利要求1所述的一种文档拆分方法,其特征在于,所述根据预设滑动距离对所述目标句子和所述前一句子进行合并,得到拆分结果包括:若所述前一句子的长度大于预设滑动距离,则将所述前一句子按照标点符号进行拆分,得到多个子句;根据距离所述目标句子由近到远的方向遍历所述多个子句,并初始化历史子句;对于遍历到的目标子句,判断所述目标子句和所述历史子句的长度之和是否大于所述预设滑动距离,若是,则将所述目标子句、所述历史子句和所述目标句子依次合并,得到拆分结果,若否,则将所述目标子句标记为所述历史子句,并从所述多个子句中确定下一目标子句后,返回执行所述判断所述目标子句和所述历史子句的长度之和是否大于所述预设滑动距离步骤;若所述前一句子的长度小于或等于所述预设滑动距离,则将所述前一句子标记为历史前一句子;
将所述历史前一句子和所述历史前一句子的前一句子合并为所述目标句子新的前一句子,并根据所述目标句子新的前一句子返回执行所述若所述前一句子的长度大于预设滑动距离步骤。5.根据权利要求1所述的一种文档拆分方法,其特征在于,所述对于遍历到的目标句子,确定所述目标句子的前一句子,并根据预设滑动距离对所述目标句子和所述前一句子进行合并,得到拆分结果之前包括步骤:确定语义边界以及最大的预设拆分长度;根据所述语义边界和所述最大的预设拆分长度确定预设滑动距离。6.一种文档拆分终端,包括存储器、处理器及存储在存储器上并可...

【专利技术属性】
技术研发人员:陈征宇戴文艳黄炳裕林文国刘有波黄河洪章阳张涛
申请(专利权)人:长威信息科技发展股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1