Examples of BinaryFormulaInfo


Examples of edu.stanford.nlp.sempre.FbFormulasInfo.BinaryFormulaInfo

  @Test
  public void formulaInfo() {
    FbFormulasInfo infoRepos = FbFormulasInfo.getSingleton();

    //1
    BinaryFormulaInfo bInfo = infoRepos.getBinaryInfo(Formula.fromString("(lambda x (!fb:education.education.specialization (!fb:education.field_of_study.students_majoring (var x))))"));
    assertEquals(521.0, bInfo.popularity, 0.0001);
    assertEquals("fb:education.field_of_study", bInfo.expectedType1);
    assertEquals("fb:education.field_of_study", bInfo.expectedType2);
    boolean contains = bInfo.descriptions.contains("specialization") && bInfo.descriptions.contains("students majoring in this field");
    assertEquals(true, contains);
View Full Code Here

Examples of edu.stanford.nlp.sempre.FbFormulasInfo.BinaryFormulaInfo

  }

  public List<BinaryLexicalEntry> buildEntry(LexiconValue lexValue, String mapKey) {

    EntrySource source = EntrySource.parseSourceDesc(lexValue.source);
    BinaryFormulaInfo info = fbFormulasInfo.getBinaryInfo(lexValue.formula);
   
    if(!validBinaryFormula(lexValue.formula))
      return Collections.emptyList();
   
    if(info==null) {
View Full Code Here

Examples of edu.stanford.nlp.sempre.FbFormulasInfo.BinaryFormulaInfo

    EntityLexicalEntry entityEntry = spanAndEntryPair.getSecond();
    int binaryCounter=0;
    for(String type: entityEntry.types) {
      for(Formula binary: fbFormulasInfo.getBinariesForType2(type)) {

        BinaryFormulaInfo bInfo = fbFormulasInfo.getBinaryInfo(binary);
        EntityInfo eInfo = new EntityInfo(entityEntry.fbDescriptions.iterator().next(),entityEntry.formula, entityEntry.popularity,spanAndEntryPair.getFirst());
        //hack to have less things
        if(toFilter(bInfo,entityEntry))
          continue;
        binaryCounter++;
View Full Code Here

Examples of edu.stanford.nlp.sempre.FbFormulasInfo.BinaryFormulaInfo

    //1. Find the binaries that can be injected
    List<Formula> injections = fbFormulasInfo.getInjectableBinaries(fgInfo.bInfo.formula);
    //2. For each one find the type2 and try to find entities
    LogInfo.begin_track("Injecting %s injections to binary %s",injections.size(),fgInfo.bInfo.formula);
    for(Formula injection: injections) {
      BinaryFormulaInfo injectionInfo = fbFormulasInfo.getBinaryInfo(injection);
      List<EntityInfo> injectedEntities = findInjectedEntities(lInfo,fgInfo.entityInfo1.span,injectionInfo.expectedType2,entities);
      for(EntityInfo injectedEntity: injectedEntities) {
        res.add(new FormulaGenerationInfo(fgInfo.bInfo, injectionInfo, fgInfo.entityInfo1, injectedEntity, fgInfo.uInfo, fgInfo.isCount, true, fgInfo.isUnary));
      }
    }
View Full Code Here

Examples of edu.stanford.nlp.sempre.FbFormulasInfo.BinaryFormulaInfo

  public Map<Formula,BinaryFormulaInfo> createBinaryFormulaInfoMap() {

    Map<Formula,FbFormulasInfo.BinaryFormulaInfo> res = new HashMap<Formula, FbFormulasInfo.BinaryFormulaInfo>();
    for(String property: bPopularityMap.keySet()) {
      Formula f = Formulas.fromLispTree(LispTree.proto.parseFromString(property));
      BinaryFormulaInfo info = new BinaryFormulaInfo(f, type1Map.get(property), type2Map.get(property), unit2Map.get(property),"",bDescriptionsMap.get(property),bPopularityMap.get(property));
      if(!info.isComplete()) {
        continue;
      }
      res.put(f, info);
    }
    return res;
View Full Code Here

Examples of edu.stanford.nlp.sempre.FbFormulasInfo.BinaryFormulaInfo

      for (Formula binary : binaries) {  // For each possible binary...

        if (usedBinaries.contains(binary.toString()))
          continue;

        BinaryFormulaInfo binaryInfo = fbFormulaInfo.getBinaryInfo(binary);

        if (opts.verbose >= 3)
          LogInfo.logs("%s => %s", modifierType, binary);

        if (headTypes.contains(binaryInfo.expectedType1)) {
View Full Code Here

Examples of edu.stanford.nlp.sempre.FbFormulasInfo.BinaryFormulaInfo

    Set<String> modifierTypes = getSupertypes(modifierDeriv.type, new HashSet<String>());

    for (String modifierType : modifierTypes) { // For each head type...
      Set<Formula> binaries = fbFormulaInfo.getBinariesForType2(modifierType);
      for (Formula binary : binaries) {  // For each possible binary...
        BinaryFormulaInfo binaryInfo = fbFormulaInfo.getBinaryInfo(binary);

        if (opts.verbose >= 3)
          LogInfo.logs("%s => %s", modifierType, binary);

        List<List<String>> exampleInfo = generateExampleInfo(ex, c); //this is not done in text to text matcher so done here
View Full Code Here

Examples of edu.stanford.nlp.sempre.FbFormulasInfo.BinaryFormulaInfo

    Set<String> modifierTypes = getSupertypes(modifierDeriv.type, new HashSet<String>());

    for (String modifierType : modifierTypes) {
      Set<Formula> binaries = fbFormulaInfo.getAtomicBinariesForType2(modifierType); //here we use atomic binaries since we inject into a CVT
      for (Formula binary : binaries) {  // For each possible binary...
        BinaryFormulaInfo info = fbFormulaInfo.getBinaryInfo(binary);

        if (headTypes.contains(info.expectedType1)) {
          Formula bridgedFormula = buildBridgeFromCvt(headFormula, modifierDeriv.formula, binary);
          FbFormulasInfo.touchBinaryFormula(binary);
          Derivation newDeriv = new Derivation.Builder()
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.