名字正则只能是中文英文_中文同义词挖掘工作的踩坑之路

896cd46a6627ee62547c868368ccd7af.png

目录

  1. 中文同义词挖掘简介
  2. 词对的数据来源
  3. 词对数据的解决思路
  4. 同义语句的数据来源
  5. 同义语句数据的解决思路
  6. 其他

1 中文同义词挖掘简介

同义词挖掘是自然语言处理中一个较为基础的问题,但是现有的同义词词表不足以应对许多场景下的工作,所以我们需要在新的词对中寻找同义词。

但事实上,当你开始检索相关资料,就能发现这个问题的困难之处,在我们数据量和数据信息都偏少的情况下,很难保证这个问题能够被很好解决,只能在精确率和召回率这样的指标之间尽量折中。

经过一番论文阅读,我总结出同义词挖掘的数据构造思路主要有以下几种:

  1. 给定若干中文同义词对,寻找新的中文同义词对。
  2. 给定外文(主要是英文)同义词词典,翻译为对齐的中文同义词词典。
  3. 给定若干句子,抽取出句子中特定词(比如实体)的同义关系。

其中,数据 1 和 2 的数据形式相似,都是利用给定的词对寻找新的词对。但这些数据可利用的上下文信息较少,效果会很受预训练词向量质量的影响。而数据 3 在句子中挖掘同义关系,可以利用到句子中的上下文信息,但同时也可能引入较多噪声。

2 词对的数据来源

数据 1 可以从常见的中文同义词词典中构建,如哈工大社会计算与信息检索研究中心整理的《同义词词林》。

数据 2 可以使用英文同义词词典,比如 WordNet、VerbNet 这样的词网。

预训练词向量可以使用 Word2vec 训练的 Wikipedia 数据。但是此处建议大家尝试腾讯 AI Lab 开源的 800W Word Embedding,用过都说好。

3 词对数据的解决思路

较为直观的思路是:

  1. 直接利用预训练的词向量计算词语间的相似度(如余弦相似度)。
  2. 将该问题转化为二分类问题,输入两个词的词向量输出是否是同义词 {0, 1} 。

上述思路效果一般,主要因为这样预训练的词向量不能准确捕捉同义关系,事实上诸如 Word2vec 这样类型的词向量捕捉到的是同位关系(包括同义、同类等)。这就导致利用词向量相似来判断的结果只能保证较高的召回率,很难保证精确率

而用简单的分类思路去做,也会因为数据量的不足导致分类效果不够好。比如对于数据 2 ,中文是没有出现在英文词典上的。

词表相对封闭集的情况下(训练集和测试集的词表接近),有一些工作能够较好地解决这个问题:

EMNLP 2017 《Cross-Lingual Induction and Transfer of Verb Classes Based on Word Vector Space Specialisation》

这篇工作主要用于跨语言动词词表对齐, 英文词表如下:

f3aafd10b68a5baa3b24d46c37927100.png
VerbNet 图示

基本思路是微调预训练的词向量,进而拉近同义词对的距离拉远临近非同义词对的距离,同时加上正则项保证调整的幅度。这个思路体现在损失函数的设计中:

其中

表示词向量的调整:

表示正则项:

具体参数的含义可以参见原论文。

ACL 2018《Using pseudo-senses for improving the extraction of synonyms from word embeddings》

这篇工作损失函数和上篇工作相同,但是直接提出这个损失函数的设计不仅能用于跨语言词表对齐,还能在不使用外部知识的前提下,引入词向量中的同义关系

但是,当在开放域中抽取同义词时,如果仅有少量的同义词对数据,还是基本不可能达到较好的效果的。

4 同义语句的数据来源

类似于关系抽取中的距离监督思路,我们可以对句子中希望提取同义词的词语(此处可以认为是实体)进行同义关系标注。标注方式可以直接使用同义词词典进行标注,也可以利用实体链接知识图谱的同义词进行标注。

27b43af86c530609265ebae97badd701.png
同义关系抽取与距离监督

5 同义语句数据的解决思路

我们直接利用关系抽取的模型去处理这样的数据,在该数据中,关系只有两种:同义和 NA 。而关系抽取任务中常见的 Baseline 是 PCNN,PCNN 及其上面的拓展都可以直接用于该数据集。

EMNLP 2015 《Neural Relation Extraction with Selective Attention over Instances》

3fd69a12008e4081362de8e147148eba.png
PCNN 模型图

此外,也可以利用常见的句法分析工具,抽取出每个句子的 Pattern,将 Pattern 分类后当做针对 Pattern 的二分类任务。

00baffb573f58263e18bd76112cf4009.png
语句的语法分析等


其他

韩家炜老师组在 KDD 2017 上发表的《Automatic Synonym Discovery with Knowledge Bases Meng》是一篇对我启发很大的文章。我在检索解决思路之间首先读了这篇文章,因此才萌生了将抽取方式区分为词对数据和同义语句数据两种形式的想法。建议做同义词抽取工作的同学首先阅读。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值