其他资讯
词嵌入WordEmbedding深度评测:NLP新手入门首选教程
摘要
到底什么是词嵌入?简单来说,词嵌入是将单词映射为稠密数值向量的技术。每个词对应一
到底什么是词嵌入?简单来说,词嵌入是将单词映射为稠密数值向量的技术。每个词对应一串带有语义信息的实数,例如 [-0.82, 1.34, 0.07, …]。这些向量的核心特性是语义相似度在几何空间中得到体现:含义相近的词,其向量在嵌入空间中的距离也更近。可以理解为给每个词汇绘制了一张“语义地图”,同类概念自动聚集,让计算机能够理解词汇之间的关系。
词嵌入的本质是把离散的符号转化为连续的、低维的数值表示。与简单的整数编码不同,这些向量携带丰富的上下文信息。例如,“苹果”和“香蕉”的向量会彼此靠近,而与“电脑”的距离则较远。这种语义空间的构建,使得机器可以像人类一样感知词汇之间的相似性和差异。

为什么文本必须转化为数值?
计算机只能处理数字,无法直接理解“猫”、“狗”这样的字符串。早期采用独热编码,例如词汇表中的第5个词“猫”表示为 [0,0,0,0,1,0,…]。这种方法存在明显缺陷:
- 向量极度稀疏,维度随词汇量线性膨胀(1万个词就需要1万维向量),存储和计算成本极高
- 任意两个词之间的余弦距离都相同,无法区分“猫”和“狗”的相似性,也无法体现“猫”与“汽车”的差异
- 模型无法捕捉语义规律,只能进行粗暴的统计匹配,泛化能力极差
词向量如何习得语义?
词嵌入的训练过程,本质上是让模型在海量文本中“观察”每个词周围的上下文语境。通过反复调整向量,使得经常出现在相似上下文中的词获得相近的向量表示。这种基于分布假说的学习方式带来几个直观效果:
- 语义相近的词,向量余弦相似度高,例如“医生”与“护士”自然聚在一起
- 语法功能一致的词,向量方向趋于一致,比如“跑”、“跳”、“游泳”都指向动作类
- 向量之间可以进行类比推理,经典案例:“国王” − “男人” + “女人” ≈ “女王”
主流词嵌入技术有哪些?
自然语言处理领域常用一个比喻:词嵌入模型就像不同的厨艺流派,手法各有千秋,但目标都是烹饪出低维(通常是50-300维)、稠密、高质量的“词向量”菜肴。目前最主流的几种技术如下:
- Word2Vec:Google在2013年推出的经典模型,包含CBOW(利用上下文预测中心词)和Skip-gram(利用中心词预测上下文)两种训练范式。训练速度快、向量质量稳定,适用于绝大多数通用场景。
- GloVe:斯坦福大学开发的方法。先统计全局词共现矩阵,再通过矩阵分解压缩维度,更强调词对在整个语料中的统计关系,能更好地捕捉全局语义。
- FastText:Facebook开源的工具,将每个词拆分为字符级别的n-gram(例如“apple”拆成“app”、“ppl”、“ple”)。这一设计使得模型能够为未登录词或拼写变体生成合理的向量表示,对形态丰富的语言尤其有效。
- ELMo / BERT等上下文感知模型:这些模型不再为每个词分配固定向量,而是根据具体上下文动态生成。例如,“苹果”在“吃苹果”和“苹果公司”两个语境中,向量完全不同,极大提升了模型对歧义的理解能力。
实战应用有哪些关键要点?
初学者在使用词嵌入时,有几个常见误区需要规避:
- 不要盲目使用预训练向量。如果任务领域与预训练语料差异较大(例如医疗、法律文本),直接套用通用词向量效果往往不佳。建议在领域内语料上做微调,或从零开始训练专用词向量。
- 向量维度并非越大越好。100-200维通常就能兼顾表达能力和计算效率。超过300维后边际收益显著下降,反而增加显存消耗和训练时间。
- 停用词处理需结合任务。做情感分析时,“了”、“啊”等语气词可能携带情绪信号;而做关键词提取时,通常需要过滤掉这些高频无意义词。
- 中文必须进行分词。像“人工智能”这类复合词,如果不使用jieba等分词工具切分,模型只能学到整体向量,丢失“人工”和“智能”各自的语义贡献,严重影响下游任务效果。
来源:互联网
免责声明
本网站新闻资讯均来自公开渠道,力求准确但不保证绝对无误,内容观点仅代表作者本人,与本站无关。若涉及侵权,请联系我们处理。本站保留对声明的修改权,最终解释权归本站所有。