小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

谷歌做了45萬(wàn)次不同類型的文本分類后,總結(jié)出一個(gè)通用的“模型選擇算法”

 天承辦公室 2018-07-26







  新智元報(bào)道  

來(lái)源:developers.google.com

 編譯:肖琴、大明


【新智元導(dǎo)讀】谷歌官方推出“文本分類”指南教程。為了最大限度地簡(jiǎn)化選擇文本分類模型的過(guò)程,谷歌在進(jìn)行大約450K的文本分類實(shí)驗(yàn)后,總結(jié)出一個(gè)通用的“模型選擇算法”,并附上一個(gè)完整的流程圖,非常實(shí)用。



文本分類(Text classification)算法是大規(guī)模處理文本數(shù)據(jù)的各種軟件系統(tǒng)的核心。比如,電子郵件軟件使用文本分類來(lái)確定受到的郵件是發(fā)送到收件箱還是過(guò)濾到垃圾郵件文件夾;討論論壇使用文本分類來(lái)確定用戶評(píng)論是否應(yīng)該標(biāo)記為不當(dāng)。


下面是兩個(gè)主題分類( topic classification)的例子,任務(wù)是將文本文檔歸類為預(yù)定義的一組主題。多數(shù)主題分類問(wèn)題要基于文本中的關(guān)鍵字。


主題分類被用于標(biāo)記收到的垃圾郵件,這些郵件被過(guò)濾到垃圾郵件文件夾中


另一種常見(jiàn)的文本分類是情感分析(sentiment analysis),其目的是識(shí)別文本內(nèi)容的極性(polarity):它所表達(dá)的觀點(diǎn)的類型。這可以采用二進(jìn)制的“喜歡/不喜歡”來(lái)評(píng)級(jí),或者使用更精細(xì)的一組選項(xiàng),比如從1顆星星到5顆星星的評(píng)級(jí)。情感分析的例子包括分析Twitter上的帖子,以確定人們是否喜歡黑豹電影,或者從沃爾瑪?shù)脑u(píng)論中推斷普通大眾對(duì)耐克新品牌的看法。


這個(gè)指南將教你一些解決文本分類問(wèn)題的關(guān)鍵的機(jī)器學(xué)習(xí)最佳實(shí)踐。你將學(xué)習(xí):

  • 使用機(jī)器學(xué)習(xí)解決文本分類問(wèn)題的高級(jí)、端到端工作流(workflow)

  • 如何為文本分類問(wèn)題選擇合適的模型

  • 如何使用TensorFlow實(shí)現(xiàn)你選擇的模型


文本分類的workflow


以下是解決機(jī)器學(xué)習(xí)問(wèn)題的workflow

  • 步驟1:收集數(shù)據(jù)

  • 步驟2:探索你的數(shù)據(jù)

  • 步驟2.5:選擇一個(gè)模型*

  • 步驟3:準(zhǔn)備數(shù)據(jù)

  • 步驟4:構(gòu)建、訓(xùn)練和評(píng)估你的模型

  • 步驟5:調(diào)優(yōu)超參數(shù)

  • 步驟6:部署模型


解決機(jī)器學(xué)習(xí)問(wèn)題的workflow


【注】 “選擇模型”并不是傳統(tǒng)機(jī)器學(xué)習(xí)workflow的正式步驟;但是,為你的問(wèn)題選擇合適的模型是一項(xiàng)關(guān)鍵的任務(wù),它可以在接下來(lái)的步驟中明確并簡(jiǎn)化工作。


谷歌機(jī)器學(xué)習(xí)速成課程的《文本分類》指南詳細(xì)解釋了每個(gè)步驟,以及如何用文本數(shù)據(jù)實(shí)現(xiàn)這些步驟。由于篇幅限制,本文在涵蓋重要的最佳實(shí)踐和經(jīng)驗(yàn)法則的基礎(chǔ)上,重點(diǎn)介紹步驟2.5:如何根據(jù)數(shù)據(jù)集的統(tǒng)計(jì)結(jié)構(gòu)選擇正確的模型,并提供一個(gè)完整的流程圖。


步驟1:收集數(shù)據(jù)



收集數(shù)據(jù)是解決任何有監(jiān)督的機(jī)器學(xué)習(xí)問(wèn)題的最重要步驟。構(gòu)成它的數(shù)據(jù)集有多好,你的文本分類器就有多好。


如果你沒(méi)有想要解決的特定問(wèn)題,只是對(duì)探索文本分類感興趣,那么有大量可用的開(kāi)源數(shù)據(jù)集。下面的GitHub repo就足以滿足你的需求:

https://github.com/google/eng-edu/blob/master/ml/guides/text_classification/load_data.py


另一方面,如果你正在處理一個(gè)特定的問(wèn)題,則需要收集必要的數(shù)據(jù)。許多組織提供用于訪問(wèn)其數(shù)據(jù)的公共API ——例如,Twitter API或NY Times API,你可以利用這些來(lái)找到想要的數(shù)據(jù)。


以下是收集數(shù)據(jù)時(shí)需要記住的一些重要事項(xiàng):

  • 如果你使用的是公共API,請(qǐng)?jiān)谑褂弥傲私釧PI的局限性。例如,一些API對(duì)查詢速度設(shè)置了限制。

  • 訓(xùn)練示例(在本指南的其余部分稱為示例)越多越好。這將有助于模型更好地泛化。

  • 確保每個(gè)類或主題的樣本數(shù)量不會(huì)過(guò)度失衡。也就是說(shuō),每個(gè)類都應(yīng)該有相當(dāng)數(shù)量的樣本。

  • 確保示例充分覆蓋了可能的輸入空間,而不僅僅覆蓋常見(jiàn)的情況。


在本指南中,我們將使用IMDb的電影評(píng)論數(shù)據(jù)集來(lái)說(shuō)明這個(gè)workflow。這個(gè)數(shù)據(jù)集收集了人們?cè)贗MDb網(wǎng)站上發(fā)布的電影評(píng)論,以及相應(yīng)的標(biāo)簽(“positive”或“negative”),表示評(píng)論者是否喜歡這部電影。這是情緒分析問(wèn)題的一個(gè)典型例子。


步驟2:探索你的數(shù)據(jù)


  • 加載數(shù)據(jù)集

  • 檢查數(shù)據(jù)

  • 收集關(guān)鍵指標(biāo)


構(gòu)建和訓(xùn)練模型只是工作流程的一部分。事先了解數(shù)據(jù)的特征能夠幫助你構(gòu)建更好的模型。這不僅僅意味著獲得更高的準(zhǔn)確度,也意味著需要較少的訓(xùn)練數(shù)據(jù),或者更少的計(jì)算資源。


步驟2.5:選擇一個(gè)模型


到這一步,我們已經(jīng)收集了數(shù)據(jù)集,并深入了解了數(shù)據(jù)的關(guān)鍵特性。接下來(lái),根據(jù)我們?cè)诓襟E2中收集的指標(biāo),我們應(yīng)該考慮應(yīng)該使用哪種分類模型。這意味著提出問(wèn)題,例如“如何將文本數(shù)據(jù)呈現(xiàn)給期望輸入數(shù)字的算法?”(這叫做數(shù)據(jù)預(yù)處理和矢量化),“我們應(yīng)該使用什么類型的模型?”,“我們的模型應(yīng)該使用什么配置參數(shù)?”,等等。


經(jīng)過(guò)數(shù)十年的研究,我們已經(jīng)能夠訪問(wèn)大量的數(shù)據(jù)預(yù)處理和模型配置選項(xiàng)。然而,大量可供選擇的可行方案大大增加了手頭的特定問(wèn)題的復(fù)雜性和范圍??紤]到最好的選擇可能并不明顯,一個(gè)想當(dāng)然的解決方案是嘗試盡每一種可能的選擇,通過(guò)直覺(jué)排除一些選擇。但是,這樣做成本是非常昂貴的。


在本指南中,我們?cè)噲D最大限度地簡(jiǎn)化選擇文本分類模型的過(guò)程。對(duì)于給定的數(shù)據(jù)集,我們的目標(biāo)是找到在最小化訓(xùn)練所需的計(jì)算時(shí)間的同時(shí),實(shí)現(xiàn)接近最大精度的算法。我們使用12個(gè)數(shù)據(jù)集針對(duì)不同類型的問(wèn)題(尤其是情感分析和主題分類問(wèn)題)進(jìn)行了大量(~450K)實(shí)驗(yàn),將不同的數(shù)據(jù)預(yù)處理技術(shù)和不同的模型架構(gòu)交替用于每個(gè)數(shù)據(jù)集。這有助于我們找到影響最佳選擇的數(shù)據(jù)集參數(shù)。


下面的模型選擇算法(model selection algorithm)和流程圖是我們的大量實(shí)驗(yàn)的總結(jié)。



數(shù)據(jù)準(zhǔn)備和模型構(gòu)建算法

1. 計(jì)算樣本的數(shù)量/每個(gè)樣本中單詞的數(shù)量這個(gè)比率。

2. 如果這個(gè)比率小于1500,那么將文本標(biāo)記為n-grams并使用簡(jiǎn)單的MLP模型進(jìn)行分類(下面的流程圖的左邊分支):

a. 將樣本分解成word n-grams;把n-grams轉(zhuǎn)換成向量。

b. 給向量的重要性打分,然后根據(jù)分支選擇前20K。

c. 構(gòu)建一個(gè)MLP模型。

3. 如果比率大于1500,則將文本標(biāo)記為序列,并使用sepCNN模型進(jìn)行分類(流程圖右邊分支):

a. 將樣本分解成單詞;根據(jù)頻率選擇前20K的單詞。

b. 將樣本轉(zhuǎn)換為單詞序列向量。

c. 如果原始樣本數(shù)/每個(gè)樣本的單詞數(shù)這個(gè)比率小于15K,則使用微調(diào)的預(yù)訓(xùn)練sepCNN模型,可能得到最優(yōu)的結(jié)果。

4. 用不同的超參數(shù)值來(lái)測(cè)量模型的性能,以找到數(shù)據(jù)集的最佳模型配置。


在下面的流程圖中,黃色框表示數(shù)據(jù)和模型準(zhǔn)備過(guò)程?;疑蚝途G色框表示我們?yōu)槊總€(gè)流程考慮的選項(xiàng)。綠色框表示我們對(duì)每個(gè)流程的推薦選項(xiàng)。


你可以用這個(gè)流程圖作為你的第一個(gè)實(shí)驗(yàn)的起點(diǎn),因?yàn)樗梢宰屇阍诘陀?jì)算成本下獲得良好的準(zhǔn)確度。你可以在后面的迭代中繼續(xù)改進(jìn)初始模型。


文本分類流程圖(點(diǎn)擊可放大查看)


此流程圖回答了兩個(gè)關(guān)鍵問(wèn)題:

  1. 我們應(yīng)該使用哪種學(xué)習(xí)算法或模型? 

  2. 我們應(yīng)該如何準(zhǔn)備數(shù)據(jù),才能有效地學(xué)習(xí)文本和標(biāo)簽之間的關(guān)系?

 

第二個(gè)問(wèn)題的答案取決于第一個(gè)問(wèn)題的答案;我們預(yù)處理數(shù)據(jù)的方式將取決于我們選擇的模型。模型可以大致分為兩類:使用單詞排序信息的模型(序列模型),以及僅將文本視為單詞的“bags”(sets)的模型(n-gram模型)。


序列模型包括卷積神經(jīng)網(wǎng)絡(luò)(CNN),遞歸神經(jīng)網(wǎng)絡(luò)(RNN)及其變體。 n-gram模型包括邏輯回歸,簡(jiǎn)單多層感知機(jī)(MLP或全連接神經(jīng)網(wǎng)絡(luò)),梯度提升樹(shù)( gradient boosted trees)和支持向量機(jī)(SVM)。


在實(shí)驗(yàn)中,我們觀察到“樣本數(shù)”(S)與“每個(gè)樣本的單詞數(shù)”(W)的比率與模型的性能具有相關(guān)性。

 

當(dāng)該比率的值很小(<>時(shí),以n-gram作為輸入的小型多層感知機(jī)(選項(xiàng)A)表現(xiàn)得更好,或者說(shuō)至少與序列模型一樣好。 MLP易于定義和理解,而且比序列模型花費(fèi)的計(jì)算時(shí)間更少。


當(dāng)此比率的值很大(> = 1500)時(shí),我們就使用序列模型(選項(xiàng)B)。在接下來(lái)的步驟中,你可以根據(jù)這個(gè)比率值的大小,直接閱讀所選模型的相關(guān)章節(jié)。

 

對(duì)于我們的IMDb評(píng)論數(shù)據(jù)集,樣本數(shù)/每個(gè)樣本的單詞數(shù)的比值在144以下。這意味著我們將創(chuàng)建一個(gè)MLP模型。


步驟3:準(zhǔn)備數(shù)據(jù)

  • N-gram向量[選項(xiàng)A]

  • 序列向量[選項(xiàng)B]

  • 標(biāo)簽的向量化

 

步驟4:構(gòu)建,訓(xùn)練和評(píng)估模型

  • 構(gòu)建最后一層

  • 構(gòu)建n-gram模型[選項(xiàng)A]

  • 構(gòu)建序列模型[選項(xiàng)B]

  • 訓(xùn)練模型

  

步驟5:調(diào)優(yōu)超參數(shù)

 

步驟6:部署模型


結(jié)論

 

文本分類是機(jī)器學(xué)習(xí)中的基本問(wèn)題,在各種產(chǎn)品應(yīng)用中均有涉及。在本指南中,我們將文本分類的workflow分解為幾個(gè)步驟。對(duì)于每個(gè)步驟,我們都根據(jù)特定數(shù)據(jù)集的特征,建議自定義的實(shí)現(xiàn)方法。尤其是,我們根據(jù)樣本數(shù)量與每個(gè)樣本中的單詞數(shù)量的比值,來(lái)建議你使用哪一種模型,從而能夠更快地讓模型接近最佳性能。其他的步驟都是基于模型選擇這個(gè)步驟的。遵循這個(gè)指南中的建議,參考附錄中的代碼和流程圖將有助于你的學(xué)習(xí)和理解,并快速獲取文本分類問(wèn)題的解決方案。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多