王清波 陳青青 王琳斌 杭州市第一人民醫(yī)院 (浙江 杭州 310006)
內(nèi)容提要: 維修服務(wù)是醫(yī)院器械設(shè)備管理的重要一環(huán),為方便工程師第一時(shí)間了解故障相關(guān)處置方案,設(shè)計(jì)實(shí)現(xiàn)了基于微信平臺(tái)的設(shè)備故障處置智能應(yīng)答系統(tǒng)。本文介紹了基于微信平臺(tái)的系統(tǒng)架構(gòu)設(shè)計(jì),在此基礎(chǔ)上,介紹了結(jié)合圖靈機(jī)器人自定義知識(shí)庫(kù)的功能進(jìn)行消息處理,實(shí)現(xiàn)設(shè)備故障信息智能應(yīng)答的方法,以及利用語(yǔ)音API進(jìn)行語(yǔ)音識(shí)別,完善文字和語(yǔ)音雙重人機(jī)交互的方法。
隨著醫(yī)學(xué)的發(fā)展,醫(yī)療設(shè)備在醫(yī)學(xué)中起的作用越來(lái)越大。醫(yī)療設(shè)備管理是醫(yī)院管理中非常重要的一環(huán),而其中維修管理對(duì)設(shè)備的正常運(yùn)行保障及醫(yī)院成本降低具備十分重要的意義。但在實(shí)際的醫(yī)院工作中,工程師往往因分工的不同,導(dǎo)致對(duì)設(shè)備的了解有所偏重,在不熟悉的設(shè)備發(fā)生故障時(shí)很難第一時(shí)間發(fā)現(xiàn)問(wèn)題,選擇合適的處置方案。因此設(shè)計(jì)一套能夠面向工程師通用的維修知識(shí)庫(kù)具備十分重要的意義。
隨著時(shí)代的發(fā)展,通信網(wǎng)絡(luò)等技術(shù)日漸成熟,人們也越來(lái)越依賴于網(wǎng)絡(luò)信息化的應(yīng)用。當(dāng)前,微信用戶已達(dá)10億,微信已逐漸成為移動(dòng)溝通的必備工具,基于微信的設(shè)備維修應(yīng)答聊天機(jī)器人應(yīng)運(yùn)而生。
本系統(tǒng)基于微信構(gòu)建聊天機(jī)器人,采用Python-wxpy模塊進(jìn)行構(gòu)建。wxpy基于itchat,使用了Web微信的通訊協(xié)議??捎脕?lái)實(shí)現(xiàn)各種微信個(gè)人號(hào)的自動(dòng)化操作[1]。
本系統(tǒng)采用微信群作為用戶界面,可以靈活加入不同的群進(jìn)行信息答復(fù)。服務(wù)器由科室公用服務(wù)器組成,當(dāng)服務(wù)器從微信后臺(tái)接收到用戶發(fā)送過(guò)來(lái)的消息后,將首先對(duì)用戶消息進(jìn)行分析,若消息內(nèi)容為文本,則直接將消息傳送到圖靈機(jī)器人平臺(tái),如果信息為語(yǔ)音,則進(jìn)行語(yǔ)音識(shí)別,轉(zhuǎn)換為文本后傳送到圖靈機(jī)器人平臺(tái);圖靈機(jī)器人平臺(tái)將微信發(fā)送的信息進(jìn)行處理,并根據(jù)自定義的醫(yī)療設(shè)備維修故障知識(shí)語(yǔ)料庫(kù),將匹配的內(nèi)容反饋給用戶。
圖1. 技術(shù)框圖
這部分內(nèi)容在圖靈機(jī)器人的語(yǔ)料庫(kù)完成。根據(jù)日常管理中存在的問(wèn)題,匯總后給出管理的答案。管理內(nèi)容涉及設(shè)備管理的各個(gè)方面。通過(guò)查詢圖靈機(jī)器人的開發(fā)者文檔,開發(fā)者可以通過(guò)創(chuàng)建自己的語(yǔ)料庫(kù),來(lái)實(shí)現(xiàn)自定義的智能問(wèn)答功能[2]。
數(shù)據(jù)的來(lái)源一方面來(lái)自于器械設(shè)備科自身工作的日常積累,如監(jiān)護(hù)儀等工程師也有相關(guān)工作發(fā)表[3,4]。另外來(lái)自于國(guó)家核心數(shù)據(jù)庫(kù)內(nèi)的論文資料[5-7]。從中選取典型的維修處置方案,如監(jiān)護(hù)儀按下開關(guān)監(jiān)護(hù)儀為黑屏,處置方案為:(1)查看電源線是否連接正常;(2)如果電源線正常連接的情況,按開機(jī)鍵,過(guò)一段時(shí)間后,按無(wú)創(chuàng)血壓功能,查看機(jī)器是否已啟動(dòng);(3)如果無(wú)創(chuàng)血壓正常工作,證明機(jī)器已啟動(dòng),查監(jiān)護(hù)儀顯示部分。查看排線連接是否正常;更換高壓板,查看是否正常;更換液晶屏,查看設(shè)備使用;(4)如果無(wú)創(chuàng)血壓未正常工作,證明機(jī)器未啟動(dòng),查看電源供電是否正常(量電壓)。如果電源板正常,主板故障,更換主板[8],如表1所示。
表1. 維修故障知識(shí)庫(kù)
首先由設(shè)備科服務(wù)器判斷信息類型為語(yǔ)音,觸發(fā)語(yǔ)音模塊。首先對(duì)語(yǔ)音信息進(jìn)行存儲(chǔ),存儲(chǔ)到本地后為mp3格式,利用python的ffmpeg模塊進(jìn)行格式轉(zhuǎn)換。將mp3格式轉(zhuǎn)換為wav文件。
conversion_command=u'ffmpeg-i'+path+u'-acodec pcm_s16le-ar'+sample_rate+u''+audio_path #path為語(yǔ)音存儲(chǔ)路徑,audio_path為輸出wav語(yǔ)音路徑
result=os.system(conversion_command) #命令執(zhí)行對(duì)轉(zhuǎn)換完的數(shù)據(jù),利用百度API接口進(jìn)行語(yǔ)音識(shí)別。
response=aipSpeech.asr(get_file_content(audio_path),'wav', 8000, {'lan': 'zh'}) #aipSpeech為百度API的調(diào)用模塊
其中,aipSpeech使用需要在百度申請(qǐng)語(yǔ)音識(shí)別API的APP_ID,API_KEY,SECRET_KEY信息。
為了調(diào)用圖靈機(jī)器人,必須先在其官網(wǎng)注冊(cè)賬號(hào)。注冊(cè)并成功登錄后,開發(fā)者可以創(chuàng)建API,對(duì)所創(chuàng)建的API設(shè)置相關(guān)屬性,同時(shí)開發(fā)者將得到一個(gè)API Key。圖靈機(jī)器人API提供多種接入方式,如API接入、微信公眾平臺(tái)接入、SDK接入等。由于本文服務(wù)器搭建在設(shè)備科。本文選擇API接入。
tuling=Tuling(api_key='f712be0bd510412398f123b62766 75e6') #調(diào)用API key
若為文本直接發(fā)送至圖靈機(jī)器人。tuling.do_reply(msg) #智能問(wèn)答若為語(yǔ)音則經(jīng)過(guò)上述語(yǔ)音識(shí)別后發(fā)送至圖靈機(jī)器人進(jìn)行處置。?
圖2. 查詢實(shí)例
當(dāng)聊天機(jī)器人進(jìn)入群之后,群內(nèi)用戶@小機(jī)器姓名發(fā)送文本或者直接按語(yǔ)音說(shuō)話,即可使用聊天機(jī)器人提供的各種
.服務(wù)。圖2是本系統(tǒng)實(shí)現(xiàn)的幾個(gè)實(shí)例,其中(1)是文本輸入界面,用戶直接在后臺(tái)輸入自己想要咨詢的問(wèn)題,機(jī)器人會(huì)根據(jù)語(yǔ)料庫(kù)中的內(nèi)容回答用戶。(2)為語(yǔ)音查詢界面,用戶發(fā)送語(yǔ)音后,進(jìn)行語(yǔ)音識(shí)別,系統(tǒng)將語(yǔ)音識(shí)別信息與圖靈機(jī)器人智能答復(fù)的結(jié)果發(fā)送到群里。
在實(shí)際使用中,智能問(wèn)答的回復(fù)時(shí)間不超過(guò)1s。
本文設(shè)計(jì)實(shí)現(xiàn)的基于微信平臺(tái)的聊天機(jī)器人,能夠?yàn)樵O(shè)備科工程師查詢故障維修內(nèi)容提供通用服務(wù)。首先基于微信平臺(tái),微信平臺(tái)現(xiàn)在為最常用的通訊工具,用戶不需要花費(fèi)額外的關(guān)注;其次,通過(guò)微信聊天咨詢,設(shè)備科能夠從微信平臺(tái)中得到設(shè)備維修故障處置的準(zhǔn)確信息,提高了設(shè)備科的管理效率;此外,設(shè)備科得到的數(shù)據(jù)是同質(zhì)化的數(shù)據(jù),數(shù)據(jù)在圖靈機(jī)器人統(tǒng)一更新,提供最新、最全面的數(shù)據(jù)。