Berkeley parser使用方法
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使用方法的更多相关文章
- 使用Berkeley Parser进行句法分析
一.句法分析 1.定义 句法分析判断输入的单词序列(一般为句子)的构成是否合乎给定的语法,并通过构造句法树来确定句子的结构以及各层次句法成分之间的关系,即确定一个句子中的哪些词构成一个短语,哪些词是动 ...
- 使用Stanford Parser进行句法分析
一.句法分析 1.定义 句法分析判断输入的单词序列(一般为句子)的构成是否合乎给定的语法,并通过构造句法树来确定句子的结构以及各层次句法成分之间的关系,即确定一个句子中的哪些词构成一个短语,哪些词是动 ...
- XML解析之DOM详解及与SAX解析方法的比较
XML解析(DOM) XML文件解析方法介绍 我们所用到的NSXMLParser是采用SAX方法解析 SAX(Simple API for XML) 只能读,不能修改,只能顺序访问,适合解析大型XML ...
- Python中optionParser模块的使用方法[转]
本文以实例形式较为详尽的讲述了Python中optionParser模块的使用方法,对于深入学习Python有很好的借鉴价值.分享给大家供大家参考之用.具体分析如下: 一般来说,Python中有两个内 ...
- 转-Python optionParser模块的使用方法
Python 有两个内建的模块用于处理命令行参数: 一个是 getopt,<Deep in python>一书中也有提到,只能简单处理 命令行参数: 另一个是 optparse,它功 ...
- python获取命令行参数的方法(汇总)
介绍python获取命令行参数的方法:getopt模和argparse模块. python版本:2.7 一.getopt模块 主要用到了模块中的函数: options, args = getopt.g ...
- Python中的option Parser
一般来说,Python中有两个内建的模块用于处理命令行参数: 一个是 getopt,<Deep in python>一书中也有提到,只能简单处理 命令行参数: 另一个是 optparse, ...
- Stanford CoreNLP 3.6.0 中文指代消解模块调用失败的解决方案
当前中文指代消解领域比较活跃的研究者是Chen和Vincent Ng,这两个人近两年在AAAI2014, 2015发了一些相关的文章,研究领域跨越零指代.代词指代.名词指代等,方法也不是很复杂,集中于 ...
- 浅谈 LayoutInflater
浅谈 LayoutInflater 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/View 文中如有纰漏,欢迎大家留言指出. 在 Android 的 ...
随机推荐
- jumpserver(0.3.2版本)开源跳板机系统部署
1. 介绍 JumpServer亮点: 集成Ansible,批量执行命令: 支持WebTerminal wiki地址:https://github.com/jumpserver/jumpserver/ ...
- 【react路由】react 路由被自动加了个#
路由自动加#是由hashhistory造成: https://segmentfault.com/q/1010000012097148 单页面应用 前端跳转 or 服务器跳转: https://my.o ...
- Spark Standalone Mode 单机启动Spark -- 分布式计算系统spark学习(一)
spark是个啥? Spark是一个通用的并行计算框架,由UCBerkeley的AMP实验室开发. Spark和Hadoop有什么不同呢? Spark是基于map reduce算法实现的分布式计算,拥 ...
- BDC批量修改物料描述
一.定义变量 type-POOLs:TRUXS,slis. TYPES: BEGIN OF ty_input , matnr TYPE mara-matnr , " 物料号 maktx TY ...
- BlueZ
一.BlueZ在ubuntu PC上的基础应用 1.bluez的安装及基本功能 dong@ubuntu:~/bluez$ lsbluez-5.47.tar.xz SPP-loopback.pydo ...
- 在PL/SQL中如何让程序暂停几秒钟
在编写PL/SQL中,有时需要程序中暂停几秒钟再继续执行,查了一下,oracle内置有这个功能dbms_lock.sleep(10):不过dbms_lock包需要用户自己安装,演示如下: C:\Doc ...
- boost单元测试框架
头文件: #include <boost/test/unit_test.hpp> 编译加:-lboost_unit_test_framework 单元测试: 需要定义BOOST_TEST_ ...
- Embedding SQLite in a c programm
Embedding SQLite in a c programm The following program demonstrates how to embed SQLite into ...
- zen-cart安装出现时区错误解决办法
有时候在安装zen-cart的时候出现时区错误,提示: ERROR: date.timezone not set in php.ini. Please contact your hosting com ...
- Linux系统——vim编辑器
一.Linux系统中最常用的文本编辑器 vi:类Unix系统中默认的文本编辑器 vim:vi编辑器的增强版 作用:创建或修改文本文件:维护Linux系统中各种配置文件 二.三种切换模式命令模式输入模式 ...