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

  • 动态词向量:词嵌入层作为整体神经网络的一部分,权重参数会参与更新,是动态的
  • 实现任务一步到位
相关推荐
NAGNIP1 天前
轻松搞懂全连接神经网络结构!
人工智能·算法·面试
moshuying1 天前
别让AI焦虑,偷走你本该有的底气
前端·人工智能
董董灿是个攻城狮1 天前
零基础带你用 AI 搞定命令行
人工智能
喝拿铁写前端1 天前
Dify 构建 FE 工作流:前端团队可复用 AI 工作流实战
前端·人工智能
阿里云大数据AI技术1 天前
阿里云 EMR Serverless Spark + DataWorks 技术实践:引领企业 Data+AI 一体化转型
人工智能
billhan20161 天前
MCP 深入理解:协议原理与自定义开发
人工智能
Jahzo1 天前
openclaw桌面端体验--ClawX
人工智能·github
billhan20161 天前
Agent 开发全流程:从概念到生产
人工智能
threerocks1 天前
过了个年,AI 圈变天了?但没人告诉你为什么
人工智能