Skip to content

LLM 时代,那些 NLP 基础技术还重要吗 #239

Description

@QingyaFan

LLM 时代,那些 NLP 基础技术还重要吗

从指代消解到消融实验——理解被 LLM "吞掉"的经典技术栈

起因

和人聊到 Agent 技术时,提到了"指代消解"。顺着这个话题往下拉,发现 NLP 领域有一整套服务于"语言理解"的基础技术体系。在 LLM 端到端解决一切的今天,这些技术是否还值得了解?

结论是:不需要再造轮子,但需要理解轮子的形状


一、指代消解(Coreference Resolution)

核心任务:确定文本或对话中哪些表达指向同一个实体。

"张三去了商店。买了牛奶。"

→ "他" = "张三"

在 Agent 系统中,指代消解直接影响多轮对话的理解质量。用户在第二轮说"把它删掉",Agent 必须知道"它"指的是什么。


二、相关的 NLP 基础技术

指代消解不是孤立存在的,它依赖一整条从词到篇章的理解链:

技术 做什么 与指代消解的关系
命名实体识别(NER) 识别人名、地名、机构名等 前置步骤:先知道有哪些实体
实体链接(Entity Linking) 将实体映射到知识库唯一条目 解决同名歧义
句法分析(Syntactic Parsing) 分析句子语法结构 提供句法约束,排除不可能的指代
语义角色标注(SRL) 标注"谁对谁做了什么" 辅助推断动作主体的指代关系
省略恢复(Ellipsis Resolution) 补全被省略的成分 中日韩等语言中主语常省略
篇章分析(Discourse Analysis) 分析句间逻辑关系 为跨句指代提供上下文线索
零指代消解(Zero Anaphora Resolution) 处理无显式代词的省略 指代消解的子问题,中文尤为突出

这些技术构成了经典 NLP 的"语言理解 pipeline":分词 → 词性标注 → NER → 句法分析 → 语义角色 → 指代消解 → 篇章理解。


三、与意图识别的关系

这些技术与意图识别(Intent Recognition)并不等同,它们处于不同层次:

  • 直接影响意图理解:指代消解、省略恢复、零指代——不解决就无法知道用户在说谁/什么
  • 间接提供结构信息:NER、句法分析、SRL——帮助系统理解完整语义
  • 偏篇章层:篇章分析、实体链接——更多服务于阅读理解、信息抽取

意图识别本身是独立任务(判断用户想做什么),上述技术是它的上游依赖或辅助信号。


四、消融实验(Ablation Study)

话题稍有跳转,但值得一提:消融实验是深度学习研究中验证模型设计有效性的标准方法。

核心思想:逐步移除模型中的某个组件,观察性能变化,验证该组件的贡献。

典型场景:

  • 去掉 Transformer 中的某个注意力头
  • 移除数据增强策略中的某一项
  • 将复杂模块替换为简单 baseline

消融实验回答的问题是:"这个设计真的有用吗?" 它是学术论文中几乎必备的实验环节,审稿人常要求补充 ablation 来排除混淆因素。


五、LLM 时代的定位

不再需要手动搭建

LLM 通过端到端建模,隐式完成了上述所有步骤。不需要再单独跑 NER → 指代消解 → 意图分类的 pipeline。模型读到"他"时,已经在内部完成了消解。

仍然需要理解概念

  1. 诊断问题:LLM 出错时,往往是某个隐式环节失败了(指代解错、省略理解错),理解这些概念有助于定位问题
  2. Prompt 设计:知道模型可能在零指代上犯错,就会在 prompt 中把主语写明确
  3. 评测维度:评估模型能力时,这些仍是重要的细分 benchmark
  4. 小模型/端侧:资源受限场景下,轻量级 pipeline 方案仍有实用价值
  5. 结构化抽取:需要精确抽取实体关系时,专用模型可能比通用 LLM 更可控

小结

LLM 把经典 NLP 技术从"必须手动搭建的模块"变成了"内化在模型中的隐式能力"。

对于工程师来说,这些技术的价值从"实现"转向了"认知"——你不需要自己写一个指代消解器,但当 Agent 在多轮对话中犯错时,能快速判断出"这是个指代消解问题",就能更高效地修复它。

理解被抽象掉的东西,才能在抽象泄漏时不慌。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions