public static Temporal createTemporal(JCas jCas, int begin, int end, String value) { Temporal d2 = new Temporal(jCas); d2.setValue(value); d2.setBegin(begin); d2.setEnd(end); d2.addToIndexes(); return d2; }
@Test public void testCurrencyInDateNoValue() throws Exception { AnalysisEngine ae = AnalysisEngineFactory.createEngine(CleanTemporal.class); jCas.setDocumentText("It cost $4.10"); Temporal dt = new Temporal(jCas); dt.setBegin(8); dt.setEnd(13); dt.addToIndexes(); assertEquals(1, JCasUtil.select(jCas, Temporal.class).size()); ae.process(jCas); assertEquals(0, JCasUtil.select(jCas, Temporal.class).size()); } }
@Test public void testCurrencyInDate() throws Exception { AnalysisEngine ae = AnalysisEngineFactory.createEngine(CleanTemporal.class); jCas.setDocumentText("It cost $4.10"); Temporal dt = new Temporal(jCas); dt.setBegin(8); dt.setEnd(13); dt.setValue(dt.getCoveredText()); dt.addToIndexes(); assertEquals(1, JCasUtil.select(jCas, Temporal.class).size()); ae.process(jCas); assertEquals(0, JCasUtil.select(jCas, Temporal.class).size()); }
@Test public void test4() throws UIMAException { createPOS(); Person person = new Person(jCas, 0, 2); // He person.addToIndexes(); Money money = new Money(jCas, 59, 71); // $1.8 billion money.addToIndexes(); Temporal date = new Temporal(jCas, 75, 84); // September date.addToIndexes(); processJCas(NPVNP.PARAM_ONLY_EXISTING, true); assertEquals(0, JCasUtil.select(jCas, Relation.class).size()); }
temporal.setTimestampStart(12345L); temporal.setTimestampStop(54321L); temporal.addToIndexes(jCas);
temporal.setConfidence(1.0); temporal.setTimestampStart(12345L); temporal.addToIndexes(jCas);
dt1.setTimestampStart(jan2010); dt1.setTimestampStop(jan2010); dt1.addToIndexes(); dt2.setTimestampStart(jan1930); dt2.setTimestampStop(jan1930); dt2.addToIndexes(); dt3.setTimestampStart(jan1930); dt3.setTimestampStop(jan2010); dt3.addToIndexes(); dt4.addToIndexes();
@Test public void testTime() throws Exception { jCas.setDocumentText("It was midnight, and all was quiet"); Temporal t = new Temporal(jCas, 7, 15); t.setTimestampStart(LocalDateTime.of(2016, 10, 4, 0, 0, 0).toEpochSecond(ZoneOffset.UTC)); t.setTimestampStop(LocalDateTime.of(2016, 10, 4, 0, 0, 0).toEpochSecond(ZoneOffset.UTC)); t.setScope("SINGLE"); t.setTemporalType("TIME"); t.setValue("midnight"); t.addToIndexes(); processJCas( NormalizeTemporal.PARAM_DATE_FORMAT, "HH:mm", NormalizeTemporal.PARAM_TEMPORAL_TYPE, "TIME"); assertEquals(1, JCasUtil.select(jCas, Temporal.class).size()); Temporal tTest = JCasUtil.selectByIndex(jCas, Temporal.class, 0); assertEquals("00:00", tTest.getValue()); assertTrue(tTest.getIsNormalised()); }
@Test public void testTimeRange() throws Exception { jCas.setDocumentText("It was July, and all was quiet"); Temporal t = new Temporal(jCas, 7, 11); t.setTimestampStart(LocalDateTime.of(2016, 7, 1, 0, 0, 0).toEpochSecond(ZoneOffset.UTC)); t.setTimestampStop(LocalDateTime.of(2016, 8, 1, 0, 0, 0).toEpochSecond(ZoneOffset.UTC)); t.setScope("RANGE"); t.setTemporalType("DATE"); t.setValue("July"); t.addToIndexes(); processJCas( NormalizeTemporal.PARAM_DATE_FORMAT, "HH:mm", NormalizeTemporal.PARAM_TEMPORAL_TYPE, "TIME"); assertEquals(1, JCasUtil.select(jCas, Temporal.class).size()); Temporal tTest = JCasUtil.selectByIndex(jCas, Temporal.class, 0); assertEquals("July", tTest.getValue()); assertFalse(tTest.getIsNormalised()); }
@Test public void testWrongType() throws Exception { jCas.setDocumentText("It was midnight, and all was quiet"); Temporal t = new Temporal(jCas, 7, 15); t.setTimestampStart(LocalDateTime.of(2016, 10, 4, 0, 0, 0).toEpochSecond(ZoneOffset.UTC)); t.setTimestampStop(LocalDateTime.of(2016, 10, 4, 0, 0, 0).toEpochSecond(ZoneOffset.UTC)); t.setScope("SINGLE"); t.setTemporalType("TIME"); t.setValue("midnight"); t.addToIndexes(); processJCas( NormalizeTemporal.PARAM_DATE_FORMAT, "HH:mm", NormalizeTemporal.PARAM_TEMPORAL_TYPE, "DATE"); assertEquals(1, JCasUtil.select(jCas, Temporal.class).size()); Temporal tTest = JCasUtil.selectByIndex(jCas, Temporal.class, 0); assertEquals("midnight", tTest.getValue()); assertFalse(tTest.getIsNormalised()); }
@Test public void testNoTimestamp() throws Exception { jCas.setDocumentText("It was midnight, and all was quiet"); Temporal t = new Temporal(jCas, 7, 15); t.setScope("SINGLE"); t.setTemporalType("TIME"); t.setValue("midnight"); t.addToIndexes(); processJCas( NormalizeTemporal.PARAM_DATE_FORMAT, "HH:mm", NormalizeTemporal.PARAM_TEMPORAL_TYPE, "TIME"); assertEquals(1, JCasUtil.select(jCas, Temporal.class).size()); Temporal tTest = JCasUtil.selectByIndex(jCas, Temporal.class, 0); assertEquals("midnight", tTest.getValue()); assertFalse(tTest.getIsNormalised()); } }
monday.setBegin(35); monday.setEnd(41); monday.addToIndexes();
private void createDocument(JCas jCas) { jCas.reset(); jCas.setDocumentText("Simon was born in November 1980 in London, UK"); Person p = new Person(jCas); p.setValue("Simon"); p.setBegin(0); p.setEnd(5); p.addToIndexes(); Temporal d = new Temporal(jCas); d.setValue(NOVEMBER); d.setBegin(18); d.setEnd(26); d.addToIndexes(); Location l = new Location(jCas); l.setValue(LONDON); l.setBegin(35); l.setEnd(41); l.addToIndexes(); // entity value different to covering text "UK" Location l2 = new Location(jCas); l2.setValue(UNITED_KINGDOM); l2.setBegin(43); l2.setEnd(45); l2.addToIndexes(); assertEquals(1, JCasUtil.select(jCas, Person.class).size()); assertEquals(1, JCasUtil.select(jCas, Temporal.class).size()); assertEquals(2, JCasUtil.select(jCas, Location.class).size()); }
t1.setEnd(t1.getBegin() + 29); t1.setValue("12pm on Tuesday 25th December"); t1.addToIndexes(jCas); t2.setEnd(t2.getBegin() + 7); t2.setValue("Tuesday"); t2.addToIndexes(jCas);
t.setConfidence(1.0); t.setValue(DATE); t.addToIndexes();
@Test public void test2() throws UIMAException { createPOS(); Person person = new Person(jCas, 0, 1); // H person.addToIndexes(); Money money = new Money(jCas, 59, 71); // $1.8 billion money.addToIndexes(); Temporal date = new Temporal(jCas, 75, 84); // September date.addToIndexes(); processJCas(); assertEquals(2, JCasUtil.select(jCas, Relation.class).size()); Relation r1 = JCasUtil.selectByIndex(jCas, Relation.class, 0); assertEquals("reckons", r1.getValue()); assertEquals(person, r1.getSource()); assertEquals("uk.gov.dstl.baleen.types.semantic.Entity", r1.getTarget().getTypeName()); assertEquals("the current account deficit", r1.getTarget().getCoveredText()); Relation r2 = JCasUtil.selectByIndex(jCas, Relation.class, 1); assertEquals("will narrow to", r2.getValue()); assertEquals("uk.gov.dstl.baleen.types.semantic.Entity", r2.getSource().getTypeName()); assertEquals("the current account deficit", r2.getSource().getCoveredText()); assertEquals(money, r2.getTarget()); }
@Test public void test3() throws UIMAException { createPOS(); Person person = new Person(jCas, 0, 2); // He person.addToIndexes(); Money money = new Money(jCas, 54, 71); // only $1.8 billion money.addToIndexes(); Temporal date = new Temporal(jCas, 75, 84); // September date.addToIndexes(); processJCas(); assertEquals(2, JCasUtil.select(jCas, Relation.class).size()); Relation r1 = JCasUtil.selectByIndex(jCas, Relation.class, 0); assertEquals("reckons", r1.getValue()); assertEquals(person, r1.getSource()); assertEquals("uk.gov.dstl.baleen.types.semantic.Entity", r1.getTarget().getTypeName()); assertEquals("the current account deficit", r1.getTarget().getCoveredText()); Relation r2 = JCasUtil.selectByIndex(jCas, Relation.class, 1); assertEquals("will narrow to", r2.getValue()); assertEquals("uk.gov.dstl.baleen.types.semantic.Entity", r2.getSource().getTypeName()); assertEquals("the current account deficit", r2.getSource().getCoveredText()); assertEquals(money, r2.getTarget()); }
@Test public void test1() throws UIMAException { createPOS(); Person person = new Person(jCas, 0, 2); // He person.addToIndexes(); Money money = new Money(jCas, 59, 71); // $1.8 billion money.addToIndexes(); Temporal date = new Temporal(jCas, 75, 84); // September date.addToIndexes(); processJCas(); assertEquals(2, JCasUtil.select(jCas, Relation.class).size()); Relation r1 = JCasUtil.selectByIndex(jCas, Relation.class, 0); assertEquals("reckons", r1.getValue()); assertEquals(person, r1.getSource()); assertEquals("uk.gov.dstl.baleen.types.semantic.Entity", r1.getTarget().getTypeName()); assertEquals("the current account deficit", r1.getTarget().getCoveredText()); Relation r2 = JCasUtil.selectByIndex(jCas, Relation.class, 1); assertEquals("will narrow to", r2.getValue()); assertEquals("uk.gov.dstl.baleen.types.semantic.Entity", r2.getSource().getTypeName()); assertEquals("the current account deficit", r2.getSource().getCoveredText()); assertEquals(money, r2.getTarget()); }
t.setConfidence(1.0); t.setValue(DATE); t.addToIndexes();
dt.setConfidence(1.0); dt.setValue(DATE); dt.addToIndexes();