paper2skills Playbook

DS-DGA-GCN — 动态图假评论群组检测:冷启动新品防刷评

Skill-DS-DGA-GCN-Fake-Review-Group · 19-风控反欺诈

causalexperimentknowledge_graphfraud_detection客服与VOC知识图谱与RAG风控与合规WF-C 客服分诊WF-D 选品扫描WF-E Review监控WF-G Listing内容优化
实现难度⭐⭐⭐☆☆
业务优先级⭐⭐⭐⭐⭐
业务视角
适用角色运营负责人 / 合规负责人 · 品牌负责人 · CEO
适用平台Amazon 刷评检测与举报 · TikTok Shop 刷单识别 · 竞品 Listing 攻击溯源
什么情况下用竞品刷单刷好评,自己的 BSR 和评分被打压;账号/ASIN 被恶意投诉删除;店铺有异常订单不确定是真实买家
成功是什么样的识别过滤刷评/恶意竞争行为,账号风险提前预警,维权有数据证据,降低封号风险
业务痛点
竞品刷评打压我们我们的好评被恶意举报删除不知道差评是真实的还是恶意的如何证明竞品恶意行为

1. 解决的问题

核心思想:在"产品 → 评论 → 评论者"三方动态异构图上检测刷评团伙群组。不看单条评论文本质量,而是看评论者之间的网络行为模式——真实用户构成稀疏随机网络,刷评团伙则共现密集、行为高度同步。

2. 核心算法逻辑

核心思想:在"产品 → 评论 → 评论者"三方动态异构图上检测刷评团伙群组。不看单条评论文本质量,而是看评论者之间的网络行为模式——真实用户构成稀疏随机网络,刷评团伙则共现密集、行为高度同步。

3. 业务应用场景

业务问题:新款奶瓶(ASIN B0XXXX)上架后 6 小时内突现 38 条 5 星评论,评论者账号注册时间集中在近 7 天、互相之间都购买过同一批产品。肉眼难辨,但网络结构异常明显。

数据要求: | 类型 | 字段 | 来源 | |------|------|------| | 评论 | reviewer_id, product_id, rating, timestamp | Amazon API | | 评论者 | account_age, review_count, verified | 爬取 | | 产品 | asin, category, launch_date | 内部数据 |

预期产出: - 评论者群组分类:正常 / 可疑 / 虚假团伙 - 可疑群组图谱(哪些账号构成一个团伙) - NFS 得分热力图(团伙成员的网络指纹)

4. 输入数据要求

请查看原始代码模板获取输入规格。

5. 输出结果

请查看原始代码模板获取输出规格。

6. 业务价值 / ROI

未自动抽取;请查看原始 Skill 卡片。

7. 代码模板

代码块数量:1 · 路径:未检测到

"""
DS-DGA-GCN: 动态图假评论群组检测
论文: Detecting Fake Reviewer Groups in Dynamic Networks (arXiv 2603.08332)
场景: 母婴新品上架刷评检测 + 选品评论质量过滤
"""
from __future__ import annotations
from dataclasses import dataclass, field
from typing import Dict, List, Tuple
import numpy as np
from collections import defaultdict


# ─── 数据结构 ────────────────────────────────────────────────────────────────

@dataclass
class Review:
    reviewer_id: str
    product_id: str
    rating: float
    timestamp: float       # Unix 时间戳
    verified: bool = False
    review_text: str = ""


@dataclass
class ReviewerNode:
    reviewer_id: str
    account_age_days: int
    total_review_count: int
    reviews: List[Review] = field(default_factory=list)


# ─── 三方动态图 ──────────────────────────────────────────────────────────────

class ReviewerNetworkGraph:
    """产品-评论-评论者 三方动态图(支持时序边添加)"""

    def __init__(self):
        self.reviewer_nodes: Dict[str, ReviewerNode] = {}
        self.product_ids: set = set()
        # 边: reviewer_id -> set of product_ids(co-review 边)
        self.coview_edges: Dict[str, set] = defaultdict(set)
        # 时序边: (reviewer_id, product_id) -> timestamp
        self.temporal_edges: Dict[Tuple[str, str], List[float]] = defaultdict(list)

    def add_review(self, review: Review, reviewer_node: ReviewerNode) -> None:
        """动态添加一条评论(时序边扩展)"""
        rid = review.reviewer_id
        pid = review.product_id

        self.reviewer_nodes[rid] = reviewer_node
        self.product_ids.add(pid)
        self.coview_edges[rid].add(pid)
        self.temporal_edges[(rid, pid)].append(review.timestamp)
        reviewer_node.reviews.append(review)

    def get_co_reviewers(self, reviewer_id: str) -> List[str]:
        """找出与该评论者评论过同一产品的所有评论者(共现关系)"""
        target_products = self.coview_edges.get(reviewer_id, set())
        co_reviewers = []

8. 论文来源

  • 2603.08332