一個智能客服系統,負責全部的開發任務:主要包括前端頁面開發,後臺邏輯設計,中間客服與用戶之間的對話流設計(算法部分),以及系統部署。
- 前端頁面採用vue框架(最近比較火的一個框架,vuejs比較貼合python的風格,所以用起來比較順手);
- 後端採用django,典型的MVT架構,(類似於Android中的MVC,難度比MVP差遠了);
- 對話流主要採用seq2seq模型,包括捕獲用戶意圖、獲取關鍵槽位信息、外部api調用、mrc使用等;
- 系統是部署在阿里雲平臺,採用Ubuntu16.04鏡像,採用nginx,uwsgi做反向代理(裏面填了不少坑)。
- 自建知識庫,採用模糊搜索
其中還有一些細節部分:
- vue組件之間通信,我的解決方案是採用eventbus做監聽,props數據傳遞應該是可以的,但是還沒有時間去學;
- vue前端項目打包給後端,解決跨域通信的問題;
- 前端頁面請求後臺數據,採用axios實現(Ajax也行,不過都用vue了,就不嘗試Ajax了);
- 用戶輸入與客服回答部分,也就是實現對話的效果:通過前端與後臺建立長連接,用WebSocket實現;
- 數據庫用MySql,如果要提升搜索效果後面可以嘗試一下ElasticSearch或者用圖數據庫neo4j試試;
- 一些動畫的展示等。
記錄一下整體的開發過程,系統還在完善中,預計還得開發一個月。