Bert應(yīng)用于POI類(lèi)型分類(lèi)

問(wèn)題:如何通過(guò)一個(gè)POI(地圖上的點(diǎn))的名稱(chēng)得到POI的分類(lèi)?

嘗試一:基于TextCNN的POI分類(lèi)

效果:訓(xùn)練速度快(在普通CPU上就可以跑)、效果不錯(cuò),在500分類(lèi)中的準(zhǔn)確率為75%

嘗試二:基于BiLSTM+ATTENTION的POI分類(lèi)

效果:與TextCNN相比準(zhǔn)確率差不多,但是訓(xùn)練速度較慢

嘗試三:基于Bert的POI分類(lèi)

? ? 使用的是keras_bert,與keras不同的點(diǎn):1.tokenizer使用bert自帶的vocab,bert輸入的起始和結(jié)尾的符號(hào)在tokenizer中都會(huì)處理好,使用tokenizer.encode的方法,會(huì)返回兩個(gè)embbeding,因?yàn)榉庋b的bert模型有兩個(gè)輸入 2.keras_bert的load_trained_model_from_checkpoint導(dǎo)入bert模型,具體的可借鑒https://github.com/bojone/bert_in_keras/blob/master/sentiment.py

效果:待后續(xù)更新


具體步驟:

1.通過(guò)已有的POI名稱(chēng)和類(lèi)型,構(gòu)造訓(xùn)練樣本

問(wèn)題:1.樣本傾斜,有很多類(lèi)別的樣本數(shù)量太少,有些太多

? ? ? ? ? ?2.只有POI名稱(chēng),導(dǎo)致很有有二意性的名稱(chēng)無(wú)法區(qū)分,如蘋(píng)果店(水果店or手機(jī)店)

2.使用數(shù)據(jù)訓(xùn)練模型,調(diào)參得到較好的效果

3.反饋問(wèn)題,優(yōu)化模型和訓(xùn)練樣本

4.使用到的Trick:

? ? 由于是多分類(lèi),而且很多是多個(gè)類(lèi)別都合適,使用了Label Smooth,提升了2%的準(zhǔn)確率

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容