小程序模板網(wǎng)

微信小程序+OLAMI自然語言API接口制作智能查詢工具--快遞、聊天、日歷等 ... .

發(fā)布時(shí)間:2018-04-21 10:09 所屬欄目:小程序開發(fā)教程

微信小程序最近比較熱門,再加上自然語義理解也越來越被人關(guān)注,于是我想趕趕潮流,做一個(gè)小程序試試。想來想去快遞查詢應(yīng)該是一種比較普遍的需求。

     如果你也在通過自然語言接口做點(diǎn)什么,希望我的這篇博客能幫到你。感興趣的朋友可以加入互通有無?;蛘吣阋部梢灾苯酉螺d代碼試一試。

     

 

----------代碼下載:-------------

GitHub代碼下載

CSDN代碼下載


 

----------------功能介紹: 我的小程序名字叫“智能生活寶”------------------------

1. 通過自然語言對(duì)話查詢

     現(xiàn)在在微信里,如果你參加一個(gè)什么活動(dòng),一般都是在輸入框里寫上關(guān)鍵字或者數(shù)字,這樣才能獲取你所需要的服務(wù)。而通過自然語言接口,可以讓用戶像跟人對(duì)話一樣和你的小程序?qū)υ?。比如?/p>

    我要查快遞,幫我查一下快遞,查快遞122343,甚至直接輸入快遞運(yùn)單號(hào),小程序就能做出相應(yīng)的回應(yīng)。

2. 多功能查詢

   目前支持快遞查詢,聊天,日歷查詢,菜譜查詢,講笑話,講故事,計(jì)算,算24點(diǎn)功能。

原本我只是準(zhǔn)備支持快遞查詢功能,后來發(fā)現(xiàn)OLAMI開放平臺(tái)有許多內(nèi)置的模塊,于是也順便添加了一下。

 

 

----------------功能展示:------------------------------------------------------------------------

1. 快遞查詢頁面如下圖所示,只要在下方的輸入框中輸入查詢句子,就會(huì)在text控件中返回結(jié)果。

也可以點(diǎn)擊“例句”按鈕和“更換例句”按鈕體驗(yàn)一下。

 

   

    

2.  點(diǎn)擊例句后的效果圖,觸摸例句就會(huì)在text控件中看到效果。

 

 

 

 

3.  輸入語句: “查詢中通快遞765325527325”

 

4.  點(diǎn)擊更換例句按鈕可以更換例句

 

 

 

5.   其他模塊體驗(yàn)

     點(diǎn)擊左下角的切換按鈕,會(huì)發(fā)現(xiàn)右下角的查快遞變成了“聊天”

 

   6.  點(diǎn)擊“例句”按鈕,這時(shí)候例句里就是其他模塊的例句了。

     

 

 

 

7.  同樣可以通過“更換例句”按鈕進(jìn)行例句更換

 

8.  查日期

 

 

 

9. 講笑話

 

 

 

 

10.  查菜譜

 

 

----------------開發(fā)步驟----------------------------------------

1.  微信小程序相關(guān)

     首先要申請(qǐng)一個(gè)微信小程序公眾號(hào),注意不是微信公眾號(hào),然后仔細(xì)閱讀小程序的框架和功能介紹。有些JS的功能小程序里是不能用的。我之前也沒有做過JS,但上起手來感覺還是很快的,幾乎沒有太多阻礙。網(wǎng)上有很多教程,我就不多說了。

    網(wǎng)址: 微信小程序開發(fā)文檔

2. 快遞查詢的API接口

     注意尋找合適的API接口時(shí),要選用支持https的訪問接口,微信小程序目前僅支持https的訪問。

 我選用的是快遞鳥快遞API里面的即使查詢API,因?yàn)槊赓M(fèi)嘛,呵呵。而且每天可以訪問3000次,足夠了。你需要自己注冊(cè),獲取自己的API key和商戶ID。

注意:注冊(cè)之后,需要在自己的賬號(hào)界面申請(qǐng)對(duì)應(yīng)的API接口才能使用,免費(fèi)的也要申請(qǐng)。如下圖所示:

 

 

3.  歐拉蜜(OLAMI)人工智能開發(fā)平臺(tái)

     這個(gè)非常重要,決定了你能支持多少種模塊,多少種句子。畢竟這種接口看起來還是很復(fù)雜的,總結(jié)一下我的心得:

 *  寫語法

    在使用自然語言語義API之前,首先得寫語法,仔細(xì)閱讀語法文檔,這個(gè)很重要。當(dāng)然你也可以登錄進(jìn)去,看看平臺(tái)內(nèi)置的語法是否符合你的要求,如果只是為了測(cè)試,完全可以先導(dǎo)入一個(gè)內(nèi)置的模塊試試。點(diǎn)擊下圖中的“進(jìn)入NLI系統(tǒng)”。

 

 

 

 

進(jìn)入NLI系統(tǒng)之后,點(diǎn)擊“導(dǎo)入”按鈕,既可以看到內(nèi)置模塊,選中添加即可,如下圖所示。每個(gè)模塊的作用可以在NLI 自然語言語義互動(dòng)系統(tǒng) / 內(nèi)置模塊列表看到詳細(xì)描述。

 

    

 

下圖中是我的NLI系統(tǒng),里面有我自己寫的快遞模塊"expressage"和添加了內(nèi)置模塊"music".

 

2...創(chuàng)建應(yīng)用,配置模塊

    寫好語法并發(fā)布之后后,就可以創(chuàng)建自己的應(yīng)用了,并在應(yīng)用里添加模塊即可。我在配置模塊的過程中,發(fā)現(xiàn)OLAMI有內(nèi)置的模塊可以使用,于是我創(chuàng)建了兩個(gè)應(yīng)用,一個(gè)叫查詢工具,用來專門查詢快遞;另一個(gè)叫工具,選了內(nèi)置的模塊。

    為什么我沒有將這些應(yīng)用放在一起呢?因?yàn)槲业目爝f模塊語法中有一個(gè)會(huì)抓整個(gè)句子,導(dǎo)致內(nèi)置模塊無法正常工作。

    你如果想驗(yàn)證自己的功能是否可用,可以點(diǎn)“測(cè)試”按鈕測(cè)試一下看看。

 

快遞應(yīng)用配置:

 

   

其他查詢應(yīng)用配置(這個(gè)語法完全不用自己寫,還有對(duì)應(yīng)的輸出結(jié)果,很好用):

    

           

   應(yīng)用創(chuàng)建好之后,你就可以查看OLAMI分配給你的Key信息,這可是訪問API接口的必備信息。

     

    3.  訪問API

           如果你在你的應(yīng)用中測(cè)試結(jié)果很滿意,也就是你要捕獲的句子都支持,那么就可以嘗試調(diào)用API了。然后分析API的結(jié)果,做出對(duì)應(yīng)的回應(yīng)。

比如我的快遞查詢APP的語法通過modifier支持的四種功能,如下表所示:

      

modifier含義
modifier

含義
 
例句
query 輸入的句子只是說要查快遞,沒有提供快遞公司名稱和運(yùn)單號(hào) 我要查快遞
查一下快
幫我查查快遞唄
query_num 輸入的句子中提供了運(yùn)單號(hào) 12112311111
查一下運(yùn)單號(hào)是123423的快遞
query_name 輸入的句子中提供了快遞公司名稱 我想查圓通快
看一下申通快遞
query_name_num 輸入的句子中提供了運(yùn)單編號(hào)和快遞公司名稱 查申通快遞1122333

 

我的語法中僅涉及了兩個(gè)關(guān)鍵信息,即兩個(gè)slot,“expnumber”抓取快遞單號(hào),'expname'用來抓取快遞公司的名稱。

 

因此當(dāng)OLAMI 的API接口返回語法信息之后,我只需要根據(jù)modifier的值就可以做出對(duì)應(yīng)的操作,而使用slot的值去快遞鳥的API接口查詢快遞信息。

我的快遞APP功能邏輯如下:

* 如果僅提供運(yùn)單號(hào),則先用運(yùn)單號(hào)查詢快遞公司編號(hào),如果快遞公司編號(hào)有一個(gè),則直接用運(yùn)單號(hào)和公司編號(hào)查物流信息。

  如果有多個(gè),則請(qǐng)用戶選擇快遞公司。

* 如果提供運(yùn)單號(hào)和快遞公司,則直接調(diào)用運(yùn)單號(hào)+快遞code接口查詢。

* 如果僅提供快遞公司名稱,則記錄并查詢對(duì)應(yīng)快遞公司code,并請(qǐng)用戶提供運(yùn)單編號(hào)。

 

其他的查詢功能,因?yàn)橛玫氖莾?nèi)置模塊,直接就有回復(fù),不需要我再去調(diào)用其他接口,直接顯示即可,很有意思。

 

----------代碼下載:-------------

CSDN代碼下載


本文地址:http://22321a.com/wxmini/doc/course/23870.html 復(fù)制鏈接 如需定制請(qǐng)聯(lián)系易優(yōu)客服咨詢:800182392 點(diǎn)擊咨詢
QQ在線咨詢