使用Berkeley Parser进行句法分析
一、句法分析
1、定义
句法分析判断输入的单词序列(一般为句子)的构成是否合乎给定的语法,并通过构造句法树来确定句子的结构以及各层次句法成分之间的关系,即确定一个句子中的哪些词构成一个短语,哪些词是动词的主语或宾语等问题。
2、主流技术
基于统计的方法是现阶段句法分析的主流技术。常见的概率句法分析模型包括概率上下文无关模型、基于历史的句法分析模型、层次化渐进式的句法分析模型和中心词驱动的句法分析模型。综合多种模型而实现的句法分析器种类繁多,目前在开源中文句法分析器中比较具有代表性有Stanford parser和 Berkeley parser。前者基于因子模型,后者基于非词汇化分析模型。
3、应用领域
随着自然语言应用的日益广泛,特别是对文本处理需求的进一步增加,句法分析的作用愈加突出,它在机器翻译、信息检索与抽取、问答系统、语音识别等研究领域中都有重要的应用价值。
二、Berkeley Parser
1、简介
Berkeley Parser是由伯克利大学自然语言处理小组开发的开源句法分析器,目前支持的语种主要有英文、中文、德文、阿拉伯文、保加利亚文、法文等。
2、特点
1) Berkeley Parser是一个纯粹的基于 PCFG的句法分析器,只能进行成分句法分析。
2) 分析器的输入形式可以文件为单位 (每行一个句子),分析完成后得到的输出文件中包含了输入文件中所有句子的句法分析结果。
3) 默认的分析结果输出形式是文本,但为了让分析结果更加直观,可以设置程序的输出形式为句法分析树图像。
4) 可指定输出基于一个句子的排名前 n的句法分析树及每棵树的概率值。
5) 分析器提供了用于读取标准树库的代码,可基于用户指定的树库来训练新的文法。
6) 支持多线程分析,在多处理机系统上能获得更高的句法分析性能。
7) 由于分析器不含分词功能,所以必须先借助外部分词工具来进行分词,再将经过预处理的分词结果串作为句法分析器的输入。
三、使用Berkeley Parser教程——命令行中运行
1. 在Berkeley Parser的github上找到Berkeley Parser的jar包和模型文件并下载。(https://github.com/slavpetrov/berkeleyparser)
2. 一个简易的Berkeley Parser工具只需要包含:
①berkeleyParser.jar
②模板文件:中文为chn_sm5.gr,英文为eng_sm6.gr
③输入文件
3. 分析器不含分词功能,所以必须先借助外部分词工具来进行分词,再将经过预处理的分词结果串作为句法分析器的输入。
4. 进行parse之前需要将分词文本中的英文小括号”(“ 和“)”分别转化为”-LRB-”和”-RRB-”。Berkeley parser不能自动的进行这样的转化。中文parser输入输出标记不能用参数-inputFile和-outputFile,必须用”<”和”>”指定,否则会出现乱码问题。
5. 基本命令:
①打印parser的所有选项:
输入:
输出:
②对英文句子进行句法分析:
输入:
③对中文句子进行句法分析:
输入: 
(参数解释:-mx1g 给java虚拟机分配的最大内存为1)
四、使用Berkeley Parser实例
1、中文句法分析
(1)分词包:BerkeleyParser-1.7.jar
(2)输入文件:chinese-ansi-input.txt(ANSI编码)
(3)待分析的句子:中国 的 神威 太湖 之 光 计算机 被 用于 天气 预报 、 制药 研究 和 工业 设计 等 领域 。
(4)使用模板文件:chn_sm5.gr
(5)输出结果到文件:chinese-output.txt
(6)命令行运行的代码:

(7)输出文件的内容:

2、英文句法分析
(1)分词包:BerkeleyParser-1.7.jar
(2)输入文件:english-input.txt(UTF8编码)
(3)待分析的句子:One meets its destiny on the road he takes to avoid it.
(4)使用模板文件:eng_sm6.gr
(5)输出结果到文件:english-output.txt
(6)命令行运行的代码:

(7)输出文件的内容:

参考资料
【1】文献《大规模语料库上的Stanford和Berkeley句法分析器性能对比分析》项炜,金澎;
【2】Berkeley parser -《句法分析工具指南(parser guideline) 》- http://3y.uu456.com/bp-8d672929ed630b1c59eeb595-1.html
参考文件


使用Berkeley Parser进行句法分析的更多相关文章
- Berkeley parser使用方法
1. 简介 Berkeley Parser 是加州大学伯克利分校 NLP 实验室开发的一种基于概率上下文无关文法(PCFG)的成分句法分析器,支持英语,汉语,德语等多个语种,它具有较高的句法分析性能 ...
- 使用Stanford Parser进行句法分析
一.句法分析 1.定义 句法分析判断输入的单词序列(一般为句子)的构成是否合乎给定的语法,并通过构造句法树来确定句子的结构以及各层次句法成分之间的关系,即确定一个句子中的哪些词构成一个短语,哪些词是动 ...
- 我的nlp之路(1)
1/8日任务 基础篇: 如何使用远程连接从windows或者linux连到服务器进行操作(切换用户,传递文件) (严禁使用root账户) Linux基本bash命令 a) 查看文件大小, ...
- Stanford CoreNLP 3.6.0 中文指代消解模块调用失败的解决方案
当前中文指代消解领域比较活跃的研究者是Chen和Vincent Ng,这两个人近两年在AAAI2014, 2015发了一些相关的文章,研究领域跨越零指代.代词指代.名词指代等,方法也不是很复杂,集中于 ...
- Measuring Text Difficulty Using Parse-Tree Frequency
https://nlp.lab.arizona.edu/sites/nlp.lab.arizona.edu/files/Kauchak-Leroy-Hogue-JASIST-2017.pdf In p ...
- NLP常用开源/免费工具
一些常见的NLP任务的开源/免费工具, *Computational Linguistics ToolboxCLT http://complingone.georgetown.edu/~linguis ...
- Stanford parser学习:LexicalizedParser类分析
上次(http://www.cnblogs.com/stGeekpower/p/3457746.html)主要是对应于javadoc写了下LexicalizedParser类main函数的功能,这次看 ...
- parsing:NLP之chart parser句法分析器
已迁移到我新博客,阅读体验更佳parsing:NLP之chart parser句法分析器 完整代码实现放在我的github上:click me 一.任务要求 实现一个基于简单英语语法的chart句法分 ...
- 哈工大LTP语言分析:分词、词性标注、句法分析等
1. LTP介绍和安装 LTP语言云官网 在线演示 | 语言云(语言技术平台云 LTP-Cloud) 安装LTP的python接口包 $ sudo pip install pyltp 模型文件下载 ...
随机推荐
- cocos2dx触摸
两种方法其实都一样,CCLayer也是继承CCTouchDelegate. 1.继承CCTouchDelegate 添加触摸代理 CCTouchDispatcher* pDispatcher = CC ...
- SockIOPool
1. SockIOPool – SockIO池化管理,为上层提供的接口是实例化函数[主要是指定memcached服务器地址,各个机器的权重]:根据key&hashCode获取SockIO-网络 ...
- modbus学习
- httpd-2.2.22安装
cgi部分共分三部分:html,cgi和服务器(httpd). 首先介绍httpd安装: 1. 软件包:httpd-2.2.22.tar.gz 系统:3.8.0-44-generic #66~pre ...
- C# mvc中动态压缩文件发送给前端
前言 帮朋友解决一个C#中发送压缩文件的的问题,因为感觉解释起来更麻烦,就直接用几分钟时间写了个小Demo.本着"走过路过"不错过的原则,也给记录一下. 1.前端代码 非常简单的一 ...
- 对Linux命令进一步学习vim(二)
今天,进一步学习Linux相关的命令,可能会有重复的地方,但学习本来就是不断重复的过程.故作小记! 1.安装了:vim ,,,一款Linux爱好者经常用到的ide sudo apt-get inst ...
- 【Raspberry Pi】DHT11 温度湿度传感器数据读取
时序图参考厂家说明书:DHT11数字湿温度传感器的原理和应用范例 四个阵脚连接:VCC接3.3伏电源,Dout接GPIO口,我接的是物理12针脚,NC留空,GND接地. 波折1:电阻被错接进了VCC, ...
- Unity3D必备知识: 物理学公式
一.质点的运动(1)——直线运动 1)匀变速直线运动 1.平均速度V=s/t(定义式) 2.有用推论Vt*Vt-Vo*Vo=2as 3.中间时刻速度Vt/2=V平=(Vt+Vo)/2 4.末速度Vt= ...
- because it violates the following Content Security Policy directive: "default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'". Note that 'script-src' was not explicitly set, so 'default-s
html文件 修改成如下:<meta http-equiv="Content-Security-Policy" content="default-src *; st ...
- MVC 多种 数据验证 post
技术:c# .net 采用mvc框架,实现model的数据验证. 刚开始觉得数据验证很方便,可以判断非空.数据正确性,但是后来发现很多需要数据库的判定还是需要post请求做,但是就想mvc的数据验证 ...