当前位置: 首页 > news >正文

自然语言处理 (NLP) 基础:词向量、模型与应用

自然语言处理(Natural Language Processing, NLP)是人工智能的一个重要分支,致力于让计算机能够理解、解释、操作并生成人类的自然语言。从简单的文本分析到复杂的对话系统,NLP 的应用日益广泛。本文将为你介绍 NLP 的几个基础但至关重要的概念:词向量、基础模型以及主要应用场景。

一、 词向量 (Word Embeddings):让词语“有意义”

计算机无法直接理解人类语言中的词语。为了让计算机能够处理文本,我们需要将词语转换成一种数字表示,即向量。词向量的目标不仅是简单的数字编码,更重要的是能够捕捉词语之间的语义和语法关系。意思相近的词语,其词向量在多维空间中也应该相近。

1.1 One-Hot Encoding (独热编码)

最简单的词语表示方法是将每个词语表示为一个极长的稀疏向量,向量的维度等于词汇表的大小,所有元素为0,只有对应当前词语的维度为1。

优点: 简单直观。

缺点: 高维度: 词汇量越大,向量维度越高,计算量和内存开销巨大。

无法捕捉语义: 任意两个词语的向量都正交,无法体现它们之间的相似性(例如,“国王”和“女王”的向量与“猫”的向量距离相同)。

1.2 分布式词向量 (Distributed Word Embeddings)

分布式词向量将词语映射到低维、稠密的实值向量空间。这些向量通过从大规模文本语料库中学习得到,捕捉了词语的上下文信息,从而体现了词语的语义和语法特征。

1.2.1 Word2Vec

Word2Vec 是 Google 在 2013 年提出的用于学习分布式词向量的两大模型之一,非常经典且具有代表性。它有两种模型结构:

CBOW (Continuous Bag-of-Words) 模型: 目标: 根据一个词语的上下文(周围的词语)来预测这个词语本身。

原理: 输入上下文词语的词向量,通过加权求和和 Softmax 激活函数,预测中心词语的概率。

Skip-gram 模型: 目标: 根据中心词语来预测它的上下文词语。

原理: 输入中心词语的词向量,然后分别预测其周围的每个上下文词语的概率。

Word2Vec 的重要特性:

语义相似性: “国王” - “男人” + “女人” ≈ “女王”。词向量之间可以进行向量运算,体现其语义关系。

低维度: 通常维度在 50 到 300 之间,远小于 One-Hot 编码。

1.2.2 GloVe (Global Vectors for Word Representation)

GloVe 是斯坦福大学提出的另一种流行的词向量模型。它结合了全局和局部的词语统计信息,通过利用词共现矩阵来学习词向量。GloVe 试图学习到这样的向量,使得它们的点积与全局词共现的对数成比例。

优点: 在某些任务上表现优于 Word2Vec,特别是能更好地捕捉词语的全局统计信息。

1.2.3 预训练词向量

通常,我们不会从零开始训练词向量,而是使用在大规模语料库(如维基百科、Common Crawl)上预训练好的词向量模型,如 Google News Word2Vec、GloVe embeddings 等。这些预训练的词向量已经捕捉了丰富的语言知识,可以直接加载并用于下游任务,显著提升模型性能,尤其是在数据有限的情况下。

二、 NLP 基础模型

将词向量输入到下游任务时,我们需要模型来捕捉词语序列中的模式和关系。以下是一些基础但重要的 NLP 模型:

2.1 n-gram 模型

n-gram 模型是统计语言模型的一种,基于马尔可夫假设,即一个词语出现的概率只与其前面的 n-1 个词语相关。

Bigram (2-gram): 预测下一个词语的概率只取决于前一个词语:P(wt∣wt−1)P(w_t | w_{t-1})P(wt∣wt−1)。

Trigram (3-gram): P(wt∣wt−2,wt−1)P(w_t | w_{t-2}, w_{t-1})P(wt∣wt−2,wt−1)。

优点: 简单,计算量小。

缺点:

长距离依赖问题: 无法捕捉长距离的上下文信息。

数据稀疏性: 随着 n 的增大,很多 n-gram 组合在语料库中可能从未出现,导致概率为零。

2.2 循环神经网络 (Recurrent Neural Networks, RNNs)

RNN 是一种能够处理序列数据的神经网络,其核心思想是循环连接——当前时刻的输出不仅依赖于当前输入,还依赖于上一时刻的隐藏状态(hidden state),隐藏状态承载了之前时刻的信息。

基本结构:

ht=f(Whhht−1+Wxhxt+bh)h_t = f(W_{hh}h_{t-1} + W_{xh}x_t + b_h)ht=f(Whhht−1+Wxhxt+bh) (计算隐藏状态)

yt=f(Whyht+by)y_t = f(W_{hy}h_t + b_y)yt=f(Whyht+by) (计算输出) (其中 xtx_txt 是当前时刻输入,hth_tht 是当前时刻隐藏状态,yty_tyt 是当前时刻输出,WWW 是权重矩阵,bbb 是偏置,fff 是激活函数)

优点: 能够捕捉序列中的时序信息和长距离依赖。

缺点:

梯度消失/爆炸 (Vanishing/Exploding Gradients): 在处理长序列时,反向传播时梯度可能变得非常小(消失)或非常大(爆炸),导致学习困难。

2.2.1 LSTM (Long Short-Term Memory) 与 GRU (Gated Recurrent Unit)

LSTM 和 GRU 是 RNN 的改进版本,引入了门控机制 (Gating Mechanism),有效地解决了梯度消失/爆炸问题,能够更好地捕捉长距离依赖。

LSTM: 拥有三个门(遗忘门、输入门、输出门)和一个记忆细胞(cell state),对信息的流动有精细的控制。

GRU: 结构比 LSTM 稍简单,只有两个门(更新门、重置门),在保持高效的同时,计算量更小。

2.3 Transformer 模型

Transformer 模型在 2017 年被提出,并在 NLP 领域引起了革命性的变化。它完全摒弃了 RNN 的循环结构,而是基于自注意力机制 (Self-Attention Mechanism),能够并行处理序列中的所有元素,并有效地捕捉长距离依赖。

核心组件:

自注意力机制: 允许模型在处理序列中的某个词语时,能够对序列中的所有其他词语分配不同的“注意力”权重,从而理解词语之间的关系。

多头注意力 (Multi-Head Attention): 并行执行多个自注意力计算,捕捉不同维度的依赖关系。

位置编码 (Positional Encoding): 由于 Transformer 没有循环结构,为了让模型知道词语在序列中的位置信息,需要引入位置编码。

前馈神经网络: 在注意力层之后,每个位置的输出都会经过一个独立的前馈神经网络。

Encoder-Decoder 结构: 标准的 Transformer 用于机器翻译等序列到序列的任务,包含编码器(Encoder)和解码器(Decoder)。

优点:

并行计算能力强: 远超 RNNs,训练速度更快。

优异的长距离依赖捕捉能力: 自注意力机制可以灵活地关联任意距离的词语。

奠定了当今大型语言模型(LLMs)的基础。

三、 NLP 的主要应用

NLP 的应用范围极其广泛,以下是一些代表性的领域:

3.1 文本分类 (Text Classification)

任务: 将文本划分到预定义的类别中。

应用: 情感分析(判断评论是正面还是负面)、垃圾邮件检测、新闻主题分类、意图识别(如识别用户在聊天机器人中的请求类型)。

3.2 命名实体识别 (Named Entity Recognition, NER)

任务: 识别文本中具有特定意义的实体,如人名、地名、组织名、日期等。

应用: 信息抽取、问答系统(理解问题中的实体)、文本摘要。

3.3 机器翻译 (Machine Translation, MT)

任务: 将一种自然语言的文本自动翻译成另一种自然语言。

传统方法: 统计机器翻译(SMT)。

当前主流: 基于深度学习的神经机器翻译(NMT),常用 Encoder-Decoder 结构(如 Transformer)。

3.4 问答系统 (Question Answering, QA)

任务: 理解用户提出的问题,并从给定的文本源(如文档、数据库)中找到或生成答案。

类型: 抽取式问答(从文本中抽取答案片段)、生成式问答(生成新的答案)。

3.5 文本生成 (Text Generation)

任务: 生成新的、连贯的、有意义的文本。

应用: 聊天机器人(生成回复)、写故事、创作诗歌、代码生成。

代表技术: GPT 系列模型。

3.6 文本聚类与主题模型 (Text Clustering & Topic Modeling)

任务: 聚类: 将相似的文本集合分组。

主题模型: 从文本集合中发现隐藏的主题。

应用: 文档分组、内容推荐、舆情分析。

模型: LDA (Latent Dirichlet Allocation) 是经典的主题模型。

3.7 文本摘要 (Text Summarization)

任务: 将一篇长文本缩减为一篇简短的摘要,保留核心信息。

类型: 抽取式摘要、生成式摘要。

四、 总结

词向量(尤其是经过预训练的)是将文本转化为机器可理解的数字表示的基石,它捕捉了词语的语义。RNNs、LSTMs、GRUs 是处理序列数据的经典模型,能够捕捉时序信息。而 Transformer 模型则凭借其强大的自注意力机制,在并行计算和长距离依赖捕捉上 D 取得了突破,引领了当前大型语言模型的发展。理解好这些基础概念,是深入学习 NLP 领域,并掌握其丰富应用的关键。


文章转载自:

http://UUu9o8or.mmtbn.cn
http://IqkyEDbo.mmtbn.cn
http://uqzb9tBW.mmtbn.cn
http://o2TpzziR.mmtbn.cn
http://RVRq5CjZ.mmtbn.cn
http://soL7yZj5.mmtbn.cn
http://NYOntTml.mmtbn.cn
http://a9NGn4K1.mmtbn.cn
http://muwRsCQY.mmtbn.cn
http://7oct1e9S.mmtbn.cn
http://Oa9swTNX.mmtbn.cn
http://39ZyN5sI.mmtbn.cn
http://bBp88twn.mmtbn.cn
http://3Ddv0TZT.mmtbn.cn
http://KTlPkezJ.mmtbn.cn
http://bHbIZ25H.mmtbn.cn
http://2K2FUxWZ.mmtbn.cn
http://HJ2IZDaR.mmtbn.cn
http://XyPuxnen.mmtbn.cn
http://8M9mkQJz.mmtbn.cn
http://5yrHCnQd.mmtbn.cn
http://STPCrwJG.mmtbn.cn
http://1YKfJERV.mmtbn.cn
http://mLgz2HyJ.mmtbn.cn
http://ttfuKbWO.mmtbn.cn
http://tlkuHouu.mmtbn.cn
http://77mJQ5OK.mmtbn.cn
http://Xj2Bdy2E.mmtbn.cn
http://KOO2KDmy.mmtbn.cn
http://r9KCwrZJ.mmtbn.cn
http://www.dtcms.com/a/374886.html

相关文章:

  • C++设计模式之单例模式
  • C# ---ToLookUp
  • CSS in JS 的演进:Styled Components, Emotion 等的对比与选择
  • mybatis-plus多租户兼容多字段租户标识
  • Flutter跨平台工程实践与原理透视:从渲染引擎到高质产物
  • 华为云盘同步、备份和自动上传功能三者如何区分
  • 设计模式第一章(建造者模式)
  • Vue3入门到实战,最新版vue3+TypeScript前端开发教程,笔记02
  • 【Vue】Vue2 与 Vue3 内置组件对比
  • XSS 跨站脚本攻击剖析与防御 - 第一章:XSS 初探
  • vue 去掉el-dropdown 悬浮时出现的边框
  • 常见的排序算法总结
  • [优化算法]神经网络结构搜索(一)
  • php 使用html 生成pdf word wkhtmltopdf 系列2
  • 大数据毕业设计选题推荐-基于大数据的海洋塑料污染数据分析与可视化系统-Hadoop-Spark-数据可视化-BigData
  • 【计算机网络 | 第11篇】宽带接入技术及其发展历程
  • 探索Java并发编程--从基础到高级实践技巧
  • Made in Green环保健康产品认证怎么做?
  • yum list 和 repoquery的区别
  • 解决HTML/JS开发中的常见问题与实用资源
  • Angular 面试题及详细答案
  • AI与AR融合:重塑石化与能源巡检的未来
  • 增强现实光学系统_FDTD_zemax_speos_学习(1)
  • 开学季干货——知识梳理与经验分享
  • Alex Codes团队并入OpenAI Codex:苹果生态或迎来AI编程新篇章
  • The learning process of Decision Tree Model|决策树模型学习过程
  • 六、与学习相关的技巧(下)
  • 《低功耗音频:重塑听觉体验与物联网边界的蓝牙革命》
  • 20250909的学习笔记
  • 金融量化指标--5Sortino索提诺比率