點擊上方「MLNLP」,選擇「星標」公眾號
重磅乾貨,第一時間送達
推薦一下騰訊的開源NLP項目:NeuralNLP-NeuralClassifier
NeuralClassifier: An Open-source Neural Hierarchical Multi-label Text Classification Toolkit
Github連結,點擊閱讀原文可以直達:
https://github.com/Tencent/NeuralNLP-NeuralClassifier
以下是來自騰訊開源的官方報導。
NeuralNLP是騰訊廣告(Tencent Marketing Solution,TMS)(https://e.qq.com/)數據算法團隊搭建的一個基於PyTorch的深度學習NLP公共實驗平臺,主要涵蓋文本分類、序列標註、語義匹配、BERT微調和文本生成等,目前已經廣泛應用於騰訊廣告業務文本相關的需求場景中,如廣告定向、相關性計算、LookAlike、動態創意、點擊率/轉化率預估等。
NeuralClassifier是NeuralNLP的一個子項目,是一款基於PyTorch開發的深度學習文本分類工具。NeuralClassifier旨在通過良好的架構設計,集成業界主流的文本分類模型和各種優化機制,支持儘可能廣泛的文本分類任務,如多標籤分類,層次分類等,並方便用戶在工具基礎上自定義模型和進行更靈活的擴展。
NeuralClassifier的功能匯總如下:
支持大部分的分類任務:二分類、多分類、多標籤分類、層次分類
支持眾多模型:主流模型如FastText、TextCNN、TextRNN(Bi-GRU/LSTM)等,還支持最新的state-of-the-art模型,如VDCNN、DPCNN、Region Embedding、AttentiveConvNet、DRNN、Transformer等,並方便支持用戶自定義模型結構
支持主流機制,如Attention、Pre-trained embedding等
支持數據輸入的多線程加速讀取、變長和定長輸入、詞和字符級輸入、自定義輸入等
支持多種損失函數,如Softmax/Sigmoid交叉熵、Focal Loss等
NeuralClassifier的一個特色是提供了對於層次多標籤分類(Hierarchical Multi-label Classification, HMC)任務的支持,同時集成了非常多的文本分類模型。層次多標籤分類的神經網絡模型目前業界還主要針對特定的模型結構,並沒有集成到一起的比較好用的工具。與業界層次多標籤分類工具對比情況如下表所示。
NeuralClassifier採用分層的架構設計,從下到上依次為:input layer、embedding layer、encoder layer、output layer。input層負責讀取文本輸入並做格式處理,embedding層對文本進行embedding處理,並在encoder層進行編碼表示。output層負責對encoder層輸出的信息做基於目標分類任務的轉換,如二分類、多分類、層次分類等。用戶可以通過一個配置文件方便的配置不同層的各種模型和Features。
我們選取了業界主流的兩個層次多標籤分類數據集:RCV1和Yelp,並在其上對比了和SOTA的效果,結果表明根據NeuralClassifier提供的豐富模型和Features,可以取得和SOTA相當的效果。此外,我們還對比了NeuralClassifier提供的不同的文本分類模型(Text encoder)的效果,以及層次分類和普通單層分類的效果。
0. Dataset
1. Compare with SOTA
HR-DGCNN (Peng et al., 2018)
HMCN (Wehrmann et al., 2018)
2. Different text encoders
3. Hierarchical vs Flat
我們期望NeuralClassifier工具能夠幫助業界的同仁快速的搭建深度學習文本分類應用,也希望我們實現的功能,尤其是對於多標籤分類和層次分類,能夠有助於業界相關領域的應用。深度學習的自然語言處理技術發展非常迅速,神經網絡的模型和實現方式也很靈活,NeuralClassifier期待大家共同完善。
NeuralClassifier詳細的介紹也可以參考我們發表在ACL2019的System demonstration paper: NeuralClassifier: An Open-source Neural Hierarchical Multi-label Text Classification Toolkit.
NeuralClassifier 正式開源
Github 開源地址:
https://github.com/Tencent/NeuralNLP-NeuralClassifier
(點擊文末閱讀原文直接訪問)
請給 NeuralClassifier一個 Star !
歡迎提出你的 issue 和 PR!
NeuralClassifier 國內鏡像地址:
https://git.code.tencent.com/Tencent_Open_Source/NeuralNLP-NeuralClassifier
騰訊工蜂源碼系統為開源開發者提供完整、最新的騰訊開源項目國內鏡像