5.20第十一次作业 2.1 nltk库 分词 2.2 punkt 停用词 2.3 NLTK 词性标注 2.4 Lemmatisation(词性还原) 2.5 编写预处理函数

5.20第十一次作业
2.1 nltk库 分词
2.2 punkt 停用词
2.3 NLTK 词性标注
2.4 Lemmatisation(词性还原)
2.5 编写预处理函数

1. 读邮件数据集文件,提取邮件本身与标签。

列表

numpy数组

5.20第十一次作业
2.1 nltk库 分词
2.2 punkt 停用词
2.3 NLTK 词性标注
2.4 Lemmatisation(词性还原)
2.5 编写预处理函数

2.邮件预处理

  • 邮件分句
  • 名子分词
  • 去掉过短的单词
  • 词性还原
  • 连接成字符串
  •  传统方法来实现
  •  nltk库的安装与使用

pip install nltk

import nltk

nltk.download()     # sever地址改成 http://www.nltk.org/nltk_data/

https://github.com/nltk/nltk_data下载gh-pages分支,里面的Packages就是我们要的资源。

将Packages文件夹改名为nltk_data。

网盘链接:https://pan.baidu.com/s/1iJGCrz4fW3uYpuquB5jbew    提取码:o5ea

放在用户目录。

----------------------------------

安装完成,通过下述命令可查看nltk版本:

import nltk
print nltk.__doc__

 5.20第十一次作业
2.1 nltk库 分词
2.2 punkt 停用词
2.3 NLTK 词性标注
2.4 Lemmatisation(词性还原)
2.5 编写预处理函数

nltk.sent_tokenize(text) #对文本按照句子进行分割

nltk.word_tokenize(sent) #对句子进行分词

2.2 punkt 停用词

from nltk.corpus import stopwords

stops=stopwords.words('english')

*如果提示需要下载punkt

nltk.download(‘punkt’)

或 下载punkt.zip

https://pan.baidu.com/s/1OwLB0O8fBWkdLx8VJ-9uNQ  密码:mema

复制到对应的失败的目录C:UsersAdministratorAppDataRoaming ltk_data okenizers并解压。

2.3 NLTK 词性标注

nltk.pos_tag(tokens)

2.4 Lemmatisation(词性还原)

from nltk.stem import WordNetLemmatizer

lemmatizer = WordNetLemmatizer()

lemmatizer.lemmatize('leaves') #缺省名词

lemmatizer.lemmatize('best',pos='a')

lemmatizer.lemmatize('made',pos='v')

一般先要分词、词性标注,再按词性做词性还原。

2.5 编写预处理函数

def preprocessing(text):

sms_data.append(preprocessing(line[1])) #对每封邮件做预处理

3. 训练集与测试集

4. 词向量

5. 模型

5.20第十一次作业
2.1 nltk库 分词
2.2 punkt 停用词
2.3 NLTK 词性标注
2.4 Lemmatisation(词性还原)
2.5 编写预处理函数

 5.20第十一次作业
2.1 nltk库 分词
2.2 punkt 停用词
2.3 NLTK 词性标注
2.4 Lemmatisation(词性还原)
2.5 编写预处理函数

5.20第十一次作业
2.1 nltk库 分词
2.2 punkt 停用词
2.3 NLTK 词性标注
2.4 Lemmatisation(词性还原)
2.5 编写预处理函数