使用FudanNLP实现依存句法分析
2015-03-09 14:14
531 查看
依存句法分析在自然语言处理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个单词(含标点),分词结果,词性标注,依存位置,依存属性。
根据结果,我们可以得到下面的依存句法分析树:
![](http://img.blog.csdn.net/20150309141303224?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcHVxdXRvZ2V0aGVy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
其中,每个句子的句法分析结果一定有一个root,其余部分的主要一些词都依存于这个root,然后其他的部分也有一些依存词和主管词。
根据这样的句法分析结果,我们可以实现后续的分类识别和缺省恢复等高级NLP功能。
首先,我们下载了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功能。
相关文章推荐
- 使用opennlp进行依存句法分析
- fudannlp - 开源中文自然语言处理工具包|中文分词|词性标注|依存句法分析|指代消解 - Google Project Hosting
- 使用stanford nlp进行依存句法分析
- 使用Stanford CoreNLP的Python封装包处理中文(分词、词性标注、命名实体识别、句法树、依存句法分析)
- linux窗口程序设计 Qt4精彩实例分析 pyqt实现 实例2 标准对话框的使用
- 使用批处理实现启动和停止服务的代码分析(net start&net stop)
- Python使用Com组件及Access查询分析类实现
- 使用C#实现网络抓包与分析
- Owc的使用---自己封装好的类可以实现14种分析图
- Binder机制分析(2)——从MediaService中看Binder的实现和使用(1)
- 使用DES实现真实数据加密的前奏(分析)
- ALinux网桥的实现分析与使用
- 用Python实现简单的HTTP服务器(1)--使用Firebug简单分析HTTP协议
- 使用Node.js + MongoDB实现一个简单的日志分析系统
- 使用Log4j为项目配置日志输出应用详解以及示例演示的实现分析
- RTTI、虚函数和虚基类的实现方式、开销分析及使用指导
- 使用 WSAA API 实现既有资产的分析
- 使用关系数据库和矩阵,Reporting Service也能实现类似Analysis的分析
- Owc的使用---自己封装好的类可以实现14种分析图
- ALinux网桥的实现分析与使用