何進松
(上海電子信息職業(yè)技術(shù)學院通信與信息工程學院 上海 201411)
隨著互聯(lián)網(wǎng)信息化的發(fā)展,在大數(shù)據(jù)、深度學習算法等技術(shù)的推動下,人工智能技術(shù)不斷發(fā)展,將對生活服務、醫(yī)療、工農(nóng)業(yè)等各個行業(yè)產(chǎn)生顛覆性影響。目前,我國正處于中國制造向中國智造邁進的大背景下,機器人產(chǎn)業(yè)迎來了全新機遇。借助人工智能技術(shù),可實現(xiàn)機器人領(lǐng)域與醫(yī)療領(lǐng)域的深度融合,醫(yī)療服務機器人具有廣闊的市場前景[1~2]。
目前各大醫(yī)院門診患者流量大,大多數(shù)患者缺乏健康認知,對于病癥、醫(yī)院科室及檢查位置導航等常見問題,需要導醫(yī)指導[3~4]。傳統(tǒng)導診模式工作量大,工作效率低,導醫(yī)工作本身也相對枯燥,服務態(tài)度有待提高。因此,改善就醫(yī)體驗,提高患者滿意度,減輕導醫(yī)工作壓力,成為現(xiàn)代化醫(yī)院的工作要求。借助智能化導診機器人,采用人機交互方式,根據(jù)患者病癥描述,給出就診建議,提高問診質(zhì)量,是目前互聯(lián)網(wǎng)醫(yī)療服務領(lǐng)域的主流發(fā)展方向[5~6]。
智能導診機器人及其綜合管理平臺,要求能夠?qū)C器人本體進行管理,機器人能夠?qū)崿F(xiàn)人機語音交流,并且具備連續(xù)監(jiān)聽患者提問的功能[7~8]。管理平臺能夠?qū)崟r記錄機器人與問詢者的交互記錄,通過管理后臺能對機器人發(fā)送相關(guān)操作指令,并允許后臺管理人員查看及處理人機對話內(nèi)容及機器人前端攝像頭采集的畫面。針對患者就醫(yī)過程中需要咨詢的問題建立導醫(yī)知識庫,形成機器人問答知識庫,方便實現(xiàn)與患者的智能語音交互。機器人能夠?qū)崿F(xiàn)自我記錄和自我學習,再遇相似問題時機器人可自行回復解決[9~12]。建立導醫(yī)地圖,提供地圖導航功能,通過語音交互能力可解決問詢者有關(guān)咨詢位置信息相關(guān)的問題,并能夠在機器人屏幕上顯示相關(guān)地圖信息,進行路線指引。
針對智能導診應用需求,進行智能導診機器人及其綜合管理平臺總體設(shè)計。硬件基于軟銀人形機器人“Pepper”作為服務機器人,軟件基于Lab-VIEW Nao SDK工具包進行人機交互程序設(shè)計,并將其交叉編譯生成Python代碼,結(jié)合前端技術(shù),完成軟件開發(fā)。
智能導診機器人及其綜合管理平臺主要包括三個部分功能:機器人平臺、管理后臺及客戶端三部分,功能框圖如圖1所示。
圖1 平臺功能框圖
各部分功能如下。
1)機器人平臺:分為三個功能模塊。實現(xiàn)與患者的智能語音交互,根據(jù)診斷情況,提供導診服務;人臉識別功能能夠?qū)崿F(xiàn)人臉圖像采集,方便下載就診時識別患者身份;定位導航功能可實現(xiàn)點到點自主導航,并進行移動路線指引[13~14]。
2)管理后臺:分為四個功能模塊。機器人管理模塊顯示當前機器人列表,進行機器人狀態(tài)控制;導醫(yī)工作臺實時記錄機器人與患者的交互記錄;導醫(yī)知識庫根據(jù)醫(yī)院數(shù)據(jù)模型和知識庫建立,患者咨詢過程中,根據(jù)所述疾病,從導醫(yī)知識庫中匹配響應的診室和治療醫(yī)生,形成導醫(yī)結(jié)果;數(shù)據(jù)統(tǒng)計模塊進行用戶統(tǒng)計和問答結(jié)果統(tǒng)計。
3)客戶端:分為五個模塊。醫(yī)院概述模塊進行醫(yī)院、科室和專家的介紹,方便患者查詢;就醫(yī)指南介紹就診流程、住院須知和出院流程;導醫(yī)地圖模塊,提供地圖導航功能;此外還提供預約掛號和相關(guān)診療費用查詢功能模塊。
選擇軟銀人形機器人“Pepper”作為服務機器人?!癙epper”是一款人形機器人,身高120cm,體重28kg,配備10.1英寸觸摸屏,可綜合考慮周圍環(huán)境,并積極主動地作出反應。通過機器人頭部的麥克風陣列,機器人可以準確地對場景內(nèi)的聲源進行定位和識別。機器人配備了語音識別技術(shù),可用表情、動作、語音與人類進行人機交互。智能AI數(shù)據(jù)庫可實現(xiàn)除人機交互外的天氣查詢、點歌、聊天等功能。底盤雷達掃描,構(gòu)建地圖,導航避障,可根據(jù)需求準確移動到目標位置[15]。為了擴展機器人的應用,Aldebaran Robotics公司也公開發(fā)布了SDK,開發(fā)者可以根據(jù)開發(fā)需求對機器人做部署和個性化設(shè)定。
圖2 人形機器人“Pepper”
“Pepper”機器人和其本身配有的平板觸摸屏,分別具有獨立的處理器,因此針對機器人本體控制及平板的人機交互界面設(shè)計,將軟件分為兩部分,分別運行主程序和前端程序。主程序采用開發(fā)和維護速度較快的LabVIEW進行開發(fā),基于NAO SDK for LabVIEW和Voice Cloud工具包,實現(xiàn)機器人管理和語音功能。NAO SDK for LabVIEW基于最新的NAOqi2.1軟件架構(gòu)編寫而成,基于該開發(fā)包,可實現(xiàn)機器人運動控制、語音控制、人臉識別和獲取傳感器數(shù)據(jù)等。VoiceCloud SDK for LabVIEW工具包基于科大訊飛語音服務功能,能夠完成語音聽寫,語法識別,語音合成等功能。最后利用工具包中自帶的交叉編譯器,將LabVIEW程序編譯成“Pepper”支持的Python語言,下載到機器人內(nèi)核中。
主程序軟件設(shè)計架構(gòu)采用狀態(tài)機結(jié)構(gòu),設(shè)置關(guān)鍵變量VIRobotics_Page作為Htm l與LabVIEW溝通的重要標識,根據(jù)導診平臺模塊功能,為VIRobotics_Page賦值,也以此作為狀態(tài)跳轉(zhuǎn)的跳轉(zhuǎn)條件。主程序和前端程序交互時,LabVIEW通過發(fā)送JS代碼段,模擬點擊按鈕、網(wǎng)頁跳轉(zhuǎn)、網(wǎng)頁標簽文字更新等,實現(xiàn)對導診平臺人機交互界面的對應界面的控制。前端程序控制LabVIEW時,用JS修改機器人內(nèi)存中的關(guān)鍵變量VIRobotics_Page,LabVIEW的狀態(tài)機中,檢測到該變量的值,則進入不同的狀態(tài)分支。主程序流程圖如圖3所示。
圖3 主程序流程圖
主程序執(zhí)行過程為開機后,首先進行機器人初始化,通過判斷關(guān)鍵變量VIRobotics_Page的值,進入對應的狀態(tài)分支。當患者選擇醫(yī)院概述、就醫(yī)指南、導醫(yī)地圖和健康宣教功能時,機器人首先進行人臉識別,識別后開始與患者進行語音交流,此時利用本地語音識別功能,根據(jù)語音識別結(jié)果,響應不同的功能。當患者選擇智能導診時,依據(jù)導醫(yī)知識庫,通過“病癥特征提取”的方式,模仿問診過程,為患者給出就診建議。如患者選擇智能問答功能,則進入訊飛語音識別。
根據(jù)系統(tǒng)設(shè)計需求,采用HTML5+CSS編碼技術(shù),結(jié)合JavaScript進行人機交互界面程序開發(fā)。點擊人機交互界面網(wǎng)頁上對應的功能圖標,JS即修改關(guān)鍵變量VIRobotics_Page的值,主程序進行狀態(tài)跳轉(zhuǎn),網(wǎng)頁上即響應對應的功能。網(wǎng)頁點擊事件框圖如圖4所示。
圖4 網(wǎng)頁點擊事件框圖
本文借助人工智能技術(shù),基于從LabVIEW到python的交叉編譯技術(shù)和前端技術(shù),分別從系統(tǒng)總體設(shè)計、機器人硬件功能、軟件設(shè)計進行闡述,完成了智能導診機器人及其綜合平臺的設(shè)計。目前該系統(tǒng)已成功應用于醫(yī)療導診中,工作過程中,機器人運行穩(wěn)定,人機交互性能良好,愉悅患者心情,有效改善了醫(yī)院的導診環(huán)境。該設(shè)計在醫(yī)療領(lǐng)域具有較好的應用價值。