段落或章节通常指语义连贯的子文档单元,通常对应单篇文章内的单一主题或子主题文本片段。文档分割被定义为自动预测文档的段(段落或章节)边界。已有的文档分割工作主要集中在书面文本上,主要包括无监督和有监督两大类方法。近年来,诸多研究者提出了许多基于神经网络的文本分割算法。比如,当前文本分割的 state of the art (SOTA) 是 Lukasik 等[1]提出的基于 BERT 的 cross-segment 模型,将文本分割定义为逐句的文本分类任务。同时,他们也提出使用两个 BERT 模型分别编码句子和文档,从而利用更长上下文的分层 BERT 模型 (Hier.BERT)。
然而,文档分割是一个强依赖长文本篇章信息的任务,逐句分类模型在利用长文本的语义信息时,容易面临模型性能的阻碍。而层次模型也存在计算量大,推理速度慢等问题。我们的目标是探索如何有效利用足够的上下文信息以进行准确分割以及在高效推理效率之间找到良好的平衡。此外,针对口语 ASR 转写稿的数据特性,比如 ASR 识别错误等,我们也进行了一部分针对性优化的工作。接下来,将主要从三个方面展开描述我们的工作,分别是方法介绍、实验结果和分析以及总结展望。
from langchain.text_splitter import CharacterTextSplitter import re from typing importList
classChineseTextSplitter(CharacterTextSplitter): def__init__(self, pdf: bool = False, sentence_size: int = 250, **kwargs): super().__init__(**kwargs) self.pdf = pdf self.sentence_size = sentence_size
defsplit_text(self, text: str) -> List[str]: if self.pdf: text = re.sub(r"\n{3,}", "\n", text) text = re.sub('\s', ' ', text) text = text.replace("\n\n", "") sent_sep_pattern = re.compile('([﹒﹔﹖﹗.。!?]["’”」』]{0,2}|(?=["‘“「『]{1,2}|$))') # del :; sent_list = [] for ele in sent_sep_pattern.split(text): if sent_sep_pattern.match(ele) and sent_list: sent_list[-1] += ele elif ele: sent_list.append(ele) return sent_list
分割结果:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
x:为了帮助用户提升信息获取及信息加工的效率,阿里巴巴达摩院语音实验室的口语语言处理团队实践了一系列针对音视频转写结果的长文本语义理解能力。 x:本文主要围绕其中的信息结构化段落分割相关能力进行介绍。 x:随着在线教学、会议等技术的扩展,口语文档的数量以会议记录、讲座、采访等形式不断增加。 x:然而,经过自动语音识别(ASR)系统生成的长篇章口语文字记录缺乏段落等结构化信息,会显著降低文本的可读性,十分影响用户的阅读和信息获取效率。 x:此外,缺乏结构化分割信息对于语音转写稿下游自然语言处理(NLP)任务的性能也有较大影响。 x:比如文本摘要和机器阅读理解之类的下游 NLP 应用通常在带有段落分割、格式良好的文本上进行训练和使用才能保证较好的效果和用户体验。 x:段落或章节通常指语义连贯的子文档单元,通常对应单篇文章内的单一主题或子主题文本片段。 x:文档分割被定义为自动预测文档的段(段落或章节)边界。 x:已有的文档分割工作主要集中在书面文本上,主要包括无监督和有监督两大类方法。 x:近年来,诸多研究者提出了许多基于神经网络的文本分割算法。 x:比如,当前文本分割的 state of the art (SOTA) 是 Lukasik 等[1]提出的基于 BERT 的 cross-segment 模型,将文本分割定义为逐句的文本分类任务。 x:同时,他们也提出使用两个 BERT 模型分别编码句子和文档,从而利用更长上下文的分层 BERT 模型 (Hier.BERT)。 x:然而,文档分割是一个强依赖长文本篇章信息的任务,逐句分类模型在利用长文本的语义信息时,容易面临模型性能的阻碍。 x:而层次模型也存在计算量大,推理速度慢等问题。 x:我们的目标是探索如何有效利用足够的上下文信息以进行准确分割以及在高效推理效率之间找到良好的平衡。 x:此外,针对口语 ASR 转写稿的数据特性,比如 ASR 识别错误等,我们也进行了一部分针对性优化的工作。 x:接下来,将主要从三个方面展开描述我们的工作,分别是方法介绍、实验结果和分析以及总结展望。
x:为了帮助用户提升信息获取及信息加工的效率,阿里巴巴达摩院语音实验室的口语语言处理团队实践了一系列针对音视频转写结果的长文本语义理解能力。本文主要围绕其中的信息结构化段落分割相关能力进行介绍。 x:随着在线教学、会议等技术的扩展,口语文档的数量以会议记录、讲座、采访等形式不断增加。然而,经过自动语音识别(ASR)系统生成的长篇章口语文字记录缺乏段落等结构化信息,会显著降低文本的可读性,十分影响用户的阅读和信息获取效率。此外,缺乏结构化分割信息对于语音转写稿下游自然语言处理(NLP)任务的性能也有较大影响。比如文本摘要和机器阅读理解之类的下游 NLP 应用通常在带有段落分割、格式良好的文本上进行训练和使用才能保证较好的效果和用户体验。 x:段落或章节通常指语义连贯的子文档单元,通常对应单篇文章内的单一主题或子主题文本片段。文档分割被定义为自动预测文档的段(段落或章节)边界。已有的文档分割工作主要集中在书面文本上,主要包括无监督和有监督两大类方法。 x:近年来,诸多研究者提出了许多基于神经网络的文本分割算法。比如,当前文本分割的 state of the art (SOTA) 是 Lukasik 等[1]提出的基于 BERT 的 cross-segment 模型,将文本分割定义为逐句的文本分类任务。同时,他们也提出使用两个 BERT 模型分别编码句子和文档,从而利用更长上下文的分层 BERT 模型 (Hier. x:BERT)。然而,文档分割是一个强依赖长文本篇章信息的任务,逐句分类模型在利用长文本的语义信息时,容易面临模型性能的阻碍。而层次模型也存在计算量大,推理速度慢等问题。我们的目标是探索如何有效利用足够的上下文信息以进行准确分割以及在高效推理效率之间找到良好的平衡。此外,针对口语 ASR 转写稿的数据特性,比如 ASR 识别错误等,我们也进行了一部分针对性优化的工作。 x:接下来,将主要从三个方面展开描述我们的工作,分别是方法介绍、实验结果和分析以及总结展望。