Search in sources :

Example 21 with Config

use of com.typesafe.config.Config in project aerosolve by airbnb.

the class DivideTransformTest method testEmptyFeatureVector.

@Test
public void testEmptyFeatureVector() {
    Config config = ConfigFactory.parseString(makeConfigWithKeys());
    Transform transform = TransformFactory.createTransform(config, "test_divide");
    FeatureVector featureVector = new FeatureVector();
    transform.doTransform(featureVector);
    assertTrue(featureVector.getStringFeatures() == null);
}
Also used : FeatureVector(com.airbnb.aerosolve.core.FeatureVector) Config(com.typesafe.config.Config) Test(org.junit.Test)

Example 22 with Config

use of com.typesafe.config.Config in project aerosolve by airbnb.

the class DivideTransformTest method testTransformWithKeys.

@Test
public void testTransformWithKeys() {
    Config config = ConfigFactory.parseString(makeConfigWithKeys());
    Transform transform = TransformFactory.createTransform(config, "test_divide");
    FeatureVector featureVector = TransformTestingHelper.makeFeatureVector();
    transform.doTransform(featureVector);
    Map<String, Set<String>> stringFeatures = featureVector.getStringFeatures();
    assertTrue(stringFeatures.size() == 1);
    Map<String, Double> out = featureVector.floatFeatures.get("bar");
    for (Map.Entry<String, Double> entry : out.entrySet()) {
        log.info(entry.getKey() + "=" + entry.getValue());
    }
    assertTrue(out.size() == 3);
    // the existing features under the family "bar" should not be deleted
    assertEquals(1.0, out.get("bar_fv"), 0.1);
    assertEquals(37.7 / 1.6, out.get("lat-d-foo"), 0.1);
    assertEquals(40.0 / 1.6, out.get("long-d-foo"), 0.1);
}
Also used : FeatureVector(com.airbnb.aerosolve.core.FeatureVector) Config(com.typesafe.config.Config) Test(org.junit.Test)

Example 23 with Config

use of com.typesafe.config.Config in project aerosolve by airbnb.

the class NearestTransformTest method testTransform.

@Test
public void testTransform() {
    Config config = ConfigFactory.parseString(makeConfig());
    Transform transform = TransformFactory.createTransform(config, "test_nearest");
    FeatureVector featureVector = makeFeatureVector();
    transform.doTransform(featureVector);
    Map<String, Set<String>> stringFeatures = featureVector.getStringFeatures();
    assertTrue(stringFeatures.size() == 2);
    Set<String> out = stringFeatures.get("nearest");
    log.info("nearest output");
    for (String string : out) {
        log.info(string);
    }
    assertTrue(out.size() == 1);
    assertTrue(out.contains("foo~=long"));
}
Also used : FeatureVector(com.airbnb.aerosolve.core.FeatureVector) Config(com.typesafe.config.Config) Test(org.junit.Test)

Example 24 with Config

use of com.typesafe.config.Config in project aerosolve by airbnb.

the class NgramTransformTest method testTransform1gram.

@Test
public void testTransform1gram() {
    Config config = ConfigFactory.parseString(makeConfig("\"\"\"[\\s\\p{Punct}]\"\"\"", 1, false));
    Transform transform = TransformFactory.createTransform(config, "test_ngram");
    FeatureVector featureVector = makeFeatureVector();
    transform.doTransform(featureVector);
    Map<String, Set<String>> stringFeatures = featureVector.getStringFeatures();
    Map<String, Map<String, Double>> floatFeatures = featureVector.getFloatFeatures();
    assertEquals(1, stringFeatures.size());
    assertEquals(1, floatFeatures.size());
    Map<String, Double> output = floatFeatures.get("bar");
    assertEquals(11, output.size());
    assertEquals(1.0, output.get("apple"), 0.0);
    assertEquals(1.0, output.get("blueberry"), 0.0);
    assertEquals(2.0, output.get("blue"), 0.0);
    assertEquals(3.0, output.get("like"), 0.0);
    assertEquals(1.0, output.get("excited"), 0.0);
    assertEquals(1.0, output.get("and"), 0.0);
    assertEquals(4.0, output.get("I"), 0.0);
    assertEquals(1.0, output.get("also"), 0.0);
    assertEquals(1.0, output.get("so"), 0.0);
    assertEquals(2.0, output.get("pie"), 0.0);
    assertEquals(1.0, output.get("m"), 0.0);
}
Also used : FeatureVector(com.airbnb.aerosolve.core.FeatureVector) HashSet(java.util.HashSet) Set(java.util.Set) Config(com.typesafe.config.Config) Map(java.util.Map) HashMap(java.util.HashMap) Test(org.junit.Test)

Example 25 with Config

use of com.typesafe.config.Config in project aerosolve by airbnb.

the class NgramTransformTest method testTransformUseMinN.

@Test
public void testTransformUseMinN() {
    Config config = ConfigFactory.parseString(makeConfig("\"\"\"[\\s\\p{Punct}]\"\"\"", 2, true));
    Transform transform = TransformFactory.createTransform(config, "test_ngram");
    FeatureVector featureVector = makeFeatureVector();
    transform.doTransform(featureVector);
    Map<String, Set<String>> stringFeatures = featureVector.getStringFeatures();
    Map<String, Map<String, Double>> floatFeatures = featureVector.getFloatFeatures();
    assertEquals(1, stringFeatures.size());
    assertEquals(1, floatFeatures.size());
    Map<String, Double> output = floatFeatures.get("bar");
    assertEquals(25, output.size());
    assertEquals(1.0, output.get("apple"), 0.0);
    assertEquals(1.0, output.get("blueberry"), 0.0);
    assertEquals(2.0, output.get("blue"), 0.0);
    assertEquals(3.0, output.get("like"), 0.0);
    assertEquals(1.0, output.get("excited"), 0.0);
    assertEquals(1.0, output.get("and"), 0.0);
    assertEquals(4.0, output.get("I"), 0.0);
    assertEquals(1.0, output.get("also"), 0.0);
    assertEquals(1.0, output.get("so"), 0.0);
    assertEquals(2.0, output.get("pie"), 0.0);
    assertEquals(1.0, output.get("m"), 0.0);
    assertEquals(2.0, output.get("I" + NgramTransform.BIGRAM_SEPARATOR + "like"), 0.0);
    assertEquals(1.0, output.get("like" + NgramTransform.BIGRAM_SEPARATOR + "blueberry"), 0.0);
    assertEquals(1.0, output.get("blueberry" + NgramTransform.BIGRAM_SEPARATOR + "pie"), 0.0);
    assertEquals(1.0, output.get("pie" + NgramTransform.BIGRAM_SEPARATOR + "apple"), 0.0);
    assertEquals(1.0, output.get("apple" + NgramTransform.BIGRAM_SEPARATOR + "pie"), 0.0);
    assertEquals(1.0, output.get("pie" + NgramTransform.BIGRAM_SEPARATOR + "and"), 0.0);
    assertEquals(1.0, output.get("and" + NgramTransform.BIGRAM_SEPARATOR + "I"), 0.0);
    assertEquals(1.0, output.get("I" + NgramTransform.BIGRAM_SEPARATOR + "also"), 0.0);
    assertEquals(1.0, output.get("also" + NgramTransform.BIGRAM_SEPARATOR + "like"), 0.0);
    assertEquals(2.0, output.get("like" + NgramTransform.BIGRAM_SEPARATOR + "blue"), 0.0);
    assertEquals(1.0, output.get("I" + NgramTransform.BIGRAM_SEPARATOR + "m"), 0.0);
    assertEquals(1.0, output.get("m" + NgramTransform.BIGRAM_SEPARATOR + "so"), 0.0);
    assertEquals(1.0, output.get("so" + NgramTransform.BIGRAM_SEPARATOR + "excited"), 0.0);
    assertEquals(1.0, output.get("excited" + NgramTransform.BIGRAM_SEPARATOR + "I"), 0.0);
}
Also used : FeatureVector(com.airbnb.aerosolve.core.FeatureVector) HashSet(java.util.HashSet) Set(java.util.Set) Config(com.typesafe.config.Config) Map(java.util.Map) HashMap(java.util.HashMap) Test(org.junit.Test)

Aggregations

Config (com.typesafe.config.Config)138 Test (org.junit.Test)120 FeatureVector (com.airbnb.aerosolve.core.FeatureVector)117 Set (java.util.Set)35 HashSet (java.util.HashSet)29 HashMap (java.util.HashMap)19 Map (java.util.Map)19 ActorSystem (akka.actor.ActorSystem)2 ConfigObject (com.typesafe.config.ConfigObject)2 ConfigValue (com.typesafe.config.ConfigValue)2 IOException (java.io.IOException)2 URI (java.net.URI)2 ArrayList (java.util.ArrayList)2 List (java.util.List)2 DrillConfig (org.apache.drill.common.config.DrillConfig)2 BeforeClass (org.junit.BeforeClass)2 Example (com.airbnb.aerosolve.core.Example)1 Stopwatch (com.google.common.base.Stopwatch)1 ServerConfig (com.nike.riposte.server.config.ServerConfig)1 ContainerConfig (com.spotify.docker.client.messages.ContainerConfig)1