【机器学习】文本特征工程

import numpy as np
import pandas as pd
import jieba 
text = ['想和不想.是两回事','好听的话不要听,没感觉到就是没有','终有弱水替沧海,再无相思寄巫山']
for i in range(len(text)):
    text[i] = ' '.join(jb.lcut(text[i]))
text

['想 和 不想 . 是 两回事', '好听 的话 不要 听 , 没 感觉 到 就是 没有', '终 有 弱水 替 沧海 , 再 无 相思 寄 巫山']

文本的分割 单词提取 符号过滤

bow_text = []
for t in text:
    t = t.replace(',',' ').replace('.',' ').split(' ')
    new_t = []
    for w in t:
        if len(w)>1:
            new_t.append(w)
    bow_text.append(new_t)   
bow_text  
[['不想', '两回事'], ['好听', '的话', '不要', '感觉', '就是', '没有'], ['弱水', '沧海', '相思', '巫山']]

词数统计

wordSets = []
for i in bow_text:
    wordSets+=i
wordSets=set(wordSets)
wordSets

{'不想', '不要', '两回事', '好听', '就是', '巫山', '弱水', '感觉', '没有', '沧海', '的话', '相思'}
统计text中每个元素中每个单词出现次数
wordDicts = []
for list_ in bow_text:
    wordDict=dict.fromkeys(wordSets,0)
    for word in list_:
        wordDict[word]+=1
    wordDicts.append(wordDict)
wordDicts

[{'巫山': 0,
  '沧海': 0,
  '好听': 0,
  '不要': 0,
  '弱水': 0,
  '感觉': 0,
  '就是': 0,
  '不想': 1,
  '两回事': 1,
  '的话': 0,
  '没有': 0,
  '相思': 0},
 {'巫山': 0,
  '沧海': 0,
  '好听': 1,
  '不要': 1,
  '弱水': 0,
  '感觉': 1,
  '就是': 1,
  '不想': 0,
  '两回事': 0,
  '的话': 1,
  '没有': 1,
  '相思': 0},
 {'巫山': 1,
  '沧海': 1,
  '好听': 0,
  '不要': 0,
  '弱水': 1,
  '感觉': 0,
  '就是': 0,
  '不想': 0,
  '两回事': 0,
  '的话': 0,
  '没有': 0,
  '相思': 1}]
将结果转化成dataframe
wordDicts=pd.DataFrame(wordDicts)
wordDicts

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值