public static String render(Alignment reference, Alignment proposed, SentencePair sentencePair) { StringBuilder sb = new StringBuilder(); for (int frenchPosition = 0; frenchPosition < sentencePair.getFrenchWords().size(); frenchPosition++) { for (int englishPosition = 0; englishPosition < sentencePair.getEnglishWords().size(); englishPosition++) { boolean sure = reference.containsSureAlignment(englishPosition, frenchPosition); boolean possible = reference.containsPossibleAlignment(englishPosition, frenchPosition); char proposedChar = ' '; if (proposed.containsSureAlignment(englishPosition, frenchPosition)) proposedChar = '#'; if (sure) { sb.append('['); sb.append(proposedChar); sb.append(']'); } else { if (possible) { sb.append('('); sb.append(proposedChar); sb.append(')'); } else { sb.append(' '); sb.append(proposedChar); sb.append(' '); } } } sb.append("| "); sb.append(sentencePair.getFrenchWords().get(frenchPosition)); sb.append('\n'); } for (int englishPosition = 0; englishPosition < sentencePair.getEnglishWords().size(); englishPosition++) { sb.append("---"); } sb.append("'\n"); boolean printed = true; int index = 0; while (printed) { printed = false; StringBuilder lineSB = new StringBuilder(); for (int englishPosition = 0; englishPosition < sentencePair.getEnglishWords().size(); englishPosition++) { String englishWord = sentencePair.getEnglishWords().get(englishPosition); if (englishWord.length() > index) { printed = true; lineSB.append(' '); lineSB.append(englishWord.charAt(index)); lineSB.append(' '); } else { lineSB.append(" "); } } index += 1; if (printed) { sb.append(lineSB); sb.append('\n'); } } return sb.toString(); }
public String toString() { StringBuilder sb = new StringBuilder(); for (int position = 0; position < words.size(); position++) { String word = words.get(position); String tag = tags.get(position); sb.append(word); sb.append("_"); sb.append(tag); } return sb.toString(); }
public String toString() { StringBuilder sb = new StringBuilder(); for (int englishPosition = 0; englishPosition < englishWords.size(); englishPosition++) { String englishWord = englishWords.get(englishPosition); sb.append(englishPosition); sb.append(":"); sb.append(englishWord); sb.append(" "); } sb.append("\n"); for (int frenchPosition = 0; frenchPosition < frenchWords.size(); frenchPosition++) { String frenchWord = frenchWords.get(frenchPosition); sb.append(frenchPosition); sb.append(":"); sb.append(frenchWord); sb.append(" "); } sb.append("\n"); return sb.toString(); }