![JAR search and dependency download from the Maven repository](/logo.png)
edu.berkeley.nlp.PCFGLA.HyperEdge Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of berkeleyparser Show documentation
Show all versions of berkeleyparser Show documentation
The Berkeley parser analyzes the grammatical structure of natural language using probabilistic context-free grammars (PCFGs).
The newest version!
/**
*
*/
package edu.berkeley.nlp.PCFGLA;
/**
* @author petrov
*
*/
public class HyperEdge{
int parentState, lChildState, rChildState, childState;
boolean isUnary;
double score, ruleScore;
int start, split, end;
int parentBest, lChildBest, rChildBest, childBest;
boolean alreadyExpanded;
public HyperEdge(int pState, int lState, int rState, int pBest, int lBest,
int rBest, int begin, int mid, int finale, double cost, double ruleCost){
this.parentState = pState;
this.lChildState = lState;
this.rChildState = rState;
this.parentBest = pBest;
this.lChildBest = lBest;
this.rChildBest = rBest;
this.childState = -1;
this.start = begin;
this.split = mid;
this.end = finale;
this.score = cost;
this.isUnary = false;
this.ruleScore = ruleCost;
}
public HyperEdge(int pState, int cState, int pBest, int cBest,
int begin, int finale, double cost, double ruleCost){
this.parentState = pState;
this.childState = cState;
this.lChildState = -1;
this.rChildState = -1;
this.parentBest = pBest;
this.childBest = cBest;
this.start = begin;
this.end = finale;
this.score = cost;
this.isUnary = true;
this.ruleScore = ruleCost;
}
public boolean differsInPOSatMost(HyperEdge other, boolean[] grammarTags){
// assume the edges go over the same span and have the same head
if (this.split!=other.split) return false;
// if (this.score==other.score)
// return true;
if (this.isUnary){
if (/*this.score==other.score*/this.childBest==other.childBest&&other.childState==this.childState) return true;
} else {
if (this.end-this.split==1 && this.lChildState==other.lChildState&& /*this.score==other.score*/this.lChildBest==other.lChildBest&&!grammarTags[this.rChildState]&&!grammarTags[other.rChildState]) return true;
if (this.split-this.start==1&& this.rChildState==other.rChildState&& /*this.score==other.score*/this.rChildBest==other.rChildBest) return true;
if (this.lChildState==other.lChildState&& this.rChildState==other.rChildState&& /*this.score==other.score*/this.rChildBest==other.rChildBest&&this.lChildBest==other.lChildBest&&!grammarTags[this.lChildState]&&!grammarTags[other.lChildState]) return true;
}
return false;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy