天天看點

微信小程式——智能小秘“遙知之”(語義了解基于olami,源碼見原文連結,PC端打開)

微信小程式智能生活小秘書開發詳解

>>>>>>>>>>>>>>>>>>>>>>>> 歡迎轉載 <<<<<<<<<<<<<<<<<<<<<<<<

本文原位址:http://blog.csdn.net/happycxz/article/details/75432928

“遙知之”微信小程式全部源碼打包下載下傳:http://download.csdn.net/download/happycxz/9919690

實作功能

實作一個智能生活資訊查詢的小秘書功能,支援查天氣、新聞、月曆、匯率、笑話、故事、百科、詩詞、郵編、區号、菜單、股票、節目預告,還支援閑聊、算24點、數學計算、機關換算、購物、搜尋等功能。

使用方式上支援搖一搖、點界面按鈕、手動輸入這三種方式。

掃碼試用(左右皆可)

微信小程式——智能小秘“遙知之”(語義了解基于olami,源碼見原文連結,PC端打開)
微信小程式——智能小秘“遙知之”(語義了解基于olami,源碼見原文連結,PC端打開)

界面展示

微信小程式——智能小秘“遙知之”(語義了解基于olami,源碼見原文連結,PC端打開)

開發資源

  1. 免費開放語義接口平台 olami.ai
  2. 微信小程式平台
  3. js, css

源碼分析

微信小程式——智能小秘“遙知之”(語義了解基于olami,源碼見原文連結,PC端打開)

基本延用官方案例的目錄結構和命名,index.xx是首頁面相關代碼,logs.xx是日志頁相關代碼。

比官方目錄結構多了兩個檔案:

  1. config.js

    因為用到一些配置,放在.js裡封裝起來比較好。

  2. pics/bg.jpg

    小程式背景圖檔,開發環境上加載本地檔案作為背景圖檔是生效的,預覽體驗時不生效,網上有人說不支援本地檔案,是以這裡這個圖檔其實沒有用到,隻是暫時留着。

小程式根目錄檔案:app.js, app.json, app.wxss, config.js

app.js

提供擷取使用者微信賬号昵稱和所在地,擷取目前地理位置這兩個公共接口。

app.json

配置小程式窗體相關屬性:标題名稱,背景色,網絡逾時等。

配置首頁面為pages/index/index。

app.wxss

配置了“遙知之”小程式container全局樣式

配置檔案:config.js

儲存一些配置資訊,包括NLI的key和secret,還有小程式中預置的語料集合。

utils目錄檔案:GUID.js, MD5.js, NLI.js, util.js

擷取随機GUID:GUID.js

計算MD5值:MD5.js

olami免費開放語義平台NLI接口封裝:NLI.js

其它utils:util.js

page/logs頁面:logs.js, logs.json, logs.wxml, logs.wxss

logs.js

logs.json

logs.wxml

logs.wxss

page/index頁面:index.js, index.json, index.wxml, index.wxss

index.js

index.json

首頁延用app.json中的配置,不需要單獨的配置,是以這個檔案為空。

index.wxml

這個是首頁的h5布局。

index.wxss

首頁用到的一些樣式,以及配置首頁背景圖檔。

olami平台資源配置

,在配置上稍微有些不同,下面我會重點說明一下。

  1. 用上次注冊的賬号,在olami.ai上登入。
  2. 選擇“API&解決方案”中的“NLI 自然語言語義互動管理系統”,然後點“開始免費試用”進入應用配置界面。
  3. 生成一個新的應用,比如取名“遙知之NLI能力”
  4. 點“配置子產品”進去,會有兩個标簽頁:

    a. “NLI子產品”:我之前做過一個匯率換算的小DEMO 用olami開放語義平台做匯率換算應用 用的是使用“NLI子產品”的功能,其實就是語義接口。

    b. “對話系統子產品”:這次做“遙知之”微信小程式,用的是他們平台的“處理結果”的能力,就是對應“對話系統子產品”這裡。

    注:有些朋友估計會有點弄不清楚,這裡我舉個例子,比如“今天上海的天氣如何”這一句話:應用配置在“NLI子產品”裡勾天氣相對應的子產品,接口會傳回這一句話的意思“今天,上海,查天氣”; 應用配置在“對話系統子產品”裡勾“weather”,接口傳回的就是今天上海天氣的查詢結果。

    好了,弄明白上述兩塊,接下來就知道,這次我做的“遙知之”全是要結果輸出的,是以把“對話系統子產品”中所有的功能子產品全勾選上了,後面有配置優先級的,優先級是用來處理語義沖突時仲裁哪個子產品優先的,我都沒有動,直接用預設值,根據提示:數值越小優先級越高,1000是優先級最高。

  5. “遙知之NLI能力”應用中,點選“檢視Key”可以擷取調用OLAMI開放語義平台的授權密鑰,包括“App Key”和“App Secret”。 這兩個碼,對應小程式源碼中的“config.js”中的“appkey”和“appsecret”。
  6. “遙知之NLI能力”應用中有個“測試”,需要的話,可點進去輸入一些句子測輸出結果(注:這裡是NLI接口輸出的一部分)。

>>>>>>>>>>>>>>>>>>>>>>>> 歡迎轉載 <<<<<<<<<<<<<<<<<<<<<<<<

本文原位址:http://blog.csdn.net/happycxz/article/details/75432928

“遙知之”微信小程式全部源碼打包下載下傳:http://download.csdn.net/download/happycxz/9919690

寫在最後

這次做微信小程式,是邊摸索邊做,JS和CSS基本是邊改邊學,好在微信小程式架構清晰,接口文檔全,另外olami平台之前做 用olami開放語義平台做匯率換算應用 時接觸過,是以總體來講還算順利。

另外這裡特意推薦一下跟自然語言了解相關的比較不錯的文章:

根據OLAMI平台開發的月曆Demo

用olami開放語義平台做匯率換算應用

自然語言處理-實際開發:用語義開放平台olami寫一個翻譯的應用

自定義java.awt.Canvas—趣味聊天

微信小程式+OLAMI自然語言API接口制作智能查詢工具–快遞、聊天、月曆等

熱門自然語言了解和語音API開發平台對比

使用OLAMI SDK和訊飛語音合成制作一個語音回複的短信小助手

微信小程式——智能小秘“遙知之”源碼分享(語義了解基于olami)