基于词汇声学距离的语言计算分类实验

作 者:

作者简介:
冉启斌,南开大学文学院(天津 300071)。

原文出处:
民族语文

内容提要:

本文使用一种新的方法来计算词汇之间的距离,即采用“动态时间规整(DTW)”算法直接计算有声词汇之间的声学距离,从而对语言进行计算分类。对8个民族语言变体和9种汉语方言进行计算分析,结果显示使用76个核心词、对应词项两两比较的方法计算效果最好。论文也尝试将得到的语言距离矩阵放入系统发生学软件进行分析,显示其操作的技术可行性。依据词汇声学距离的语言分类比以往的计算方法操作更为直接,结果更为客观。运用此方法可以进行完全自动化的语言分类。


期刊代号:H1
分类名称:语言文字学
复印期号:2020 年 10 期

字号:

      对语言进行分类可以采用不同的标准、从不同的角度进行。例如从形态类型可以将语言分为屈折语、孤立语等;从韵律类型可以将语言分为重音语言、声调语言等。在语言的诸多分类中,根据同源词对语言进行体现语言相似程度及其亲疏关系的谱系分类,是持续时间长、探讨比较深入的一种分类,原因在于谱系分类牵涉的问题复杂,涉及语言学内部共时、历时诸多方面的因素,甚至也包括语言学外部的人群来源、历史移民等因素。不管怎样,语言分类的核心思想是将相同或相近的语言变体分在一起,将不同或关系较远的语言变体分开,以体现不同语言之间的内在关系。本文介绍我们提出的一种新的语言分类方法——基于词汇声学距离的语言分类法,分析评估使用这一新的分类方法对语言进行分类的结果,并尝试探讨这种分类方法的作用和意义。

      二、词汇的语音声学距离计算

      语言分类方法与技术的发展,与动植物的分类方法与技术的发展具有平行性(邓晓华2006;张梦翰2010)。以往对语言的分类大多从特征的角度进行,例如依据语言是否具有声调分为声调语言与非声调语言,依据主谓宾的语序分为SVO语言、SOV语言等。这与根据种子是否裸露分为裸子植物和被子植物、根据脚趾的数量分为偶蹄目动物和奇蹄目动物的做法相似,都是依据分类对象可以观察到的某些特征进行分类的。

      分子生物学发展起来以后,动植物学家可以对动植物的DNA进行测定,得到不同物种之间的基因距离。根据基因距离数据,通过计算分析可以进行更精确、客观的动植物分类,从而在分类技术上实现了从特征到距离的发展更新。在语言研究上,依据哪些成分进行计算得到语言之间的距离数据,是语言分类方法更新的关键问题。

      以往有的研究使用特定的方法将语言特征转换为距离从而进行语言计算研究(如邓晓华、王士元2007;张梦翰、金健、潘悟云2016)。直接对语言之间的距离进行计算,进行的比较多的是对不同语言词汇之间的距离测量。马普研究院(Max-Planck Institute)建立的“相似性自动判断程序”(Automated Similarity Judgment Program,简称ASJP)数据库①依据列文斯坦编辑距离(Levenshtein Distance)计算不同语言的词汇距离(冉启斌、维希曼2018;维希曼、冉启斌2019),并依据词汇距离数据得到世界上5000多个语档(doculects)的发生学分类树形图(Müller et al.2013),产生了广泛的影响。

      ASJP模式的编辑距离,是将不同语言的词汇形式转换为ASJP码,然后计算词汇的ASJP码之间的距离。本文中我们希望能够直接对不同语言的有声词汇(声音文件)进行声学距离计算。换言之,我们希望通过一定算法直接对不同语言词汇的录音音频文件进行距离计算,并依据这些词汇声学距离得到语言之间的距离,进而对语言进行分类。

      计算声音文件之间的距离,一种重要的方法是“动态时间规整”(Dynamic Time Warping,简称DTW)算法。它将两个声音文件看作同等长度,将声音波形转换为梅尔频率谱(Mel Frequency Spectrogram),寻找两个声音之间的最短路径,从而得到它们之间的距离(Holmes and Holmes 2001)。DTW算法主要适用于几个音素组成的语音片段之间或单个词之间的距离计算。Mielke(2012)使用DTW算法计算了以英语为母语的发音人的58个音素(元音17个,辅音41个)之间的声学距离,并使用邻接树(Neighbor-Joining Tree)法、主成分(Principal Components)分析法绘制了58个音素的分类及分布情况。

      本文采用DTW算法计算词汇之间的声学距离,不同语言之间词汇的批量声学距离计算在Praat 6.0中通过脚本完成。在Praat中DTW距离有两种计算方法,一种是将声音文件先转换为梅尔频率倒谱系数(Mel Frequency Cepstrum Coefficient,简称MFCC)再进行距离计算;另一种是直接将声音文件转换为梅尔频率谱进行距离计算。经我们测试,在显示声音之间的细微差异上,后一种计算方法略好于前一种计算方法。因此,本文采用后一种计算方法。

      我们对不同语言之间词汇声学距离的具体计算方式是:对A语言若干个词的录音文件,分别逐一计算和B语言若干个词的录音文件之间的声学距离。由于DTW算法中声音顺序对距离数值有细微影响,因此同时也计算B语言若干词和A语言若干词的声学距离。如有更多语言,则两两重复上述过程。A语言和B语言最终的距离定义为两种语言各自所有词项距离的平均值;若干种语言两两之间的距离则形成距离矩阵。后期使用统计分析软件SPSS 19.0等对语言进行聚类等分析并作图。

      在进行词汇声学距离计算之前需要对声音文件进行预处理,以使获得的声学距离更为有效。预处理的主要过程如下:(1)对声音文件进行降噪处理;(2)对声音文件进行端点检测,裁剪掉声音文件首尾空白段,提取中间的有效声音段落;(3)有的词条有2种以上的说法(例如“星星”在有的语言或方言中既叫“星子”,也叫“星宿”),则从录音数据中提取第一种说法(往往也是最常用的说法)。对声音文件的预处理操作均使用脚本在Praat中自动完成。

相关文章: