Package edu.washington.cs.knowitall.nlp.extraction

Examples of edu.washington.cs.knowitall.nlp.extraction.ChunkedExtraction


        List<String> tokens = e.getRelation().getTokens();
        return tokens.get(tokens.size() - 1).equals(token);
    }

    private boolean relOneVerb(ChunkedBinaryExtraction e) {
        ChunkedExtraction rel = e.getRelation();
        List<String> posTags = rel.getPosTags();
        return posTags.size() == 1 && posTags.get(0).startsWith("V");
    }
View Full Code Here


        List<String> posTags = rel.getPosTags();
        return posTags.size() == 1 && posTags.get(0).startsWith("V");
    }

    private boolean whichBeforeRel(ChunkedBinaryExtraction e) {
        ChunkedExtraction pred = e.getRelation();
        int predStart = pred.getStart();
        if (predStart > 0) {
            String precPosTag = e.getSentence().getPosTags().get(predStart - 1);
            String precPosToken = e.getSentence().getToken(predStart - 1);
            if (precPosTag.equals("WP") || precPosTag.equals("WDT")
                    || precPosToken.equals("that")) {
View Full Code Here

        }
        return false;
    }

    private boolean conjBeforeRel(ChunkedBinaryExtraction e) {
        ChunkedExtraction pred = e.getRelation();
        int predStart = pred.getStart();
        if (predStart > 0) {
            String precPosTag = e.getSentence().getPosTags().get(predStart - 1);
            if (precPosTag.equals("CC")) {
                return true;
            }
View Full Code Here

                Range arg2Range = readRange(lines[8]);

                int label = Integer.parseInt(lines[9]);

                // Construct the extraction
                ChunkedExtraction rel = new ChunkedExtraction(sent, relRange);
                ChunkedArgumentExtraction arg1 = new ChunkedArgumentExtraction(
                        sent, arg1Range, rel);
                ChunkedArgumentExtraction arg2 = new ChunkedArgumentExtraction(
                        sent, arg2Range, rel);
                LabeledBinaryExtraction extr = new LabeledBinaryExtraction(rel,
View Full Code Here

        }

        List<ChunkedExtraction> sorted = asSortedList(extractions);
        HashMap<Integer, List<ChunkedExtraction>> results = new HashMap<Integer, List<ChunkedExtraction>>();
        int groupNum = 0;
        ChunkedExtraction current = sorted.get(0);

        results.put(0, new ArrayList<ChunkedExtraction>());
        results.get(0).add(current);

        for (int i = 1; i < sorted.size(); i++) {
            ChunkedExtraction e = sorted.get(i);
            if (!e.isAdjacentOrOverlaps(current)) {
                groupNum++;
                results.put(groupNum, new ArrayList<ChunkedExtraction>());
            }
            results.get(groupNum).add(e);
            current = e;
View Full Code Here

    /**
     * Returns <code>true</code> if the given argument is adjacent to its relation.
     */
    public boolean doFilter(ChunkedArgumentExtraction arg) {
        ChunkedExtraction rel = arg.getRelation();
        Range argRange = arg.getRange();
        Range relRange = rel.getRange();
        return argRange.isAdjacentTo(relRange);
    }
View Full Code Here

    @Override
    /**
     * Returns the distance between <code>arg</code> and its relation, in number of words.
     */
    public Integer doValueMap(ChunkedArgumentExtraction arg) {
        ChunkedExtraction relation = arg.getRelation();
        int relStart = relation.getStart();
        int argStart = arg.getStart();
        int distance = Math.abs(argStart - relStart);
        return -distance; // return -distance since we want the minimum distance
    }
View Full Code Here

*/
public class ConjunctionCommaArgumentFilter extends FilterMapper<ChunkedArgumentExtraction> {

    @Override
    public boolean doFilter(ChunkedArgumentExtraction arg) {
        ChunkedExtraction rel = arg.getRelation();
        ChunkedSentence sent = arg.getSentence();
        int relStart = rel.getStart();
        int argEnd = arg.getStart() + arg.getLength();
        int sentLen = sent.getLength();

        // Can't match "ARG , REL"
        if (argEnd < sentLen - 1 && sent.getTokens().get(argEnd).equals(",") && relStart == argEnd + 1) {
View Full Code Here

            @Override
            public boolean apply(ChunkedBinaryExtraction extr) {

                ChunkedSentence sentence = extr.getSentence();
                ChunkedArgumentExtraction arg1 = extr.getArgument1();
                ChunkedExtraction rel = extr.getRelation();
                for (int i = arg1.getStart() + arg1.getLength(); i < rel
                        .getStart(); ++i) {
                    String token = sentence.getToken(i);
                    String pos = sentence.getPosTag(i);

                    String lemma = stemmer.stemSingleToken(token, pos);
View Full Code Here

     */
    public static PosFeature rightBeforeRel(String... posTags) {
        return new PosFeature(posTags) {
            @Override
            protected Range rangeToExamine(ChunkedBinaryExtraction cbe) {
                ChunkedExtraction rel = cbe.getRelation();
                int index = rel.getStart() - 1;
                if (index < 0 || index >= rel.getSentence().getLength()) {
                    return Range.EMPTY;
                } else
                    return Range.fromInterval(index, index + 1);
            }
        };
View Full Code Here

TOP

Related Classes of edu.washington.cs.knowitall.nlp.extraction.ChunkedExtraction

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.