背景:文本分類剩晴,我們項目中自己標(biāo)注了一些語句文本,希望將來可以自動對語句實現(xiàn)分類功能
最早的模型就是簡單的bert+mlp將語句通過bert轉(zhuǎn)換為向量后侵状,通過全連接層進(jìn)行分類
后來為了提高精度赞弥,嘗試將語句分詞后,將每個詞通過bert轉(zhuǎn)換為向量壹将,然后通過lstm+pooling+mlp做分類嗤攻,這里bert相當(dāng)于導(dǎo)入訓(xùn)練好的詞向量(具體實現(xiàn)的時候,embedding這一層導(dǎo)入訓(xùn)練好的詞向量即可)
進(jìn)一步嘗試使用BiLSTM+Attention+pooling+MLP的網(wǎng)絡(luò)結(jié)構(gòu)诽俯,其中用到attention機制妇菱,當(dāng)然你可以自己找已經(jīng)實現(xiàn)好的attention代碼來做,
我這里直接用tensorflow 2.0已經(jīng)封裝好的層來實現(xiàn)
這里記錄一下遇到的問題:
我本地環(huán)境是win10+pycharm暴区,要使用attention闯团,首先你的tensorflow要升級到2.0.0rc2版本,截至2019.10.9最新仙粱,切記升級到2.0.0a0仍然不可以
升級后房交,keras也需要升級到最新版本,否則會出現(xiàn)報錯
升級完成后伐割,運行代碼候味,以下為示例,獲取完整代碼請訪問https://github.com/ares5221/Implementation-of-Text-Classification/blob/master/18bert_bilstm_attation_polling_mlp_in_Moral_data/train_bert_bilstm_attention_mlp_model_tf1_Linux.py
記得star哦隔心。