문제

I'm using Win7 x64 system. I pointed MiniparBinaryFile to the exe file in gate/plugin/parser-minipar and MiniparDataDir to the data folder under the extracted minipar-0.5-windows32.

Gate launches to run the minipar but there is no more activity after launched. I have to kill the minipar-windows32.exe process.

What is the right way to use it?

cheers

Matt

----Update----

Thanks for Ian's suggestion, here is a cut of a VisualVM dump, Hope it's the correct part:

 
"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

=====update 2======

thanks the active development society, I installed the new version(Snapshot 4586) in a few hours.

Now it works!

however, I encountered another small problem. gate reports error when processing the following sentence "Batten disease (also known as Spielmeyer-Vogt-Sjögren-Batten disease ) is a rare, fatal autosomal recessive neurodegenerative disorder that begins in childhood." (a wiki article) In the Annotation view, I see the minipar annotated the sentence untill the uncommen character ö. So, is there a way to skip these?

In Messages Tab, it reprots:


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)

Thanks again!

도움이 되었습니까?

해결책

This was caused by a bug in the Minipar wrapper PR, attempting to read from the external minipar process's "error stream" in the wrong thread. This should be fixed in subversion (revision 16615) and is now in the nightly build.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top