多智能体语义核心自动化与集成投票机制
此脚本实现语义数据的自动化采集:输入关键词掩码,获取频率数据,并导出为表格。它取代了繁琐的Wordstat → Excel工作流。利用两个数据源:免费的Bukvarix API(覆盖广泛同义词,但有月度延迟)和付费的XMLRiver(通过代理访问Yandex XML,实时获取数据,无需验证码)。
XMLRiver支持三种频率类型:
- 基础:
apartment repair→ 45,661 - 精确:
"apartment repair"→ 12,340 - 优化:
[!apartment !repair]→ 8,912
查询在10个线程中并行运行,并具备重试逻辑。竞争力评分采用公式:score = (词数 × 1000) / (频率 + 1)。结果按颜色标记:
- 🟢 轻松 (>50)
- 🟡 中等 (10–50)
- 🔴 困难 (<10)
优化的关键词处理流水线
直接处理3,000+关键词会因重复SERP查询而失败。该流水线逐步过滤:
- 采集:从Bukvarix或XMLRiver获取约3,000个关键词。
- 正则防护:清除噪声(职位信息、Avito片段、不完整术语)。
- 模糊去重:使用pymorphy2词形还原 + rapidfuzz(token_sort_ratio ≥82%,按首词分组)→ 约1,500–2,000个唯一关键词。
- SERP采集:每个唯一关键词分配10个线程。
- 聚类:结合NLP与SERP否决机制。
- 意图识别与指标分析。
82%的阈值是实测调优所得:可去除30–40%的形态重复项,同时保留如“apartment repair price”与“apartment repair cost”这类语义不同的短语。
基于SERP否决的聚类机制
SentenceTransformers(paraphrase-multilingual-MiniLM-L12-v2)生成嵌入向量。NLP挑战在于:语义相近的词(如“apartment repair Moscow”与“apartment repair Voronezh”)不应视为竞争关系。
SERP否决机制:若TOP-10 Yandex结果中重叠URL少于2个,则判定为不同聚类:
overlap = len(urls_core.intersection(urls_cand))
if urls_core and urls_cand and overlap < 2:
continue # 不同聚类
模式选择:
- 仅NLP:快速,基于嵌入向量。
- 仅SERP:准确,缓慢,基于URL。
- 混合模式:NLP + 否决 —— 最佳平衡。
地理隔离:来自不同城市的关键词不会被合并聚类。
多智能体AI过滤与集成投票机制
LLM(DeepSeek)进行分类:合适 / 无关 / 减分 / 待查。挑战在于稳定性差(3次运行中仅38%稳定),缺乏垂直领域上下文。
规划智能体(PlannerAgent)
使用少样本提示生成垂直领域专属方案,具备陷阱检测与地理筛选功能。
示例:
- 合适:"apartment repair turnkey Moscow"
- 无关:"job apartment repair"
Token优化
ID编号机制:模型仅返回ID,不输出文本。批量大小为20个关键词 → 约80 tokens,相比此前的约400 tokens大幅节省。
集成投票机制
三路并行运行(temperature=0),多数决(阈值2/3)。平局时由仲裁智能体(ArbiterAgent)裁决。
def single_vote(_):
response = ai_client.call(system_prompt, user_message, temperature=0)
return ai_client.parse_json(response)
with ThreadPoolExecutor(max_workers=votes) as vote_pool:
vote_results = list(vote_pool.map(single_vote, range(votes)))
counts = Counter(votes_for_keyword)
threshold = votes // 2 + 1
结果:稳定性达85%。成本:3,000个关键词仅需$0.3。
谨慎模式:品牌词采用白名单机制(精确匹配令牌,非子串),完全绕过AI判断。
扩展模块
SERP模块:解析自然结果、相关搜索、广告及神经响应。
AI助手:提供基于pandas.query()的数据框交互式聊天界面。
核心收获
- 流水线通过模糊去重(rapidfuzz + pymorphy2)将SERP请求从3,000降至1,500。
- 混合聚类融合NLP速度与SERP否决准确性。
- 三次集成投票使AI过滤稳定性提升至85%。
- Token节省:ID编号 + 批处理 → 单次全量运行仅$0.3。
- 处理时间:20–30分钟,远低于手动操作的3–4小时。
技术栈:Python 3.11,DeepSeek API,XMLRiver,SentenceTransformers,rapidfuzz,pymorphy2,pandas,customtkinter。
— Editorial Team
暂无评论。