门:使用 groovy 将门导出到 csv 文件
gate: exporting gate to csv file with groovy
我希望有人能帮助我并告诉我我做错了什么。提前致谢。
我正在 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:没有这样的 属性:class 的文档:ConsoleScript0
at ConsoleScript0$_run_closure1.doCall(ConsoleScript0:2)
at ConsoleScript0.run(ConsoleScript0:1)
at gate.groovy.GroovySupport.run(GroovySupport.java:134)
我看到您正在使用 GATE groovy recipes 中的第一个示例。
问题是您在 groovy 控制台中 运行 设置您的代码。它应该是 运行 作为管道的一部分。将您的脚本保存在 groovy 文件中并将其加载到 groovy PR 中。
根据 groovy PR 中的 the docs,您有变量 inputAS、outputAS、doc、corpus 等
另一方面,在 groovy 控制台中,您有 "docs" 变量,因此您可以执行以下操作:
docs.each{doc ->
doc.getAnnotations().each ...
我希望有人能帮助我并告诉我我做错了什么。提前致谢。
我正在 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:没有这样的 属性:class 的文档:ConsoleScript0
at ConsoleScript0$_run_closure1.doCall(ConsoleScript0:2)
at ConsoleScript0.run(ConsoleScript0:1)
at gate.groovy.GroovySupport.run(GroovySupport.java:134)
我看到您正在使用 GATE groovy recipes 中的第一个示例。
问题是您在 groovy 控制台中 运行 设置您的代码。它应该是 运行 作为管道的一部分。将您的脚本保存在 groovy 文件中并将其加载到 groovy PR 中。
根据 groovy PR 中的 the docs,您有变量 inputAS、outputAS、doc、corpus 等
另一方面,在 groovy 控制台中,您有 "docs" 变量,因此您可以执行以下操作:
docs.each{doc ->
doc.getAnnotations().each ...