CNN_Intent_Classification
1.0.0
這是使用 CNN 進行句子分類任務的 Keras 實作。
上述任務的資料集來自自然語言理解基準項目
用於訓練的文字分為六個類別,分別是 AddToPlaylist、BookRestaurant、GetWeather、RateBook、SearchCreativeWork、SearchScreeningEvent,每個類別都有近 2000 個句子。
若要準備資料集,請從主項目的目錄中開啟終端並輸入:
$ python prepare_data.py
檢查 Intent_Classification_Keras_Glove.ipynb 的模型建構和訓練部分。以下是模型概述。
儘管 LSTM 和 GRU 等 RNN 廣泛用於語言建模任務,但事實證明,由於訓練時的資料並行化,CNN 的訓練速度相當快,並且比 LSTM 給出更好的結果。以下是解決句子分類的不同方法之間的簡要比較,可以看出 TextCNN 給出了最好的結果,並且訓練速度更快。在常規 i7 CPU 上進行訓練時,我能夠在 3 個 epoch 後的一分鐘內實現訓練和驗證資料集的 99% 準確率。
意圖分類和命名實體識別是製作目標導向的聊天機器人時最重要的兩個部分。
有許多用於製作聊天機器人的開源 python 包,Rasa 就是其中之一。 Rasa 的一個很酷的事情是,堆疊的每個部分都是完全可自訂的並且可以輕鬆互換。雖然 Rasa 對意圖分類任務有出色的內建支持,但我們也可以為該任務指定我們自己的模型,請查看處理管道以獲取更多資訊。
在 Keras 模型中使用預先訓練的字詞嵌入
用於句子分類的捲積神經網絡
用於句子分類的捲積神經網路的敏感度分析(和從業者指南)
用於序列建模的通用卷積和循環網路的實證評估