长文本口语语义理解技术系列①:段落分割实践

简介: 数智化浪潮下,越来越多的企业开始将现代信息网络作为数据资源的主要载体,并通过网络通信技术进行数据传输;网络作为主要的信息交流和分享的方式,海量不同源的网络信息,使得企业与个人消化信息的成本越来越高。音视频数据作为其中重要的信息来源之一,也随着远程视频会议、在线课堂、直播教学、电话销售等领域有了爆炸性的增长。

为了帮助用户提升信息获取及信息加工的效率,阿里巴巴达摩院语音实验室的口语语言处理团队实践了一系列针对音视频转写结果的长文本语义理解能力。本文主要围绕其中的信息结构化段落分割相关能力进行介绍。

▎研究背景

随着在线教学、会议等技术的扩展,口语文档的数量以会议记录、讲座、采访等形式不断增加。然而,经过自动语音识别(ASR)系统生成的长篇章口语文字记录缺乏段落等结构化信息,会显著降低文本的可读性,十分影响用户的阅读和信息获取效率。

此外,缺乏结构化分割信息对于语音转写稿下游自然语言处理(NLP)任务的性能也有较大影响。比如文本摘要和机器阅读理解之类的下游 NLP 应用通常在带有段落分割、格式良好的文本上进行训练和使用才能保证较好的效果和用户体验。

image.png

段落或章节通常指语义连贯的子文档单元,通常对应单篇文章内的单一主题或子主题文本片段。文档分割被定义为自动预测文档的段(段落或章节)边界。已有的文档分割工作主要集中在书面文本上,主要包括无监督和有监督两大类方法。近年来,诸多研究者提出了许多基于神经网络的文本分割算法。比如,当前文本分割的 state of the art (SOTA) 是 Lukasik 等[1]提出的基于 BERT 的 cross-segment 模型,将文本分割定义为逐句的文本分类任务。同时,他们也提出使用两个 BERT 模型分别编码句子和文档,从而利用更长上下文的分层 BERT 模型 (Hier.BERT)。

然而,文档分割是一个强依赖长文本篇章信息的任务,逐句分类模型在利用长文本的语义信息时,容易面临模型性能的阻碍。而层次模型也存在计算量大,推理速度慢等问题。

我们的目标是探索如何有效利用足够的上下文信息以进行准确分割以及在高效推理效率之间找到良好的平衡。此外,针对口语 ASR 转写稿的数据特性,比如 ASR 识别错误等,我们也进行了一部分针对性优化的工作。接下来,将主要从三个方面展开描述我们的工作,分别是方法介绍、实验结果和分析以及总结展望。


▎研究方法

No.1 基于句级序列标注的文本分割模型

image.png

我们提出的 SeqModel 模型[2]将文档分割建模为句子级序列标记任务。该模型结构如图二所示。

首先对输入文档进行分句,每个句子通过分词器分词并添加一个特殊标记。分割后的字符序列通过输入表示获得字向量,并与位置向量和段向量进行元素求和获取最终的字符表征。紧接着,将该字符表征输入到 BERT 编码器,并将编码器输出的字符表征映射到每个句子,对应于每个句子的 k 个字符输出表征通过均值池化操作来获得最终的句子表征。最后,每个句子编码通过输出层以及 softmax 层映射,从而分类每个句子是否是段落边界。该模型的训练目标为最小化交叉熵损失。

相比 cross-segment 模型,我们的 SeqModel 可以同时处理更多句子,通过自注意力机制建模更长上下文和句子间的依赖关系。因此,在强依赖长文篇章信息的分段任务上,seqModel 建模更长文本的语义信息可以有效地提高分割精度。

此外,将分割任务建模为句级的长序列标注任务,可以同时对多个句子同时进行预测,有效提高了模型的推理速度,相比层次模型也有明显的效率优势。

No.2 基于自适应滑窗提升模型推理效率和性能

image.png

为了进一步提升模型的推理效率和效果,我们还提出了一种自适应滑动窗口方法[2],该方法可以在不降低模型效果的基础上进一步加快推理速度,如图三所示。

以往的方法,在面对超过模型处理长度的超长文本输入时,通常用于使用固定步长的滑窗逻辑。然而固定步长的滑窗逻辑会极大地降低模型的推理效率,同时也会轻微影响模型的性能。

在我们提出的自适应滑动窗口方法中,模型前向推理时,从前一个窗口中的最后一句开始往前滑动,找到模型预测的分割点做为下一次模型预测推理的起始点(有最大步数约束)。

考虑到已有段落分割点的历史文本信息对下一个分割点预测的影响相对较小,这个策略有助于减少滑动窗口内不相关的文本信息对于分段点预测的影响。因此,自适应滑动窗口既可以加快推理速度,又可以提高分割精度。

No.3 结合发音信息的口语文本分割优化

在口语场景下,输入分割模型的文本通常是由 ASR 系统给出的转写稿。受限于 ASR 系统在某些场景下的识别效果问题,该转写稿经常存在较多的 ASR 错误,比如发音相似但含义不同的声学混淆词等。

为了提高存在 ASR 错误情况的文本分割性能,我们提出通过使用发音信息来增强文本分割模型输入的表征向量,从而提高文本分割模型在口语场景下的鲁棒性[2]。具体细节如图二中的输入嵌入层以及左侧放大的 “Phone Component“ 所示。


▎实验结果

No.1 实验数据和指标

我们主要使用三个数据集来验证我们方法的有效性,包括英文维基数据 (Wiki-727K)、中文维基数据 (Wiki-zh) 以及内部中文口语数据(包括多说话人口语数据 SD-zh-MP 和单说话人口语数据 SD-zh-SP)。

其中,由于学术界缺乏中文书面化文档段落分割的 benchmark, 我们参照英文维基段落分割数据集的构造方式,构造了中文维基段落分割数据集,并且公开发布[2]。

数据集的统计特性如表一所示,#S/doc 表示每篇文档的平均句子数。SLen 表示平均句长。#P/doc 表示每篇文档的平均段落数。#S/P表示每段的平均句子数。

image.png

我们选择 positive precision、positive recall、 positive F1作为客观评价指标。

No.2 实验结果和分析

如表二、表三所示,相比每个表格里面第一组的基线模型,SeqModel 模型在中英文数据上都有着明显性能优势。同样的模型参数下,SeqModel 在英文数据集上有 F1 绝对提升 4.2 的性能优势;在中文维基数据上有 F1 绝对提升 4.3 的性能优势。

口语数据下,SeqModel 相比 cross-segment 模型相比有着更明显的性能优势,在单人数据和多人数据下,F1 绝对提升分别有 8.810.1

image.png

在中文数据上,我们探究发音信息对文本分割性能的影响,实验结果如表四所示。从表上我们可以看出,发音信息(+phone) 有助于提升文本分割任务的性能,提升在口语场景下文本分割模型的鲁棒性。

image.png

自适应滑窗对文本分割模型性能的影响如图四所示。分割效果方面,如图四左图所示,固定滑窗的方法随着步数的增大,分割性能受到明显的负面影响;而自适应滑窗的方法由于可以减少已分割文本对未来预测的影响,性能随着步数的增大,反而有着轻微提升。

在运行效率方面,固定滑窗随着步数的增大,效率急剧下降,而自适应滑窗方法下,推理效率受到的影响很小。同时,相比 cross-segment 模型,结合自适应滑窗的 SeqModel 模型有着显著的效率优势(只需要不超过 cross-segment 模型1/6的运行耗时)。

此外,我们的中文模型还实验了融合中文词汇信息的 pooling 结构,将模型建模的粒度从字转变为词,降低序列中长度。该方法在模型效果基本无损下,可以进一步相对提升大约 30% 的运算效率。

image.png

Future work

在本文中,我们提出了一种结合自适应滑窗的文本分割序列模型。在准确性和推理延迟方面,我们的模型在基准数据集上都显著优于当前的 SOTA。同时,我们提出了一种结合发音信息的口语文本优化方法,显著提高了 ASR 下游口语文档的分割性能。

目前,文本段落分割模型已经落地在达摩院语音实验室的听悟及其相关的扩展产品中来,我们计划在长篇章文本建模和口语文本处理上进行更多的研究和探索。

Reference:

[1] Lukasik M ,  Dadachev B ,  Simes G , et al. Text Segmentation by Cross Segment Attention[J].  EMNLP 2020.

[2] Zhang Q ,  Chen Q ,  Li Y , et al. Sequence Model with Self-Adaptive Sliding Window for Efficient Spoken Document Segmentation[J].  IEEE ASRU 2021.


相关文章
|
机器学习/深度学习 自然语言处理 达摩院
长文本口语语义理解技术系列①:段落分割实践
长文本口语语义理解技术系列①:段落分割实践
1384 0
长文本口语语义理解技术系列①:段落分割实践
|
1月前
|
人工智能 缓存 Kubernetes
几大AI知识库致命坑点:避开它们,少走3个月弯路!
本文详解AI知识库在企业中的应用,涵盖架构设计、文档处理、工作流优化与性能调优等核心技术,结合实际案例帮助读者避开落地过程中的常见陷阱,适合希望提升AI应用能力的技术人员阅读。
177 1
|
XML 存储 API
RAG效果优化:高质量文档解析详解
本文介绍了如何通过高质量的文档解析提升RAG系统整体的效果。
16055 15
|
9月前
|
人工智能 JSON API
使用 Qwen 生成数据模型和进行结构化输出
本教程展示如何使用CAMEL框架和Qwen模型生成结构化数据。CAMEL是一个强大的多智能体框架,支持复杂的AI任务;Qwen由阿里云开发,具备自然语言处理等先进能力。教程涵盖安装、API密钥设置、定义Pydantic模型,并演示了通过Qwen生成JSON格式的学生信息。最后,介绍了如何利用Qwen生成多个随机学生信息的JSON格式数据。欢迎在[CAMEL GitHub](https://github.com/camel-ai/camel)上为项目点星支持。
3047 70
|
9月前
|
机器学习/深度学习 人工智能 自然语言处理
RAG分块策略:主流方法(递归、jina-seg)+前沿推荐(Meta-chunking、Late chunking、SLM-SFT)
RAG分块策略:主流方法(递归、jina-seg)+前沿推荐(Meta-chunking、Late chunking、SLM-SFT)
804 11
RAG分块策略:主流方法(递归、jina-seg)+前沿推荐(Meta-chunking、Late chunking、SLM-SFT)
|
10月前
|
自然语言处理 算法 搜索推荐
NLTK模块使用详解
NLTK(Natural Language Toolkit)是基于Python的自然语言处理工具集,提供了丰富的功能和语料库。本文详细介绍了NLTK的安装、基本功能、语料库加载、词频统计、停用词去除、分词分句、词干提取、词形还原、词性标注以及WordNet的使用方法。通过示例代码,帮助读者快速掌握NLTK的核心功能。
1913 1
|
11月前
|
自然语言处理 资源调度 前端开发
前端大模型入门(四):不同文本分割器对比和效果展示-教你如何根据场景选择合适的长文本分割方式
本文详细介绍了五种Langchain文本分割器:`CharacterTextSplitter`、`RecursiveCharacterTextSplitter`、`TokenTextSplitter`、`MarkdownTextSplitter` 和 `LatexTextSplitter`,从原理、优缺点及适用场景等方面进行了对比分析,旨在帮助开发者选择最适合当前需求的文本分割工具,提高大模型应用的处理效率和效果。
1866 1
|
存储 人工智能 搜索推荐
RAG系统的7个检索指标:信息检索任务准确性评估指南
大型语言模型(LLMs)在生成式AI领域备受关注,但其知识局限性和幻觉问题仍具挑战。检索增强生成(RAG)通过引入外部知识和上下文,有效解决了这些问题,并成为2024年最具影响力的AI技术之一。RAG评估需超越简单的实现方式,建立有效的性能度量标准。本文重点讨论了七个核心检索指标,包括准确率、精确率、召回率、F1分数、平均倒数排名(MRR)、平均精确率均值(MAP)和归一化折损累积增益(nDCG),为评估和优化RAG系统提供了重要依据。这些指标不仅在RAG中发挥作用,还广泛应用于搜索引擎、电子商务、推荐系统等领域。
5018 2
RAG系统的7个检索指标:信息检索任务准确性评估指南
|
存储 自然语言处理 NoSQL
Vector | Graph:蚂蚁首个开源Graph RAG框架设计解读
引入知识图谱技术后,传统RAG链路到Graph RAG链路会有什么样的变化,如何兼容RAG中的向量数据库(Vector Database)和图数据库(Graph Database)基座,以及蚂蚁的Graph RAG开源技术方案和未来优化方向。
6232 2
Vector | Graph:蚂蚁首个开源Graph RAG框架设计解读
|
测试技术 API 数据库
【LangChain系列】第二篇:文档拆分简介及实践
【5月更文挑战第15天】 本文介绍了LangChain中文档拆分的重要性及工作原理。文档拆分有助于保持语义内容的完整性,对于依赖上下文的任务尤其关键。LangChain提供了多种拆分器,如CharacterTextSplitter、RecursiveCharacterTextSplitter和TokenTextSplitter,分别适用于不同场景。MarkdownHeaderTextSplitter则能根据Markdown标题结构进行拆分,保留文档结构。通过实例展示了如何使用这些拆分器,强调了选择合适拆分器对提升下游任务性能和准确性的影响。
1243 0