单元4-句法分析4_第1页
单元4-句法分析4_第2页
单元4-句法分析4_第3页
单元4-句法分析4_第4页
单元4-句法分析4_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

4.3实战案例——依存句法分析4.3.1案例目标4.3.1案例目标掌握使用Python实现依存句法分析的方法。了解依存句法分析的可视化方法。4.34.3.2案例分析4.3.2案例分析LTP提供了依存句法分析模型,但不能实现可视化。因此这一小节使用了两个第三方工具HanLP和DependencyViewer来实现依存句法分析的可视化。4.34.3.2案例分析HanLP是Hankcs主持并开源的由一系列模型和算法组成的工具包,具有功能完善、性能高效、架构清晰、语料时新、可自定义等特点,提供词法分析、句法分析、文本分析和情感分析等功能,已被广泛的应用在工业、科研、教育等领域中。4.34.3.2案例分析DependencyViwer是南京大学自然语言处理研究组的制作的一个依存句法可视化工具,一个用于可视化显示、编辑、统计CONLL格式依存树的工具,有助于直观展示依存结构,辅助用户编辑和查找错误。4.34.3.3案例实施4.3.3案例实施LTP提供了依存句法分析模型。使用LTP实现依存句法分析时,需要在词性标注的基础上进行。因此首先需要进行分词和词性标注。(一)基于LTP的依存句法分析importos#加载模型文件LTP_DATA_DIR='ltp_data_v3.4.0'#ltp模型目录的路径pos_model_path=os.path.join(LTP_DATA_DIR,'pos.model')cws_model_path=os.path.join(LTP_DATA_DIR,'cws.model')par_model_path=os.path.join(LTP_DATA_DIR,'parser.model')

sent="9月9日上午纳达尔在亚瑟·阿什球场击败俄罗斯球员梅德韦杰夫"4.34.3.3案例实施LTP提供了依存句法分析模型。使用LTP实现依存句法分析时,需要在词性标注的基础上进行。因此首先需要进行分词和词性标注。(一)基于LTP的依存句法分析#分词frompyltpimportSegmentorsegmentor=Segmentor()#初始化实例segmentor.load_with_lexicon(cws_model_path,'dict1.txt')#加载模型words=list(segmentor.segment(sent))#分词segmentor.release()#释放模型print("分词:",words)4.34.3.3案例实施LTP提供了依存句法分析模型。使用LTP实现依存句法分析时,需要在词性标注的基础上进行。因此首先需要进行分词和词性标注。(一)基于LTP的依存句法分析#词性标注frompyltpimportPostaggerpostagger=Postagger()#初始化实例postagger.load(pos_model_path)#加载模型postags=postagger.postag(words)#词性标注tags=list(''.join(postags))postagger.release()#释放模型print("词性标注:",tags)运行上述程序,输出结果如下:分词:

['9月','9日','上午','纳达尔','在','亚瑟·阿什','球场','击败','俄罗斯','球员','梅德韦杰夫']词性标注:

['n','t','n','t','n','t','n','h','p','n','s','n','v','n','s','n','n','h']4.34.3.3案例实施在词性标注的基础上,进行依存句法分析。(一)基于LTP的依存句法分析#依存句法分析frompyltpimportParserparser=Parser()#初始化实例parser.load(par_model_path)#加载模型arcs=parser.parse(words,postags)#句法分析print('依存句法分析1:','\t'.join("%d:%s"%(arc.head,arc.relation)forarcinarcs))运行上述程序,输出结果如下:依存句法分析1:2:ATT

3:ATT

8:ADV

8:SBV

8:ADV

7:ATT

5:POB

0:HED

10:ATT

11:ATT

8:VOB4.34.3.3案例实施为更加清楚的显示依存关系,提取每个词的父节点,及他们之间的依存关系。(一)基于LTP的依存句法分析print("依存句法分析2:")rely_id=[arc.headforarcinarcs]#提取依存父节点idrelation=[arc.relationforarcinarcs]#提取依存关系#匹配依存父节点词语

heads=['Root'ifid==0elsewords[id-1]foridinrely_id]foriinrange(len(words)):print(relation[i]+'('+words[i]+','+heads[i]+')')运行上述程序,输出结果如下:依存句法分析2:ATT(9月,9日)ATT

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论