46 lines
2.1 KiB
Markdown
46 lines
2.1 KiB
Markdown
---
|
||
title: "Semantic Deduplication"
|
||
type: concept
|
||
last_updated: 2026-04-22
|
||
---
|
||
|
||
## Definition
|
||
|
||
通过向量嵌入(vector embedding)计算文本内容的语义相似度,在相似度超过阈值时判定为重复,从而实现比精确匹配更智能的去重能力。
|
||
|
||
## Mechanism
|
||
|
||
1. **Embedding 生成**:将文本内容(选题、摘要、评论等)通过 LLM 或专用 embedding 模型(如 OpenAI text-embedding-3-small)转为高维向量
|
||
2. **相似度计算**:使用余弦相似度(cosine similarity)或点积(dot product)比较向量距离
|
||
3. **阈值判定**:相似度 > 阈值(通常 0.85-0.95)则判定为重复
|
||
4. **存储与检索**:向量存入数据库(SQLite + extension / pgvector / Qdrant),检索时做 ANN(近似最近邻)搜索
|
||
|
||
## Why It Matters
|
||
|
||
精确匹配(字符串/哈希去重)无法识别语义重复:
|
||
- "Claude Code 发布了新功能" vs "Anthropic's CLI agent got an update" — 同一事件,不同措辞
|
||
- 语义去重确保:不做重复选题,不生成相似内容,不过度覆盖同一主题
|
||
|
||
## Applications
|
||
|
||
| 场景 | 工具 | 说明 |
|
||
|------|------|------|
|
||
| YouTube 选题去重 | [[YouTube-Content-Pipeline]] | SQLite 存储向量,从不推送同一选题两次 |
|
||
| 知识库 RAG | [[Knowledge-Base-RAG]] | 检索时过滤语义重复的上下文片段 |
|
||
| Newsletter 去重 | [[Inbox-De-clutter]] | 避免同一事件被重复摘要 |
|
||
| 竞品分析 | [[Pre-Build-Idea-Validator]] | 识别赛道内相似产品 |
|
||
|
||
## Implementation Notes
|
||
|
||
- **SQLite**:可用 `sqlite-vss` 扩展(基于 FAISS)实现向量存储和 ANN 搜索
|
||
- **Embedding 模型选择**:text-embedding-3-small(OpenAI)性价比最高;BGE-m3(国产,支持中文)
|
||
- **阈值调优**:高阈值(0.95)保守去重,低阈值(0.85)激进去重,需根据场景调整
|
||
- **更新策略**:已有内容变化时需重新生成 embedding
|
||
|
||
## Connections
|
||
|
||
- [[Vector-Embedding]] — 底层使能技术
|
||
- [[Knowledge-Base-RAG]] — 应用场景之一
|
||
- [[YouTube-Content-Pipeline]] — 具体应用实例
|
||
- [[Pre-Build-Validation]] — 避免重复发现同类竞品
|