# 社交媒体事件挖掘与分析技能 (Social Media Event Miner)

**版本：** v1.0.0
**创建日期：** 2026-04-02
**用途：** 挖掘和分析社交媒体账号在指定时间范围内曝光的事件

---

## 功能概述

本技能用于挖掘和分析社交媒体账号（如马斯克）近一个月发布的所有推文：

✅ **事件聚类识别** - 基于时间窗口和主题相似度聚类推文，识别独立事件
✅ **事件影响力评估** - 综合互动量、推文密度、原创比例计算影响力评分
✅ **事件主题分类** - 识别事件主题（产品发布、技术更新、商业动态、政治/政策等）
✅ **事件情感分析** - 分析事件内容的情感倾向（正面/负面/中性）
✅ **传播模式识别** - 判定是主动发声、混合传播、参与讨论还是被动传播
✅ **综合报告生成** - 生成Markdown格式的事件清单和详细分析报告

---

## 快速开始

### 1. 命令行使用

```bash
cd /root/.openclaw/workspace/skills/social-media-event-miner

# 使用测试数据
python3 scripts/mine_events.py references/test-input.json

# 使用自定义数据
python3 scripts/mine_events.py your-input.json
```

### 2. 输入数据格式

**账户信息：**
```json
{
  "id": "elonmusk",
  "username": "Elon Musk",
  "bio": "Mars, cars, chips & rockets",
  "location": "Austin, Texas",
  "created_at": "2009-06-02",
  "followers_count": 150000000,
  "following_count": 100,
  "verified": true
}
```

**推文数据：**
```json
[
  {
    "id": "1",
    "text": "Exciting product launch coming soon! #product #launch",
    "created_at": "2026-04-01T10:00:00Z",
    "like_count": 10000,
    "retweet_count": 5000,
    "reply_count": 1000
  }
]
```

---

## 核心模块

| 模块 | 功能 |
|------|------|
| `mine_events.py` | 主入口：完整挖掘流程 |
| `event_clusterer.py` | 事件聚类：基于时间窗口和相似度 |
| `event_analyzer.py` | 事件分析：影响力、主题、情感、传播模式 |
| `generate_report.py` | 报告生成：Markdown格式 |

---

## 输出示例

### 统计摘要

```
**分析范围：** 近30天

## 统计摘要
- **识别事件数：** 2
- **分析推文数：** 6
- **总互动量：** 104,800
```

### 事件清单

| 事件ID | 时间范围 | 推文数 | 互动量 | 影响力等级 | 主题 |
|--------|----------|--------|--------|------------|------|
| 1. event_1 | 2026-04-01 | 3 | 68,500 | 中 | 产品发布 |
| 2. event_0 | 2026-03-20 | 3 | 36,300 | 中 | 政治/政策 |

### 详细事件分析

```
## 事件：event_1

**影响力评估：**
- **评分：** 342.68
- **等级：** 中

**主题分类：**
- **主要主题：** 产品发布
- **置信度：** 1.0

**传播模式：**
- **模式：** 主动发声
- **描述：** 以原创内容为主，主动发起话题和讨论

**话题标签：**
- #launch (3次)
- #product (2次)
```

---

## 参数配置

| 参数 | 类型 | 默认值 | 说明 |
|------|------|--------|------|
| `time_window_hours` | float | 48.0 | 时间窗口（小时），用于判定推文是否属于同一事件 |
| `min_tweets_per_event` | int | 3 | 每个事件最少需要的推文数 |
| `days_back` | int | 30 | 分析时间范围（天数） |

---

## 主题分类体系

内置主题分类：

| 主题 | 关键词示例 |
|------|------------|
| 产品发布 | launch, release, product, announce |
| 技术更新 | update, upgrade, feature, improve |
| 商业动态 | deal, acquisition, investment, stock |
| 政治/政策 | policy, regulation, government, law |
| 社会议题 | social, community, humanitarian |
| 个人观点 | think, believe, opinion, view |
| 争议/冲突 | dispute, conflict, criticize |
| 娱乐/文化 | entertainment, culture, art, music |

---

## 影响力等级

| 评分 | 等级 | 说明 |
|------|------|------|
| ≥1000 | 极高 | 超级热点事件 |
| ≥500 | 高 | 重大事件 |
| ≥100 | 中 | 中等事件 |
|<100 | 低 | 一般事件 |

---

## 传播模式

| 模式 | 原创比例 | 说明 |
|------|----------|------|
| 主动发声 | ≥80% | 以原创内容为主，主动发起话题 |
| 混合传播 | 50%-80% | 原创与转发并重 |
| 参与讨论 | 20%-50% | 以转发和引用为主 |
| 被动传播 | <20% | 几乎全是转发 |

---

## Python代码使用

```python
import json
import sys
from pathlib import Path

sys.path.insert(0, "/root/.openclaw/workspace/skills/social-media-event-miner/scripts")
from mine_events import mine_social_media_events

# 加载数据
with open("input.json", "r", encoding="utf-8") as f:
    data = json.load(f)

# 执行挖掘
result = mine_social_media_events(
    account_info=data["account_info"],
    tweets=data["tweets"],
    interaction_data=data.get("interaction_data"),
    time_window_hours=48.0,
    min_tweets_per_event=3,
    days_back=30
)

# 输出报告
print(result["report"])

# 输出完整JSON
# print(json.dumps(result, ensure_ascii=False, indent=2, default=str))
```

---

## 应用场景

- **KOL行为分析** - 分析意见领袖的发声模式和关注重点
- **舆情监测** - 追踪热点事件的传播和演化
- **事件溯源** - 识别事件的第一手来源和关键节点
- **认知战研究** - 分析敌对叙事的传播模式和影响力
- **竞品分析** - 监控竞争对手的战略动向和市场活动
- **个人品牌管理** - 追踪个人或品牌的社交媒体影响力

---

## 技术特性

✅ 多种时间格式支持（ISO 8601等）
✅ 智能事件聚类算法（时间窗口 + 文本相似度）
✅ 综合影响力评估（互动量、密度、原创比例）
✅ 主题分类和情感分析
✅ 传播模式识别
✅ Markdown格式报告生成
✅ 结构化JSON输出
✅ 可扩展主题和情感词典

---

## 注意事项

1. **数据质量依赖**：分析结果高度依赖推文时间戳的准确性和互动数据完整性
2. **主题分类简化**：当前使用关键词匹配，实际应用中建议使用NLP模型（如BERT）
3. **情感分析简化**：当前使用词典方法，实际应用中建议使用情感分析模型
4. **时间窗口调整**：根据具体账号的推文频率调整 `time_window_hours` 参数
5. **语言支持**：当前主要支持英文，中文主题分类需要扩展关键词库

---

## 文件结构

```
social-media-event-miner/
├── SKILL.md                              # 技能说明
├── README.md                             # 本文件
├── scripts/
│   ├── mine_events.py                     # 主入口
│   ├── event_clusterer.py                 # 事件聚类
│   ├── event_analyzer.py                  # 事件分析
│   └── generate_report.py                 # 报告生成
└── references/
    └── test-input.json                   # 测试输入数据
```

---

## 测试验证

✅ 所有脚本已通过测试
✅ 测试数据已验证
✅ 事件聚类功能正常
✅ 事件分析功能正常
✅ 报告生成功能正常

---

**技能路径：** `/root/.openclaw/workspace/skills/social-media-event-miner/`
