机器学习-文本特征值抽取,中文分词

在文本特征值抽取过程中,将用到jieba分词

特点

支持三种分词模式:

  • 精确模式,试图将句子最精确地切开,适合文本分析;
  • 全模式,把句子中所有的可以成词的词语都扫描出来,速度非常快,但是不能解决歧义。
  • 搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。 支持繁体分词
  • 支持自定义词典
  • MIT 授权协议

安装方法

pip install jieba

官网

https://pypi.org/project/jieba/

Demo

from sklearn.feature_extraction import DictVectorizer
from sklearn.feature_extraction.text import CountVectorizer
import jieba

def cutword():
    
    con1 = jieba.cut("人从来不是一成不变的,生活会追着你,一而再的脱胎换骨,只要愿意,你永远有机会,成为不断前行的人,最终活成自己喜欢的模样。")
    
    con2 = jieba.cut("自己喜欢的未必是自己擅长的,自己擅长的又未必是自己喜欢的。当你发现你不擅长这件事情的时候,你就要努力想清楚:我应该干什么?我能干什么?我可以干什么?")
    
    con3 = jieba.cut("朋友是生命的丛林,是心灵歇脚的驿站,是收藏心事的寓所,是储蓄感情的行囊,不管人生路上几多风雨,朋友如伞,伴你一路晴空!愿你的天空更蓝、人生最美!")
    
    # 转换成列表
    content1 = list(con1)
    content2 = list(con2)
    content3 = list(con3)
    
    # 把列表转换成字符串
    c1 = ' '.join(content1)
    c2 = ' '.join(content2)
    c3 = ' '.join(content3)
    
    return c1,c2,c3


def hanzivec():
    """
    
    中文特征值化
    :return: None
    """
    c1, c2, c3 = cutword()
    
    print(c1,c2,c3)
    
    cv = CountVectorizer()
    
    data = cv.fit_transform([c1,c2,c3])
    
    print(cv.get_feature_names())
    
    print(data.toarray())
    
    return None


if __name__ == "__main__":
    hanzivec()

结果如下

机器学习-文本特征值抽取,中文分词_第1张图片

你可能感兴趣的:(机器学习,人工智能)