完成了對達觀資料的初次嘗試之後,現在開始要正兒八經地開始搞一搞nlp的東西了。
清明節假期第三天ing,也該收收心了,簡單得用csdn來記錄本次學習任務,並完成打卡吧~
【任務2.1】時常: 2天
1.學習tf-idf理論並實踐,使用tf-idf表示文字。
今天我們來學習乙個在nlp領域裡重要的概念,這個概念自己在之前碩士階段資料探勘以及大資料分析課程中,也是已經有過一定的了解。今天也算是複習複習了。
通俗來講, tf是乙個詞條在文章**現的次數的頻率。出現次數越多的詞條,理論上會具有更大的tf值。
而另外乙個idf呢? 它是用來衡量這個詞條對於文章的區分度。我們在文章分類任務中,肯定是希望可以找到那些可以很好歸納總結及體現這篇文章的核心詞條。舉個簡單的例子:乙個詞『我們』,非常常見吧,他在文章中的tf已經是挺高的,但是,它在所有的文章中都具有很高的tf,那它就不具備有幫助我們區分文章的功能,所以它的idf就非常低,我們理論上也需要丟棄這樣的詞條。
tf-idf在python中已經得到實現,並封裝好對應的庫,我們只需要在使用的時候簡單地來呼叫即可。匯入所需要的庫:
from sklearn.feature_extraction.text import tfidfvectorizer
再將學習到目前為止的**貼出來,供大家嘗試。
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.feature_extraction.text import tfidfvectorizer
# read data
df = pd.read_csv('data/train_set.csv', nrows=5000)
# observe data
print(df['class'].value_counts(normalize=true, ascending=false))
# split training set and validation set
predictor = ['article', 'word_seg']
x_train, x_validation, y_train, y_validation = train_test_split(df[predictor], df['class'], test_size=0.2)
# tf-idf
vectorizer = tfidfvectorizer()
x_train = vectorizer.fit_transform(x_train['word_seg'])
x_validation = vectorizer.fit_transform(x_validation['word_seg'])
print(x_train)
print(x_validation)
之後還會有更多深入的學習和**,希望可以有更多的收穫吧~ 上班第二天
本想坐晚一班車的,誰知道這晚一班的也只是晚了 五 六分鐘,不高興再在站台上等,也只好小跑到車門上去了,果然,八點十分就到了。白天那個困啊 今天的工作內容和昨天一樣,做到後來我實在覺得測的差不多了,想幹些其他的,但這初來乍到的,也不好幹其他的呀,況且領導辦公室就在我旁邊。今天的工作總結有兩點 1 別把...
第二天實習
今天我早早到了銀行,開始給大家抹桌子,算是向愛妃學習吧。之後向wqy學習做表的方法,他很耐心。今天一天也就是做了這麼乙個表,但是還向dh學習了另外一些業務的處理,收穫不小。中午吃了雞腿 肉串和芸豆,好開心啊。我越來越喜歡自己的實習了。今天好多自己班上的同學來面試實習生,希望她們都能上!今天我沒有去同...
實習第二天
又是早起擠地鐵的一天 今天symphony說給我換了個導師,richard。於是我開始自己看,但是我並不清楚背景,不知道整個資料夾是幹什麼目的的,也不知道哪些檔案是需要看的。然後在richard的講解下,我慢慢明白了,終於知道我是幹啥的了,就是完善優化他們寫的自動化測試程式,首先是要看懂他們寫的。按...