无监督中文分词算法近年研究进展

设为 “星标”,重磅干货,第一时间送达!
转载自 | PaperWeekly
©PaperWeekly 原创 · 作者|韩蕊莘
学校|北京大学硕士生
研究方向|问答系统

SLM

论文标题:

Unsupervised Neural Word Segmentation for Chinese via Segmental Language Modeling

论文来源:

EMNLP 2018

论文链接:

https://arxiv.org/abs/1810.03167

代码链接:

https://github.com/Edward-Sun/SLM

本文首次提出了基于神经网络的无监督中文分词模型,并在 SIGHAN 2005 分词竞赛的四个不同数据集上实现了最先进的统计模型性能。以往的无监督分词模型可大致分为判别模型和生成模型。前者使用精心设计的有效方法(互信息,nVBE,MDL 等等)来进行候选词分割,而后者侧重于为中文设计统计模型,并找到生成概率最高的最优分割。

本文提出了一种基于神经网络的生成式模型:Segmental Language Models (SLMs),SLMs 可以直接生成分词后的句子,并给出相应的生成句子的概率。

1.1 Segmental Language Models

本文受到 RNN 的启发,本时刻的状态受到上一状态的影响。与神经语言模型相似,SLMs 建模的目标是学习分割后的字符序列的联合概率函数。
作者采用了 encoder+decoder 的范式来解决这个问题,但由于是无监督的分词,作者使用了一个 RNN 作为 encoder 给整个序列进行编码作为每个字的 embedding,因为 decoder 生成的内容与 encoder 提供的内容不一样,所以 SLM 不是一个标准的 encoder-decoder 模型。SLM 的具体工作方式如图:
因为是无监督的,作者计算了每个字的所有可能的分词序列的概率:

1.2 实验结果

从表 1 可以看出,SLMs 在 PKU 和 AS 数据集上优于以往最好的判别和生成模型。这可能是由于 SLM 模型的分割准则更接近这两个数据集(模型名称后面的数字表示的是最大切分长度)。

此外作者还发现在中文中,“的”经常跟在形容词之后,“了”经常跟在动词之后。因此,作者提出一个后处理模块来处理这个问题。此外,作者还利用分割后的训练数据集的前 1024 句对来弱监督训练“SLM-4”,并进行了评价。

1.3 总结

本文提出了一种完全无监督中文词汇挖掘的神经网络生成模型。这是当时中文无监督分词的第一个神经网络模型。实验结果表明,该模型在 SIGHAN 2005 的四个数据集上实现了与 SOTA 统计模型相当的性能。
WEB-CWS
论文标题:
Improving Cross-Domain Chinese Word Segmentation with Word Embeddings
论文来源:
NAACL 2019
论文链接:
https://arxiv.org/abs/1903.01698
代码链接:
https://github.com/vatile/CWS-NAACL2019

2.1 Intro

分词几乎是所有 NLP 任务的基础,但是往往会存在带标注的数据数量有限的问题,这一问题很大程度限制了模型的 performance。
因此本文提出了一种基于半监督的方法来改善中文分词(Chinese Word Segmentation, CWS)的效果。该方法不需要制定复杂的手工特性和特定领域的字典。只需要考虑目标域内在原始文本上训练的 word-embedding 即可。该方法较 baseline 能够提升 3 个点。

2.2 Contributions

在中文中,我们对于分词有一个基本的直觉:在同一个上下文窗口内的单词组合应该彼此接近。也就是说,如果一个序列的切分不正确,那么这些切分错误的词很可能在语义和句法上与其周围的词不一致。因此,一个不正确的分词的 embedding 应该远离它周围词的 embedding。

  • 基于以上假设,作者提出了一种基于 word-embedding 的半监督分词方法——WEB-CWS(Word-Embedding-Based CWS),该方法还可以实现 cross-domain 的分词。
  • 作者在多个数据集中验证了该方法的有效性(e.g., novels, medicine, and patent)。

2.3 Word-Embedding-Based CWS

模型整体流程如上图。

  • 首先会有一个 taget domain 的 raw corpus,我们将其定义为语料 T ,然后使用作为 beseline 的 segmenter 去分词,分完词之后得到语料 T'
  • 然后在 T' 上利用基于 word-embedding 的分词方法(WEB-CWS)得到一组单词的 embeddings E。此外,所有在 T' 中的 token 组合成一个 taget domain 的字典 D
  • 最后,ED 使用基于单词嵌入的 segmenter 对 T 进行重新分割。
2.3.1 CWS-Oriented Word Embedding Model
作者在这部分采用了 w2v 的 skip-gram 的思路,但是因为 skip-gram 的目标函数是 LM 的目标函数:

作者为了让模型更加适配 CWS 任务,做了以下几点修改:

添加面向 CWS 的负样本;Skip-gram 将词 w 的 context 在 window 里的词作为正样本,在本论文中,给定目标词 w 及其上下文 C,并将 SLSR 作为 C 中 w 左右的字符序列,对于 SLSR 的任意子串 s' 在字典 D 中,而不在 C 中,那么(w, s')会被看做一个负样本。

改变对多字词进行子采样的方法;作者使用了一种多字词内部采样负样本的方法,比如给定一个多字符的目标单词 ,假设它所有的子词都在 D 中。作者提出的字内负采样方法将产生以下负样本:、、、 和 ,模型能够学习在切分词的时候不要分割那些多字符的单词。
在中文中,有一些常见的由子串组成的多字词,这些子串本身也是非常常见的词。比如“但是”这个词能被分为“但”和“是”,而在 skip-gram 中频繁词的 embedidng 相对接近,因为频繁词与其他词共现的频率较高。在上一个方法中模型也倾向于不把“但是”切开,所以作者提出了一种 subsampling 的方法:

通过这样做,可以保留那些子字符串本身就是更常见单词的多字符单词。

规范化嵌入的点积;在原始的 skip-gram 模型中,直接使用两个单词的嵌入量的点积作为 sigmoid 层的输入。为了使基于 CWS 的单词嵌入模型导出的单词嵌入更符合上述用于分割的 metric,作者将原目标函数的训练目标修改为基于 dot-product 的目标函数:

平滑训练中正样本和负样本的权值。
2.3.2 Word-Embedding-Based Segmentater

在这一步,作者将序列分词的过程建模为一个基于假设的维特比解码过程。

给定一个由 n 个字符组成的句子 ( 和 是句子开头/结尾的标记)。
假设如下:
在 中,字符 被分词器切分为单词 存储在 中;字符 未分割,存储在 中。
之后给定一个特征 和一个假设 ,可以以两种方式生成,通过添加 到 中,或移动 中的第一个词到 中,然后添加 到 中。

概率计算:

假设 的对数概率定义为:
其中 f 是窗口大小,如果 f = 2, 将由 和 计算得到。

2.4 Experiment

上表的结果表明,作者提出的的 WEB-CWS 模型可以明显改善特定领域的四个数据集的 CWS,包括 DL、FR、ZX 和 DM,在F值上提高了 3.0% 以上。这一结果表明 WEB-CWS 能够有效地改善跨域 CWS。

2.5 总结

本文提出了一种半监督的中文分词模型——WEB-CWS,可以用来有效地改进跨域 CWS。该模型只需要一个基本的分词器和目标域中的一个原始语料库作为 CWS 部署单词 embedding 的方式。WEB-CWS 在特定领域的四个数据集上明显改进了 SOTA 分词器的性能,特别是在特定领域的名词实体方面。
PFNE

论文标题:

Improving Chinese Segmentation-free Word Embedding With Unsupervised Association Measure

论文链接:

https://arxiv.org/abs/2007.02342

目前很多神经网络模型不再将分词作为解决问题的首要步骤,而是通过直接学习每个词的 embedding 来解决具体任务。但是使用这种方式在词汇中会存在大量的的噪声 n-gram,并且这些 n-gram 在字符之间没有很强的关联强度,一定程度上限制了 embedding 的质量。

为了解决这一问题,作者提出了一种新的无分词的词嵌入模型,该模型通过一种新的无监督关联方法——时间信息点关联(PATI)来构建 n-gram 词典。该方法利用了语料库中存在的潜在信息,从而能够收集更多有效有更强的凝聚力的 n-grams。

3.1 Methods

为了解决这一问题,作者提出了一种新的无分词的词嵌入模型 PATI Filtered N-gram Embedding(PFNE),整体流程如下:
3.1.2 PATI

作者提出了一种无监督的 n-gram 关联度量方法——pointwise association with times information(PATI):

假设语料为 ,一共 N 个词,对于任意一个长度为 s 的 n-gram:。假设 ,那么 g = concat(a, b), a 和 b 都是 n-gram g 左边或者右边可能的部分。定义 是单个 n-gram 段 a, b 和组合 n-gram 段 g 在整个语料库中的原始频率。

其中 F 是 n-gram:g 出现的频率。

MP 定义如下:
给定一个固定长度 s 的 n-gram g = concat(a, b),总存在使 MP 最小化的 n-gram 段 的特定组合。然后在此组合 下计算 PATI 中 (Eq.(10)) 处的第三个分量 AT。
AT 定义如下:
然后将 rate 定义文为 与 之比与 与 之比之间的最大值。
设 AC 为频率较低的集合 {am,∗} 或 {,bm} 的大小的倒数。则 timesAT 被表述为:
3.1.3 PATI FILTERED N-GRAM EMBEDDING MODEL
这一步主要就是根据上一步构建出来的词表,通过 word2vec 的方式学习每个词的 embedding。PFNE 对 skip-gram 的负采样进行了修正,将 bag of positive samples 的定义 Np 从包含 top-K 频繁 n-gram 的配对改为由 top-K 中找 PATI 得分最高 n-gram 构建配对。
其中 和 分别是 n-gram 和 n-gram 的向量表示。

3.2 总结

本文提出了一种无监督的分词(也可以说是新词发现)算法,在分词阶段改善了以往使用频率统计的方法,使用结合左右 n-gram 的方法使分词结果的置信度最高。最后可以使用分词后的结果去训练 w2v,效果要优于其他方法。

下载1:四件套

(0)

相关推荐