package edu.fudan.nlp.cn.tag.format; import edu.fudan.ml.types.Instance; import edu.fudan.ml.types.InstanceSet; public class SimpleFormatter { public static String format(InstanceSet testSet, String[][] labelsSet) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < testSet.size(); i++) { Instance inst = testSet.getInstance(i); String[] labels = labelsSet[i]; sb.append(format(inst, labels)); sb.append("\n"); } return sb.toString(); } public static String format(Instance inst, String[] labels) { StringBuilder sb = new StringBuilder(); String[][] data = (String[][]) inst.getSource(); for (int i = 0; i < data[0].length; i++) { sb.append(data[0][i]); sb.append("\t"); sb.append(labels[i]); sb.append("\n"); } return sb.toString(); } public static String format(InstanceSet testSet, String[][] labelsSet, String[][] target) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < testSet.size(); i++) { Instance inst = testSet.getInstance(i); String[] labels = labelsSet[i]; sb.append(format(inst, labels, target[i])); sb.append("\n"); } return sb.toString(); } public static String format(Instance inst, String[] labels, String[] target) { StringBuilder sb = new StringBuilder(); String[][] data = (String[][]) inst.getSource(); int feaNum = data.length; int seqNum = data[0].length; for (int i = 0; i < seqNum; i++) { for (int j = 0; j < feaNum; j++) { sb.append(data[j][i]); sb.append(" "); } sb.append(target[i]); sb.append(" "); sb.append(labels[i]); sb.append("\n"); } return sb.toString(); } }