最近剛剛把垃圾文本分類做完歉眷,接著又去研究意圖識(shí)別缭裆,可以看做是分類完之后的后續(xù)處理,通過(guò)這篇文章記錄下自己的學(xué)習(xí)經(jīng)歷渤昌。
1:意圖識(shí)別要做啥虽抄?
最近在寫文檔的時(shí)候,寫不出來(lái)的時(shí)候就回去看看需求独柑,一定反復(fù)強(qiáng)調(diào)需求是什么迈窟,而技術(shù)也類似,我們一定要想明白技術(shù)要替我們解決什么群嗤。拿文本進(jìn)行舉例菠隆,我們看到有用戶給我們一句話:“我想聽德云社的相聲”,那我們其實(shí)可以姑且將其意圖歸類于影音需求狂秘,別看將其歸歸類是個(gè)很簡(jiǎn)單活骇径,但是這會(huì)對(duì)很多NLP應(yīng)用帶來(lái)很多的提升,比如在我們熟悉的搜索者春,我們搜索的時(shí)候如果涉及到一條信息對(duì)應(yīng)多個(gè)分類的時(shí)候破衔,這樣搜索結(jié)果會(huì)比較差,但是如果我們通過(guò)意圖識(shí)別發(fā)現(xiàn)用戶是個(gè)游戲迷钱烟,我們就可以在用戶搜索時(shí)將游戲的搜索結(jié)果優(yōu)先返還給用戶晰筛,這本身也是很有意義的一件事。
2:意圖識(shí)別的方法
因?yàn)橐鈭D識(shí)別本身也是一個(gè)分類問題拴袭,其實(shí)方法和分類模型的方法大同小異读第。
常用的有:
1:基于詞典模板的規(guī)則分類
2:基于過(guò)往日志匹配(適用于搜索引擎)
3:基于分類模型進(jìn)行意圖識(shí)別
這三種方式基本上是目前比較主流的方法,現(xiàn)在進(jìn)行意圖識(shí)別的難點(diǎn)主要是兩點(diǎn)拥刻,一點(diǎn)是數(shù)據(jù)來(lái)源的匱乏怜瞒,因?yàn)榉椒ㄒ呀?jīng)比較固定,基本都是有監(jiān)督學(xué)習(xí)般哼,需要很多的標(biāo)記數(shù)據(jù)吴汪,現(xiàn)在我們常用的數(shù)據(jù)要么就是找專業(yè)標(biāo)記團(tuán)隊(duì)去買(我們是自己標(biāo)記的,很惡心蒸眠。漾橙。),要么就是自己去爬楞卡,這方面還是很麻煩的霜运。第二點(diǎn)是盡管是分類工作脾歇,但是意圖識(shí)別分類種類很多,并且要求的準(zhǔn)確性觉渴,拓展性都不是之前的分類可比的介劫,這一點(diǎn)也是很困難的。
這次的思路是使用CNN+softmax進(jìn)行分類案淋,不同于傳統(tǒng)的如SVM,決策樹等傳統(tǒng)的分類方法座韵,
CNN對(duì)于長(zhǎng)文本的分類效果還是不錯(cuò)的,但是在短文本上相較RNN還是有一些差距踢京。
基本的思路與下圖所述的論文相似:
既然CNN比不上RNN誉碴,為什么還是選取了CNN,我的想法是文本分詞后一般會(huì)有粒度和語(yǔ)義的矛盾瓣距,粒度太大黔帕,分詞效果不好,粒度太小蹈丸,語(yǔ)義丟失成黄,而CNN核心過(guò)程是卷積,我們可以通過(guò)CNN的卷積將分完詞之后的詞的語(yǔ)義結(jié)合在一起逻杖,從而獲得更加準(zhǔn)確的詞向量奋岁。
現(xiàn)在說(shuō)說(shuō)這篇論文:
這篇論文的網(wǎng)絡(luò)結(jié)構(gòu)如下:
基本的結(jié)構(gòu)為:輸入層->第一層卷積層->池化層->全連接層+softmax層
現(xiàn)在也在進(jìn)一步的嘗試中,目前還有幾個(gè)小trick:
1:是否可以使用字向量代替詞向量荸百?
2:輸入的詞向量是否可以多換幾種表述方式闻伶?
這幾個(gè)小trick等研究之后再來(lái)更新一下,我也是在學(xué)習(xí)中够话,大家如果有好的建議也請(qǐng)多多指教蓝翰。
最后參考文獻(xiàn):
1:http://www.aclweb.org/anthology/D14-1181
2:https://arxiv.org/abs/1510.03820
第二篇文章是對(duì)第一篇文章的進(jìn)一步研究以及調(diào)參建議,都挺有意思女嘲。