GluonNLP讓NPL變得更加簡單
- 2019 年 10 月 6 日
- 筆記
之前我們講過NPL(自然語言處理),使用的是NLTK這樣一個包,現在呢,我們又有了新的法寶—-GluonNPL。在做自然語言處理上能幫我們提升不少效率。
GluonNLP提供了NLP中最先進的(SOTA)深度學習模型的實現,並為文本數據管道和模型構建塊。它是為工程師,研究人員和學生設計的,以快速原型研究想法和產品基於這些模型。這個工具包提供了三個主要特性:
1、訓練腳本複製SOTA結果報告在研究論文。
2、針對普通NLP任務的預訓練模型。
3、精心設計的api大大降低了實現的複雜性。
安裝:
pip install --pre --upgrade mxnet
pip install gluonnlp
在安裝gluonnlp之前需要安裝mxnet的依賴。
筆者在本地沒有GPU的環境,就借用了Google的COLAB來試了一下。
COLAB地址:
https://colab.research.google.com/drive/1YLVDj7DLuEMjDOJI8rvi-HBveUoEbSnt#scrollTo=a5k2vooFJHKx



安裝完之後我們就可以調用啦!
我們來看一個小小的例子:

比較兩個單詞baby和infant的相似度

我們可以看到輸出的對比結果為0.740
我們可以看看使用gluonnlp是如何搭建評估模型和訓練模型的:
首先導入相應的包:

設置一下環境:

初始化參數:

載入數據集,提取辭彙表,對截斷的BPTT進行數值化和批處理

載入預定義的語言模型:


分離梯度:

評估:

訓練階段:


訓練和評估:

輸出:

在這個示例中,我們看到:GluonNLP Toolkit提供了高級api,可以極大地簡化NLP任務建模的開發過程。低級的NLP api可以輕鬆訂製。