1. 简介

    Berkeley Parser 是加州大学伯克利分校 NLP 实验室开发的一种基于概率上下文无关文法(PCFG)的成分句法分析器,支持英语,汉语,德语等多个语种,它具有较高的句法分析性能,准确率较高,可选参 数较多,运行速度快递优点,在 ACL,NAACL 等主流国际会议的论文中得到广泛使用。

  想了解 Berkeley Parser 可以参考这篇论文”Learning Accurate, Compact, and Interpretable Tree Annotation“,这篇论文是句法分析领域的一篇经典之作。

2. 使用

  从 http://code.google.com/p/berkeleyparser/ 下载或者github上下载

下载之后,我上网搜了好长时间Berkely parser的教程,可是并没有。

其实就在我们下载的文件夹内,一个叫README的东东。

我们主要介绍模型自己训练的方法。

耐心阅读以下文本,这里介绍如何训练模型。

准备一个训练语料,是树型的

准备测试语料

注意是要分好词的,其次测试语料的输入的特征需要在训练语料中出现。。。。。。

1.进入到你的目录下,输入这个命令

java -cp berkeleyParser.jar edu.berkeley.nlp.PCFGLA.GrammarTrainer </home/phoebe/parser/berkeleyparser/data/train.txt -out bpmodel -treebank SINGLEFILE

解释:java后面跟着的文件名称就是运行这个程序  在这里就是运行 可执行的jar包berkelyParse.jar(这个jar包你下载之后可能名字不同,但是我觉得都只要是jar包都一样)

-cp 应该是找到这个jar包

berkeleyParser.jar edu.berkeley.nlp.PCFGLA.GrammarTrainer是主函数  你要制定主函数的入口

<的意思是-path(但是我输入-path就报错)后面跟着训练文本的位置,我这里是单源文件,所以最后指定-treebank SINGLEFIL

-out bpmodel是输出搜生成的模型 ,你可以指定它的位置,没有指定就是在berkelyParser这个文件夹下

你可以看到这样的东西(没截全)。。。有用的就是左上角的

>是输出

然后你可以看到很多迭代的结果,当然你也可以把这些结果输出到一个文本

java -cp berkeleyParser.jar edu.berkeley.nlp.PCFGLA.GrammarTrainer </home/phoebe/parser/berkeleyparser/data/train.txt -out bpmodel -treebank SINGLEFILE > test.log 2>&1 &
2.测试模型

$java -jar berkeleyParser.jar -gr bpmodel -inputFile ./data/test.in -outputFile ./data/test.out3   或者java -jar berkeleyParser.jar -gr bpmodel < ./data/test.in > ./data/test.out3

大功告成~~~~~~~~~

Berkeley parser使用方法的更多相关文章

  1. 使用Berkeley Parser进行句法分析

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

  2. 使用Stanford Parser进行句法分析

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

  3. XML解析之DOM详解及与SAX解析方法的比较

    XML解析(DOM) XML文件解析方法介绍 我们所用到的NSXMLParser是采用SAX方法解析 SAX(Simple API for XML) 只能读,不能修改,只能顺序访问,适合解析大型XML ...

  4. Python中optionParser模块的使用方法[转]

    本文以实例形式较为详尽的讲述了Python中optionParser模块的使用方法,对于深入学习Python有很好的借鉴价值.分享给大家供大家参考之用.具体分析如下: 一般来说,Python中有两个内 ...

  5. 转-Python optionParser模块的使用方法

    Python  有两个内建的模块用于处理命令行参数: 一个是  getopt,<Deep in python>一书中也有提到,只能简单处理 命令行参数: 另一个是  optparse,它功 ...

  6. python获取命令行参数的方法(汇总)

    介绍python获取命令行参数的方法:getopt模和argparse模块. python版本:2.7 一.getopt模块 主要用到了模块中的函数: options, args = getopt.g ...

  7. Python中的option Parser

    一般来说,Python中有两个内建的模块用于处理命令行参数: 一个是 getopt,<Deep in python>一书中也有提到,只能简单处理 命令行参数: 另一个是 optparse, ...

  8. Stanford CoreNLP 3.6.0 中文指代消解模块调用失败的解决方案

    当前中文指代消解领域比较活跃的研究者是Chen和Vincent Ng,这两个人近两年在AAAI2014, 2015发了一些相关的文章,研究领域跨越零指代.代词指代.名词指代等,方法也不是很复杂,集中于 ...

  9. 浅谈 LayoutInflater

    浅谈 LayoutInflater 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/View 文中如有纰漏,欢迎大家留言指出. 在 Android 的 ...

随机推荐

  1. (转)Unity3d的3种截图方法

    下面是我总结的.在u3d中的,三种截屏方法: 1.使用Application类下的CaptureScreenshot方法. void CaptureScreen() { Application.Cap ...

  2. 6.Git代码回滚

    1.代码修改并提交 我们已经成功地添加并提交了一个helloWorld.txt文件,现在,是时候继续工作了. 于是,我们继续修改helloWorld.txt文件,改成如下内容: $ vi helloW ...

  3. LNMP环境修改上传文件大小

    LNMP环境修改上传文件大小限制     如果网页上传文件大小大于nginx或php设定的值,就会造成无法上传,显示IO error错误. 如何解决这个问题呢?我们需要更改两个配置: 1.  ngin ...

  4. 使用python操作文件实现购物车程序

    使用python操作文件实现购物车程序 题目要求如下: 实现思路 始终维护一张字典,该字典里保存有用户账号密码,购物车记录等信息.在程序开始的时候读进来,程序结束的时候写回文件里去.在登录注册的部分, ...

  5. iOS App 上架(Analysis 工具使用)

    随着iOS开发的流行,针对iOS开发涉及的方方面面,早有一些公司提供了专门的解决方案或工具.这些解决方案或工具包括:用户行为统计工具(友盟,Flurry,Google Analytics等), App ...

  6. Creating an generated Earth AVI with C++

    Creating an generated Earth AVI with C++        EarthGenerator.cpp /*    EarthGenerator.cpp An examp ...

  7. java Object转换成指定的类型

    java Object转换成指定的类型 /** * Object转成指定的类型 * @param obj * @param type * @param <T> * @return */ p ...

  8. 最值得阅读学习的 10 个 C 语言开源项目代码

    1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连 ...

  9. Flash Builder4注册机

    我的Eclipse下的Flash Builder 4正式版已经过期,之前在网上找到的注册码,都不能用了, 花了很久时间,才找到这个注册机. Flash Builder 4 注册机 Serial Cra ...

  10. Greatest Common Increasing Subsequence

    /*HDU1423 最长公共递增*/ #include <stdio.h> #include <string.h> #include <iostream> usin ...