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.模型搭建
实例说明(简单实例,方便理解,实际项目更复杂):
text.txt文件(内容)2.1A ,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.3A
B
C
D
A
B
A
E
F
G
text.txt文件 对应词集合2.4Key(词) value(词在语料库出现次数)
A 3
B 2
C 1
D 1
E 1
F 1
G 1
根据以上集合,可以建立一个词矩阵
one-hot列构成了一个词向量的矩阵,实际项目中可能根据需要删除词频较低的词,例如,可以删除C-G行
text.txt文件 对应词集合(字母小写)2.5a 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