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

nlp-语义分析

目录

一、语义学概述

二、语义表示

1、谓词逻辑表示法【早期】

2、框架表示法

3、语义网表示法

三、分布式表示

1、单词分布式表示

(1)基于共现矩阵奇异值分解的词向量模型

(2)基于上下文单词预测词向量模型

(3)全局向量GloVe模型

(4)基于字节对编码的字词表示模型

(5)单词分布式表示评价和应用

2、句子分布式表示

(1)skip-Thought模型

(2)Sent2Vec句子表示模型

3、篇章分布式表示

(1)词频-逆文档频率(TF-IDF)篇章表示方法

(2)fastText篇章表示模型

四、词义消歧

1、基于目标词上下文的词义消歧方法

2、基于词义释义匹配的词义消歧方法

3、基于词义知识增强预训练的消歧方法

4、词义消歧评价方法

5、词义消歧语料库

五、词义角色标注

1、基于句法树的语义角色标注方法

(1)基于成分

(2)基于依存

2、基于深度神经网络的语义角色标注方法。

(1)基于跨度

3、语义角色标注评价方法

4、语义角色标注语料库


        在自然语言处理(NLP)中,语义分析是理解语言深层含义的核心任务,其目标是让计算机能够像人类一样解析文本的意义,包括词语、句子乃至篇章的含义,以及它们之间的逻辑关系。

一、语义学概述

        语义学(Semantics)是研究语言意义的学科,主要关注语言符号(如词语、句子)与它们所指代的事物、概念或情境之间的关系。

  • 词汇语义:研究单个词语的意义以及词汇之间的相互关系【形体、意义、实体】,包括词义的内涵、外延、多义性(如 “银行” 可指 “金融机构” 或 “河岸”)、同义 / 反义关系(如 “高兴” 与 “开心” 是同义,“高” 与 “矮” 是反义)等。

        WordNet是目前最常用的英语词汇知识资源库。在其中词汇按照义项组合成同义集(Synset)每个义项表达不同的概念。名词、动词、形容词和副词各自独立的组合成网络。

  • 句子语义:研究句子的整体意义以及句子之间的相互关系【同义、反义、蕴含、预设】,包括句子的真值条件(句子为真的情境)、歧义性(如 “咬死了猎人的狗” 可理解为 “狗咬死了猎人” 或 “猎人的狗被咬死了”)、以及句子之间的逻辑关系(如蕴含、矛盾、同义)。
  • 篇章语义:研究多个句子组成的篇章的意义,关注句子之间的连贯性(如指代关系 “小明买了一本书,他很喜欢它” 中 “他” 指代 “小明”,“它” 指代 “书”)、因果关系等。

二、语义表示

        语义表示(Semantic Representation)是将自然语言的意义用结构化、形式化的符号系统表示出来的过程,是计算机处理语义的基础。其核心目标是让不同的语言表达(如 “小明打了小红” 和 “小红被小明打了”)具有一致的语义表示,从而实现意义的等价性计算。

1、谓词逻辑表示法【早期】

        自然语言的语义表示中也经常采用数理逻辑的方法。其中常用的是谓词逻辑(Predicate Logic)和命题逻辑(PropositionalLogic), 谓词逻辑可以更细致的刻画语义,可以表示事物的状态、属性、概念等事物性语义,也可以表示因果关系等规则性语义。

        除了直接使用单个谓词和指代对象的常量、变量或者函数组成原子公式之外,还可以使用 5种逻辑连接词和量词构造复杂的表示,就是谓词逻辑中的公式。原子公式是谓词演算的基本组块,运用连接词可以组合多个原子公式,以构成更加复杂的公式。

2、框架表示法

        框架(Frame)表示法是以框架语义理论为基础发展起来的一种语义表示方法。框架用来表示所讨论对象(一个事物、概念或者事件)的语义。每个框架由若干槽(Slot)组成,描述框架所讨论对象的某一方面的属性。

3、语义网表示法

        语义网络(Semantic Network)是一种用实体及其语义关系来表达知识和语义的网络图。语义网
络由节点和弧组成:节点表示各种事件、事物、概念、属性、动作等,也可以是一个语义子网络;
弧表示节点之间的语义关系,并且是有方向和标注的,方向表示节点间的主次关系且方向不能随意
调换。

三、分布式表示

        分布式表示提出之前,许多自然语言处理算法采用独热表示(One-hot Representation),其中每个维度表示某个单词是否在该文中出现。独热表示的维度和词表的大小一致,存在表示稀疏性的问题,而且无法表示单词之间的语义相似度,分布式表示通过将文本表示为低维空间下稠密的向量,并在低维表示空间中利用表示向量之间的计算关系,体现文本间的语义关联,有效地解决了这一问题。当应用在下游任务时,文本分布式表示也体现出良好的泛化能力,而且能有效地编码任务所需要的语法和语义信息

        向量空间模型(VSM)阐述了将单词和篇章表示为向量的思想。对文本的处理可以直观地映射到向量空间,体现为对文本向量的加法、减法、距离度量等操作;将向量化的文本作为输入,从而直接将统计学习与机器学习算法应用在自然语言处理应用上。

1、单词分布式表示

        相比于独热表示,分布式表示可以编码不同单词之间的语义关联。如上例中,如果采用独热表示,“计算机”与“电脑”以及“计算机”与“冰激凌”之间的相似度都相同。但是采用分布式表示可以
使得“计算机”和“电脑”在大多数维度上相近,这样“计算机”和“电脑”的向量之间的距离可以远小于 “江算机”和“冰激凌”之间的距离。

        单词分布式表示的目标,即在向量空间建构单词之间的语义关联,使含义相近的单词有相似的向量表示。这自然地引出了两个问题:(1)如何衡量单词语义的相近;(2)如何衡量表示的相似性。      

(1)基于共现矩阵奇异值分解的词向量模型

        共现矩阵,是一种表示文本数据中词汇之间关系的矩阵。通常根据文本窗口来确定词汇的共现关系,即共现矩阵,它是一种表示文本数据中词汇之间关系的矩阵。通常根据文本窗口来确定词汇的共现关系,即在一个固定大小的窗口内,统计词语之间的共现次数。例如,在句子 “I like apples and bananas” 中,若窗口大小为 3,那么 “ I” 和 “like”、“like” 和 “apples” 等就会被视为共现,共现矩阵的元素记录了这些共现次数。。例如,在句子 “I like apples and bananas” 中,若窗口大小为 3,那么 “ I” 和 “like”、“like” 和 “apples” 等就会被视为共现,共现矩阵的元素记录了这些共现次数。

(2)基于上下文单词预测词向量模型

        基于上下文单词预测词向量模型的典型代表是 Word2Vec,它包含连续词袋模型(CBOW)和跳字模型(Skip - Gram)两种架构。

  • 连续词袋模型(CBOW)

    • 目标:根据上下文预测中心词。
    • 原理:对于句子中的每个词,以它为中心,取其前后的若干个词作为上下文。将上下文词的 one - hot 向量输入到神经网络中,通过投影层将这些稀疏的 one - hot 向量转换为密集的词向量,然后通过隐藏层进行计算,最后通过输出层的 softmax 函数,计算每个词库中的词作为中心词的概率,选择概率最高的词作为预测结果。
    • 特点:CBOW 通常比 Skip - gram 训练更快,因为它用多个上下文词来预测一个中心词,对高频词效果较好,对小数据集更有效。不考虑顺序
  • 跳字模型(Skip - Gram)

    • 目标:根据中心词预测上下文词。
    • 原理:将中心词的 one - hot 向量输入到神经网络中,通过投影层将其转换为词向量,然后通过隐藏层,对于每个可能的上下文位置,都有一个独立的输出层,通过 softmax 计算该位置出现每个词的概率。训练时,调整词向量以   最小化预测上下文词的误差。
    • 特点:Skip - gram 通常在大型数据集上表现更好,尤其是对生僻词的处理,因为它试图将一个词传播到更广泛的上下文中。虽然计算量看起来更大,但 Word2Vec 使用了负采样或层次 softmax 等技巧来加速训练。会考虑顺序


(3)全局向量GloVe模型

Sikp-Gram和CBOW模型根据局部信息进行学习,而LSA模型则基于词共现矩阵全局信息得到词语表示,全局统计信息和局部信息都对词表示学习提供有效信息。全局向(GlobalVectors forWord Representation,GloVe)模型则结合了上述模型的思想,从共现概率的角度分析并改进了Skip-Gram模型,即使用文本中局部的上下文信息,又对语料库的全局共现统计数据加以利用。

(4)基于字节对编码的字词表示模型

背景:

原理:

举例:

(5)单词分布式表示评价和应用

单词分布式表示模型的定量评估方法主要分为内部评价(IntrinsicEvaluation)和外部评价(Extrinsic Evaluation)两种方法

        内部评价方法通常基于一个特殊设计的辅助任务,这个辅助任务探测词向量应该具有的某种性质如词义相关性、类比性等,并最终返回一个分数,来表示词向量的好坏,从而帮助我们理解词
向量模型的特点。


        外部评方法通常基于一个实际应用任务,通过将词向量作为该任务的输入表示,比较不同词向量模型在该任务上的性能,来选择适合于该任务的词向量模型。

2、句子分布式表示

句子分布式表示主要用于句子级别的任务,如情感分析、文本推理、语义匹配等。对于句子级别表示的构建,不但要考虑句子中所包含单词的语义,也要考虑句子内部词之间的关系,即词的共现信息和句子语义之间的联系。还要考虑句子和句子之间隐含的语义相似性,以及其他的语义关系。这些性质对于句子级别的下游应用任务都很重要。

(1)skip-Thought模型

        Skip-Thought模型借鉴了Skip-Gram模型的思想,认为可以基于一个句子预测出其上下文的句子,并以此作为监督信号,学习句子之间的语义关系,得到句子表示模型。

  • 输入句子(如示例中 “I would see the cat on the steps” ),经编码器(常为循环神经网络及其变体,像 LSTM、GRU )处理,将句子序列转化为固定维度向量,捕捉句子语义信息,形成初始句子表示。
  • 预测阶段:基于编码得到的句子表示,构建预测模块,去生成或判别上下文句子(如 “I got back home”“This was strange” )

(2)Sent2Vec句子表示模型

3、篇章分布式表示

在自然语言处理和信息检索领域,部分任务会要求模型学习并表示文档级别的特征,如文档检索、文档去重、文档级情感分析、主题识别等任务。相对一般nlp任务,这类任务不需模型精确地捕获细粒度的词句信息,但需模型建模文档的主题、包含的关键词等信息。

(1)词频-逆文档频率(TF-IDF)篇章表示方法

(2)fastText篇章表示模型

        对于一个句子或篇章,fastText 会将其中所有词以及 n-gram 词的向量进行简单的叠加平均(或者其他聚合方式),从而得到整个句子或篇章的向量表示

四、词义消歧

词义消歧是在给定上下文中,确定多义词所表达的正确含义的过程。
例如,“苹果”在“我买了一个苹果”中指水果,而在“苹果公司发布新手机”中指公司。

1、基于目标词上下文的词义消歧方法

利用目标词周围的上下文信息(词语、句法结构等)来推断其含义。

不依赖外部知识库,只需要足够的标注数据,对新词义适应较快;但对稀有词义和长距离依赖不敏感,数据标注成本高。

常用方法包括:

  • 基于特征的机器学习方法

    • 提取上下文窗口内的词(bag-of-words)、词性(POS)、依存句法等特征

    • 使用分类模型(如决策树、SVM、朴素贝叶斯)进行训练

  • 深度学习方法

    • 将上下文编码为向量(word2vec、BERT 等)

    • 使用上下文嵌入直接预测词义

句子:银行附近有很多树
上下文词:附近、有、很多、树
模型推断“银行”为“河岸”而不是“金融机构”

2、基于词义释义匹配的词义消歧方法

将上下文与词典(如WordNet)中的词义解释进行匹配,选择最相似的释义。

典型方法

  • Lesk 算法

    • 计算上下文词与词义定义(gloss)的重叠程度

    • 重叠最多的词义被选为结果

  • 改进 Lesk

    • 扩展词义定义(包含同义词、例句)

    • 使用词向量计算相似度而不是纯词面匹配

句子:我去银行取钱
词典定义:
  银行① 金融机构
  银行② 河岸
上下文和定义①有“取钱”高度相关 → 选①

3、基于词义知识增强预训练的消歧方法

        利用知识库(如WordNet、HowNet、BabelNet)将词义信息融入预训练模型,使模型在表示时区分不同词义。

代表方法

  • GlossBERT

    • 将词义定义和上下文一起输入BERT,预测匹配概率

  • SenseBERT

    • 在BERT预训练阶段加入“词义预测任务”

  • K-BERT / ERNIE

    • 将知识图谱中的实体、概念信息注入到Transformer结构中

4、词义消歧评价方法

常见评估指标

  • 准确率(Accuracy):预测正确的比例

  • 宏平均F1值(Macro-F1):对每个词义计算F1,再取平均

  • 微平均F1值(Micro-F1):整体计算F1

常用评测任务

  • SemEval(国际语义评测任务)

  • Senseval(早期评测任务)

评价方式

  • 有监督WSD:在标注语料上进行交叉验证

  • 无监督WSD:用外部任务(如翻译准确率)间接评估

5、词义消歧语料库

五、词义角色标注

定义
词义角色标注是一种语义分析任务,用来确定句子中谓词(通常是动词)及其相关的语义论元(谁做了什么,在什么情况下等)。它相当于给句子建立一个**“语义框架”**,标明动作的发出者、接受者、方式、时间等信息。
例如:

“小王在图书馆读书。”
谓词:读(read)
论元:

  • A0(施事者):小王

  • A1(受事物):书

  • AM-LOC(地点状语):图书馆


1、基于句法树的语义角色标注方法

句法结构主要有成分结构和依存结构两大类。因此,依赖句法结构的语义角色标注算法可以进细分为:基于成分结构的语义角色标注(Span-BasedSRL)和基于依存形式的语义角色标注
(Dependency-Based SRL)

(1)基于成分

(2)基于依存

2、基于深度神经网络的语义角色标注方法。

直接基于句子词序列,使用深度学习模型自动学习特征,减少人工规则依赖。

(1)基于跨度

        为语句中的每个词和跨度构造表示,实现同时识别句子中的谓词和论元并判断它们之间关系的效果。该模型分为两个部分,词和跨度表示的构建以及谓词-论元的联合抽取

3、语义角色标注评价方法

        在预测结果中,仅当论元范围和类型均预测正确时,才视为该论元预测正确计为真正例(True-Positives,TP)。

  • 精确率(Precision):预测正确的论元数量 / 预测的论元总数。

  • 召回率(Recall):预测正确的论元数量 / 真实论元总数。

  • F1值(F1-score):精确率与召回率的调和平均。

  • 有时会分为:

    • 识别正确率(只看是否找到了论元)

    • 分类正确率(还要看角色标签是否正确)

4、语义角色标注语料库

常见中文语料库

  • 中文PropBank(CPB):参照英文PropBank建立,包含谓词-论元标注。

  • 中文FrameNet:基于框架语义理论,包含丰富的语义场景和角色信息。

  • 哈工大LTP语料:包含分词、词性、依存句法、语义角色标注等。

常见英文语料库

  • PropBank(Penn TreeBank扩展版)

  • FrameNet(加州大学伯克利分校)

  • CoNLL共享任务数据集(常用于SRL模型评测)

http://www.lryc.cn/news/614654.html

相关文章:

  • 在 Vue 中使用 ReconnectingWebSocket实现即时通讯聊天客服功能
  • Java 使用 SSHJ 执行 SSH 命令和 SFTP 文件上传和下载
  • 【前端后端部署】将前后端项目部署到云服务器
  • Redis(④-消息队列削峰)
  • 吴恩达 深度学习笔记
  • Coze Studio 概览(九)--插件管理
  • 配电线路故障定位在线监测装置的技术解析与应用价值
  • 应急响应流程
  • 基于 C++ 的湍流数值模拟理论报告
  • 从零构建桌面写作软件的书籍管理系统:Electron + Vue 3 实战指南
  • 中小业务遭遇网络攻击,防护能力不足的解决办法​
  • electron 静默安装同时安装完成后自动启动(nsis)
  • Spark在什么情况下CBO才会判断失误,如何避免
  • 服务器登上去,显示 failed to send WATCHDOG 重启有效吗?
  • Uber的MySQL实践(一)——学习笔记
  • I/O原理与服务。
  • 智慧交通场景下 mAP↑28%:陌讯多模态融合算法实战解析
  • OpenAI 开源模型 GPT-OSS MCP服务器深度解密:从工具集成到系统提示全自动化,浏览器+Python无缝协同的底层逻辑
  • 微软Azure AI Foundry正式上线GPT-5系列模型
  • CORS 跨域问题 Next.js 跨域问题放通
  • 《从零构建大语言模型》学习笔记2,文本数据处理1(以及tiktoken库无法下载gpt2参数,调用get_encoding时SSL超时的解决方法)
  • 中国的超算中心使用情况如何?是否算力过剩
  • Eyevinn 彻底改变开源部署模式
  • 初步认识AMSU-A/B、HIRS-3/4、MHS、ATMS、GOES
  • 字典列表依据数值键排序
  • 【跨国数仓迁移最佳实践5】MaxCompute近线查询解决方案助力物流电商等实时场景实现高效查询
  • 防火墙安全作用及 firewalld 交互、端口配置
  • zookeeper3.8.4安装以及客户端C++api编译
  • hyper-v虚拟机启动失败:Virtual Pci Express Port无法打开电源,因为发生错误,找不到即插即用设备
  • ESP32-menuconfig(2) -- Application manager