機器學習-文字特徵值抽取,中文分詞
阿新 • • 發佈:2018-11-07
在文字特徵值抽取過程中,將用到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()