一 、個性化電商廣告推薦系統介紹

一 個性化電商廣告推薦系統介紹

1.1 數據集介紹

  • Ali_Display_Ad_Click是阿里巴巴提供的一個淘寶展示廣告點擊率預估數據集

    數據集來源:天池競賽

  • 原始樣本骨架raw_sample

    淘寶網站中隨機抽樣了114萬用戶8天內的廣告展示/點擊日志(2600萬條記錄),構成原始的樣本骨架。 字段說明如下:

    1. user_id:脫敏過的用戶ID;
    2. adgroup_id:脫敏過的廣告單元ID;
    3. time_stamp:時間戳;
    4. pid:資源位;
    5. noclk:為1代表沒有點擊;為0代表點擊;
    6. clk:為0代表沒有點擊;為1代表點擊;

    用前面7天的做訓練樣本(20170506-20170512),用第8天的做測試樣本(20170513)

  • 廣告基本信息表ad_feature

    本數據集涵蓋了raw_sample中全部廣告的基本信息(約80萬條目)。字段說明如下:

    1. adgroup_id:脫敏過的廣告ID;
    2. cate_id:脫敏過的商品類目ID;
    3. campaign_id:脫敏過的廣告計劃ID;
    4. customer_id: 脫敏過的廣告主ID;
    5. brand_id:脫敏過的品牌ID;
    6. price: 寶貝的價格

    其中一個廣告ID對應一個商品(寶貝),一個寶貝屬于一個類目,一個寶貝屬于一個品牌。

  • 用戶基本信息表user_profile

    本數據集涵蓋了raw_sample中全部用戶的基本信息(約100多萬用戶)。字段說明如下:

    1. userid:脫敏過的用戶ID;
    2. cms_segid:微群ID;
    3. cms_group_id:cms_group_id;
    4. final_gender_code:性別 1:男,2:女;
    5. age_level:年齡層次; 1234
    6. pvalue_level:消費檔次,1:低檔,2:中檔,3:高檔;
    7. shopping_level:購物深度,1:淺層用戶,2:中度用戶,3:深度用戶
    8. occupation:是否大學生 ,1:是,0:否
    9. new_user_class_level:城市層級
  • 用戶的行為日志behavior_log

    本數據集涵蓋了raw_sample中全部用戶22天內的購物行為(共七億條記錄)。字段說明如下:

    user:脫敏過的用戶ID;
    time_stamp:時間戳;
    btag:行為類型, 包括以下四種:
    ? 類型 | 說明
    ? pv | 瀏覽
    ? cart | 加入購物車
    ? fav | 喜歡
    ? buy | 購買
    cate_id:脫敏過的商品類目id;
    brand_id: 脫敏過的品牌id;
    這里以user + time_stamp為key,會有很多重復的記錄;這是因為我們的不同的類型的行為數據是不同部門記錄的,在打包到一起的時候,實際上會有小的偏差(即兩個一樣的time_stamp實際上是差異比較小的兩個時間)

1.2 項目效果展示

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-EUTDy1BC-1691901710646)(/img/1545049355235.png)]

1.3 項目實現分析

  • 主要包括

    • 一份廣告點擊的樣本數據raw_sample.csv:體現的是用戶對不同位置廣告點擊、沒點擊的情況
    • 一份廣告基本信息數據ad_feature.csv:體現的是每個廣告的類目(id)、品牌(id)、價格特征
    • 一份用戶基本信息數據user_profile.csv:體現的是用戶群組、性別、年齡、消費購物檔次、所在城市級別等特征
    • 一份用戶行為日志數據behavior_log.csv:體現用戶對商品類目(id)、品牌(id)的瀏覽、加購物車、收藏、購買等信息

    我們是在對非搜索類型的廣告進行點擊率預測和推薦(沒有搜索詞、沒有廣告的內容特征信息)

    1. 推薦業務處理主要流程: 召回 ===> 排序 ===> 過濾
      • 離線處理業務流
        • raw_sample.csv ==> 歷史樣本數據
        • ad_feature.csv ==> 廣告特征數據
        • user_profile.csv ==> 用戶特征數據
        • raw_sample.csv + ad_feature.csv + user_profile.csv ==> CTR點擊率預測模型
        • behavior_log.csv ==> 評分數據 ==> user-cate/brand評分數據 ==> 協同過濾 ==> top-N cate/brand ==> 關聯廣告
        • 協同過濾召回 ==> top-N cate/brand ==> 關聯對應的廣告完成召回
      • 在線處理業務流
        • 數據處理部分:
          • 實時行為日志 ==> 實時特征 ==> 緩存
          • 實時行為日志 ==> 實時商品類別/品牌 ==> 實時廣告召回集 ==> 緩存
        • 推薦任務部分:
          • CTR點擊率預測模型 + 廣告/用戶特征(緩存) + 對應的召回集(緩存) ==> 點擊率排序 ==> top-N 廣告推薦結果
    2. 涉及技術:Flume、Kafka、Spark-streming\HDFS、Spark SQL、Spark ML、Redis
      • Flume:日志數據收集
      • Kafka:實時日志數據處理隊列
      • HDFS:存儲數據
      • Spark SQL:離線處理
      • Spark ML:模型訓練
      • Redis:緩存

1.4 點擊率預測(CTR–Click-Through-Rate)概念

  • 電商廣告推薦通常使用廣告點擊率(CTR–Click-Through-Rate)預測來實現

    點擊率預測 VS 推薦算法

    點擊率預測需要給出精準的點擊概率,比如廣告A點擊率0.5%、廣告B的點擊率0.12%等;而推薦算法很多時候只需要得出一個最優的次序A>B>C即可。

    點擊率預測使用的算法通常是如邏輯回歸(Logic Regression)這樣的機器學習算法,而推薦算法則是一些基于協同過濾推薦、基于內容的推薦等思想實現的算法

    點擊率 VS 轉化率

    點擊率預測是對每次廣告的點擊情況做出預測,可以判定這次為點擊或不點擊,也可以給出點擊或不點擊的概率

    轉化率指的是從狀態A進入到狀態B的概率,電商的轉化率通常是指到達網站后,進而有成交記錄的用戶比率,如用戶成交量/用戶訪問量

    搜索和非搜索廣告點擊率預測的區別

    搜索中有很強的搜索信號-“查詢詞(Query)”,查詢詞和廣告內容的匹配程度很大程度影響了點擊概率,搜索廣告的點擊率普遍較高

    非搜索廣告(例如展示廣告,信息流廣告)的點擊率的計算很多就來源于用戶的興趣和廣告自身的特征,以及上下文環境。通常好位置能達到百分之幾的點擊率。對于很多底部的廣告,點擊率非常低,常常是千分之幾,甚至更低

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/34913.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/34913.shtml
英文地址,請注明出處:http://en.pswp.cn/news/34913.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

LangChain-ChatGLM在WIndows10下的部署

LangChain-ChatGLM在WIndows10下的部署 參考資料 1、LangChain ChatGLM2-6B 搭建個人專屬知識庫中的LangChain ChatGLM2-6B 構建知識庫這一節:基本的邏輯和步驟是對的,但要根據Windows和現狀做很多調整。 2、沒有動過model_config.py中的“LORA_MOD…

validation之自定義注解@Constraint

前言: 首先,接口參數校驗應該都不陌生,大部分應該都會借助javax.validation進行快捷校驗,一般都是在入參字段上添加NotNull、NotEmpty等,對于一些特殊的入參校驗邏輯,可能不是很適用,現在介紹一…

【ECMAScript】ES6-ES11學習筆記

文章目錄 注意事項1.聲明變量2.定義常量3.解構賦值4.模板字符串5.簡化對象寫法6.箭頭函數7.參數默認值8.rest參數9.擴展運算符10.Symbol11.生成器函數12.Promise基本語法13.集合set14.Map15.類class16.數值擴展17.對象私有屬性18.對象方法擴展19.js文件模塊化20.async和await21…

數據庫操作不再困難,MyBatis動態Sql標簽解析

系列文章目錄 MyBatis緩存原理 Mybatis的CachingExecutor與二級緩存 Mybatis plugin 的使用及原理 MyBatis四大組件Executor、StatementHandler、ParameterHandler、ResultSetHandler 詳解 MyBatisSpringboot 啟動到SQL執行全流程 數據庫操作不再困難,MyBatis動態S…

Neo4j之MATCH基礎

1】基本匹配和返回:查找所有節點和關系,返回節點的標簽和屬性。 MATCH (n) RETURN n;2】條件篩選:查找所有名為 "Alice" 的人物節點。 MATCH (person:Person {name: Alice}) RETURN person;3】關系查詢:查找所有和 &q…

Centos7.6 安裝mysql過程全記錄

在centos 7.6上 離線安裝mysql 的步驟,可參考下文: 一、查看當前MySQL的安裝情況并卸載 1. 查看當前MySQL的安裝情況 查找之前是否安裝了MySQL rpm -qa|grep -i mysql 2.卸載mysql 如果已經安裝mysql,則需要先停止MySQL,再刪除…

YOLOv5、YOLOv8改進:MobileViT:輕量通用且適合移動端的視覺Transformer

MobileViT: Light-weight, General-purpose, and Mobile-friendly Vision Transformer 論文:https://arxiv.org/abs/2110.02178 1簡介 MobileviT是一個用于移動設備的輕量級通用可視化Transformer,據作者介紹,這是第一次基于輕量級CNN網絡性…

LeetCode150道面試經典題--單詞規律(簡單)

1.題目 給定一種規律 pattern 和一個字符串 s ,判斷 s 是否遵循相同的規律。 這里的 遵循 指完全匹配,例如, pattern 里的每個字母和字符串 s 中的每個非空單詞之間存在著雙向連接的對應規律。 2.示例 pattern"abba" s "c…

SpingBoot-Vue前后端——實現CRUD

目錄??????? 一、實例需求 ? 二、代碼實現 🏌 數據庫 👀 后端實現 📫 前端實現 🌱 三、源碼下載 👋 一、實例需求 ? 實現一個簡單的CRUD,包含前后端交互。 二、代碼實現 🏌 數…

[樹莓派]ImportError: libcblas.so.3: cannot open shared object file

嘗試在樹莓派4b安裝opencv-python,出現以下錯誤,ImportError: libcblas.so.3: cannot open shared object file: No such file or directory 解決方法,安裝依賴 sudo apt install libatlas-base-dev 再次import cv2就不會報這個錯誤。

約束綜合中的邏輯互斥時鐘(Logically Exclusive Clocks)

注:本文翻譯自Constraining Logically Exclusive Clocks in Synthesis 邏輯互斥時鐘的定義 邏輯互斥時鐘是指設計中活躍(activate)但不彼此影響的時鐘。常見的情況是,兩個時鐘作為一個多路選擇器的輸入,并根據sel信號…

八、解析應用程序——分析應用程序(1)

文章目錄 一、確定用戶輸入入口點1.1 URL文件路徑1.2 請求參數1.3 HTTP消息頭1.4 帶外通道 二、確定服務端技術2.1 提取版本信息2.2 HTTP指紋識別2.3 文件拓展名2.4 目錄名稱2.5 會話令牌2.6 第三方代碼組件 小結 枚舉盡可能多的應用程序內容只是解析過程的一個方面。分析應用程…

小龜帶你敲排序之冒泡排序

冒泡排序 一. 定義二.題目三. 思路分析(圖文結合)四. 代碼演示 一. 定義 冒泡排序(Bubble Sort,臺灣譯為:泡沫排序或氣泡排序)是一種簡單的排序算法。它重復地走訪過要排序的數列,一次比較兩個元…

【深度學習】再談向量化

前言 向量化是一種思想,不僅體現在可以將任意實體用向量來表示,更為突出的表現了人工智能的發展脈絡。向量的演進過程其實都是人工智能向前發展的時代縮影。 1.為什么人工智能需要向量化 電腦如何理解一門語言?電腦的底層是二進制也就是0和1&…

Arduino+esp32學習筆記

學習目標: 使用Arduino配置好藍牙或者wifi模塊 學習使用python配置好藍牙或者wifi模塊 學習內容(筆記): 一、 Arduino語法基礎 Arduino語法是基于C的語法,C又是c基礎上增加了面向對象思想等進階語言。那就只記錄沒見過的。 單多…

全國各城市-貨物進出口總額和利用外資-外商直接投資額實際使用額(1999-2020年)

最新數據顯示,全國各城市外商直接投資額實際使用額在過去一年中呈現了穩步增長的趨勢。這一數據為研究者提供了對中國外商投資活動的全面了解,并對未來投資趨勢和政策制定提供了重要參考。 首先,這一數據反映了中國各城市作為外商投資的熱門目…

Effective Java筆記(31)利用有限制通配符來提升 API 的靈活性

參數化類型是不變的&#xff08; invariant &#xff09; 。 換句話說&#xff0c;對于任何兩個截然不同的類型 Typel 和 Type2 而言&#xff0c; List<Type1 &#xff1e;既不是 List<Type 2 &#xff1e; 的子類型&#xff0c;也不是它的超類型 。雖然 L ist<String…

Oracle自定義函數生成MySQL表結構的DDL語句

1. 自定義函數fnc_table_to_mysql create or replace function fnc_table_to_mysql ( i_owner in string, i_table_name in string, i_number_default_type in string : decimal, i_auto_incretment_column_name in stri…

Linux 文件查看命令

一、cat命令 1.cat文件名&#xff0c;查看文件內容&#xff1a; 例如&#xff0c;查看main.c文件的內容&#xff1a; 2.cat < 文件名&#xff0c;往文件中寫入數據&#xff0c; Ctrld是結束輸入 例如&#xff0c;向文件a.txt中寫入數據&#xff1a; 查看剛剛寫入a.txt的…

Yolov5(一)VOC劃分數據集、VOC轉YOLO數據集

代碼使用方法注意修改一下路徑、驗證集比例、類別名稱&#xff0c;其他均不需要改動&#xff0c;自動劃分訓練集、驗證集、建好全部文件夾、一鍵自動生成Yolo格式數據集在當前目錄下&#xff0c;大家可以直接修改相應的配置文件進行訓練。 目錄 使用方法&#xff1a; 全部代碼…