牛骨文教育服务平台(让学习变的简单)
博文笔记

使用Stanford Parser进行句法分析

创建时间:2017-09-27 投稿人: 浏览次数:157

原文:http://www.cnblogs.com/Denise-hzf/p/6612574.html

一、句法分析

1、定义

  句法分析判断输入的单词序列(一般为句子)的构成是否合乎给定的语法,并通过构造句法树来确定句子的结构以及各层次句法成分之间的关系,即确定一个句子中的哪些词构成一个短语,哪些词是动词的主语或宾语等问题。

2、主流技术

  基于统计的方法是现阶段句法分析的主流技术。常见的概率句法分析模型包括概率上下文无关模型、基于历史的句法分析模型、层次化渐进式的句法分析模型和中心词驱动的句法分析模型。综合多种模型而实现的句法分析器种类繁多,目前在开源中文句法分析器中比较具有代表性有Stanford parserBerkeley parser。前者基于因子模型,后者基于非词汇化分析模型。

3、应用领域

  随着自然语言应用的日益广泛,特别是对文本处理需求的进一步增加,句法分析的作用愈加突出,它在机器翻译、信息检索与抽取、问答系统、语音识别等研究领域中都有重要的应用价值。

 

二、Stanford Parser

1、简介

Stanford parser 是由斯坦福大学自然语言处理小组开发的开源句法分析器,是基于概率统计句法分析的一个 JAVA 实现。 分析器目前提供了5个中文文法。

 

2、优点

①既是一个高度优化的概率上下文无关文法和词汇化依存分析器,也是一个词汇化上下文无关文法分析器。

②基于权威可靠的宾州树库(Penn Treebank)作为分析器的训练数据,目前已面向英文、中文、德文、阿拉伯文、意大利文、保加利亚文、葡萄牙文等语种提供句法分析功能。

③提供了多样化的分析输出形式,除句法分析树输出外,还支持分词和词性标注文本输出、短语结构树输出、斯坦福依存关系输出等。

④分析器内置了分词工具、词性标注工具、基于自定义树库的分析器训练工具等句法分析辅助程序。

⑤通过设置不同的运行参数,可实现句法分析模型选择、自定义词性标记集、文本编码设置和转换、语法关系导入和导出等功能的定制。

 

三、使用Stanford Parser教程

(一)IDE中运行

1. 在Stanford官方网站下载最新安装包

http://nlp.stanford.edu/software/lex-parser.html#Download

 

2. 解压下载后的zip包 stanford-parser-full-2015-12-09.zip,里面会有数据,依赖包以及demo,还有相关的source code和java doc

3. 使用Eclipse创建项目,名为stanfordparser,在build path中引入stanford-parser-3.6.0-models.jarstanford-parser.jarslf4j-simple.jar slf4j-api.jar

4.从步骤2中解压的文件中把ParserDemo.javaParserDemo2.java和data文件夹都复制到Eclipse项目中。

5. 以ParserDemo.java为例,在Eclipse中右键点击ParserDemo.java文件,设置运行参数Arguments为:

edu/stanford/nlp/models/lexparser/englishPCFG.ser.gz data/english-onesent.txt
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。