人工智能之语言领域第二章 语言学基础前言语言学基础自然语言处理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)stemmerPorterStemmer()lemmatizerWordNetLemmatizer()wordrunningprint(Stem:,stemmer.stem(word))# runprint(Lemma:,lemmatizer.lemmatize(word,posv))# run⚠️ 中文无严格词形变化但需处理构词如“老师”≠“老”“师”语义叠加常通过分词词性标注间接处理。2.1.2 词类划分实词、虚词及其语法功能词类Part-of-Speech, POS是按语法功能对词的分类。类别说明示例实词有实际词汇意义可独立充当句子成分名词苹果、动词吃、形容词红虚词无实在意义主要起语法连接作用介词在、连词和、助词的、语气词吗常见英文 POS 标签Penn TreebankNN名词单数dogVB动词原形eatJJ形容词redIN介词in, on中文常用词性标注集如 PKU、CTBn名词北京v动词学习a形容词美丽u助词的、了# 示例中文词性标注使用 LTP 或 spaCy 中文模型# 这里以 jieba 自定义规则简化演示实际推荐使用 LAC、HanLP 或 spaCyimportjieba.possegaspseg text我喜欢自然语言处理wordspseg.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 查找同义词集synsetsfromnltk.corpusimportwordnetaswn nltk.download(wordnet)synswn.synsets(car)print(Synsets for car:,[s.name()forsinsyns])# 输出[car.n.01, car.n.02, ...]# 获取第一个同义词集的所有同义词lemmassyns[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 TreeSNPVPDet: theN: catV: chasedNPDet: theN: dog 中文也适用类似结构但语序更灵活如话题优先。2.2.2 依存句法与成分句法类型特点代表成分句法Constituency Parsing基于短语结构生成树状层次Penn Treebank依存句法Dependency Parsing以词为节点用有向边表示语法关系Stanford Dependencies依存关系示例“我吃苹果”“吃” 是根ROOT“我” → nsubj主语“苹果” → obj宾语吃 ROOT我 nsubj苹果 obj✅ 依存句法更简洁适合信息抽取成分句法更适合语言学分析。# 示例使用 spaCy 进行英文依存句法分析importspacy nlpspacy.load(en_core_web_sm)docnlp(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 中文可用LTP、HanLP或spaCy zh_core_web_sm实现类似功能。2.2.3 语法范畴时态、语态、性数格语法范畴Grammatical Categories是语言中通过形态或位置表达的抽象语法属性范畴说明示例时态Tense动作发生时间eat现在, ate过去语态Voice主语与动作关系activeI wrote vs passiveIt 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 EmbeddingEmbeddingBERTCoreferenceWordVectorSentenceContextualVectorDiscourseEntityChain2.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 corefpipeline(coreference-resolution,modelfacebook/bart-large-coref)resultcoref(马云创立了阿里巴巴。他是中国著名企业家。)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 引入长距离注意力提供结构先验LinguisticsModelDesignBERTTransformerGNN-for-Parsing 典型案例Syntax-aware BERT在预训练中加入句法距离约束Graph Neural Networks for Parsing将句法树建模为图结构中文语言学特殊性无空格分词需专门分词工具jieba、PKUSeg、LAC意合为主少用连接词靠语义连贯“下雨了带伞。”量词丰富“一本书”、“一张纸”、“一条狗”话题优先“这本书我很喜欢”话题“这本书”前置 NLP 建议处理中文时务必使用中文语言学资源如《现代汉语语法信息词典》。小结语言学为 NLP 提供了结构化认知框架从词的构成到篇章的连贯每一层都对应着具体的 NLP 任务。尽管大模型弱化了显式规则但理解语言本质仍是设计高效、鲁棒、可解释 NLP 系统的关键。未来的方向是语言学知识与数据驱动方法的深度融合。资料关注咚咚王《Python 编程从入门到实践》《利用 Python 进行数据分析》《算法导论中文第三版》《概率论与数理统计第四版 (盛骤) 》《程序员的数学》《线性代数应该这样学第 3 版》《微积分和数学分析引论》《西瓜书周志华-机器学习》《TensorFlow 机器学习实战指南》《Sklearn 与 TensorFlow 机器学习实用指南》《模式识别第四版》《深度学习 deep learning》伊恩·古德费洛著 花书《Python 深度学习第二版(中文版)【纯文本】 (登封大数据 (Francois Choliet)) (Z-Library)》《深入浅出神经网络与深度学习 (迈克尔·尼尔森MichaelNielsen》《自然语言处理综论 第 2 版》《Natural-Language-Processing-with-PyTorch》《计算机视觉-算法与应用(中文版)》《Learning OpenCV 4》《AIGC智能创作时代》杜雨 张孜铭《AIGC 原理与实践零基础学大语言模型、扩散模型和多模态模型》《从零构建大语言模型中文版》《实战 AI 大模型》《AI 3.0》