使用FudanNLP实现依存句法分析

依存句法分析在自然语言处理NLP中是比较重要的一项技术,FudanNLP工具箱中提供了一种依存句法分析的实现。这篇文章我们来试着使用FudanNLP实现依存句法分析,并看看分析的效果是什么样的形式,以及效果如何。

首先,我们下载了FudanNLP的工具箱源码(开源),依存句法分析的主代码就在example文件夹中的DepParse.java中。

这个程序中支持的依存关系类型集合包括:

[关联, 主语, 标点, 疑问连动, 补语, 语态, 的字结构, 介宾, 数量, 宾语, 地字结构, 感叹, 时态, 之字结构, 同位语, 得字结构, 并列, 连动, 修饰, 核心词, 定语, 状语]

源代码中给出的测试用例是“中国进出口银行与中国银行加强合作。”

运行结果为:

0 中国 地名 2 定语

1 进出口 名词 2 定语

2 银行 名词 5 并列

3 与 并列连词 2 关联

4 中国 地名 5 定语

5 银行 名词 6 主语

6 加强 动词 -1 核心词

7 合作 名词 6 宾语

8 。 标点 6 标点

中国 进出口 银行 与 中国 银行 加强 合作 。

地名 名词 名词 并列连词 地名 名词 动词 名词 标点

2 2 5 2 5 6 -1 6 6

定语 定语 并列 关联 定语 主语 核心词 宾语 标点

比较有用的是第一部分的结果。整个句子包含8个单词(含标点),分词结果,词性标注,依存位置,依存属性。

根据结果,我们可以得到下面的依存句法分析树:

其中,每个句子的句法分析结果一定有一个root,其余部分的主要一些词都依存于这个root,然后其他的部分也有一些依存词和主管词。

根据这样的句法分析结果,我们可以实现后续的分类识别和缺省恢复等高级NLP功能。

时间: 2024-09-20 16:33:45

使用FudanNLP实现依存句法分析的相关文章

中文依存句法分析概述及应用

句法分析是自然语言处理领域的一个关键问题,如能将其有效解决,一方面,可对相应树库构建体系的正确性和完善性进行验证;另一方面,也可直接服务于各种上层应用,比如搜索引擎用户日志分析和关键词识别,比如信息抽取.自动问答.机器翻译等其他自然语言处理相关的任务. 短语结构和依存结构是目前句法分析中研究最广泛的两类文法体系.这里先大概介绍下依存结构. 依存文法最早由法国语言学家L.Tesniere在其著作<结构句法基础>(1959年)中提出,对语言学的发展产生了深远的影响,特别是在计算语言学界备受推崇.

转:NLP+句法结构(三)︱中文句法结构(CIPS2016、依存句法、文法)

NLP+句法结构(三)︱中文句法结构(CIPS2016.依存句法.文法)转自:https://www.cnblogs.com/maohai/p/6453389.html 摘录自:CIPS2016 中文信息处理报告<第一章 词法和句法分析研究进展.现状及趋势>P8 -P11 CIPS2016> 中文信息处理报告下载链接:http://cips-upload.bj.bcebos.com/cips2016.pdf 一.依存句法分析 依存语法存在一个共同的基本假设:句法结构本质上包含词和词之间的

cs224n第六讲依存分析

1.句法结构:成分结构和依存结构 两种角度的语言结构: 句子成分语法=短语结构语法=上下文无关语法 Constituency = phrase structure grammar = context-free grammars(CFGs) 依存句法结构(找到词之间的依赖关系,或者说是修饰关系,一般用箭头来表示) Dependency structure 依存句法的难点:依附的语义模糊性 标注型数据的发展:通用依存树库的建立,给自然语言处理的工作带来很多方便 2.依存句法结构 依存语法和依存结构

Java自然语言处理NLP工具包

自然语言处理 1. Java自然语言处理 LingPipe LingPipe是一个自然语言处理的Java开源工具包.LingPipe目前已有很丰富的功能,包括主题分类(Top Classification).命名实体识别(Named Entity Recognition).词性标注(Part-of Speech Tagging).句题检测(Sentence Detection).查询拼写检查(Query Spell Checking).兴趣短语检测(Interseting Phrase Dete

简单应用复旦FNLP自然语言处理工具(一)

FNLP是一个基于机器学习的中文自然语言文本处理的开发工具包,FNLP主要是为中文自然语言处理而开发的工具包,也包含为实现这些任务的机器学习算法和数据集. ----------百度百科 信息检索 文本分类 新闻聚类 中文处理: 中文分词 词性标注 实体名识别 关键词抽取 依存句法分析 时间短语识别 结构化学习: 在线学习 层次分类 聚类 在看这篇文章之前,请确定已经装好了Eclipse,如果没有安装Eclipse,请看这里JSP环境安装 因为FNLP在Github上已经有了很详尽的入门教程,所以

[转]自然语言分词简介

一.分词软件简介 主流分词软件 挑重要的讲,目前的分词软件很多,也比较杂.这里列举一些效果比较好的分词软件. Stanford Word Segmenter (Java,GPL) 老牌美帝斯坦佛大学NLP小组出品 nlpbamboo (C++, BSD) PostgreSQL的大大们制作的一个基于CRF++库的分词软件 ICTCLAS (闭源但是提供非商业使用lib)中科院出品也是目前比较广泛的分词软件 LTP (主要C++, 很神奇的LTP开源协议) 哈工大的一个自然语言处理平台,已经做到浅层

编译哈工大语言技术平台云LTP(C++)源码及LTP4J(Java)源码

转自:编译哈工大语言技术平台云LTP(C++)源码及LTP4J(Java)源码 JDK:java version “1.8.0_31”Java(TM) SE Runtime Environment (build 1.8.0_31-b13)Java HotSpot(TM) 64-Bit Server VM (build 25.31-b07, mixed mode)OS:win7 64bitcmake:V2.8.12/V3.2.2LTP:V3.2.0LTP4J:V1.0Microsoft VS C+

史上最全的机器学习资料(上) 转

转自:http://www.afenxi.com/post/18593 摘要: 机器学习牵涉的编程语言十分之广,包括了MATLAB.Python.Clojure.Ruby等等.为了让开发者更加广泛.深入地了解机器学习,云栖社区组织翻译了GitHub Awesome Machine Learning 资源,涵盖24种编程语言的机器学习的框架.库以及其他相关资料. 机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论.统计学.逼近论.凸分析.算法复杂度理论等多门学科.

StandfordParser:入门篇

一.      什么是StandfordParser? StandfordParser是Stanford NLP小组提供的一系列工具之一,是用来完成语法分析的任务.StanfordParser可以找出句子中词语之间的dependency关联信息,并且以StanfordDependency格式输出,包括有向图及树等形式. 下载地址:http://nlp.stanford.edu/software/lex-parser.shtml#Download 二.      怎么用StandfordParse