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

  • 动态词向量:词嵌入层作为整体神经网络的一部分,权重参数会参与更新,是动态的
  • 实现任务一步到位
相关推荐
周末程序猿6 小时前
浅析大模型推理十二篇之KV Cache
人工智能
鱼樱前端6 小时前
用 AI 做内容变收入
前端·人工智能·ai编程
eric-sjq7 小时前
10 分钟实战:用 0.6B 本地模型生成中文网页(WanlyFrontend + 编译器全流程)
javascript·机器学习·自然语言处理·html
Dawson Zhu7 小时前
基于Palantir Foundry构建半导体制造AI友好型数据中台:从良率分析场景谈起
人工智能·语言模型·架构·制造·agi
fthux7 小时前
装闭 RenoPit 源码解析(04):装修图纸和合同文件上传处理流程
人工智能·ai·开源·github·open source·renopit
weixin_446260858 小时前
从被动镜像到主动智能体:面向网络物理人工智能的整体论数字孪生(HDT-Net)
网络·人工智能
秋枫要学习9 小时前
你的鼠标,正在被 AI 抢走
人工智能·计算机外设
满怀冰雪10 小时前
19-图像数据处理:PaddleVision Transform 实战
人工智能·深度学习·计算机视觉·paddle
IT_陈寒10 小时前
Vue的响应式让我原地破防,原来问题出在这
前端·人工智能·后端