当前位置 : 主页 > 网络推广 > seo >

文本预处理常用操作

来源:互联网 收集:自由互联 发布时间:2021-06-16
这里介绍一下文本预处理中常用的操作: 1.英文统一小写 text = text.lower() 2.分词 def cut(text): # return list(jieba.cut(text)) return [item for item in jieba.cut(text.lower())] if text != "" else [] 3.去噪

这里介绍一下文本预处理中常用的操作:

1.英文统一小写

text = text.lower()

 

2.分词

    def cut(text):
        # return list(jieba.cut(text))
        return [item for item in jieba.cut(text.lower())] if text != "" else []

 

3.去噪

两种方式

(1)去停用词

包括中英文标点符号、以及噪音词,参考附录[1]

    stopwords = set([line.strip() for line in codecs.open("data/stopwords.txt", "r")])
    def cut_and_remove_stopwords(text):
        return [item for item in jieba.cut(text.lower()) if item not in Utils.stopwords] if text != "" else []

 

(2)只保留指定词典中的词

这个词典与任务强相关,通常是当前任务重点关注的特征词

    def cut_and_in_vocabulary(text):
        return [item for item in jieba.cut(text.lower()) if item in Utils.vocabulary] if text != "" else []

其中,为了保证分词的结果是我们想要的,通常需要调整jieba词典

    file_vocabulary = "data/vocabulary.txt" jieba.load_userdict(file_vocabulary)
    vocabulary = set([line.strip() for line in codecs.open(file_vocabulary, "r")])

    file_jieba_delete_dict = "data/jieba_delete_dict.txt"
    for wd in [line.strip() for line in codecs.open(file_jieba_delete_dict, "r")]:
        jieba.del_word(wd)

详细说明参考:fxsjy/jieba: 结巴中文分词

  

附录[1]:停用词表(其中有两行分别是中英文的空格)

,
.
?
!
 
,
。
?
!
不好意思
抱歉
谢谢
这边
那边
那个
这个
那样
这种
那种
我想
这儿
这样
还
也
额
呃
嗯
噢
那
哎
先
后
啊
哦
吧
呀
啦
哈
诶
咯
恩
阿
呢
吗
的
了

 

待补充~

网友评论