Day31_【 NLP _1.文本预处理 _(2)文本张量表示方法】

目录:

文本张量表示方法

  • one-hot编码

  • Word2vec

  • Word Embedding

文本张量表示:将一段文本使用张量进行表示这个过程就是文本张量表示。

1.文本--->张量

文本-->词-->词向量-->词向量矩阵-->张量

  1. one-hot属于稀疏向量表示。

Word2vec和Word Embedding都是稠密向量表示。

一、one-hot编码

也叫 独热编码 或 0-1编码

  • 优势:操作简单
  • 劣势:高维稀疏
    • 高维:每个向量长度过大占内存(长度=不同词汇的总数)
    • 稀疏:割裂了词与词之间的联系

二、Word2vec

含义:将词表示成词向量的无监督方法

原理:构建神经网络模型,将网络参数作为词向量表示

模式:CBOW、skipgram。

CBOW模式 思路:

  1. 给定一段用于训练的文本语料
  2. 再选定某段长度(窗口)作为研究对象
  3. 使用上下文词汇预测目标词汇

skipgram模式 思路:

  1. 给定一段用于训练的文本语料
  2. 再选定某段长度(窗口)作为研究对象
  3. 使用目标词汇预测上下文词汇

实现API

安装:fastext词向量训练工具包

复制代码
pip install fasttext-wheel==0.9.2 -i

fasttext两大作用:文本分类、训练词向量。

API:

复制代码
# 训练词向量
model=fasttext.train_unsupervised()
# 加载模型
model.save_model()
# 保存模型
fasttext.load_model()
# 获取词向量
model.get_word_vector()
# 获取邻近词
model.get_nearest_neighbors()

三、Word Embedding

广义:密集词向量的表示方法,如word2vec

狭义:在神经网络中嵌入nn.embedding层,nn.Embedding()

狭义Word Embedding就是指词嵌入层nn.Embedding()

Word Embedding与Word2vec区别

Word2vec

  • 静态词向量:模型训练好后,使用模型输入词汇加载词向量,参数固定
  • 实现任务需分两步
    • 训练词向量
    • 基于训练好的词向量完成任务

Word Embedding

  • 动态词向量:词嵌入层作为整体神经网络的一部分,权重参数会参与更新,是动态的
  • 实现任务一步到位
相关推荐
格林威8 分钟前
基于轮廓特征的工件分类识别:实现无模板快速分拣的 8 个核心算法,附 OpenCV+Halcon 实战代码!
人工智能·数码相机·opencv·算法·目标跟踪·分类·数据挖掘
村口曹大爷9 分钟前
Aider-TUI: The Professional AI Pair Programming Shell
人工智能·ai·code·aider
乾元10 分钟前
10 个可复制的企业级项目:从需求到交付的 AI 网络工程模板(深度实战版)
运维·网络·人工智能·网络协议·安全
深圳南柯电子11 分钟前
南柯电子|EMI测试系统:5G时代新挑战,如何护航全行业电磁兼容
人工智能·汽车·互联网·实验室·emc
linmoo198614 分钟前
Langchain4j 系列之十九 - RAG之Retrieval
人工智能·langchain·retrieval·rag·langchain4j
沛沛老爹14 分钟前
Web开发者突围AI战场:Agent Skills元工具性能优化实战指南——像优化Spring Boot一样提升AI吞吐量
java·开发语言·人工智能·spring boot·性能优化·架构·企业开发
MM_MS16 分钟前
Halcon小案例--->路由器散热口个数(两种方法)
人工智能·算法·目标检测·计算机视觉·视觉检测·智能路由器·视觉
SelectDB技术团队18 分钟前
驾驭 CPU 与编译器:Apache Doris 实现极致性能的底层逻辑
数据库·数据仓库·人工智能·sql·apache
没学上了24 分钟前
Vlm-BERT简介
人工智能·深度学习·bert
独自破碎E25 分钟前
怎么实现AI的多轮对话功能?
人工智能