SynFlow: 一个多维度历时语义分析工具包

arXiv cs.CL 工具

摘要

SynFlow 是一个开源工具包,用于多维度历时语义分析,通过共享的工作流程应用于语言表示,以研究句法、形态学和其他维度的词汇语义变化。

arXiv:2608.19472v1 公告类型:新 摘要:词汇语义变化(LSC)通常通过向量空间表示进行建模,但这些方法往往对使用变化的哪些方面提供的洞察有限。历时语料库研究则考察可解释的维度,如句法行为、形态学和构式模式,但通常通过单独的分析工作流程。我们介绍了 SynFlow,一个用于语言使用多维度历时分析的开源工具包。SynFlow 将语言观察转化为特定时期的分布,并应用于基于依赖的共现、形态特征、构式配置以及外部派生的表示,如框架语义。它支持不同的距离度量,以及值级分解、统计测试和词汇填充的增量聚类。我们通过一个德语形容词 viral 的定性案例研究来演示 SynFlow,展示单一的语义发展如何在句法、词汇、构式和形态维度上得到反映。我们进一步报告了 SemEval-2020 Task 1 上先前发布的结果,以定位这些表示相对于现有词汇语义变化检测系统的性能。
查看原文
查看缓存全文

缓存时间: 2026/08/21 10:03

# SynFlow:一个面向多维度历时语义分析的工具包
来源:https://arxiv.org/html/2608.19472

Kris Heylen
机构:\[1ex\] 语言学系,鲁汶大学
机构:荷兰语研究所

Dirk Geeraerts
机构:\[1ex\] 语言学系,鲁汶大学

Stefano De Pascale
机构:\[1ex\] 语言学系,鲁汶大学
机构:布鲁塞尔自由大学
\[1ex\]
通讯作者:[[email protected]](mailto:[email protected])

Dirk Speelman
机构:\[1ex\] 语言学系,鲁汶大学

###### 摘要
词汇语义演变(LSC)通常通过向量空间表示来建模,但这些方法对于揭示语言使用中哪些具体方面发生了变化往往提供的见解有限。历时语料库研究则考察可解释的维度,如句法行为、形态特征和构式模式,但通常通过独立的分析流程进行。我们推出了 SynFlow,一个用于语言使用多维度历时分析的开源工具包。SynFlow 将语言观察结果转化为特定时期的分布,并应用统一的工作流程来分析基于依存关系的共现、形态特征、构式配置以及外部推导表示(如框架语义)。该工具支持不同的距离度量,并结合了值级分解、统计检验和词汇填充项的增量聚类分析。我们通过德语形容词 viral 的定性案例研究来演示 SynFlow 的功能,展示了单一语义发展如何在句法、词汇、构式和形态等多个维度上得到体现。此外,我们还报告了先前在 SemEval-2020 任务 1 上发表的结果,以评估这些表示相对于现有词汇语义演变检测系统的性能。

## 1 引言
近期关于词汇语义演变(LSC)的计算工作主要由向量空间建模方法主导,这些方法通过比较目标词在不同历史时期的向量表示来进行分析。尽管在共享任务上效果显著,但此类方法难以解释,使得其输出难以直接关联到语义演变的语言学理论:模型可能指示一个词发生了变化,却未直接揭示其使用中哪些方面导致了这种变化。
我们介绍了 SynFlow,一个用于多维度历时语义分析的开源工具包。SynFlow 将每个维度表示为可观察值的特定时期分布,并将语义演变量化为维度内历时分布之间的差异。它原生支持基于依存关系的共现、形态特征和构式配置的自动提取与量化,同时,外部推导的表示(如框架语义)也可以通过相同接口纳入分析。这使得不同维度可以在统一的历时工作流程内进行分析,而无需为每种表示采用独立的分析程序。SynFlow 使用余弦距离、Jensen-Shannon 散度(JSD)或总变差距离(TVD)来比较不同时期的分布,并将变化得分分解为各个值的贡献,从而能够确定哪些维度发生了变化以及是什么驱动了这些变化。对于词汇填充项,它还提供了增量聚类功能,以追踪更广泛的主题发展。因此,该系统保留了量化变化信号与其背后语言证据之间的直接联系。
SynFlow 的主要贡献在于提供了一个用于多维度历时语义分析的共享工作流程,包含时间比较、统计检验和值级分解功能。我们通过一个德语形容词 viral 的定性案例研究来演示 SynFlow,展示一项语义发展如何在多个语言维度上得到反映。我们还报告了先前发表的 SemEval-2020 任务 1 结果,以评估这些表示相对于现有 LSC 系统的性能。

## 2 相关工作
### 2.1 历时分析中的语言维度
理论驱动的语义演变研究长期以来考察了由语言学驱动的维度,如原型结构、隐喻、框架语义和构式。虽然这些方法提供了语义发展的详细描述,但其分析维度通常是针对特定词汇项或演变现象量身定制的,限制了跨目标和语料库的系统性比较。计算工作已开始在更大范围内操作化结构化的语言信息。SynFlow 通过提供一个可重复使用的工作流程来扩展这一方向,该流程可在统一的框架内比较此类结构化使用维度的时间分布。

### 2.2 语言分析的计算工具
SynFlow 与描述词汇行为的语料库工具相关,包括 Sketch Engine 的 Word Sketch Difference (WSD)、Korp 和 DiaCollo。DiaCollo 通过线性窗口搭配来建模历时演变,但这种模式常常受到偶然共现的影响。WSD 和 Korp 提供预定义的句法轮廓和关联度量来对单个搭配词进行排序,而 SynFlow 则支持可配置的依存路径,量化完整轮廓的重新分布,并将变化分解为各个组成部分。SynFlow 还能在单次处理中处理多个时间段,而无需像 WSD 那样进行重复的两两比较。
还有其他工具在经过解析的语料库上处理结构化语言信息。ANNIS、Grew-match 和 FrameNet Brasil WebTool 支持查询、可视化或标注;STARK 提取可配置的依存模式;Profiling-UD 推导多层语言轮廓;ComparaTree 比较树库的语言属性;而 DELTA 将依存模式提取与跨语料库的多层多样性测量相结合。然而,这些系统主要支持查询、提取、分析、标注或语料库级别的比较,而不是面向目标的历时语义分析。SynFlow 通过利用结构化语言信息来建模历时语义,从而对其进行了补充。它将语言观察结果建模为目标条件的时间分布,并通过统计检验和值级分解来分析其重新分布。

## 3 系统架构
SynFlow 以标注过的历时子语料库作为输入,每个目录代表一个时间段。给定目标词词元、词性(POS)和选定的维度类型,它提取相应的语言观察结果,将其转换为特定时期的分布,测量跨时期的变化,并将得到的分数分解为各个值的贡献。整体工作流程如图 1 所示。
查询(例如 viral/ADJ)-> 维度提取(输出:数据框)-> 分布构建 -> 变化检测(余弦距离,JSD,TVD)-> 变化分解(项目级贡献)
图 1:工作流程概览。
SynFlow 区分了维度类型和单个维度。维度类型指定了要提取的语言信息,而单个维度的观察值构成一个分布。对于目标词 \(w\)、维度 \(d\) 和时期 \(t\),使用表示为 \(P_t(v \mid d, w)\),即值 \(v\) 的概率分布。一些维度类型如“构式”定义了一个分布,而其他类型则定义了多个维度,例如那些基于特定依存槽位或形态特征类型条件的维度。SynFlow 原生提取基于依存关系的、构式的和形态的信息,而外部标注的维度也可以通过相同的下游工作流程进行分析,前提是其数据框格式与“维度提取”步骤的输出相匹配。这些维度提供了语言使用的互补视角。槽位和特征类型描述更广泛的结构轮廓;槽位填充项和形态特征捕捉特定类别内的变化;构式配置则捕捉在同一个使用实例中多个句法关系是如何组合的。针对支持的分析类型,提供了专门的笔记本模板。

### 3.1 维度提取
##### 输入格式
SynFlow 使用类 CoNLL-U 的格式,其中每个子语料库被划分为单独的句子。每个句子以 . 开始,以 . 结束。需要按以下顺序提供七个制表符分隔的列:token, lemma, pos, id, head_id, deprel, feats。我们还提供了使用 Stanza 将原始数据(1 句/行)解析为正确 SynFlow 格式的笔记本和脚本。
表 1:SynFlow 原生提取的维度及示例值。
##### 维度
SynFlow 使用不同的树遍历算法原生提取五种语言信息(表 1)。槽位类型是涉及目标词的单个依存关系,方向编码为 chi_ 表示子节点,pa_ 表示父节点。例如,在“the boy eats the cake”中,eat 与 chi_nsubj 和 chi_obj 关联,因为它是 boy 和 cake 的中心词;而 boy 与 pa_nsubj 和 chi_det 关联。槽位填充项是占据依存槽位的词汇项,每个槽位定义一个独立的维度。构式配置表示围绕同一目标词实例共现的依存槽位组合,例如 \[chi_nsubj + chi_obj\],在用户指定的依存路径深度内。形态特征类型是从目标词的 feats 字段中提取的类别,而形态特征则将每个类别的观察值表示为独立的维度。

### 3.2 变化检测
每个维度和时期内的计数被归一化为总和为 1,从而得到概率分布。这与某些描述性可视化中使用的发生次数归一化频率不同,后者是将计数除以目标词出现次数。SynFlow 然后使用余弦距离、JSD 或 TVD 来测量连续时期之间的分布变化。由于从稀疏观察估计的距离可能不稳定,SynFlow 可选择性地应用支持加权:
WeightedDist = RawDist × min(1, c/k)
其中 c = min(c₁, c₂) 是两个时期中较小的观察数,k 是用户定义的支持阈值。当两个时期都包含至少 k 个观察值时,距离获得完整权重(即 1),否则线性降低权重。
SynFlow 还支持排列检验,以帮助区分有意义的变化和随机波动。除了变化的大小,它还提供了一个 p 值,指示随机观察到类似或更大变化的可能性。这为用户提供了一个可解释的度量标准,以判断检测到的变化是否具有统计显著性。对于多期分析,SynFlow 应用 Benjamini–Yekutieli (BY) 程序来控制错误发现率 (FDR)。对于每个维度,校正应用于所有相邻时期比较的 p 值。

#### 3.2.1 增量槽位填充项聚类
本节仅适用于槽位填充项。为了区分词汇替换与更广泛的主题变化,SynFlow 提供了槽位填充项的增量聚类。该分析使用为每个时期单独训练的静态 word2vec 嵌入,并遵循历时嵌入方法将其对齐到一个公共空间。第一时期的填充项使用层次凝聚聚类进行分组,每个聚类由其成员的频率加权质心表示。在后续时期,填充项被分配到足够相似的现有质心,而不匹配的填充项则形成新的聚类。然后根据当前时期的填充项更新活跃质心。先前建立的聚类在暂时不活跃时会被保留,允许它们在后期重新激活。这种增量记忆使 SynFlow 能够追踪填充项主题随时间的涌现、持续、衰退和重新激活。提供了一个专门的笔记本用于训练和对齐所需的 word2vec 嵌入。

### 3.3 变化分解
在计算两个特定时期分布之间的距离后,SynFlow 可以进一步将观察到的变化分解为各个值的贡献。这允许用户从单个聚合变化分数转向负责该差异的具体语言项。对于维度 d,SynFlow 报告每个值 v 对连续两个时期之间整体距离的贡献程度。例如,如果 FILLER[chi_amod] 的分布在两个时期之间发生了显著变化,分解可以揭示哪些形容词填充项造成了大部分偏移。这一步骤对于定性分析特别有用,因为它将数值变化分数与可解释的语言证据联系起来。SynFlow 不仅仅指出一个维度发生了变化,还展示了哪些个别值驱动了观察到的重新分布。

### 3.4 输出与可视化
SynFlow 生成的大多数中间和最终输出都以逗号分隔值(CSV)文件形式存储。这允许用户直接检查提取的信息、验证中间处理步骤,并在外部分析中重用输出。随附的笔记本还在工作流程的不同阶段提供可视化,以便于探索和解释。这些包括用于追踪跨时期变化的时间序列图、用于比较跨维度或跨时间模式的热图,以及用于检查分布和项目级贡献的条形图。表格输出和可视化共同允许用户在量化摘要和其背后的语言证据之间进行切换。

### 3.5 可用性与执行
SynFlow 作为基于 MIT 许可的开源软件免费提供。代码仓库:https://github.com/p

相似文章

基于超球面流的语言建模

arXiv cs.LG

本文介绍了 S-FLM,一种新颖的基于流的语言模型。该模型在超球面潜在空间中运行,旨在解决现有离散扩散模型和连续流模型的计算成本高昂及语义表达受限等问题。