资讯详情

文本向量化的方法

文本向量化

  • one-hot 编码
  • word embedding
  • word embedding API
由于文本不能直接输入到模型中进行相关计算,因此需要将文本转换为向量。 将文本转换为向量化有两种主要方法:

  1. 转换成one-hot编码
  2. 转换成word embedding

one-hot 编码

在使用one-hot在编码中,我们经常把每每一个token用N长度的向量来表示,N通常等于编码中词典的数量。待处理的文本通常先分词或N-gram预处理,去除重复后得到相应的词典。 例如,词典中有四个词:{项目,电脑,手机,导管one-hot编码为:

token one-hot encoding
项目 1000
电脑 0100
手机 0010
导管 0001

由于是使用为了表示文本,当词典中的数量较多时,空间成本非常大,因此这种方法通常不用于实际项目。

word embedding

word embedding它是度学习中表达文本最常用的方法之一。one-hot 编码不同的是,word embedding使用了一个MxN的矩阵来表示token,占用空间会更小。根据字典中数量M的大小,我们通常使用不同维度的N维向量,N可以是128、256、512等。向量中的每个值都是一个超参数,初始值通常是随机生成的,然后在神经网络训练过程中学习。具体如下:

token num word embedding vector
词1 0 [w11,w12,w13,…,w1N]
词2 1 [w21,w22,w23,…,w2N]
词3 2 [w31,w32,w33,…,w3N]
词M M-1 [wM1,wM2,wM3,…,wMN]

具体使用通常是。 即:token --> num --> vector 如下图所示 图1

word embedding API

pytorch使用方法:

torch.nn.Embedding(num_embedding, embedding_dim) 

参数介绍:

  1. num_embedding:词典的大小
  2. embedding_dim:词的维度N

使用方法:

import torch.nn as nn #实例化 embedding = nn.Embedding(vocab, 256) #进行embedding操作 input_embeded = embedding(word_input) 

标签: 5w33kr电阻

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

 锐单商城 - 一站式电子元器件采购平台  

 深圳锐单电子有限公司