中文文本情感识别:jieba分词应用实例

原文地址

分类目录——情感识别

对于英文,其词法结构决定了其天生就是已经分词了的,通过空格分词即可

print('I love you'.split(' '))	# 用空格切分长字符串
# ['I', 'love', 'you']

对于中文,就需要通过另外的手段进行分词了

jieba这样一个功能包是中文文本分词的常用手段之一

随便做了如下这样一个测试文件,内容是gensim下的词向量生成模型word2vec的属性说明

1582378458925

import jieba

with open('data.txt', encoding='utf8') as f:
    sentenceslist = f.read().splitlines()   # 读取文档按行生成列表
    # ['1.sentences:可以是一个List,对于大语料集,建议',
    # '2.sg: 用于设置训练算法,默认为0,对应CBOW算法',
    # '3.size:是指输出的词的向量维数,默认为100。',
    # ...]

# 只需要调用jieba.cut(str)就可以将str进行分词,返回在一个列表中
res = [list(jieba.cut(sent)) for sent in sentenceslist]
# [['1', '.', 'sentences', ':', '可以', '是', '一个', 'List', ',', '对于', '大', '语料', '集', ',', '建议'],
# ['2', '.', 'sg', ':', ' ', '用于', '设置', '训练', '算法', ',', '默认', '为', '0', ',', '对应', 'CBOW', '算法'],
# ['3', '.', 'size', ':', '是', '指', '输出', '的', '词', '的', '向量', '维数', ',', '默认', '为', '100', '。'],
# ...]]

可以看到句子已经被被分割成词的列表,看到其中还有标点符号,当然这些是需要取到了,可以通过过正则表达式去标点;在文本处理还有一种去停用词的操作,就是去掉对目标(比如情感识别)无用的词汇,诸如像‘的’、‘了’或者标点符号之类的,可以去网上搜一份停用词列表,通过匹配该列表过滤一遍词列表。

发布了119 篇原创文章 · 获赞 86 · 访问量 5841

猜你喜欢

转载自blog.csdn.net/BBJG_001/article/details/104455072