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

  • 动态词向量:词嵌入层作为整体神经网络的一部分,权重参数会参与更新,是动态的
  • 实现任务一步到位
相关推荐
ujainu2 分钟前
CANN仓库中的AIGC可持续演进工程:昇腾AI软件栈如何构建“活”的开源生态
人工智能·开源·aigc
光锥智能14 分钟前
从连接机器到激活知识:探寻工业互联网深水区的山钢范式
人工智能
GHL28427109016 分钟前
分析式AI学习
人工智能·学习·ai编程
ujainu32 分钟前
CANN仓库中的AIGC性能极限挑战:昇腾软件栈如何榨干每一瓦算力
人工智能·开源
wenzhangli734 分钟前
ooderA2UI BridgeCode 深度解析:从设计原理到 Trae Solo Skill 实践
java·开发语言·人工智能·开源
brave and determined35 分钟前
CANN ops-nn算子库使用教程:实现神经网络在NPU上的加速计算
人工智能·深度学习·神经网络
brave and determined35 分钟前
CANN算子开发基础框架opbase完全解析
人工智能
一枕眠秋雨>o<40 分钟前
调度的艺术:CANN Runtime如何编织昇腾AI的时空秩序
人工智能
晚烛1 小时前
CANN + 物理信息神经网络(PINNs):求解偏微分方程的新范式
javascript·人工智能·flutter·html·零售
爱吃烤鸡翅的酸菜鱼1 小时前
CANN ops-math向量运算与特殊函数实现解析
人工智能·aigc