生成式推薦模型的長序列特征:離線存儲

文章目錄

    • 長序列特征的例子
      • 1. Event-level features
      • 2. Sequence-level features
        • Aggregation Features
        • Session-based Features
        • Temporal Order Features
      • 3. User-level features
      • 4. Interaction features (between user and item/context)
    • how to store the long term user behaviro sequence features in offline data lake storage?
    • how to update this behavior_sequence field efficiently when there is new behavior for the same user?
  • 參考資料

長序列特征的例子

For example, a user’s sequence could look like this:
[ Electronics, Clothing, Books, Home & Kitchen, Electronics, Books, Electronics, Sports & Outdoors, Electronics ]
The interactions could be further refined by adding the type of behavior (e.g., [Electronics:view, Clothing:click, Books:purchase, Home & Kitchen:add_to_cart, …] ).

1. Event-level features

Categorical Encoding: Convert event types (e.g., “click”, “add to cart”, “purchase”, “view”) or item categories into numerical representations using techniques like one-hot encoding or embedding methods.
Temporal Features: Extract time-based features from timestamps, such as hour of day, day of the week, month, and time elapsed since previous interaction.
Interaction-Specific Features: Capture attributes specific to each interaction, like product price, rating, duration of video watched, etc.

2. Sequence-level features

Aggregation Features

Count of specific events: Number of clicks, purchases, or searches in the past week.
Average value of numerical features: Average product price of items viewed or purchased.
Time-based statistics: Maximum, minimum, or average time between consecutive interactions.
Frequency of interactions: Number of interactions per hour or day.

Session-based Features

Session length: Number of events or duration of the session.
Session activity type: Percentage of clicks, purchases, or searches within the session.
Sequence of items/events within a session: Representing the order of actions taken by the user, for example, viewing product A, then B, then adding B to the cart.

Temporal Order Features

Lag features: Features from previous interactions (e.g., the last item viewed, the type of the second-to-last event). GeeksforGeeks notes that lag features are a fundamental technique for time-series data.
Positional embeddings: Add positional information to sequence embeddings to capture the order of events.

3. User-level features

Long-Term Preference Features: Summarize user preferences over a long period:
Most frequently purchased categories: Top categories a user interacts with.
Overall spending patterns: Average purchase value, total purchases, etc.
Average interaction count: Average number of interactions per day or week.
User Embeddings

4. Interaction features (between user and item/context)

User-Item Similarity: Calculate the similarity between the current item and previous items the user interacted with.
Time Since Last Interaction with Item: Capturing recency of interest in a particular item.

how to store the long term user behaviro sequence features in offline data lake storage?

  1. Schema design: see following
  2. File formats:Columnar Formats (Parquet or ORC)
  3. Partitioning strategies:Date-Based Partitioning,User ID/Device ID Partitioning
  4. Data ingestion and processing:Batch Ingestion,Data Enrichment and Transformation
  5. Lifecycle management and cost optimization:Retention Policies

Schema design:

user_id: string
name: string
gender: string
behavior_sequence: array<struct<timestamp: timestamp,category_id: int,action_type: string,product_id: string,price: double>
>

how to update this behavior_sequence field efficiently when there is new behavior for the same user?

Merge Operations (Upserts/MERGE SQL): This allows you to efficiently update existing records (the user_id and its behavior_sequence) and insert new ones

MERGE INTO target_delta_table AS target
USING source_data AS source
ON target.user_id = source.user_id
WHEN MATCHED THENUPDATE SET target.behavior_sequence = array_append(target.behavior_sequence, source.new_behavior)
WHEN NOT MATCHED THENINSERT (user_id, name, behavior_sequence)VALUES (source.user_id, source.name, array(source.new_behavior))

參考資料

和Google的對話記錄

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

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

相關文章

Linux inode 實現機制深入分析

Linux inode 實現機制深入分析 1 Inode 基本概念與作用 Inode&#xff08;Index Node&#xff09;是 Linux 和其他類 Unix 操作系統中文件系統的核心數據結構&#xff0c;用于存儲文件或目錄的元數據&#xff08;metadata&#xff09;。每個文件或目錄都有一個唯一的 inode&…

Flask 之請求鉤子詳解:掌控請求生命周期

在構建現代 Web 應用時&#xff0c;我們常常需要在請求的不同階段自動執行一些通用邏輯&#xff0c;例如&#xff1a;記錄日志、驗證權限、連接數據庫、壓縮響應、添加安全頭等。如果在每個視圖函數中重復這些代碼&#xff0c;不僅冗余&#xff0c;而且難以維護。Flask 請求鉤子…

設計模式七大原則附C++正反例源碼

設計模式的七大原則是軟件設計的基石,它們指導開發者構建高內聚、低耦合、易維護、可擴展的系統。以下以C++為例,詳細介紹這七大原則: 一、單一職責原則(Single Responsibility Principle, SRP) 定義:一個類應該只有一個引起它變化的原因(即一個類只負責一項職責)。 …

云計算之中間件與數據庫

一、云數據庫的特性云數據庫是指被優化或部署到一個虛擬計算環境中的數據庫&#xff0c;可以實現按需付費、按需擴展、高可用性以及存儲整合等優勢。根據數據庫類型一般分為關系型數據庫和非關系型數據庫&#xff08;NoSQL數據庫&#xff09; 。云數據庫的特性序號云數據庫的特…

codeforces(1045)(div2) E. Power Boxes

E.電源箱 每次測試時限&#xff1a; 2 秒 每次測試的內存限制&#xff1a;256 兆字節 輸入&#xff1a;標準輸入 輸出&#xff1a;標準輸出 這是一個互動問題。 給你 nnn 個方格&#xff0c;索引從 111 到 nnn 。這些方格看起來完全相同&#xff0c;但是每個方格都有一個隱藏的…

4G模塊 EC200通過MQTT協議連接到阿里云

命令說明 基礎AT指令ATI顯示MT的ID信息ATCIMI查詢IMSIATQCCID查詢ICCIDATCSQ查詢信號強度ATCGATT?查詢當前PS域狀態MQTT配置指令ATQMTCFG配置MQTT可選參數ATQMTCFG配置MQTT可選參數.ATQMTOPEN打開MQTT客戶端網絡ATQMTCLOSE關閉MQTT客戶端網絡ATQMTCONN連接客戶端到MQTT服務器…

如何選擇合適的安全監測預警系統

在當今高度復雜和互聯的數字化時代&#xff0c;安全威脅無處不在且持續演變。一套高效、可靠的安全監測預警系統已成為組織保障其物理資產、數字信息和關鍵業務連續性的核心基礎設施。然而&#xff0c;面對市場上琳瑯滿目的產品和解決方案&#xff0c;如何做出符合自身需求的選…

ELK-使用logstash-output-zabbix插件實現日志通過zabbix告警

ELK-使用logstash-output-zabbix插件實現日志通過zabbix告警logstash-output-zabbix插件安裝編輯logstash配置文件在zabbix上創建模板實現的效果:elk收集上來的日志中含有報錯時(例如error等)&#xff0c;logstash過濾出來將這部分日志打到zabbix&#xff0c;再通過zabbix結合釘…

【C++游記】物種多樣——謂之多態

楓の個人主頁 你不能改變過去&#xff0c;但你可以改變未來 算法/C/數據結構/C Hello&#xff0c;這里是小楓。C語言與數據結構和算法初階兩個板塊都更新完畢&#xff0c;我們繼續來學習C的內容呀。C是接近底層有比較經典的語言&#xff0c;因此學習起來注定枯燥無味&#xf…

Visual Scope (Serial_Digital_Scope V2) “串口 + 虛擬示波器” 工具使用記錄

VisualScope 就是一個 “串口 + 虛擬示波器” 的工具,適合在沒有昂貴示波器/邏輯分析儀時做嵌入式調試。它的核心步驟就是 MCU 定時發數據 → PC 串口接收 → 軟件畫波形。 首先準備串口通信工具后,插入電腦,安裝完USB轉串口驅動后,在“我的電腦”-“設備及管理器”-“端口…

c++ 觀察者模式 訂閱發布架構

#include <iostream> #include <vector> #include <algorithm> #include <memory> #include <mutex>// 觀察者接口 class IObserver { public:virtual ~IObserver() default;virtual void update(const std::string& message) 0; };// 主題…

oracle 表空間擴容(增加新的數據文件)

SELECT tablespace_name,file_name,ROUND(bytes / 1024 / 1024, 2) AS size_mb,ROUND(maxbytes / 1024 / 1024, 2) AS max_size_mb,status,autoextensible FROM dba_data_files ORDER BY tablespace_name;--給表空間增加一個新數據庫文件ALTER TABLESPACE EAS_D_EAS_STANDARDAD…

DAY 58 經典時序預測模型2

知識點回顧&#xff1a; 時序建模的流程時序任務經典單變量數據集ARIMA&#xff08;p&#xff0c;d&#xff0c;q&#xff09;模型實戰SARIMA摘要圖的理解處理不平穩的2種差分 n階差分---處理趨勢季節性差分---處理季節性 昨天我們掌握了AR, MA, 和 ARMA 模型&#xff0c;它們…

【人工智能】AI代理重塑游戲世界:動態NPC帶來的革命性沉浸式體驗

還在為高昂的AI開發成本發愁?這本書教你如何在個人電腦上引爆DeepSeek的澎湃算力! 在當今游戲行業迅猛發展的時代,AI代理技術正悄然引發一場革命,尤其是動態非玩家角色(NPC)的應用,將傳統靜態游戲體驗提升至全新的沉浸式境界。本文深入探討AI代理在游戲中的核心作用,從…

服務器關機故障排查:大白話版筆記

注意:本文解釋文字僅供學習交流使用,不構成專業的技術指導或建議;只是理論實例解釋不代表實際運維場景操作,注意鑒別! 運維日常最頭疼的就是服務器 “突然躺平” —— 要么沒操作就自己關機,要么想關還關不掉。 緊急檢查清單 (Cheat Sheet) 服務器突然宕機,重啟后第一…

如何通過docker進行本地部署?

如何通過docker進行本地部署&#xff1f; 在做項目的過程中&#xff0c;想要上線項目的話肯定是不能在我們電腦上進行開發的&#xff0c;要部署到服務器上面&#xff0c;今天就總結一下操作步驟。 1、創建springboot項目 隨便創建一個springboot工程&#xff0c;確保control…

解鎖AI“黑匣”:監督、無監督與強化學習探秘

在當今數字化浪潮洶涌澎湃的時代&#xff0c;AI 決策已然成為推動各領域變革與發展的核心驅動力&#xff0c;從智能語音助手到自動駕駛汽車&#xff0c;從醫療診斷輔助到金融風險預測&#xff0c;AI 決策的身影無處不在&#xff0c;深刻地改變著人們的生活與工作方式。?AI 決策…

F008 vue+flask 音樂推薦評論和可視化系統+帶爬蟲前后端分離系統

文章結尾部分有CSDN官方提供的學長 聯系方式名片 文章結尾部分有CSDN官方提供的學長 聯系方式名片 關注B站&#xff0c;有好處&#xff01; F008 &#x1f3b6;vueflask 音樂推薦和可視化系統帶爬蟲前后端分離系統 編號&#xff1a;F008 B站視頻介紹&#xff1a; vueflask-云音…

海盜王64位dx9客戶端修改篇之二

目前全網&#xff0c;估計也就只有這個是海盜王客戶端3.0的原始版直接升級成64位dx9的了。客戶端非常簡潔&#xff0c;連64位lua都集成進去&#xff0c;除了新更換的64位SDL音樂播放庫dll沒辦法集成外&#xff0c;沒有任何多余的其他文件了。 之前有其他大佬將1.38的改成了dx9的…