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

1 NLP导论及环境准备

文章目录

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

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
http://www.dtcms.com/a/597865.html

相关文章:

  • 龙岩做网站开发大概价格网页软件有哪些
  • 设计软件网站wordpress付费看
  • C#中,FirstOrDefault
  • 【INVSR 代码解析】encode_first_stage函数,以及一个知识点普通编码器与VAE编码器的区别
  • 面试题:说说Redis的三大问题和解决方案
  • 大型企业网站wordpress评论框制作
  • EtherCAT通信PDO和SDO的区别和使用
  • dedecms本地可以更换网站模板出现网站模板不存在3800给做网站
  • 漯河哪里做网站柳州市住房和城乡建设局网站首页
  • 50m专线做视频网站asp网络公司程序 网站公司企业建设源码 网站设计模板seo优化
  • 企业年底做网站的好处做正品的网站
  • LeetCode 84. 柱状图中最大的矩形(困难)
  • YOLOv2算法详解(下篇):细节打磨与性能突破的终极密码
  • 算法 day 51
  • BI二维数据可视化大屏升级三维可视化大屏:前端开发者下一个内卷赛道
  • 插补算法(逐点比较法)+PWM配置操作
  • 唐山网站制作app新郑市网站建设
  • 买完阿里云域名如何做网站网站商业授权
  • QEMU 使用 Open vSwitch网桥连接虚拟机网络
  • 充气泵方案:充气泵与汽车的关系
  • 北京P2P公司网站建设网站建设合同 模板 下载
  • 贴片机编程:提高生产效率与精度的关键技术 | 贴片机编程技巧与注意事项详解
  • 深度学习_三层神经网络传播案例(L0->L1->L2)
  • 营销类网站建设需要注意的问题国家信用信息公示系统官网山东
  • 第四章:C# 面向对象编程详解:从类与对象到完整项目实践
  • DDoS防护:为企业业务保驾护航的高可用盾牌
  • 企业产品做哪个网站推广好建筑培训课程有哪些
  • 模版 c++
  • LLaMA Factory微调大模型
  • UaGateway构建高可用OPC UA架构:实现冗余通信与数据聚合