Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何解决Stanford Charniak解析器依赖关系_Java_Stanford Nlp_Charniak Parser - Fatal编程技术网

Java 如何解决Stanford Charniak解析器依赖关系

Java 如何解决Stanford Charniak解析器依赖关系,java,stanford-nlp,charniak-parser,Java,Stanford Nlp,Charniak Parser,我正在尝试运行stanford-corenlp-1.3.5.jar中提供的Charniak解析器。记录的包是edu.stanford.nlp.parser.charniak和类CharniakParser 因此,我将给出一个代码示例,说明我如何仅为了完整性而尝试使用它: CharniakParser cp = new CharniakParser(); PTBTokenizer<HasWord> ptbt = new PTBTokenizer(new FileReader("samp

我正在尝试运行
stanford-corenlp-1.3.5.jar
中提供的Charniak解析器。记录的包是
edu.stanford.nlp.parser.charniak
和类
CharniakParser

因此,我将给出一个代码示例,说明我如何仅为了完整性而尝试使用它:

CharniakParser cp = new CharniakParser();
PTBTokenizer<HasWord> ptbt = new PTBTokenizer(new FileReader("sample1.txt"), new WordTokenFactory(), "");
List<Word> tokens = new ArrayList<Word>();
for (Word token; ptbt.hasNext(); ) {
    token = (Word) ptbt.next();
    tokens.add(token);
}
Tree t = cp.getBarseParse(tokens);
CharniakParser cp=new CharniakParser();
PTBTokenizer ptbt=新的PTBTokenizer(新的文件读取器(“sample1.txt”),新的WordTokenFactory(),“”);
List tokens=new ArrayList();
for(单词标记;ptbt.hasNext();){
token=(Word)ptbt.next();
令牌。添加(令牌);
}
树t=cp.getBarseParse(令牌);
在运行代码的最后一行,我得到

无法运行程序/u/nlp/packages/bllip parser/reranking parser.sh”。。。系统找不到指定的文件

问题是用户也找不到指定的文件。我看不到发行版中包含了该名称,也找不到可能需要使用该名称下载的依赖项。谷歌搜索显示,“reranking parser.sh”唯一存在的地方是斯坦福版Charniak parser的实际源代码(我正努力澄清,因为我知道斯坦福最初并没有创建Charniak parser,它来自布朗)


那么,有没有人有使用这个解析器的经验?少了什么?我更喜欢这样的机会,所以我在这里问。

好吧,好吧,@DMoses等人。我订阅了邮件列表,我得到了需要做什么的答案。因此,让我把它作为未来访客的答案传递给他们,因为它没有文档记录(直到现在):

文件
reranking parser.sh
属于Charniak解析器的特定版本。因此,您需要获得github上的解析器版本,称为“bllip解析器”。CoreNLP中没有对Charniak解析器的官方支持,提供的功能也不是独立的,而是一个学生扩展,用于与github的外部解析器一起工作


一个相当简单的过程,它指向C++可执行文件,但这对我来说不起作用,因为在这一点上,我将使用Python调用java调用C++。

不幸的是,它中有一个硬编码的路径。要使用解析器,您可能需要编辑指向它的源代码(需要从Stanford CoreNLP单独下载,请参阅第二个链接中的BLLIP parser GitHub项目)。

介意为它创建一个短标记wiki吗?这是一个很好的标签,只是不太能自我描述。@Telthien是的,实际上我忘了。。。谢谢,我会的。我想这页底部的邮件列表会对你有更多帮助。