【Python自然语言处理】概率上下文无关文法(PCFG)及神经网络句法分析讲解(图文解释 超详细)

简介: 【Python自然语言处理】概率上下文无关文法(PCFG)及神经网络句法分析讲解(图文解释 超详细)

觉得有帮助或有疑问麻烦点赞关注收藏后评论区私信留言~~~

一、句法分析

句法分析(syntactic parsing或者parsing)是识别句子包含的句法成分要素以及成分之间的内在关系,一般以句法树来表示句法分析的结果。实现该过程的应用称作句法分析器(Parser)。根据侧重目标分为完全句法分析和局部句法分析,完全句法分析以获取整个句子的句法结构为最终目的,而局部句法分析仅关注局部部分,依存句法分析属于局部分析法

自然语言处理句法分析目前面临的关键技术问题:

(1)语义消歧: 语言中存在很多一词多义的用法,歧义与消歧是自然语言理解中最核心的问题,在词语、句子、段落篇章等各个层次都会出现语言根据语境产生歧义的现象,消歧是指根据上下文识别语义的过程。

(2)路径优化: 句法分析的搜索空间和句子长度存在指数对应关系,因此,在句子长度超过特定阈值时,搜索空间会变得十分庞大,从而降低了处理效率。优化搜索路径,以确保能够在合理时间范围内查找到模型定义最优解,是句法分析的目标。

二、句法树

在计算机中,可以用树状结构图来表示文本结构,使用字符S代表句子,NP VP PP分别代表名词短语 动词短语 介词短语 N  V P M则分别是名词 动词 介词 数量词和时量词

三、常用句法分析相关数据集

英国Lancaster- Leeds 树库

美国Penn 树库(涵盖中英文)

清华大学句法树库为基础的系列句法分析数据集

台湾 Sinica 中文树库等

四、句法分析方法

句法分析的基本任务是确定句子的语法结构或词汇间的依存关系,句法分析是自然语言处理实现目标的关键环节,句法分析通常分为结构分析和依存关系分析两种。

语言学家 Robinson 4 个约束性公理。

(1)有且仅有一个词语(ROOT,虚拟根节点)不依存于其他词语。

(2)除根节点之外其他单词存在依存关系。

(3)各单词不能依存于多个单词。

(4)如果单词 X 依存于 Y,那么位置处于 X 和 Y 之间的单词 Z 只能依存于 X、Y 或 XY 之间的单词。

句法分析中 有三个常见的评价标准

P为标记的准确率 R为召回率

 

五、概率分布上下文无关文法

由于语法的解析存在歧义性,因此结果可能导致多种语法树可供备选,从中找出可能性最高的句法树,即概率最大的句法树,是概率分布上下文无关语法 (Probabilistic Context-Free Grammar:PCFG)的基本处理逻辑。概率分布上下文无关语法源自上下文无关文法

基于上述信息,得出相应句法树的生成概率为: P1=P(S)×P(NP)×P(VP)×P(V)×P(NP)×P(NP)×P(PP)×P(P)×P(NP) =1.0×0.2×0.8×1.0×0.5×0.2×1.0×1.0×0.2=0.0032

基于歧义的观点,如果存在另外一种理解导致各规则以及各结点的概率值呈现为下图结果,根据概率上下文无关语法得出该句法树的概率则表示未下

根据概率分布上下文无关语法得出该句法树的概率为:   P2=P(S)×P(NP)×P(VP)×P(VP)×P(V)×P(NP)×P(PP)×P(P)×P(NP) =1.0×0.2×0.7×1.0×1.0×0.2×1.0×1.0×0.2=0.0056

比较上述两个概率值,第二个句法树的生成概率高,因此选择第二颗句法树作为最终结果,如果存在多种歧义,可以使用类似的方法求出概率最大的句法树

六、神经网络句法分析

神经网络能够对特征信息进行自动建模,具有自足学习能力,可以对特征进行自动优化,避免了大量的手动特征标注工程,并且,基于神经网络的句法分析模型的处理性能一般也优于传统的句法分析模型,因此,开发性能优异的神经网络算法成为近年研究的聚焦点。

下面使用斯坦福句法分析器进行中文句法分析实战

假定对象文本分析为“当今世界正经历一场百年大变革” 利用斯坦福句法程序分析得到的句法结构如下

 

创作不易 觉得有帮助请点赞关注收藏~~~

相关文章
|
9月前
|
机器学习/深度学习 自然语言处理 数据可视化
基于图神经网络的自然语言处理:融合LangGraph与大型概念模型的情感分析实践
本文探讨了在企业数字化转型中,大型概念模型(LCMs)与图神经网络结合处理非结构化文本数据的技术方案。LCMs突破传统词汇级处理局限,以概念级语义理解为核心,增强情感分析、实体识别和主题建模能力。通过构建基于LangGraph的混合符号-语义处理管道,整合符号方法的结构化优势与语义方法的理解深度,实现精准的文本分析。具体应用中,该架构通过预处理、图构建、嵌入生成及GNN推理等模块,完成客户反馈的情感分类与主题聚类。最终,LangGraph工作流编排确保各模块高效协作,为企业提供可解释性强、业务价值高的分析结果。此技术融合为挖掘非结构化数据价值、支持数据驱动决策提供了创新路径。
572 6
基于图神经网络的自然语言处理:融合LangGraph与大型概念模型的情感分析实践
|
9月前
|
机器学习/深度学习 算法 测试技术
图神经网络在信息检索重排序中的应用:原理、架构与Python代码解析
本文探讨了基于图的重排序方法在信息检索领域的应用与前景。传统两阶段检索架构中,初始检索速度快但结果可能含噪声,重排序阶段通过强大语言模型提升精度,但仍面临复杂需求挑战
313 0
图神经网络在信息检索重排序中的应用:原理、架构与Python代码解析
|
11月前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【害虫识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
害虫识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了12种常见的害虫种类数据集【"蚂蚁(ants)", "蜜蜂(bees)", "甲虫(beetle)", "毛虫(catterpillar)", "蚯蚓(earthworms)", "蜚蠊(earwig)", "蚱蜢(grasshopper)", "飞蛾(moth)", "鼻涕虫(slug)", "蜗牛(snail)", "黄蜂(wasp)", "象鼻虫(weevil)"】 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Djan
652 1
基于Python深度学习的【害虫识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【蘑菇识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
蘑菇识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了9种常见的蘑菇种类数据集【"香菇(Agaricus)", "毒鹅膏菌(Amanita)", "牛肝菌(Boletus)", "网状菌(Cortinarius)", "毒镰孢(Entoloma)", "湿孢菌(Hygrocybe)", "乳菇(Lactarius)", "红菇(Russula)", "松茸(Suillus)"】 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Django框架搭建了一个Web网页平台可视化操作界面,
1190 11
基于Python深度学习的【蘑菇识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
|
机器学习/深度学习 人工智能 算法
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
宠物识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了37种常见的猫狗宠物种类数据集【'阿比西尼亚猫(Abyssinian)', '孟加拉猫(Bengal)', '暹罗猫(Birman)', '孟买猫(Bombay)', '英国短毛猫(British Shorthair)', '埃及猫(Egyptian Mau)', '缅因猫(Maine Coon)', '波斯猫(Persian)', '布偶猫(Ragdoll)', '俄罗斯蓝猫(Russian Blue)', '暹罗猫(Siamese)', '斯芬克斯猫(Sphynx)', '美国斗牛犬
652 29
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
|
机器学习/深度学习 自然语言处理 语音技术
Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧
本文介绍了Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧,并通过TensorFlow和PyTorch等库展示了实现神经网络的具体示例,涵盖图像识别、语音识别等多个应用场景。
498 8
|
机器学习/深度学习 人工智能 算法
深度学习入门:用Python构建你的第一个神经网络
在人工智能的海洋中,深度学习是那艘能够带你远航的船。本文将作为你的航标,引导你搭建第一个神经网络模型,让你领略深度学习的魅力。通过简单直观的语言和实例,我们将一起探索隐藏在数据背后的模式,体验从零开始创造智能系统的快感。准备好了吗?让我们启航吧!
395 3
|
机器学习/深度学习 TensorFlow 算法框架/工具
利用Python和TensorFlow构建简单神经网络进行图像分类
利用Python和TensorFlow构建简单神经网络进行图像分类
391 3
|
自然语言处理 算法 数据挖掘
探讨如何利用Python中的NLP工具,从被动收集到主动分析文本数据的过程
【10月更文挑战第11天】本文介绍了自然语言处理(NLP)在文本分析中的应用,从被动收集到主动分析的过程。通过Python代码示例,详细展示了文本预处理、特征提取、情感分析和主题建模等关键技术,帮助读者理解如何有效利用NLP工具进行文本数据分析。
328 2
|
机器学习/深度学习 人工智能 自然语言处理
python机器学习入门之自然语言处理(NLP)工具Jieba的使用及解析
python机器学习入门之自然语言处理(NLP)工具Jieba的使用及解析
379 0
python机器学习入门之自然语言处理(NLP)工具Jieba的使用及解析

热门文章

最新文章

推荐镜像

更多