Example usage for edu.stanford.nlp.ling IndexedWord toString

List of usage examples for edu.stanford.nlp.ling IndexedWord toString

Introduction

In this page you can find the example usage for edu.stanford.nlp.ling IndexedWord toString.

Prototype

@Override
public String toString() 

Source Link

Document

Returns the value-tag of this label.

Usage

From source file:opendial.bn.values.RelationalVal.java

License:Open Source License

@Override
public boolean contains(Value subvalue) {
    for (IndexedWord word : graph.vertexSet()) {
        if (word.toString().contains(subvalue.toString())) {
            return true;
        }//from ww w .j a  v a  2 s  .  c om
    }
    return false;
}

From source file:opendial.bn.values.RelationalVal.java

License:Open Source License

@Override
public Collection<Value> getSubValues() {
    List<Value> subvals = new ArrayList<Value>();
    for (IndexedWord word : graph.vertexSet()) {
        subvals.add(ValueFactory.create(word.toString()));
    }//  w  ww .  j  a  v a  2s.com
    return subvals;
}

From source file:semRewrite.datesandnumber.DateAndNumbersGeneration.java

License:Open Source License

/** ***************************************************************
 * * Generates a set of sumo terms corresponding to measure functions. Identifies the unit of measurement,
 *  value of measurement and entity of the measurement by performing a graph search. 
 * @param input: The tokens, count of measure, utility value.
 *///w ww.j av  a  2 s .  c  om
private void measureFn(Tokens token, int count, Utilities utilities) {

    IndexedWord tokenNode = utilities.StanfordDependencies.getNodeByIndex(token.getId());
    IndexedWord unitOfMeasurementNode = utilities.StanfordDependencies.getParent(tokenNode);
    IndexedWord measuredEntity = null;
    String posTagRemover = null;
    String unitOfMeasurementStr = "";
    String sumoUnitOfMeasure = "";
    List<String> visitedNodes = new ArrayList<String>();
    Matcher posTagRemoverMatcher = null;
    String measuredEntityStr = null;
    boolean flag = false;
    //int x = 0;
    // fix to remove comma in numbers
    if (token.getWord().contains(",")) {
        token.setWord(token.getWord().replaceAll(",", ""));
    }
    if (unitOfMeasurementNode != null) {
        //unitOfMeasurementStr = lemmatizeWord(unitOfMeasurementNode);
        unitOfMeasurementStr = unitOfMeasurementNode.word();
        measuredEntity = utilities.StanfordDependencies.getParent(unitOfMeasurementNode);
        visitedNodes.add(unitOfMeasurementNode.toString() + "-" + unitOfMeasurementNode.index());
    }
    if ((measuredEntity == null) && (unitOfMeasurementNode != null)) {
        for (SemanticGraphEdge e : utilities.StanfordDependencies.getOutEdgesSorted(unitOfMeasurementNode)) {
            if ((e.getRelation().toString().equals("nsubj")) || (e.getRelation().toString().equals("dobj"))) {
                measuredEntity = e.getDependent();
                flag = true;
                break;
            }
        }
    } else if ((measuredEntity == null) && (unitOfMeasurementNode == null)) {
        return;
    }
    while ((measuredEntity != null) && (!flag)) {
        measuredEntityStr = measuredEntity.value() + "-" + measuredEntity.index();
        if (!visitedNodes.contains(measuredEntityStr)) {
            visitedNodes.add(measuredEntityStr);
        }
        posTagRemoverMatcher = POS_TAG_REMOVER.matcher(measuredEntity.toString());
        if (posTagRemoverMatcher.find()) {
            posTagRemover = posTagRemoverMatcher.group(1);
            if (Utilities.nounTags.contains(posTagRemover)) {
                break;
            }
            //IndexedWord tempMeasuredEntity = StanfordDependencies.getParent(measuredEntity);
            if (utilities.StanfordDependencies.getParent(measuredEntity) == null) {
                Set<IndexedWord> childrenSet = utilities.StanfordDependencies.getChildren(measuredEntity);
                //which means it is unitOfMeasurementNode. Hence remove infinite looping condition
                if ((childrenSet.size() == 1)) {
                    measuredEntity = unitOfMeasurementNode;
                    //String lemmatizedWord = lemmatizeWord(measuredEntity);
                    utilities.sumoTerms.add("measure(" + measuredEntity.word() + "-" + measuredEntity.index()
                            + ", measure" + count + ")");
                    utilities.sumoTerms.add("unit(measure" + count + ", " + "memberCount" + ")");
                    utilities.sumoTerms.add("value(measure" + count + ", " + token.getWord() + ")");
                    utilities.sumoTerms.add("valueToken(" + token.getWord() + "," + token.getWord() + "-"
                            + token.getId() + ")");
                    flag = true;
                    return;
                }
                IndexedWord measuredEntity_temp = null;
                for (IndexedWord child : childrenSet) {
                    String childPosTagRemover = null;
                    posTagRemoverMatcher = POS_TAG_REMOVER.matcher(child.toString());
                    //childPosTagRemover = posTagRemoverMatcher.group(1);
                    if (posTagRemoverMatcher.find()) {
                        childPosTagRemover = posTagRemoverMatcher.group(1);
                    }
                    if (!(visitedNodes.contains(child.toString() + "-" + child.index()))
                            && (Utilities.nounTags.contains(childPosTagRemover.replaceFirst("\\/", "")))) {
                        if ((utilities.StanfordDependencies.reln(measuredEntity, child) != null)
                                && (utilities.StanfordDependencies.reln(measuredEntity, child).getShortName()
                                        .equals("nsubj"))) {
                            measuredEntity = child;
                            visitedNodes.add(child.toString() + "-" + child.index());
                            flag = true;
                            break;
                        }
                        measuredEntity_temp = child;
                        visitedNodes.add(child.toString() + "-" + child.index());
                    }
                }
                if (!flag) {
                    measuredEntity = measuredEntity_temp;
                    flag = true;
                }

            } else {
                measuredEntity = utilities.StanfordDependencies.getParent(measuredEntity);
            }
        }
    }
    if (measuredEntity != null) {
        String lemmatizedWord = lemmatizeWord(measuredEntity);
        utilities.sumoTerms
                .add("measure(" + lemmatizedWord + "-" + measuredEntity.index() + ", measure" + count + ")");
    }
    sumoUnitOfMeasure = lemmatizeWord(unitOfMeasurementNode);
    sumoUnitOfMeasure = WSD.getBestDefaultSUMOsense(sumoUnitOfMeasure, 1);
    if ((sumoUnitOfMeasure != null) && (!sumoUnitOfMeasure.isEmpty())) {
        sumoUnitOfMeasure = sumoUnitOfMeasure.replaceAll("[^\\p{Alpha}\\p{Digit}]+", "");
    } else {
        if ((measuredEntity != null) && (unitOfMeasurementStr.equals(measuredEntity.value()))) {
            unitOfMeasurementStr = "memberCount";
        }
        sumoUnitOfMeasure = unitOfMeasurementStr;
    }
    utilities.sumoTerms.add("unit(measure" + count + ", " + sumoUnitOfMeasure + ")");
    utilities.sumoTerms.add("value(measure" + count + ", " + token.getWord() + ")");
    utilities.sumoTerms
            .add("valueToken(" + token.getWord() + "," + token.getWord() + "-" + token.getId() + ")");
    WordNet.wn.initOnce();
}