python文本分析数据预处理—机械压缩去词

文本数据预处理步骤通常包括文本去重、机械压缩去词、短句删除等。其中机械压缩去词实际上要处理的语料就是语料中有连续累赘重复的部分,比如:
‘为什么为什么为什么安装费这么贵,毫无道理’ 。其中的为什么就是重复词对之后的分析无意义。
考虑到这类重复词一般出现在句首和句尾,因此只对开头和结尾的连续重复词进行机械压缩去词处理。
本代码是根据《python数据分析与挖掘实战》一书中给出的去词规则自行编写的,目前不能去除如‘哈哈今天天气真好’中的‘哈哈’这类句首叠词。下面给出去除句首重复词的代码

def forward(string):
    a = string # 令 a = string[::,-1] 即可进行句尾去词
    l1 = [a[0]]
    l2 = []
    n = 1
    while n < len(a):
        if a[n] == l1[0]:
            if len(l2) == 0:
                l2.append(a[n])
                n += 1
            else:
                if l1 == l2:
                    l2 = []
                else:
                    l1 = [a[n]]
                    l2 = []
                    n += 1
        else:
            if l1 == l2:
                if len(l1) >= 2:
                    l1.append(a[n])
                    l2 = []
                    n += 1
                else:
                    l1.append(l2[0])
                    l1.append(a[n])
                    l2 = []
                    n += 1
            else:
                if len(l2) == 0:
                    l1.append(a[n])
                    n += 1
                else:
                    if len(l2) < len(l1):
                        l2.append(a[n])
                        n += 1
                    else:
                        if l1 == l2 :
                            l1.append(a[n])
                            l2 = []
                            n += 1
                        else:
                            l1.extend(l2[1:])
                            l2 = []
    if l1 != l2:
        temp1 = l1+l2
    else:
        temp1 = l1
    return ''.join(temp1)
  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值