Package edu.washington.cs.knowitall.commonlib

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


    private boolean extrCoversPhrase(ChunkedBinaryExtraction e) {

        ChunkedSentence sent = e.getSentence();
        List<String> tokens = sent.getTokens();

        Range x = e.getArgument1().getRange();
        Range y = e.getArgument2().getRange();
        Range r = e.getRelation().getRange();
        boolean adj = x.isAdjacentTo(r) && r.isAdjacentTo(y);

        int xs = x.getStart();
        boolean leftOk = xs == 0 || tokens.get(xs - 1).equals(",")
                || tokens.get(xs - 1).equals(".");
View Full Code Here


    public static ExtractionFeature relSingleToken(Collection<String> tokens) {
        return new TokenFeature(tokens) {
            @Override
            protected Range rangeToExamine(ChunkedBinaryExtraction cbe) {

                Range range = cbe.getRelation().getRange();
                if (range.getLength() == 1)
                    return range;
                else
                    return Range.EMPTY;
            }
View Full Code Here

        Collections.sort(ranges, Range.getStartComparator());
        List<Range> result = new ArrayList<Range>(ranges.size());
        if (ranges.size() > 1) {
            result.add(ranges.get(0));
            for (int i = 1; i < ranges.size(); i++) {
                Range curr = ranges.get(i);
                Range prev = result.get(result.size() - 1);
                if (prev.isAdjacentOrOverlaps(curr)) {
                    Range updated = curr.join(prev);
                    result.set(result.size() - 1, updated);
                } else {
                    result.add(curr);
                }
            }
View Full Code Here

        String chunks = sent.getChunkTagsAsString();
        String arg1Norm = extr.getArgument1Norm().toString();
        String relNorm = extr.getRelationNorm().toString();
        String arg2Norm = extr.getArgument2Norm().toString();

        Range arg1Range = extr.getArgument1().getRange();
        Range relRange = extr.getRelation().getRange();
        Range arg2Range = extr.getArgument2().getRange();
        String a1s = String.valueOf(arg1Range.getStart());
        String a1e = String.valueOf(arg1Range.getEnd());
        String rs = String.valueOf(relRange.getStart());
        String re = String.valueOf(relRange.getEnd());
        String a2s = String.valueOf(arg2Range.getStart());
        String a2e = String.valueOf(arg2Range.getEnd());

        String row = Joiner.on("\t").join(
                new String[] { currentFile, String.valueOf(numSents), arg1,
                        rel, arg2, a1s, a1e, rs, re, a2s, a2e,
                        String.valueOf(conf), toks, pos, chunks, arg1Norm,
View Full Code Here

        private Range readRange(String line) throws IOException {
            String[] startLen = line.split(" ");
            int start = Integer.parseInt(startLen[0]);
            int length = Integer.parseInt(startLen[1]);
            return new Range(start, length);
        }
View Full Code Here

                        npChunkTags);

                // Next two lines define arg1: first is the tokens, then is the
                // range. Only need
                // the range to construct the extraction.
                Range arg1Range = readRange(lines[4]);

                // Same for the relation and arg2
                Range relRange = readRange(lines[6]);
                Range arg2Range = readRange(lines[8]);

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

                // Construct the extraction
                ChunkedExtraction rel = new ChunkedExtraction(sent, relRange);
View Full Code Here

    public static VerbTokenFeature relSingleToken(Collection<String> tokens) {
        return new VerbTokenFeature(tokens) {
            @Override
            protected Range rangeToExamine(ChunkedBinaryExtraction cbe) {

                Range range = cbe.getRelation().getRange();
                if (range.getLength() == 1)
                    return range;
                else
                    return Range.EMPTY;
            }
        };
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

                        .getToken(i + 1).equals("and") && !arg.getSentence()
                        .getToken(i + 1).equals("or"))))
                        || arg.getSentence().getToken(i).equals("and")
                        || arg.getSentence().getToken(i).equals("or")) {
                    args.add(new ChunkedArgumentExtraction(arg.getSentence(),
                            new Range(start, length), arg.getRelation()));
                    start = i + 1;
                    length = 0;
                } else if (!arg.getSentence().getToken(i).equals(",")) {
                    length++;
                }
            }
            args.add(new ChunkedArgumentExtraction(arg.getSentence(),
                    new Range(start, length), arg.getRelation()));

        } else if (patternextractor.matchesAppositiveStrict(arg)) {
            int start = arg.getStart();
            int length = 0;
            for (int i = arg.getStart(); i < arg.getStart() + arg.getLength(); i++) {
                if (arg.getSentence().getToken(i).equals(",")) {
                    args.add(new ChunkedArgumentExtraction(arg.getSentence(),
                            new Range(start, length), arg.getRelation()));
                    start = i + 1;
                    length = 0;
                } else {
                    length++;
                }
            }
            args.add(new ChunkedArgumentExtraction(arg.getSentence(),
                    new Range(start, length), arg.getRelation()));

        } else {
            args.add(arg);
        }
        return args;
View Full Code Here

            double[] leftbound_conf = getArg1LeftBound(predicate, rightbound);
            int leftbound = (int) leftbound_conf[0];
            if (leftbound >= 0) {
                double conf = leftbound_conf[1];
                ChunkedArgumentExtraction arg1 = new ChunkedArgumentExtraction(
                        predicate.getSentence(), new Range(leftbound, rightbound
                                - leftbound), predicate, conf);
                return arg1;
            }
        }
        return null;
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.