当前位置: 首页 > news >正文

人工智能之语言领域 自然语言处理 第二章 语言学基础

人工智能之语言领域

第二章 语言学基础


前言:语言学基础

自然语言处理(NLP)虽是计算机科学的分支,但其根基深深扎在语言学之中。无论是分词、句法分析,还是语义理解,都离不开对人类语言结构规律的认知。本章将系统介绍 NLP 所依赖的核心语言学知识,涵盖词汇、句法、语义、语用及篇章层面,并说明这些知识如何指导实际 NLP 系统的设计与实现。


2.1 词汇学基础

2.1.1 词的构成:语素、词根、词缀

语素(Morpheme)是语言中最小的有意义单位。

  • 自由语素:可独立成词,如“书”、“跑”。
  • 黏着语素:必须依附于其他语素,如中文的“们”(我们)、英语的 “-ed”(played)。

词根(Root):承载核心语义的部分。
词缀(Affix):附加在词根上改变意义或语法功能,分为:

  • 前缀(prefix):如 “un-”(unhappy)
  • 后缀(suffix):如 “-ness”(happiness)
  • 中缀、环缀(较少见)

🌰 中文例子:“可爱” = “可”(前缀,表可能性) + “爱”(词根)
英文例子:“unbelievable” = un- + believe + -able

语素

自由语素: 书, 跑

黏着语素

前缀: un-, 可-

后缀: -ed, -们

💡 NLP 应用:词形还原(Lemmatization)词干提取(Stemming)都依赖形态分析。例如将 “running” 还原为 “run”。

# 示例:使用 NLTK 进行英文词干提取与词形还原importnltkfromnltk.stemimportPorterStemmer,WordNetLemmatizer nltk.download('wordnet')stemmer=PorterStemmer()lemmatizer=WordNetLemmatizer()word="running"print("Stem:",stemmer.stem(word))# runprint("Lemma:",lemmatizer.lemmatize(word,pos='v'))# run

⚠️ 中文无严格词形变化,但需处理构词(如“老师”≠“老”+“师”语义叠加),常通过分词+词性标注间接处理。


2.1.2 词类划分:实词、虚词及其语法功能

词类(Part-of-Speech, POS)是按语法功能对词的分类。

类别说明示例
实词有实际词汇意义,可独立充当句子成分名词(苹果)、动词(吃)、形容词(红)
虚词无实在意义,主要起语法连接作用介词(在)、连词(和)、助词(的)、语气词(吗)

常见英文 POS 标签(Penn Treebank):

  • NN:名词单数(dog)
  • VB:动词原形(eat)
  • JJ:形容词(red)
  • IN:介词(in, on)

中文常用词性标注集(如 PKU、CTB):

  • n:名词(北京)
  • v:动词(学习)
  • a:形容词(美丽)
  • u:助词(的、了)
# 示例:中文词性标注(使用 LTP 或 spaCy 中文模型)# 这里以 jieba + 自定义规则简化演示(实际推荐使用 LAC、HanLP 或 spaCy)importjieba.possegaspseg text="我喜欢自然语言处理"words=pseg.cut(text)forword,flaginwords:print(f"{word}/{flag}")

输出(近似):

我 / r 喜欢 / v 自然语言处理 / nz

🔍 注:nz表示“其他专有名词”,说明未登录词识别仍是挑战。


2.1.3 词汇语义:同义词、反义词、上下位词

  • 同义词(Synonyms):意义相近 → “快乐” ≈ “高兴”
  • 反义词(Antonyms):意义相反 → “大” ↔ “小”
  • 上下位关系(Hyponymy/Hypernymy)
    • 上位词(Hypernym):更泛化 → “水果”
    • 下位词(Hyponym):更具体 → “苹果”、“香蕉”

📚 语言资源:

  • 英文:WordNet(结构化语义网络)
  • 中文:HowNet、同义词词林(Cilin)
# 示例:使用 NLTK 访问 WordNet 查找同义词集(synsets)fromnltk.corpusimportwordnetaswn nltk.download('wordnet')syns=wn.synsets('car')print("Synsets for 'car':",[s.name()forsinsyns])# 输出:['car.n.01', 'car.n.02', ...]# 获取第一个同义词集的所有同义词lemmas=syns[0].lemma_names()print("Lemmas:",lemmas)# ['car', 'auto', 'automobile', ...]

💡 NLP 应用:语义相似度计算、问答系统中的词汇扩展、文本增强。


2.2 句法学基础

2.2.1 短语结构规则与句法树

短语结构语法(Phrase Structure Grammar)用规则描述句子如何由短语构成。

例如英语句子生成规则:

S → NP VP NP → Det N VP → V NP Det → the N → cat, dog V → chased

生成句子 “The cat chased the dog” 的句法树(Parse Tree)

S

NP

VP

Det: the

N: cat

V: chased

NP

Det: the

N: dog

📌 中文也适用类似结构,但语序更灵活(如话题优先)。


2.2.2 依存句法与成分句法

类型特点代表
成分句法(Constituency Parsing)基于短语结构,生成树状层次Penn Treebank
依存句法(Dependency Parsing)以词为节点,用有向边表示语法关系Stanford Dependencies

依存关系示例(“我吃苹果”):

  • “吃” 是根(ROOT)
  • “我” → nsubj(主语)
  • “苹果” → obj(宾语)

吃 ROOT

我 nsubj

苹果 obj

✅ 依存句法更简洁,适合信息抽取;成分句法更适合语言学分析。

# 示例:使用 spaCy 进行英文依存句法分析importspacy nlp=spacy.load("en_core_web_sm")doc=nlp("I eat an apple.")fortokenindoc:print(f"{token.text}<--{token.dep_}--{token.head.text}")

输出:

I <--nsubj-- eat eat <--ROOT-- eat an <--det-- apple apple <--dobj-- eat . <--punct-- eat

🌐 中文可用LTPHanLPspaCy + zh_core_web_sm实现类似功能。


2.2.3 语法范畴:时态、语态、性数格

语法范畴(Grammatical Categories)是语言中通过形态或位置表达的抽象语法属性:

范畴说明示例
时态(Tense)动作发生时间eat(现在), ate(过去)
语态(Voice)主语与动作关系active(I wrote) vs passive(It was written)
性(Gender)名词/代词的性别属性法语 le(阳性)/ la(阴性)
数(Number)单复数cat / cats
格(Case)名词在句中的语法角色德语 der(主格)/ den(宾格)

📝 中文特点:

  • 无严格形态变化:时态靠副词(“昨天吃了”)、语态靠“被”字句。
  • 无数、无格、无性(除少数方言或古汉语残留)。

💡 NLP 挑战:中文需通过上下文推断时态/语态,而英文可通过动词形式直接识别。


2.3 语义学与语用学

2.3.1 语义表示:词义、句义、篇章义

  • 词义(Lexical Semantics):单个词的含义(如“bank”有“河岸”和“银行”两义)。
  • 句义(Sentential Semantics):句子整体真值条件(如“猫在垫子上”为真当且仅当……)。
  • 篇章义(Discourse Semantics):跨句语义连贯(如代词指代、逻辑衔接)。

🧩 语义表示方法:

  • 逻辑形式(Logic Form)
  • 语义角色标注(Semantic Role Labeling, SRL)
  • 向量空间模型(Word Embedding)

Embedding

BERT

Coreference

Word

Vector

Sentence

ContextualVector

Discourse

EntityChain


2.3.2 语用规则:语境、预设、言语行为理论

语用学(Pragmatics)研究语言在语境中的使用。

  • 语境(Context):同一句话在不同场景含义不同

    “你能关窗吗?” → 不是问能力,而是请求。

  • 预设(Presupposition):话语隐含的前提

    “他不再抽烟了” → 预设“他以前抽烟”。

  • 言语行为理论(Speech Act Theory):说话即做事

    • 表述类(Assertives):陈述事实(“地球是圆的”)
    • 指令类(Directives):请求/命令(“请关门”)
    • 承诺类(Commissives):承诺未来行为(“我明天来”)

💡 NLP 应用:对话系统需识别用户真实意图(如将疑问句识别为请求)。


2.4 篇章语言学

2.4.1 篇章结构与连贯性

篇章(Discourse)指大于句子的语言单位(段落、文章)。

  • 结构:引言–主体–结论;新闻的“倒金字塔”结构。
  • 连贯性(Coherence):语义逻辑流畅
    • 通过衔接手段实现:指代、省略、连接词(“因此”、“然而”)

📖 例子:
“张三迟到了。错过了会议。” → “他”指代“张三”,保证连贯。


2.4.2 指代消解与核心链分析

指代消解(Coreference Resolution):找出代词或名词短语指向的实体。

  • 核心链(Coreference Chain):同一实体的所有提及组成一个链。

例句:
“[马云]₁ 创立了阿里巴巴。[他]₂ 是中国著名企业家。[这位创始人]₃ 改变了电商。”

→ 核心链:{[马云], [他], [这位创始人]}

# 示例:使用 spaCy 的神经指代消解(需安装 spacy-coref)# 注意:官方 spaCy 不直接支持,需第三方插件或使用 transformers 模型# 此处展示 HuggingFace 的 neuralcoref 替代方案(已归档)或使用 newer models# 推荐使用:https://huggingface.co/facebook/bart-large-coref# 以下为伪代码示意fromtransformersimportpipeline coref=pipeline("coreference-resolution",model="facebook/bart-large-coref")result=coref("马云创立了阿里巴巴。他是中国著名企业家。")print(result.clusters)# [[(0,2), (5,6)], ...] 表示指代关系

🔧 实际工程中,中文指代消解仍具挑战,常用规则+模型混合方法。


2.5 语言学知识在 NLP 中的应用

2.5.1 规则制定的语言学依据

早期 NLP 系统高度依赖语言学规则:

  • 分词规则:中文“动词+趋向补语”(“走出去”不应切为“走/出/去”)
  • 句法模板:问答系统匹配“谁发明了X?” → 提取“发明者”关系
  • 语义角色标注:基于 FrameNet 定义“购买”框架包含 Buyer、Goods、Money

✅ 优势:可解释性强;❌ 劣势:覆盖有限,维护成本高。


2.5.2 模型设计中的语言学启发

现代深度学习模型虽“端到端”,但仍受语言学启发:

语言学概念模型设计体现
层次结构Transformer 的多层编码器模拟短语嵌套
依存关系Attention 权重可近似依存弧(可视化显示)
语义角色SRL 任务作为 BERT 的下游任务微调
篇章连贯Longformer、BigBird 引入长距离注意力

提供结构先验

Linguistics

ModelDesign

BERT

Transformer

GNN-for-Parsing

🌟 典型案例:

  • Syntax-aware BERT:在预训练中加入句法距离约束
  • Graph Neural Networks for Parsing:将句法树建模为图结构

中文语言学特殊性

  1. 无空格分词:需专门分词工具(jieba、PKUSeg、LAC)
  2. 意合为主:少用连接词,靠语义连贯(“下雨了,带伞。”)
  3. 量词丰富:“一本书”、“一张纸”、“一条狗”
  4. 话题优先:“这本书,我很喜欢”(话题“这本书”前置)

💡 NLP 建议:处理中文时,务必使用中文语言学资源(如《现代汉语语法信息词典》)。


小结

语言学为 NLP 提供了结构化认知框架:从词的构成到篇章的连贯,每一层都对应着具体的 NLP 任务。尽管大模型弱化了显式规则,但理解语言本质仍是设计高效、鲁棒、可解释 NLP 系统的关键。未来的方向是语言学知识与数据驱动方法的深度融合


资料关注

咚咚王

《Python 编程:从入门到实践》
《利用 Python 进行数据分析》
《算法导论中文第三版》
《概率论与数理统计(第四版) (盛骤) 》
《程序员的数学》
《线性代数应该这样学第 3 版》
《微积分和数学分析引论》
《(西瓜书)周志华-机器学习》
《TensorFlow 机器学习实战指南》
《Sklearn 与 TensorFlow 机器学习实用指南》
《模式识别(第四版)》
《深度学习 deep learning》伊恩·古德费洛著 花书
《Python 深度学习第二版(中文版)【纯文本】 (登封大数据 (Francois Choliet)) (Z-Library)》
《深入浅出神经网络与深度学习 +(迈克尔·尼尔森(Michael+Nielsen)》
《自然语言处理综论 第 2 版》
《Natural-Language-Processing-with-PyTorch》
《计算机视觉-算法与应用(中文版)》
《Learning OpenCV 4》
《AIGC:智能创作时代》杜雨 +&+ 张孜铭
《AIGC 原理与实践:零基础学大语言模型、扩散模型和多模态模型》
《从零构建大语言模型(中文版)》
《实战 AI 大模型》
《AI 3.0》

http://www.jsqmd.com/news/440178/

相关文章:

  • 医学图像分析中大模型的应用综述
  • 折腾?软考中项又改回一年2次考试了!2026年软考官宣了!
  • Bandizip下载安装保姆级教程:比WinRAR更好用的压缩神器,看完就会用(附官网安装包) - xiema
  • 权威榜单2026年专业的数据交易平台如何选择,让你轻松找出好的推荐 - 睿易优选
  • 2026年靠谱的冰柜脚轮品牌推荐:扬州静音脚轮/扬州转运床脚轮稳定供应商推荐 - 品牌宣传支持者
  • 2026年口碑好的脚轮公司推荐:5寸脚轮/家具脚轮源头厂家推荐几家 - 品牌宣传支持者
  • 2026年知名的泥浆压滤机公司推荐:全自动压滤机可靠供应商推荐 - 品牌宣传支持者
  • 深入解析:Java业务层单元测试通用编写流程(Junit4+Mockito实战)
  • OpenClaw 安装部署,配置 deepseek
  • 必看!2026年度最佳数据资产服务平台排行榜,帮你找到最合适的选择 - 睿易优选
  • Java常见算法题深度解析
  • cf Global Round 30 E(Kruskal重构树+贪心+欧拉回路性质)
  • 上海防水补漏漏水检测全攻略 地下室、卫生间、屋顶、厨房一站式维修 - shruisheng
  • “土木人转行软件测试学习第7天”-测试用例设计实战
  • 2026全国主管护师培训机构高性价比综合评估与黑马榜单 - 医考机构品牌测评专家
  • 2026心内科主治医师备考选哪个机构?全国头部医考机构榜单测评与推荐 - 医考机构品牌测评专家
  • 【开题答辩全过程】以 国有企业集中采购平台为例,包含答辩的问题和答案
  • 2026年知名的交联电缆品牌推荐:防火电缆值得信赖的生产厂家 - 品牌宣传支持者
  • 中巴航线机票预订十大FAQ详解:避坑指南+专业解答,出行认准北京圣擎航空 - 今日又土又金
  • 国内如何使用Gemini 3.1 Pro?
  • 后缀数组 Suffix Array
  • MES系统部署
  • 5分钟学会 快速实现OpenClaw接入飞书机器人【保姆级教程】
  • Nginx使用05:使用后端鉴权接口限制静态资源的访问
  • 2026年知识产权交易优质平台推荐,解决你选择难题的最佳榜单 - 睿易优选
  • 主流渲染软件盘点及行业优选云渲染推荐
  • UE5.3 Compute Shader 完整教程(从零开始)
  • 2026年口碑好的托盘立体库公司推荐:全自动立体库源头工厂推荐 - 品牌宣传支持者
  • CAN通信:STM32F1xx_hal_can入门实战详解 - 教程
  • 2026年比较好的软芯控制电缆公司推荐:低烟无卤控制电缆厂家综合实力对比 - 品牌宣传支持者