• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      大學新生小助手Android APP設計與開發(fā)

      2019-10-08 09:03聶沖陳波鄭媛
      軟件 2019年2期

      聶沖 陳波 鄭媛

      摘? 要: 為了幫助大學新生更快適應校園生活,解決新生對校園信息了解的及時性,真實性等問題,本文設計實現(xiàn)了一個大學新生小助手Android APP。介紹了基于安卓平臺的APP開發(fā)和與用戶深度交互技術,以及結合百度UNIT平臺獲取用戶意圖,實現(xiàn)各類常見問題的解答。該Android APP能夠實現(xiàn)自主學習,準確地理解用戶的意圖并給出準確的回復。

      關鍵詞: Android;百度UNIT;智能聊天

      【Abstract】: In order to help freshmen adapt to campus life faster and solve the problems of timeliness and authenticity of freshmen's understanding of campus information, this paper designs and implements Android APP, a freshman assistant. It introduces the development of APP based on Android platform and the technology of deep interaction with users, as well as the acquisition of user intentions with Baidu UNIT platform. Realize the answers to all kinds of common questions. The Android APP can achieve autonomous learning, accurately understand the user's intentions and provide accurate responses.

      【Key words】: Android; Baidu UNIT; Intelligent chat

      0? 引言

      每年新生入學季,各大校園里都充滿了前來報到的新生。新生入學時最關心的事情是諸如宿舍、圖書館怎么走?寄到學校的快遞在什么地方拿?等信息咨詢問題。如何做好新生的服務工作,使新生能夠快速地了解和融入新環(huán)境,成為各高校迫切需要解決的問題[1]。

      為新同學提供信息咨詢服務的傳統(tǒng)方式主要有兩種:一是學院安排學長學姐為新生解答相關的生活咨詢問題;二是學院在微信公眾號上推送一些生活指南的文章。不難發(fā)現(xiàn),這些方式往往是針對一些常見的問題做出解答,很難滿足學生的個性化需求。

      近年來,信息技術高速發(fā)展,移動信息產(chǎn)品正在影響和改變著我們的生活。學生利用手機APP來實現(xiàn)校園生活中的一些操作更加便捷[2],為00后新同學提供入學助手APP成為解決問題的一種途徑。例如,“清華入學助手”小程序[3],其包含了入學住宿、校園導覽、校史典故三大模塊。不過,目前該軟件缺乏與用戶深度交互的能力,僅能查看有限的信息,對于學生個性化查詢需求的理解和支持功能不足。

      為此,本文設計開發(fā)的大學新生小助手Android APP著力提高APP與用戶深度交互的能力,以滿足學生的個性化需求。所謂深度交互能力是指APP能夠通過與用戶的多輪對話確定用戶意圖,而不僅僅是根據(jù)一次問答確定搜索結果。

      1? 相關工作及本文思路

      1.1? 聊天機器人研究現(xiàn)狀

      近幾年,我國移動互聯(lián)網(wǎng)飛速發(fā)展,基于Android平臺的應用軟件也相繼被推出,影響著人類的日常生活,最為顯著的就是“互聯(lián)網(wǎng)+”與智能聊天機器人的結合,為手機用戶提供了全新的體驗[4]。

      本文實現(xiàn)的實際上是一個基于聊天機器人的信息查詢類APP。聊天機器人(Chatterbot)是經(jīng)由對話或文字與用戶進行交談的計算機程序[5]。聊天機器人對于知道答案的問題,往往回答的比較準確,而對于不知道的問題,則通過猜測,轉移話題,或回答不知道的方式給出答案[6]。

      目前,大多數(shù)聊天機器人只會擷取輸入的關鍵字,再從數(shù)據(jù)庫中找尋最合適的應答語句。面向任務型的聊天機器人可以解答用戶的某個問題(如:今天天氣怎么樣、我的快遞到哪兒了)、執(zhí)行用戶指令(如:去給我把咖啡端過來),甚至通過一系列交互引導用戶達成某項需求(如:通過注冊-選座-下單完成訂票)[7]。準確地進行語義分析和上下文相關文法分析,理解自然語言一直是聊天機器人需要解決的難題[8]。

      1.2? 相關開發(fā)平臺的對比

      目前市面上聊天機器人開發(fā)平臺中使用較為廣泛的有圖靈機器人[9]。利用該平臺,開發(fā)者可快速為自己的產(chǎn)品接入一款具備個性化身份屬性特征、滿足不同場景的聊天機器人,實現(xiàn)產(chǎn)品的對話式交互。

      目前,圖靈機器人還缺乏與用戶深度交互的能力,且對于問題的格式有比較嚴格的要求。用戶向聊天機器人提出的問題中可能不包含得出答案的所有關鍵信息,這時聊天機器人還要向用戶詢問這些關鍵信息(比如在訂火車票場景中,要使聊天機器人根據(jù)用戶的問題為用戶訂到火車票,需要出發(fā)時間,出發(fā)地點和目的地三個關鍵信息。用戶的問題可能只是“幫我訂張明天的火車票”,這時具備深度交互能力的聊天機器人還要追問用戶出發(fā)時間和目的地),這樣的問題一般的聊天機器人就無法回答了。

      百度理解與交互技術平臺UNIT則能實現(xiàn)多輪對話功能。想要實現(xiàn)多輪對話,每輪對話都需將上輪對話的一部分信息和本輪對話封裝在一起提交給UNIT,UNIT根據(jù)這些信息分析出是否含有得出答案的所有關鍵信息。如果有,則返回答案,如果沒有則繼續(xù)詢問缺失的關鍵信息,一直到得出所有關鍵信息并給出答案為止。

      1.3? 本文思路

      聊天機器人的基礎功能是實現(xiàn)人機對話智能化,通過“訓練”,實現(xiàn)機器對個人服務不斷優(yōu)化[10]。

      本文將百度UNIT平臺接入Android APP中,在APP中編寫界面并實現(xiàn)消息的發(fā)送和接收,UNIT平臺基于用戶輸入的文本內容,返回BOT(一個BOT對應一個場景下獨立完整的對話系統(tǒng))理解與應答的信息。

      通過API接入的方式,導入大量的語料進行訓練,并且還可以不斷自我訓練,對用戶意圖的判斷會越來越準,最終準確理解用戶意圖。

      2? 開發(fā)環(huán)境搭建

      2.1? Android Studio安裝與環(huán)境配置

      首先在谷歌官網(wǎng)上下載Android Studio的安裝包并完成安裝。Android Studio作為安卓應用的開發(fā)環(huán)境,仍依賴于JDK、SDK和NDK。

      2.2? APP的通訊機制

      安卓APP為開發(fā)者提供了訪問網(wǎng)絡的接口,當用戶需要向服務器發(fā)送數(shù)據(jù)時,一般將數(shù)據(jù)封裝成JSON數(shù)據(jù)包在網(wǎng)絡上傳輸。當用戶向APP發(fā)送消息時,實際上這條消息首先在本地封裝成JSON數(shù)據(jù)包,再使用HttpUrlConnection發(fā)送到服務器端,在服務器解析完JSON數(shù)據(jù)包時,再發(fā)送JSON格式的響應結果給本地APP,APP解析出有效信息后顯示在聊天界面上。

      2.3? 軟件開發(fā)環(huán)境

      (1)硬件環(huán)境

      Intel? CoreTM i5 CPU 4.4GHz,Windows10家庭版64位,8G內存,250GB硬盤。

      (2)軟件環(huán)境

      裝有Android Studio的Windows系統(tǒng)。

      (3)開發(fā)語言

      JAVA開發(fā)工具JDK1.8。

      3? 軟件架構設計與實現(xiàn)

      3.1? 軟件架構設計

      基于安卓平臺開發(fā)的新生小助手APP軟件架構如圖1所示。

      軟件功能主要由地點查詢、生活服務和其他服務三個功能組成,具體包括:

      (1)地點查詢:本文開發(fā)的新生小助手以南京

      師范大學的地點為數(shù)據(jù)來源,能夠回回答學校的絕大多數(shù)地點查詢,例如圖書館、超市和教室,還能夠根據(jù)學生的年級和專業(yè)回答學生所住的宿舍。

      (2)生活服務:生活服務最有用的功能就是快遞點查詢,目前大學生更樂意在網(wǎng)上購物,每個大學都會設置好幾個快遞點,新生小助手會根據(jù)學生當前地點快速給出取快遞路線,幫助學生快速拿到快遞。

      (3)其他服務:主要是與用戶進行日常聊天等,是用戶休閑娛樂的助手。

      3.2? 軟件實現(xiàn)

      3.2.1 聊天界面制作

      在android studio中新建一個工程之后新建如下三個文件。

      (1)聊天界面的布局文件:chat.XML,用于顯示內容。

      (2)layout_title.XML:聊天界面的標題欄布局。

      (3)Activity_chat.Java:業(yè)務邏輯代碼。

      選擇兩張圖片作為發(fā)送和接收消息的背景圖。在布局文件的主界面中加入一個RecyclerView用于顯示聊天的消息內容,在左下方放置一個EditText用于輸入消息,右下方放置一個按鈕Button用于發(fā)送消息。定義Msg類用于封裝消息內容和消息類型(發(fā)送的消息和接收的消息),這里讓發(fā)送的消息居右對齊,接收的消息據(jù)左對齊。

      3.2.2? 消息回復機制

      根據(jù)UNIT的API接入文檔可知,用戶與服務器之間的消息交互類型分為文本、語音等。當用戶向APP發(fā)送消息時,其消息內容與一些參數(shù)封裝在一起,并以JSON格式傳送到搭建好的BOT中,在處理用戶消息時,需要先解析JSON信息,獲取需要的信息內容。不同類型的JSON結構都包含talkUrl、bot_session、log_id、bot_id、accessToken、query6個核心字段。

      3.2.3? 用戶意圖獲取實現(xiàn)

      用戶意圖包含問答意圖與對話意圖,本模塊既可以實現(xiàn)簡單的問答意圖,也可以解析用戶的對話意圖。機器人在收到用戶以自然語言的形式發(fā)送的語句時,機器人需要對這些自然語言進行理解。這種理解包括對用戶的意圖識別、情感識別和回復確認等人工智能識別技術[11]。

      (1)問答意圖獲取

      可以直接給出答案的問題(例如查詢圖書館在哪兒)屬于問答意圖,這時只需要設置回復就好。我們在網(wǎng)絡上搜集新生入學時遇到的一些常見問題。搜集之后,對這些問題進行分類匯總并整理出答案后,在UNIT平臺新建好問答意圖和并設置相應的回復。

      (2)對話意圖獲取

      聊天機器人要與用戶多輪對話才能確定回復的問題屬于對話意圖。例如,用戶在查詢宿舍位置時,在得到用戶的年級和專業(yè)后才能給出答案。要獲取用戶的對話意圖,APP需要通過用戶的用戶模型數(shù)據(jù),判斷查詢詞的意圖特征值,根據(jù)查詢詞的意圖特征值和查詢詞,確定搜索結果并準確提供相應信息。必要時根據(jù)搜索結果,還會主動提出問題,根據(jù)答復信息,以進一步確定查詢詞的意圖特征值,根據(jù)進一步確定的意圖特征值和查詢詞,確定搜索結果[12]。

      對話意圖的建立流程如下:新建一個對話意圖,名稱設置為DORMITOEY_QUERY,意圖別名為查詢宿舍。由于不同年級不同專業(yè)的宿舍位置都不一樣,所以確定宿舍位置要通過用戶回答的信息得到詞槽。這里年級和專業(yè)就是詞槽。分別配置這兩個詞槽定義為user_year和user_subject,并設置相應的澄清回應,比如說用戶的文本里面只包含年級,那么就要設置澄清話術為“請問您是哪個專業(yè)的?”。UNIT根據(jù)用戶回答的詞槽到詞典里面匹配,這里自定義一份學校所有專業(yè)的詞典,里面添加所有專業(yè)名稱,以及年份的詞典,里面是所有的學生的年級。建立完成的對話意圖如圖2所示。

      (3)配置對話模板

      在新建技能完成后,就要給BOT添加訓練數(shù)據(jù),首先要配置對話模板。將“我需要、我要查,查一下”等都抽象為表達查詢的特征詞。在定義完特征詞和詞槽之后,還需要導入更多的對話模板,并導入系統(tǒng)。詞槽和特征詞的標注如圖3所示。

      (4)標注對話樣本

      把對話數(shù)據(jù)導入UNIT平臺,然后給他們逐條標注意圖、詞槽。這部分數(shù)據(jù)可以用于后續(xù)的樣本學習,讓對話機器人獲得更好的對話理解泛化能力。對話模板的標注如圖4所示。

      (5)訓練模型

      在以上工作完成后,就可以訓練發(fā)布到沙盒環(huán)境訓練模型了,沙盒環(huán)境是UNIT平臺提供給開發(fā)者驗證技能模型效果的環(huán)境,開發(fā)者將模型訓練后生效至沙盒環(huán)境,即可和技能對話,通過對話可驗證沙盒中模型的效果,也可實現(xiàn)數(shù)據(jù)標注。剛創(chuàng)建技能時沙盒也處在運行中,此時沙盒中的模型是一個空的模型,還不能用于對話,需要定義技能,添加訓練數(shù)據(jù),訓練且生效到沙盒后才能用于對話。

      3.2.4? 問答功能

      為了調用UNIT,必須先注冊百度賬號,進入UNIT,UNIT提供多種接入方式:API接入、微信公眾號接入等。本文選擇API接入。

      根據(jù)用戶的問題,UNIT在對話樣本集里面進行匹配,當達到預定的問答匹配度時,它把相應的回復返回給用戶,在本地解析出關鍵信息之后,顯示在聊天界面上。

      3.2.5? 日常閑聊模塊

      UNIT除了可以自定義特殊技能外,它還能與讓人類交談,完成日常對話,。與傳統(tǒng)機器人不同,UNIT的回答更加幽默和口語化且能與時代潮流保持一致[13]。例如用戶可以詢問它姓名。聊天對話的友好性進一步提升,更加符合真實人類對話的情景。

      4? 小助手使用實例

      當用戶安裝好APP后,打開APP,即可以使用小助手提供的各種服務,圖5是新生詢問宿舍在哪里。用戶在編輯框中直接輸入想要咨詢的問題,UNIT會根據(jù)事先導入的對話模板進行識別,得到用戶的意圖之后進行相應的回復。圖6是拿快遞和問路相關的問答。圖7是閑聊示例。

      5? 結論

      已有的新生助手僅僅通過新生的查詢詞來進行搜索,搜索過程是單向的,只有用戶向搜索引擎提出問題。用戶在使用時會存在很大的障礙,且當查詢詞存在歧義時,新生不能一次完成搜索任務,需要重新輸入查詢詞,即對同樣的查詢詞,不同的學

      生會有不同的認知和偏好,導致搜索結果沒有針對性,準確性也不高。

      作為一款新興的軟件,大學新生小助手Android APP接入百度UNIT平臺,采用了交互式搜索技術,可以提供常見的學習和生活信息查詢服務,包括查詢課表,查詢上課教室,校園導航,拿快遞等。幫助新生快速融入新環(huán)境,給新生的日常生活帶來極大的便利。也為學校節(jié)省了大量人力物力,提升了新生的報到率。

      在高校中,新生的群體是龐大的,也是使用本

      APP的主要用戶,僅僅有以上的功能還是不夠的。新生還關心個人成績等。將這些主要信息補充完善之后還可以添加一些其他的生活服務資訊,比如教學信息的發(fā)布以及空閑的教室,一些社團的活動消息,天氣信息等。

      參考文獻

      陳星. 高校新生迎新網(wǎng)上服務系統(tǒng)的設計與實現(xiàn)[D]. 2015.

      謝杭, 朱鵬羽, 孟慶賀. 基于安卓平臺的掌上校園APP的設計與開發(fā)[J]. 2016, 19(3): 24-26.

      北京搜狗科技發(fā)展有限公司. 清華入學助手[EB/OL]. http://www.91ud.com/app/27030.html.

      周國華. Android平臺上的智能聊天機器人設計及應用[J]. 計算機產(chǎn)品與流通, 2017(7): 35-36.

      百度百科. 聊天機器人[EB/OL]. https://baike.baidu.com/ item/%E8%81%8A%E5%A4%A9%E6%9C%BA%E5%99%A8%E4%BA%BA/1052902?fr=aladdin

      智能聊天機器人的關鍵技術研究[D]. 杭州電子科技大學, 2011.

      百度UNIT. 如何站在巨人的肩膀上, 將自己的產(chǎn)品賦予AI的能力[EB/OL]. https://www.jianshu.com/p/c5be75ef9420

      戴開宇, 張申生, 王淼. 分布式虛擬環(huán)境中的聊天機器人的研究[J]. 計算機工程與應用, 2002, (7): 13-16.

      北京圖靈機器人股份有限公司. 圖靈機器人[EB/OL]. http://www.tuling123.com/

      技術宅. 知心朋友? 聊天機器人是怎么聊天的[J]. 電腦愛好者, 2016(17): 62-63.

      曹祎遐, 何文清. 聊天機器人 換個方式聊天[J]. 上海信息化, 2016(10): 16-19

      孫國致, 楊志峰, 周杰龍. 一種交互搜索方法及裝置, CN 102456018 A[P]. 2010.

      劉蓉, 陳波. 基于微信公眾平臺的招生咨詢智能聊天機器人[J]. 軟件, 2018, 39(06): 49-57.

      城步| 鹰潭市| 五原县| 临夏县| 渭南市| 蒙山县| 西宁市| 佛坪县| 鹿泉市| 中方县| 东丰县| 潮州市| 金湖县| 盐亭县| 文登市| 额敏县| 永泰县| 怀集县| 隆安县| 万年县| 庆阳市| 慈溪市| 广德县| 武穴市| 那曲县| 改则县| 寻甸| 漳州市| 连江县| 都江堰市| 育儿| 洪洞县| 都江堰市| 西乌珠穆沁旗| 曲水县| 彭州市| 上杭县| 如皋市| 威信县| 钟山县| 庐江县|