ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

NLP学记笔记2

2021-10-24 11:34:58  阅读:230  来源: 互联网

标签:NLP word 张量 token embedding word2vec model 记笔记


文本张量的表示:

文本张量的作用:将文本表示成张量(矩阵)形式

文本张量表示的方法:

1.one-hot编码    独热编码,每个词为n个元素的向量,其中只有一个元素为1

2.word2vec

3.word embedding

 

#导入用于对象保存和加载的包

from sklearn.externals import joblib

#导入keras中的词汇映射器Tokenizer

from keras.preprocessing.text import Tokenizer

#初始化一个词汇表

covab={"张三","李四"}

#实例化一个词汇映射器

t = Tokenizer(num_words=None,char_level=False)

#在映射器上拟合现有词汇表

t.fit_on_texts(vicab)

#循环遍历词汇表 将每一个单词映射为one-hot

for token in vocab:

  #初始化一个全零向量  

  zero_list = [0]*len(vocab)

  #使用映射器转换文本数据,每个词对应从1开始

  token_index=t.texts_to_sequences([token])[0][0] -1

  #将对应的位置赋值为1

  zero_list[token_index]=1

 

tokenize_path="path"

joblib.dump(t,tokenize_path)

 

word2vec!

 word2vec包含CBOW和skipgram二种训练模式

使用fasttext工具实现word2vec的训练和使用

1.获取训练数据

2训练词向量

3模型超参数的设定

4模型效果检验

5模型的保存和重加载{

model.save_model("fil9.bin")

#使用fasttext.load_model加载模型

model = fasttext.load_model("fil9.bin)

model.get_word_vector("the") #查看模型张量

}

 

word embedding!

word embedding是指通过一定的方法将词汇映射到指定维度的空间

广义word embedding包括所有密级词汇向量的表达方式。比如word2vec

狭义的word embedding是指在神经网络中假如word embedding层,对整个网络进行训练的同时产生embedding矩阵

 

标签:NLP,word,张量,token,embedding,word2vec,model,记笔记
来源: https://www.cnblogs.com/Edison-zzc/p/15450507.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有