1 NLP导论及环境准备

文章目录

  • [1 NLP导论](#1 NLP导论)
    • [1.1 定义](#1.1 定义)
    • [1.2 常见任务](#1.2 常见任务)
      • [1.2.1 文本分类](#1.2.1 文本分类)
      • [1.2.2 序列标注](#1.2.2 序列标注)
      • [1.2.3 文本生成](#1.2.3 文本生成)
      • [1.2.4 信息抽取](#1.2.4 信息抽取)
      • [1.2.5 文本转换](#1.2.5 文本转换)
    • [1.3 技术演进历史](#1.3 技术演进历史)
      • [1.3.1 规则系统阶段](#1.3.1 规则系统阶段)
      • [1.3.2 统计方法阶段](#1.3.2 统计方法阶段)
      • [1.3.3 机器学习阶段](#1.3.3 机器学习阶段)
      • [1.3.4 深度学习阶段](#1.3.4 深度学习阶段)
  • [2 环境准备](#2 环境准备)
    • [2.1 创建conda环境](#2.1 创建conda环境)
    • [2.2 安装所需依赖](#2.2 安装所需依赖)

1 NLP导论

1.1 定义

  • 自然语言处理(Natural Language Processing, NLP),是人工智能领域的一个重要分支。
  • 自然语言,指人类日常使用的语言,NLP 的目标是让计算机"理解"或"使用"这些语言。

1.2 常见任务

1.2.1 文本分类

  • 对整段文本进行判断或归类。
  • 常见应用:情感分析(判断评价是正面还是负面)、垃圾邮件识别、新闻主题分类等。

1.2.2 序列标注

  • 对一段文本中的每个词或字打上标签。
  • 常见应用:命名实体识别(找出人名、地名、手机号码等)。
  • B-XXXX:实体开始、I-XXXX:实体中间、O:实体外部。

1.2.3 文本生成

  • 根据已有内容生成新的自然语言文本。
  • 常见应用:自动写作、摘要生成、智能回复、对话系统等。

1.2.4 信息抽取

  • 从文本中提取出结构化的信息。
  • 常见应用:给出一段文本和一个问题,从中抽取答案。

1.2.5 文本转换

  • 将一种文本转换为另一种形式。
  • 常见应用:机器翻译,摘要生成等。

1.3 技术演进历史

1.3.1 规则系统阶段

在20世纪50年代至80年代初,自然语言处理主要依赖人工编写的语言规则,这些规则由语言学家和程序员手动制定。

这一阶段的代表系统有早期的机器翻译系统(如Georgetown-IBM实验)和ELIZA聊天机器人。这类系统在特定领域表现良好,但缺乏通用性,扩展性差,对语言的复杂性处理有限。

1.3.2 统计方法阶段

90年代,随着计算能力的提升和语料资源的积累,统计方法逐渐成为主流。通过对大量文本数据进行概率建模,系统能够"学习"语言中的模式和规律。

典型方法包括 N-gram 模型、隐马尔可夫模型(HMM)和最大熵模型。这一阶段标志着从"专家经验"向"数据驱动"方法的转变。

N-gram 模型是一种基于统计的方法,用于预测一个词在给定前几个词之后出现的可能性。它是自然语言处理中最早出现的语言建模方法之一。该模型的核心思想是一个词出现的概率,只取决于它前面 N-1 个词。

1.3.3 机器学习阶段

进入21世纪,NLP技术逐步引入传统机器学习方法,如逻辑回归、支持向量机(SVM)、决策树、条件随机场(CRF)等。这些方法在命名实体识别、文本分类等任务上表现出色。

在此阶段,特征工程成为关键环节,研究者需要设计大量手工特征来提升模型性能。该阶段的特点是学习算法更为复杂,模型泛化能力增强。

例如:基于词袋模型与逻辑回归的文本分类。词袋模型通过统计词频来表示文本,虽直接且简单,但它有一个明显的局限------它完全忽略了词语的顺序。

如下两条完全相反的评论:

  • 评论A:"服务很好但味道差劲"
  • 评论B:"味道很好但服务差劲"

分词后结果分别是:

  • "服务很好但味道差劲":["服务","很","好","但","味道","差劲"]
  • "味道很好但服务差劲":["味道","很","好","但","服务","差劲"]

很明显,这两条评论在词袋模型中的特证向量是完全相同的。为了解决这个问题,引入了 N-gram。N-gram 是将相邻的 n 个词作为一个整体来建模,这样就能保留一部分的词序信息。

1.3.4 深度学习阶段

自2010年代中期开始,深度学习在NLP中迅速崛起。基于神经网络的模型RNN、LSTM、GRU等,取代了传统手工特征工程,能够从海量数据中自动提取语义表示。

随后,Transformer架构的提出极大提升了语言理解与生成的能力,深度学习不仅在精度上实现突破,也推动了预训练语言模型(如GPT、BERT等)和迁移学习的发展,使NLP技术更通用、更强大。

2 环境准备

2.1 创建conda环境

  • 终端输入如下命令,创建项目的虚拟环境,并指定Python版本:conda create -n nlp python=3.12
  • 激活该虚拟环境:conda activate nlp

2.2 安装所需依赖

  • pytorch:深度学习框架,主要用于模型的构建、训练与推理。
  • jieba:高效的中文分词工具,用于对原始中文文本进行分词预处理。
  • gensim:用于训练词向量模型(如 Word2Vec、FastText),提升模型对词语语义关系的理解。
  • transformers:由 Hugging Face 提供的预训练模型库,用于加载和微调 BERT 等主流模型。
  • datasets:Hugging Face 提供的数据处理库,用于高效加载和预处理大规模数据集。
  • TensorBoard:可视化工具,用于展示训练过程中的损失函数、准确率等指标变化。
  • tqdm:用于显示进度条,帮助实时监控训练与数据处理的进度。
  • Jupyter Notebook:交互式开发环境,用于编写、测试和可视化模型代码与实验过程。

2.2.1安装命令

  • 安装pytorch
    使用nvidia-smi查看CUDA版本,并根据其版本选择PyTorch版本进行安装:pip3 install torch --index-url https://download.pytorch.org/whl/cu128
  • 安装其余依赖
    其余依赖安装最新版本即可:pip install jieba gensim transformers datasets tensorboard tqdm jupyter
相关推荐
UI设计兰亭妙微4 分钟前
人工智能大模型管理平台UI设计
人工智能
发哥来了8 分钟前
主流AI视频生成商用方案选型评测:五大核心维度对比分析
大数据·人工智能
物联网APP开发从业者8 分钟前
2026年AI智能产品开发行业十大创新解决方案
人工智能
badfl22 分钟前
VSCode Claude Code插件配置教程:使用、配置中转API、常见问题
人工智能·vscode·ai
Faker66363aaa1 小时前
指纹过滤器缺陷检测与分类 —— 基于MS-RCNN_X101-64x4d_FPN_1x_COCO模型的实现与分析_1
人工智能·目标跟踪·分类
金融小师妹1 小时前
基于LSTM-GARCH-EVT混合模型的贵金属极端波动解析:黄金白银双双反弹的逻辑验证
大数据·人工智能·深度学习·机器学习
代码匠心1 小时前
Trae IDE 隐藏玩法:接入即梦 AI,生成高质量大片!
人工智能·ai·trae·skills
陈天伟教授1 小时前
人工智能应用- 语言理解:01. 写作与对话
人工智能·深度学习·语音识别
铁蛋AI编程实战1 小时前
OpenClaw+Kimi K2.5开源AI助手零门槛部署教程:本地私有化+远程控制+办公自动化全实操
人工智能·开源
liliangcsdn1 小时前
文本视频音频分块工具 - Semantic Chunkers
人工智能·音视频