为什么门口的Minipar会永远运行?

时间:2013-03-22 09:18:12

标签: gate

我正在使用Win7 x64系统。 我将MiniparBinaryFile指向gate / plugin / parser-minipar中的exe文件,将MiniparDataDir指向提取的minipar-0.5-windows32下的数据文件夹。

Gate启动以运行minipar但启动后没有更多活动。我必须杀死minipar-windows32.exe进程。

使用它的正确方法是什么?

欢呼声

马特

---- ----更新

感谢Ian的建议,这里是一个VisualVM转储的剪辑,希望它是正确的部分:

 
"ApplicationViewer1" prio=2 tid=0x000000000c0ad000 nid=0x1fb8 runnable [0x000000000f39e000]
   java.lang.Thread.State: RUNNABLE
    at java.io.FileInputStream.readBytes(Native Method)
    at java.io.FileInputStream.read(Unknown Source)
    at sun.nio.cs.StreamDecoder.readBytes(Unknown Source)
    at sun.nio.cs.StreamDecoder.implRead(Unknown Source)
    at sun.nio.cs.StreamDecoder.read(Unknown Source)
    - locked  (a java.io.InputStreamReader)
    at java.io.InputStreamReader.read(Unknown Source)
    at java.io.BufferedReader.fill(Unknown Source)
    at java.io.BufferedReader.read(Unknown Source)
    - locked  (a java.io.InputStreamReader)
    at gate.util.BomStrippingInputStreamReader.stripBomIfPresent(BomStrippingInputStreamReader.java:93)
    at gate.util.BomStrippingInputStreamReader.(BomStrippingInputStreamReader.java:78)
    at gate.util.BomStrippingInputStreamReader.(BomStrippingInputStreamReader.java:45)
    at minipar.Minipar.runMinipar(Minipar.java:276)
    at minipar.Minipar.execute(Minipar.java:518)
    at gate.util.Benchmark.executeWithBenchmarking(Benchmark.java:291)
    at gate.creole.ConditionalSerialController.runComponent(ConditionalSerialController.java:154)
    at gate.creole.SerialController.executeImpl(SerialController.java:153)
    at gate.creole.ConditionalSerialAnalyserController.executeImpl(ConditionalSerialAnalyserController.java:129)
    at gate.creole.AbstractController.execute(AbstractController.java:75)
    at gate.util.Benchmark.executeWithBenchmarking(Benchmark.java:291)
    at gate.gui.SerialControllerEditor$RunAction$1.run(SerialControllerEditor.java:1619)
    at java.lang.Thread.run(Unknown Source)

   Locked ownable synchronizers:
    - None

=====更新2 ======

感谢积极的发展社会,我在几个小时内安装了新版本(Snapshot 4586)。

现在它有效!

然而,我遇到了另一个小问题。 当处理以下句子时,门报告错误“Batten disease(也称为Spielmeyer-Vogt-Sjögren-Batten病)是一种罕见的,致命的常染色体隐性遗传性神经退行性疾病,始于儿童时期。” (维基文章) 在Annotation视图中,我看到minipar注释了句子,直到uncommen字符ö。 那么,有没有办法跳过这些?

在“消息”选项卡中,它重新打印:


gate.util.InvalidOffsetException
    at gate.annotation.AnnotationSetImpl.getNodes(AnnotationSetImpl.java:773)
    at gate.annotation.AnnotationSetImpl.add(AnnotationSetImpl.java:802)
    at minipar.Minipar.runMinipar(Minipar.java:419)
    at minipar.Minipar.execute(Minipar.java:527)
    at gate.util.Benchmark.executeWithBenchmarking(Benchmark.java:291)
    at gate.creole.ConditionalSerialController.runComponent(ConditionalSerialController.java:154)
    at gate.creole.SerialController.executeImpl(SerialController.java:153)
    at gate.creole.ConditionalSerialAnalyserController.executeImpl(ConditionalSerialAnalyserController.java:129)
    at gate.creole.AbstractController.execute(AbstractController.java:75)
    at gate.util.Benchmark.executeWithBenchmarking(Benchmark.java:291)
    at gate.gui.SerialControllerEditor$RunAction$1.run(SerialControllerEditor.java:1619)
    at java.lang.Thread.run(Unknown Source)
gate.creole.ExecutionException: gate.util.InvalidOffsetException
    at minipar.Minipar.runMinipar(Minipar.java:491)
    at minipar.Minipar.execute(Minipar.java:527)
    at gate.util.Benchmark.executeWithBenchmarking(Benchmark.java:291)
    at gate.creole.ConditionalSerialController.runComponent(ConditionalSerialController.java:154)
    at gate.creole.SerialController.executeImpl(SerialController.java:153)
    at gate.creole.ConditionalSerialAnalyserController.executeImpl(ConditionalSerialAnalyserController.java:129)
    at gate.creole.AbstractController.execute(AbstractController.java:75)
    at gate.util.Benchmark.executeWithBenchmarking(Benchmark.java:291)
    at gate.gui.SerialControllerEditor$RunAction$1.run(SerialControllerEditor.java:1619)
    at java.lang.Thread.run(Unknown Source)
Caused by: gate.util.InvalidOffsetException
    at gate.annotation.AnnotationSetImpl.getNodes(AnnotationSetImpl.java:773)
    at gate.annotation.AnnotationSetImpl.add(AnnotationSetImpl.java:802)
    at minipar.Minipar.runMinipar(Minipar.java:419)
    ... 9 more
gate.creole.ExecutionException: Document doesn't have sentence annotations. please run tokenizer, sentence splitter and then Minipar
    at minipar.Minipar.saveGateSentences(Minipar.java:194)
    at minipar.Minipar.execute(Minipar.java:525)
    at gate.util.Benchmark.executeWithBenchmarking(Benchmark.java:291)
    at gate.creole.ConditionalSerialController.runComponent(ConditionalSerialController.java:154)
    at gate.creole.SerialController.executeImpl(SerialController.java:153)
    at gate.creole.ConditionalSerialAnalyserController.executeImpl(ConditionalSerialAnalyserController.java:129)
    at gate.creole.AbstractController.execute(AbstractController.java:75)
    at gate.util.Benchmark.executeWithBenchmarking(Benchmark.java:291)
    at gate.gui.SerialControllerEditor$RunAction$1.run(SerialControllerEditor.java:1619)
    at java.lang.Thread.run(Unknown Source)

再次感谢!

1 个答案:

答案 0 :(得分:1)

这是由Minipar包装器PR中的一个错误导致的,试图从错误的线程中读取外部minipar进程的“错误流”。这应该在subversion(revision 16615)中修复,现在位于nightly build