2016-04-20 59 views
4

我正在構建聊天機器人,我是NLP的新手。構建您自己的NLP API

(api.ai & AlchemyAPI是我的使用情況過於昂貴,而且wit.ai似乎是車和目前不斷變化的。)

對於NLP專家,怎麼能輕易複製我自己的服務本地?

我的願景至今(與節點,但開到Python):通過NodeNatural的LogisticRegressionClassifier通過StanfordNER

  • 實體提取
  • 意圖
  • 與文字培訓UI和驗證/無效按鈕(任何預建這個工具嗎?)

實體和意圖我只需要一個聊天機器人嗎? NodeNatural/StanfordNER與NLP-as-a-service相比有多好?我沒有看到什麼令人頭疼的事情?

+1

你幾乎回答了你自己的問題:如果你提到的那些API太昂貴,它們很可能提供了不易實現的功能(至少是最佳的)。但是,您可能不需要它們提供的所有功能。最後,爲什麼不使用開源的Python NLP庫,即http://www.nltk.org/ ?? –

+0

@威廉,是的,我喜歡nltk。但作爲一般聊天機器人和NLP的新手,我想知道我在做什麼。我的樂觀情緒是「哦,好吧,我只會使用一些nltk模塊,晚餐就可以完成!」我必須錯過一些東西,我想知道具體是什麼。 – Kyle

回答

2

你似乎已經完成了你的家庭作業。就像你說的,下面的事情會幫助你前進的道路上,

  • 任何分類算法識別的意圖,如sklearn的LinearSVC或邏輯迴歸分類
  • 任何好的NER工具,如StanfordNER或CRFsuite。 CRFsuite易於使用稱爲pycffsuite的pthon包裝。
  • 一種情感分析工具,用於更像人類的對話。 它更好,如果你去與python,因爲python有很多免費的圖書館相同。

只有服務,如wit.ai或api.ai的好處是他們的大量的培訓就可以使用意圖和models.You也將能才達到類似的準確性,如果你能提供的培訓體面量你的機器人。

如果你建立在一些現有的開源庫上,而不是從頭開始構建所有東西,那更好。 請在github上的check my opensource project爲wit.ai/api.ai類似的界面。 快樂編碼!

0

看一看Luis.ai(來自Microsoft)。它將幫助您建立識別意圖的自然Langauge模型。您可以將意圖映射到操作。它允許您包含預先配置的NLP模型,以便您的機器人可以解密文本並返回實體(名稱,時間,地理等),Luis支持多種語言。你當然可以添加你自己的實體。

然後你用話語訓練它。當用戶與您的機器人通話時,這些話語會在線存儲,而Luis.ai會建議您添加一些通過其建議功能進一步優化您的模型(這允許在不編碼的情況下進行漸進式改進)。現在編碼的東西...

訪問Luis.ai,當你建立你的模型(免費),你可以通過測試控制檯在這裏測試它:https://dev.projectoxford.ai/docs/services,然後你可以使用他們的Bot框架;但是我正在JQuery/Bootstrap中構建我自己的(看看這裏看看我在這裏構建的是什麼http://onlinebotbuilder.com),然後通過發佈到Cognitive Services API(您將在Python中完成)從服務器處理json。目前他們每月允許10k話語;這對於測試是很多的。提示:創建模型時,首先需要2個意圖並訓練模型以識別這些模型。保持簡單,然後隨時擴大範圍。希望這可以幫助。