Package edu.washington.cs.knowitall.commonlib

Examples of edu.washington.cs.knowitall.commonlib.Range


        List<String> input = split("B-X I-X O B-Y I-Y O B-Z");
        seq.addSpanLayer("layer", input);
        BIOLayeredSequence sub = seq.getSubSequence(0, 2);
        assertEquals(2, sub.getLength());
        assertEquals(1, sub.getSpans("layer").size());
        assertEquals(new Range(0,2), sub.getSpans("layer").get(0));
       
        sub = seq.getSubSequence(1, 2);
        assertEquals(2, sub.getLength());
        assertEquals(1, sub.getSpans("layer").size());
        assertEquals(new Range(0,1), sub.getSpans("layer").get(0));
       
        sub = seq.getSubSequence(1, 6);
        assertEquals(6, sub.getLength());
        assertEquals(3, sub.getSpans("layer").size());
        assertEquals(1, sub.getSpans("layer", "X").size());
View Full Code Here


        String sentStr = " [NP Numerous/JJ Palestinian/JJ churches/NNS] [VP are/VBP holding/VBG] [NP special/JJ prayers/NNS] [NP this/DT morning/NN] [PP for/IN] [NP all/PDT those/DT suffering/VBG and/CC mourning/VBG] [PP in/IN] [NP the/DT wake/NN] [PP of/IN] [NP this/DT unthinkable/JJ tragedy/NN] ./.";
        int expectedLength = 23;
        String[] expectedPos = "JJ JJ NNS VBP VBG JJ NNS DT NN IN PDT DT VBG CC VBG IN DT NN IN DT JJ NN .".split(" ");
        String[] expectedToks = "Numerous Palestinian churches are holding special prayers this morning for all those suffering and mourning in the wake of this unthinkable tragedy .".split(" ");
        ArrayList<Range> expectedRanges = new ArrayList<Range>();
        expectedRanges.add(new Range(0, 3)); // Numerouse Palestinian churches
        expectedRanges.add(new Range(5, 2)); // special prayers
        expectedRanges.add(new Range(7, 2)); // this morning
        expectedRanges.add(new Range(10, 5)); // all those suffering and mourning
        expectedRanges.add(new Range(16, 2)); // the wake
        expectedRanges.add(new Range(19, 3)); // this unthinkable tragedy

        OpenNlpChunkedSentenceParser reader = new OpenNlpChunkedSentenceParser();
        reader.attachOfs(false);
        ChunkedSentence sent = reader.parseSentence(sentStr);
View Full Code Here

        return new ChunkedSentence(split(toks), split(pos), split(chunks));
    }
   
    private static ChunkedBinaryExtraction toExtr(ChunkedSentence sent,
        int xs, int xl, int rs, int rl, int ys, int yl) {
        ChunkedExtraction rel = new ChunkedExtraction(sent, new Range(rs, rl));
        ChunkedArgumentExtraction x = new ChunkedArgumentExtraction(sent,
                new Range(xs,xl), rel);
        ChunkedArgumentExtraction y = new ChunkedArgumentExtraction(sent,
                new Range(ys,yl), rel);
        return new ChunkedBinaryExtraction(rel, x, y);
    }
View Full Code Here

            int start = i;
            while (i < n && isNumber(tokens[i]))
                i++;

            if (isOrdinal(tokens[i - 1])) {
                Range r = new Range(start, i - start);
                results.add(r);
            }

        }
        return results;
View Full Code Here

        int n = getSentence().getLength();
        ArrayList<String> result = new ArrayList<String>(n);
        for (int i = 0; i < n; i++)
            result.add("O");
        for (String fieldName : getFieldNames()) {
            Range r = getFieldRange(fieldName);
            int start = r.getStart();
            int end = r.getEnd();
            result.set(start, "B-" + fieldName);
            for (int j = start + 1; j < end; j++) {
                result.set(j, "I-" + fieldName);
            }
        }
View Full Code Here

        List<ChunkedExtraction> tFields = new ArrayList<ChunkedExtraction>(
                numFields);
        this.namedFields = new HashMap<String, ChunkedExtraction>(numFields);

        for (int i = 0; i < numFields; i++) {
            Range range = fieldRanges.get(i);
            ChunkedExtraction field = new ChunkedExtraction(sent, range);
            String fieldName = fieldNames.get(i);
            tFields.add(field);
            namedFields.put(fieldName, field);
        }
View Full Code Here

        }
        // hack to add relations that only have one argument.
        if (allowUnaryRelations && results.isEmpty()) {
            for (ChunkedArgumentExtraction arg1 : arg1s) {
                Range dummyRange = new Range(rel.getRange().getStart()
                        + rel.getRange().getLength(), 0);
                ChunkedArgumentExtraction arg2 = new ChunkedArgumentExtraction(
                        rel.getSentence(), dummyRange, rel);
                ChunkedBinaryExtraction extr = new ChunkedBinaryExtraction(rel,
                        arg1, arg2);
                results.add(extr);
            }
            for (ChunkedArgumentExtraction arg2 : arg2s) {
                Range dummyRange = new Range(rel.getRange().getStart(), 0);
                ChunkedArgumentExtraction arg1 = new ChunkedArgumentExtraction(
                        rel.getSentence(), dummyRange, rel);
                ChunkedBinaryExtraction extr = new ChunkedBinaryExtraction(rel,
                        arg1, arg2);
                results.add(extr);
View Full Code Here

        }
    }

    public boolean prevStop(ChunkedExtraction extr, int current) {

        if (!matches(ChunkedSentenceToken.tokenize(extr.getSentence(), new Range(0, extr.getStart())),
                "between_commas", true)
                && !matches(
                        ChunkedSentenceToken.tokenize(extr.getSentence(), new Range(0, extr.getStart())),
                        "between_quotes", true)) {
            if ((!extr.getSentence().getPosTag(current).equals("WDT")
                    && !extr.getSentence().getPosTag(current).equals("WRB")
                    && !extr.getSentence().getPosTag(current).equals("WP") && matches(
                        ChunkedSentenceToken.tokenize(extr.getSentence(), new Range(0, current + 1)),
                        "double_np", true))
                    || matches(ChunkedSentenceToken.tokenize(extr.getSentence(),
                            new Range(0, current + 1)), "if", true)
                    || matches(ChunkedSentenceToken.tokenize(extr.getSentence(),
                            new Range(0, current + 1)), "verb_np", true)) {
                return true;
            }
        }
        return false;
    }
View Full Code Here

    public boolean matchesAppositiveClause2(ChunkedExtraction extr, int current) {
        if (!extr.getSentence().getChunkTag(current).equals("B-NP")) {
            return false;
        }
        int length = extr.getStart() - current;
        if (matches(ChunkedSentenceToken.tokenize(extr.getSentence(), new Range(current, length)),
                "app_3", true)) {
            return true;
        }
        return false;
    }
View Full Code Here

        }
        return false;
    }

    public boolean matchesRelativeClause(ChunkedExtraction extr, int argend) {
        if (matches(ChunkedSentenceToken.tokenize(extr.getSentence(), new Range(0, argend)),
                "relative_clause", true)
                && !(extr.getSentence().getChunkTag(argend - 1).contains("NP") && extr
                        .getSentence().getChunkTag(argend).equals("B-VP"))) {
            return true;
        }
View Full Code Here

TOP

Related Classes of edu.washington.cs.knowitall.commonlib.Range

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.