KG-Powered User Profiling — 知识图谱驱动的用户画像:产品知识增强推荐
Skill-KG-Powered-User-Profiling · 08-知识图谱
experimentrecommendationknowledge_graphpricing客服与VOC推荐与搜索知识图谱与RAG定价与利润WF-C 客服分诊WF-D 选品扫描WF-E Review监控WF-F 动态定价WF-H 复购增长
年化 ROI跨品类推荐 CTR 提升 18%,用户 LTV 增加,冷启动转化率提升
实现难度⭐⭐⭐☆☆
业务优先级⭐⭐⭐⭐☆
业务视角
适用角色选品负责人 / 运营负责人 · 数据分析师 · 供应链负责人
适用平台Amazon 品类体系 · 竞品 ASIN 网络分析
什么情况下用品类很多,不清楚品类间的关联,没法做系统性类目扩张规划;竞品矩阵太复杂,品牌/SKU/渠道理不清
成功是什么样的建立品类知识图谱,清晰看到哪些是入口品/引流品/利润品,指导下一步选品扩张方向
业务痛点
1. 解决的问题
传统协同过滤仅依赖 user-item 矩阵,缺乏对产品语义的理解,导致跨品类推荐能力弱。KG-Powered User Profiling 通过异构图融合将产品知识图谱(属性/认证/成分/适用年龄段)与用户行为图(购买/浏览/评价)结合,构建知识增强的用户偏好向量。
2. 核心算法逻辑
传统协同过滤仅依赖 useritem 矩阵,缺乏对产品语义的理解,导致跨品类推荐能力弱。KGPowered User Profiling 通过异构图融合将产品知识图谱(属性/认证/成分/适用年龄段)与用户行为图(购买/浏览/评价)结合,构建知识增强的用户偏好向量。
3. 业务应用场景
业务背景:用户历史购买了有机奶粉,如何推荐有机辅食/有机婴儿护肤?
效果:跨越奶粉→辅食→婴儿护肤的品类边界,CTR 提升 18%,用户 LTV 增加。
业务背景:WF-D 选品阶段,发现用户购买了竞品 X 但未购买我方同类产品,通过 KG 分析竞品属性关联,找到用户未购买但知识关联强的品类。
4. 输入数据要求
请查看原始代码模板获取输入规格。
5. 输出结果
请查看原始代码模板获取输出规格。
6. 业务价值 / ROI
- 跨域:Skill-User-Funnel-Analysis
7. 代码模板
代码块数量:3 · 路径:未检测到
"""
KG-Powered User Profiling — 知识图谱驱动的用户画像
Python 标准库实现,无第三方依赖
"""
from __future__ import annotations
from dataclasses import dataclass, field
from typing import Optional
import math
import heapq
# ─────────────────────────────────────────────
# 数据结构
# ─────────────────────────────────────────────
@dataclass
class ProductKGNode:
"""产品知识图谱节点"""
product_id: str
name: str
category: str # 一级品类,如 "奶粉"
sub_category: str = "" # 二级品类,如 "有机奶粉"
attributes: dict[str, str] = field(default_factory=dict) # 如 {"成分": "DHA", "适用月龄": "0-6"}
certifications: list[str] = field(default_factory=list) # 如 ["EU有机认证", "FDA认证"]
tags: list[str] = field(default_factory=list) # 如 ["有机", "益生菌"]
price_tier: str = "mid" # low/mid/high
@dataclass
class UserAction:
"""用户行为记录"""
user_id: str
product_id: str
action_type: str # purchase/view/review
timestamp: float # Unix timestamp
score: float = 1.0 # 评分(review时有效)
# ─────────────────────────────────────────────
# 用户 KG 画像构建器
# ─────────────────────────────────────────────
class UserKGProfiler:
"""从行为历史推断用户知识偏好向量"""
# 行为类型基础权重
ACTION_WEIGHTS = {
"purchase": 3.0,
"review": 2.0,
"view": 0.5,
}
def __init__(
self,
kg_nodes: list[ProductKGNode],
decay_factor: float = 0.9,
max_age_days: float = 180.0,
):
"""
Args:
8. 论文来源
未自动抽取;请查看原始 Skill 卡片。