jieba(结巴)分词_文本特征提取处理中文文本

分词工具:jieba分词

下载: pip3 install jieba

使用: import jieba

在这里插入代码片

result=jieba.cut("今天很残酷,明天更残酷,后天很美好,但绝对大部分是死在明天晚上,所以每个人不要放弃今天。")

但是有一个问题是,cut创建的对象它并不是一个立即可用的具体数据结构(例如列表),而是一个需要迭代(使用 for 循环或 next())才能访问的数据结构。
假如你直接print(result)得到的结果是一个生成器对象

<generator object Tokenizer.cut at 0x0000029D10828200>

这是需要我们进行转化,比如转换成列表

result_list=list(result)
print(result_list)
# ['今天', '很', '残酷', ',', '明天', '更', '残酷', ',', '后天', '很', '美好', ',', '但', 
# '绝对', '大部分', '是', '死', '在', '明天', '晚上', ',', '所以', '每个', '人', '不要', '放弃',
#  '今天', '。']

jieba解决中文分词问题并进行特征值化

from sklearn.feature_extraction.text import CountVectorizer
import jieba
def cutword():
    # 用结巴进行分词处理
    text01 = "今天很残酷,明天更残酷,后天很美好,但绝对大部分是死在明天晚上,所以每个人不要放弃今天。"
    count_result01 = jieba.cut(text01)
    # 返回的是一个可以按需生成分词结果的生成器对象,而不是一个列表或字符串。
    # 将生成器转换成列表
    count_result_list01 = list(count_result01)
    # 将列表转换成字符串列表
    c1 = ' '.join(count_result_list01)
    # Example: '.'.join(['ab', 'pq', 'rs']) -> 'ab.pq.rs'
    # 对于文本数据fit_transform 需要一个 字符串列表,每个元素是一个文本样本。
    return c1
def countdev():
    """
    对文本进行特征值化
    :return:
    """
    # 实列化
    cv = CountVectorizer()
    c1 = cutword()
    data = cv.fit_transform([c1]) # 生成词汇表并转换成数字特征矩阵
    print(cv.get_feature_names_out())
    print(data.toarray())
    return None
if __name__ == '__main__':
    countdev()
结果展示      ['不要' '今天' '后天' '大部分' '所以' '放弃' '明天' '晚上' '残酷' '每个' '绝对' '美好']
              [[     1        2      1         1           1        1      2        1       2        1        1         1]]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

右拐三次就是左

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值