gate:使用groovy将gate导出到csv文件

时间:2018-07-25 23:01:52

标签: csv groovy gate

我希望有人能帮助我,告诉我我做错了什么。预先感谢。

我正在gate的groovy控制台上执行此脚本

new File("../outfile.csv").withWriterAppend{ out ->doc.getAnnotations().each {anno ->
  if( anno.getFeatures() )
    anno.getFeatures().each{ fName, fValue ->
      out.writeLine(/"${doc.getName()}","${anno.getType()}","${doc.stringFor(anno)}",${anno.start()},${anno.end()},"${fName}","${fValue}"/)
    }
  else
    out.writeLine(/"${doc.getName()}","${anno.getType()}","${doc.stringFor(anno)}",${anno.start()},${anno.end()},,/)        
}}

但我对此异常有所了解

groovy.lang.MissingPropertyException:无此类属性:类Doc的文档:ConsoleScript0

at ConsoleScript0$_run_closure1.doCall(ConsoleScript0:2)

at ConsoleScript0.run(ConsoleScript0:1)

at gate.groovy.GroovySupport$1$1$1.run(GroovySupport.java:134)

1 个答案:

答案 0 :(得分:1)

我看到您正在使用GATE groovy recipes中的第一个示例。

问题是您正在groovy控制台中运行代码。它应作为管道的一部分运行。将脚本保存在groovy文件中,然后将其加载到groovy PR中。

根据常规PR中的the docs,您具有变量inputAS,outputAS,doc,语料库等。

另一方面,在groovy控制台中,您具有“ docs”变量,因此您可以执行以下操作:

docs.each{doc ->
  doc.getAnnotations().each ...