导读 这次主要分享云盘文档场景知识问答及管理的应用实践。
主要内容包括以下几大部分:
-
360 文档云知识管理/问答应用场景
-
KG 在文档 RAG 问答中的应用
-
KG 在文档标准化、层次化、结构化应用
-
KG 与 LLM 在文档场景下的挑战及展望
01.360 文档云知识管理/问答应用场景
首先来介绍一下 360 文档云知识管理问答的应用场景。
1. 业务痛点
(1)非结构化数据快速增长,有效管理和价值挖掘面临挑战
-
非结构化内容管理难扩展:企业非结构化数据管理的主要挑战是数据的储存、访问、控制、共享和协同,IDC 预测到 2025 年全球数据量将增长至 175 ZB(2018 年 33ZB),80%-90% 为非结构化数据。这些挑战需要高效的技术和策略来解决。
-
非结构化数据利用率低:非结构化数据格式复杂,如文本、图像,数据处理成本高,数据分析难度高,数据创新空间低。55%-80% 的组织业务数据处于沉睡状态,价值待挖掘。
(2)大模型落地应用老大难问题
-
不懂企业,缺乏行业深度:大模型是万事通,对行业知识和专业知识做不到精通;大模型与组织内部的知识不互通、业务结合不紧密,不能满足企业内部业务开展的要求。
-
数据安全隐患,容易造成内部数据泄露:组织内部的 Know How 是核心竞争力,不适合训练到大模型中,容易造成内部数据泄露。
-
上下文关联,缺失用户业务行为数据:完全结合问题上下文的推理周期长及准确度不高,上下文的长度受限,对用户的业务行为数据不了解。
360 文档云在多种场景中具有诸多优势:
-
存储和管理海量的高质量企业数据资产:企业文档包含大量高质量私域语料数据;Office 文件、PDF 等数据统一结构化处理能力;只要持续产生新文档,就有新的数据生成。
-
基于组织和权限保护企业数据安全:文档云对文件的9 级权限校验;文档云全生命周期安全防护;覆盖云端扫描+本地态势感知及外发等。
-
用户行为记录形成结合上下文的关联:用户最新的使用文档;用户的收藏文档及常用标签;记录用户的所有操作行为。
2. 360 智能文档方案
(1)360 智能文档云方案:从企业网盘到智能文档
以往大家使用网盘/文档云,可以将文档等上传至网盘,企业内部也可以部署私有网盘。企业网盘/文档云帮助企业从基础工具到数字资产管理平台的升级,比如实现上传文档到文档归类的升级;提供一站式文件全生命周期管理及知识协作服务,为企业打造文档云、知识库、大数据平台等解决方案;构建企业非结构化数据中台,提升企业内外部协同效率。
现在大家开始用大模型做智能文档云,将文档云融合 GPT,实现文件助手和智能知识库;打造文件助手,助力知识洞察/发现/创作场景,解锁企业内容价值;满足企业和个人用户的生产力需求,实现云盘向企业/个人知识大脑全面升级,加速产业知识智能方案进化。
(2)360 智能文档方案:读得懂、搜得到、答的准
360 智能文档借助大模型,实现了以下三个层次的能力:
-
第一层是读得懂,对文档内容进行深度解读和总结;
-
第二层是搜得到,能够快速从海量知识文档中获取答案;
-
第三层是答得准,可以提供准确匹配的搜索结果。
3. 360 智能文档应用
(1)一站式知识问答、AI 助手、智能推荐
360 智能文档知识管理应用上的功能包括:一站式知识问答、AI 助手、智能推荐。比如通过创建知识号把文档上传后进行提问,也有默认助手应用,可做应用推荐,可加入大模型相关推荐,还可以集合 Agent 平台的产品。在云盘文档类有很多应用场景,比如图片转文字、PDF 转 DOC 等。
360 智能文档的所有界面均可随时随地唤起 AI 助手,还可做大模型通用问答,接入 360 搜索及外部搜索能力,融合用户、场景、上下文感知做问答。
(2)文档总结、翻译、推荐
360 智能文档还可应用于文档总结、文档翻译、文档推荐。
-
文档总结:在科研领域,快速进行论文总结,以及快速了解外文文献核心内容,提升论文筛选效率。在自媒体领域,很多公众号使用大模型自动生成问题,做成 FAQ 放到公众号。
-
文档翻译:在完成文档总结之后,使用全文翻译进行精读。
-
文档推荐:当预览某篇文档时,自动推荐相关文档给用户,还可以运用知识图谱关联网络做推荐。
(3)智能撰写、智能样式、人工监督及进度跟踪
在大模型到来之后,360 智能文档在智能撰写、智能样式、人工监督、进度跟踪等方面可以发挥作用。
-
智能撰写:设定文档智能撰写需求,根据要求编写大纲,并后完成大纲细化及段落撰写。
-
智能样式:调用文档理解引擎,实现文档标题识别和样式转换。
-
人工监督:自动撰写流程可以人工干预,调整大纲及参数设定,达到更好的生成效果。
-
进度跟踪:跟踪文档生成流程环节及进展。
(4)文档搜索
360 智能文档还可应用在文档搜索。
-
划词搜索:利用大模型对选中的内容进行分段和内容提取,然后调用搜索。
-
搜索模式升级:利用大模型将搜索内容扩展为多个相关问题;基于上述多个问题调用搜索;使用大模型将得到的多个搜索结果进行相关性排序处理,返回给用户。
02.KG 在文档 RAG 问答中的应用
1. 回顾知识图谱
在说明 KG 在文档 RAG 问答中的应用之前,先回顾一下知识图谱。
知识图谱需求的根源在于一系列数据挑战,比如非结构化数据计算机难以理解、多源异构数据难以融合、数据模式动态变迁困难、数据使用专业程度过高、数据高度重复性等。
此时需要有一个中间态用知识图谱进行统一化管理,图谱包括两层:第一层是知识图谱网络里节点包括的各种知识;第二层是知识图谱里的结构化数据。基于统一化管理之后经过转换等处理可以得到标准化知识库,可以实现语义理解、数据关联探索、业务动态扩展、智能检索与问答等。
360 知识图谱平台通过标准化构建定结构化数据、通过抽取式构建定非结构化数据,之后分析文本做知识抽取,再进行统一的图谱管理,进行知识映射、知识标准化、知识融合等,最后可以做图分析工具、图谱存储、知识应用等。但当时 360 知识图谱平台在市场上推广不太好,因为难度太大。
2. 现实及方向:知识图谱与大语言模型
大模型来了之后,有一篇很火的文献综述《Knowledge Graphs》梳理了大模型和知识图谱的优势、劣势。大模型知识边界不敏感,优势在于超高度超数化、容易起量,但不精细;知识图谱很精细、很结构化,但是不完整。现在有很多模型出来,包括 ERNIE3.0 做知识图谱增强,Doctor AI 做知识图谱增强、融合。
知识图谱与大模型结合范式包括两种:KG-enhanced LLMs、LLM-augmented KGs。
3. 结合方案
(1)RAG 知识增强的文档问答
搜索问答最强的是 RAG。RAG 知识增强的文档问答流程为:首先将文档根据策略进行分块,Chunks 之后使用一些比较好的 Embedding 策略包括:M3E \Text2Vec \ E5,再去做文档召回。文档召回完后制定上下文生成策略,包括要检索的块数、处理重叠块等,接着选特定的模型比如 360 智脑、ChatGLM、Llama2、ChatGPT 等,然后使用所有可能的组合比如分块策略、嵌入策略、上下文生成策略 LLM 选择等生成响应,之后再做结果评估,最后根据带分数的模型得到最佳应用。
(2)使用知识图谱增强文档问答的全链路
文档问答中实际的问题包括:
-
大模型进行私有化文档问答常受到长尾问题的影响,容易出现幻觉。
-
私有化文档内容结构十分复杂,层级结构较多,且元素众多,大模型区分能力有限。
-
RAG 流程很长,受到文档标准化、chunck 切分、lost in middle 影响,chunck 之间语义隔断。
使用知识图谱增强大模型的问答效果:
-
在知识整理阶段,用知识图谱将文档内容进行语义化组织;
-
在意图识别阶段,用知识图谱进行实体别称补全和上下位推理【受控改写】;
-
在 Prompt 组装阶段,从知识图谱中查询背景知识放入上下文【精准召回】;
-
在结果封装阶段,用知识图谱进行知识修正和知识溯源。
03.KG 在文档标准化、层次化、结构化应用
1. 支撑方案
(1)复杂文档版面分析
文档标准化有很多支撑方案。就复杂文档版面分析来说,需要对不同图文混排、多段落划分等版式进行识别,并进行存储,以此来满足用户提问时更准确的答复。
针对复杂文档后续做跨模态搜索时,需要将代表同一个事物的图片或文本实现 link 关系。此时可以把内容进行对齐,比如页面文本内容、目录文本内容等,以及图片内容抽取、表格内容抽取、文档内容页码抽取等。
(2)细粒度知识体系构建及知识问答
版面分析之后还需要做问答增强。问答增强很多文档有高品质问答需求,此时需要基于文档生成问题,或者基于问答记录生成问题,基于问题泛化为相似问题。在做问答增强时需要构造很多错误样例,可以通过图谱的方式来实现。
(3)分阶段海量知识库管理
还有一个支撑方案就是知识管理,需要判断知识管理走微调路线还是走 RAG 路线。
2. KG 增强方案
(1)基于知识图谱生成文档微调问答对
知识管理可以通过图谱生成微调问答对。我们通常基于结构化数据生成 QA 对,通过人工定义模板,快速生成 QA 对;基于百科 infox 数据与正文,生成 RAG 微调数据;让模型针对 Q 进行改写,缓解领域微调数据荒的问题。
构成微调问答对的数据量不需要太多,几百条数据就能取得比较好的效果。
(2)基于知识图谱存储文档复杂层级信息
第二点是基于知识图谱存储文档的复杂层级信息。通常阅读文档时有很多复杂的信息,比如文字、图片、表格等,此时可以基于知识图谱实现智能文档处理。智能文档处理是指通过计算机自动识别、分析、处理文档中的文字、图片、表格等信息,实现自动化处理文档。文档中包括图表、标题、目录、表格、段落等层级信息,利用知识图谱结构存储文档布局信息,从文档中提取出逻辑层级结构、文本内容、表格内容、Key-Value 键值字段、样式信息等。基于对文档的内容信息、版面信息和逻辑信息的分析理解,以结构化数据的形态输出抽取结果。
(3)基于知识图谱实体链接、召回方案实现问答
还有一个点是基于知识图谱实体链接、召回方案实现问答。相关方案可参考:《Biomedical knowledge graph-enhanced prompt generation for large language models》
(https://arxiv.org/pdf/2311.17330.pdf)(https://mp.weixin.qq.com/s/UsZy6TdnUaqQ3PtSq6F4yA)
实现的思路很简单:对用户输入的 query 提取实体,然后构造子图形成上下文,最后送入大模型完成生成。使用 LLM(或 bert)模型从问题中提取关键实体(实体识别、链接)。根据实体检索子图,子图很多时,进行排序、剪枝排序。利用获得的上下文利用 LLM 产生答案。
针对图片右下方的医疗场景,可以先做医疗 entity 的识别,接着生成图 Graph Database,然后去搜索 Disease Graph。有时大模型对图不是太敏感,此时可以把 Disease Graph 转换成 Graph to Natural language,之后再去计算相似度,处理后放到 LLM 里,最终得到比较好的效果。
3. 进一步延伸:融合 KG 的泛 AI 搜索几种方案思考
最后一个点,和大家分享融合 KG 的泛 AI 搜索的几种方案思考:
- 以结构化知识为中心的 magi 知识搜索:magi 搜索引擎围绕知识 (knowledge) 构建。《也谈 Magi 系统:知识(非搜索)引擎下的别样高度与落地批判》
(https://mp.weixin.qq.com/s/8b1UW74P5bkMVGYhuQDBSQ)
-
以摘要为核心的 perplexity 等大模型搜索:输入用户 query:首先,使用进行 query 意图理解,这个过程包括 query 的分析(去停用词、实体识别、关键词提取、归一化等)、query 的扩展(一个 query 扩展成多个 sub query,以扩大召回面),形成标准和多样化的 query 集合。接着,使用并发检索的方式,针对 query 进行检索,检索后再进行粗排、精排等方式,召回出符合特定阈值的相关网页文档。最后,将相关网页文档追加至 prompt,然后让大模型进行总结回答,回答出答案以及对应的链接。
-
将图谱影子纳入到 AI 搜索的第三种形式:在 query 泛化上的不受控,可以借助预先建设好的知识图谱进行控制;也可以在结果整理阶段,加入一些知识图谱的例子(metaso,360AI 搜索);一种 schema 驱动的 AI 搜索(global explore)。
04.KG 与 LLM 在文档场景下的挑战及展望
最后来探讨一下 KG 和 LLM 在文档场景下的一些现实挑战:
1. 知识图谱可以在问题改写、问题泛化受控上具有直接收益
-
如果问题涉及到多个实体,如何做好实体链接?通常需要 case by case 做实体链接。
-
如果实体的关系或者属性很多,如何做好实体关系属性的 ranking,以防止检索爆炸。
2. 基于结构化好的知识图谱可以在文档问答的微调数据上有帮助,尤其是在拒答方面
-
如何更快、更好地自动化构建好结构化知识图谱。
-
如何保证知识图谱的实时性和准确性。
3. 知识图谱本体 schema 在进行搜索内容组织上会有直接收益,将搜索内容进行重整
-
知识图谱本体 schema 的自动化构建一直是个老大难的问题。
-
如何规模化地进行知识图谱 schema 生成。
4. 知识图谱可以作为单独知识召回源参与到文档问答当中
-
如何正确检测已有大模型中的知识是否与现有结构化知识图谱相冲突。
-
两个召回源得到的问答结果如何进行取舍,如何 ranking。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。