辛?xí)杂?,劉正捷,?爽,楊 蕾
(大連海事大學(xué) 信息科學(xué)技術(shù)學(xué)院,遼寧 大連 116026)
移動端用戶行為研究有助于掌握用戶行為習(xí)慣,發(fā)現(xiàn)現(xiàn)有產(chǎn)品的體驗(yàn)問題、指導(dǎo)產(chǎn)品設(shè)計(jì)等[1]?,F(xiàn)有工作通常分為兩類:訪談法和日志法[2]。訪談法可以直接獲取用戶對于APP使用行為的看法,但這種方法數(shù)據(jù)獲取成本高且無法挖掘行為細(xì)節(jié)[3]。許多APP的使用是由環(huán)境觸發(fā)的,因此很難進(jìn)行有意義的基于實(shí)驗(yàn)室的評估[4]。日志法對于長期捕獲用戶行為[5]或跟蹤特定事件[6]以及進(jìn)行個性化推薦等[7]都是非常有用的。但是大多數(shù)日志都局限于相當(dāng)普遍的系統(tǒng)事件[8],只有修改程序源代碼才能獲取用戶在APP內(nèi)實(shí)際執(zhí)行的操作,這使得詳細(xì)分析APP內(nèi)的用戶行為變得困難[9]。
在人機(jī)交互領(lǐng)域,屏幕錄制經(jīng)常被用來收集用戶在使用計(jì)算機(jī)系統(tǒng)時(shí)發(fā)生的用戶輸入、系統(tǒng)反應(yīng)和顯示。通過對屏幕錄制視頻或截圖進(jìn)行記錄和分析,可以為用戶如何使用計(jì)算機(jī)系統(tǒng)以及如何與系統(tǒng)交互提供深入的定性或定量的洞見[10],從而得出關(guān)于評估可用性或用戶體驗(yàn)的結(jié)論。在此研究的基礎(chǔ)上,本文基于CAUX(context awareness user experience)工具(本文中簡稱CAUX),通過屏幕錄制以情境感知的方式自動獲取用戶在APP內(nèi)的操作行為數(shù)據(jù),使用圖像對比技術(shù),自動進(jìn)行數(shù)據(jù)分析,從而發(fā)現(xiàn)可用性問題,指導(dǎo)產(chǎn)品的設(shè)計(jì)。
在人機(jī)交互領(lǐng)域,使用截屏或屏幕錄制來記錄用戶行為操作是一種廣泛使用的方法。Brown等[11]開發(fā)了一款A(yù)PP運(yùn)行在用戶手機(jī)上,可以收集用戶的屏幕記錄、音頻、GSP定位等數(shù)據(jù),并由參與者回顧和注釋他們的數(shù)據(jù)記錄,以供研究人員日后分析。該研究結(jié)果表明,視頻分析有助于理解用戶如何交互和使用移動設(shè)備。
Bao等[12]通過屏幕錄制來記錄開發(fā)人員在各種軟件開發(fā)任務(wù)中的行為。隨后參與者進(jìn)行手工轉(zhuǎn)錄,將屏幕捕獲的視頻編碼為可分析的數(shù)據(jù)(例如,使用的軟件、訪問或生成的內(nèi)容),幫助深入了解開發(fā)人員在各種軟件開發(fā)任務(wù)中的行為。但這種手工轉(zhuǎn)錄方法既昂貴又費(fèi)時(shí),視頻錄制時(shí)間與視頻分析時(shí)間之比約為1∶3-3.75。Yamashita等[13]利用屏幕錄制和出聲思維結(jié)合的方法來研究開發(fā)人員的行為模式,但出聲思維可能會干擾用戶在屏幕錄制時(shí)的操作。
開源應(yīng)用軟件InspectorWidget[14]可以跟蹤和分析用戶在交互軟件中的行為。該軟件記錄用戶執(zhí)行任務(wù)時(shí)的屏幕內(nèi)容,研究人員利用計(jì)算機(jī)視覺技術(shù)編寫屏幕注釋程序,自動對屏幕記錄進(jìn)行注釋,并將結(jié)果可視化或?qū)С鲆怨┻M(jìn)一步分析。但該軟件只能用于Linux、Windows等桌面設(shè)備,并不支持移動設(shè)備。
目前的研究工作表明使用屏幕錄制獲取用戶行為數(shù)據(jù)可以獲得一些關(guān)于用戶行為的見解,但傳統(tǒng)的人工分析方法繁瑣且費(fèi)時(shí)。利用計(jì)算機(jī)視覺技術(shù)自動進(jìn)行事件檢測是可行的,但這種方法一般計(jì)算量很高。目前并沒有適用于捕獲并分析APP內(nèi)行為的輕量型自動化工具。本文作者采用屏幕錄制的方法來獲取APP內(nèi)用戶行為,采用圖像對比技術(shù)自動識別并輸出用戶行為序列,解決了這一問題。在下一節(jié)中,將詳細(xì)描述該方法。
本文提出的方法主要分為3步:任務(wù)及基準(zhǔn)圖片定義、用戶行為捕捉和數(shù)據(jù)半自動化分析。流程如圖1所示。接下來將詳細(xì)描述這3步。
圖1 方法流程
研究人員定義某APP的典型任務(wù),將表征所有典型任務(wù)的典型屏幕畫面定義為基準(zhǔn)圖片集;確定基準(zhǔn)圖片集的模板,對基準(zhǔn)圖片進(jìn)行編號并標(biāo)注頁面信息;為每個典型任務(wù)定義由基準(zhǔn)圖片標(biāo)識的期望的執(zhí)行序列。由于不同型號的手機(jī)分辨率不同,為了提高數(shù)據(jù)分析效率,需要每名用戶對應(yīng)一組基準(zhǔn)圖片集。在實(shí)驗(yàn)前將基準(zhǔn)圖片集模板下發(fā)給用戶,要求用戶截取對應(yīng)圖片并上傳至服務(wù)器。
CAUX是基于情境感知的用戶體驗(yàn)研究工具,安裝運(yùn)行在用戶手機(jī)上,通過感知情境信息來進(jìn)行數(shù)據(jù)采集。目前CAUX獲取的用戶行為數(shù)據(jù)局限于APP外的系統(tǒng)數(shù)據(jù),APP內(nèi)的操作行為主要依靠彈出問卷這種用戶自報(bào)告方式來獲取,這種方式對用戶侵?jǐn)_性大,可行性較低。因此考慮為CAUX增加屏幕錄制功能來捕捉APP內(nèi)的用戶行為。通過屏幕錄制可以獲得用戶在APP內(nèi)的完整操作,并自動存儲時(shí)間戳。
2.2.1 隱私保護(hù)說明
捕捉和分析用戶行為數(shù)據(jù)需要仔細(xì)考慮隱私問題。本文作者采取了一系列步驟來保護(hù)數(shù)據(jù)集中相關(guān)用戶的隱私。首先,在實(shí)驗(yàn)開始前會征求用戶對于屏幕錄制的同意。在數(shù)據(jù)采集的過程中,在屏幕上方會有紅色懸浮窗表示處于屏幕錄制狀態(tài)。其次,收集的所有原始數(shù)據(jù)都保存在服務(wù)器中,只有研究人員可以下載查看。最后,對所有用戶進(jìn)行標(biāo)識符匿名化。數(shù)據(jù)集不包括我們研究期間所涉及的用戶個人信息。
2.2.2 數(shù)據(jù)采集流程
CAUX捕捉APP內(nèi)用戶行為數(shù)據(jù)可以分為4個步驟,數(shù)據(jù)采集流程如圖2所示。
圖2 數(shù)據(jù)采集流程
(1)研究人員設(shè)置指令。研究人員根據(jù)案例研究目標(biāo)確定自己感興趣的情境,制定指令文件并上傳到服務(wù)器。每個研究項(xiàng)目可能對應(yīng)一個或多個指令組,分別對應(yīng)不同情境下的采集意圖。以網(wǎng)易有道詞典為例,一個指令組可將網(wǎng)易有道詞典在前臺運(yùn)行設(shè)定為指令觸發(fā)條件,將采集客觀數(shù)據(jù)和開啟錄屏設(shè)定為數(shù)據(jù)采集操作。
(2)客戶端解析指令文件。用戶安裝運(yùn)行CAUX,客戶端自動從服務(wù)器下載指令。指令解析模塊負(fù)責(zé)循環(huán)解析指令,并逐條存儲在一個表結(jié)構(gòu)中。
(3)客戶端監(jiān)聽情境信息。循環(huán)監(jiān)聽情境信息,判斷當(dāng)下情境是否滿足指令的觸發(fā)條件,若滿足,則跳轉(zhuǎn)到數(shù)據(jù)采集模塊進(jìn)行相應(yīng)的數(shù)據(jù)采集動作,采集客觀數(shù)據(jù)以及開啟錄屏功能;若不滿足則繼續(xù)循環(huán)監(jiān)聽。
(4)采集到的數(shù)據(jù)暫存在本地文件夾中,通過通信模塊上傳到服務(wù)器。
用戶研究人員可以從服務(wù)器中查看錄屏視頻并進(jìn)行數(shù)據(jù)分析。傳統(tǒng)的數(shù)據(jù)分析方法需要用戶研究人員觀看視頻并手動記錄用戶行為,存在效率低、容易出錯的缺點(diǎn)。本文作者利用圖像對比工具Blink-diff實(shí)現(xiàn)了半自動化數(shù)據(jù)分析,自動識別用戶行為序列,并輸出到日志文件中。整個數(shù)據(jù)分析過程概覽如圖3所示。
圖3 數(shù)據(jù)分析流程
(1)用戶屏幕圖片序列
將錄屏視頻拆解為某特定APP內(nèi)代表用戶行為路徑的屏幕圖片序列。實(shí)驗(yàn)結(jié)果表明,按3 s的定時(shí)驅(qū)動截圖基本可以完整還原用戶操作。因此,將錄屏視頻按每3 s截一次圖進(jìn)行處理,得到用戶屏幕圖片序列。
(2)用戶行為識別
將用戶的屏幕圖片序列與基準(zhǔn)圖片集進(jìn)行對比,映射為由基準(zhǔn)圖片標(biāo)識的用戶行為序列,并輸出到日志文件中。
Blink-diff是雅虎公司發(fā)布的開源圖像對比工具,通過調(diào)用其提供的API實(shí)現(xiàn)圖像對比工具并開發(fā)了數(shù)據(jù)分析平臺。數(shù)據(jù)分析過程分為3部分:數(shù)據(jù)預(yù)處理、圖片對比和結(jié)果輸出。數(shù)據(jù)預(yù)處理即將用戶屏幕圖片序列和基準(zhǔn)圖片集調(diào)整為指定的分辨率并從0開始按序編號。圖片對比,將用戶屏幕圖片序列和基準(zhǔn)圖片集分別放入兩個文件夾下,對兩個文件夾中的圖片一一進(jìn)行比較。結(jié)果輸出,輸出相似度,規(guī)定數(shù)據(jù)輸出格式為: 用戶屏幕圖片編號——圖片基準(zhǔn)編號:相似度百分比。
圖片對比的算法如下:
算法名稱:PictureCompare(userPath, radixPath)
輸入:用戶行為圖片路徑userPath,基準(zhǔn)圖片路徑radixPath
輸出:每一個用戶行為圖片與所有基準(zhǔn)圖片的相似度矩陣Resemblance
(1) foreach picture_i in userPath: %遍歷所有用戶行為數(shù)據(jù)
(2) foreach picture_j in radixPath: %遍歷所有基準(zhǔn)行為數(shù)據(jù)
(3) Resemblance[i, j] = caculateResemblance(picture_i, picture_j); %計(jì)算兩者相似度
(4) end
(5) end
其中caculateResemblance(picture_i,piuture_j)函數(shù)指逐像素對比兩張圖片,并輸出相似度百分比。
將圖片對比程序輸出的信息讀入數(shù)組,篩選每個用戶屏幕圖片相似度最高的基準(zhǔn)圖片作為匹配結(jié)果,得到基準(zhǔn)圖片標(biāo)識的n位數(shù)字序列(n為用戶屏幕圖片數(shù))。對這一序列進(jìn)行處理,合并連續(xù)的相同數(shù)字,同時(shí)將數(shù)字映射為頁面信息。映射規(guī)則由一個提前編寫好的文本文件控制。數(shù)據(jù)分析平臺的運(yùn)行過程如下:
輸入:用戶行為圖片路徑imgPath,基準(zhǔn)圖片路徑radixPath,分辨率X*Y,映射規(guī)則mappingRule
輸出:用戶行為序列seq
(1) seq ← Φ;
(2) foreach picture in imgPath:
(3) changeResolution(picture,X,Y);%調(diào)整每一個用戶行為圖片的分辨率為X*Y;
(4) end
(5) foreach picture in radixPath:
(6) changeResolution(picture,X,Y);%調(diào)整每一個基準(zhǔn)圖片的分辨率為X*Y;
(7) end
(8) Resemblance = PictureCompare(imgPath, radixPath);%調(diào)用圖片對比算法獲取相似度
(9) foreach picture in imgPath:
(10) j=getMostSimilarRadixPicture(picture,Resemblance);%與相似度最大的基準(zhǔn)圖片編號j
(11) add(j, seq);%將編號j加入序列seq
(12) end
(13) foreach i in seq:
(14) transferToBehavior(i, mappingRule);%按照映射規(guī)則將數(shù)字編號i轉(zhuǎn)化為對應(yīng)行為
(15) end
其中changeResolution(picture,X,Y) 函數(shù)將圖片分辨率調(diào)到指定參數(shù), PictureCompare(imgPath, radixPath) 函數(shù)指比較兩個文件夾下的圖片序列, getMostSimilarRadixPicture(picture,Resemblance) 指找到與用戶行為圖片相似度最大的基準(zhǔn)圖片編號,picture為用戶行為圖片,Resemblance為用戶行為圖片與所有基準(zhǔn)圖片的相似度矩陣。
數(shù)據(jù)分析結(jié)果示例見表1。
表1 數(shù)據(jù)分析結(jié)果
(3)行為模式提取及可用性問題檢測
將用戶行為序列進(jìn)行聚類,得到典型任務(wù)的行為模式。這是通過累積類似的行為序列來實(shí)現(xiàn)的。每個典型任務(wù)的行為模式有一個或多個主要路徑,根據(jù)遍歷該路徑的用戶數(shù)量進(jìn)行加權(quán)。所有起始頁以及目標(biāo)頁和遍歷每個節(jié)點(diǎn)的用戶數(shù)量都被添加到行為模式中。將任務(wù)的預(yù)期序列與任務(wù)的最常見行為模式進(jìn)行比較。尋找“預(yù)期的”執(zhí)行和“實(shí)際的”模式之間的差異,以確定任務(wù)是否真的按照設(shè)計(jì)人員的計(jì)劃執(zhí)行,從而可以發(fā)現(xiàn)可用性問題。
為了驗(yàn)證方法是否可行,作者選取了有道詞典作為案例,使用該方法進(jìn)行用戶行為研究。根據(jù)艾瑞咨詢2018年移動APP指數(shù)中有道詞典的用戶特征,年齡分布在18~30歲的占比58%,因此將目標(biāo)用戶定為在校大學(xué)生。研究目標(biāo)為探索在校大學(xué)生使用有道詞典的行為模式。
對有道詞典APP進(jìn)行分析,制定6個典型任務(wù)以及預(yù)期的執(zhí)行序列,見表2。
表2 任務(wù)及預(yù)期序列
定義36張能夠表征網(wǎng)易有道詞典所有典型任務(wù)的典型屏幕頁面的基準(zhǔn)圖片,并對其進(jìn)行編號和信息標(biāo)注。具體的基準(zhǔn)圖片見表3。
表3 基準(zhǔn)圖片
為了獲取用戶在自然狀態(tài)下使用有道詞典的行為數(shù)據(jù),需要研究人員明確感興趣的情境并編寫指令,根據(jù)指令觸發(fā)自動開啟或關(guān)閉錄屏功能。本實(shí)驗(yàn)中感興趣的情境為有道詞典使用狀態(tài)。根據(jù)指令文件的格式進(jìn)行轉(zhuǎn)換,采用”IF……THEN……”的格式,具體的采集指令集見表4。
表4 數(shù)據(jù)采集指令
據(jù)艾瑞咨詢2018年移動APP指數(shù)中有道詞典的用戶特征,確定招募用戶的年齡段及性別比例,即年齡段18-24∶25-30為2∶1;男:女為1∶1,共招募用戶6人。
采用遠(yuǎn)程的方式指導(dǎo)用戶安裝CAUX并下載指令文件,給用戶下發(fā)基準(zhǔn)圖片集模板。指導(dǎo)用戶打開有道詞典自動開啟錄屏功能,在這個過程中,用戶按照基準(zhǔn)圖片集模板進(jìn)行圖片截取。完成后退出有道詞典自動關(guān)閉錄屏功能,用戶上傳數(shù)據(jù)。接下來用戶可以正常使用手機(jī),開展為期一個月的實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)束后,用戶上傳數(shù)據(jù)到服務(wù)器后可卸載軟件。
本實(shí)驗(yàn)歷時(shí)一個月,共收集346段錄屏視頻。采用基于圖片對比的半自動化數(shù)據(jù)分析方法,具體分析步驟如下:
(1)用戶屏幕圖片序列提取。將錄屏視頻按每3 s一次進(jìn)行截圖處理,得到346組用戶屏幕圖片序列。剔除無實(shí)際操作的數(shù)據(jù)后,獲得有效數(shù)據(jù)325條。
(2)用戶行為識別。編寫含有映射規(guī)則的文本文件。通過數(shù)據(jù)分析平臺,得到325條由基準(zhǔn)圖片標(biāo)識映射的用戶行為序列。
(3)行為模式提取及可用性問題檢測。為了探索用戶執(zhí)行任務(wù)的行為模式,對用戶行為序列進(jìn)行聚類。以查單詞為例,共篩選出196條用戶行為序列。通過觀察用戶行為序列,發(fā)現(xiàn)用戶退出APP有兩種模式:返回到首頁退出和在任務(wù)完成頁直接退出。因此,在用戶行為序列的首頁面可能存在多種情況,這里統(tǒng)稱為其它頁面。通過累積類似的行為序列,總結(jié)出兩種行為模式。
通過聚類分析發(fā)現(xiàn)用戶查單詞存在以下行為特點(diǎn):英譯漢發(fā)生的頻率遠(yuǎn)大于漢譯英;漢譯英過程中,大多數(shù)遵循“輸入單詞(漢譯英)->英文釋義->經(jīng)典例句”的行為模式;英譯漢的過程中,大多數(shù)用戶查看中文釋義后就結(jié)束了本次會話或跳轉(zhuǎn)回首頁,只有極小部分會查看經(jīng)典例句。因此總結(jié)出兩種行為模式:漢譯英:首頁->輸入單詞(漢譯英)->英文釋義->經(jīng)典例句;英譯漢:首頁->輸入單詞(英譯漢)->中文釋義。對比這兩種用戶行為模式與預(yù)期序列,發(fā)現(xiàn)與漢譯英的預(yù)期序列一致,而與英譯漢存在差異。從這種差異中可以推測出,在英譯漢的場景下,由于對應(yīng)的中文釋義為母語,較好理解,用戶并不關(guān)注經(jīng)典例句,而需要更加快速獲取中文釋義。
分析全部數(shù)據(jù)后,共發(fā)現(xiàn)11種用戶行為模式。通過與典型任務(wù)的預(yù)期序列進(jìn)行比較,發(fā)現(xiàn)行為模式與預(yù)期序列之間的差異,并總結(jié)出6條可用性問題。見表5。
表5 用戶行為模式及可用性問題
本文提出了一種APP內(nèi)用戶行為捕捉與分析方法,即利用CAUX以屏幕錄制的方式自動采集用戶行為數(shù)據(jù),并基于圖像對比技術(shù)實(shí)現(xiàn)數(shù)據(jù)半自動化分析。該方法可以捕捉用戶在移動屏幕上的所有操作,不依賴于修改應(yīng)用程序的源代碼。采用圖片序列對比的數(shù)據(jù)分析方法,自動檢測用戶行為,獲得用戶行為序列。對用戶行為序列聚類分析,總結(jié)用戶行為模式。比較用戶行為模式與預(yù)期序列,識別其中的差異,發(fā)現(xiàn)可用性問題。本文作者應(yīng)用CAUX,針對6名用戶,跨時(shí)一個月對使用有道詞典的情況進(jìn)行了研究,共總結(jié)出11條用戶行為模式和6條可用性問題。實(shí)驗(yàn)驗(yàn)證,該方法能夠獲取用戶在自然狀態(tài)下APP內(nèi)的行為數(shù)據(jù),并半自動化對行為數(shù)據(jù)進(jìn)行分析,可以發(fā)現(xiàn)可用性問題。
由于時(shí)間、資源有限,本文工作還存在一些不足之處。目前分析出的用戶行為模式還不夠全面,在接下來的研究中可以通過擴(kuò)大數(shù)據(jù)量,進(jìn)一步獲取更多的APP內(nèi)用戶行為數(shù)據(jù),定義存在可用性問題的操作序列,與用戶行為模式作比較,從而自動檢測出可用性問題。