Menu

CCGbank parsing error

Help
Zhao Meng
2016-07-18
2016-07-18
  • Zhao Meng

    Zhao Meng - 2016-07-18

    Sorry to bother.

    I was following the "ccgbank-README" file when I encoutered a "java.lang.NoClassDefFoundError" error. The command I execute is:

    $ ccg-build -f build-ps.xml test-novel &> logs/log.ps.test.novel &
    

    which is the exact command in the "ccgbank-README". However, the java program just ran a few seconds before it stopped. The log file "log.ps.test.novel" is as follows:

    Buildfile: /home/zhao/openccg/ccgbank/build-ps.xml
    
    init:
    
    prepare-novel-dir:
        [mkdir] Created dir: /home/zhao/openccg/ccgbank/data/novel/two-sents.dir
    
    check-for-tok:
    
    prepare-novel-text:
         [exec] Result: 1
    
    check-truecased-text:
    
    truecase-text:
         [echo] Truecasing text for NER tagging into file ./data/novel/two-sents.dir/truecased-text
    
    check-for-ner:
    
    ner-tag-text:
         [echo] NER tagging into file ./data/novel/two-sents.dir/nertext
         [echo] Models: ./stanford-nlp/classifiers/english.all.3class.distsim.crf.ser.gz , ./stanford-nlp/classifiers/english.muc.7class.distsim.crf.ser.gz, ./stanford-nlp/classifiers/english.conll.4class.distsim.crf.ser.gz
         [java] java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
         [java]     at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:194)
         [java]     at org.apache.tools.ant.taskdefs.Java.run(Java.java:771)
         [java]     at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:221)
         [java]     at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:135)
         [java]     at org.apache.tools.ant.taskdefs.Java.execute(Java.java:108)
         [java]     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
         [java]     at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
         [java]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
         [java]     at java.lang.reflect.Method.invoke(Method.java:498)
         [java]     at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
         [java]     at org.apache.tools.ant.Task.perform(Task.java:348)
         [java]     at org.apache.tools.ant.Target.execute(Target.java:435)
         [java]     at org.apache.tools.ant.Target.performTasks(Target.java:456)
         [java]     at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)
         [java]     at org.apache.tools.ant.Project.executeTarget(Project.java:1364)
         [java]     at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
         [java]     at org.apache.tools.ant.Project.executeTargets(Project.java:1248)
         [java]     at org.apache.tools.ant.Main.runBuild(Main.java:851)
         [java]     at org.apache.tools.ant.Main.startAnt(Main.java:235)
         [java]     at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
         [java]     at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
         [java] Caused by: java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
         [java]     at edu.stanford.nlp.io.IOUtils.<clinit>(IOUtils.java:42)
         [java]     at edu.stanford.nlp.ie.AbstractSequenceClassifier.loadClassifier(AbstractSequenceClassifier.java:1484)
         [java]     at edu.stanford.nlp.ie.crf.CRFClassifier.getClassifier(CRFClassifier.java:2961)
         [java]     at edu.stanford.nlp.ie.ClassifierCombiner.loadClassifierFromPath(ClassifierCombiner.java:278)
         [java]     at edu.stanford.nlp.ie.ClassifierCombiner.loadClassifiers(ClassifierCombiner.java:262)
         [java]     at edu.stanford.nlp.ie.ClassifierCombiner.<init>(ClassifierCombiner.java:137)
         [java]     at edu.stanford.nlp.ie.ClassifierCombiner.<init>(ClassifierCombiner.java:150)
         [java]     at edu.stanford.nlp.ie.ClassifierCombiner.<init>(ClassifierCombiner.java:159)
         [java]     at edu.stanford.nlp.ie.NERClassifierCombiner.<init>(NERClassifierCombiner.java:69)
         [java]     at nerapp.NERApp.main(Unknown Source)
         [java]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         [java]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
         [java]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
         [java]     at java.lang.reflect.Method.invoke(Method.java:498)
         [java]     at org.apache.tools.ant.taskdefs.ExecuteJava.run(ExecuteJava.java:217)
         [java]     at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:152)
         [java]     ... 20 more
         [java] Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
         [java]     at org.apache.tools.ant.AntClassLoader.findClassInComponents(AntClassLoader.java:1366)
         [java]     at org.apache.tools.ant.AntClassLoader.findClass(AntClassLoader.java:1315)
         [java]     at org.apache.tools.ant.AntClassLoader.loadClass(AntClassLoader.java:1074)
         [java]     at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
         [java]     ... 36 more
         [java] Java Result: -1
         [exec] Failed to open /home/zhao/openccg/ccgbank/data/novel/two-sents.dir/nertext.raw
       [delete] Deleting: /home/zhao/openccg/ccgbank/data/novel/two-sents.dir/tmplogf
    
    check-for-pos-prep:
    
    postag-prep:
    
    check-novel-pos-tags:
    
    postag-novel:
         [echo] POS tagging novel sentences to ./data/novel/two-sents.dir/pos
    
    check-merged-ne-pos:
    
    merge-ne-pos:
         [echo] Merging POS-tagged words and NE-labelled words for morph file creation
    
    check-novel-morph-xml:
    
    make-novel-morph-xml:
         [echo] Sorting and stemming to ./data/novel/two-sents.dir/morph
       [delete] Deleting: /home/zhao/openccg/ccgbank/data/novel/two-sents.dir/tmplogf
    
    copy-train-grammar-novel:
         [echo] Copying training grammar with cutoffs and other miscellanea to ./data/novel/two-sents.dir/extract/
         [copy] Copying 4 files to /home/zhao/openccg/ccgbank/data/novel/two-sents.dir/extract
         [copy] Copying 4 files to /home/zhao/openccg/ccgbank/data/novel/two-sents.dir/extract
         [copy] Copying 1 file to /home/zhao/openccg/ccgbank/data/novel/two-sents.dir/extract/info
    
    merge-novel-morph-xml:
         [echo] Merging training morph (with cutoffs) and novel morph to ./data/novel/two-sents.dir/extract/morph.xml
         [xslt] Processing /home/zhao/openccg/ccgbank/extract/grammars/train-cfc10/morph.xml to /home/zhao/openccg/ccgbank/data/novel/two-sents.dir/extract/morph.xml
         [xslt] Loading stylesheet /home/zhao/openccg/ccgbank/templates/mergeMorph.xsl
    
    check-test-parser-novel:
    
    test-parser-novel:
         [echo] Loading parse.prefs
         [echo] Parsing ./data/novel/two-sents.dir/nertext-nolabs to ./data/novel/two-sents.dir/tb.xml
    
    test-novel:
    
    BUILD SUCCESSFUL
    Total time: 16 seconds
    

    I found these things in the parse.log file, which is in the directory "two-sents.dir":

    Skipping family: np_~1\np_1/*punct[,]/*
    java.util.NoSuchElementException
    
     
  • Michael White

    Michael White - 2016-07-18

    This looks like a Stanford CoreNLP installation or configuration issue. OpenCCG has been most extensively tested with Stanford CoreNLP version 1.3.4 (http://stanfordnlp.github.io/CoreNLP/history.html). I know that various versions have been used successfully since then but there could be issues with using the very latest version, so the simplest solution may simply be to try an older version of Stanford CoreNLP.

    In this log file, it looks like the prepare-novel-text target did not finish successfully. The problem with the ner-tag-text target is evidently that the org.slf4j library cannot be found, which I suspect was not used in earlier versions of Stanford CoreNLP. This issue might be easy to resolve by updating the classpath used by the openccg tools in bin/ccg-env.

    The "Skipping family" warnings can be ignored.

     
    • Zhao Meng

      Zhao Meng - 2016-07-18

      Thanks a lot. I solve this by replacing with the old version of Stanford CoreNLP.

       

Log in to post a comment.