机器学习入门-文本数据-构造词频词袋模型 1.re.sub(进行字符串的替换) 2.nltk.corpus.stopwords.words(获得停用词表) 3.nltk.WordPunctToke...

函数说明:

 1. re.sub(r'[^a-zA-Z0-9\s]', repl='', sting=string)  用于进行字符串的替换,这里我们用来去除标点符号

 参数说明:r'[^a-zA-Z0-9\s]' 配对的模式,^表示起始位置,\s表示终止位置,[]表示取中间部分,这个的意思是找出除字符串大小写或者数字组成以外的东西,repl表示使用什么进行替换,这里使用'',即直接替换,string表示输入的字符串

2. stopwords = nltk.corpus.stopwords.words('english') # 表示获得英文的停用词表, 使用nltk.download下载停用词表

3. nltk.WordPunctTokenizer() 构建模型,使用.tokenize(str) 对字符串进行分词操作

4. np.vectorize(函数)  表示对函数进行向量化操作,使得对函数输入的参数如果是列表形式,输入的时候一个个输入,输出的时候也是一个个输出

5.sklearn.extract_features.text.CountVectorizer  构建词频词袋模型,.get_feature_names获得词袋模型的标签 

在一个文本数据输入的时候,我们需要对其做数字编码,一种就是根据文本出现的次数做一个词袋模型

 

当一个文本数据输入的时候

          第一步:去除标点符号,并进行分词操作(使用nltk.WordPunctTokenizer().tokenize进行分词操作) 

          第二步:依据生成的停用词表,去除停用词,并且使用‘ ’.join进行串接,为了下一步的词袋模型做准备

          第三步:使用CountVectorizer, 对向量进行词频统计,将文本数据进行向量化操作,使用.get_feature_names()获得词袋中的词语的名字

 

代码:

        第一步:构建DateFrame格式,同时数组化数据

        第二步:载入停用词表nltk.corpus.stopwords.words('english')和构建分词nltk.WordPunctTokenize()模型,定义函数Normalize_corpus:使用re.sub去除标点符号, 使用.tokenize进行分词,将分完成的列表,使用停用表去除停用词,最后使用' '.join连接分词后的列表为下一步构造词袋模型做准备

        第三步: 使用np.vectorize(Normalize_corpus) 对函数进行向量化操作,调用函数对列表进行分词和去除停用词的操作

        第四步:使用sklearn.feature_extraction.text import CountVectorizer 构建词频的词袋模型,使用.get_featur

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值