【NLP】句法分析学习笔记(一)

揭秘NLP中的基础特征:句法分析与句法分析器 通过本文的介绍,相信你对NLP中的句法分析和句法分析器有了更深入的了解。如果你对NLP感兴趣,不妨深入研究这些基础特征,它们将为你打开NLP的大门。👇热门内容👇python使用案例与应用_安城安的博客-优快云博客软硬件教学_安城安的博客-优快云博客Orbslam3&Vinsfusion_安城安的博客-优快云博客网络安全_安城安的博客-优快云博客教程_安城安的博客-优快云博客python办公自动化_安城安的博客-优快云博客👇个人网站👇安城安的云世界t=O83A。 阅读详情

1、句法结构(syntactic structure)分析

  1. 主要有两种方式:成分句法分析(Constituent Parsing)与依存句法分析(Dependency Parsing)
  2. 主要包括两方面的内容,一是确定语言的语法体系,即对语言中合法的句子的语法结构给与形式化的定义;另一方面是句法分析技术,即根据给定的语法体系,自动推导出句子的句法结构,分析句子所包含的句法单位和这些句法单位之间的关系。
  3. 推荐的学习资料:《Natural Language Processing-Lecture Slides from the 2012 Stanford Coursera course by Dan Jurafsky and Christopher Manning》
数据集
  1. 相对于词性标注,句法分析的数据集要复杂很多,其是一种树形标注结构,称为树库。
  2. 中文宾州树库、清华树库、台湾中研院树库
  3. 每周树库都有自己的标记体系,不能混用

2、成分句法分析(Constituent Parsing)

Constituency Parsing主要用phrase structure grammer即短语语法来不断的将词语整理成嵌套的组成成分,又被称为context-free grammers,简写做CFG。
其主要步骤是先对每个词做词性分析part of speech, 简称POS,然后再将其组成短语,再将短语不断递归构成更大的短语。

举个例子
  • 对于 the cuddly cat by the door, 先做POS分析,the是限定词,用Det(Determiner)表示,cuddly是形容词,用Adj(Adjective)代表,cat和door是名词,用N(Noun)表示, by是介词,用P(Preposition)表示。
  • 然后the cuddly cat构成名词短语NP(Noun Phrase),这里由Det(the)+Adj(cuddly)+N(cat)构成,by the door构成介词短语PP(Preposition Phrase), 这里由P(by)+NP(the door)构成。
  • 最后,整个短语the cuddly cat by the door 是NP,由NP(the cuddly cat)+ PP(by the door)构成。

3、依存句法分析(Dependency Parsing)

  • 依存句法展示了词语之前的依赖关系,通常用箭头表示其依存关系,有时也会在箭头上标出其具体的语法关系,如是主语还是宾语关系等。
  • 依存语法的结构没有非终结点,词与词之间直接发生依存关系,构成一个依存对,其中一个是核心词,也叫支配词,另一个叫修饰词,也叫从属词。
  • 依存关系用一个有向弧表示,叫做依存弧。依存弧的方向为由从属词指向支配词,当然反过来也是可以的,按个人习惯统一表示即可。
  • 依存句法有两种表现形式,一种是直接在句子上标出依存关系箭头及语法关系,另一种是将其做成树状机构(Dependency Tree Graph)。
DEP遵循的五条公理

在20世纪70年代,Robinson提出依存语法中关于依存关系的四条公理,在处理中文信息的研究中,中国学者提出了依存关系的第五条公理,如下:
1、一个句子中只有一个成分是独立的;
2、其它成分直接依存于某一成分;
3、任何一个成分都不能依存与两个或两个以上的成分;
4、如果A成分直接依存于B成分,而C成分在句中位于A和B之间,那么C或者直接依存于B,或者直接依存于A和B之间的某一成分;
5、中心成分左右两面的其它成分相互不发生关系。

句法分析的应用

句法分析是自然语言处理领域的一个关键问题,如能将其有效解决:

  • 一方面,可对相应树库构建体系的正确性和完善性进行验证;
  • 另一方面,也可直接服务于各种上层应用,比如搜索引擎用户日志分析和关键词识别,比如信息抽取、自动问答、机器翻译等其他自然语言处理相关的任务。
  • 工业界百度和雅虎都有尝试,百度的query分析,雅虎利用句法信息做多粒度切词等等。
依存句法分析能做什么

其实许多人都有一个疑问,依存句法分析究竟可以用来干什么。
句法分析可以对语言进行深层次的理解,用来消除歧义。还可以根据分析的结果对特定的内容进行提取(信息抽取)。
本节就来利用依存句法分析实现一个意见抽取的例子,提取下列商品评论中的属性和买家评价。

from pyhanlp import *

CoNLLSentence = JClass('com.hankcs.hanlp.corpus.dependency.CoNll.CoNLLSentence')
CoNLLWord = JClass('com.hankcs.hanlp.corpus.dependency.CoNll.CoNLLWord')
IDependencyParser = JClass('com.hankcs.hanlp.dependency.IDependencyParser')
KBeamArcEagerDependencyParser = JClass('com.hankcs.hanlp.dependency.perceptron.parser.KBeamArcEagerDependencyParser')

def main():
    parser = KBeamArcEagerDependencyParser()
    data="菜量很多,玫瑰不错,气氛很好,不过鸡肉不嫩,总体来说还行。"
    tree = parser.parse(data)
    print(tree)
    print("第一版")
    extactOpinion1(tree)
    print("第二版")
    extactOpinion2(tree)
    print("第三版")
    extactOpinion3(tree)


def extactOpinion1(tree):
    for word in tree.iterator():
        if word.POSTAG == "NN" and word.DEPREL == "nsubj":
            print("%s = %s" % (word.LEMMA, word.HEAD.LEMMA))


def extactOpinion2(tree):
    for word in tree.iterator():
        if word.POSTAG == "NN" and word.DEPREL == "nsubj":
            if tree.findChildren(word.HEAD, "neg").isEmpty():
                print("%s = %s" % (word.LEMMA, word.HEAD.LEMMA))
            else:
                print("%s = 不%s" % (word.LEMMA, word.HEAD.LEMMA))


def extactOpinion3(tree):
    for word in tree.iterator():
        if word.POSTAG == "NN":
            if word.DEPREL == "nsubj":  # ①属性

                if tree.findChildren(word.HEAD, "neg").isEmpty():
                    print("%s = %s" % (word.LEMMA, word.HEAD.LEMMA))
                else:
                    print("%s = 不%s" % (word.LEMMA, word.HEAD.LEMMA))
            elif word.DEPREL == "attr":
                top = tree.findChildren(word.HEAD, "top")  # ②主题

                if not top.isEmpty():
                    print("%s = %s" % (word.LEMMA, top.get(0).LEMMA))


if __name__ == '__main__':
    main()

可以尝试搜集更多的句子,通过分析句法结构总结更多的提取规则。

代码输出结果
1	菜量	菜量	N	NN	_	5	nsubj	_	_
2	很多	很多	C	CD	_	5	nsubj	_	_
3	,	,	P	PU	_	2	punct	_	_
4	玫瑰	玫瑰	N	NN	_	5	nsubj	_	_
5	不错	不错	V	VA	_	0	ROOT	_	_
6	,	,	P	PU	_	5	punct	_	_
7	气氛	气氛	N	NN	_	9	nsubj	_	_
8	很	很	A	AD	_	9	advmod	_	_
9	好	好	V	VA	_	5	conj	_	_
10	,	,	P	PU	_	5	punct	_	_
11	不过	不过	A	AD	_	14	advmod	_	_
12	鸡肉	鸡肉	N	NN	_	14	nsubj	_	_
13	不	不	A	AD	_	14	neg	_	_
14	嫩	嫩	V	VA	_	5	conj	_	_
15	,	,	P	PU	_	5	punct	_	_
16	总体	总体	N	NN	_	17	lobj	_	_
17	来说	来说	L	LC	_	19	loc	_	_
18	还	还	A	AD	_	19	advmod	_	_
19	行	行	V	VV	_	5	conj	_	_
20	。	。	P	PU	_	5	punct	_	_

第一版
菜量 = 不错
玫瑰 = 不错
气氛 = 好
鸡肉 = 嫩
第二版
菜量 = 不错
玫瑰 = 不错
气氛 = 好
鸡肉 = 不嫩
第三版
菜量 = 不错
玫瑰 = 不错
气氛 = 好
鸡肉 = 不嫩
LTP依存分析模块所使用的依存关系标记含义
LTP依存分析模块所使用的依存关系标记含义缩写
定中关系ATT(attribute)
数量关系QUN(quantity)
并列关系COO(coordinate)
同位关系APP(appositive)
前附加关系LAD(left adjunct)
后附加关系RAD(right adjunct)
动宾关系VOB(verb-object)
介宾关系POB(preposition-object)
主谓关系SBV(subject-verb)
比拟关系SIM(similarity)
核心HED(head)
连动结构VV(verb-verb)
关联结构CNJ(conjunctive)
语态结构MT(mood-tense)
独立结构IS(independent structure)
状中结构ADV(adverbial)
动补结构CMP(complement)
“的”字结构DE
“地”字结构DI
“得”字结构DEI
“把”字结构BA
“被”字结构BEI
独立分句IC(independent clause)
依存分句DC(dependent clause)

LTP依存分析模块所使用的依存关系标记含义

4、成分句法分析和依存句法分析的不同之处

1、成分句法把句子组织成短语的形式,而依存句法主要揭示了句子中词的依赖关系。
2、两种语法结构能够揭示句子中不同的信息,所以当你在其他任务中,需要用到句子中的短语结构就用constituent ,而需要用到词与词之间的依赖关系就用dependency。
3、依存句法树能够根据成分句法树转换而来,但成分句法树不能通过依存树转化来。转换的规则是head-finding rules from Zhang and Clark 2008

head word

1、在constituent parsing中,一个长短语的head word表示最能表示整个短语的那个词,名词短语一般是名词,动词短语一般是动词。而具体怎么选,则根据不同的parser采取的方案有不同的规定,不过大部分的句子是一样的,如上图这些简单的句子,不同的parser规则,得到的树应该是一样的。
2、在Dependency Parsing中,eg:I do like eating fish.这个句子中eating fish 中心是就是eating,因为fish依赖于eating。
3、中心词的作用可以理解成在parse的过程中的一个重要的特征

参考:
《Constituent Parsing & Dependency Parsing 句法分析简介》
《CS224N笔记(五):Dependency Parsing》
《中文依存句法分析概述及应用》|
《Natural Language Processing-Lecture Slides from the 2012 Stanford Coursera course by Dan Jurafsky and Christopher Manning》
《依存分析:中文依存句法分析简介》

Python31 自然语言处理NLP之NLTK的使用 从长文本中提取关键内容生成摘要。 阅读详情

相关推荐

自然语言处理之——句法分析

一.摘要 在自然语言处理的一个重要分支领域——机器翻译中,句法分析占据着核心的地位,句法分析也是自然语言处理的核心技术,是机器理解语言的关键部分。句法分析的主要任务是识别出句子所包含的句法成分以及这些成分之间的关系,通常会以句法树来表示句法分析的结果。本次分享将介绍句法分析相关的技术。 二.概述 句法分析是决定自然语言处理进度的关键部分。句法分析主要有一下两个障碍:歧义和搜索空间。自然语言区别于人工语言的一个重要特点就是它存在着大量的歧义现象。人们可以依靠大量的先验知识有效的消除掉歧义,而在机器学..

xi_xiyu的博客 1814

成分句法分析综述

本文不在本站更新,请到原文查看! 原文链接: https://godweiyang.com/2018/09/26/constituent-parsing-summary/ 一直以来想对保研到现在一年多看过的论文进行一个总结,正好赶上下周二要讲组会,所以将自己看过的成分句法分析相关的论文梳理一下,写一个粗略的综述。可能有很多细节还不是很懂,理解有误,还请大家指正。 PPT地址:A Summary...

算法码上来 1992

探索自然语言处理中的句法分析:从理论到实践

*句法分析**(Syntactic Analysis)是指对句子或句子片段进行逻辑意义分析的过程。它不仅涉及语法规则的应用,还关注句子的正确性和逻辑结构。通过句法分析,我们可以确定哪些句子是合法的,并生成结构化的表示形式,如句法树。通过本文的介绍和实战演示,我们不仅了解了句法分析的基本概念和应用,还学会了如何使用Python和Stanford CoreNLP生成句法分析树。希望这些内容能帮助你在NLP的探索之旅中更进一步。👇热门内容👇python使用案例与应用_安城安的博客-优快云博客。

anananajiushiwo的博客 958

李宏毅自然语言处理——成分句法分析

句法分析简介。

日积月累,天道酬勤 1880

自然语言处理NLP概论

文章目录1 什么是NLP1.1 NLP的两大任务1 NLU 自然语言理解2 NLG 自然语言生成1.2 NLP的发展和技术路线1 基于传统机器学习的NLP流程2 基于深度学习的NLP流程3 方法路线1.3 目前研究方向2 词法分析(Lexical Analyse)2.1 分词1. 为什么需要分词?2. 中英文分词的区别3. 中文分词的难点4. 分词方法5 分词知识图谱2.2 词性标注1 什么是词性标注2 词性标注难点3 词性标注常用方法4 语料库和标注集5 语料标注工具推荐2.3 命名实体识别(NER)1

weiyaner的博客 2724

NLP自然语言处理

NLP就是人与机器沟通的“桥梁”。

m0_68153457的博客 2283

[ACL17]A Minimal Span-Based Neural Constituency Parser(一个最小化的基于跨度的神经句法分析器)...

原文链接: A Minimal Span-Based Neural Constituency Parser 论文地址:ACL17 代码地址:github 今天要分享的是伯克利2017年发表在ACL的一篇成分句法分析论文,论文和代码地址都已经放在上面了,代码里还给出了处理过的PTB数据集,使用起...

算法码上来 617

《自然语言处理实战入门》 第一章: 自然语言处理(NLP)技术简介

本博客为《自然语言处理实战课程》---- 第一课:自然语言处理简介 讲稿 文章大纲本节课程导览1.自然语言处理(NLP)简介1.1 基础技术1.2 NLP 核心技术1.3 NLP+(高端技术)1.4 课程涵盖的主要内容总揽2.知名NLP服务系统与开源组件简介2.1 单一服务提供商2.1.1 汉语分词系统ICTCLAS2.1.2 哈工大语言云(Language Technology Platfor...

shiter编写程序的艺术 1万+

CS224n笔记:NLP中的依存分析(Dependency Parsing)

https://zhuanlan.zhihu.com/p/147321515 https://zhuanlan.zhihu.com/p/66268929 自然语言处理任务中,有很重要的一块,就是分析语言的结构。对于句法结构(syntactic structure)分析,主要有两种方式 组成分析(Constituency parsing) 依赖分析(Dependency parsing) 前者主要关心的是句子是怎么构成的,词怎么组成短语。所以研究Constituency,主要 是研究忽略语义的“ 语法

xxr233的博客 1857

一文读懂Cache一致性原理

本文介绍了为什么需要维护cache一致性、一致性协议的本质和类别,以及如何设计一致性协议。

W1Z1Q的专栏 6853

浅析图像处理中的名词:Gamma 校正(Gamma变换、Gamma调整)

浅析图像处理中的名词:Gamma 校正(Gamma变换、Gamma调整)

qq_51908382的博客 1万+

一文概览NLP句法分析:从理论到PyTorch实战解读

本文全面探讨了自然语言处理(NLP)中句法分析的理论与实践。从句法和语法的定义,到各类句法理论和方法,文章细致入微地解析了句法分析的多个维度。最后,通过PyTorch的实战演示,我们展示了如何将这些理论应用到具体任务中。本文旨在为读者提供一份全面、深入且实用的句法分析指南。

TechLead 3595

【深度学习新浪潮】AI 智能眼镜关键视觉技术、技术栈及开源项目全解析

Meta新款智能眼镜在演示中暴露出的AI误判和延迟问题,揭示了端侧视觉与多模态算法落地的核心瓶颈。本文从算法工程视角解析了AI智能眼镜的三大关键技术:感知增强(多帧降噪、HDR成像)、场景解析(轻量化目标检测、语义分割)和空间定位(视觉SLAM、ToF辅助),并梳理了完整的技术栈架构,包括硬件适配、驱动优化和框架选型。文章还提供了高价值开源项目参考,如OpenXR和ORB-SLAM3,为端侧视觉算法落地提供实操指南,助力开发者攻克算力约束下的实时性、精度和功耗平衡难题。

专注:太空算力、AI infra、异构调度、大模型成本工程 530

自然语言处理NLP(8)——句法分析b:完全句法分析

在上一部分中,我们简单介绍了完全句法分析的概念,并详细介绍了句法分析的基础:Chomsky形式文法(自然语言处理NLP(7)——句法分析a:Chomsky(乔姆斯基)形式文法)。 在这一部分中,我们将对完全句法分析进行详细介绍。 回顾一下,句法分析共有三种类型:完全句法分析、局部句法分析、依存关系分析。 对于完全句法分析,还是NLP领域中常用的三种解决方法:规则法、概率统计法、神经网络方法。 下面...

echoKangYL的博客 1万+

基于 Python + Flask + Echarts 的疫情监控系统

基于 Python + Flask + Echarts 的疫情监控系统

744

2026华为OD机试(JavaScript)真题【E卷+A卷+B卷+C卷+D卷】目录+在线OJ

华为OD机试真题题库【E卷+A卷+B卷+C卷+D卷】目录,JavaScript实现。

MISAYAONE的博客 8万+

NLP自然语言处理简介

NLP自然语言处理简介

qq_37771475的博客 1万+

AI Agent在核电站安全监控中的应用

核电站作为一种高效的能源生产设施,其安全问题一直是全球关注的焦点。任何安全事故都可能导致严重的人员伤亡、环境污染和经济损失。传统的核电站安全监控系统主要依赖于人工操作和固定规则的监控算法,存在监控效率低、无法实时应对复杂情况等问题。本文章的目的在于探讨如何利用AI Agent技术提升核电站安全监控的智能化水平,实现实时、准确的监测和智能决策。范围涵盖了AI Agent的基本原理、在核电站安全监控中的应用场景、相关算法和数学模型,以及实际项目的开发和应用。

AGI×大数据,开启智能时代的认知跃迁;解码AGI,赋能数据驱动的智能革命。 372

【NLP】句法分析

GN∑PSGN∑PS,其中 N 是非终结符集合,sum 是终结符集合,P 是规则集合Pα→βPα→β,alpha 中至少包含一个非终结符,S 为起始符如果αβγαβγ是总词汇表克林闭包中的符号串,且β→ϵ∈Pβ→ϵ∈P,故αβγGαϵγαβγG​αϵγ$=>^+表示传递闭包,也就是表示传递闭包,也就是表示传递闭包,也就是X_n到到到X_{n+1}$经过 n(n>=1)步推导$=>^*

weixin_46876169的博客 2613

《QGIS快速入门与应用基础》294:双地图框布局(真彩色+假彩色对比)

摘要 本文详细介绍了在QGIS中创建专业级遥感影像对比地图的完整流程。作者作为时空智能领域专家,重点讲解了双地图框布局的实现方法,通过真彩色与假彩色影像的同步对比,满足学术研究和工程应用需求。文章包含三个核心部分:1) 前期准备工作,包括图层复制、标准化命名和参数校验;2) 布局创建与页面设置,详细说明了A4横向布局的参数配置;3) 双地图框同步技术,提供了复制粘贴法和手动设置两种实现方案。教程特别强调图层锁定、比例尺固定等关键操作,确保对比图的专业性和准确性,适合GIS从业人员和遥感研究者学习参考。

LuckyHanMo的博客 361

YOLO26全网首发:CVPR2026 MixerCSeg | DEGConv方向引导边缘门控,破解细长裂缝检测难题

DEGConv通过方向先验嵌入、边缘增强卷积和动态门控三大机制,针对性解决了YOLO在处理裂缝类细长、多方向、低对比度目标时的特征提取不足问题,显著提升了裂缝检测的精度与鲁棒性。

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 1039

NLP自然语言处理之句法分析

1、句法分析的基本概念 句法分析不是一个自然语言处理任务的最终目标,但它往往是实现最终目标的关键环节。目的: 确定句子的语法结构 句子中词汇之间的依存关系 句法分析分为句法结构分析和依存关系分析两种。以获取整个句子的句法结构为目的的称为完全句法分析,而以获得局部成分为目的的语法分析称为局部分析,依存关系分析简称依存分析。 主要任务有三种:判断...

weixin_41097516的博客 7634

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

nlp-句法分析

本文系统介绍了句法分析的理论与方法,主要包括成分语法和依存语法两大理论体系。在成分句法分析部分,阐述了基于上下文无关文法(CFG)和概率上下文无关文法(PCFG)的分析方法及其面临的歧义挑战。在依存句法分析部分,详细说明了基于图和基于转移的分析方法,包括经典算法和神经网络改进方案。文章还介绍了成分分析和依存分析的评价标准,并指出句法分析在自然语言处理中的核心地位,是连接句子结构和语义理解的重要桥梁。全文内容涵盖句法理论、分析方法、评价指标和语料库建设等多个维度,为自然语言处理中的句法分析任务提供了系统性的技

qq_73704268的博客 1165

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

自然语言处理(NLP)技术的详细介绍

自然语言处理技术(NLP)是人工智能领域中的一门重要技术,旨在使计算机能够理解和处理人类语言。它通过模拟人类的语言理解和分析能力,实现人机交互、信息提取、语义分析等任务。NLP技术的核心是将自然语言转换为计算机可读的形式,然后利用各种算法和模型进行语义理解、信息提取和文本生成等工作。

小相探索IT世界 5789

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

nlp_句法分析

慢慢地将各种技术都将其搞透彻,全部都搞定都行啦的样子。

kuxingseng123的博客 1818
上一篇: 【Hanlp2.0】探索Hanlp2.0步骤及遇到的问题汇总(最新的解决方案)
下一篇: 【字符串】1694. 重新格式化电话号码
菜菜2022
博客等级 码龄9年 67粉丝 1033原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值