本演示将介绍如何创建信息抽取流水线,重点使用 spaCy NLP 库和 Prodigy 标注工具,但所讨论的原则也适用于其他框架。
数据库内容:"某公司筹集500万美元革新搜索,由某机构领投"
RIE(基于信息抽取的检索):
用户问题 → 文本到SQL查询 → 数据 → NLP流水线 → 文本语料
RAG(检索增强生成):
用户问题 → 向量化 → 查询 → 向量数据库 → 文本片段 + 向量化
假设:某个环节出了问题
问题:如果这个环节坏了,我应该看到什么现象?
测试:实际发生的是否符合预期?
科学思维 vs 解决方案思维
例如:“我无法连接这个网站。”
原型阶段:
文本 → 提示词 → GPT-4 API → 任务特定输出
使用 spacy-llm(提示词模型 + 将输出转换为结构化数据)
生产阶段:
文本 → 蒸馏后的任务特定组件 → 任务特定输出
特点:模块化、小巧快速、数据私密
(示例来自案例研究:某机构大宗商品)
训练曲线诊断(使用 Prodigy):
分别用 25%、50%、75%、100% 的数据训练4次,观察分数变化。
评估注意:
人类也有“缓存”!
✅ 好做法:
for annotation_type in annotation_types:
for example in examples:
annotate(example, annotation_type)❌ 坏做法:
for example in examples:
for annotation_type in annotation_types:
annotate(example, annotation_type)流程:
基线 → 持续评估 → 提示词工程 → 迁移学习 → 蒸馏模型
命令行示例:
$ prodigy ner.llm.correct todo_eval ./config.cfg ./examples.jsonl[components.llm.model] @llm_models = "spacy.GPT-4.v2"启动后:
✨ 在 localhost:8080 启动Web服务器... 打开应用开始标注!
(案例研究参考:某机构博客)
某机构 · spaCy · Prodigy
社交媒体:@honnibal 等FINISHED
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。