在自然语言处理中,当词汇量较小时,基于无标注数据训练的分词器效果最佳。
自然语言处理应用的第一步通常是分词,即将输入字符串分割成语义相关的单元。在许多应用中,这些单元比单个单词更小。例如,与查询“文字处理”高度匹配的搜索结果可能使用“文字处理器”这个短语,它与查询共享部分而非全部的子词单元。
传统上,分词器是使用人工编译的词典(包含单词的前缀、词干和后缀信息)以及人工标注的分词数据来构建或训练的。我们将此方法称为语言特定分词 (LST)。
然而,近期自然语言处理研究人员开始尝试通过分析大量无标签数据来学习分词单元的系统。这种方法的一个显著优势是它不依赖于词典或人工标注的语料库,而后者需要为每种语言或每个应用领域单独构建。
语言无关分词 (LIT) 系统在训练时没有使用人工编译的词典,有时会学习到不合逻辑的词分割(如 k/id, to/ys),而语言特定分词 (LST) 系统则会避免这种情况(如 kid, toy/s)。但是,当LIT生成的子词被嵌入(即转换为固定长度的向量)后,它们在根据语义内容匹配文本的搜索任务中仍然被证明是有用的。
此外,由于不依赖预编译的固定词典,我们更有可能准确地对分词器从未见过的单词进行分词。我们将此方法称为语言无关分词 (LIT)。
LIT 在机器翻译等应用中取得了一些成功,这些应用出于处理速度的考虑,通常词汇表有限。然而,在更广泛的自然语言处理应用中,LST 和 LIT 的相对优势仍不清楚。
在一篇被接受发表于语言资源与评估会议(原定于上周举行)的论文中,我们比较了 LST 和 LIT 方法在八种语言(英语、德语、西班牙语、波斯语、意大利语、日语、土耳其语和泰语)以及不同词汇量下的表现。
我们发现,虽然 LST 在较大词汇量下仍然表现更好,但在较小词汇量(例如,少于 50,000 个子词)下,LIT 具有竞争力——在某些语言中甚至更优。这表明 LIT 对于词汇量有限的应用,或者对于那些缺乏现成、组织良好的词汇数据的语言来说,是一个可行的选择。
语义相似度
在实验中,我们使用 LIT 和 LST 方法对每种语言的语料库进行了分词,并在分词后的语料库上学习子词嵌入。嵌入是将文本字符串表示为固定长度向量(多维空间中的一个点),使得相关单词或短语的嵌入在空间中彼此接近。因此,嵌入捕捉了文本字符串的某些语义内容。为了学习子词嵌入,我们使用了全局向量预测 (GloVe) 方法。
接下来,我们通过三种不同的方式从子词嵌入创建词嵌入:未加权平均;加权平均;以及基于平滑逆频率 (SIF) 的加权,该方法先前已被提出用于从词嵌入创建句子嵌入。
然后,我们测量了两个单词之间的语义相似度,即对应词嵌入之间的余弦相似度。最后,我们计算了预测的相似度分数与人类标注者为相同词对提供的相似度评分之间的相关性。高度相关性将表明分词保留了单词的语义信息,这对于任何依赖分词的后续自然语言处理应用来说都是理想的。
对于 LIT,我们使用了两种不同的分词方法。一种基于字节对编码 (BPE),它最初是一种数据压缩技术。BPE 会在训练文本中搜寻最常见的符号对(例如在英语中,"er" 非常常见),然后用一个符号表示它。然后重复这个过程,不断添加代表越来越长字符串的新符号,直到达到某个预定义的阈值。
另一种方法基于一元语言模型 (LM)。该方法从单个符号和常见子串的集合开始,并根据它们在某个语料库中出现的频率开始将它们组合成新的子串。同样,当子串数量达到预定义阈值时,该过程结束。
可变词汇量
我们为所有八种语言的词汇库训练了三种分词系统,每个系统使用不同大小的词汇子集。LST 模型在词汇量从 50,000 到 1000 万不等的集合上进行训练。LM 模型在词汇量从 20,000 到 100 万不等的集合上进行训练。
训练 BPE 模型非常耗时,因此我们能使用的最大子集包含 100,000 个单词,最小的包含 20,000 个。
在我们的实验中,我们发现,在 100 万或更多词汇量上训练的 LST 分词器通常提供最佳性能。但存在三个例外。
一个是德语,在 100 万词汇量上训练的 LM 模型表现最佳。另外两个是波斯语和土耳其语,值得注意的是,分别在 100,000 和 50,000 词汇量上训练的 BPE 模型表现最佳。我们推测这是因为这三种语言都具有高度“黏着性”:即,它们可以容纳标准词典中不会出现的临时或低频复合词。
然而,总的来说,在词汇量不超过 100,000 时,两种 LIT 模型在所有方面的表现都优于 LST 模型。这表明,对于资源匮乏的语言或依赖有限词汇量的应用,LIT 可能是 LST 的一个有吸引力的替代方案。FINISHED