李忠霖
(武昌工學院,湖北 武漢 430065)
基于大數(shù)據(jù)技術的用戶行為數(shù)據(jù)分析,通常涉及網(wǎng)絡數(shù)據(jù)信息收集、機器學習分析、數(shù)據(jù)可視化等的執(zhí)行流程,要求學生具有軟件編程基礎,且能夠熟練使用Python爬取軟件工具、R統(tǒng)計應用軟件。這一情況下,對于數(shù)據(jù)分析課程的教學改革與創(chuàng)新,也要引入有關大數(shù)據(jù)技術、Python用戶數(shù)據(jù)抓取工具,進行現(xiàn)有課程教學情境、教學理論與實踐內(nèi)容、交互實踐教學流程的革新,帶領學生深入到某一用戶行為文本挖掘、數(shù)據(jù)分析、可視化呈現(xiàn)的學習之中,進而提高學生的數(shù)據(jù)爬取、分析與展示呈現(xiàn)能力。
大數(shù)據(jù)、云計算、互聯(lián)網(wǎng)通信技術的迅猛發(fā)展,使得網(wǎng)絡內(nèi)部出現(xiàn)多種多樣的用戶行為數(shù)據(jù)信息,也為不同類型用戶數(shù)據(jù)的深度挖掘、價值利用帶來巨大機遇。當前對于用戶行為數(shù)據(jù)的采集、整合與分析,通常圍繞著與用戶相關的網(wǎng)絡平臺展開,對電子商務、門戶網(wǎng)站、社交媒介的用戶行為數(shù)據(jù),進行某一類別用戶數(shù)據(jù)的爬取、篩選、整合與存儲[1]。
從多源化用戶行為數(shù)據(jù)爬取的角度來看,用戶對網(wǎng)絡數(shù)據(jù)資源的獲取、查詢、交流、傳播、加工和利用等行為,通常有兩種表現(xiàn)形式:一是對網(wǎng)絡資源的檢索、查詢、瀏覽行為,即用戶根據(jù)自身的業(yè)務、服務需求,作為游客或登錄至網(wǎng)絡平臺,在不同功能模塊開展信息瀏覽、查找等操作行為;二是對網(wǎng)絡平臺資源的復制、粘貼、修改、下載行為,在外部用戶獲得訪問或管理權限后,可下載自身需要的數(shù)據(jù)信息,或?qū)W(wǎng)絡平臺的數(shù)據(jù)信息、功能服務資源,作出復制、粘貼、修改等操作行為。
基于Python語言編寫的Scrapy網(wǎng)頁應用程序框架,通常包括爬蟲(Spiders)、爬蟲引擎(Scrapy Engine)、調(diào)度器(Scheduler)、下載器(Downloader)等組成結(jié)構,可針對海量化的網(wǎng)頁數(shù)據(jù)、用戶行為信息,進行用戶任務請求處理、關鍵數(shù)據(jù)信息爬取[2]。
在Scrapy框架、Redis數(shù)據(jù)庫工具支持下,可在同一時間段內(nèi)抓取任務請求數(shù)據(jù),統(tǒng)計與提取豐富的數(shù)據(jù)類型,包括list、hash、string、sets、sorted sets等數(shù)據(jù)類型,支持不同數(shù)據(jù)集合或列表的交集、并集操作。當前對于網(wǎng)絡用戶行為的不同數(shù)據(jù)類型搜集與分析,存在著任務請求響應、數(shù)據(jù)流資源處理、網(wǎng)頁或網(wǎng)址爬取、數(shù)據(jù)信息抓取、數(shù)據(jù)存儲等執(zhí)行流程。
由于數(shù)據(jù)分析課程在整個專業(yè)教學中所占的比例較小,教師通常并未建構起系統(tǒng)化的數(shù)據(jù)分析教學理念,會忽視對用戶行為數(shù)據(jù)的采集、融合與利用教學[3]。如以校內(nèi)圖書館用戶行為的數(shù)據(jù)分析教學為例,在對學生用戶行為的數(shù)據(jù)信息采集、整合與分析過程中,由于不同學生的數(shù)據(jù)訪問、操作行為具有分散性、實時性的特征,使得數(shù)據(jù)分析課程教學只是針對某一個或一類的用戶行為數(shù)據(jù),進行行為數(shù)據(jù)類型、數(shù)據(jù)內(nèi)容、數(shù)據(jù)特征的分析教學,而缺乏對多源用戶行為數(shù)據(jù)的融合、利用教學,致使大量“高價值”的數(shù)據(jù)信息難以得到充分應用。
現(xiàn)階段數(shù)據(jù)分析專業(yè)課程的組織設置,通常缺少以學生為中心的教育理念,也很少設置出某一類用戶行為數(shù)據(jù)分析的教學情境。首先在課前階段,高校教師極少關注不同學生的自主學習情況,包括很少解學生對網(wǎng)絡用戶數(shù)據(jù)爬取、分析與存儲的技能掌握情況,只是依據(jù)課程教材大綱、單元知識內(nèi)容的設置要求,進行課程教學資源整合、用戶行為數(shù)據(jù)分析的“講授”教育。
之后對于數(shù)據(jù)分析課程的教學情境創(chuàng)設,也很少引入課外電子商務、門戶網(wǎng)站、社交媒介等渠道的用戶行為數(shù)據(jù),建立以數(shù)據(jù)爬取、分析為主的教學情境,使得數(shù)據(jù)分析課程教學的形式化嚴重、實踐應用性不足。
在數(shù)據(jù)分析課程的組織與教學實施中,應圍繞X、Y等多個主成分變量,進行用戶行為數(shù)據(jù)信息的采集、整合與分析。但當下用戶行為數(shù)據(jù)分析的課程教學活動,通常只針對Python語言、R語言的網(wǎng)頁應用程序匯編語言,向?qū)W生講解網(wǎng)頁數(shù)據(jù)信息的爬取、檢索與整合分析流程,而缺少用戶行為原變量數(shù)據(jù)X、主成分數(shù)據(jù)Y的教學資源引入,很少進行系統(tǒng)化的Eviews或STATA軟件應用、主成分數(shù)據(jù)分析教學。
另一方面,從數(shù)據(jù)分析課程的教學方式來看,其很少結(jié)合用戶的實際生活、工作行為數(shù)據(jù),采取分類問題分析法、聚類分析法,使用SPSS統(tǒng)計與分析軟件、Matlab仿真軟件,對不同時間段、不同類型的用戶行為數(shù)據(jù)進行分析教學,導致數(shù)據(jù)分析課程的系統(tǒng)化、層次化不強,不能保證學生對用戶行為數(shù)據(jù)的自主搜集、處理與分類分析。
用戶行為數(shù)據(jù)分析作為多元統(tǒng)計課程的組成內(nèi)容之一,既要求學生利用Spiders、Scrapy Engine等數(shù)據(jù)資源爬取工具,進行用戶數(shù)據(jù)的搜集與挖掘,還要求學生使用SPSS、STATA、Matlab等軟件工具,進行用戶行為數(shù)據(jù)的分析、結(jié)果呈現(xiàn),但部分高校缺乏數(shù)據(jù)分析課程的交互實踐教學安排、教學流程設置[4]。
當前多數(shù)高校數(shù)據(jù)分析課程的教學,仍舊采取用戶數(shù)據(jù)搜集原理分析、教材實例解析的“講授式”教學方式,對學生進行用戶行為數(shù)據(jù)分析的教學,卻很少設置校內(nèi)實訓室、校外實踐應用基地,教師也并未針對具體問題進行一對一、一對多的交互指導。
此外,在數(shù)據(jù)分析課程教學評價方面,過于注重教學任務、應試考試成績等的結(jié)果性評價,忽視對教師課堂教學情境創(chuàng)設、演示與實踐教學的過程性評價,以及學生項目案例討論、數(shù)據(jù)挖掘與分析技能、分工協(xié)調(diào)能力的評價,不能反映出教師實踐教學、學生專業(yè)技能學習的真實情況。
隨著大數(shù)據(jù)、云計算技術的迅速發(fā)展,對高校內(nèi)部業(yè)務、社會企業(yè)生產(chǎn)經(jīng)營中的用戶行為數(shù)據(jù)分析,成為高校服務體系建設、企業(yè)產(chǎn)業(yè)發(fā)展關注的重要問題?!罢n崗對接”是指根據(jù)數(shù)據(jù)分析專業(yè)學生就業(yè)崗位需求,構建服務于融崗位工作要求、行業(yè)要求及學生職業(yè)發(fā)展于一體的課程內(nèi)容體系。在這一人才培養(yǎng)理念的指導下,教師對學生的用戶行為數(shù)據(jù)分析課程教學,要遵循課崗對接化、項目化教學原則,設置初級、中級、高級的模塊化課程教學知識體系[5]。
其中,初級模塊圍繞SPSS、STATA、Matlab等軟件,以及Spiders、Scrapy Engine等數(shù)據(jù)資源爬取組件工具的安裝與運行,講解軟件的安裝、存儲及管理的操作方式,以及講授用戶行為任務請求管理、數(shù)據(jù)資源爬取、數(shù)據(jù)類型統(tǒng)計、carbon緩存存儲的執(zhí)行流程。中級模塊主要針對用戶行為數(shù)據(jù)的變量信息,設置有關X(Y)的主成分變量、假設檢驗、回歸分析、方差分析內(nèi)容,講解具體項目案例的數(shù)據(jù)分析方法。高級模塊則包括分類問題分析、聚類分析、因子分析等教學內(nèi)容,講解金融或貿(mào)易交易、電子商務、社交媒介中存在的用戶行為數(shù)據(jù)變化情況,包括輸入/輸出的數(shù)據(jù)變動、資源瀏覽與調(diào)用情況,可充分保證“課崗對接”的項目式教學效果。
網(wǎng)絡用戶行為數(shù)據(jù)的爬取、分析與存儲教學,通常涉及數(shù)據(jù)自動化采集、讀取與清洗的爬取流程,因而可根據(jù)數(shù)據(jù)爬取與分析的業(yè)務,創(chuàng)設符合學生認知的問題導向式、交互式教學情境。
如針對分布式網(wǎng)絡用戶行為抓取系統(tǒng)的建構,教師可設置問題導向為主的教學情境:“ScrapyTwisted、Scrapy-Redis、Graphite等組件,在Scrapy網(wǎng)絡爬蟲框架系統(tǒng)中起到什么作用?”“用戶行為數(shù)據(jù)爬取的采集,處理、儲存流程是如何實現(xiàn)的?”在此基礎上,引導學生參與到網(wǎng)絡新聞的用戶評論、轉(zhuǎn)發(fā)、收藏行為爬取中,使其學習數(shù)據(jù)字段爬取、字符轉(zhuǎn)碼、清洗、分類、分割、對象添加、存儲的操作流程,完成不同類別用戶行為數(shù)據(jù)的爬取、分析與存儲工作。
在“課崗對接”人才培養(yǎng)目標的指導下,對于數(shù)據(jù)分析課程的教學內(nèi)容組織設置,以及學生自主探究、教師演示與實踐教學方式的創(chuàng)新,成為提高數(shù)據(jù)分析質(zhì)量、對接企業(yè)數(shù)據(jù)分析與管理需求的重中之重。[6]因此,要以用戶行為數(shù)據(jù)分析的項目案例為主,創(chuàng)新與完善現(xiàn)有的課程教學內(nèi)容、教學引導和指導方式。
首先根據(jù)不同網(wǎng)站、社交媒介的業(yè)務及服務需求,以項目服務為導向搜集相關的用戶行為數(shù)據(jù)信息,按照數(shù)據(jù)分析的教學與技能要求,設置出系統(tǒng)化的課程教學內(nèi)容,具體如表1所示。其次,對于用戶行為數(shù)據(jù)分析的教學方式創(chuàng)新,依托于慕課、微課、翻轉(zhuǎn)課堂等網(wǎng)絡線上平臺,加強在線演示、項目交互實踐的引導教學,一是設定課程實踐案例的思維導圖,按照思維導圖完成不同場景下的分析流程構建,如“電子商務用戶行為數(shù)據(jù)分析”的課堂教學中,設定“Navicat可視化軟件安裝——用戶行為數(shù)據(jù).csv文件導入——新建數(shù)據(jù)字段表——數(shù)據(jù)清洗與篩選——行為數(shù)據(jù)比較、用戶商品偏好和交易流程分析”的思維導圖,輔助線上課程教學;二是采取分類問題分析、聚類分析、因子分析等方式,使用具有相關性的公共因子,描述多個隨機變量之間的關系,實現(xiàn)對多種用戶行為數(shù)據(jù)的統(tǒng)計、比較分析。
表1 用戶行為數(shù)據(jù)分析的系統(tǒng)化課程教學內(nèi)容設置
用戶行為數(shù)據(jù)分析課程教學質(zhì)量的好壞,在于教師是否根據(jù)學生學習情況、企業(yè)實際需求,設置出一系列典型的用戶行為數(shù)據(jù)分析項目。在這一實踐應用人才培養(yǎng)要求下,教師可針對具體的用戶行為數(shù)據(jù)分析項目,設置數(shù)據(jù)特征分類、整理、分析、共享與存儲的教學模塊,不同模塊使用相對應的軟件或組件工具,對學生進行用戶行為數(shù)據(jù)的采集、篩選、分析、存儲管理教育。如在Web網(wǎng)頁的用戶行為數(shù)據(jù)爬取教學中,教師可先向?qū)W生提出“網(wǎng)頁鏈接域名解析、網(wǎng)頁數(shù)據(jù)下載、消息列表數(shù)據(jù)提取、url去重過濾、網(wǎng)頁鏈接數(shù)據(jù)下載、爬蟲繼續(xù)抓取”等的用戶行為抓取流程。
然后提出問題:“如何使用URL下載特定的網(wǎng)頁,抓取網(wǎng)頁的用戶行為內(nèi)容?”隨后引導學生利用數(shù)據(jù)特征分類、整理、分析、共享與存儲等的教學模塊,完成“種子URL抓取——將已下載URL放進抓取URL隊列——抽取新的URL放入待抓取URL隊列——讀取URL DNS并解析網(wǎng)頁用戶行為信息——存儲數(shù)據(jù)信息至網(wǎng)頁庫”。教師指導學生繪制用戶行為抓取的工作流程,解答學生的疑惑問題,并要求其將軟件抓取的數(shù)據(jù)信息,存放至數(shù)據(jù)庫共享模塊。
同時在用戶行為數(shù)據(jù)分析課程教學評價上,應結(jié)合教師情境創(chuàng)設、演示實踐教學活動,以及學生數(shù)據(jù)分析實踐、作業(yè)測驗情況,作出課前、課堂與課后的全流程教學(學習)評價,包括學生SPSS、STATA、Matlab的軟件使用技能評價,不同項目數(shù)據(jù)類型統(tǒng)計與提取、Python用戶數(shù)據(jù)抓取、用戶行為數(shù)據(jù)比較的業(yè)務執(zhí)行評價,設定A級(優(yōu)秀)、B級(良好)、C級(一般)、D級(較差)、E級(極差)五個等級,完成對不同課堂環(huán)節(jié)的評價打分,進而保證用戶行為數(shù)據(jù)分析與課程教學目標、企業(yè)信息需求之間的對接。
數(shù)據(jù)分析課程屬于計算機科學與技術專業(yè)的主要課程之一,往往針對特定學生的專業(yè)要求、數(shù)據(jù)分析需求,由教師組織相關的課程教學知識體系,開展用戶行為數(shù)據(jù)分析的系統(tǒng)化課程教學。大數(shù)據(jù)環(huán)境下用戶行為數(shù)據(jù)分析課程教學,需要依托于慕課(MOOC)、微課、翻轉(zhuǎn)課堂的網(wǎng)絡在線平臺,根據(jù)不同學生的思維認知、數(shù)據(jù)分析學習狀況,設置出符合學生認知的問題導向式、啟發(fā)引導式教學情境,創(chuàng)新課程教學內(nèi)容、交互實踐教學方式,引導學生進行數(shù)據(jù)字段爬取、字符轉(zhuǎn)碼、清洗、分類、分割、對象添加、存儲的不同環(huán)節(jié)的操作實踐,可達成用戶行為數(shù)據(jù)分析的項目實踐、問題交互指導教學目標。