Search in sources :

Example 11 with TupleSourceOperator

use of edu.uci.ics.texera.dataflow.source.tuple.TupleSourceOperator in project textdb by TextDB.

the class EmojiSentimentTest method test2.

/*
     * Test sentiment with a neutral sentence, result should be 2 (neutral)
     */
@Test
public void test2() throws TexeraException {
    TupleSourceOperator tupleSource = new TupleSourceOperator(Arrays.asList(EmojiSentimentTestConstants.NEUTRAL_TUPLE), EmojiSentimentTestConstants.SENTIMENT_SCHEMA);
    EmojiSentimentOperator sentiment = new EmojiSentimentOperator(new EmojiSentimentPredicate(EmojiSentimentTestConstants.TEXT, "sentiment"));
    TupleSink tupleSink = new TupleSink();
    sentiment.setInputOperator(tupleSource);
    tupleSink.setInputOperator(sentiment);
    tupleSink.open();
    List<Tuple> results = tupleSink.collectAllTuples();
    tupleSink.close();
    Tuple tuple = results.get(0);
    Assert.assertEquals(tuple.getField("sentiment").getValue(), SentimentConstants.NEUTRAL);
}
Also used : TupleSink(edu.uci.ics.texera.dataflow.sink.tuple.TupleSink) TupleSourceOperator(edu.uci.ics.texera.dataflow.source.tuple.TupleSourceOperator) Tuple(edu.uci.ics.texera.api.tuple.Tuple) Test(org.junit.Test)

Example 12 with TupleSourceOperator

use of edu.uci.ics.texera.dataflow.source.tuple.TupleSourceOperator in project textdb by TextDB.

the class EmojiSentimentTest method test3.

/*
     * Test sentiment with a negative sentence, result should be 1 (negative)
     */
@Test
public void test3() throws TexeraException {
    TupleSourceOperator tupleSource = new TupleSourceOperator(Arrays.asList(EmojiSentimentTestConstants.NEGATIVE_TUPLE1), EmojiSentimentTestConstants.SENTIMENT_SCHEMA);
    EmojiSentimentOperator sentiment = new EmojiSentimentOperator(new EmojiSentimentPredicate(NlpSentimentTestConstants.TEXT, "sentiment"));
    TupleSink tupleSink = new TupleSink();
    sentiment.setInputOperator(tupleSource);
    tupleSink.setInputOperator(sentiment);
    tupleSink.open();
    List<Tuple> results = tupleSink.collectAllTuples();
    tupleSink.close();
    Tuple tuple = results.get(0);
    Assert.assertEquals(tuple.getField("sentiment").getValue(), SentimentConstants.NEGATIVE);
}
Also used : TupleSink(edu.uci.ics.texera.dataflow.sink.tuple.TupleSink) TupleSourceOperator(edu.uci.ics.texera.dataflow.source.tuple.TupleSourceOperator) Tuple(edu.uci.ics.texera.api.tuple.Tuple) Test(org.junit.Test)

Example 13 with TupleSourceOperator

use of edu.uci.ics.texera.dataflow.source.tuple.TupleSourceOperator in project textdb by TextDB.

the class NlpSentimentTest method test2.

/*
     * Test sentiment with a neutral sentence, result should be 2 (neutral)
     */
@Test
public void test2() throws TexeraException {
    TupleSourceOperator tupleSource = new TupleSourceOperator(Arrays.asList(NlpSentimentTestConstants.NEUTRAL_TUPLE), NlpSentimentTestConstants.SENTIMENT_SCHEMA);
    NlpSentimentOperator sentiment = new NlpSentimentOperator(new NlpSentimentPredicate(NlpSentimentTestConstants.TEXT, "sentiment"));
    TupleSink tupleSink = new TupleSink();
    sentiment.setInputOperator(tupleSource);
    tupleSink.setInputOperator(sentiment);
    tupleSink.open();
    List<Tuple> results = tupleSink.collectAllTuples();
    tupleSink.close();
    Tuple tuple = results.get(0);
    Assert.assertEquals(tuple.getField("sentiment").getValue(), SentimentConstants.NEUTRAL);
}
Also used : TupleSink(edu.uci.ics.texera.dataflow.sink.tuple.TupleSink) TupleSourceOperator(edu.uci.ics.texera.dataflow.source.tuple.TupleSourceOperator) Tuple(edu.uci.ics.texera.api.tuple.Tuple) Test(org.junit.Test)

Example 14 with TupleSourceOperator

use of edu.uci.ics.texera.dataflow.source.tuple.TupleSourceOperator in project textdb by TextDB.

the class NltkSentimentOperatorTest method test3.

/*
     * Test batch processing of operator. All test results should be negative
     */
@Test
public void test3() throws TexeraException {
    int batchSize = 30;
    int tupleSourceSize = 101;
    List<Tuple> listTuple = new ArrayList<>();
    for (int i = 0; i < tupleSourceSize; i++) {
        listTuple.add(NltkSentimentTestConstants.NEGATIVE_TUPLE);
    }
    TupleSourceOperator tupleSource = new TupleSourceOperator(listTuple, NltkSentimentTestConstants.SENTIMENT_SCHEMA);
    NltkSentimentOperator nltkSentimentOperator = new NltkSentimentOperator(new NltkSentimentOperatorPredicate(NlpSentimentTestConstants.TEXT, "sentiment", batchSize, MODEL_FILE_NAME));
    TupleSink tupleSink = new TupleSink();
    nltkSentimentOperator.setInputOperator(tupleSource);
    tupleSink.setInputOperator(nltkSentimentOperator);
    tupleSink.open();
    List<Tuple> results = tupleSink.collectAllTuples();
    tupleSink.close();
    for (int i = 0; i < tupleSourceSize; i++) {
        Tuple tuple = results.get(i);
        Assert.assertEquals(tuple.getField("sentiment").getValue(), SentimentConstants.NEGATIVE);
    }
}
Also used : TupleSink(edu.uci.ics.texera.dataflow.sink.tuple.TupleSink) ArrayList(java.util.ArrayList) TupleSourceOperator(edu.uci.ics.texera.dataflow.source.tuple.TupleSourceOperator) Tuple(edu.uci.ics.texera.api.tuple.Tuple) Test(org.junit.Test)

Aggregations

Tuple (edu.uci.ics.texera.api.tuple.Tuple)14 TupleSourceOperator (edu.uci.ics.texera.dataflow.source.tuple.TupleSourceOperator)14 TupleSink (edu.uci.ics.texera.dataflow.sink.tuple.TupleSink)13 Test (org.junit.Test)13 ArrayList (java.util.ArrayList)2 ObjectMapper (com.fasterxml.jackson.databind.ObjectMapper)1 IDField (edu.uci.ics.texera.api.field.IDField)1 ExcelSink (edu.uci.ics.texera.dataflow.sink.excel.ExcelSink)1 ExcelSinkPredicate (edu.uci.ics.texera.dataflow.sink.excel.ExcelSinkPredicate)1 OutputStream (java.io.OutputStream)1 HashSet (java.util.HashSet)1 GET (javax.ws.rs.GET)1 Path (javax.ws.rs.Path)1 StreamingOutput (javax.ws.rs.core.StreamingOutput)1