文/高峰 胡峽進(jìn)
隨著社會(huì)的進(jìn)步,人們對(duì)于運(yùn)動(dòng)健身越來(lái)越重視,越來(lái)越多的人開始追求強(qiáng)健的體魄、優(yōu)美的形體。同時(shí),國(guó)家也大力提倡“全民運(yùn)動(dòng)”,根據(jù)《全民健身計(jì)劃(2016-2020年)》的規(guī)劃,到2020年,每周參加一次及以上體育鍛煉的人數(shù)要達(dá)到7億,經(jīng)常參加鍛煉的人數(shù)要達(dá)到4.35億,體育產(chǎn)業(yè)總規(guī)模要超過(guò)3萬(wàn)億元。但是,運(yùn)動(dòng)健身領(lǐng)域長(zhǎng)期以來(lái)存在一些不如人意的地方:
(1)傳統(tǒng)健身房模式難以適應(yīng)新的時(shí)代?,F(xiàn)在的健身房主要模式是辦會(huì)員卡和私教收費(fèi),基本現(xiàn)狀是,很多健身房不愿出售短期卡,導(dǎo)致會(huì)員卡的期限越來(lái)越長(zhǎng),一些不能堅(jiān)持鍛煉的會(huì)員就會(huì)產(chǎn)生被欺騙的感覺,引起大家的反感。
(2)健身行業(yè)難見創(chuàng)新。健身行業(yè)也嘗試著和互聯(lián)網(wǎng)融合,推出有像Keep、咕咚一類的APP軟件,但形式過(guò)于單一,核心內(nèi)容無(wú)非就是視頻教程、飲食記錄、勵(lì)志激勵(lì)等,運(yùn)動(dòng)方案也是有氧運(yùn)動(dòng)居多,而且發(fā)展趨勢(shì)是越來(lái)越細(xì)化,不夠全面。健身APP功能單一,沒有突破,缺乏個(gè)性化,效果不佳。
(3)健身方案難以落地,且一種方法不一定適合所有人。比如:備受推崇的游泳減脂,很多人沒有條件游泳,即使有條件,公眾游泳池在夏天也是人滿為患,難以進(jìn)行系統(tǒng)的訓(xùn)練;再如:慢跑可以減脂,但是有的人膝蓋有損傷,對(duì)跑步的有效速度難以把握。
綜上所述,空泛的健身理論造成的結(jié)果就是理論很多人都懂,但實(shí)際上很多難以實(shí)施,導(dǎo)致健身能有效果、能堅(jiān)持的人鳳毛麟角。目前,關(guān)于運(yùn)動(dòng)健身的硬件設(shè)備已經(jīng)很發(fā)達(dá),如智能手環(huán)、智能手表、智能體脂稱等,這些設(shè)備,可以使用戶方便地獲取運(yùn)動(dòng)時(shí)間、心率、體重、體脂、肌肉含量等信息。對(duì)于非專業(yè)運(yùn)動(dòng)員,這些設(shè)備采集到的數(shù)據(jù)已經(jīng)夠用。但是,如何利用好這些數(shù)據(jù),是目前亟待解決的一個(gè)問(wèn)題。
圖1:基于用戶的協(xié)同過(guò)濾推薦
本文旨在提出一套個(gè)性化智能健身系統(tǒng)的設(shè)計(jì)方案,為不同健身目標(biāo)的用戶分階段推薦個(gè)性化的健身方案。
針對(duì)新進(jìn)入系統(tǒng)的用戶,系統(tǒng)將為其推薦簡(jiǎn)單、易操作的運(yùn)動(dòng)方案和飲食方案,這些方案由人工篩選出來(lái)。由于沒有足夠的數(shù)據(jù),常規(guī)推薦只用于解決推薦系統(tǒng)中新用戶的冷啟動(dòng)問(wèn)題。
基于內(nèi)容(Content-based,CB)的推薦,是根據(jù)運(yùn)動(dòng)、飲食方案的特征和用戶的歷史行為進(jìn)行推薦,不依賴其他用戶。推薦給用戶的是與其曾經(jīng)喜歡的方案的相似方案。其推薦方式為:
1.2.1 獲得方案的描述信息
本系統(tǒng)通過(guò)加標(biāo)簽來(lái)描述一個(gè)方案的特征,標(biāo)簽通過(guò)人工標(biāo)注,也可以通過(guò)方案描述內(nèi)容或用戶反饋的內(nèi)容抽取。
1.2.2 獲取用戶偏好信息
獲取用戶的歷史行為,比如對(duì)某一方案的完成度、點(diǎn)贊、評(píng)分、評(píng)價(jià)、收藏等行為,這些行為代表了用戶的偏好,根據(jù)這些偏好可以為建立用戶偏好模型,根據(jù)此模型可以推斷用戶是否喜歡某一方案。
1.2.3 生成推薦
將用戶偏好的特征和方案的特征進(jìn)行比較,把匹配程度比較高的方案推薦給用戶。
基于內(nèi)容的推薦思路比較簡(jiǎn)單,推薦比較準(zhǔn)確,對(duì)于加入系統(tǒng)數(shù)據(jù)庫(kù)的方案,即使沒有用戶評(píng)分也能通過(guò)其標(biāo)簽作為特征,推薦給喜歡的用戶,同時(shí)可以推薦冷門的方案。但是,基于內(nèi)容的推薦存在新用戶冷啟動(dòng)的問(wèn)題,且新穎度較差。針對(duì)新用戶,可以采用常規(guī)推薦來(lái)彌補(bǔ);針對(duì)新穎度,則可以采用基于協(xié)同過(guò)濾的推薦來(lái)補(bǔ)充。
基于協(xié)同過(guò)濾(Collaborative Filtering,CF)的推薦需要獲取用戶對(duì)方案的偏好信息,然后通過(guò)用戶的偏好信息挖掘方案和用戶之間的相關(guān)性,根據(jù)這種相關(guān)性推斷用戶喜歡的其他方案?;趨f(xié)同過(guò)濾的推薦方法主要有基于用戶的協(xié)同過(guò)濾推薦、基于項(xiàng)目的協(xié)同過(guò)濾推薦和基于模型的協(xié)同過(guò)濾推薦,種類繁多,本系統(tǒng)采用基于用戶的協(xié)同過(guò)濾方式。
基于用戶的協(xié)同過(guò)濾推薦,主要是根據(jù)用戶對(duì)方案的偏好信息挖掘相似用戶,找到和目標(biāo)用戶有相似偏好的用戶群體,給目標(biāo)用戶推薦其相似偏好群體普遍喜歡但該用戶并未接觸過(guò)的方案。算法原理如圖1所示。
圖1的流程是:如果用戶1和用戶2都喜歡方案A和方案B,而用戶3只喜歡方案C,則認(rèn)為用戶1和用戶2偏好相似,可以認(rèn)為用戶2喜歡的方案用戶1也會(huì)喜歡;由于用戶2還喜歡方案C,則認(rèn)為用戶1應(yīng)該也會(huì)喜歡方案C,只是沒有接觸過(guò),故而可以給用戶1推薦方案C。
本系統(tǒng)將用戶分為三類:以減脂為目的的用戶;以增肌為目的的用戶以及以保持健康為目的的用戶。針對(duì)這三類用戶,分階段推薦運(yùn)動(dòng)及飲食方案。
圖2:推薦系統(tǒng)架構(gòu)設(shè)計(jì)
針對(duì)第一類以減脂為目的的用戶,推薦系統(tǒng)分三步進(jìn)行:
第一階段:考慮到這類用戶不愛運(yùn)動(dòng)、飲食過(guò)量的特點(diǎn),系統(tǒng)將為其推薦簡(jiǎn)單、可操作的運(yùn)動(dòng)方案和飲食方案。該步驟中的方案通用性較強(qiáng),沒什么個(gè)性化成分,由人工篩選,目的是激發(fā)用戶的運(yùn)動(dòng)習(xí)慣、改善用戶的飲食結(jié)構(gòu)。在推薦方案的過(guò)程中,還要不斷收集用戶的反饋信息、采集用戶數(shù)據(jù),為后續(xù)階段的推薦做數(shù)據(jù)準(zhǔn)備。
第二階段:一段時(shí)間之后,等獲取到了用戶對(duì)所推薦方案的反饋信息、采集到了足夠的用戶數(shù)據(jù),即可改為“基于內(nèi)容的推薦方法”,根據(jù)用戶對(duì)之前方案的反饋情況,結(jié)合其運(yùn)動(dòng)水平、運(yùn)動(dòng)周期、興趣愛好、飲食習(xí)慣等信息,為其推薦其喜歡的運(yùn)動(dòng)、飲食方案,目的是維持用戶的興趣。
第三階段:如果用戶能夠堅(jiān)持,再經(jīng)過(guò)一段時(shí)間,系統(tǒng)將收集到更多的用戶數(shù)據(jù),基于這些數(shù)據(jù),采用“基于協(xié)同過(guò)濾推薦的方法”,挖掘和該用戶同類型的其它用戶,將同類用戶喜歡的方案推薦過(guò)去。
對(duì)于第二類以增肌為目的的用戶,和對(duì)第一類用戶是類似的,只是側(cè)重點(diǎn)有所不同,比如多推薦力量訓(xùn)練,多推薦高蛋白飲食。
對(duì)于第三類用戶,他們的目的是保持健康。這類用戶飲食方面沒有太大問(wèn)題,主要是需要維持運(yùn)動(dòng)習(xí)慣。針對(duì)這類用戶,側(cè)重于運(yùn)動(dòng)方案的推薦,當(dāng)其運(yùn)動(dòng)量長(zhǎng)期不達(dá)標(biāo)時(shí),發(fā)出提醒即可。
本系統(tǒng)主要分為四大模塊,分別是:方案管理模塊、推薦引擎組、用戶反饋模塊、用戶數(shù)據(jù)采集模塊。方案管理模塊負(fù)責(zé)方案數(shù)據(jù)的錄入、編輯,還要給方案一個(gè)初始評(píng)分,并為每種方案打上若干個(gè)標(biāo)簽,標(biāo)簽可以通過(guò)方案的描述信息自動(dòng)提取,也可人工編輯。初始評(píng)分是為常規(guī)推薦服務(wù)的,評(píng)分高的方案優(yōu)先推薦給用戶,用于解決新用戶的冷啟動(dòng)問(wèn)題。打便簽是為基于內(nèi)容的推薦服務(wù)的,推薦引擎組利用標(biāo)簽為用戶產(chǎn)生基于內(nèi)容的推薦結(jié)果;推薦引擎組是核心模塊,負(fù)責(zé)結(jié)合方案數(shù)據(jù)、用戶數(shù)據(jù),分階段地為各類用戶推薦運(yùn)動(dòng)、飲食方案;用戶反饋模塊負(fù)責(zé)收集用戶反饋數(shù)據(jù),主要是對(duì)所推薦方案的反饋信息,包括評(píng)分、點(diǎn)贊、收藏、評(píng)價(jià)、意見、建議等。將采集到的信息經(jīng)過(guò)處理之后,傳入用戶數(shù)據(jù)收集模塊;用戶數(shù)據(jù)收集模塊負(fù)責(zé)收集用戶數(shù)據(jù)采集設(shè)備采集到的數(shù)據(jù),結(jié)合用戶反饋信息進(jìn)行處理,將處理結(jié)果持久化到數(shù)據(jù)庫(kù)中,以便推薦引擎組進(jìn)行推薦。設(shè)計(jì)架構(gòu)圖如圖2所示。
綜上所述,依據(jù)物聯(lián)網(wǎng)設(shè)備采集的相關(guān)數(shù)據(jù)信息,為不同類型的用戶提供了個(gè)性化的混合推薦系統(tǒng),有利于用戶提高健身的效果。健身不僅與這些數(shù)據(jù)有關(guān),還與用戶的飲食有關(guān),而飲食的數(shù)據(jù)是一個(gè)不確定的因素,只能根據(jù)自身的定期且定量的數(shù)據(jù)來(lái)界定,然后進(jìn)一步完善健身推薦系統(tǒng)。