Press "Enter" to skip to content

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

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

©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 。

 

最后, E 和 D 使用基于单词嵌入的 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 ,并将 SL 和 SR 作为 C 中 w 左右的字符序列,对于  SL 或 SR 的任意子串 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} 的大小的倒数。则 times 和 AT 被表述为:

 

 

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,效果要优于其他方法。

 

Be First to Comment

发表评论

邮箱地址不会被公开。 必填项已用*标注