本發明涉及機器學習領域,特別是涉及一種移動互聯網廣告投放方法。
背景技術:
移動互聯網廣告主要采用廣告橫幅、文本鏈接、多媒體等方式,通過網絡廣告平臺在移動智能終端上投放廣告。隨著移動互聯網技術的迅速發展,與傳統媒體廣告如報紙、雜志、電視、廣播以及戶外廣告相比,移動互聯網廣告具有得天獨厚的優勢。然而,目前很多廣告都是隨機投放的,即每次用戶來了,隨機選擇一個廣告投放給他,投放效率很低。同時,隨意投放的廣告干擾了用戶正常的生活,普遍引起用戶的反感。面對這種情況,移動互聯網廣告的個性化精準投放受到了研究者的廣泛關注。
在互聯網廣告投放平臺方面,百度聯盟推出了“按效果付費”的cpa(costperaction)廣告平臺。微軟公司開發了microsoftadcenter廣告銷售平臺,在微軟的資源平臺上進行廣告投放。谷歌公司研發了googleadsense網絡廣告投放平臺,頁面上的廣告會隨著頁面內容的不同而有所不同,提高了廣告投放的精準度。相比谷歌的個性化廣告推薦系統,facebook利用海量的用戶數據和社交網絡關系建立的廣告投放系統,可以深入挖掘用戶興趣,通過朋友的推薦,幫助用戶找到相關性更高和更準確的廣告信息。除此之外,學術界和工業界在廣告的個性化精準投放方面上也取得了一些研究成果,例如:在考慮內容定向和地理位置的基礎上,采用貝葉斯技術進行移動廣告的高效、精準投放;通過對廣告日志數據的統計分析,使用hadoop平臺挖掘廣告特征與廣告間的聯系,進而改善廣告的投放效果;研究表明,用戶更喜歡來自朋友的推薦而不是被系統“算出來的推薦”,社會影響力被認為比歷史行為的相似性更加重要,通過社會關系的分析,可以大幅度提高推薦的精確度;根據用戶的喜好進行廣告的推薦更有利于提高廣告的瀏覽率,并且更加容易讓用戶接受廣告推銷的產品;同時,用戶的興趣隨著時間的推移會逐漸發生變化,而用戶的活動呈現出明顯的本地化特征,如果推薦附近用戶喜歡的廣告,將有利于提高廣告的轉化率。
技術實現要素:
本發明所要解決的技術問題是:考慮實際的移動應用環境,針對移動互聯網廣告發展的現狀、存在的問題,如何創新地設計一種綜合考慮用戶興趣、好友關系以及時間和位置上下文影響的移動互聯網廣告投放方法。
為了解決上述問題,本發明公開了一種移動互聯網廣告投放方法,其技術方案包括以下步驟:
步驟1:獲取用戶發布的微博文本數據,通過中文分詞和噪聲內容處理,創建詞匯表,得到表示用戶興趣的詞向量;
步驟2:利用用戶的社交網絡關系計算用戶之間的熟悉度,根據表示用戶興趣的詞向量空間計算用戶之間的興趣相似度,通過線性組合,得到用戶之間的相似度矩陣;
步驟3:獲取與用戶u最相似的前k個用戶對廣告的行為數據,得到“用戶-廣告”矩陣;根據用戶之間的相似度矩陣,采用基于用戶的協同過濾方法生成擬推薦的廣告列表l1;
步驟4:獲取用戶u的位置信息,從與用戶u最相似的前k個用戶中找出與用戶u在同一區域的n個用戶,其中n≤k;利用“用戶-廣告”矩陣,根據用戶之間的相似度矩陣,采用基于用戶的協同過濾方法再次對用戶u生成擬推薦的廣告列表l2;
步驟5:對兩個推薦列表l1和l2進行線性加權組合,得到擬推薦給任意用戶u的廣告列表l=θ×l1+(1-θ)×l2,θ∈(0,1)為線性組合系數;
步驟6:通過重復步驟1和步驟2,定期更新表示用戶興趣的詞向量空間和用戶相似度矩陣,以適應用戶興趣的變化。
所述的移動互聯網廣告投放方法,所述步驟1還包括:
步驟11:將累積一段時間的用戶微博文本數據整理成一個文檔;
步驟12:一個用戶只對應一個文檔,所有用戶的文檔形成一個文檔集合;
步驟13:中文分詞處理的具體方法可以采用基于字符串匹配的分詞方法即機械分詞方法、基于理解的分詞方法或者基于統計的分詞方法等;
步驟14:微博文本數據的噪聲內容處理包括對停用詞、標點字符的清理等;
步驟15:停用詞包括語氣介詞、助詞、連詞、副詞等虛詞,在中文分詞處理后需要過濾掉這些停用詞;
步驟16:一些標點符號、阿拉伯數字、網頁鏈接等文本分析時不需要的字符,需要在處理微博文本數據之前過濾清理掉;
步驟17:通過對文檔集合進行中文分詞和噪聲內容處理可以獲得詞匯表,詞匯表包含了文檔集合中的所有單詞但是不重復;
步驟18:通過對詞匯表操作得到表示用戶興趣的詞向量,詞向量的元素表示詞匯表中的詞匯在文檔中出現的頻率與其在文檔集合中出現頻率的倒數的乘積。
所述的移動互聯網廣告投放方法,所述步驟2還包括:
步驟21:用戶之間的熟悉度可以用微博上用戶之間的共同好友的比例來度量;
步驟22:根據表示用戶興趣的詞向量空間,采用余弦相似公式或者皮爾遜相似公式計算用戶之間的興趣相似度;
步驟23:設用戶u和v之間的熟悉度為f,興趣相似度為h,則用戶u和v之間的相似度s=β×f+(1-β)×h,β∈(0,1)為線性組合系數,從而得到用戶之間的相似度矩陣。
所述的移動互聯網廣告投放方法,所述步驟3還包括:
步驟31:用戶對廣告產生的行為包括瀏覽、點擊和評論等,設用戶在最近一次時間t對任意廣告a產生過用戶行為,表示為c=1,而c=0表示用戶u從來沒有對廣告a產生過用戶行為;
步驟32:考慮時間對用戶行為的影響,即用戶當前的行為應該和用戶最近的行為關系更大,則用戶在當前時間t0對廣告a的用戶行為表示為c乘以一個時間衰減函數1/(1+λ×(t0-t)),λ∈(0,1)為權重系數,從而得到“用戶-廣告”矩陣,其值為用戶在當前時間對廣告的用戶行為;
步驟33:利用“用戶-廣告”矩陣,根據用戶之間的相似度矩陣,采用基于用戶的協同過濾方法對任意用戶u生成擬推薦的廣告列表l1。
所述的移動互聯網廣告投放方法,所述步驟4還包括:
步驟41:通過提取微博用戶的注冊信息,或者通過提取微博用戶經常發布微博時的ip地址,可以得到用戶的位置信息。
所述的移動互聯網廣告投放方法,所述步驟6還包括:
步驟61:通過及時獲取用戶發布的微博文本數據和社交網絡關系,重新計算表示用戶興趣的詞向量空間以及用戶之間的興趣相似度和熟悉度,從而更新用戶相似度矩陣。
與現有技術相比,本發明具有以下優點:
(1)根據用戶的喜好進行廣告的推薦有利于提高廣告的瀏覽率,并且更加容易讓用戶接受廣告推銷的產品。但是,由于用戶興趣隨著時間的推移會發生變化,因此,希望盡可能通過刻畫用戶當前的興趣以實現廣告的精準投放。本發明通過及時獲取用戶發布的微博文本數據和社交網絡關系,定期計算表示用戶興趣的詞向量空間以及用戶之間的興趣相似度和熟悉度,更新用戶相似度矩陣,從而生成能夠適應用戶興趣變化的廣告推薦列表;
(2)受時間效應的影響,廣告具有一定的生命周期。同樣,用戶對廣告的行為也具有時間效應,廣告剛推出時可能被很多用戶關注,但是,隨著時間推移,很多廣告逐漸被用戶淡忘。因此,本發明充分考慮了時間因素對用戶行為的影響,在計算“用戶-廣告”矩陣時,通過引入時間衰減函數對用戶行為進行了懲罰,從而盡可能將新近推出的而不是已經過時的廣告推薦給用戶;
(3)通常,用戶更加相信自己熟悉的好友的推薦。同時,根據用戶的喜好進行廣告的推薦有利于提高廣告的瀏覽率。本發明綜合考慮了以上兩個方面的影響,首先利用用戶的社交網絡關系計算用戶之間的熟悉度,然后根據表示用戶興趣的詞向量空間計算用戶之間的興趣相似度,最后通過線性組合,得到用戶之間的相似度矩陣;
(4)用戶通常在附近區域活動,如果推薦附近用戶喜歡的廣告,則用戶更有可能去消費。因此,本發明在計算最終的推薦列表時,除了考慮用戶興趣等因素,還考慮了位置的影響,強化了用戶活動的本地化特征,將最有可能進行線下活動的廣告推薦給用戶,從而實現了線上線下的結合,提高了廣告的轉化率。
附圖說明
圖1為本發明的移動互聯網廣告投放方法的流程圖。
具體實施方式
下面結合附圖對本發明進行詳細說明。
如附圖1所示,本發明方法按照以下步驟進行:
步驟1:獲取用戶發布的微博文本數據,通過中文分詞和噪聲內容處理,創建詞匯表,得到表示用戶興趣的詞向量;
微博作為一種社交網絡平臺,用戶可以在上面發布自己感興趣的話題,也可以評論、轉發其他用戶的微博內容;一條微博一般包含了發布該微博的用戶id、用戶昵稱、微博id以及微博的文本、圖片、音頻等信息;通過微博開放平臺提供的應用程序編程接口以及各種編程語言的外部調用包可以獲取用戶的微博文本數據;將累積一段時間的用戶微博文本數據整理成一個文檔;一個用戶只對應一個文檔,所有用戶的文檔形成一個文檔集合;
在中文微博中,用戶發布的微博文本數據大多是由漢語句子構成,而漢語句子又是由多個漢語詞匯構成,漢語詞匯通常由兩個或者兩個以上的漢字組成;在對漢語句子進行分析時,需要將這些具有連續性的句子劃分成若干個部分,中文分詞處理就是將一個漢語句子序列切分為一個個單獨的詞匯的過程;中文分詞處理的具體方法可以采用基于字符串匹配的分詞方法即機械分詞方法、基于理解的分詞方法或者基于統計的分詞方法等;
微博文本數據的噪聲內容處理包括對停用詞、標點字符的清理等;一般情況下,用戶主要通過動詞、名詞以及形容詞等實詞來表達文本的中心思想和主要內容,而語氣介詞、助詞、連詞、副詞等虛詞雖然在文本數據中使用廣泛、出現頻率非常高,但是對于文本分析沒有太大的意義,這類詞語稱之為“停用詞”,因此在中文分詞處理后需要過濾掉這些停用詞;另外,還有一些標點符號、阿拉伯數字、網頁鏈接等文本分析時不需要的字符,需要在處理微博文本數據之前過濾清理掉;
通過對文檔集合進行中文分詞和噪聲內容處理可以獲得詞匯表,詞匯表包含了文檔集合中的所有單詞但是不重復;通過對詞匯表操作得到表示用戶興趣的詞向量,詞向量的元素表示詞匯表中的詞匯在文檔中出現的頻率與其在文檔集合中出現頻率的倒數的乘積。
步驟2:利用用戶的社交網絡關系計算用戶之間的熟悉度,根據表示用戶興趣的詞向量空間計算用戶之間的興趣相似度,通過線性組合,得到用戶之間的相似度矩陣;
用戶之間的熟悉度描述了用戶在現實社會中的熟悉程度,通常,用戶更加相信自己熟悉的好友的推薦,熟悉度可以用微博上用戶之間的共同好友的比例來度量;根據表示用戶興趣的詞向量空間,采用余弦相似公式或者皮爾遜相似公式計算用戶之間的興趣相似度;設用戶u和v之間的熟悉度為f,興趣相似度為h,則用戶u和v之間的相似度s=β×f+(1-β)×h,β∈(0,1)為線性組合系數,從而得到用戶之間的相似度矩陣。
步驟3:獲取與用戶u最相似的前k個用戶對廣告的行為數據,得到“用戶-廣告”矩陣;根據用戶之間的相似度矩陣,采用基于用戶的協同過濾方法生成擬推薦的廣告列表l1;
用戶對廣告產生的行為包括瀏覽、點擊和評論等,設用戶在最近一次時間t對任意廣告a產生過用戶行為,表示為c=1,而c=0表示用戶u從來沒有對廣告a產生過用戶行為;考慮時間對用戶行為的影響,即用戶當前的行為應該和用戶最近的行為關系更大,則用戶在當前時間t0對廣告a的用戶行為表示為c乘以一個時間衰減函數1/(1+λ×(t0-t)),λ∈(0,1)為權重系數,從而得到“用戶-廣告”矩陣,其值為用戶在當前時間對廣告的用戶行為;利用“用戶-廣告”矩陣,根據用戶之間的相似度矩陣,采用基于用戶的協同過濾方法對任意用戶u生成擬推薦的廣告列表l1。
步驟4:獲取用戶u的位置信息,從與用戶u最相似的前k個用戶中找出與用戶u在同一區域的n個用戶,其中n≤k;利用“用戶-廣告”矩陣,根據用戶之間的相似度矩陣,采用基于用戶的協同過濾方法再次對用戶u生成擬推薦的廣告列表l2;
通過提取微博用戶的注冊信息,或者通過提取微博用戶經常發布微博時的ip地址,可以得到用戶的位置信息。
步驟5:對兩個推薦列表l1和l2進行線性加權組合,得到擬推薦給任意用戶u的廣告列表l=θ×l1+(1-θ)×l2,θ∈(0,1)為線性組合系數。
步驟6:通過重復步驟1和步驟2,定期更新表示用戶興趣的詞向量空間和用戶相似度矩陣,以適應用戶興趣的變化;
用戶最近的行為最能體現用戶當前的興趣,通過及時獲取用戶發布的微博文本數據和社交網絡關系,重新計算表示用戶興趣的詞向量空間以及用戶之間的興趣相似度和熟悉度,從而更新用戶相似度矩陣,生成適應用戶興趣變化的廣告推薦列表。
本領域的技術人員在不脫離權利要求書確定的本發明的精神和范圍的條件下,還可以對以上內容進行各種各樣的修改。因此,本發明的范圍并不僅限于以上的說明,而是由權利要求書的范圍來確定的。