public static <I extends Info, S extends AbstractNode<I,S>> Set<String> lemmasLowerCaseOfNodes(Iterable<S> nodes) { Set<String> ret = new LinkedHashSet<>(); for (S node : nodes) { ret.add(InfoGetFields.getLemma(node.getInfo()).toLowerCase()); } return ret; }
public static boolean infoHasLemma(Info info) { boolean ret = false; String lemma = InfoGetFields.getLemma(info, ""); lemma = lemma.trim(); if ( ( StringUtil.hasNeitherLetterNorDigit(lemma) ) || (MINIPAR_NON_WORDS_LEMMAS.contains(lemma)) ) ret = false; else ret = true; return ret; }
public static boolean infoIsNumber(Info info) { String lemma = InfoGetFields.getLemma(info); return StringUtil.isNumber(lemma); }
private List<String> convertNodesToStrings(Set<ExtendedNode> nodes) { if (nodes==null) {return null;} List<String> ret = new ArrayList<>(nodes.size()); for (ExtendedNode node : nodes) { ret.add(InfoGetFields.getLemma(node.getInfo())); } return ret; }
private void printNodeInfo(StringBuffer sb, Info info) { String lemma = InfoGetFields.getLemma(info); String word = InfoGetFields.getWord(info); String wordOrLemma = word; if (wordOrLemma.length()==0) wordOrLemma = lemma; sb.append(wordOrLemma).append(" "); }
private String infoToString(I info) { String lemma = InfoGetFields.getLemma(info).trim().toLowerCase(); lemma.replaceAll("<", "#"); lemma.replaceAll(">", "#"); lemma.replaceAll(":", "#"); String pos = posOfInfo(info); return pos+":"+lemma+":"+pos; }
private String lemma(S node) { return InfoGetFields.getLemma(node.getInfo()); }
private String lemmaOfNode_lowerCase(ExtendedNode node) { return InfoGetFields.getLemma(node.getInfo()).toLowerCase(); }
private void addLemmasOfTextFromTree(S tree) { for (S node : TreeIterator.iterableTree(tree)) { lemmasOfText_lowerCase.add(InfoGetFields.getLemma(node.getInfo()).toLowerCase()); } }
private Set<String> allLemmasOfArgument_lowerCase(TypedArgument<I, S> argument) { Set<String> ret = new LinkedHashSet<>(); for (S node : argument.getArgument().getNodes()) { ret.add(InfoGetFields.getLemma(node.getInfo()).toLowerCase()); } return ret; }
@Override public String toString() { return "ExtendedInfo [nodeInfo=" + InfoGetFields.getLemma(nodeInfo) + "/" + InfoGetFields.getPartOfSpeech(nodeInfo) + ", edgeInfo=" + InfoGetFields.getRelation(edgeInfo) + ", id=" + id + ", additionalNodeInformation=" + additionalNodeInformation + "]"; }
private static boolean isContentVerb(Info info) { boolean ret = false; if (isVerb(info)) { String lemma = InfoGetFields.getLemma(info); if (!StringUtil.setContainsIgnoreCase(NON_CONTENT_VERBS, lemma)) ret = true; } return ret; }
private Set<String> matchingLemmasOfArguments(Set<PredicateAndArgument<I, S>> textMatchingArguments) { Set<String> ret = new LinkedHashSet<>(); for (PredicateAndArgument<I, S> argument : textMatchingArguments) { for (S node : argument.getArgument().getArgument().getNodes()) { ret.add(InfoGetFields.getLemma(node.getInfo())); } } return ret; }
public void map() { mapIdToLemma = new LinkedHashMap<SrlPredicateId, String>(); for (ExtendedNode node : TreeIterator.iterableTree(tree)) { SrlPredicateId id = ExtendedInfoGetFields.getSrlPredicateId(node.getInfo()); if (id != null) { mapIdToLemma.put(id,InfoGetFields.getLemma(node.getInfo())); } } }
private boolean argumentsSameHead(TypedArgument<I, S> argument1, TypedArgument<I, S> argument2) { String lemma1 = InfoGetFields.getLemma(argument1.getArgument().getSemanticHead().getInfo()); String lemma2 = InfoGetFields.getLemma(argument2.getArgument().getSemanticHead().getInfo()); if (lemma1.equalsIgnoreCase(lemma2)) return true; else return false; }
public String toShortString() { StringBuffer ret = new StringBuffer(); String id = textNodeToBeSubstituted.getInfo().getId(); String lemma = InfoGetFields.getLemma(textNodeToBeSubstituted.getInfo()); String pos = InfoGetFields.getPartOfSpeech(textNodeToBeSubstituted.getInfo()); ret.append(StringUtil.capitalizeFirstLetterOnly(ruleBaseName)); ret.append(" substitute "); ret.append(NodePrintUtilities.nodeDetailsToString(id, lemma, pos)); return ret.toString(); }
public static boolean areEqualNodes(Info info1, Info info2) { if ((info1==null) && (info2==null))return true; else if ((info1==null) || (info2==null))return false; String lemma1 = InfoGetFields.getLemma(info1); String lemma2 = InfoGetFields.getLemma(info2); SimplerCanonicalPosTag canonicalPos1 = simplerPos(InfoGetFields.getPartOfSpeechObject(info1).getCanonicalPosTag()); SimplerCanonicalPosTag canonicalPos2 = simplerPos(InfoGetFields.getPartOfSpeechObject(info2).getCanonicalPosTag()); if ( (lemma1.equalsIgnoreCase(lemma2)) && (canonicalPos1.equals(canonicalPos2))) return true; else return false; }
@Override public String toShortString() { StringBuffer sb = new StringBuffer(); sb.append("Insert "); sb.append(NodePrintUtilities.nodeDetailsToString( hypothesisNodeToInsert.getInfo().getId(), InfoGetFields.getLemma(hypothesisNodeToInsert.getInfo()), InfoGetFields.getPartOfSpeech(hypothesisNodeToInsert.getInfo()), InfoGetFields.getRelation(hypothesisNodeToInsert.getInfo()))); return sb.toString(); }