魏思陽 向拓 陳冠中 賀江勃 張先宇
摘? 要:隨著移動互聯(lián)網(wǎng)技術(shù)的快速發(fā)展和全面普及,大眾的購物方式逐漸由實(shí)體店購物向網(wǎng)絡(luò)購物偏移。同時,智能手機(jī)及移動端軟件的開發(fā)逐漸向年輕人的審美靠攏,無意間帶來了“數(shù)字鴻溝”——老年群體在使用智能設(shè)備中的一系列阻礙,包括界面不適應(yīng)、圖標(biāo)不理解、操作太困難,等等。一語購物APP結(jié)合Word2Vec和推薦算法等相關(guān)技術(shù),并依據(jù)相關(guān)適老化標(biāo)準(zhǔn)及文獻(xiàn),設(shè)計出一款符合老年群體生理和心理的UI界面,大大降低了操作門檻,為老年群體的網(wǎng)絡(luò)購物帶來極大的便利。
關(guān)鍵詞:Word2Vec;語音控制;推薦算法;適老化設(shè)計
中圖分類號:TP311? 文獻(xiàn)標(biāo)識碼:A? 文章編號:2096-4706(2023)15-0021-05
Design and Implementation of an Age-friendly Shopping APP Based on
Voice Control and Recommendation Algorithm
WEI Siyang, XIANG Tuo, CHEN Guanzhong, HE Jiangbo, ZHANG Xianyu
(College of Big Data and Information Engineering, Guizhou University, Guiyang? 550025, China)
Abstract: With the rapid development and comprehensive popularization of mobile Internet technology, the shopping style of the public has gradually shifted from physical store shopping to online shopping. At the same time, the development of smartphones and mobile software is gradually approaching the aesthetic of young people, unintentionally bringing about a “digital divide”—a series of obstacles for the elderly group in using smart devices, including interface discomfort, incomprehensible icons, and difficulty in operation, etc. The Yiyu Shopping APP combines Word2Vec, recommendation algorithm and other related technologies, and based on relevant age-friendly standards and literature, designs a UI interface that conforms to the physiology and psychology of the elderly group, greatly reduces the operating threshold, and brings great convenience to the online shopping of the elderly group.
Keywords: Word2Vec; voice control; recommendation algorithm; age-friendly design
0? 引? 言
隨著現(xiàn)代計算機(jī)技術(shù)的高速發(fā)展,老年人因社會適應(yīng)力與身體的逐漸老化,使得技術(shù)的進(jìn)步對其難以起到普適性。工信部于2020年12月印發(fā)《互聯(lián)網(wǎng)應(yīng)用適老化及無障礙改造專項行動方案》[1],2021年4月發(fā)布APP適老化通用設(shè)計規(guī)范??梢?,移動應(yīng)用的適老化將成為應(yīng)用開發(fā)的一個重要考慮因素?!耙徽Z購物”APP旨在通過語音控制的方式和適老化原型設(shè)計簡化老人操作,以及基于協(xié)同過濾的技術(shù)實(shí)現(xiàn)商品的推送。
1? “一語購物”APP設(shè)計
1.1? 開發(fā)技術(shù)
Python:Python目前主要用于人工智能,數(shù)據(jù)挖掘等方面,在語義識別和協(xié)同推薦上可以提供給APP實(shí)現(xiàn)的幫助。
Django:Django是一種開源的大而且全的Web應(yīng)用框架,是由Python語言來編寫的。Django提供一個基于正則表達(dá)式的URL分發(fā)器,開發(fā)者可靈活地編寫URL。
MySQL數(shù)據(jù)庫:MySQL所使用的SQL語言是用于訪問數(shù)據(jù)庫的最常用標(biāo)準(zhǔn)化語言。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),一般中小型和大型網(wǎng)站的開發(fā)都選擇MySQL作為網(wǎng)站數(shù)據(jù)庫。
安卓開發(fā)技術(shù):主要為xml+css+JS技術(shù)。xml起到標(biāo)記和信息傳遞的作用,css用來定義如何顯示xml元素,JS(JavaScript)是一種腳本語言,其源代碼在發(fā)往客戶端運(yùn)行之前不需經(jīng)過編譯,用來定義頁面的行為。
1.2? 功能模塊設(shè)計
APP的功能架構(gòu)圖如圖1所示,共有五個模塊,分別為用戶信息模塊、瀏覽購物模塊、訂單管理模塊、首頁推薦模塊和語音控制模塊。
用戶信息模塊:包括用戶的注冊登錄、基本信息的錄入和修改等。
瀏覽購物模塊:包括商品的分類、搜索和購買等。
訂單管理模塊:包括對用戶的訂單進(jìn)行管理,如訂單進(jìn)展、訂單確認(rèn)等。
首頁推薦模塊:包括商品的協(xié)同推薦、熱門商品的展示等。
語音控制模塊:包括語音轉(zhuǎn)文字,文字匹配對應(yīng)命令,命令進(jìn)行執(zhí)行。
APP的具體使用流程如下:用戶注冊登錄進(jìn)入APP,在首頁可以查看根據(jù)自己信息推薦的商品以及熱門商品。想要購買商品時,可以在購買頁面根據(jù)類別選擇商品,也可以輸入信息進(jìn)行搜索,購買之后會生成訂單。想要了解訂單情況可以到訂單詳情頁面進(jìn)行操作,如刪除、取消和確認(rèn)等。在“我的”頁面,有關(guān)于用戶的個人信息,如余額和地址等。語音控制模塊使得用戶可以在輸入時語音輸入,也可以語音控制上滑和下滑等觸摸操作。
1.3? 適老化UI設(shè)計
適老化,顧名思義是適應(yīng)中老年人,主要目的在于滿足進(jìn)入老年階段的人群的生活及出行需求,保障老人的安全。軟件設(shè)計的適老化是隨著時間的推移而逐步發(fā)展起來的。從2016年11月,“適老化”一詞首次出現(xiàn)在國家文件到2020年12月,工業(yè)和信息化部印發(fā)《互聯(lián)網(wǎng)應(yīng)用適老化及無障礙改造專項行動方案》。從最開始的生活環(huán)境的適老化到數(shù)字的適老化,適老化由實(shí)及虛,從看得見、摸得著的實(shí)體空間擴(kuò)展到看不見、摸不著的虛擬空間。
綜合老年人生理與心理的變化和UI設(shè)計的特點(diǎn)[2],我們覺得適老化UI設(shè)計具有以下特點(diǎn):
1)功能簡單化,操作簡單化,對于購買操作,只需要提供必要的信息,即可完成操作。
2)布局的注視點(diǎn)右下移動,在瀏覽手機(jī)頁面時,看到的大部分信息都在注視點(diǎn)右側(cè),左側(cè)提取的信息很少,因而手機(jī)頁面左側(cè)更容易被老年人忽略,布局設(shè)計需要考慮這一點(diǎn)。
3)減少鄰近色的使用、選用更有辨識度的顏色。適老化設(shè)計中合理的應(yīng)用紅紫色和藍(lán)系色彩,更容易對老年人產(chǎn)生視覺刺激,從而引導(dǎo)老年人的視覺注意。
4)界面的主要文字信息應(yīng)不小于18 pt,字體應(yīng)選用老年群體辨識度更高的宋體或黑體。
5)老年人的理解能力較低,對于一些圖標(biāo)會出現(xiàn)理解不到位的情況,圖標(biāo)可以采用實(shí)物圖片,因此采用“文字+圖標(biāo)”的方式更方便老年用戶的理解。
如圖2所示,APP的購買界面按照展示內(nèi)容并且通過不同顏色區(qū)分成幾個區(qū)域,區(qū)域間顏色采用暖色調(diào)且顏色的區(qū)別較大。同時購買界面只提供關(guān)鍵信息,沒有多余的復(fù)雜操作。而商品分類界面采用的是白字暗色底,相比于黑字亮色底來說對老人眼睛的刺激性弱,更容易接收和理解信息。字體采用黑體和20~24 pt大小,顯示更加清晰。頁面的關(guān)鍵信息也顯示在便于老人操作的右下角。
2? “一語購物”APP實(shí)現(xiàn)
APP的主要難點(diǎn)是語音控制模塊和商品推薦模塊的實(shí)現(xiàn)。語音控制模塊中,程序?qū)⒁罁?jù)老人的語音內(nèi)容實(shí)現(xiàn)語音對應(yīng)的功能,如頁面跳轉(zhuǎn)、商品選擇和搜索輸入等。商品推薦模塊中,程序?qū)⒁罁?jù)數(shù)據(jù)庫中已經(jīng)存在的商品特征信息、用戶特征信息和商品評價信息來判斷當(dāng)前用戶可能喜歡哪些商品,并推薦在APP的首頁上。同時用戶對商品的評價信息也會重新作為訓(xùn)練數(shù)據(jù)進(jìn)入神經(jīng)網(wǎng)絡(luò),使得神經(jīng)網(wǎng)絡(luò)的推薦精度更高。
2.1? 語音控制模塊實(shí)現(xiàn)
如圖3所示,語音控制模塊的功能包括五個部分,分別是將輸入的語音轉(zhuǎn)換為文本命令、將文本命令根據(jù)語義轉(zhuǎn)換為對應(yīng)的有效文本命令、有效的文本命令通過程序控制達(dá)到原始語音輸入想要達(dá)成的效果和最后根據(jù)需要進(jìn)行語音播報提供語音輸入命令的決策依據(jù)。
因模塊中語音識別和語音播報等功能要較強(qiáng)的精確度而根據(jù)語義匹配對應(yīng)文本并不需要高精確度,故本模塊著重在于語義匹配功能的實(shí)現(xiàn),采取的算法是Word2Vec。
2.1.1? Word2Vec算法
人們?yōu)榱税盐谋緝?nèi)容處理簡化為向量運(yùn)算,統(tǒng)計文本中的詞頻,將編碼轉(zhuǎn)化為向量,從而語言數(shù)學(xué)化。這種方式叫作One-Hot表達(dá)。同時顯然,One-Hot向量的維度等于詞典的大小。這在動輒上萬甚至百萬詞典的實(shí)際應(yīng)用中,面臨著巨大的維度災(zāi)難問題。為了用一個稠密的向量表達(dá)一個詞,出現(xiàn)了分布式表達(dá)方式[3],即VSM。VSM構(gòu)造了一個矩陣A,A的行為詞,A的列為文檔。矩陣的元素表示對應(yīng)詞在對應(yīng)文檔中出現(xiàn)的頻率。然而并沒有解決維度災(zāi)難的問題。為了解決這一問題,人們提出了SVD降維。將詞頻矩陣分解為,X = USVT,使用其中的U的行為詞向量。后得益于CBOW、Skip-gram的發(fā)展,Word2Vec[4]訓(xùn)練方法被提出。
2.1.2? Word2Vec算法的數(shù)據(jù)采樣
以CBOW模型為例,Word2Vec算法的訓(xùn)練數(shù)據(jù)采樣過程如圖4所示。語音經(jīng)過語音識別形成文本之后,使用分詞算法對文本進(jìn)行分詞,得到分詞后的單詞文本。
設(shè)定CBOW模型的滑動窗口大小size,size一般為大于等于3的奇數(shù),滑動窗口內(nèi)的單詞集合為word,選取滑動窗口內(nèi)的中心詞為M。
數(shù)據(jù)采樣的過程即滑動窗口滑動的過程,每次窗口的滑動即生成一組訓(xùn)練數(shù)據(jù):
wordi, M
其中wordi為word集合內(nèi)除中心詞M外的第i個單詞。
定義單詞為Vac,Vac表示所有訓(xùn)練文本分詞后的單詞。Vac的元素為一一對應(yīng)的鍵值對(i,word),為Vac中的第i個單詞為word。
定義One-Hot函數(shù),其作用為將單詞轉(zhuǎn)換為其對應(yīng)的One-Hot向量。根據(jù)單詞表Vac查找單詞對應(yīng)的索引i,則這個單詞的One-Hot向量C表達(dá)為:
j為向量的下標(biāo)。則最后的訓(xùn)練數(shù)據(jù)為:
(one-hot(wordi), one-hot(M))
2.1.3? Word2Vec神經(jīng)網(wǎng)絡(luò)的構(gòu)建
如圖5所示,對于每一組的原始數(shù)據(jù)。輸入為中心詞附近的One-Hot向量,輸出為中心詞的One-Hot向量。
在神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程中,輸入層輸入數(shù)據(jù)為詞庫的單詞av×n,其中v表示中心詞M附近的單詞數(shù)量,n表示向量長度,一般為詞庫數(shù)量。Xn×m矩陣為權(quán)重矩陣,輸出數(shù)據(jù)為最終需求的詞向量bv×m:
bv×m = av×n · Xn×m
其中m表示指定的詞向量維度,一般設(shè)置為50。
隱藏層的輸出數(shù)據(jù)為神經(jīng)網(wǎng)絡(luò)初步預(yù)測的中心詞向量Cv×n:
Cv×n = bv×m · Ym×n
輸出層的輸出數(shù)據(jù)為Softmax之后的向量,為最終預(yù)測的中心向量dv×n:
dv×n = softmax(Cv×n)
設(shè)S表示長度為k的向量,則S向量Softmax之后的向量:
神經(jīng)網(wǎng)絡(luò)的優(yōu)化目標(biāo)為使得損失loss最?。?/p>
loss = ∑(dv×n - M)
其中M表示中心詞向量的One-Hot表示。
2.1.4? 句向量和余弦相似度
句子中所有詞向量的平均值即為此句子的句向量。
求用戶語音輸入語句的句向量,再和系統(tǒng)中命令句的句向量進(jìn)行相似度計算,即可得到用戶的語音意圖:
2.2? 商品推薦模塊實(shí)現(xiàn)
2.2.1? 推薦系統(tǒng)簡介
推薦系統(tǒng)一般可以看作是一種信息過濾系統(tǒng),在可以持有或收集各種數(shù)據(jù)的服務(wù)環(huán)境中向用戶提供個性化的物品推薦。推薦系統(tǒng)當(dāng)中的信息過濾是根據(jù)用戶的喜好運(yùn)作的,或者說只向用戶推薦被判斷為有價值的項目。
隨著Web 3.0的興起及大數(shù)據(jù)相關(guān)技術(shù)的快速發(fā)展,推薦系統(tǒng)在電子商務(wù)、流服務(wù)和社交網(wǎng)絡(luò)等方面得到了更加廣泛的應(yīng)用。推薦系統(tǒng)的通用架構(gòu)可以如圖6所示。
在一個使用推薦系統(tǒng)的平臺中,用戶和項目的信息,用戶對項目的操作,以及用戶之間的信息,商品之間的信息都將被記錄下來,作為推薦系統(tǒng)的輸入,并將處理之后的數(shù)據(jù)存放到數(shù)據(jù)庫中,隨后服務(wù)器再根據(jù)一定的計算框架(如Hadoop,Spark等),對這些數(shù)據(jù)進(jìn)行分析,得到用戶的偏好,并根據(jù)一定的策略進(jìn)行推送和更新。
基于內(nèi)容的過濾和協(xié)同過濾算法是早期推薦系統(tǒng)中最具有代表性的兩種算法,基于內(nèi)容的過濾利用用戶的評價數(shù)據(jù)構(gòu)建用戶的偏好數(shù)據(jù)庫,預(yù)測符合用戶口味的物品,然后利用它進(jìn)行推薦。
2.2.2? 推薦算法在一語購物中的應(yīng)用
選擇經(jīng)典的基于內(nèi)容的過濾算法[5]作為一語購物推薦系統(tǒng)的具體實(shí)現(xiàn):
1)對于第j個用戶(user),使用? 來描述用戶j的一系列特征,如年齡、性別、地區(qū)等;對于第i件商品(commodity),使用? 來描述商品i的一系列特征,如產(chǎn)品分類、產(chǎn)地、功能等,并使用獨(dú)熱編碼(One-Hot)等方式將這兩者進(jìn)行數(shù)值化處理。若將“年齡在65歲以上”“性別男”“居住在沿海城市”這三個特征記作1,則一位72歲的貴州男性用戶可以表示為xu = {1, 1, 0},以此類推。
2)使用神經(jīng)網(wǎng)絡(luò)建立一個從特征向量x到隱向量v的映射,這一過程可以看作是對特征的降維或提?。╡mbedding),其中隱向量v應(yīng)當(dāng)是數(shù)值型的。向量? 表示用戶對各類商品的偏好程度,而向量 則表示商品更屬于哪一類別,兩個向量的維數(shù)應(yīng)當(dāng)是相同的,即| vu | = | vc |,維數(shù)與商品的總類別數(shù)一致。
3)神經(jīng)網(wǎng)絡(luò)采用有監(jiān)督學(xué)習(xí)的方法進(jìn)行訓(xùn)練,訓(xùn)練樣本包括用戶j的特征? 和對商品i的評價y(i, j),用戶網(wǎng)絡(luò)與商品網(wǎng)絡(luò)采用類似的多層感知機(jī)架構(gòu),兩個網(wǎng)絡(luò)之間彼此獨(dú)立,一同訓(xùn)練,網(wǎng)絡(luò)層數(shù)設(shè)計在5層左右,使用ReLU激活函數(shù),并在訓(xùn)練之前將參數(shù)按照正態(tài)分布初始化,最終的目的是找到一組參數(shù),使得特征向量x能合理地映射到隱向量v。
4)定義神經(jīng)網(wǎng)絡(luò)的損失函數(shù)J如下:
5)若y(i, j)為二值化標(biāo)簽,即y(i, j) = 1為用戶對商品感興趣,則可以將損失函數(shù)J修改如下:
J'=∑(sin(v(j)u·v(i)c)-y(i,j))2+Reg
其中sig代表sigmoid函數(shù),用以將用戶對商品的評分標(biāo)準(zhǔn)化至(0,1)區(qū)間。
3? 結(jié)? 論
通過基于語音控制的“一語購物”APP的設(shè)計與實(shí)現(xiàn),滿足了老人網(wǎng)絡(luò)購物的需求,降低了老人使用智能應(yīng)用的門檻,優(yōu)化了UI的設(shè)計,減少了老人使用智能應(yīng)用的不適感,響應(yīng)了工信部APP適老化的號召。但是在APP的實(shí)現(xiàn)上仍然具有一定的改進(jìn)空間,如Word2Vec的語義匹配效果與訓(xùn)練樣本的文本內(nèi)容和訓(xùn)練迭代次數(shù)密切相關(guān),很難有很高的準(zhǔn)確率,算法訓(xùn)練時間較長,可采用負(fù)采樣的方式避免查詢整個詞表。同時對于指向性的語音命令(如查看第1行第2列的商品)仍然要按照固定的語音格式來提取語音信息。在推薦商品模塊,未采用大數(shù)據(jù)推薦系統(tǒng)框架,造成推薦功能并不是十分強(qiáng)大。
參考文獻(xiàn):
[1] 工業(yè)和信息化部.互聯(lián)網(wǎng)應(yīng)用適老化及無障礙改造專項行動方案[EB/OL].[2023-02-08].https://www.cnii.com.cn/zcjd/202012/t20201228_243049.html.
[2] 張世民.基于APP交互界面的適老化設(shè)計研究 [J].電子元器件與信息技術(shù),2022,6(7):84-88.
[3] BENGIO Y,DUCHARME R,VINCENT P,et al. A Neural Probabilistic Language Model [J].Journal of Machine Learning Research,2003,3:1137–1155.
[4] MIKOLOV T,CHEN K,CORRADO G,et al. Efficient Estimation of Word Representations in Vector Space [J/OL].[2023-02-06].http://export.arxiv.org/pdf/1301.3781.
[5] VALLET D,CANTADOR I,F(xiàn)ERN?NDEZ M,et al. A Multi-Purpose Ontology-Based Approach for Personalised Content Filtering and Retrieval [C]//2006 First International Workshop on Semantic Media Adaptation and Personalization (SMAP'06).Athens:IEEE,2006:19-24.