想象一家公司:会议室里,员工七嘴八舌讨论方案;微信群里,消息一条接一条;角落的档案室里,档案夹按编号整齐排列,每份档案都填好了固定的表格。前者是“非结构化文本”,后者是“结构化知识”。公司的老板(用户)向秘书(大模型)提问时,秘书光靠记忆经常张冠李戴,光翻聊天记录又理不清头绪。后来,秘书学会了把会议纪要整理成标准档案卡放进档案室——这就是“信息抽取”;查资料时,既翻档案室又翻聊天记录,再把两边的线索合并排序——这就是“混合检索融合”。这篇文章就用这个“档案室+秘书”的故事,带零基础的你看懂:知识图谱如何增强搜索、大模型如何与结构化知识协作,以及这套系统怎么落地到真实业务中。

岗位关联

对 AI 从业者而言,掌握结构化知识与非结构化文本的融合,等于掌握了 LLM 时代搜索系统的核心竞争力——既能解决大模型幻觉,又能让知识库“活”起来,是搜索推荐算法工程师从调参走向架构设计的必修课。

目录
  1. 可视化演示
  2. 知识类型差异——口头汇报与档案表格
  3. 信息抽取技术——会议纪要到档案卡
  4. 实体对齐消歧——同名同姓的张总
  5. 混合检索融合——两条查证路线
  6. 系统架构设计——档案室的整套业务流程
  7. 评估体系指标——档案室的季度考核
  8. LLM协同增强——能写档案的秘书
  9. 行业落地实践——三家公司的档案室
  10. AI 应用场景
  11. Python 演示
  12. 常见误区
  13. 面试题

可视化演示

本节配有交互动效(进入视口后自动加载,约 3KB)。

结构化知识 vs 非结构化文本 结构化知识 (知识图谱) 非结构化文本 融合需求:互补优势 \u2192 精确推理 + 语义理解 KG提供精确事实 + 文本提供丰富语境 = 更强的搜索与问答能力 结构化知识与非结构化文本融合可视化:展示知识图谱与自然语言融合架构、实体链接流程及搜索增强效果。

知识类型差异——口头汇报与档案表格

公司里每天产生两类知识。一类是会议室里七嘴八舌的讨论、微信群里此起彼伏的消息、邮件里洋洋洒洒的汇报——它们是连续的、无序的、充满语气词和废话的“口头知识”;另一类是档案室里填好的表格:员工登记表、项目进度表、财务统计表,每一栏都有固定的含义,每一行都能被程序直接读取。前者的特点是丰富鲜活,后者的特点是严谨规整。

在 AI 系统里,这两类知识各有专业名字。结构化知识通常以知识图谱的形式存在:把世界建模成一张大网,网上的每个点是一个实体(比如“张伟”“阿里云”),点与点之间的线是一条关系(比如“任职于”“总部位于”)。一条知识就是“头实体—关系—尾实体”的三元组,好比档案表格里的一行。非结构化文本则是指自然语言写成的文档、对话、日志,机器无法直接“查询”它,只能“阅读”它。

两者的互补性非常明显。图谱精确、可推理、可溯源:查“阿里云总部在哪”,顺着关系一跳就到,答案可解释。文本覆盖广、更新快、表达丰富:新产品发布、用户吐槽、行业传闻都先出现在文本里,档案室还没来得及归档。但把文本自动变成图谱非常困难,业界称之为开放世界抽取难题——句子里的实体边界模糊、关系隐含在语义中、新词层出不穷,这是融合系统要面对的第一道坎。

老板问“上季度哪个产品线最赚钱”,聊天记录里几十条消息各说各话,秘书看得头晕;档案室一翻统计表,答案立刻出现。反过来,若档案室刚建、数据不全,又必须靠聊天记录来补充。这告诉我们:两类知识缺一不可,真正强大的系统必须让“档案表格”和“口头汇报”协同工作。

信息抽取技术——会议纪要到档案卡

秘书要想把口头知识变成档案,得有一套标准动作。开会时,她先圈出所有关键名字——谁发言了、提到了哪个项目、哪家公司;然后判断这些名字之间的关系——“张伟认为阿里云的方案更好”意味着张伟和阿里云之间存在某种关联;最后补充背景属性——阿里云在哪个城市、主营什么业务。三套动作做完,一张标准档案卡就诞生了。

这三套动作对应 AI 领域的三大任务。第一个叫命名实体识别(NER):从文本中找出人名、地名、机构名、时间等实体,并打上类型标签,相当于“圈出关键词”。第二个叫关系抽取:判断两个已识别实体之间的语义联系,输出“张伟—任职于—阿里云”这样的候选三元组,相当于“判断谁和谁什么关系”。第三个叫属性补全:为实体补充关键属性值,比如“阿里云—总部—杭州”,这一步往往需要融合多源数据,不是只靠一句话就能做全。

抽取结果不是百分百可信的,所以系统会给每个三元组打一个置信度——一个 0 到 1 之间的分数,表示“这条知识有多可靠”。分数低于阈值的条目不会直接入库,而是进入人工复核队列,由业务专家判断。在生产环境里,这个“低分拦截 + 人工兜底”的机制,比任何花哨的模型都更能保证图谱质量。

于是,每张档案卡右上角都贴着一张“可信度贴纸”。绿色贴纸代表高置信,可以直接入库;黄色贴纸代表模糊,需要老员工(人工审核)再看一眼;红色贴纸直接作废。正是这套流程,保证了档案室里的每一份档案都不是道听途说,而是经过验证的可靠事实。

实体对齐消歧——同名同姓的张总

公司里有三个张总:销售部张总、技术部张总、还有客户公司的张总。会议纪要上写着“张总拍板了”,到底是谁拍的板?秘书整理档案时必须搞清楚这一点,否则“张总拍板”这条信息不知道该放进谁的档案夹。这个过程,就是实体消歧。

在技术术语里,文本中出现的“张总”叫实体指称(mention),知识库里的每个具体人物叫目标实体。实体链接的任务,就是把指称对到唯一的目标实体上。系统先通过别名表和词典生成候选——“张总”可能指向候选人 A、B、C;然后用上下文信息打分——纪要里前后文出现了“云计算”“技术选型”,那技术部张总的得分就高;最后取最高分作为消歧结果。

打分依赖一个关键工具:语义相似度。系统把“张总”所在的整句话转换成一个向量(一串数字),把每个候选实体的介绍也转换成向量,然后计算两个向量的余弦相似度。余弦相似度衡量的是“方向是否一致”:两个向量越平行,说明语义越接近。公式如下:

把三个“张总”正确对号入座之后,档案室的索引系统终于不会串台了。以后再有人问“张总负责什么业务”,秘书只需沿着正确的档案夹一查,就能给出精准答案。这就是实体对齐的价值:它让来自不同文本、不同时间的信息,能汇入同一条知识脉络。

sim(A,B)=A⋅B∥A∥×∥B∥\text{sim}(A,B)=\frac{A \cdot B}{\|A\| \times \|B\|}
余弦相似度把“像不像”变成了一个可以计算的数:方向一致得 1 分,完全相反得 -1 分,无关得 0 分。
  1. 向量点积把两个向量对应位置的数值两两相乘然后全部加起来,得到的是一个标量。
    A⋅B=∑i=1nAiBiA \cdot B = \sum_{i=1}^{n} A_i B_i
  2. 向量模长一个向量的长度,等于它各分量平方和再开根号。
    ∥A∥=∑i=1nAi2\lVert A \rVert = \sqrt{\sum_{i=1}^{n} A_i^2}
  3. 归一化比值点积除以两个模长的乘积,把相似度压缩到 -1 到 1 之间,方便比较和设阈值。
    sim(A,B)=∑i=1nAiBi∑i=1nAi2×∑i=1nBi2\text{sim}(A,B)=\frac{\sum_{i=1}^{n} A_i B_i}{\sqrt{\sum_{i=1}^{n} A_i^2} \times \sqrt{\sum_{i=1}^{n} B_i^2}}

混合检索融合——两条查证路线

老板问“阿里云这家公司怎么样”。秘书的经验是:先到档案室查精确事实——阿里云的总部、隶属关系、高管名单,这些信息一查一个准;再去翻最近的聊天记录和行业新闻——看看客户怎么评价、市场有什么风声,这些信息档案室里还没有。两条路线,一条保“准”,一条保“新”,合在一起才完整。

技术上的两条路线分别是图谱召回和向量召回。向量召回先把所有文档切成片段,用嵌入模型转成向量,用户提问也转成向量,然后找最相似的片段——它擅长语义模糊匹配,哪怕用户问“国内哪家云服务商靠谱”,也能召回到阿里云相关的讨论。图谱召回则沿着知识图谱的关系路径做遍历查询,比如“总部位于杭州的公司有哪些”——它擅长精确、可解释的路径查询。

两路召回各自返回一个排序列表,怎么合并?直接拼接会导致同一份内容重复出现,还会被某一路的噪声带偏。工程上常用RRF(倒数排名融合):不管各路分数单位如何,只看每个结果在各路中的排名,把排名倒数加起来作为融合分。排名越靠前,融合分越高。公式如下:

融合之后通常还有一步重排序:用一个更强的模型(比如 cross-encoder 或 LLM)对 Top-K 候选做精细化打分,把最相关的排到最前面。于是,秘书手里的最终清单,既有档案室的“事实底子”,又有聊天记录的“情报增量”,比单靠任何一边都更完整、更可靠。

RRF(d)=∑r∈R1k+rankr(d)\text{RRF}(d)=\sum_{r \in R} \frac{1}{k + \text{rank}_r(d)}
RRF 的精髓是“用名次说话,而不是用分数说话”:档案室打的 8 分和聊天记录打的 8 分,含义可能完全不同,但“第一名、第二名”是可以比较的。
  1. 排名函数$\text{rank}_r(d)$ 表示文档 $d$ 在第 $r$ 路检索结果中的排位,从 1 开始计数。
  2. 平滑常数$k$ 是一个经验常数,通常取 60,作用是压制排名靠前文档的分数,防止它一枝独秀。
  3. 多路求和$\sum_{r \in R}$ 把文档在所有检索路数中的倒数排名加起来,得到最终融合分。

系统架构设计——档案室的整套业务流程

档案室要高效运转,靠的不是一个档案柜,而是一整套流程:前台收件、登记编号、分类入库、索引维护、出库服务,每个环节各司其职。知识融合系统也是一样,需要清晰的层次化架构,否则文本一多、查询一杂,系统就会乱成一锅粥。

第一层是抽取管线,相当于“收件与登记”。它离线运行,定时把新增的文档拉进来,经过 NER、关系抽取、属性补全和置信度打分,生成三元组,写入知识图谱。这一步通常是批处理任务,每天或每小时跑一次。

第二层是存储层,相当于“档案柜”。知识图谱本体放在图数据库(如 Neo4j)里,支持多跳关系查询;非结构化文本的向量索引放在向量数据库(如 FAISS、Milvus)里,支持相似度检索。两类存储各司其职,互不干扰。

第三层是集成层,相当于“查档服务台”。用户问题到达后,先做查询理解(识别实体和意图),然后并行发起向量召回和图谱召回,再用 RRF 融合、重排序,最后组装答案。第四层是服务接口,相当于“对外窗口”,通过 REST 或 GraphQL 暴露能力,也支持被大模型以工具调用的方式接入。

老板并不关心档案室内部怎么运作,他只知道找“秘书窗口”就行。同样,上层应用不必关心图谱和文本底层如何存储,只需要调用一个统一的检索接口。这种分层设计让系统各部分可以独立升级——今天换更好的抽取模型,明天换更快的向量库,都不影响其他层。

评估体系指标——档案室的季度考核

每个季度,公司都要考核档案室:你归档的档案准确吗?老板查资料时,该有的档案都找齐了吗?秘书不能只汇报“我整理了十万份档案”——数量不等于质量。AI 系统同理,必须建立一套评估体系,否则你不知道融合到底有没有用。

评估分两个层面。组件级评估针对单个模块:抽取模块的三元组准不准?实体链接消歧错不错?融合排序的榜单好不好?端到端评估则看最终答案:用户问一个问题,系统给出的回答是否相关、是否完整、是否可信。组件好不等于端到端好,所以两层都要看。

分类任务最常用的指标是精准率(P)、召回率(R)和 F1。精准率是“我答出来的东西里有多少是对的”,召回率是“该答的东西里我答上来多少”,F1 是二者的调和平均,综合评价“又准又全”。公式如下:

除了 F1,排序任务还常用 NDCG 评估“好结果是否排在前面”;端到端评估可以用人工打分或 LLM 裁判。此外,消融实验是融合系统的标准动作:分别去掉图谱召回、去掉向量召回、去掉重排序,看整体效果掉多少——每个模块的贡献一目了然。季度考核的意义就在于此:让秘书知道自己哪方面薄弱,下个季度重点改进。

F1=2×P×RP+RF_1 = \frac{2 \times P \times R}{P + R}
调和平均对“偏科”很敏感:精准率 90% 但召回率只有 10%,F1 只有 18 分。这提醒我们,光准不全、或光全不准,都不算好系统。
  1. 精准率(P)预测为正例的样本中,真正是正例的比例。
    P=TPTP+FPP=\frac{TP}{TP+FP}
  2. 召回率(R)所有真实正例中,被成功找出来的比例。
    R=TPTP+FNR=\frac{TP}{TP+FN}
  3. 调和平均把 P 和 R 结合起来,偏向较低的分数,避免单项虚高。
    F1=2×P×RP+RF_1 = \frac{2 \times P \times R}{P + R}

LLM协同增强——能写档案的秘书

一开始,秘书只是档案室的“使用者”:查什么,调什么。后来她学会了开会时自己做速记、自己整理档案卡——这是“抽取者”。再后来,她发现档案室有些条目过时了,会主动更新;老板问问题时,她会先查档案再回答,遇到档案和记忆冲突时,以档案为准——这是“知识主管”。这就是 LLM 与知识图谱协同的三个层次。

第一层是图谱问答:大模型不直接凭记忆回答,而是先把自然语言问题改写成图查询语句(如 Cypher),交给图数据库执行,再把查询结果组织成自然语言。比如“阿里云的关联公司有哪些”,LLM 把它翻译成“沿 [隶属于] 关系遍历阿里云的邻居节点”,查询精确、答案可溯源。

第二层是提示词工程(也叫 Graph RAG):把图谱检索出的三元组作为上下文拼进提示词,让 LLM 基于这些事实生成回答。有了图谱事实打底,模型“凭空捏造”的概率大幅下降,这就是幻觉抑制——用确定的事实约束不确定的生成。

第三层是动态更新:LLM 阅读新文档时,抽取新的三元组增量写入图谱,让档案室永不掉队。当然,写入前仍要走置信度打分和人工复核,不能让模型把幻觉也写进档案。这三个层次合起来,LLM 不再是被动调用的工具,而是能“读懂档案、更新档案、使用档案”的协作者。

秘书从传声筒升格为知识主管后,老板的体验完全不同:问“阿里云最近有什么动向”,她先查档案室拿到精确事实,再补最近聊天记录里的新情报,最后组织成有条理的汇报。大模型负责“理解与表达”,图谱负责“事实与逻辑”,各展所长。

行业落地实践——三家公司的档案室

不同的公司,会把档案室改造成不同的模样。电商公司的档案室里,最厚的一摞档案是商品图谱:类目、品牌、属性、关联推荐,边边角角都填得满满当当。用户在搜索框输入“适合学生党的轻薄本”,向量召回负责理解“学生党”“轻薄本”这些模糊语义,商品图谱负责精确过滤“价格区间、重量、配置”等结构化属性,两者融合后,长尾商品也能被精准命中。

医疗公司的档案室严谨得多,因为错误代价太大。他们把症状、疾病、药品、禁忌症建成图谱,LLM 回答问诊问题时必须先从图谱取事实,再组织语言;没有图谱依据的内容,宁可回答“建议线下就医”也不能随口给建议。这就是幻觉抑制在医疗场景的刚需——档案室的每一个条目都经过医学专家审核,成为 LLM 的安全护栏。

金融公司的档案室则像一张蛛网:企业、股东、关联方、担保关系,层层叠叠。风控人员输入一家可疑公司,系统沿着图谱关联路径找到背后的实控人网络,同时在新闻、公告等非结构化文本中检索蛛丝马迹,两者融合后输出风险评分和证据链条。

架构选型上,小团队起步阶段不必一步到位:先用 PostgreSQL 存图谱、用开源向量库做检索,跑通端到端流程;当图谱规模超过千万三元组、查询变复杂时,再迁到 Neo4j 等专业图数据库。原则是“业务数据说话,架构跟着规模走”。三家公司的档案室形态各异,但核心逻辑一致:结构化知识给事实骨架,非结构化文本给信息血肉,融合起来,才能回答好老板的每一个问题。

AI 应用场景

场景一:电商长尾商品推荐

阶段:混合检索与重排序

解决的问题:传统电商搜索依赖关键词精确匹配,用户说“适合通勤的百搭包包”,系统只匹配到“通勤”“包包”两个词,召回率低、排序不相关。融合系统先用向量召回理解“百搭”“通勤”的语义,再通过商品图谱精确过滤“风格、尺码、适用场合”等结构化属性,两路结果 RRF 融合后重排,长尾商品也能被精准命中。

具体案例:某电商平台接入商品知识图谱后,将用户搜索词与图谱属性和向量表示同时匹配,模糊查询的点击率提升了 18%,“不知道具体型号但知道需求”的会话式搜索场景转化率翻倍。

场景二:医疗合规问诊助手

阶段:LLM 协同与幻觉抑制

解决的问题:医疗问答最怕大模型一本正经地胡说八道。传统做法是让 LLM 直接回答,缺乏事实约束。融合系统将症状—疾病—药品—禁忌症图谱作为唯一事实源,LLM 先检索图谱三元组,再基于这些事实生成回答;图谱中没有的知识,触发“建议就医”的兜底话术。

具体案例:某互联网医院在问诊前置环节部署该系统,对“感冒了能吃布洛芬吗”这类问题的回答准确率从 71% 提升到 94%,且所有输出都附带图谱溯源链接,医生可一键核对依据。

场景三:金融关联风险情报分析

阶段:抽取管线 + 知识融合

解决的问题:金融风控需要把企业年报、公告、新闻等非结构化文本中的信息,与股权结构、担保关系等结构化数据关联起来。传统人工分析效率低,纯文本检索又无法关联多跳关系。

具体案例:某银行风控系统每天处理 2 万条新闻与公告,自动抽取其中的企业、人物和事件三元组,与股权图谱融合。调查一笔可疑贷款时,系统沿图谱路径自动发现借款企业与该行客户的隐性关联,输出风险评分和证据链,人工复核工作量减少 60%。

Python 演示

python84 行
import refrom collections import defaultdict DOC = [    "张伟在阿里云担任技术总监,负责云计算业务。",    "阿里云总部位于杭州,是阿里巴巴旗下的云服务品牌。",    "王芳在杭州阿里巴巴总部工作,担任产品经理。",] ENTITY_PATTERNS = ["张伟", "阿里云", "杭州", "阿里巴巴", "王芳"]REL_RULES = [    (r"^(.+?)在(.+?)担任", "任职于"),    (r"^(.+?)总部位于([^,。]+)", "总部位于"),    (r"^(.+?)(?:总部位于[^,。]*)?是(.+?)旗下(.+?)$", "隶属于"),] def split_sent(text):    return [s for s in re.split(r"[。]", text) if s] def extract_triples(text):    triples = []    for sent in split_sent(text):        for pat, rel in REL_RULES:            m = re.search(pat, sent)            if m:                triples.append((m.group(1), rel, m.group(2)))    return triples def build_graph(docs):    graph = defaultdict(lambda: defaultdict(set))    for doc in docs:        for s, rel, o in extract_triples(doc):            graph[s][rel].add(o)    return graph def graph_search(graph, q_terms, topk=3):    scored = []    for s, rels in graph.items():        score = 0.0        for rel, objs in rels.items():            for o in objs:                if q_terms & {s, o}:                    score += 1.0        if score > 0:            scored.append((s, score))    scored.sort(key=lambda x: -x[1])    return scored[:topk] def text_search(docs, q_terms, topk=3):    scored = []    for d in docs:        score = sum(1 for t in q_terms if t in d)        if score > 0:            scored.append((d, score))    scored.sort(key=lambda x: -x[1])    return scored[:topk] def rrf_fuse(kg_result, text_result, k=60):    rank_scores = defaultdict(float)    for idx, (item, _) in enumerate(kg_result):        rank_scores[item] += 1.0 / (k + idx + 1)    for idx, (item, _) in enumerate(text_result):        rank_scores[item] += 1.0 / (k + idx + 1)    return sorted(rank_scores.items(), key=lambda x: -x[1]) def main():    graph = build_graph(DOC)    print("=== 抽取出的知识图谱 ===")    for s, rels in graph.items():        for rel, objs in rels.items():            for o in objs:                print(f"({s}) --[{rel}]--> ({o})")    query = "阿里云总部在哪里"    q_terms = {t for t in ENTITY_PATTERNS if t in query}    kg = graph_search(graph, q_terms)    tx = text_search(DOC, q_terms)    merged = rrf_fuse(kg, tx)    print("\n=== 检索结果融合排序 ===")    for item, score in merged:        label = item if len(item) < 18 else item[:14] + "……"        print(f"{label}: RRF分数={score:.3f}") if __name__ == "__main__":    main()
目的:展示从非结构化文本抽取结构化三元组、构建知识图谱,并用 RRF 融合图谱检索与文本检索结果的完整链路。
  1. graph = defaultdict(lambda: defaultdict(set))用嵌套字典模拟知识图谱,外层键是头实体,内层键是关系,值为尾实体集合。
  2. for pat, rel in REL_RULES用正则规则模拟关系抽取,在实际项目中这里会换成 NER 模型和关系分类模型。
  3. if q_terms & {s, o}判断查询词是否命中图谱中某条边的头或尾实体,命中则加分,模拟图谱召回。
  4. score = sum(1 for t in q_terms if t in d)统计查询词在文档中出现的次数,模拟文本语义召回的简化版。
  5. 1.0 / (k + idx + 1)RRF 的核心公式,rank 从 1 开始,k=60 平滑,名次越靠前分数越高。
  6. merged = rrf_fuse(kg, tx)把图谱命中的“阿里云”和文本命中的句子放在同一个榜单排序,展示融合如何综合两路信号。

常见误区

误区知识图谱不就是存数据的吗?我直接用 MySQL 查不就行了,为什么还要专门学图数据库?

正解知识图谱的本质是“语义网络”,最重要的不是“存了什么”,而是“实体之间的关系”本身。档案室里如果只有表格(节点属性),没有索引网(关系边),你就无法回答“张伟和哪家公司有间接关联”这种多跳问题。图数据库的 Cypher 等查询语言擅长深度遍历,而 SQL 擅长等值连接,两类查询的思维方式完全不同。

为何常见:接触过关系型数据库的人容易把新概念映射到旧经验上,忽略了“关系作为一等公民”才是知识图谱的核心差异。

误区ChatGPT 什么都知道,直接问它不就行了?为什么还要费劲构建知识图谱?

正解LLM 的知识来自训练数据,存在两个致命问题:一是训练截止日期之后的新知识它不知道;二是它可能一本正经地编造答案(幻觉)。知识图谱提供的是确定性事实:可更新、可审计、可追溯。秘书记性再好,也需要档案室作为事实基准,尤其在医疗、金融等高风险场景,“有个可靠的档案室”是底线要求。

为何常见:大模型的惊艳表现带来“万物皆可 LLM”的错觉,容易忽略工业级系统对准确性、可解释性和可控更新的硬性需求。

误区图谱搜出来的结果和向量搜出来的结果,拼成一个长列表给用户不就行了吗?

正解直接拼接会引发三个问题:同一实体在两路中都出现会造成重复;两路分数量纲不一致,无法比较;某路的低质量结果会污染整体排序。正确做法是先做实体对齐(同义归并),再用 RRF 把排名转成可比较的分数,最后用重排序模型精排。就像秘书整理两份清单时,先去掉重复姓名、再按重要程度排序,而不是简单地把纸钉在一起。

为何常见:从“多路召回”的直觉出发,容易忽略“分数不可比”这个工程实现上的关键细节。

误区现在的 NER 和关系抽取模型都这么强了,把文档丢进去,图谱就能自动建好吧?

正解开放世界的文本噪声极大:实体边界模糊、隐含关系复杂、新词层出不穷,即使顶尖模型也有不可忽略的误差。生产系统普遍采用“置信度打分 + 人工复核”闭环:低置信度三元组自动进入审核队列,由业务专家确认后入库。档案室里的每张档案卡都得有人签字负责,AI 提效但不等于无人值守。

为何常见:模型精度看起来很高(如 95%),但海量文本下 5% 的误差会放大成大量脏数据,最终污染下游所有检索和问答结果。

面试题

Q1. 知识图谱中的一条知识通常以什么形式表示?

单选题 · easy

  • A.图片与音频的二进制流
  • B.实体—关系—实体的三元组← 正确答案
  • C.Markdown格式的任意文本
  • D.一段自然语言的完整段落

答案:B。知识图谱的最小单位是“头实体—关系—尾实体”三元组,就像档案表格里的一行。A 是多媒体数据,C 是文本格式,D 是自然语言段落,都不具备“实体加关系”的结构化特征。

Q2. 下列哪类数据属于典型的非结构化文本?

单选题 · easy

  • A.用户表里的一行订单记录
  • B.客服对话记录中的聊天消息← 正确答案
  • C.商品类目树的层级结构
  • D.数据库里存储的价格字段

答案:B。聊天消息天然无序、无固定字段,是典型的非结构化文本。A、C、D 都有明确的表结构或树结构,属于结构化数据。秘书的原始会议笔记对应 B,整理后的档案卡才是结构化。

Q3. 命名实体识别(NER)的主要任务是?

单选题 · easy

  • A.给文本中的实体打上类型标签← 正确答案
  • B.将实体名称翻译成多种语言
  • C.将整篇文档压缩成核心摘要
  • D.判断两个文本是否语义相反

答案:A。NER 负责从文本中找出人名、地名、机构名等实体并标注类型,是信息抽取的第一步。B 是机器翻译,C 是文本摘要,D 是语义相似度判断,都属于 NLP 的其他任务,与实体抽取无关。

Q4. 实体链接中“消歧”要解决的核心问题是?

单选题 · mid

  • A.同一个名称指向多个实体时选对目标← 正确答案
  • B.将实体属性值从字符串变成数字
  • C.删除知识库中过时的陈旧实体
  • D.把关系类型划分为细粒度子类型

答案:A。消歧解决的是“张总”到底指哪个张总的问题——一个指称对应多个候选实体时,结合上下文选出正确目标。B 是类型转换,C 是数据清理,D 是关系分类,都与“选择正确实体”无关。

Q5. RRF 公式中参数 k(通常取 60)的作用是?

单选题 · mid

  • A.防止排名第一的文档分数过高
  • B.调节不同检索路数的权重配比
  • C.平滑排名分数并限制分数上限← 正确答案
  • D.决定向量维度与知识图规模

答案:C。k 作为平滑常数,让 rank=1 时的分数 1/61 不会比 rank=2 的 1/62 大太多,避免第一名垄断总分。它不分配路数权重(B 错),也不涉及向量维度和图规模(D 错)。

Q6. 消融实验在评估融合系统时的作用是?

单选题 · mid

  • A.去掉部分模块来验证每个模块的贡献← 正确答案
  • B.增加更多数据提升模型的泛化能力
  • C.调整超参数以获得更好的模型性能
  • D.通过训练新模型替换原有模型

答案:A。消融实验通过“去掉图谱召回只留向量”“去掉重排序”等方式,观察整体指标的下降幅度,从而定量验证每个模块的贡献。B 是数据增强,C 是调参,D 是模型迭代,都不是“验证模块贡献”的手段。

Q7. LLM 在知识图谱问答中进行“幻觉抑制”的常见方式是?

单选题 · hard

  • A.用图谱中的事实约束生成答案← 正确答案
  • B.降低模型解码时的随机温度
  • C.增大训练语料中文本的噪声
  • D.让模型输出纯英文的简洁结果

答案:A。幻觉抑制的核心是“让生成有据可依”:先检索图谱三元组,生成时以图谱事实为唯一依据,没有依据就拒绝回答。降低温度只是减少随机性,不能解决事实性错误;增加噪声和换语言更是南辕北辙。

Q8. 下列哪些属于混合检索融合的关键环节?

多选题 · mid

  • A.对文档做向量召回获取语义候选← 正确答案
  • B.沿知识图谱关系路径做图召回← 正确答案
  • C.用RRF或学习排序融合两路分数← 正确答案
  • D.替代大模型完成答案的最终生成

答案:ABC。混合检索的闭环是“向量召回 + 图谱召回 + 融合排序”,必要时再用重排序精排。D 错在把检索和生成混为一谈——检索模块负责找候选,最终答案的生成由 LLM 或模板完成,检索器不替代生成器。

Q9. 关于 LLM 与知识图谱的协同方式,正确的有?

多选题 · hard

  • A.大模型将自然语言问题改写为图查询语言← 正确答案
  • B.把图谱检索结果拼入提示词作为上下文← 正确答案
  • C.大模型从新文档抽取三元组动态更新图谱← 正确答案
  • D.大模型直接覆盖写入图数据库底层文件

答案:ABC。三种典型协同分别是:问题翻译为图查询(图谱问答)、检索结果进上下文(Graph RAG)、抽取新知识更新图谱(动态更新)。D 是危险做法——LLM 输出不可直接写入底层存储,必须经过置信度打分和人工复核。

Q10. 评估知识融合系统的指标体系中,正确的做法有?

多选题 · extreme

  • A.抽取阶段用准确率与召回率评估← 正确答案
  • B.端到端评估关注最终答案的质量← 正确答案
  • C.只评估图谱规模不看检索的效果
  • D.消融实验可验证各组件的贡献← 正确答案

答案:ABD。评估要分两层:组件级用 P/R/F1 评估抽取和链接的质量,端到端评估看最终答案的相关性与可信度,消融实验验证每个组件的边际贡献。C 是典型误区——图谱规模再大,检索效果差也是花架子。