private String getMaxHiddenVariable(String frame, int[] intTokNums, String[][] data) { THashSet<String> hiddenUnits = mFrameMap.get(frame); String maxHV = null; double maxVal = -Double.MAX_VALUE; DependencyParse parse = DependencyParse.processFN(data, 0.0); for (String unit : hiddenUnits) { FeatureExtractor featex = new FeatureExtractor(); IntCounter<String> valMap = featex.extractFeaturesLessMemory( frame, intTokNums, unit, data, "test", mRelatedWordsForWord, mRevisedRelationsMap, mHVLemmas, parse); Set<String> features = valMap.keySet(); double featSum = 0.0; for (String feat : features) { double val = valMap.getT(feat); int ind = localA.get(feat); double paramVal = V[ind].exponentiate(); double prod = val * paramVal; featSum += prod; } double expVal = Math.exp(featSum); if (expVal > maxVal) { maxVal = expVal; maxHV = unit; } } return maxHV; }
private double getValueForFrame(String frame, int[] intTokNums, String[][] data) { THashSet<String> hiddenUnits = mFrameMap.get(frame); double result = 0.0; DependencyParse parse = DependencyParse.processFN(data, 0.0); for (String unit : hiddenUnits) { IntCounter<String> valMap = null; FeatureExtractor featex = new FeatureExtractor(); if (clusterMap == null) { valMap = featex.extractFeaturesLessMemory( frame, intTokNums, unit, data, "test", mRelatedWordsForWord, mRevisedRelationsMap, mHVLemmas, parse); } else { // not supported valMap = featex.extractFeaturesWithClusters( frame, intTokNums, unit, data, mWNR, "test", null, null, parse, clusterMap, K); } Set<String> features = valMap.keySet(); double featSum = 0.0; for (String feat : features) { double val = valMap.getT(feat); int ind = localA.get(feat); double paramVal = V[ind].exponentiate(); double prod = val * paramVal; featSum += prod; } double expVal = Math.exp(featSum); result += expVal; } return result; }