構建自己的NLU平臺(一)

nlu.png

NLU(自然語言理解)系統(tǒng)是任何現代語音系統(tǒng)的最關鍵模塊。如上圖nlu.png所示,第二部分NLP Tool就是我們這篇文章要討論的,我們這里不討論NLU和NLP的區(qū)別,都以NLU指代。

NLU的輸入輸出

  1. 輸入是一段人類語言文本,如上圖1模塊所示
  2. 輸出是一段結構化數據(json/xml etc.),如上圖模塊3所示。主要包含意圖(Intent)和實體(Entities)的抽取結果

NLU服務提供商

正如上圖模塊2所指示,現在很多服務以Restful API和SDK形式向外提供服務。

  • 國外:

    1. Dialogflow 也就是改名前的API.ai (被Google收購的公司)
    2. Wit.ai (被Facebook收購的公司)
    3. LUIS (微軟的服務)
  • 國內:

    1. UNIT (Baidu服務)
    2. DUI (思必馳服務)

筆者用過Dialogflow做英文,也是支持中文,但是服務國內可能被墻;使用過UNIT做中文;同時了解過其他幾個,給出建議是:

  • 英文用Dialogflow,免費好用
  • 中文可以直接試試DUI,思必馳的這個開放比較晚,更接近Dialogflow的感覺,UNIT對于需要大規(guī)模自己訓練內容的領域來說,泛化效果一般
  • 當然,大家自己都可以試試,有好的結果還望相互交流

自己搭建NLU平臺的原因

  1. 數據敏感
    因為前面提到過的平臺都是需要將數據上傳訓練才能獲得服務,對于數據敏感的需求,顯然不能滿足。
  2. 領域效果差
    開放平臺都是通用NLU平臺,各個公司的不收費還愿意提供服務的原因就是想要更多的數據上傳來訓練自己的模型,那么你們業(yè)務所在領域的模塊如果是重要的模型,這些平臺不一定開放已經訓練好的模型。那么結果就是你自己需要大量的訓練。
  3. 本地支持
    如果你還需要本地NLU,而不僅僅是聯網NLU,顯然也不符合要求。

開源NLU引擎選擇

NLU是一個巨大的輪子,沒有足夠的資源自己是搞不起的,尋找開源方案是最快速實現商業(yè)模式的方法,目前找到兩家:

  1. Rasa nlu
    • 開源時間長,社區(qū)稍微活躍
    • 官方還不支持中文,但是有童鞋已經搭建了中文版,引用并感謝
    • 支持本地部署,但是是python程序,各種平臺得自己解決,比如android, ios等等
  2. Snips nlu
    • 剛剛開源
    • 官方不支持中文,也沒有童鞋搞過中文版
    • 支持本地部署,而且跨平臺支持,是Rust實現

所以結論

本人NLU小白,想要快速達到效果并可實現,得站在巨人肩膀。所以計劃如下:

  • 基于Rasa nlu來實現
  • 密切關注Snips nlu
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 用到的組件 1、通過CocoaPods安裝 2、第三方類庫安裝 3、第三方服務 友盟社會化分享組件 友盟用戶反饋 ...
    SunnyLeong閱讀 15,191評論 1 180
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,040評論 25 709
  • 問:簡單談談你對 HashSet 原理的認識? 答:HashSet 在存元素時會調用對象的 hashCode 方法...
    Little丶Jerry閱讀 306評論 0 0
  • 在那樣一個緯度上,有這樣一所房子,每天都可以把腳丫踩進溫熱細軟的白沙里,帶著只巧克力色的拉布拉多踩一排大小不一的腳...
    大王老師的日記閱讀 361評論 0 1
  • 文I秋曉 (1) 剛畢業(yè)那會,進入一家貿易公司工作,說是朝九晚五,但是因為各國時差的關系所以常常晚上九十點鐘還泡在...
    慕容秋曉閱讀 3,105評論 16 16

友情鏈接更多精彩內容