Skip to content

Commit

Permalink
More fixes & tests
Browse files Browse the repository at this point in the history
  • Loading branch information
Manuel Stoeckel committed Nov 25, 2019
1 parent 2676933 commit 56bab47
Show file tree
Hide file tree
Showing 4 changed files with 44 additions and 10 deletions.
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

<groupId>org.hucompute.textimager.uima</groupId>
<artifactId>deep-eos-uima</artifactId>
<version>1.1.1</version>
<version>1.1.2</version>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
Expand Down
5 changes: 3 additions & 2 deletions src/main/java/org/biofid/deep_eos/DeepEosTagger.java
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
import java.util.Arrays;
import java.util.Objects;
import java.util.Properties;
import java.util.regex.Pattern;

/**
* Created on 09.10.19.
Expand Down Expand Up @@ -109,7 +110,7 @@ public void process(CAS cas) throws AnalysisEngineProcessException {
Sentence sentence = new Sentence(jCas, begin, Math.toIntExact(end) + 1);
sentence.setId(String.valueOf(i));
jCas.addFsToIndexes(sentence);
begin = Math.toIntExact(end) + 1;
begin = Math.toIntExact(end) + 2;
}
Sentence sentence = new Sentence(jCas, begin, jCas.getDocumentText().length());
sentence.setId(String.valueOf(result.size()));
Expand All @@ -119,7 +120,7 @@ public void process(CAS cas) throws AnalysisEngineProcessException {
System.out.println();
for (Sentence sent : JCasUtil.select(jCas, Sentence.class)) {
System.out.print(sent);
System.out.println(" text:" + sent.getCoveredText());
System.out.println(" text: \"" + sent.getCoveredText() + "\"");
}
}
} catch (JepException | ClassCastException e) {
Expand Down
2 changes: 1 addition & 1 deletion src/main/resources/python/model.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ def tag(self, text) -> List[int]:
features = np.array([i[1] for i in data_set])

predicted = self.deep_eos_model.predict(features)
for j in range(predicted.shape[0]):
for j in range(len(predicted) if type(predicted) is list else predicted.shape[0]):
if predicted[j][0] >= 0.5:
eos_pos.append(int(eos_positions[j]))

Expand Down
45 changes: 39 additions & 6 deletions src/test/java/TestDeepEosTagger.java
Original file line number Diff line number Diff line change
@@ -1,23 +1,56 @@
import de.tudarmstadt.ukp.dkpro.core.api.segmentation.type.Sentence;
import org.apache.uima.UIMAException;
import org.apache.uima.analysis_engine.AnalysisEngine;
import org.apache.uima.fit.factory.AnalysisEngineFactory;
import org.apache.uima.fit.factory.JCasFactory;
import org.apache.uima.fit.pipeline.SimplePipeline;
import org.apache.uima.fit.util.JCasUtil;
import org.apache.uima.jcas.JCas;
import org.apache.uima.resource.ResourceInitializationException;
import org.biofid.deep_eos.DeepEosTagger;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;

/**
* Created on 09.10.19.
*/
public class TestDeepEosTagger {

@Test
public void test() throws UIMAException {
JCas jCas = JCasFactory.createText("Psychotria viridis wächst als zwei bis vier Meter hoher Baum mit glatter Borke. Die gegenständigen Blätter sind sitzend oder bis zu acht Millimeter lang gestielt. Die Blattspreite ist elliptisch mit spitzem Ende und keilförmiger Basis. Im getrockneten Zustand werden sie rotbraun bis grünbraun. Die Nebenblätter sind eiförmig, leicht zugespitzt und im Zentrum dunkler. Sie fallen später ab und hinterlassen am Stängel Narben zwischen zwei benachbarten Blättern. Die Blütenstände sind dreifach verzweigte Rispen oder kompakte Zymen, die terminal oder scheinbar achselständig stehen. Dabei sind als charakteristisches Merkmal der Art alle sekundären Achsen außer den jeweils ersten zwei stark verkürzt. Die sitzenden Blüten haben einen becherförmigen Kelch von etwa 0,5 Millimetern Länge. Selten sind fünf Kelchblätter als Einzelblätter erkennbar. Die Blütenkrone ist als weiße, zylindrische Röhre von ein bis 1,5 Millimeter Länge ausgeprägt. Sie ist im Inneren stark behaart und endet in fünf lanzettlichen Spitzen. Fünf Staubgefäße erreichen ebenso wie der Griffel eine Länge von etwa 2,5 Millimetern. Die Frucht ist eine bei Reife rote Steinfrucht, die sich beim Trocknen rotbraun verfärbt. Sie wird vom Kelch gekrönt und weist auf der Oberseite vier bis fünf, auf der Unterseite zwei Furchen auf.");
AnalysisEngine analysisEngine = AnalysisEngineFactory.createEngine(DeepEosTagger.class,
private static AnalysisEngine engine;

@BeforeClass
public static void setUpClass() throws ResourceInitializationException {
engine = AnalysisEngineFactory.createEngine(DeepEosTagger.class,
DeepEosTagger.PARAM_MODEL_NAME, "biofid",
DeepEosTagger.PARAM_VERBOSE, true);
SimplePipeline.runPipeline(jCas, analysisEngine);
}
}

@Test
public void test1() throws UIMAException {
JCas jCas = JCasFactory.createText("Psychotria viridis wächst als zwei bis vier Meter hoher Baum mit glatter Borke. Die gegenständigen Blätter sind sitzend oder bis zu acht Millimeter lang gestielt. Die Blattspreite ist elliptisch mit spitzem Ende und keilförmiger Basis. Im getrockneten Zustand werden sie rotbraun bis grünbraun. Die Nebenblätter sind eiförmig, leicht zugespitzt und im Zentrum dunkler. Sie fallen später ab und hinterlassen am Stängel Narben zwischen zwei benachbarten Blättern. Die Blütenstände sind dreifach verzweigte Rispen oder kompakte Zymen, die terminal oder scheinbar achselständig stehen. Dabei sind als charakteristisches Merkmal der Art alle sekundären Achsen außer den jeweils ersten zwei stark verkürzt. Die sitzenden Blüten haben einen becherförmigen Kelch von etwa 0,5 Millimetern Länge. Selten sind fünf Kelchblätter als Einzelblätter erkennbar. Die Blütenkrone ist als weiße, zylindrische Röhre von ein bis 1,5 Millimeter Länge ausgeprägt. Sie ist im Inneren stark behaart und endet in fünf lanzettlichen Spitzen. Fünf Staubgefäße erreichen ebenso wie der Griffel eine Länge von etwa 2,5 Millimetern. Die Frucht ist eine bei Reife rote Steinfrucht, die sich beim Trocknen rotbraun verfärbt. Sie wird vom Kelch gekrönt und weist auf der Oberseite vier bis fünf, auf der Unterseite zwei Furchen auf.");
SimplePipeline.runPipeline(jCas, engine);
assert JCasUtil.select(jCas, Sentence.class).size() == 15;
}

@Test
public void test2() throws UIMAException {
JCas jCas = JCasFactory.createText("Psychotria viridis wächst als zwei bis vier Meter hoher Baum mit glatter Borke");
SimplePipeline.runPipeline(jCas, engine);
assert JCasUtil.select(jCas, Sentence.class).size() == 1;
}

@Test
public void test3() throws UIMAException {
JCas jCas = JCasFactory.createText("Psychotria viridis wächst als zwei bis vier Meter hoher Baum mit glatter Borke. Die gegenständigen Blätter sind sitzend oder bis zu acht Millimeter lang gestielt.");
SimplePipeline.runPipeline(jCas, engine);
assert JCasUtil.select(jCas, Sentence.class).size() == 2;
}

@Test
public void test4() throws UIMAException {
JCas jCas = JCasFactory.createText("Psychotria viridis wächst als zwei bis vier Meter hoher Baum mit glatter Borke.. Die gegenständigen Blätter sind sitzend oder bis zu acht Millimeter lang gestielt.");
SimplePipeline.runPipeline(jCas, engine);
assert JCasUtil.select(jCas, Sentence.class).size() == 2;
}
}

0 comments on commit 56bab47

Please sign in to comment.