想象你接下一座堆满科研旧书与手稿的巨型书库——论文、实验记录、会议摘要混在一起,从地面堆到天花板。你的任务是把它整理成一套“馆藏地图”:先认出每份材料是什么(这是方法论文,那是实验数据),再记录它们之间的关系(谁引用了谁、哪种方法处理了哪种材料),最后把所有信息编成一本可检索的总目录。这套把杂乱文本变成结构化知识的过程,就是文献挖掘中的信息抽取。 文献信息抽取的难点在“自动化”三个字:科学论文每年新增数百万篇,人类读不完,AI 却可以批量“读”。AI 从论文里自动抽出实体(方法、材料、蛋白质、疾病)与关系(作用于、调控、预测),再拼成一张科研知识图谱。文本越专业,抽取越难——化学式、基因名、缩写变体像一本本天书,考验着模型的功力。 本文用“整理旧书库”的故事讲完这条技术路线:用什么方法认东西、找关系(实体识别与关系抽取),会遇到哪些天书难题(科学文本挑战),大模型如何当上“老馆长”(大模型应用),如何把成果编成馆藏地图(知识图谱构建),以及最后如何验收成果(精度评估)。读完后,你会对文献信息抽取的完整流程建立清晰的直觉。

岗位关联

文献信息抽取是科研自动化的引擎:掌握这套技术,你就能把千万篇论文变成可查询、可推理的结构化知识库,为药物研发、材料发现等场景构建核心数据资产——这是 AI 从业者在硬科技领域极具含金量的职业能力。

目录
  1. 可视化演示
  2. 实体识别基础
  3. 关系抽取方法
  4. 科学文本挑战
  5. 大模型应用
  6. 图谱构建流程
  7. 精度评估体系
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

展示文献信息抽取的五段式流水线、知识图谱构建过程及抽取精度评估,揭示从非结构化文本到结构化知识的转化机制。

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

五段式抽取流水线 预处理:PDF/XML文献清洗为纯文本,完成断句与分词 实体识别:NER序列标注模型给token打类型标签 关系抽取:识别实体间语义关系构建三元组 Text → [NER] → Entities → [RE] → Triples → KG 五段式流水线实现从文本到知识图谱的自动转化

实体识别基础

陈馆长的第一步,是从书堆里认出每一件“东西”。他扫一眼:“这是 1978 年的实验记录,那是琼斯教授的论文集,这份是化学系的旧课程表。”在文献信息抽取里,这些“东西”叫做实体——文本中具有特定意义的词语单元。只有先把实体认齐,后面的整理工作才有抓手。

科学论文里最常见的实体有:方法(深度学习、质谱分析)、材料(蛋白质、抗体)、疾病、数据集等。要让 AI 学会“认东西”,最经典的技术叫命名实体识别(NER):给每个词一个判断——它是不是实体?属于哪一类?就像陈馆长逐本地问:“这本书是小说还是词典?这份手稿是实验记录还是会议通知?”

在实现层面,NER 是一个序列标注任务:把句子拆成一串词,按顺序给每个词打标签。最流行的标签体系是 BIO 格式:B 表示实体的开始(Begin),I 表示实体的中间(Inside),O 表示实体之外(Outside)。例如“深度学习模型大幅提升了准确率”一句,会标成:深度/B-METHOD 学习/I-METHOD 模型/I-METHOD 大幅/O 提升/O…… 每个词都拿到一个“身份牌”,实体片段就被完整地切出来了。

标签贴完,书库里哪些是“书”、哪些是“手稿”就一目了然了。但陈馆长知道,真正让书库有用的,是搞清楚东西之间的牵扯——这就是下一节的关系抽取。

P(y∣x)=∏t=1TP(yt∣x,t)\displaystyle P(\mathbf{y} \mid \mathbf{x}) = \prod_{t=1}^{T} P(y_t \mid \mathbf{x}, t)
这个公式说的是:给一句话的每个词打标签这件事,概率上等于“每个词各自被判对”的概率相乘。模型训练时就是不断调高这个乘积。
  1. 输入句子把论文中的一句话拆成 T 个词的序列,记为 $\mathbf{x} = (x_1, x_2, \dots, x_T)$,这是 NER 模型的输入原料。
    x=(x1,x2,…,xT)\displaystyle \mathbf{x} = (x_1, x_2, \dots, x_T)
  2. 输出标签每个词对应一个 BIO 标签,组成与输入等长的标签序列 $\mathbf{y} = (y_1, y_2, \dots, y_T)$,例如“深度”拿到 B-METHOD。
    y=(y1,y2,…,yT)\displaystyle \mathbf{y} = (y_1, y_2, \dots, y_T)
  3. 逐词判断$P(y_t \mid \mathbf{x}, t)$ 表示模型综合整句话的上下文,在第 t 个位置上预测每个标签的概率——不是孤立看一个词,而是“左顾右盼”。
    P(yt∣x,t)\displaystyle P(y_t \mid \mathbf{x}, t)
  4. 概率连乘把所有位置的判断概率乘起来,就得到整句话标注正确的总概率,模型训练的目标就是最大化这个总概率。
    ∏t=1TP(yt∣x,t)\displaystyle \prod_{t=1}^{T} P(y_t \mid \mathbf{x}, t)

关系抽取方法

认完东西,陈馆长开始记录“书目与作者的关系”:这本书是琼斯写的,那份实验记录引用了琼斯的论文,这批样本用的是质谱法。东西之间的关系,才是让书库真正能回答问题的关键——光有标签,书库只是一堆贴了条的书,没法回答“谁影响了谁”。

关系抽取的目标,是从文本里找出一对实体之间的语义联系,通常写成三元组:(头实体,关系,尾实体)。比如从“深度学习模型可用于预测蛋白质结构”里,抽出(深度学习模型,用于预测,蛋白质结构)。三元组是知识图谱的最小积木,就像索引卡上的一行记录。

实现上有两条路线。流水线方式:先跑 NER 把所有实体识别出来,再两两配对,用关系分类器判断每对之间是什么关系——优点是模块清晰、可单独替换;缺点是 NER 一旦出错,错误会传染给关系判定。联合抽取方式:用一个模型同时输出实体和关系,共享中间语义表示,减少错误传播,但模型更复杂、训练数据更难准备。

流水线像“先贴标签,再逐一写索引卡”;联合抽取像“熟手一边贴标签,一边顺手把关联记在卡片背面”。前者灵活,后者高效——具体选哪条,要看数据规模和错误容忍度。

P(r∣e1,e2,c)=softmax(W [h1;h2;hc])∈R∣R∣\displaystyle P(r \mid e_1, e_2, c) = \text{softmax}(W\,[h_1; h_2; h_c]) \in \mathbb{R}^{|\mathcal{R}|}
这个公式是“关系分类器”的数学模型:把两个实体的信息拼在一起,算出一个分数分布,分数最高的那个关系类别就是答案。
  1. 特征拼接把头实体向量 $h_1$、尾实体向量 $h_2$ 和上下文向量 $h_c$ 拼成一个长向量 $[h_1; h_2; h_c]$,作为这对实体的整体“合影”。
    [h1; h2; hc]\displaystyle [h_1;\, h_2;\, h_c]
  2. 线性映射权重矩阵 $W$ 把这个长向量映射到“关系类别空间”,每个关系类得到一个原始得分——得分越高,越像这个关系。
    W [h1;h2;hc]\displaystyle W\,[h_1; h_2; h_c]
  3. 归一化$\text{softmax}$ 把原始得分变成概率分布,让所有关系类的概率加起来等于 1,方便比较和训练。
    softmax(⋅)\displaystyle \text{softmax}(\cdot)
  4. 类别集合$\mathcal{R}$ 是预定义的关系类型集合(如“用于预测”“抑制”“调控”),概率最大的类别就是最终预测。
    r∈R\displaystyle r \in \mathcal{R}

科学文本挑战

陈馆长很快发现,科研书库里的“书”不是普通小说——很多是写满化学式、基因符号、拉丁学名的“天书”,连他都得皱眉。这些天书一样的文本,给 AI 的信息抽取出了三道难题。

科学文本有三个“刺头”。一是术语结构复杂:“CRISPR-Cas9 基因编辑系统”是一个不可拆分的整实体,粗暴分词会把“Cas9“和”基因“拆散。二是缩写与变体多:CNN 在医学文献里是”卷积神经网络“,在新闻语料里却是”有线电视新闻网”;“外泌体”和"exosome"明明指同一个东西。三是公式符号干扰:比较符号、希腊字母与文字混排,会干扰分词和向量表示。雪上加霜的是标注数据稀缺:给科学论文打标注需要领域专家,一份语料动辄数十万元成本,训练数据远不如通用新闻语料充足。

应对缩写歧义,业界常用上下文相似度匹配:把缩写出现位置的上下文表示成一个向量,再去和候选全称的向量做比较,相似度超过阈值就认为二者对应。这就像陈馆长靠前后文猜出"CNN"在这本文稿里到底指什么——上下文,就是 AI 手里的放大镜和字典。

天书再难,也怕“语境”二字。只要周围线索足够,再怪的符号也能被猜个八九不离十——这句话,后面的大模型会做得更好。

sim(va,vb)=va⋅vb∥va∥⋅∥vb∥≥τ\displaystyle \text{sim}(\mathbf{v}_a, \mathbf{v}_b) = \frac{\mathbf{v}_a \cdot \mathbf{v}_b}{\|\mathbf{v}_a\| \cdot \|\mathbf{v}_b\|} \ge \tau
这是余弦相似度公式:两个向量方向越一致,值越接近 1,就认为语义越接近。超过阈值 τ 就判定“缩写=该全称”。
  1. 向量表示$\mathbf{v}_a$ 是缩写所在上下文的向量,$\mathbf{v}_b$ 是候选全称(如“卷积神经网络”)的向量——词被映射成高维空间里的一个点。
    va⋅vb\displaystyle \mathbf{v}_a \cdot \mathbf{v}_b
  2. 模长归一分母 $\|\mathbf{v}_a\| \cdot \|\mathbf{v}_b\|$ 把文本长度差异抹平,让相似度只与“方向”有关——两个文本再长再短,只要语义相近,值就高。
    ∥va∥⋅∥vb∥\displaystyle \|\mathbf{v}_a\| \cdot \|\mathbf{v}_b\|
  3. 余弦相似度整个分式即余弦相似度,取值在 -1 到 1 之间,越接近 1 表示语义越接近——这是“上下文像不像”的量化尺子。
    sim(va,vb)\displaystyle \text{sim}(\mathbf{v}_a, \mathbf{v}_b)
  4. 阈值判定$\tau$ 是人工设定的阈值(通常 0.7~0.9),相似度达到阈值就判定“缩写 = 该全称”,完成一次消歧。
    ≥τ\displaystyle \ge \tau

大模型应用

后来书库请来一位“老馆长”——大语言模型。他读过海量书籍,语感极佳:你给他两个示例,他立刻明白编目规则;你交代一句“把这本书里所有药物名称标出来”,他利落地照办。大模型的到来,让文献抽取的效率和上限都上了新台阶。

大模型给文献抽取带来三类新能力。上下文语义理解:它能依据整段话消歧,"CNN"在医学段落里自动理解为卷积神经网络。少样本抽取:在提示词里放 2~3 个标注示例(few-shot)即可干活,甚至一个示例都不给(zero-shot)也能完成——对标注数据稀缺的科学文本来说,这是雪中送炭。指令式抽取:直接用自然语言描述任务,模型按约定格式(如 JSON)输出结构化结果,不需要动模型参数。

从数学上看,大模型是在做条件生成:给定论文文本和指令,模型逐词生成抽取结果序列。近年流行的思维链(Chain-of-Thought)提示让模型“先分析再作答”,能显著降低复杂句式下的漏抽率——就像老馆长遇到绕口令一样的句子,先默念一遍理清结构,再动笔登记。

老馆长的本事不是背下全库书,而是“读懂规则、按规矩办事”。大模型的抽取能力来自对语义的深层理解——这正是它和模板匹配系统的本质区别。

P(E∣X,I)=∏k=1KP(ek∣e<k,X,I)\displaystyle P(E \mid X, I) = \prod_{k=1}^{K} P(e_k \mid e_{<k}, X, I)
大模型抽取的本质是“看着原文和指令,一个词一个词地把答案写出来”。这个公式把写答案的过程拆成了每一步的连乘。
  1. 条件输入$X$ 是待抽取的论文段落,$I$ 是描述任务的指令,如“请提取所有蛋白质名称并以 JSON 输出”——两者合起来是模型的“工作单”。
    X, I\displaystyle X,\ I
  2. 结构化输出$E = (e_1, e_2, \dots, e_K)$ 是模型逐词生成的抽取结果序列,每个 $e_k$ 是一个词或标记,连起来就是抽取出的实体或关系。
    E=(e1,e2,…,eK)\displaystyle E = (e_1, e_2, \dots, e_K)
  3. 自回归生成$P(e_k \mid e_{<k}, X, I)$ 表示生成第 k 个词时,只依赖前面已生成的 $e_{<k}$、原文 $X$ 和指令 $I$——像写文章一样,一边看前文一边写下一笔。
    P(ek∣e<k,X,I)\displaystyle P(e_k \mid e_{<k}, X, I)
  4. 概率连乘把所有词的生成概率相乘,就是整个输出序列的总概率,模型挑选概率最高的序列作为抽取结果。
    ∏k=1KP(ek∣e<k,X,I)\displaystyle \prod_{k=1}^{K} P(e_k \mid e_{<k}, X, I)

图谱构建流程

标好的实体和关系越堆越多,陈馆长把它们编成一张巨大的“馆藏地图”:每个实体是一个节点,每条关系是一条带箭头的边。这张地图,就是科研知识图谱。有了它,科研人员想查“哪些药物作用于这个靶点”,不用再翻整间书库。

构建图谱有四个关键步骤。实体对齐消歧:把“CNN(卷积神经网络)”和“卷积神经网络”合并成同一个节点,否则同一个概念被拆成两个孤岛。关系验证融合:过滤置信度低、相互矛盾的关系,比如同一对实体同时出现“抑制”和“促进”两条冲突边时,需要按证据强度保留一条。图谱存储检索:用图数据库存储节点和边,支持“查询某蛋白质相关的所有方法”这类路径检索。动态更新:新论文不断入库,新实体新关系不断追加,图谱像活地图一样持续生长。

知识图谱的数学定义出乎意料地简单——它就是一张有向图:一堆节点,一堆边,边上有关系类型的标签。

陈馆长手里的“馆藏地图”从一张纸长成一整面墙。科研人员从此告别“大海捞针”——想找什么,按图索骥就行。

G=(V,E),E={(h,r,t)∣h,t∈V, r∈R}\displaystyle \mathcal{G} = (\mathcal{V}, \mathcal{E}), \quad \mathcal{E} = \{(h, r, t) \mid h, t \in \mathcal{V},\ r \in \mathcal{R}\}
一张知识图谱 = 节点集合 + 边集合,每条边就是一个“头实体-关系-尾实体”的三元组。复杂系统的地基,往往就这么朴素。
  1. 节点集合$\mathcal{V}$ 是所有经过对齐去重后的实体,如“卷积神经网络”“药物”“靶点”——每个概念在图里只有一个正式“户口”。
    V\displaystyle \mathcal{V}
  2. 边集合$\mathcal{E}$ 是所有被验证有效的关系三元组,是图谱里真正承载语义的部分。
    E\displaystyle \mathcal{E}
  3. 三元组$(h, r, t)$ 表示一条有向边——头实体 $h$ 通过关系 $r$ 指向尾实体 $t$,比如(药物,抑制,靶点)。
    (h,r,t)\displaystyle (h, r, t)
  4. 类型约束$h, t \in \mathcal{V},\ r \in \mathcal{R}$ 说明边的两端必须是图里的节点,关系必须来自预定义集合——这条约束保证了图谱的合法性。
    h,t∈V, r∈R\displaystyle h, t \in \mathcal{V},\ r \in \mathcal{R}

精度评估体系

地图编完了,得验收。陈馆长抽查一批登记条目,对照原书看有没有登错、漏登——这就是精度评估。系统抽取得再好,没有一把科学的尺子量一量,谁也不敢放心用。

评估一个抽取系统,主要看两个指标。精确率(Precision):模型抽出的结果里,有多大比例是真正正确的?召回率(Recall):文本中该被抽出的实体或关系,被找回了多少?两者常常此消彼长:抽得越多越容易误报,抽得越谨慎越容易漏掉。优质的数据集(基准数据集)和逐类的错误分析诊断,也是评估体系里不可缺少的配套。

为了用一个数综合两个指标,学界引入了 F1 分数——精确率和召回率的调和平均。它不像算术平均那样“取中间值”,而是对偏科严加惩罚:精确率和召回率任何一个很低,F1 都会大幅下跌。

一个优秀的“管理员”既要登记正确率高,又不漏掉重要条目。F1 分数就像期末考核单——准和全,一个都不能少。

P=TPTP+FP\displaystyle P = \frac{TP}{TP + FP}
F1 是精确率和召回率的调和平均,任何一项偏低都会被严厉惩罚,不会像算术平均那样“和稀泥”。
  1. 分子$2PR$ 是精确率与召回率乘积的两倍。
    2PR\displaystyle 2PR
  2. 分母$P + R$ 是两者的和。
    P+R\displaystyle P + R
  3. 调和平均整个分式是 $P$ 和 $R$ 的调和平均,任何一项偏低都会拉低结果——这是它比算术平均更“严格”的原因。
    2PRP+R\displaystyle \frac{2PR}{P+R}
  4. 综合考核F1 越高,说明系统既“准”又“全”,适合作为抽取系统的核心汇报指标。

AI 应用场景

药物靶点知识图谱

阶段:实体识别 → 关系抽取 → 知识图谱构建

解决的问题:药物研发中,研究人员需要从海量生物医学论文中找到“某化合物作用于某靶点”的证据。传统方式靠人工阅读摘要、逐篇做笔记,效率极低且容易遗漏。AI 用 NER 和关系抽取自动识别化合物、靶点、疾病实体及其关系,批量构建药物-靶点知识图谱,把“读文献”变成“查图谱”。

具体案例:一家 AI 制药公司收集 10 万篇 PubMed 论文摘要,用大模型指令式抽取“化合物-抑制-靶点”三元组,再经实体对齐合并同义词,构建出包含 3 万个节点、12 万条关系的药物重定位图谱,将候选药物筛选周期从半年缩短到两周。

实验室数字化转型

阶段:命名实体识别 → 信息抽取

解决的问题:高校实验室积累了大量 PDF 格式的实验记录和论文,检索困难。传统方式只能靠文件名归档,无法回答“哪些实验用到了某试剂”这类语义问题。AI 抽取实验材料、仪器型号、实验条件等实体,形成可全文检索的电子实验台账,让几十年的科研资产真正“活”起来。

具体案例:某材料科学实验室将 3 年来的 2000 份扫描实验记录数字化,用 NER 抽取材料名称、合成温度、催化剂等字段,构建实验室知识库。新成员检索“某催化剂的历史使用记录”从翻箱子变成一次查询,实验方案复用率提升了 60%。

科研综述写作自动化

阶段:关系抽取 + 精度评估

解决的问题:撰写学术综述需要横向对比数十篇论文的方法、数据集与性能。传统方式人工阅读并手工制表,耗时数月且容易漏掉关键论文。AI 批量抽取“方法-数据集-指标”关系三元组,自动生成对比表格,同时用精确率与召回率给出抽取置信度,让综述撰写从“全人工”变成“人机协作”。

具体案例:某课题组使用大模型提示词抽取 50 篇领域论文中的方法名称和准确率数字,输出结构化对比表格,综述撰写从 3 个月压缩到 1 个月,关键信息零遗漏。

Python 演示

python89 行
# -*- coding: utf-8 -*-"""文献信息抽取演示: 从模拟论文摘要中抽取实体与关系, 构建知识图谱并评估精度""" PAPERS = [    {"id": "P1", "text": "本研究使用深度学习模型提取蛋白质交互信息"},    {"id": "P2", "text": "实验表明随机森林方法优于传统支持向量机"},    {"id": "P3", "text": "本工作利用图神经网络预测药物与靶点的关联"},    {"id": "P4", "text": "RT-PCR 结果显示外泌体含量升高"},] GOLD_ENT = {    "P1": {"深度学习模型", "蛋白质"},    "P2": {"随机森林", "支持向量机"},    "P3": {"图神经网络", "药物", "靶点"},    "P4": {"RT-PCR", "外泌体"},} GOLD_REL = {    "P1": {("深度学习模型", "提取到", "蛋白质")},    "P2": set(),    "P3": {("图神经网络", "预测关联", "药物")},    "P4": set(),} TERMS = {    "METHOD": ["深度学习模型", "随机森林", "支持向量机", "图神经网络"],    "ENTITY": ["蛋白质", "药物", "靶点", "外泌体", "基因"],} VERBS = {"使用": "作用于", "利用": "作用于", "预测": "预测关联", "提取": "提取到"}  def extract_entities(text):    found = []    for etype, words in TERMS.items():        for w in words:            if w in text:                found.append((w, etype))    return found  def extract_relations(text, entities):    rels = []    for verb, rel in VERBS.items():        parts = text.split(verb)        if len(parts) != 2:            continue        head = next((e for e in entities if e[0] in parts[0]), None)        tail = next((e for e in entities if e[0] in parts[1]), None)        if head and tail:            rels.append((head[0], rel, tail[0]))    return rels  def compute_prf(pred, gold):    tp = len(pred & gold)    fp = len(pred - gold)    fn = len(gold - pred)    p = tp / (tp + fp) if (tp + fp) else 0.0    r = tp / (tp + fn) if (tp + fn) else 0.0    f1 = 2 * p * r / (p + r) if (p + r) else 0.0    return p, r, f1  def main():    graph = {}    pred_ent_all, gold_ent_all = set(), set()    pred_rel_all, gold_rel_all = set(), set()    for paper in PAPERS:        pid = paper["id"]        ents = extract_entities(paper["text"])        rels = extract_relations(paper["text"], ents)        pred_ent = {e[0] for e in ents}        pred_rel = set(rels)        pred_ent_all |= pred_ent        gold_ent_all |= GOLD_ENT[pid]        pred_rel_all |= pred_rel        gold_rel_all |= GOLD_REL[pid]        graph[pid] = {"entities": sorted(pred_ent), "relations": sorted(pred_rel)}        print(pid, "实体:", pred_ent, "关系:", pred_rel)    p, r, f1 = compute_prf(pred_ent_all, gold_ent_all)    print("实体抽取 精确率=%.2f 召回率=%.2f F1=%.2f" % (p, r, f1))    p2, r2, f2 = compute_prf(pred_rel_all, gold_rel_all)    print("关系抽取 精确率=%.2f 召回率=%.2f F1=%.2f" % (p2, r2, f2))    print("知识图谱:", graph)  if __name__ == "__main__":    main()
目的:用词典匹配 + 动词规则,在 4 篇模拟论文摘要上完成实体与关系抽取,构建微型知识图谱,并用精确率/召回率/F1 评估效果。
  1. TERMS = {...}定义实体词典,是“认东西”的底牌:模型只认识词典里登记过的词
  2. for w in words: if w in text:词典匹配:逐个词检查是否出现在文本中,命中就记为实体
  3. VERBS = {"使用": "作用于", ...}定义动词规则:动词是关系的“信号词”,前后各找一个实体
  4. head = next((e for e in entities if e[0] in parts[0]), None)在动词前面找头实体,找不到返回 None
  5. parts = text.split(verb)用动词把句子切成两段,动词前是头实体候选,动词后是尾实体候选
  6. compute_prf(pred, gold)用集合运算算 TP/FP/FN,进而算精确率、召回率和 F1
  7. pred_ent_all |= pred_ent把每篇论文的预测结果并入全局集合,做整体评估
  8. if __name__ == "__main__": main()标准入口,直接运行时执行主流程

常见误区

误区用搜索引擎输入关键词,能搜到一堆相关文献,这不就是文献信息抽取吗?感觉抽取和检索是一回事。

正解检索只回答“哪篇文献提到了这个词”,返回的是文档列表;信息抽取要的是把文档里的内容变成结构化三元组——“哪篇文献的哪个方法作用于哪种材料”。就像搜索引擎告诉你“书库里有 300 本提到 CRISPR 的书”,而信息抽取告诉你“第 17 本书记载了 CRISPR 编辑小鼠基因的操作流程”。二者一个在文档层,一个在知识层。

为何常见:日常搜索体验根深蒂固,人们习惯把“从文本里找信息”都叫“抽取”,忽略了“结构化输出”这个本质差异。

误区BIO 三个标签里,B 打头的词一定是最重要的核心词,I 是次要词,O 是不重要的词。

正解B 只是 Begin 的缩写,表示一个实体的边界起点,与“重要性”毫无关系。比如“我们研究了蛋白质”里“蛋白质”是实体,它的 B 标签只说明它在实体片段的第一个位置,并不说明它是主语还是宾语。重要性是语义问题,边界是结构问题,两者是两套体系。

为何常见:字母缩写的直觉联想让人把 B 与“big/基础”挂上钩,而且初学者容易把标签的作用理解成“排序”。

误区既然联合抽取能避免错误传播,那无论什么场景,联合抽取都稳赢流水线。

正解联合抽取减少误差传播,但换来的是更复杂的模型结构和更苛刻的训练数据要求;当实体识别本身已经很准、关系类型较少时,简单灵活的流水线可能又快又好。选择路线要像陈馆长选书库整理方案一样权衡:书少就手工登记,书多才上系统。

为何常见:人们容易把“新技术”等同于“绝对更好”,忽略了数据规模、任务复杂度等现实约束。

误区大模型能读懂论文、能回答问题,直接问它就行,何必再费劲构建知识图谱?

正解大模型擅长“理解与生成”,但不擅长精确、可追溯的多跳查询:它会一本正经地编造不存在的文献。知识图谱存储的是可验证、可更新的结构化事实,适合精确检索与推理。成熟的科研系统是“大模型负责抽取、图谱负责存储查询”的分工协作,而不是二选一。

为何常见:大模型演示效果过于惊艳,容易让人高估其可靠性,忽略知识图谱在可解释性、可更新性上的不可替代优势。

误区评估时只看 F1,F1 上 90 的系统就完美了,可以放心上线。

正解F1 是精确率与召回率的调和平均,但它掩盖了两者的具体比例。药物靶点筛查这种场景宁可多抽、不可漏抽,更看重召回率;自动问答客服宁可答错少、不可误导多,更看重精确率。上线前要根据业务场景在 P-R 曲线上选点,而不是无脑追 F1。

为何常见:论文习惯用 F1 做单一汇报指标,导致工程人员误以为 F1 是“唯一真理”,忽略了业务目标的多样性。

面试题

Q1. 命名实体识别(NER)的核心任务是什么?

单选题 · easy

  • A.识别出文本中的特定语义词汇← 正确答案
  • B.对整篇文章进行情感倾向打分
  • C.把文章自动翻译成另一种语言
  • D.把长文本自动压缩成简短摘要

答案:A。NER 的目标是从文本里找出具有特定意义的词(实体)并判断其类别,就像陈馆长从书堆里认出哪些是书、哪些是手稿。B 是情感分析,C 是机器翻译,D 是文本摘要,都与“认实体”无关。

Q2. 在 BIO 标签体系中,标签 "B" 表示什么?

单选题 · easy

  • A.实体在句子中的开始位置← 正确答案
  • B.实体在句子中的中间位置
  • C.实体出现句子的边界位置
  • D.实体之外的普通文本位置

答案:A。B 是 Begin 的缩写,表示一个实体的第一个词;I(Inside)表示实体中间的词。就像给一组词贴标签时,第一个词挂 B,后续词挂 I。C、D 分别对应边界理解错误和 O(Outside)标签。

Q3. 流水线方式抽取关系的主要缺点是什么?

单选题 · mid

  • A.无法同时处理多个不同的实体
  • B.实体识别错误会传播给后续的关系抽取← 正确答案
  • C.必须使用大规模的深度学习模型
  • D.只能处理英文的科学文献数据

答案:B。流水线先做 NER 再做关系分类,模型串联,“一步错步步错”——实体认错了,基于它的关系判定必然出错。A 说反了,流水线也能处理多个实体;C、D 是无关限制,流水线不强制用大模型,也不限于英文。

Q4. 同一缩写(如 CNN)在不同文献中指代不同含义,主要挑战是?

单选题 · mid

  • A.缩写往往在一篇文章中反复出现
  • B.一个缩写对应多个候选全称需要消歧← 正确答案
  • C.缩写通常全部使用小写字母构成
  • D.缩写词往往不出现在论文摘要里

答案:B。缩写歧义的难点在于“一词多义”——CNN 可能是卷积神经网络,也可能是新闻机构。解决靠上下文相似度:把缩写所在句子向量与候选全称向量比较,超过阈值才认定。A 是客观现象但非主要挑战,C、D 与事实不符。

Q5. F1 分数在数值上与精确率、召回率的关系是?

单选题 · mid

  • A.两个指标的算术平均值
  • B.两个指标的几何平均值
  • C.两个指标的调和平均值← 正确答案
  • D.两个指标的加权求和值

答案:C。F1 是精确率和召回率的调和平均:F1=2PR/(P+R)。调和平均对偏低的一方更敏感,能有效惩罚“偏科”——这正是 F1 比算术平均更严格的原因。A、B、D 分别是算术平均、几何平均、加权和,都会高估偏科系统。

Q6. 下列哪些属于科学文献文本的特殊性挑战?

多选题 · mid

  • A.术语结构复杂且类型多样← 正确答案
  • B.文中包含大量公式与专业符号← 正确答案
  • C.高质量标注训练数据非常稀缺← 正确答案
  • D.全文不使用任何标点符号

答案:ABC。科学文本的“天书三难”正是 A(复合术语不好切分)、B(公式符号干扰分词)、C(标注要领域专家、成本极高)。D 不符合事实——论文当然有标点,只是标点也可能成为干扰源。

Q7. 大模型 zero-shot 抽取能力的准确含义是?

单选题 · hard

  • A.不需要任何输入文本就能直接抽取
  • B.不给标注示例也能按指令完成抽取← 正确答案
  • C.每次只能抽取一个文本中的实体
  • D.要求模型本身的参数量必须是零

答案:B。zero-shot 指“零示例”——提示词里只写指令、不放标注样例,模型凭预训练学到的语义理解完成抽取;few-shot 才是给 2~3 个示例。A 把“无示例”误解成“无输入文本”,C、D 纯属望文生义。

Q8. 实体对齐(消歧)在知识图谱构建中的作用是?

单选题 · hard

  • A.把不同写法归并指向同一个实体← 正确答案
  • B.把知识图谱整体翻译成其他语言
  • C.删除所有出现频率较低的实体
  • D.为每个实体重新生成一个唯一名称

答案:A。实体对齐解决“异名同指”:把“CNN“和”卷积神经网络”合并为同一节点,否则图谱里会出现两个代表同一概念的孤岛。B 是翻译任务,C 会丢失信息,D 只是改名、不解决归并问题。

Q9. 关于文献抽取的精度评估,下列说法正确的是?

多选题 · mid

  • A.精确率反映预测结果中正确的比例← 正确答案
  • B.召回率反映真实实体被找回的比例← 正确答案
  • C.F1 是精确率与召回率的调和平均← 正确答案
  • D.评估时只需要关注模型运行速度

答案:ABC。精确率=TP/(TP+FP),衡量“抽出的东西准不准”;召回率=TP/(TP+FN),衡量“该捞的鱼捞回多少”;F1 是二者调和平均。D 把速度当作评估核心是误区——先保证准和全,再谈效率。

Q10. 关于 F1 分数的性质,下列说法正确的是?

多选题 · extreme

  • A.F1 总是大于精确率和召回率的算术平均
  • B.F1 总是小于或等于精确率和召回率的算术平均← 正确答案
  • C.F1 等于精确率和召回率的调和平均值← 正确答案
  • D.F1 的值会随预测阈值移动而保持不变

答案:BC。调和平均 ≤ 算术平均,当且仅当 P=R 时取等号,所以 B、C 正确,A 错误。F1 本质是精确率和召回率的函数,阈值移动会改变 P 和 R,F1 也随之变化,D 错误。这是评估体系中经典的数学性质考点。