蘇志東 楊觀賜 李楊 王懷豹
摘 要:針對現(xiàn)有服務機器人無法自主感知用戶膳食構(gòu)成的問題,提出了基于服務機器人聽覺的個體膳食構(gòu)成自主感知算法(AIDCPA)。首先,利用了基于梅爾頻率倒譜系數(shù)和矢量量化算法的聲紋識別方法識別出了說話人身份,并運用中文分詞、詞性標注和依存句法分析工具獲取語音識別所得文本數(shù)據(jù)的語言特征;然后,給出了基于一階謂詞邏輯理論的推理定義和描述,提出了飲食組成獲取的推理算法,進而形成了基于服務機器人聽覺的個體膳食構(gòu)成自主感知算法。為了評估AIDCPA算法性能,在服務機器人平臺中實現(xiàn)了AIDCPA算法,并構(gòu)建了訓練和測試數(shù)據(jù)集。測試結(jié)果表明:系統(tǒng)感知飲食組成的F1值、精確度與召回率的均值分別為0.9491,0.9679和0.9407,有較強的感知魯棒性。
關鍵詞:膳食構(gòu)成感知;機器人聽覺;文本信息抽取;服務機器人
中圖分類號:TP181
文獻標識碼: A
隨著人口老齡化問題的日益嚴重,越來越多的獨居老人需要照顧[1],護老、助老等家庭服務機器人深受國內(nèi)外學者關注。為了識別老年人摔倒,Do等人提出了RiSH服務機器人平臺,集成了服務機器人、智能家居設備和可穿戴設備,能對跌倒老人及時實施救助[2]。為了給老年人提供一種更便捷的人機交互方式,劉策等人提出了一種集成語音識別、遠程控制、人臉識別、手勢識別等交互模式的人機交互方法,并提高了交互速度,消除了對網(wǎng)絡的依賴性[3]。為了應對年齡增長后記憶力衰退的情況,文獻[4]提出了一種基于家庭服務機器人的大腦訓練方法。通過調(diào)查老年人的生理特征和心理特征,有研究從馬斯洛需求理論出發(fā),提出了一種側(cè)重于符合用戶感情需要的服務機器人系統(tǒng),讓機器人提供服務更加人性化[5]。為了增強老年人的體質(zhì),降低老年人摔倒的風險,文獻[6]提出了利用機器人視覺系統(tǒng)識別和跟蹤用戶行為的方法,通過提供相關的練習和反饋來激勵用戶的訓練。Zhou等人提出了一種基于服務機器人的遠程醫(yī)療系統(tǒng),該系統(tǒng)將家庭成員和醫(yī)生建立連接,利用自動健康數(shù)據(jù)采集技術和目標檢測算法實現(xiàn)遠程護理[7]。Fernandes等人構(gòu)建了老年人認知評估服務機器人平臺,通過分析使用者的答案,了解他們的認知狀態(tài),為醫(yī)生診斷使用者的健康狀況提供依據(jù)[8]。
有研究表明[9]:科學合理的飲食不僅有利于保持身體健康,也對疾病的治療有著非常重要的作用。文獻[10,11]提供了一種方法來獲取用戶的飲食信息,該方法通過監(jiān)聽進食的聲音判斷當前用戶是否吃食物以及所吃食物類別。但是在家庭環(huán)境下,進食聲音通常較小,麥克風較難捕獲大多數(shù)的進食聲音,并且多數(shù)進食聲音較難分辨,例如喝水的聲音、喝牛奶的聲音、飲啤酒的聲音等。
整體上,當前的服務機器人雖然能夠借助可穿戴設備等傳感器采集用戶的部分健康數(shù)據(jù),但通過機器人聽覺或者視覺自主感知用戶飲食信息的研究有待深入研究。本文研究基于服務機器人聽覺的個體膳食構(gòu)成自主感知算法,當機器人聽到用戶表達時,自主對其表達內(nèi)容進行處理,最終獲取相應的飲食信息,從而實現(xiàn)對用戶膳食構(gòu)成的智能感知,為用戶醫(yī)療診斷、飲食干預和機器人的主動服務等提供決策依據(jù)。
1 基于梅爾頻率倒譜系數(shù)與矢量量化算法的聲紋識別方法
考慮到家庭成員不止一個,準確地識別說話人的身份是實現(xiàn)飲食信息準確感知的前提。為了利用聲紋辨識說話人的身份,本文采用39維的梅爾頻率倒譜系數(shù)[12](Mel Frequency Cepstrum Coefficient, MFCC)作為聲紋識別算法的特征向量,選取計算量較小、運行速度快且識別效果較好的矢量量化模型[13] (Vector Quantization, VQ)作為聲紋分類模型(MFCC-VQ)。
2 基于服務機器人聽覺的個體膳食構(gòu)成自主感知算法
2.1 文本語言特征獲取與詞庫構(gòu)建
當機器人通過聽覺系統(tǒng)獲得聽覺信息后,即可運用語音識別方法獲得所聽到內(nèi)容的文本信息。為了理解文本信息所表達的內(nèi)容,本文通過采用哈工大LTP[14]系統(tǒng)的中文分詞、詞性標注和依存句法分析工具對文本數(shù)據(jù)進行處理,獲取文本語言特征(最小語言單位、詞性、語言單位間的依存關系)作為下文個體膳食構(gòu)成自主感知算法的輸入特征。
考慮到用戶表達的飲食文本中存在著大量的水果、蔬菜、成品菜、奶類、肉類等專業(yè)詞匯,僅僅依靠分詞系統(tǒng)LTP中的通用詞典難以對食物名稱準確識別。因此本文參考《中華人民共和國國家標準 GB 2760-2014》[15]中附錄E的食物分類系統(tǒng)以及利用網(wǎng)絡爬蟲技術,構(gòu)建了具有1563個日常生活中常見的食物名詞庫。
之后,將新建的食物名詞庫與所用的中文分詞工具中的默認詞典進行融合并去除重復的名詞,構(gòu)成食物名詞相對完善的新分詞詞典Lexicon。
2.2 個體膳食構(gòu)成獲取方法
對于機器人監(jiān)聽獲取的語音信息中關于膳食信息的描述主要分為兩個方面。一個方面,說話者的表達內(nèi)容可能與“吃”相關但實際上并未攝入該食物,例如“我愛吃超市買的蘋果”、“喜歡吃蘋果”、“現(xiàn)在非常想吃蘋果”等,雖然這些表達都包含進食動作與相對應的食物名稱,但是實際上說話人只是表達了一種喜好或偏愛,并沒有攝入該食物。另一個方面,說話者表達的內(nèi)容是飲食信息之外的其它信息卻能間接反映食物攝入記錄。為了確定飲食組成,確定進食行為是否真的發(fā)生是一個關鍵因素,因此首先需要確定進食動作是否真正發(fā)生,然后基于所發(fā)生的進食動作進行食物信息抽取,從而獲得用戶的飲食信息。為了描述的直觀性和方便,我們引入一階謂詞邏輯理論描述推理計算邏輯。
2.2.1 面向謂詞邏輯推理的語言單元定義
令sentence={word1,word2,…,wordi,…,wordN}表示語言單元集合,該集合是單個用戶的飲食表達內(nèi)容的中文分詞結(jié)果,其中wordi為分詞后的語言單位,N為飲食表達內(nèi)容中語言單位的個數(shù)。
記Veat={“吃”,“喝”,“享用”,“品嘗”,“嘗”,“品”,“來”,“試”}為表示動作特征詞單元集,其元素能夠表達進食的含義。
記Vnegative={“想”,“喜歡”,“愛”,“喜愛”,“沒有”,“沒”,“不”,“討厭”,“厭惡”,“反感”}為進食動作否定詞集合,其元素表達喜歡、意愿、好惡等含義。當一段句子中出現(xiàn)Veat中的元素,并且在該元素前出現(xiàn)Vnegative中的元素時,根據(jù)語言表達習慣可以判定進食動作未發(fā)生。
記Venhance={“了”, ”的”}為表達動作已經(jīng)完成的語言單元集合。
記Vcuisine ={“炒”, “爆炒”, “蒸”, “清蒸”, “煮”, “炸”, “油炸”,“燉”, “煎”, “油煎”,“醋溜”,“烤”, “燒”, “涼拌”,“拌”, “燜”}為表示烹飪方式的語言單元集合。
記Wcomment={“味道”, “好吃”, ”難吃”, ”有味”}為表示暗含進食行為的語言單元集合。
記Wjump={“閉門羹”, “虧”,? “啞巴虧”}為表達可以與“吃”相配合出現(xiàn)的欺騙性語言單元集合。
同時,假設Tword-1,Tword和Tword+1∈sentence為相鄰的語言單元?;谥形恼Z言表達模式,當Tword∈Veat時,可以判斷用戶的表達內(nèi)容可能具有吃了某種食物的含義。因此,通過判斷Tword-1與Vnegative之間的關系和Tword+1與Venhance之間的關系,我們可以判斷說話人“吃”這個動作是否真正發(fā)生,進而判斷說話人真實的進食構(gòu)成。如果Tword∈sentence且Tword-1∈Vnegative,則可以判斷Tword并未表達真實吃這個動作;如果Tword∈sentence,Tword-1∩Vnegative=且Tword+1∈Venhance,則可以判斷Tword真實表達了吃這個動作。
2.2.2 基于一階謂詞邏輯理論的邏輯推理
根據(jù)上述定義和分析,利用一階謂詞邏輯理論,建立公式(1)所示的謂詞邏輯推理公式判斷“吃”這個動作是否發(fā)生。
3 性能測試分析
3.1 服務機器人平臺
圖1為課題組搭建的服務機器人平臺(MAT)[16],包括Intel NUC主機、數(shù)據(jù)采集設備和機械支架等部分組成。用于顯示數(shù)據(jù)和圖像的顯示屏是7.9寸IPad mini 4顯示屏;聽覺系統(tǒng)采用科大訊飛六麥環(huán)形麥克風陣列板,其具有聲源定位、回聲消除、噪聲過濾等功能,用以實現(xiàn)對音頻信號的采集;視覺系統(tǒng)采用的是Microsoft Kinect V2深度攝像頭,用于采集RGB彩色圖像;服務機器人主機為Intel NUC mini主機,配置i7-6770HQ處理器和Intel IRIS Pro顯卡;移動底盤為EAI DashGO B1。服務機器人主機采用Ubuntu16.04操作系統(tǒng),并在系統(tǒng)中安裝了Kinect版本ROS(Robot Operation System)系統(tǒng)、TensorFlow CPU版本深度學習框架和OpenCV3.3.0。采用DELL TOWER 5810工作站降低服務機器人的運算負荷,主要用于模型訓練
圖1 服務機器人平臺
Fig.1 The used social robot platform
和數(shù)據(jù)分析。工作站采用Ubuntu16.04操作系統(tǒng),并在系統(tǒng)中安裝了Kinect版本ROS(Robot Operation System)系統(tǒng)、TensorFlow GPU版本深度學習框架和OpenCV3.3.0。服務機器人與工作站均具有無線通信模塊,用于端到端的通信。課題組運用Python語言在此機器人平臺上實現(xiàn)了AIDCPA算法。
3.2 訓練與測試數(shù)據(jù)集
3.2.1 聲紋識別系統(tǒng)的訓練數(shù)據(jù)
為了使訓練完成的聲紋識別模型在真實應用場景下具有較好的表現(xiàn),本文直接利用MAT服務機器人的六麥環(huán)形麥克風陣列收集訓練語音數(shù)據(jù)。該訓練數(shù)據(jù)集涉及20人,每人通過朗讀給定的文本信息,錄制收集30條語音數(shù)據(jù),每一條語音數(shù)據(jù)持續(xù)10 s。
3.2.2 膳食構(gòu)成感知算法的測試數(shù)據(jù)
為了測試算法的性能,建立了測試語音數(shù)據(jù)集。此數(shù)據(jù)集的文本內(nèi)容包括以下兩種類型:
1)類別a:依據(jù)中文語言表達習慣而設計的文本。此類數(shù)據(jù)共100條樣本數(shù)據(jù),涉及六種情境,具體為:(a)直接說明進食內(nèi)容;(b)表達出想吃/打算吃/渴望吃某些食物;(c)混合了(a)與(b)的表達方式;(d)具有暗示性的進食內(nèi)容表達;(e)具有較多冗余表達的進食表達;(f)欺騙性的語言表達方式。
2)類別b:在線收集的文本。30名參與者根據(jù)自己的說話習慣,在線提交了表述用餐情況的數(shù)據(jù),共收集樣本120個。經(jīng)刪除無效數(shù)據(jù),保留了100條樣本數(shù)據(jù)。該類數(shù)據(jù)體現(xiàn)了真實生活場景的表達情況,表達方式多樣,具有較大隨意性,主要用于考查算法的魯棒性。
之后,為了便于測試,從3.2.1節(jié)聲紋識別系統(tǒng)的20人中隨機選取3人,分別用普通話按平時說話的方式說出a和b兩類數(shù)據(jù)的文本信息,從而錄制獲得測試語音數(shù)據(jù)。測試語音數(shù)據(jù)的總長度為32 min 23 s,包括200個句子和1035個食物實體名詞。后文測試時,模擬人說話的方式播放測試數(shù)據(jù)。
3.3 評價標準
當所獲取的食物名詞與人工標注的標簽相匹配,同時與相應的身份信息相匹配時,則判定該食物名詞被正確識別。本系統(tǒng)的識別結(jié)果中存在樣本中標簽數(shù)目為零或者識別出來的食物名詞數(shù)目為零的情況,記Nt為一個樣本中手工標注的標簽食物數(shù)目,Nr為系統(tǒng)所識別出的食物構(gòu)成數(shù)目,Nc為系統(tǒng)所識別出的食物與手工標注樣本的食物所匹配的食物數(shù)目。召回率R、精確度P與F1評價指標[17]用于評價系統(tǒng)的性能。
觀察表1可知:1)a類數(shù)據(jù)F1值均值為09505,方差為0.0118,具有較高的F1值均值,并且方差較小,說明系統(tǒng)對本文所考慮的語言表達模式能夠以較大的概率正確識別出飲食信息;2)由于b類測試數(shù)據(jù)收集于30名不同的大學生,具有較大的隨意性和不確定性,使得b類測試數(shù)據(jù)對應的測試結(jié)果比a類測試數(shù)據(jù)稍微差一些, F1值均值下降了0.0028,F(xiàn)1值的方差值上升了0.0215,這表明不同的語言表達方式對系統(tǒng)的識別性能有一定的影響。但F1值均值與方差值變化幅度不大,這表明系統(tǒng)具有良好的魯棒性,在模擬真實生活場景的測試數(shù)據(jù)中仍然具有較好的識別效果; 3)a、b兩類測試數(shù)據(jù)的平均F1值、精確率P和召回率R分別為0.9491,0.9679和0.9407,精確度P值比召回率R值高出0.0272,根據(jù)精確度和召回率的定義可以看出,系統(tǒng)所識別出的食物數(shù)目略少于所標注的食物數(shù)目。由于不同說話人口音、語音識別系統(tǒng)準確率、中文分詞以及推理算法等因素的影響,會導致系統(tǒng)所識別出的食物數(shù)目少于所標注的食物數(shù)目,進而使得精確度P值高于召回率R值。
觀察圖2可知:1)圖2(a) 中F1值的統(tǒng)計盒圖中位線均處于1.0位置,a類數(shù)據(jù)矩形面積較小,b類數(shù)據(jù)矩形面積為零,說明系統(tǒng)對這兩類數(shù)據(jù)均具有較好的識別效果。同時兩類數(shù)據(jù)的異常值的分布較為分散,大部分均分布在0.7以上,且b類數(shù)據(jù)比a類數(shù)據(jù)具有更多且更分散的異常值,這表明雖然系統(tǒng)在整體上具有良好的識別效果,但是由于語言表達的隨意性等特點,對于少部分測試數(shù)據(jù),系統(tǒng)需要進一步完善。2)從圖2(b)和圖2(c)可以看出,兩類數(shù)據(jù)的P值和R值均存在少量的離群點,但是大部分離群點處于0.6以上,其中a類數(shù)據(jù)的大部分離群點處于0.8以上,b類數(shù)據(jù)離群點分布比a類數(shù)據(jù)具有更大的離散性,b類數(shù)據(jù)來源的多樣性導致了這種離散性。但是這并未影響系統(tǒng)整體性能,兩類數(shù)據(jù)的中位線均處于1.0位置,且矩形面積非常小,這表明即使測試數(shù)據(jù)存在較大的隨意性,系統(tǒng)仍然具有較好的識別性能。
綜上可知,對于所考慮的語言表達模式以及模擬真實場景隨機收集的語言表達,AIDCPA算法的F1值、精確度與召回率的均值分別為0.9491,09679和0.9407,能以較高的準確率感知用戶的飲食信息,具有良好的識別效果和魯棒性。
4 結(jié)束語
機器人智能的感知用戶膳食構(gòu)成,可為居家養(yǎng)老提供智能裝備支持。本文正是針對機器人所監(jiān)聽到的語音信息,提出了基于服務機器人聽覺的個體膳食構(gòu)成自主感知算法。通過運用聲紋識別方法獲取說話人身份后,可以利用所設計的食物獲取推理算法,就可以建立用戶的飲食信息數(shù)據(jù)庫,這可為醫(yī)療診斷、飲食干預和機器人的主動服務等提供決策依據(jù),有利于服務老年人生活。下一步工作將考慮環(huán)境以及說話人口音等因素對算法性能的影響,進一步提高算法的魯棒性和識別的準確率。
參考文獻:
[1]Jiaming Z, Xiaoyun L. The Status Quo of and Development Strategies for Healthcare Towns Against the Background of Aging Population[J]. Journal of Landscape Research, 2018(10):41-44.
[2]Do H M, Pham M, Sheng W, et al. RiSH: A robot ̄integrated smart home for elderly care[J]. ROBOT AUTON SYST,2018(101):74-92.
[3]劉策, 劉小峰. 助老服務機器人多模式友好交互系統(tǒng)設計與實現(xiàn)[J]. 電子測量與儀器學報, 2019, 33(1):177-182.
[4]Ahn H, Seok S. Development of brain training games for a healthcare service robot for older people[J]. Lecture Notes in Computer Science, 2014(5): 1-10.
[5]王年文, 苑瑩. 老年人陪護機器人服務系統(tǒng)設計研究 [J]. 包裝工程, 2017, 38(18):72-76.
[6]Foukarakis M, Adami I, Ioannidi D, et al. A Robot ̄based Application for Physical Exercise Training [C]//Proc of International Conference on Information & Communication Technologies for Ageing Well & E ̄health. Heraklion,Greece: SciTePress, 2016:45-52.
[7]Zhou B, Wu K, Wang J, et al. A New Remote Health ̄Care System Based on Moving Robot Intended for the Elderly at Home[J]. Journal of Healthcare Engineering, 2018: 4949863.
[8]Francisco E F, Ha M D, Kiran M, et al. Cognitive orientation assessment for older adults using social robots [C]//Proc of IEEE International Conference on Robotics and Biomimetics. Macan, Macao: IEEE Press, 2017: 196-201.
[9] Zmora N, Suez J, Elinav E. You are what you eat: diet, health and the gut microbiota[J]. Nature Reviews Gastroenterology & Hepatology, 2019, 16(1): 35-56.
[10]Simone H, Felix W, Richard K, et al. I Hear You Eat and Speak: Automatic Recognition of Eating Condition and Food Type, Use ̄Cases, and Impact on ASR Performance [J]. PLOS ONE , 2016, 11(5):e0154486.
[11]Kaya H, Karpov A, Salah A A. Fisher vectors with cascaded normalization for paralinguistic analysis [C]//Pro of the 16th Annual Conference of the International Speech Communication Association Interspeech. Dresden, Germany:Research Gate,? 2015:909-913.
[12]Fang Z, Zhang G, Song Z. Comparison of Different Implementations of MFCC [J]. Journal of Computer Science and Technology, 2001(16):582-589.
[13]Gray R M. Vector Quantization[J]. Readings in Speech Recognition, 1990(1):75-100.
[14]Che W, Li Z, Liu T. LTP: A Chinese Language Technology Platform[C]//Proc of Proceedings of the Coling 2010:Demonstrations. Beijing:Association for Computational Linguistics, 2010:13-16.
[15]中華人民共和國國家衛(wèi)生和計劃生育委員會.食品安全國家標準——食品添加劑使用標準:GB 2760-2014[S]. 北京:中國標準出版社,2015.
[16]楊觀賜, 楊靜, 蘇志東, 等. 改進的YOLO特征提取算法及其在服務機器人隱私情境檢測中的應用[J]. 自動化學報, 2018, 44(12):2238-2249.
[17]Buckland M, Gey F. The relationship between Recall and Precision [J]. J. Am. Soc. Inf. Sci., 1994(45):12-19.
(責任編輯:曾 晶)