Bag of Word
03-05
預處理:
文章看成句子列表。句子看成辭彙列表。
統計所有的辭彙,構成詞典。設詞典長度為N
有了詞典之後,一個句子就是一個向量,向量中的每一項是辭彙在詞典中的索引。
把句子切成等長的,這需要先統計一下句子的長度分布,選擇一個合適的長度m。然後,把所有句子中超長部分切掉。
這樣,就可以把一個句子向量轉換為一個m*N的矩陣。矩陣的每一行是一個one-hot向量。
對這個矩陣按列求平均值,形成一個1*N的向量。(歸一化的詞頻向量)
這個向量作為輸入X。(1*N)
用此向量做句子分類,使用一個logistic模型:
y = A*X + b
pred = sigmoid(y)
target 是0/1
用pred和target的交叉熵做損失函數。
通過梯度下降演算法訓練A(5000*1),b(1*1)。
效果:
推薦閱讀:
※第三章 自然語言理解的技術分類及比較
※為何讀不懂你的那個TA
※CRF 小結
※SQLnet 代碼閱讀筆記
※AI+互聯網金融--入職半年總結
TAG:自然語言處理 |