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 FG
text.txt文件 对应词集合2.4 Key(词) value(词在语料库出现次数) A 3 B 2 C 1 D 1 E 1 F 1G 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