返回顶部
h

hybrid-smart-fill 混合智能填充

This skill provides hybrid retrieval (BM25 semantic search + TF-IDF vector similarity) for intelligent template auto-filling. Use when users need to batch fill Word/Excel templates from knowledge bases with high precision matching.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
134
下载量
免费
免费
1
收藏
概述
安装方式
版本历史

hybrid-smart-fill

混合智能填充技能

该技能利用结合BM25语义搜索与TF-IDF向量相似度的混合检索算法,实现智能模板填充。它能自动将模板字段与知识库数据进行匹配,并高精度地填充Word文档(.docx)和Excel电子表格(.xlsx)。

何时使用该技能

在以下情况下使用此技能:

  1. 1. 批量模板填充:用户需要使用知识库中的数据填充多个Word或Excel模板
  2. 高精度要求:简单的关键词匹配不足以满足需求,需要语义理解来实现精确的字段匹配
  3. 知识库可用:存在包含字段和值的结构化知识库(JSON格式)
  4. 复杂字段名称:模板字段需要语义匹配(例如,法人代表匹配法定代表人)
  5. 占位符替换:模板中包含需要替换为实际公司名称的占位符,如XX基金

常见触发短语:

  • - 填充模板、批量填充、智能填充
  • 使用知识库、匹配字段
  • 向量检索、语义检索、BM25、TF-IDF
  • 自动填写Word/Excel模板

核心概念

混合检索系统

该技能采用结合两种算法的混合检索方法:

  1. 1. BM25(最佳匹配25):基于词频和文档频率的统计排序函数
- 考虑文档长度归一化 - 惩罚过于常见的术语 - 评分公式:IDF × (TF × (k1 + 1)) / (TF + k1 × (1 - b + b × doc_length / avgdl))
  1. 2. TF-IDF(词频-逆文档频率):向量相似度搜索
- 将文本转换为向量空间 - 计算查询与文档之间的余弦相似度 - 超越精确关键词的语义匹配
  1. 3. 混合评分:两种结果的加权融合
- 公式:finalscore = 0.5 × BM25score + 0.5 × TF-IDF_score - 平衡了精确度(BM25)和语义理解(TF-IDF)

匹配策略

系统采用多级匹配策略:

  1. 1. 精确匹配:字段名称与知识库键完全匹配
  2. 包含匹配:字段名称包含或被包含于知识库键中
  3. 关键词匹配:多关键词组合匹配
  4. 特殊处理:自动替换占位符(例如,XX基金 → 国寿安保基金)

如何使用该技能

步骤1:准备知识库

确保知识库是JSON文件,结构如下:

json
{
filename.xlsx: {
filename: filename.xlsx,
type: xlsx,
content: === Sheet: SheetName\nA1[Header1] | A2[Value1] | ...
},
filename.docx: {
filename: filename.docx,
type: docx,
content: {
paragraphs: [文本内容...],
tables: [...]
}
}
}

JSON中支持的格式:

  • - xlsx:基于文本的Excel格式,采用A1[Value] | B2[Value]模式
  • docx:包含段落和表格数据的字典或列表格式
  • doc:纯文本格式

步骤2:运行智能填充器

执行主填充脚本:

bash
python scripts/smart_filler.py

该脚本将:

  1. 1. 加载并解析知识库JSON
  2. 提取结构化数据(89+个典型字段)
  3. 构建混合检索索引
  4. 处理模板目录中的所有模板文件
  5. 填充匹配的字段并替换占位符
  6. 将填充后的文件保存到输出目录

步骤3:查看结果

系统生成:

  • - 填充后的模板在输出目录中(带有已填写后缀标记)
  • 填充日志显示所有字段匹配和替换情况
  • 统计信息:填充字段总数、成功率、XX基金替换次数

捆绑脚本

scripts/vector_kb.py

目的:核心混合检索引擎实现

关键类:

  • - BM25Retriever:BM25排序算法实现
  • TFIDFRetriever:TF-IDF向量搜索实现
  • HybridRetriever:两种检索方法的融合
  • VectorKnowledgeBase:知识库管理和索引

使用示例:
python
from vector_kb import VectorKnowledgeBase

初始化并加载知识库

kb = VectorKnowledgeBase() kb.loadknowledgebase(knowledgebase.json).buildindex()

搜索值

results = kb.search(法人代表, top_k=5) for result in results: print(fScore: {result[score]}, Value: {result[document]})

scripts/smart_filler.py

目的:主模板填充编排

关键类:

  • - TextExcelParser:解析基于文本的Excel内容
  • SmartFillSystem:编排整个填充过程

使用示例:
python
from smart_filler import SmartFillSystem

配置路径

system = SmartFillSystem( kbpath=knowledgebase.json, template_dir=templates/, output_dir=filled/ )

初始化并处理

system.load_kb() system.process_all()

配置项:

  • - kbpath:知识库JSON文件路径
  • templatedir:包含模板文件的目录
  • output_dir:填充后输出文件的目录

参考文档

知识库格式要求

Excel内容格式(基于文本):

=== Sheet: SheetName ===
A1[Header1] | A2[Value1] | B1[Header2] | B2[Value2]

文档内容格式(字段提取):

  • - 使用正则表达式提取:字段名[::\s]*值
  • 支持的字段:法人代表、联系电话、地址、注册资本、统一社会信用代码等

基于年份的数据

  • - 按年份自动组织(例如,2024年总资产)
  • 清理后的标题(去除年份)以便更好地匹配

性能特征

基于实际测试:

指标数值
知识库字段89+
处理文件数
5+ |
| 填充字段总数 | 388+ |
| 每文件平均字段数 | 77.6 |
| XX基金替换率 | 100% |
| 精确度提升 | 较关键词匹配提升50%+ |
| 效率提升 | 较手动填充提升90%+ |

常见问题及解决方案

问题:匹配率低

原因:知识库内容格式不兼容

解决方案:确保Excel内容使用A1[Value]格式;检查JSON结构

问题:填充值错误

原因:字段名称歧义

解决方案:调整混合检索权重;在模板中使用更具体的字段名称

问题:编码错误

原因:知识库中存在非UTF-8字符

解决方案:确保知识库JSON为UTF-8编码;在脚本中使用sys.stdout.reconfigure(encoding=utf-8)

高级用法

自定义检索权重

在HybridRetriever中修改混合检索权重平衡:

python

默认:BM25 0.5, TF-IDF 0.5


改为强调语义匹配:


self.bm25_weight = 0.3
self.tfidf_weight = 0.7

自定义字段提取

扩展TextExcelParser.extractfrom_text()以支持更多模式:

python
patterns = {
new_field: r新字段[::\s]*([^\n\r]+),
# 添加更多模式...
}

批量处理

处理多个知识库:

python
kb_files = [kb1.json, kb2.json, kb3.json]
for kbfile in kbfiles:
system = SmartFillSystem(kbfile, templates/, ffilled{kb_file}/)
system.load_kb()
system.process_all()

局限性

  1. 1. 无机器学习嵌入:使用TF-IDF(而非BERT/Transformer嵌入)以实现轻量级部署
  2. 中文分词:基于字符的简单分词(非jieba)
  3. Excel格式:需要基于文本的格式;二进制Excel文件需要预处理
  4. 上下文感知:单元格间上下文理解有限

未来增强

未来版本可能的改进:

  1. 1. 深度学习嵌入:集成sentence-transformers以实现真正的语义向量
  2. 跨模态融合:结合表格结构信息与文本匹配
  3. 自适应权重:从用户反馈中学习最优的BM25/TF-IDF权重
  4. 领域适应:构建金融、法律等领域的专业词汇表

参考资料

如需更深入了解:

  • - BM25算法:Robertson, S. E., & Zaragoza, H. (2009

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 hybrid-smart-fill-1776186843 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 hybrid-smart-fill-1776186843 技能

通过命令行安装

skillhub install hybrid-smart-fill-1776186843

下载

⬇ 下载 hybrid-smart-fill v1.0.0(免费)

文件大小: 23.63 KB | 发布时间: 2026-4-17 15:03

v1.0.0 最新 2026-4-17 15:03
`hybrid-smart-fill` 是一个基于混合检索模式(BM25语义检索 + TF-IDF向量检索)的智能模板自动填充技能。它可以高精度地从知识库中匹配字段并自动填充Word文档和Excel表格。

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部