在訓練模型這一步,您不需要關心任何模型的實現細節,只要選擇相應的模型就好了。這也是我們 NLP 自學習平臺的初衷,即幫助用戶快速搭建一套解決問題的算法模型,用戶只需關心模型的輸入輸出就好了。進入到模型中心,然后點擊創建模型:
在模型類型這里,我們提供了多種模型供選擇,我們無法承諾一種模型一定比另一種模型要好,這跟具體的場景有關系。每種模型的詳細說明可以見下文。除此之外,如果我們還包含有高級設置,可以對模型訓練的過程進行調整。如下圖所示:
遍歷次數可以控制模型的訓練時間,如果想盡快訓練完,可以將此參數調小,但是通常效果也會下降。需要注意的是,并不是模型訓練時間越長越好,所以沒有必要把該參數設置為超過 30 的值。學習速率這個參數建議在 0.001~0.0001 之間調整,每一次不同的參數訓練,模型的最終效果會有所不同,建議多試幾個,選擇最適合的模型。
訓練時間說明
模型的訓練時間受到好幾方面的影響,比如所選的模型架構,設置的遍歷次數,還有數據量的大小等。
對于模型架構,fasttext < CNN <= Self-Attention<= 長文本分類融合模型。遍歷次數一般與訓練時間成正比,也就是說 10 次的時間會是 5 次的兩倍。為了節省用戶時間,同時防止用戶設置過大的遍歷次數,我們內部內置了 earlystop 功能。具體的,模型在連續三次遍歷的過程中效果都沒有超過之前的結果就會自動停止。也就是說,雖然您設置的遍歷次數是 30 次,但是可能在15 次的時候就停止了。
對于數據量大小,一般與訓練時間成正比,數據量越多,訓練時間越長。如果您希望很快看到結果,可以先嘗試用一小部分數據進行訓練,把所有流程跑通后,再用全量數據進行訓練。
模型評估
對于分類模型的評估我們提供了精確率(Precision),召回率(Recall),F1 值。這三個值的取值范圍都在 0~1 之間。簡單來說,這三個值越大說明模型的性能越好。0 表示模型對于所有的預測都全部出錯,1 表示模型對于所有的預測都全部準確。在NLP自學習平臺中,既提供整體的指標,也提供分類別的評價指標。具體來講:
精確率(P):對某一類別而言為正確預測為該類別的樣本數與預測為該類別的總樣本數之比。對于整體而言為正確預測的樣本數與預測的總樣本數之比。
召回率(R):對某一類別而言為正確預測為該類別的樣本數與該類別的總樣本數之比,對于整體而言為正確預測的樣本數與所有類別的總樣本數之比。
F1 值:F1 值為精確率和召回率的調和平均數,值越大越好。
如果您的分類問題為單標簽分類問題(即每一個樣本都只有一個標簽與之相對應),這時“預測的總樣本數”與“所有類別的總樣本數”是一樣的,所以整體的精確率和召回率是一樣的,導致 F1 值也跟精確率和召回率一樣。如果您的分類問題為多標簽分類問題,“預測的總樣本數”與“所有類別的總樣本數”可能不一樣,所以精確率,召回率和F1 值就不一樣。