深度学习入门4-文本张量的处理(自然语言处理NLP)

文章目录

  • 前言
  • 一、文本张量表示方法
  • 二、文本数据分析
    • 1.标签数量分布
    • 2.句子长度分布
  • 总结


前言

今天总结的是文本张量的处理方法。


一、文本张量表示方法

常见的文本张量表示方法包括以下三种:
1 one-hot编码
是一种0,1表示方式,将有的地方表示为1,无的地方表示为0
2 word2vec
包括CBOW和Skipgram
3 word embedding
词嵌入方式,将文本转化为张量

二、文本数据分析

1.标签数量分布

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
plt.style.use('fivethirtyeight')
train_data=pd.read_csv("./training_dataset.csv")
valid_data=pd.read_csv("./validation_dataset.csv")

#标签分布
#若标签为离散值
sns.countplot("label",data=train_data)
plt.title("train_data")
plt.show()

sns.countplot("label",data=valid_data)
plt.title("valid_data")
plt.show()

#若标签为连续值
sns.distplot(train_data["label"])
plt.ysticks([])
plt.title("train_data")
plt.show()

sns.distplot(valid_data["label"])
plt.ysticks([])
plt.title("valid_data")
plt.show()

2.句子长度分布

#若句子长度为离散值
train_data["sentence_length"]=list(map(lambda x: len(x), train_data["sequence"]))
valid_data["sentence_length"]=list(map(lambda x: len(x), valid_data["sequence"]))

sns.countplot("sentence_length",data=train_data)
plt.xsticks([])
plt.show()

sns.countplot("sentence_length",data=valid_data)
plt.xsticks([])
plt.show()

sns.stripplot(y='sentence_length',x='label',data=train_data)
plt.show()

sns.stripplot(y='sentence_length',x='label',data=valid_data)
plt.show()

#若句子长度为连续值
sns.distplot(train_data["sentence_length"])
plt.ysticks([])
plt.show()

sns.distplot(valid_data["sentence_length"])
plt.ysticks([])
plt.show()

总结

总结了一下文本张量的处理方法,如上所示,最近太久没有学习,太久没写代码,感觉手生了,更新也不太及时,希望之后至少周更。

你可能感兴趣的:(自然语言处理,机器学习,深度学习)