本文整理汇总了Java中edu.berkeley.nlp.util.Numberer.object方法的典型用法代码示例。如果您正苦于以下问题:Java Numberer.object方法的具体用法?Java Numberer.object怎么用?Java Numberer.object使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类edu.berkeley.nlp.util.Numberer
的用法示例。
在下文中一共展示了Numberer.object方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: toString
import edu.berkeley.nlp.util.Numberer; //导入方法依赖的package包/类
@Override
public String toString() {
StringBuffer sb = new StringBuffer();
Numberer tagNumberer = Numberer.getGlobalNumberer("tags");
for (int tag = 0; tag < rules.length; tag++) {
int[] counts = new int[7];
String tagS = (String) tagNumberer.object(tag);
if (rules[tag].length == 0)
continue;
for (int word = 0; word < rules[tag].length; word++) {
sb.append(tagS + " "
+ wordIndexer.get(tagWordIndexer[tag].get(word)) + "\n");
sb.append(rules[tag][word].toString());
sb.append("\n\n");
counts[rules[tag][word].hierarchy.getDepth()]++;
}
System.out.print(tagNumberer.object(tag)
+ ", lexical rules per level: ");
for (int i = 1; i < 6; i++) {
System.out.print(counts[i] + " ");
}
System.out.print("\n");
}
return sb.toString();
}
示例2: toString
import edu.berkeley.nlp.util.Numberer; //导入方法依赖的package包/类
@Override
public String toString() {
StringBuffer sb = new StringBuffer();
Numberer tagNumberer = Numberer.getGlobalNumberer("tags");
for (int tag = 0; tag < expectedCounts.length; tag++) {
String tagS = (String) tagNumberer.object(tag);
if (tagWordIndexer[tag].size() == 0)
continue;
for (int word = 0; word < scores[tag][0].length; word++) {
sb.append(tagS + " "
+ wordIndexer.get(tagWordIndexer[tag].get(word)) + " ");
for (int sub = 0; sub < numSubStates[tag]; sub++) {
sb.append(" " + scores[tag][sub][word]);
}
sb.append("\n");
}
}
return sb.toString();
}
示例3: toString
import edu.berkeley.nlp.util.Numberer; //导入方法依赖的package包/类
@Override
public String toString() {
Numberer n = Numberer.getGlobalNumberer("tags");
String cState = (String) n.object(childState);
String pState = (String) n.object(parentState);
if (scores == null)
return pState + " -> " + cState + "\n";
StringBuilder sb = new StringBuilder();
sb.append(pState + " -> " + cState + "\n");
sb.append(ArrayUtil.toString(scores) + "\n");
for (double[][] s : scoreHierarchy) {
sb.append(ArrayUtil.toString(s) + "\n");
}
sb.append("\n");
// for (int cS=0; cS<scores.length; cS++){
// if (scores[cS]==null) continue;
// for (int pS=0; pS<scores[cS].length; pS++){
// double p = scores[cS][pS];
// if (p>0)
// sb.append(pState+"_"+pS+ " -> " + cState+"_"+cS +" "+p+"\n");
// }
// }
return sb.toString();
}
示例4: toString
import edu.berkeley.nlp.util.Numberer; //导入方法依赖的package包/类
@Override
public String toString() {
Numberer n = Numberer.getGlobalNumberer("tags");
String lState = (String) n.object(leftChildState);
String rState = (String) n.object(rightChildState);
String pState = (String) n.object(parentState);
StringBuilder sb = new StringBuilder();
if (scores == null)
return pState + " -> " + lState + " " + rState + "\n";
// sb.append(pState+ " -> "+lState+ " "+rState+ "\n");
sb.append(pState + " -> " + lState + " " + rState + "\n");
sb.append(ArrayUtil.toString(scores) + "\n");
for (double[][][] s : scoreHierarchy) {
sb.append(ArrayUtil.toString(s) + "\n");
}
sb.append("\n");
return sb.toString();
}
示例5: toString
import edu.berkeley.nlp.util.Numberer; //导入方法依赖的package包/类
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
Numberer n = Numberer.getGlobalNumberer("tags");
String cState = (String) n.object(childState);
String pState = (String) n.object(parentState);
sb.append(pState + " -> " + cState + "\n");
if (subRuleList == null) {
compactifyHierarchy(hierarchy);
lastLevel = hierarchy.getDepth();
computeSubRuleList();
}
for (SubRule rule : subRuleList) {
if (rule == null)
continue;
sb.append(rule.toString(lastLevel - 1));
sb.append("\n");
}
// sb.append(PennTreeRenderer.render(hierarchy));
sb.append("\n");
// sb.append(Arrays.toString(scores));
return sb.toString();
}
示例6: toString
import edu.berkeley.nlp.util.Numberer; //导入方法依赖的package包/类
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
Numberer n = Numberer.getGlobalNumberer("tags");
String lState = (String) n.object(leftChildState);
String rState = (String) n.object(rightChildState);
String pState = (String) n.object(parentState);
sb.append(pState + " -> " + lState + " " + rState + "\n");
if (subRuleList == null) {
compactifyHierarchy(hierarchy);
lastLevel = hierarchy.getDepth();
computeSubRuleList();
}
for (SubRule rule : subRuleList) {
sb.append(rule.toString(lastLevel - 1));
sb.append("\n");
}
// sb.append(PennTreeRenderer.render(hierarchy));
sb.append("\n");
// sb.append(Arrays.toString(scores));
return sb.toString();
}
示例7: toStringShort
import edu.berkeley.nlp.util.Numberer; //导入方法依赖的package包/类
public String toStringShort() {
Numberer n = Numberer.getGlobalNumberer("tags");
String lState = (String) n.object(leftChildState);
String rState = (String) n.object(rightChildState);
String pState = (String) n.object(parentState);
return (pState + " -> " + lState + " " + rState);
}
示例8: translateState
import edu.berkeley.nlp.util.Numberer; //导入方法依赖的package包/类
private short translateState(int state, Numberer baseNumberer,
Numberer translationNumberer) {
Object object = baseNumberer.object(state);
if (translationNumberer.hasSeen(object)) {
return (short) translationNumberer.number(object);
} else {
return (short) -1;
}
}
示例9: toString
import edu.berkeley.nlp.util.Numberer; //导入方法依赖的package包/类
/**
* @param tagNumberer
* @return
*/
public String toString(Numberer tagNumberer) {
String w;
String name = tagNumberer.object(state) + "-" + substate;
w = "<a href=" + GrammarStatistics.reflabel("productions", name) + ">"
+ name + "</a> ";
return w;
}
示例10: toString
import edu.berkeley.nlp.util.Numberer; //导入方法依赖的package包/类
@Override
public String toString() {
Numberer n = Numberer.getGlobalNumberer("tags");
String lState = (String) n.object(leftChildState);
if (lState.endsWith("^g"))
lState = lState.substring(0, lState.length() - 2);
String rState = (String) n.object(rightChildState);
if (rState.endsWith("^g"))
rState = rState.substring(0, rState.length() - 2);
String pState = (String) n.object(parentState);
if (pState.endsWith("^g"))
pState = pState.substring(0, pState.length() - 2);
StringBuilder sb = new StringBuilder();
if (scores == null)
return pState + " -> " + lState + " " + rState + "\n";
// sb.append(pState+ " -> "+lState+ " "+rState+ "\n");
for (int lS = 0; lS < scores.length; lS++) {
for (int rS = 0; rS < scores[lS].length; rS++) {
if (scores[lS][rS] == null)
continue;
for (int pS = 0; pS < scores[lS][rS].length; pS++) {
double p = scores[lS][rS][pS];
if (p > 0)
sb.append(pState + "_" + pS + " -> " + lState + "_"
+ lS + " " + rState + "_" + rS + " " + p + "\n");
}
}
}
return sb.toString();
}
示例11: toString
import edu.berkeley.nlp.util.Numberer; //导入方法依赖的package包/类
@Override
public String toString() {
StringBuffer sb = new StringBuffer();
Numberer tagNumberer = Numberer.getGlobalNumberer("tags");
for (int tag = 0; tag < scores.length; tag++) {
int[] counts = new int[6];
String tagS = (String) tagNumberer.object(tag);
if (tagWordIndexer[tag].size() == 0)
continue;
for (int word = 0; word < scores[tag][0].length; word++) {
sb.append(tagS + " "
+ wordIndexer.get(tagWordIndexer[tag].get(word)) + " ");
for (int sub = 0; sub < numSubStates[tag]; sub++) {
sb.append(" " + scores[tag][sub][word]);
}
for (double[] d : hierarchicalScores[tag][word]) {
sb.append("\n" + Arrays.toString(d));
}
counts[finalLevels[tag][word]]++;
sb.append("\n\n");
}
System.out.print(tagNumberer.object(tag)
+ ", word,tag pairs per level: ");
for (int i = 1; i < 6; i++) {
System.out.print(counts[i] + " ");
}
System.out.print("\n");
}
return sb.toString();
}
示例12: printGrammarStatistics
import edu.berkeley.nlp.util.Numberer; //导入方法依赖的package包/类
/**
* @param columnOutput
* @param pData
* @param tagNumberer
* @param topN
* @param gs
* @param noContinueTags
*/
private static void printGrammarStatistics(boolean columnOutput,
ParserData pData, Numberer tagNumberer, int topN,
GrammarStatistics gs, Set<Short> noContinueTags) {
System.out.println("<a name=\"grammar\"><h1>Grammar</h1></a>");
System.out.println("<div id=\"grammar\">");
// print rule probabilities
for (short curTag : noContinueTags) {
int nSubStates = pData.numSubStatesArray[curTag];
ArrayList<SearchState>[] results = new ArrayList[nSubStates];
for (short i = 0; i < nSubStates; i++) {
// do heavy computation
PriorityQueue<SearchState> pq = gs
.getTopProductions(new FullState(curTag, i));
// convert pq to array
results[i] = new ArrayList<SearchState>(topN);
while (pq.size() != 0) {
pq.peek().score = Math.exp(pq.peek().score);
results[i].add(0, pq.next());
}
}
String[][] outputMatrix = new String[topN + 1][nSubStates];
String tagName = (String) tagNumberer.object(curTag);
for (int i = 0; i < nSubStates; i++) {
outputMatrix[0][i] = tagName + "-" + i;
}
for (int j = 0; j < topN; j++) {
for (int i = 0; i < nSubStates; i++) {
String o = "";
double p = -1;
if (results[i].size() > j) {
p = results[i].get(j).score;
String w = results[i].get(j).toString(tagNumberer);
o = f.format(p) + " " + w;
}
outputMatrix[j + 1][i] = o;
}
}
printRules("Grammar", "productions", columnOutput, outputMatrix);
}
System.out.println("</div>");
}
示例13: SpanPredictor
import edu.berkeley.nlp.util.Numberer; //导入方法依赖的package包/类
public SpanPredictor(int nWords, StateSetTreeList trainTrees,
Numberer tagNumberer, Indexer<String> wordIndexer) {
this.useFirstAndLast = ConditionalTrainer.Options.useFirstAndLast;
this.usePreviousAndNext = ConditionalTrainer.Options.usePreviousAndNext;
this.useBeginAndEndPairs = ConditionalTrainer.Options.useBeginAndEndPairs;
this.useSyntheticClass = ConditionalTrainer.Options.useSyntheticClass;
this.usePunctuation = ConditionalTrainer.Options.usePunctuation;
this.minFeatureFrequency = ConditionalTrainer.Options.minFeatureFrequency;
this.wordIndexer = wordIndexer;
this.nWords = nWords;
this.nFeatures = 0;
if (useSyntheticClass) {
System.out
.println("Distinguishing between real and synthetic classes.");
stateClass = new int[tagNumberer.total()];
for (int i = 0; i < tagNumberer.total(); i++) {
String state = (String) tagNumberer.object(i);
if (state.charAt(0) == '@')
stateClass[i] = 1; // synthetic
}
nClasses = 2;
} else {
stateClass = new int[tagNumberer.total()];
nClasses = 1;
}
if (useFirstAndLast) {
firstWordScore = new double[nWords][nClasses];
lastWordScore = new double[nWords][nClasses];
ArrayUtil.fill(firstWordScore, 1);
ArrayUtil.fill(lastWordScore, 1);
this.nFeatures += 2 * nWords * nClasses;
}
if (usePreviousAndNext) {
previousWordScore = new double[nWords][nClasses];
nextWordScore = new double[nWords][nClasses];
ArrayUtil.fill(previousWordScore, 1);
ArrayUtil.fill(nextWordScore, 1);
this.nFeatures += 2 * nWords * nClasses;
}
if (useBeginAndEndPairs) {
initPairs(trainTrees);
}
if (usePunctuation) {
initPunctuations(trainTrees);
}
}
示例14: toStringShort
import edu.berkeley.nlp.util.Numberer; //导入方法依赖的package包/类
public String toStringShort() {
Numberer n = Numberer.getGlobalNumberer("tags");
String cState = (String) n.object(childState);
String pState = (String) n.object(parentState);
return (pState + " -> " + cState);
}