数据挖掘 文本分类(五)

          上一篇博文我们已经对文本做了分词处理,这篇我们开始做取名词,去停用词的处理。

          首先是取名词,我们要把名词取出来,是因为一篇文档,名词最能够代表这一篇文档属于哪一类的,其他的形容词,副词之类的词语并不能很好的代表某一类文档。所以要取名词,这个当然是用正则表达式了。

          我们看一下分词结果:

         名词词性的词分词工具会用n表示,那么我们就用正则表达式去匹配n就好了。

        根据廖老师的Python教程,.n能匹配任意字符,*表示有任意个,那我我们把正则表达式写成:.*n。这个意思就是不管这一行前边有任意个任何字符,只要后边有一个n,就表示匹配成功,我们就可以做其他操作,比如把这一行保存。

      

然后就是去停用词,就是一些完全没用的废话,助词或者语气词之类的,停用词表是老师提供的。

我们先把停用词文档做分词处理,然后把停用词里的名词取出来,这样我们对一篇文档做完取名词操作之后就可以直接去掉名词性质的停用词了。

 

下面是示例代码,当然不一定对,而且我发现停用词去的并不干净,仅供参考哈。

# -*- coding: UTF-8 -*-
import re

f = open('/Users/yangshaoby/Desktop/10.txt', 'rb')
for x in range(1,1000):
    p = f.readline()
    print p
    if re.match(r'.*n', p):
        print 'ok'
        st = open('/Users/yangshaoby/Desktop/stopwords.txt', 'rb')   
        st1 = st.read()
        if p not in stl:
            b = open('/Users/yangshaoby/Desktop/100.txt', 'a')
            b.write (p)
            b.close()
            print 'stop'

 

我的停用词文档分词取名词后的结果命名为stopwords.txt保存在桌面上。

这个是单篇文档取名词去停用词的代码,要做批处理参考上一篇文档哈。

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值