python中文语音识别后-结巴分词以及停用词过滤时遇到的转码问题

在进行中文语音识别后,利用结巴分词并过滤停用词时遇到了编码不一致的问题,导致无效词汇无法过滤。通过检测字符集并使用chardet库,将停用词表和分词结果统一转化为utf-8编码,成功解决了过滤问题。
摘要由CSDN通过智能技术生成

首先自己建立了一个停用词表,表中有各种符号,没有查询意义的中文词,以及英文词,在语音识别系统运行过程中,始终都维护着一个停用词表,但是在对结巴分词后的词进行过滤的时候出现了编码不一致的情况导致无意义词不能得到有效过滤。后来参考该链接:http://san-yun.iteye.com/blog/1544123,以及使用python的chardet库的detect方法检测字符的字符集属性,然后使用对应的codecs模块的相关方法1、将停用词文本中的字符转化为utf-8类型,2、将结巴分词的结果(本是unicode类型)也转化为utf-8类型,最终的目的即是将两者的字符集保持一致,这样才会达到过滤的效果。

代码如下:可通过修改注释部分结合相关链接,从而了解代码逻辑。最后如期过滤掉了“逗号,于”等字符

# -*- coding: utf-8 -*-
import jieba
import sys,time
import urllib2
import nltk
import os
import codecs
import chardet
recognitionResult = "小明硕士毕业于中国科学院计算所,后在日本京都大学深造"
look = codecs.lookup("gbk")
look2 = codecs.lookup("utf-8")
# print "jsu",ch
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值