辛?xí)杂睿瑒⒄荩?爽,楊 蕾
(大連海事大學(xué) 信息科學(xué)技術(shù)學(xué)院,遼寧 大連 116026)
移動(dòng)端用戶行為研究有助于掌握用戶行為習(xí)慣,發(fā)現(xiàn)現(xiàn)有產(chǎn)品的體驗(yàn)問(wèn)題、指導(dǎo)產(chǎn)品設(shè)計(jì)等[1]。現(xiàn)有工作通常分為兩類(lèi):訪談法和日志法[2]。訪談法可以直接獲取用戶對(duì)于APP使用行為的看法,但這種方法數(shù)據(jù)獲取成本高且無(wú)法挖掘行為細(xì)節(jié)[3]。許多APP的使用是由環(huán)境觸發(fā)的,因此很難進(jìn)行有意義的基于實(shí)驗(yàn)室的評(píng)估[4]。日志法對(duì)于長(zhǎng)期捕獲用戶行為[5]或跟蹤特定事件[6]以及進(jìn)行個(gè)性化推薦等[7]都是非常有用的。但是大多數(shù)日志都局限于相當(dāng)普遍的系統(tǒng)事件[8],只有修改程序源代碼才能獲取用戶在APP內(nèi)實(shí)際執(zhí)行的操作,這使得詳細(xì)分析APP內(nèi)的用戶行為變得困難[9]。
在人機(jī)交互領(lǐng)域,屏幕錄制經(jīng)常被用來(lái)收集用戶在使用計(jì)算機(jī)系統(tǒng)時(shí)發(fā)生的用戶輸入、系統(tǒng)反應(yīng)和顯示。通過(guò)對(duì)屏幕錄制視頻或截圖進(jìn)行記錄和分析,可以為用戶如何使用計(jì)算機(jī)系統(tǒng)以及如何與系統(tǒng)交互提供深入的定性或定量的洞見(jiàn)[10],從而得出關(guān)于評(píng)估可用性或用戶體驗(yàn)的結(jié)論。在此研究的基礎(chǔ)上,本文基于CAUX(context awareness user experience)工具(本文中簡(jiǎn)稱CAUX),通過(guò)屏幕錄制以情境感知的方式自動(dòng)獲取用戶在APP內(nèi)的操作行為數(shù)據(jù),使用圖像對(duì)比技術(shù),自動(dòng)進(jìn)行數(shù)據(jù)分析,從而發(fā)現(xiàn)可用性問(wèn)題,指導(dǎo)產(chǎn)品的設(shè)計(jì)。
在人機(jī)交互領(lǐng)域,使用截屏或屏幕錄制來(lái)記錄用戶行為操作是一種廣泛使用的方法。Brown等[11]開(kāi)發(fā)了一款A(yù)PP運(yùn)行在用戶手機(jī)上,可以收集用戶的屏幕記錄、音頻、GSP定位等數(shù)據(jù),并由參與者回顧和注釋他們的數(shù)據(jù)記錄,以供研究人員日后分析。該研究結(jié)果表明,視頻分析有助于理解用戶如何交互和使用移動(dòng)設(shè)備。
Bao等[12]通過(guò)屏幕錄制來(lái)記錄開(kāi)發(fā)人員在各種軟件開(kāi)發(fā)任務(wù)中的行為。隨后參與者進(jìn)行手工轉(zhuǎn)錄,將屏幕捕獲的視頻編碼為可分析的數(shù)據(jù)(例如,使用的軟件、訪問(wèn)或生成的內(nèi)容),幫助深入了解開(kāi)發(fā)人員在各種軟件開(kāi)發(fā)任務(wù)中的行為。但這種手工轉(zhuǎn)錄方法既昂貴又費(fèi)時(shí),視頻錄制時(shí)間與視頻分析時(shí)間之比約為1∶3-3.75。Yamashita等[13]利用屏幕錄制和出聲思維結(jié)合的方法來(lái)研究開(kāi)發(fā)人員的行為模式,但出聲思維可能會(huì)干擾用戶在屏幕錄制時(shí)的操作。
開(kāi)源應(yīng)用軟件InspectorWidget[14]可以跟蹤和分析用戶在交互軟件中的行為。該軟件記錄用戶執(zhí)行任務(wù)時(shí)的屏幕內(nèi)容,研究人員利用計(jì)算機(jī)視覺(jué)技術(shù)編寫(xiě)屏幕注釋程序,自動(dòng)對(duì)屏幕記錄進(jìn)行注釋?zhuān)⒔Y(jié)果可視化或?qū)С鲆怨┻M(jìn)一步分析。但該軟件只能用于Linux、Windows等桌面設(shè)備,并不支持移動(dòng)設(shè)備。
目前的研究工作表明使用屏幕錄制獲取用戶行為數(shù)據(jù)可以獲得一些關(guān)于用戶行為的見(jiàn)解,但傳統(tǒng)的人工分析方法繁瑣且費(fèi)時(shí)。利用計(jì)算機(jī)視覺(jué)技術(shù)自動(dòng)進(jìn)行事件檢測(cè)是可行的,但這種方法一般計(jì)算量很高。目前并沒(méi)有適用于捕獲并分析APP內(nèi)行為的輕量型自動(dòng)化工具。本文作者采用屏幕錄制的方法來(lái)獲取APP內(nèi)用戶行為,采用圖像對(duì)比技術(shù)自動(dòng)識(shí)別并輸出用戶行為序列,解決了這一問(wèn)題。在下一節(jié)中,將詳細(xì)描述該方法。
本文提出的方法主要分為3步:任務(wù)及基準(zhǔn)圖片定義、用戶行為捕捉和數(shù)據(jù)半自動(dòng)化分析。流程如圖1所示。接下來(lái)將詳細(xì)描述這3步。

圖1 方法流程
研究人員定義某APP的典型任務(wù),將表征所有典型任務(wù)的典型屏幕畫(huà)面定義為基準(zhǔn)圖片集;確定基準(zhǔn)圖片集的模板,對(duì)基準(zhǔn)圖片進(jìn)行編號(hào)并標(biāo)注頁(yè)面信息;為每個(gè)典型任務(wù)定義由基準(zhǔn)圖片標(biāo)識(shí)的期望的執(zhí)行序列。由于不同型號(hào)的手機(jī)分辨率不同,為了提高數(shù)據(jù)分析效率,需要每名用戶對(duì)應(yīng)一組基準(zhǔn)圖片集。在實(shí)驗(yàn)前將基準(zhǔn)圖片集模板下發(fā)給用戶,要求用戶截取對(duì)應(yīng)圖片并上傳至服務(wù)器。
CAUX是基于情境感知的用戶體驗(yàn)研究工具,安裝運(yùn)行在用戶手機(jī)上,通過(guò)感知情境信息來(lái)進(jìn)行數(shù)據(jù)采集。目前CAUX獲取的用戶行為數(shù)據(jù)局限于APP外的系統(tǒng)數(shù)據(jù),APP內(nèi)的操作行為主要依靠彈出問(wèn)卷這種用戶自報(bào)告方式來(lái)獲取,這種方式對(duì)用戶侵?jǐn)_性大,可行性較低。因此考慮為CAUX增加屏幕錄制功能來(lái)捕捉APP內(nèi)的用戶行為。通過(guò)屏幕錄制可以獲得用戶在APP內(nèi)的完整操作,并自動(dòng)存儲(chǔ)時(shí)間戳。
2.2.1 隱私保護(hù)說(shuō)明
捕捉和分析用戶行為數(shù)據(jù)需要仔細(xì)考慮隱私問(wèn)題。本文作者采取了一系列步驟來(lái)保護(hù)數(shù)據(jù)集中相關(guān)用戶的隱私。首先,在實(shí)驗(yàn)開(kāi)始前會(huì)征求用戶對(duì)于屏幕錄制的同意。在數(shù)據(jù)采集的過(guò)程中,在屏幕上方會(huì)有紅色懸浮窗表示處于屏幕錄制狀態(tài)。其次,收集的所有原始數(shù)據(jù)都保存在服務(wù)器中,只有研究人員可以下載查看。最后,對(duì)所有用戶進(jìn)行標(biāo)識(shí)符匿名化。數(shù)據(jù)集不包括我們研究期間所涉及的用戶個(gè)人信息。
2.2.2 數(shù)據(jù)采集流程
CAUX捕捉APP內(nèi)用戶行為數(shù)據(jù)可以分為4個(gè)步驟,數(shù)據(jù)采集流程如圖2所示。

圖2 數(shù)據(jù)采集流程
(1)研究人員設(shè)置指令。研究人員根據(jù)案例研究目標(biāo)確定自己感興趣的情境,制定指令文件并上傳到服務(wù)器。每個(gè)研究項(xiàng)目可能對(duì)應(yīng)一個(gè)或多個(gè)指令組,分別對(duì)應(yīng)不同情境下的采集意圖。以網(wǎng)易有道詞典為例,一個(gè)指令組可將網(wǎng)易有道詞典在前臺(tái)運(yùn)行設(shè)定為指令觸發(fā)條件,將采集客觀數(shù)據(jù)和開(kāi)啟錄屏設(shè)定為數(shù)據(jù)采集操作。
(2)客戶端解析指令文件。用戶安裝運(yùn)行CAUX,客戶端自動(dòng)從服務(wù)器下載指令。指令解析模塊負(fù)責(zé)循環(huán)解析指令,并逐條存儲(chǔ)在一個(gè)表結(jié)構(gòu)中。
(3)客戶端監(jiān)聽(tīng)情境信息。循環(huán)監(jiān)聽(tīng)情境信息,判斷當(dāng)下情境是否滿足指令的觸發(fā)條件,若滿足,則跳轉(zhuǎn)到數(shù)據(jù)采集模塊進(jìn)行相應(yīng)的數(shù)據(jù)采集動(dòng)作,采集客觀數(shù)據(jù)以及開(kāi)啟錄屏功能;若不滿足則繼續(xù)循環(huán)監(jiān)聽(tīng)。
(4)采集到的數(shù)據(jù)暫存在本地文件夾中,通過(guò)通信模塊上傳到服務(wù)器。
用戶研究人員可以從服務(wù)器中查看錄屏視頻并進(jìn)行數(shù)據(jù)分析。傳統(tǒng)的數(shù)據(jù)分析方法需要用戶研究人員觀看視頻并手動(dòng)記錄用戶行為,存在效率低、容易出錯(cuò)的缺點(diǎn)。本文作者利用圖像對(duì)比工具Blink-diff實(shí)現(xiàn)了半自動(dòng)化數(shù)據(jù)分析,自動(dòng)識(shí)別用戶行為序列,并輸出到日志文件中。整個(gè)數(shù)據(jù)分析過(guò)程概覽如圖3所示。

圖3 數(shù)據(jù)分析流程
(1)用戶屏幕圖片序列
將錄屏視頻拆解為某特定APP內(nèi)代表用戶行為路徑的屏幕圖片序列。實(shí)驗(yàn)結(jié)果表明,按3 s的定時(shí)驅(qū)動(dòng)截圖基本可以完整還原用戶操作。因此,將錄屏視頻按每3 s截一次圖進(jìn)行處理,得到用戶屏幕圖片序列。
(2)用戶行為識(shí)別
將用戶的屏幕圖片序列與基準(zhǔn)圖片集進(jìn)行對(duì)比,映射為由基準(zhǔn)圖片標(biāo)識(shí)的用戶行為序列,并輸出到日志文件中。
Blink-diff是雅虎公司發(fā)布的開(kāi)源圖像對(duì)比工具,通過(guò)調(diào)用其提供的API實(shí)現(xiàn)圖像對(duì)比工具并開(kāi)發(fā)了數(shù)據(jù)分析平臺(tái)。數(shù)據(jù)分析過(guò)程分為3部分:數(shù)據(jù)預(yù)處理、圖片對(duì)比和結(jié)果輸出。數(shù)據(jù)預(yù)處理即將用戶屏幕圖片序列和基準(zhǔn)圖片集調(diào)整為指定的分辨率并從0開(kāi)始按序編號(hào)。圖片對(duì)比,將用戶屏幕圖片序列和基準(zhǔn)圖片集分別放入兩個(gè)文件夾下,對(duì)兩個(gè)文件夾中的圖片一一進(jìn)行比較。結(jié)果輸出,輸出相似度,規(guī)定數(shù)據(jù)輸出格式為: 用戶屏幕圖片編號(hào)——圖片基準(zhǔn)編號(hào):相似度百分比。
圖片對(duì)比的算法如下:
算法名稱:PictureCompare(userPath, radixPath)
輸入:用戶行為圖片路徑userPath,基準(zhǔn)圖片路徑radixPath
輸出:每一個(gè)用戶行為圖片與所有基準(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ù)指逐像素對(duì)比兩張圖片,并輸出相似度百分比。
將圖片對(duì)比程序輸出的信息讀入數(shù)組,篩選每個(gè)用戶屏幕圖片相似度最高的基準(zhǔn)圖片作為匹配結(jié)果,得到基準(zhǔn)圖片標(biāo)識(shí)的n位數(shù)字序列(n為用戶屏幕圖片數(shù))。對(duì)這一序列進(jìn)行處理,合并連續(xù)的相同數(shù)字,同時(shí)將數(shù)字映射為頁(yè)面信息。映射規(guī)則由一個(gè)提前編寫(xiě)好的文本文件控制。數(shù)據(jù)分析平臺(tái)的運(yùn)行過(guò)程如下:
輸入:用戶行為圖片路徑imgPath,基準(zhǔn)圖片路徑radixPath,分辨率X*Y,映射規(guī)則mappingRule
輸出:用戶行為序列seq
(1) seq ← Φ;
(2) foreach picture in imgPath:
(3) changeResolution(picture,X,Y);%調(diào)整每一個(gè)用戶行為圖片的分辨率為X*Y;
(4) end
(5) foreach picture in radixPath:
(6) changeResolution(picture,X,Y);%調(diào)整每一個(gè)基準(zhǔn)圖片的分辨率為X*Y;
(7) end
(8) Resemblance = PictureCompare(imgPath, radixPath);%調(diào)用圖片對(duì)比算法獲取相似度
(9) foreach picture in imgPath:
(10) j=getMostSimilarRadixPicture(picture,Resemblance);%與相似度最大的基準(zhǔn)圖片編號(hào)j
(11) add(j, seq);%將編號(hào)j加入序列seq
(12) end
(13) foreach i in seq:
(14) transferToBehavior(i, mappingRule);%按照映射規(guī)則將數(shù)字編號(hào)i轉(zhuǎn)化為對(duì)應(yīng)行為
(15) end
其中changeResolution(picture,X,Y) 函數(shù)將圖片分辨率調(diào)到指定參數(shù), PictureCompare(imgPath, radixPath) 函數(shù)指比較兩個(gè)文件夾下的圖片序列, getMostSimilarRadixPicture(picture,Resemblance) 指找到與用戶行為圖片相似度最大的基準(zhǔn)圖片編號(hào),picture為用戶行為圖片,Resemblance為用戶行為圖片與所有基準(zhǔn)圖片的相似度矩陣。
數(shù)據(jù)分析結(jié)果示例見(jiàn)表1。

表1 數(shù)據(jù)分析結(jié)果
(3)行為模式提取及可用性問(wèn)題檢測(cè)
將用戶行為序列進(jìn)行聚類(lèi),得到典型任務(wù)的行為模式。這是通過(guò)累積類(lèi)似的行為序列來(lái)實(shí)現(xiàn)的。每個(gè)典型任務(wù)的行為模式有一個(gè)或多個(gè)主要路徑,根據(jù)遍歷該路徑的用戶數(shù)量進(jìn)行加權(quán)。所有起始頁(yè)以及目標(biāo)頁(yè)和遍歷每個(gè)節(jié)點(diǎn)的用戶數(shù)量都被添加到行為模式中。將任務(wù)的預(yù)期序列與任務(wù)的最常見(jiàn)行為模式進(jìn)行比較。尋找“預(yù)期的”執(zhí)行和“實(shí)際的”模式之間的差異,以確定任務(wù)是否真的按照設(shè)計(jì)人員的計(jì)劃執(zhí)行,從而可以發(fā)現(xiàn)可用性問(wèn)題。
為了驗(yàn)證方法是否可行,作者選取了有道詞典作為案例,使用該方法進(jìn)行用戶行為研究。根據(jù)艾瑞咨詢2018年移動(dòng)APP指數(shù)中有道詞典的用戶特征,年齡分布在18~30歲的占比58%,因此將目標(biāo)用戶定為在校大學(xué)生。研究目標(biāo)為探索在校大學(xué)生使用有道詞典的行為模式。
對(duì)有道詞典APP進(jìn)行分析,制定6個(gè)典型任務(wù)以及預(yù)期的執(zhí)行序列,見(jiàn)表2。

表2 任務(wù)及預(yù)期序列
定義36張能夠表征網(wǎng)易有道詞典所有典型任務(wù)的典型屏幕頁(yè)面的基準(zhǔn)圖片,并對(duì)其進(jìn)行編號(hào)和信息標(biāo)注。具體的基準(zhǔn)圖片見(jiàn)表3。

表3 基準(zhǔn)圖片
為了獲取用戶在自然狀態(tài)下使用有道詞典的行為數(shù)據(jù),需要研究人員明確感興趣的情境并編寫(xiě)指令,根據(jù)指令觸發(fā)自動(dòng)開(kāi)啟或關(guān)閉錄屏功能。本實(shí)驗(yàn)中感興趣的情境為有道詞典使用狀態(tài)。根據(jù)指令文件的格式進(jìn)行轉(zhuǎn)換,采用”IF……THEN……”的格式,具體的采集指令集見(jiàn)表4。

表4 數(shù)據(jù)采集指令
據(jù)艾瑞咨詢2018年移動(dòng)APP指數(shù)中有道詞典的用戶特征,確定招募用戶的年齡段及性別比例,即年齡段18-24∶25-30為2∶1;男:女為1∶1,共招募用戶6人。
采用遠(yuǎn)程的方式指導(dǎo)用戶安裝CAUX并下載指令文件,給用戶下發(fā)基準(zhǔn)圖片集模板。指導(dǎo)用戶打開(kāi)有道詞典自動(dòng)開(kāi)啟錄屏功能,在這個(gè)過(guò)程中,用戶按照基準(zhǔn)圖片集模板進(jìn)行圖片截取。完成后退出有道詞典自動(dòng)關(guān)閉錄屏功能,用戶上傳數(shù)據(jù)。接下來(lái)用戶可以正常使用手機(jī),開(kāi)展為期一個(gè)月的實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)束后,用戶上傳數(shù)據(jù)到服務(wù)器后可卸載軟件。
本實(shí)驗(yàn)歷時(shí)一個(gè)月,共收集346段錄屏視頻。采用基于圖片對(duì)比的半自動(dòng)化數(shù)據(jù)分析方法,具體分析步驟如下:
(1)用戶屏幕圖片序列提取。將錄屏視頻按每3 s一次進(jìn)行截圖處理,得到346組用戶屏幕圖片序列。剔除無(wú)實(shí)際操作的數(shù)據(jù)后,獲得有效數(shù)據(jù)325條。
(2)用戶行為識(shí)別。編寫(xiě)含有映射規(guī)則的文本文件。通過(guò)數(shù)據(jù)分析平臺(tái),得到325條由基準(zhǔn)圖片標(biāo)識(shí)映射的用戶行為序列。
(3)行為模式提取及可用性問(wèn)題檢測(cè)。為了探索用戶執(zhí)行任務(wù)的行為模式,對(duì)用戶行為序列進(jìn)行聚類(lèi)。以查單詞為例,共篩選出196條用戶行為序列。通過(guò)觀察用戶行為序列,發(fā)現(xiàn)用戶退出APP有兩種模式:返回到首頁(yè)退出和在任務(wù)完成頁(yè)直接退出。因此,在用戶行為序列的首頁(yè)面可能存在多種情況,這里統(tǒng)稱為其它頁(yè)面。通過(guò)累積類(lèi)似的行為序列,總結(jié)出兩種行為模式。
通過(guò)聚類(lèi)分析發(fā)現(xiàn)用戶查單詞存在以下行為特點(diǎn):英譯漢發(fā)生的頻率遠(yuǎn)大于漢譯英;漢譯英過(guò)程中,大多數(shù)遵循“輸入單詞(漢譯英)->英文釋義->經(jīng)典例句”的行為模式;英譯漢的過(guò)程中,大多數(shù)用戶查看中文釋義后就結(jié)束了本次會(huì)話或跳轉(zhuǎn)回首頁(yè),只有極小部分會(huì)查看經(jīng)典例句。因此總結(jié)出兩種行為模式:漢譯英:首頁(yè)->輸入單詞(漢譯英)->英文釋義->經(jīng)典例句;英譯漢:首頁(yè)->輸入單詞(英譯漢)->中文釋義。對(duì)比這兩種用戶行為模式與預(yù)期序列,發(fā)現(xiàn)與漢譯英的預(yù)期序列一致,而與英譯漢存在差異。從這種差異中可以推測(cè)出,在英譯漢的場(chǎng)景下,由于對(duì)應(yīng)的中文釋義為母語(yǔ),較好理解,用戶并不關(guān)注經(jīng)典例句,而需要更加快速獲取中文釋義。
分析全部數(shù)據(jù)后,共發(fā)現(xiàn)11種用戶行為模式。通過(guò)與典型任務(wù)的預(yù)期序列進(jìn)行比較,發(fā)現(xiàn)行為模式與預(yù)期序列之間的差異,并總結(jié)出6條可用性問(wèn)題。見(jiàn)表5。

表5 用戶行為模式及可用性問(wèn)題
本文提出了一種APP內(nèi)用戶行為捕捉與分析方法,即利用CAUX以屏幕錄制的方式自動(dòng)采集用戶行為數(shù)據(jù),并基于圖像對(duì)比技術(shù)實(shí)現(xiàn)數(shù)據(jù)半自動(dòng)化分析。該方法可以捕捉用戶在移動(dòng)屏幕上的所有操作,不依賴于修改應(yīng)用程序的源代碼。采用圖片序列對(duì)比的數(shù)據(jù)分析方法,自動(dòng)檢測(cè)用戶行為,獲得用戶行為序列。對(duì)用戶行為序列聚類(lèi)分析,總結(jié)用戶行為模式。比較用戶行為模式與預(yù)期序列,識(shí)別其中的差異,發(fā)現(xiàn)可用性問(wèn)題。本文作者應(yīng)用CAUX,針對(duì)6名用戶,跨時(shí)一個(gè)月對(duì)使用有道詞典的情況進(jìn)行了研究,共總結(jié)出11條用戶行為模式和6條可用性問(wèn)題。實(shí)驗(yàn)驗(yàn)證,該方法能夠獲取用戶在自然狀態(tài)下APP內(nèi)的行為數(shù)據(jù),并半自動(dòng)化對(duì)行為數(shù)據(jù)進(jìn)行分析,可以發(fā)現(xiàn)可用性問(wèn)題。
由于時(shí)間、資源有限,本文工作還存在一些不足之處。目前分析出的用戶行為模式還不夠全面,在接下來(lái)的研究中可以通過(guò)擴(kuò)大數(shù)據(jù)量,進(jìn)一步獲取更多的APP內(nèi)用戶行為數(shù)據(jù),定義存在可用性問(wèn)題的操作序列,與用戶行為模式作比較,從而自動(dòng)檢測(cè)出可用性問(wèn)題。