文章目录

  • 摘要
  • 引言
  • 模型
    • CBOW
    • 字符增强的词嵌入
    • 多原型字符嵌入
      • 基于位置的字符嵌入
      • 基于集群的字符嵌入
      • 基于非参数集群的字符嵌入
    • 2.5 初始化和优化
    • 单词选择
  • 3 实验和分析
  • 结论

论文链接: Joint Learning of Character and Word Embeddings
来源:IJCAI-15
代码:

摘要

大多数的词嵌入方法都是以词为基本单位,根据词的外部语境来学习词的嵌入,忽略了词的内部结构。然而,在一些语言中,如汉语,一个词通常是由几个汉字组成的,包含了丰富的内部信息。一个词的语义也与它的组成字的意义有关。因此,我们以中文为例,提出了一种字符增强的词嵌入模型。为了解决汉字歧义和非组成词的问题,我们提出了多原型字符嵌入和一种有效的选词方法。我们评估了CWE在词语相关度计算和类比推理方面的有效性。结果表明,CWE优于其他忽略内部字符信息的基准方法。

引言

作为文本表示的基础,词表示的目的是将词表示为一个向量,既可以用来计算词之间的语义关系,也可以作为词的特征提供给机器学习系统。
许多自然语言处理任务通常采用一个one-hot向量表示,即每个词都被表示为一个词汇量向量,只有一个非零条目。由于其简单性,one-hot表示在NLP和IR中被广泛采用,作为BOW (bag-of-word)文档模型的基础[Manning等人,2008]。单一热点表征法最关键的缺陷是,它没有考虑到词语之间的任何语义关联。
分布式词表示(Distributed word representation),也称为词嵌入(word embedding),最早是在[Rumelhart et al., 1986]提出的。词嵌入将一个词的语义编码成一个实值的低维向量。近年来,词嵌入技术取得了重大进展,被广泛应用在自然语言处理任务,
现有的词嵌入模型训练过程计算复杂度较高,不能有效地用于大规模文本语料库。
本文认为汉语是一种典型的语言。在此基础上,提出了一种新的字符和词嵌入的联合学习模型——字符增强词嵌入模型(CWE)。在CWE中,我们学习并保持单词和字符的嵌入在一起。CWE可以很容易地集成到词嵌入模型中,基于CBOW的CWE框架之一如图1(B)所示,将词嵌入(图中的蓝框)和字符嵌入(绿框)组合在一起得到新的嵌入(黄框)。

CWE的框架似乎是对其他词嵌入模型的简单扩展。然而,将中文字符引入到嵌入词的学习中却面临着一些困难。(1)与词语相比,汉字的歧义性要大得多。一个字符可能在不同的词语中有不同的重要性和语义。仅用一个向量表示一个字符是不够的。(2)并非所有的汉语单词都是语义构成的,如音译词。对字的考虑会影响字和字的嵌入质量。
在本文中,我们将采取以下方法来应对这些挑战。(1)提出了多原型字符嵌入。我们获得一个字符的多个向量,对应于该字符的各种含义。我们提出了几种可能的多原型字符嵌入方法:基于位置的方法、基于聚类的方法和非参数方法。(2)预先识别非构成词并建立单词表。然后我们把这些词作为一个整体来看待,而不再考虑它们的字符。
在实验中,我们使用词语相关度和类比推理任务来评估CWE的性能以及包括CBOW、Skip-Gram和GloVe在内的基线[Pennington等人,2014]。结果表明,通过成功地利用字符嵌入增强单词嵌入,CWE的性能明显优于所有基线。
注意,我们的方法在以下两方面有很大的扩展性(1)如本文所示,它可以很容易地集成到各种词嵌入方法中,包括神经网络模型框架(CBOW和Skip-Gram)和矩阵分解模型框架(GloVe),并取得了较大的改进。(2)我们的方法也适用于各种语言中含有丰富的内部信息,需要处理歧义问题的语言。

模型

我们将以CBOW为例,演示基于CBOW的CWE框架。

CBOW

字符增强的词嵌入

多原型字符嵌入

基于位置的字符嵌入

基于集群的字符嵌入

根据多原型字符嵌入方法,我们也可以简单地根据字符的上下文对字符的所有共现进行聚合,并形成字符的多个原型

基于非参数集群的字符嵌入

上述硬聚类分配类似于k-means聚类算法,它为每个字符学习固定数量的聚类。这里我们提出了一种基于聚类的字符嵌入的非参数版本,它为每个字符学习不同数量的聚类。遵循在线非参数聚类算法的思想[Neelakantan et al., 2014],一个字符的聚类数量是未知的,并在训练过程中学习。
为了防止非构词词的干扰,我们提出在学习非构词词的时候不考虑字符,而同时学习其他词的词和字的嵌入。我们只需手动构建一个关于音译词的单词列表,并执行中文词性标记以识别所有实体名称。单词素词几乎不影响建模,因为它们的字符通常只出现在这些词中,没有特别处理。

2.5 初始化和优化

我们采用与[Mikolov et ., 2013]中使用的CBOW相似的优化方案,使用随机梯度下降(SGD)对CWE模型进行优化。梯度的计算使用反向传播算法。

单词选择

汉语中有许多词并没有表现出由汉字构成的语义成分。包括:(1)单词素的多字符词:例如“琵琶”、“徘徊”,很难在其他词中使用(2)音译词,例如“沙发”、“巧克力”,主要表现为语音成分。(3)许多实体名称,如人员名称、位置名称和组织名称。

3 实验和分析

结论

本文将内部字符信息引入到词嵌入方法中,以减轻对外部信息的过度依赖。我们提出的字符增强的词嵌入框架(CWE),它可以很容易地集成到现有的词嵌入模型包括CBOW Skip-Gram和GloVe。在词语相似度计算和类比推理的实验,我们已经表明,用人的字符嵌入可以持续和显著提高词的质量嵌入。这表明,在像汉语这样的语言中,考虑单词表示的内部信息是必要的。
我们未来的工作方向如下:(1)提出了一种基于词与字之间语义组合的加法运算。基于矩阵或张量的语义组合模型,我们可以探索更复杂的组合模型,从字符嵌入中建立词嵌入。这将使CWE具有更强大的内部字符信息编码能力。(2) CWE可以学习为一个单词中的字符分配不同的权重。(3)本文设计了一种简单的非构成词选择策略。在未来,我们将探索关于单词的丰富信息来建立一个用于选择的词分类器。

【2015】CWE:字符嵌入和词嵌入的联合学习(Joint Learning of Character and Word Embeddings)相关推荐

  1. 词嵌入 网络嵌入_词嵌入简介

    词嵌入 网络嵌入 深度学习 , 自然语言处理 (Deep Learning, Natural Language Processing) Word embedding is a method to ca ...

  2. 词嵌入 网络嵌入_词嵌入深入实践

    词嵌入 网络嵌入 介绍 (Introduction) I'm sure most of you would stumble sooner or later on the term "Word ...

  3. Pytorch:jieba分词、hanlp分词、词性标注、命名实体识别、one-hot、Word2vec(CBOW、skipgram)、Word Embedding词嵌入、fasttext

    日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) 文本预处理及其作用: 文本语料在输送给模型前一般需要一系列的预 ...

  4. 05.序列模型 W2.自然语言处理与词嵌入

    文章目录 1. 词汇表征 2. 使用词嵌入 3. 词嵌入的特性 4. 嵌入矩阵 5. 学习词嵌入 6. Word2Vec 7. 负采样 8. GloVe 词向量 9. 情感分类 10. 词嵌入除偏 作 ...

  5. 词嵌入 word embedding

    原文链接:https://blog.csdn.net/ch1209498273/article/details/78323478 词嵌入(word embedding)是一种词的类型表示,具有相似意义 ...

  6. 在 Keras 模型中使用预训练的词嵌入

    原文地址在这里. 什么是词嵌入? "词嵌入"是一系列旨在将语义映射到几何空间的自然语言处理技术.这是通过将数字向量与字典中的每个单词相关联来完成的,这样任何两个向量之间的距离(例如 ...

  7. 词嵌入矩阵(Word Embeddings)的生成

    词嵌入矩阵的学习 词嵌入 格式 词嵌入矩阵的训练 词嵌入 词嵌入矩阵是自然语言处理里非常重要的东西.它可以帮助我们快速的使用小样本建立一个不错的自然语言处理任务.那么他是如何生成的呢. 格式 词嵌入矩 ...

  8. 2.自然语言处理NLP:词映射为向量——词嵌入(word embedding)

    1. 什么是词嵌入(word2vec) : 把词映射为向量(实数域)的技术 2. 为什么不采用one-hot向量: one-hot词向量无法准确表达不同词之间的相似度,eg:余弦相似度,表示夹角之间的 ...

  9. 词嵌入及方法one-hot、词袋、TFIDF

    词嵌入 1. 词嵌入的含义 机器学习和深度学习等统计算法处理数字.要对文本应用统计算法,你需要将文本转换为数字.例如,你不能将两个词 apples 和 oranges加起来.你需要将文本转换为数字才能 ...

最新文章

  1. CentOS 6.4下PXE+Kickstart无人值守安装操作系统
  2. 最长回文子串python_最长回文子串(Python)
  3. tolowercase_JavaScript中的String toLowerCase()方法与示例
  4. SpringBoot开源项目(企业信息化基础平台)
  5. 微信升级最新版本后,可在一对一聊天场景中访问外部链接
  6. devstack安装openstack
  7. espcms联动筛选功能开发
  8. 2021-09-0818. 四数之和
  9. 17张程序员壁纸推荐,是否有一张你喜欢的?
  10. matlab 多项式输入,MATLAB多项式
  11. 笔记本系统恢复连载之九:神舟笔记本系统恢复
  12. IDEA SVN拉下来的项目import project 没反应 解决方案
  13. 六足仿生机器人的控制与实现
  14. Android——excise(用线性布局、表格布局、相对布局做发送邮件界面)
  15. python文件审计_Python代码审计实战案例总结之CRLF和任意文件读取
  16. jsp+ssm计算机毕业设计演唱会售票系统【附源码】
  17. 转:通信十年:前辈对通信行业的分析与经历
  18. IRP结构体之Flag成员
  19. LeetCode hot-100 简单and中等难度,91-100.
  20. OA系统请假,出差等流程审批解析

热门文章

  1. Day_05盒子模型
  2. 双卡双待手机的原理 转贴
  3. 华为系统鸿蒙系统更新时间,哪些机型可以第一时间升级鸿蒙系统?麒麟9000最有可能...
  4. 锐龙3950x和i9 10900 哪个好
  5. mt管理器破解QQ语音口令红包
  6. java获取excle表格对象_Java读取excel表格
  7. CATIA转的STP打开什么都没有_朝花夕拾—CATIA联盟一周技术聊天回顾
  8. HarmonyOS实战—亮眼的原子化服务体验
  9. select or and
  10. (附源码)计算机毕业设计SSM圆梦酒店管理系统