在基于 RAG(检索增强生成)架构的现代 AI 搜索引擎中(包括 Google AI Overview、Perplexity AI 与 ChatGPT Search),大语言模型(LLM)并不会逐行阅读全篇 5000 字的 HTML 网页。相反,向量搜索引擎会将网页文本切碎为若干个独立的 200 ~ 400 Token 语义切片(Semantic Chunks)。
如果您的文章切片充斥客套废话、标题指代不清或事实密度过低,RAG 重排序算法(Reranker)将在 Prompt 合成阶段直接丢弃该段落。本指南基于 普林斯顿 GEO 学术模型 传授切片密度优化技巧。
RAG 向量重排序算法的数学原理
RAG 搜索引擎使用向量嵌入模型(如 OpenAI text-embedding-3-large 或 Google text-embedding-004)将网页文本转化为多维向量空间中的坐标点。
1. 向量余弦相似度计算公式 (Cosine Similarity)
用户查询向量 Q 与文档切片向量 C 之间的语义相似度由归一化点积计算导出:
CosineSimilarity(Q, C) = (Q · C) / (||Q|| * ||C||) = (Σ Q_i * C_i) / (sqrt(Σ Q_i^2) * sqrt(Σ C_i^2))其中 ||Q|| 表示查询嵌入向量的模长(Euclidean L2-norm)。若文本切片的余弦相似度低于阈值(通常为 < 0.72),该段落将被系统直接屏蔽,无法注入大模型的 Prompt 上下文中。
2. 信息密度指标公式 (Information Density Score)
我们的 内容 GEO 评估工具 通过唯一事实实体与数值指标占总 Token 长度的比例来量化段落密度:
InformationDensityScore = ( 唯一事实实体数量 + 核心数值指标数量 ) / 总 Token 长度 * 100%为了确保网页切片能稳妥跻身 AI 概览引用卡片,单个段落切片的 信息密度得分必须达到 >= 18.5%。
RAG 语义切片 vs 传统 DOM 结构对比
传统搜索引擎基于全 DOM 树和关键词密度进行全文索引;而 AI 搜索引擎则将文本拆解为独立向量切片进行相似度计算:
实战流程:使用 GEO Auditor 进行切片密度诊断与重构
结合我们的 内容 GEO 评估工具,通过 4 步工作流诊断段落切片并消除冗余:
工具具体操作步骤:
- 第一步 — 提交网页 URL:打开 内容 GEO 评估工具,粘贴您的文章落地页链接。
- 第二步 — 查看 200 字切片拆解面板:工具自动模拟向量切片(每 300 Token 为一窗口),在界面上使用红字标记冗余客套话,绿字标记高密度事实实体。
- 第三步 — 重构 H2 结论型解答区:删除 H2 标题正下方的铺垫话术,替换为 150 字以内包含客观数据与表格的结论解答。
- 第四步 — 重新校验与提交:重新评估页面,确保切片密度得分突破 85% 门槛,随后在 Google Search Console 中请求重新抓取。
Python RAG 切片分词与密度计算脚本
以下 Python 脚本展示了向量索引器如何使用 Tiktoken 对文本进行分词并计算信息密度得分:
import tiktoken
def calculate_chunk_density(chunk_text: str) -> float:
encoder = tiktoken.get_encoding("cl100k_base")
tokens = encoder.encode(chunk_text)
total_tokens = len(tokens)
# 提取事实实体(大写专有名词、数字、百分比)
words = chunk_text.split()
factual_entities = [w for w in words if w.istitle() or any(c.isdigit() for c in w)]
if total_tokens == 0:
return 0.0
return (len(factual_entities) / total_tokens) * 100
# 示例切片评估
sample_chunk = "Google AI Overview 使用 Gemini 模型解析 200 字语义切片。信息密度必须突破 18.5% 才能通过 RAG Reranker 校验。"
score = calculate_chunk_density(sample_chunk)
print(f"切片 Token 信息密度得分: {score:.2f}%")