NLP自然语言处理图文实例教程(Python语言)

NLP自然语言处理步骤

未完待续。。。

1.数据收集(建立语料库)

1.1.利用已有数据
1.2.爬取数据
2.数据处理
2.1.数据读取(语料)
2.2.数据清洗(去掉标点符号(空格、句号、逗号、问好、引号等)等)
2.3.分词(token)
文章样本集中的句子分解成单个单词。
输入:文章(例如:莎士比亚全集、尼采全集、唐诗300首等)
输出:词集合(可以有重复词)

2.4.词频统计

计算词集合中,每个样本(词)出现的次数。
输入: 词集合(可以有重复词)

输出:词频表(key为词,值为词的出现次数)

可根据实际项目需求,删除高频词(例如常用词the、a、is等出现次数比较多,但没有实际意义)和低频词。

2.5.字母小写
2.6.编号替换

用2.4中的词编号替换语料库中的词。

备注:有些情况下,使用词频作为词的编号。

例如
test.txt中
A B C D  A B  A   
替换后:
3 2 1 1 3 2 3
2.7.句子截取

 句子长度截取为规定长度,不足补规定字符(例如0)


3.模型搭建


4.模型训练


实例说明(简单实例,方便理解,实际项目更复杂):

text.txt文件(内容)2.1
A ,B’ c.D A B A E F G

text.txt文件 ( 对应词集合,text.txt中单词已经存入到一个词集合中)2.2
A B c D A B A E F G

注意:字母之间不是空格了,表示分开

text.txt文件 对应词集合2.3
A
B
C
D
A
B
A
E
F

G

text.txt文件 对应词集合2.4
Key(词) value(词在语料库出现次数)
A                 3
B                 2
C                 1
D                 1
E                 1
F                 1

G                 1 

根据以上集合,可以建立一个词矩阵

one-hot列构成了一个词向量的矩阵,实际项目中可能根据需要删除词频较低的词,例如,可以删除C-G行

text.txt文件 对应词集合(字母小写)2.5
a 3
b 2
c 1
d 1
e 1
f 1
g 1 

text.txt文件 2.6
3 2 1 1 3 2 3 1 1 1

text.txt文件2.7 读取第一个句子处理后 句子长度为5
3 2 1 1 3

text.txt文件2.7  读取第一个句子处理后 句子长度为15(不足15用0补齐)
3 2 1 1 3 2 3 1 1 1 0 0 0 0 0

猜你喜欢

转载自blog.csdn.net/wyx100/article/details/80953470