胡亞嬌 劉思維 謝志峰 丁友東
(上海大學(xué)上海電影學(xué)院,上海200072)
在大數(shù)據(jù)和社交媒體的背景下,現(xiàn)代電影互聯(lián)網(wǎng)平臺通過分析用戶信息和用戶行為下潛在的偏好,將平臺信息對用戶進行個性化推廣。用戶畫像,即用戶信息標簽化,是基于一系列真實數(shù)據(jù)的目標用戶模型。用戶畫像作為推薦系統(tǒng)的一個主要部分,通過挖掘用戶個性特征和用戶之間的個體差異,廣泛地被使用在電商商品推薦、廣告商廣告投放等商業(yè)領(lǐng)域。在用戶畫像作用下,用戶得到更好的體驗,平臺也可以吸引更多的流量。用戶畫像可以用 “貼標簽”的方式將用戶數(shù)據(jù)分析和加工,最終按照社會屬性、生活習(xí)慣和消費行為的分類標注用戶。本文主要研究基于電影用戶多態(tài)數(shù)據(jù)的用戶畫像模型的構(gòu)建。
現(xiàn)代大數(shù)據(jù)背景下,電影信息的規(guī)模爆發(fā)式增長。在電影產(chǎn)量、內(nèi)容、題材極大豐富的現(xiàn)代,用戶的需求對電影產(chǎn)量起到了刺激作用,對未來電影拍攝有極大的導(dǎo)向作用。用戶需求是電影市場的重點內(nèi)容,研究電影用戶的需求是電影產(chǎn)業(yè)經(jīng)久不衰的強有力推手。
電影用戶畫像是基于電影大數(shù)據(jù)的用戶畫像的構(gòu)建。在電影系統(tǒng)中,根據(jù)用戶觀影史、評論集等信息可以構(gòu)建出用戶的電影愛好、觀影習(xí)慣等可以體現(xiàn)用戶觀影特征的用戶模型。電影用戶畫像的構(gòu)建結(jié)合了用戶畫像建模、機器學(xué)習(xí)、自然語言處理、社會學(xué)等知識于一體,實現(xiàn)了電影用戶的屬性由部分到整體的挖掘。
近年來用戶畫像隨數(shù)據(jù)的爆發(fā)式增長的研究越來越深入,用戶畫像的數(shù)據(jù)來源都是基于網(wǎng)絡(luò)海量的用戶大數(shù)據(jù)。21世紀初Xiong R 等進行了用戶畫像的初探,在論文[1]中提出一種基于用戶歷史數(shù)據(jù)的用戶信息圖形化表示方法,將用戶匯集到一個可視化圖表中以達到用戶之間信息互通的目的。Huang K H 等在 [2]中對社交互動、體驗和跨平臺服務(wù)設(shè)計相關(guān)的三項不同的設(shè)計研究進行反思,提出在設(shè)計研究中識別直接用戶和隱形用戶的多種方法,此外,還討論了用戶畫像的研究方法和屬性。Zhang M 等人在論文 [3]中提出用戶畫像的一種基于移動內(nèi)容的圖像搜索的搜索模式。在社交媒體用戶的研究方面,Wang L Y 等人在 [4]中通過在線調(diào)查的方式搜集用戶個性數(shù)據(jù),并以此為基礎(chǔ)研究了用戶個性類別與平臺的用戶社交等狀態(tài)做了關(guān)聯(lián)分析。
用戶畫像融合了統(tǒng)計學(xué)、數(shù)據(jù)挖掘、社會學(xué)多方面的學(xué)科知識,在用戶畫像標簽建模中用到許多人工智能的方法。影評主題和觀點的提取已經(jīng)被前人研究過,Liu X J等人在 [5]中,提出一種結(jié)合LDA 與Text Rank 的關(guān)鍵詞抽取模型,并在中短型文本數(shù)據(jù)集Huth2003和長文檔數(shù)據(jù)集DUC2001上進行實驗,結(jié)果表明了該方法的有效性。Ma T F等人在論文[6]中,提出一種基于中心理論的方法來提取新聞評論語句的主語。首先使用NLP 工具LTP根據(jù)句法規(guī)格將句子劃分為隱式語句和顯示語句,再用候選主語和維基百科概念向量的方法分別提取兩種句式的主語,最后用中心理論根據(jù)排序和上下文信息選出語句的主語。Huang S L 等人在[7]中提出通過分別歸納出一套電影評論POS模板和一套汽車評論POS模板,來提取評論語句中的意見短句并從意見短句中提取觀點情感得分,并用短句中的詞匯得分的總分作為情感分數(shù)。深度學(xué)習(xí)也可以被應(yīng)用于情感分析,Tang J L 等人在 [8]中針對高頻詞匯過度關(guān)注的注意力機制進行改進,用掩蓋高頻詞匯的多次迭代的方式進行訓(xùn)練,讓詞匯具有平等的關(guān)注度。
本文目的是用戶畫像在電影方面的構(gòu)建,通過結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化文本的分析,構(gòu)建適用于電影用戶的用戶畫像標簽庫,最終勾勒體現(xiàn)觀影特性的完整電影用戶畫像,并進一步研究電影群體用戶畫像。
根據(jù)電影用戶基本數(shù)據(jù),可以將電影用戶數(shù)據(jù)歸類到基本屬性、社交屬性、觀影偏好以及個性特征四個領(lǐng)域中,將每個領(lǐng)域的數(shù)據(jù)分別對應(yīng)到電影用戶四個領(lǐng)域的標簽。用戶畫像的構(gòu)建結(jié)合了用戶畫像建模、聚類分析、分類算法、自然語言處理、社會學(xué)等知識。
如圖1,用戶畫像模型構(gòu)建過程分為三步:第一步是數(shù)據(jù)采集,大數(shù)據(jù)是用戶畫像的基礎(chǔ),首先要收集海量用戶在電影社交平臺內(nèi)主動記錄或被動留下的靜態(tài)數(shù)據(jù)和動態(tài)數(shù)據(jù)作為用戶畫像標簽的初始數(shù)據(jù);第二步是行為建模,這一步基于采集到的用戶基礎(chǔ)數(shù)據(jù),通過數(shù)據(jù)挖掘的技術(shù)手段進行用戶行為建模,首先根據(jù)采集得到的散亂的初始數(shù)據(jù)預(yù)測出能夠得出的用戶標簽,然后將這些標簽進行統(tǒng)籌和結(jié)構(gòu)化,得到標簽之間的層級關(guān)系,構(gòu)建出電影用戶畫像標簽體系;第三步是標簽挖掘,這一步根據(jù)體系中的用戶屬性結(jié)構(gòu),由已知用戶數(shù)據(jù)層層遞進,并選擇合適的數(shù)據(jù)挖掘方式,最終挖掘出標簽體系中未知的的一系列用戶標簽。
多態(tài)信息的挖掘主要集中在結(jié)構(gòu)化數(shù)據(jù)的標簽挖掘和非結(jié)構(gòu)化文本數(shù)據(jù)的挖掘。
2.2.1 XGBoost分類算法
圖1 用戶畫像構(gòu)建流程框圖
結(jié)構(gòu)化數(shù)據(jù)挖掘常用機器學(xué)習(xí)分類算法,XGBoost是一種常用的處理監(jiān)督學(xué)習(xí)中的分類和回歸問題的機器學(xué)習(xí)模型。
假設(shè)有K 棵CART 樹,則集成的預(yù)測結(jié)果為:
其中,f∈F,代表第K 棵樹的集成結(jié)果。
則XGBoost的目標優(yōu)化函數(shù)為:
其中l(wèi)為損失Loss,第二項為樹的復(fù)雜度。
目標優(yōu)化函數(shù)的第一項為訓(xùn)練損失,第二項為樹模型的復(fù)雜度,也是優(yōu)化函數(shù)的正則化項。XGBoost包含的CART 樹的確定包括兩個部分:樹的結(jié)構(gòu)、葉子節(jié)點分數(shù),如果樹的結(jié)構(gòu)確定,模型的正則化項也設(shè)為各個葉子節(jié)點值的平方和,就可以使用梯度下降或隨機梯度下降來優(yōu)化目標函數(shù)。
XGBoost目標函數(shù)的優(yōu)化采用的是加法訓(xùn)練,這是一種啟發(fā)式算法,運用加法訓(xùn)練,首先優(yōu)化第一棵樹,之后再優(yōu)化第二棵樹,直至優(yōu)化完k棵樹。
t棵樹不斷訓(xùn)練以后,再加以懲罰項避免過擬合就得到模型的預(yù)測值。
2.2.2 中文影評屬性級情感分析
2.2.2.1 詞向量
Word2Vec是一種神經(jīng)網(wǎng)絡(luò)詞向量模型,它主要利用詞匯在文本中的上下文關(guān)系,經(jīng)過訓(xùn)練后輸出詞語的權(quán)重。Word2Vec主要機制是CBOW (通過附近詞預(yù)測中心詞)、Skip-gram (通過中心詞預(yù)測附近的詞)。
然而Word2Vec只考慮詞匯在文中的局部信息,沒有考慮到詞匯與局部之外詞匯的關(guān)系,這也是在中文長文本中需要避諱的問題。
Bert (Bidirectional Encoder Representations from Transformers)是一種深度學(xué)習(xí)雙向語言模型。Bert 用Transformer 實現(xiàn)了雙向模型的搭建。
Bert模型如圖2所示,當輸入詞匯為Ei時,模型可以同時處理詞Ei之前的詞匯和之后的詞兩部分信息,即雙向信息,得到模型的每一層輸出。其中,在處理每一個詞匯的雙向信息時,Bert模型都使用了MASK 方法即隨機遮掩一些詞的方法進行訓(xùn)練。
圖2 Bert模型示意圖
Bert的核心部分是預(yù)訓(xùn)練,訓(xùn)練的兩個任務(wù)是預(yù)測MASK 掉的詞匯和預(yù)測句子的關(guān)聯(lián)性。預(yù)訓(xùn)練之后的Bert詞向量可以直接輸出詞匯的768維詞向量。
基于Bert的優(yōu)點,使用Bert詞向量中文預(yù)訓(xùn)練模型,可以在長文中比較準確地預(yù)測中文詞匯的詞向量。
2.2.2.2 kNN 分類算法
k NN (k-Nearest Neighbor)分類算法是十分常用的一種數(shù)據(jù)挖掘分類算法,k NN 算法通過觀測與預(yù)測數(shù)據(jù)距離最近的K 個訓(xùn)練數(shù)據(jù)的分類,來推測測試數(shù)據(jù)的分類。具體步驟為:(1)計算預(yù)測數(shù)據(jù)與各個訓(xùn)練數(shù)據(jù)的距離; (2)將距離遞增排序;(3)選取距離最小的K 個點;(4)確定這K 個訓(xùn)練數(shù)據(jù)的所屬分類;(5)選擇K 個點出現(xiàn)最多的分類作為預(yù)測數(shù)據(jù)的分類結(jié)果。
用戶畫像的標簽是描述用戶數(shù)據(jù)特征的符號,標簽體現(xiàn)用戶某一種屬性。它根據(jù)用戶畫像目標任務(wù)、數(shù)據(jù)特征分析制定并進行。
按照圖1 中標簽體系對標簽進行定義和預(yù)測。標簽的挖掘通過四種方式構(gòu)成用戶畫像標簽:
(1)用戶采集原始數(shù)據(jù)經(jīng)過處理直接當做用戶標簽。比如:圖3中一級標簽用戶所屬地區(qū)的劃分,經(jīng)過兩條原始數(shù)據(jù)用戶居住地和用戶同城活動,正則匹配地址后填充空值以后,匹配省市庫的歸屬地表,直接將用戶歸類為某一個城市為其常居地。進一步還可以將地址劃分一線城市、二線城市等。
(2)用戶原始數(shù)據(jù)經(jīng)過統(tǒng)計學(xué)方法,得到用戶標簽。比如:圖3中一級標簽社交情況,可以根據(jù)用戶在平臺的被關(guān)注數(shù)和關(guān)注數(shù)經(jīng)過分類獲得。
(3)用戶原始數(shù)據(jù)經(jīng)過分類模型獲得標簽。比如:圖3中一級標簽觀影頻次的預(yù)測,由用戶歷史觀影頻次加時間軸經(jīng)過XGBoost模型預(yù)測得到。
(4)用戶評論文本原始數(shù)據(jù)使用NLP觀點提取后加以統(tǒng)計分析得到標簽。比如圖3中用戶觀影偏好標簽,經(jīng)過文本的句法分析,獲得評價的主語和觀點,得到用戶偏好數(shù)據(jù)。
標簽體系中其他的上層多級標簽也按照以上四種方式處理下層標簽進行挖掘,最終得到用戶畫像的模型。
圖3 用戶畫像標簽體系
用戶畫像中的用戶數(shù)據(jù)搜集通??梢酝ㄟ^約談、調(diào)查問卷、網(wǎng)絡(luò)采集的方式獲取社交媒體網(wǎng)站信息。訪談或約談模式搜集信息最直接,但是消耗大量人力物力,對于大量用戶不適用;調(diào)查問卷模式主要是通過調(diào)查頁面的構(gòu)建,然后利用互聯(lián)網(wǎng)手段進行分享和傳播,缺點是耗時大,信息無法保證真實;社交媒體的獲取模式比較適合大批量用戶信息的獲取,用戶信息真實性比較高,而且在一個社交媒體中,用戶的性格趨于穩(wěn)定性,所以基于社交媒體的用戶信息采取要保證只使用一個社交媒體。
從互聯(lián)網(wǎng)各大平臺中,通過主動的方式采集電影平臺用戶信息,用戶的信息收集包括基本屬性、購買能力、行為特征、興趣愛好、社交網(wǎng)絡(luò)、心理特征六大模塊。從六個方面分析需要的數(shù)據(jù),然后針對性采集。
圖4 數(shù)據(jù)采集流程框圖
網(wǎng)絡(luò)爬蟲技術(shù)是目前科研項目中大數(shù)據(jù)的主要獲取方法,網(wǎng)絡(luò)爬蟲的流程圖如圖4 所示。首先,使用request模塊向URL列表地址服務(wù)器發(fā)出請求并獲取服務(wù)器返回的HTML (超文本標記語言)文本,即前端文本;然后使用Pyquery 技術(shù)或者Xpath技術(shù)的固定語法格式可以解析HTML 文本,并按照HTML 中的標簽結(jié)構(gòu)或者屬性等,快速有效地定位到需求語句,從中匹配內(nèi)容或者屬性等;最后按照表格的方式將采集的用戶數(shù)據(jù)存儲到MongoDB數(shù)據(jù)庫中。
網(wǎng)絡(luò)爬蟲技術(shù)需要Multiprocess (多進程)的支持才可以高效地采集大量有用信息。多進程是使用多個CPU 來使多個任務(wù)并行處理的技術(shù)。多進程的子進程之間資源獨立,子進程和父進程之間可以互相傳遞信息。
采集后的數(shù)據(jù)存儲為4張表格:(1)根據(jù)用戶主頁鏈接對用戶基本信息進行采集,包括用戶常居地、網(wǎng)站注冊時間、自我介紹、關(guān)注數(shù)、被關(guān)注數(shù)、關(guān)注人鏈接、同城活動,將基本信息存于MongoDB數(shù)據(jù)庫的用戶基本信息表中;(2)訪問用戶的影評頁面,對用戶影評信息進行采集,包括用戶評分、影評時間、影評標題、影評內(nèi)容、影評有用數(shù)、影評無用數(shù)、是否劇透,將影評信息存于MongoDB數(shù)據(jù)庫的影評表中;(3)訪問用戶的觀影信息頁面,對用戶觀影標簽進行采集,包括用戶已看電影標簽及數(shù)量、正在看電影標簽及數(shù)量、想看電影標簽及數(shù)量,用字典的形式存放于MongoDB 數(shù)據(jù)庫的用戶觀影表中;(4)訪問電影詳情頁面,對電影屬性進行采集,包括電影標題、電影類型、拍攝地區(qū)、拍攝年代、電影時長、電影評分、主演,存放于MongoDB的電影信息表中。
3.3.1 用戶活躍度分析預(yù)測
圖5 用戶活躍狀態(tài)預(yù)測
用戶活躍狀態(tài)預(yù)測的流程如圖5所示。用戶的影評時間由用戶影評日期和用戶影評時刻兩部分組成。
(1)用戶影評日期
提取用戶影評的日期,使用XGBoost對用戶的活躍度進行預(yù)測,對用戶的影評量進行不同時間偏移的聚合,分別使用1 個月、2 個月、3 個月、1年、上年同月的評論數(shù)量和用戶的關(guān)注數(shù)、被關(guān)注數(shù)的社交情況對用戶未來7天的活躍情況進行預(yù)測,預(yù)測出未來一個月用戶月影評量。
(2)用戶影評時刻
提取用戶影評的時刻,對用戶影評數(shù)量按每小時進行聚合,得到用戶活躍觀影時刻標簽,然后比較求得一天24小時中,用戶最活躍的3個小時,作為用戶活躍時刻標簽。
3.3.2 用戶觀影偏好分析
用戶影評的屬性級情感分析是電影用戶畫像的重要預(yù)測,用戶的影評長文本體現(xiàn)了用戶對電影細粒度品質(zhì)的關(guān)注點,比如角色、演技、背景、主題、類型等,通過用戶情感得分的分析,可以直觀地看出一部電影在大眾審美中的具體的優(yōu)點和缺點,在具體到每一個用戶的個性化推薦中,在電影的細粒度品質(zhì)選擇中,擇優(yōu)而推。
傳統(tǒng)的屬性級情感分析多使用形容詞、副詞、名詞、動詞等詞語得分相加的方法獲得句子評分?,F(xiàn)階段屬性級別的情感分析多使用深度學(xué)習(xí)的方法進行分類預(yù)測,可是大多適合英文文本或者中文短文本等特征較為明顯、易于提取屬性詞及情感詞的文本處理。
中文長文本具有一語多義、網(wǎng)絡(luò)術(shù)語解讀性差等特點,中文影評長文本還具有個性化色彩濃厚、句式復(fù)雜等特點,用傳統(tǒng)方法和深度學(xué)習(xí)方法去分析,都不一定能達到預(yù)期的效果。
屬性級情感分析分為屬性詞提取和情感分析兩個步驟。第一步是從用戶影評文本中提取多個電影相關(guān)屬性詞;第二步是預(yù)測句子中每一個屬性詞對應(yīng)的情感得分。
本文中用戶觀影偏好分析采用Bert詞向量結(jié)合關(guān)鍵詞提取技術(shù)和機器學(xué)習(xí)分類算法對用戶影評長文本進行分析,如圖6所示。
圖6 用戶觀影偏好分析
3.3.3 用戶所屬地區(qū)分析
用戶所屬地區(qū)分為省、市、縣等級,等級越低越難以統(tǒng)計用戶情況,無法體現(xiàn)觀影人群的地區(qū)分布。從中國省市縣三級分布表中依次匹配用戶的所屬地區(qū),得到用戶所在的省級行政區(qū)。
具體步驟如圖7所示。
圖7 用戶所屬地區(qū)分析
實驗中,使用網(wǎng)絡(luò)爬蟲技術(shù)從電影社交平臺共采集了17486位用戶的相關(guān)數(shù)據(jù),采集到的這些用戶的中文影評長文本一共329697條。數(shù)據(jù)采集從平臺中22種電影類別中的每個電影分類下抽取等量的用戶,使用戶的個性化具有全面性,而且,在分析用戶數(shù)據(jù)時,用戶的特征具有代表性,從而可以清晰地看出整個電影市場用戶的特征分布。
實驗結(jié)果表明可以預(yù)測到未來一個月內(nèi)用戶月影評量,實驗結(jié)果如表1所示:
表1 用戶活躍度預(yù)測結(jié)果
圖8為用戶最活躍時刻圖,宏觀上看,即對用戶群體來說,在即將午夜時電影用戶的活躍人次最多。微觀上看,即對用戶個體來說,每個用戶最活躍的時刻都有所不同,在用戶最有可能觀看電影的時間段進行廣告投放,個性化推薦,可以達到最佳效果。
圖8 用戶最活躍時刻分布圖
用戶地區(qū)分析如圖9所示??梢赃x擇在一線城市如北京、上海,或者沿海地區(qū)發(fā)展較快的省市內(nèi)電影市場多投入電影的制作和發(fā)行,因為這部分區(qū)域電影受眾人群多,日常生活中比較偏愛電影。
圖9 用戶地區(qū)分析
在用戶的情感得分預(yù)測中,為設(shè)置文本設(shè)置(1,2,3,4,5)五種情感得分。
圖10是LR 邏輯回歸測試數(shù)據(jù)的預(yù)測結(jié)果。誤差設(shè)置在0.5之內(nèi)時,測試數(shù)據(jù)的預(yù)測結(jié)果的準確率為0.76。
圖10 LR 預(yù)測情感得分結(jié)果圖
圖11是k NN 分類測試數(shù)據(jù)的預(yù)測結(jié)果。準確率為0.45。
圖11 k NN 預(yù)測情感得分結(jié)果圖
模型在一定程度上準確地體現(xiàn)了用戶的情感等級,通過用戶情感得分的分析,可以直觀地看出一部電影在大眾審美中的具體的優(yōu)點和缺點。在個性化推薦中,在電影的細粒度品質(zhì)選擇中,擇優(yōu)而推。
本文針對現(xiàn)存的不夠完善的電影用戶畫像提出了一種電影用戶畫像構(gòu)建方法。首先構(gòu)建了電影用戶畫像標簽體系,然后基于本文的多態(tài)原始用戶數(shù)據(jù)從多個角度分析,挖掘了多種電影用戶標簽,尤其是在中文影評文本的屬性級情感分析方面使用Bert模型和分類預(yù)測對比獲得了較為精準的電影用戶細粒度情感預(yù)測,分析出用戶對于電影屬性的情感打分,還用XGBoost預(yù)測了用戶未來的活躍趨勢。這在電影市場用戶行為和偏好方面的研究取得前所未有的進展。