Examples of ChunkedSentence


Examples of edu.washington.cs.knowitall.nlp.ChunkedSentence

                // First three lines define the sentence
                String[] tokens = lines[0].split(" ");
                String[] posTags = lines[1].split(" ");
                String[] npChunkTags = lines[2].split(" ");
                ChunkedSentence sent = new ChunkedSentence(tokens, posTags,
                        npChunkTags);

                // Next two lines define arg1: first is the tokens, then is the
                // range. Only need
                // the range to construct the extraction.
View Full Code Here

Examples of edu.washington.cs.knowitall.nlp.ChunkedSentence

        ChunkedSentenceIterator sentenceIt = reader.iterator();

        while (sentenceIt.hasNext()) {
            // get the next chunked sentence
            ChunkedSentence sent = sentenceIt.next();
            chunkTime += sentenceIt.getLastComputeTime();

            numSents++;

            // make the extractions
View Full Code Here

Examples of edu.washington.cs.knowitall.nlp.ChunkedSentence

    private void printExtr(NormalizedBinaryExtraction extr, double conf) {
        String arg1 = extr.getArgument1().toString();
        String rel = extr.getRelation().toString();
        String arg2 = extr.getArgument2().toString();

        ChunkedSentence sent = extr.getSentence();
        String toks = sent.getTokensAsString();
        String pos = sent.getPosTagsAsString();
        String chunks = sent.getChunkTagsAsString();
        String arg1Norm = extr.getArgument1Norm().toString();
        String relNorm = extr.getRelationNorm().toString();
        String arg2Norm = extr.getArgument2Norm().toString();

        Range arg1Range = extr.getArgument1().getRange();
View Full Code Here

Examples of edu.washington.cs.knowitall.nlp.ChunkedSentence

        addMapper(relStopList);

        // The POS tag of the first verb in the relation cannot be VBG or VBN
        addMapper(new FilterMapper<ChunkedExtraction>() {
            public boolean doFilter(ChunkedExtraction rel) {
                ChunkedSentence sent = rel.getSentence();
                int start = rel.getStart();
                int length = rel.getLength();
                for (int i = start; i < start + length; i++) {
                    String posTag = sent.getPosTags().get(i);

                    if (posTag.startsWith("VB")) {
                        return !posTag.equals("VBG") && !posTag.equals("VBN");
                    }
                }
View Full Code Here

Examples of edu.washington.cs.knowitall.nlp.ChunkedSentence

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) {
            return false;
        }

        // Can't match "ARG and REL"
        if (argEnd < sentLen - 1 && sent.getTokens().get(argEnd).equals("and") && relStart == argEnd + 1) {
            return false;
        }

        // Can't match "ARG, and REL"
        if (argEnd < sentLen - 2 && sent.getTokens().get(argEnd).equals(",") && sent.getTokens().get(argEnd + 1).equals("and") && relStart == argEnd + 2) {
            return false;
        }

        return true;
View Full Code Here

Examples of edu.washington.cs.knowitall.nlp.ChunkedSentence

    protected abstract Range rangeToExamine(ChunkedBinaryExtraction cbe);

    @Override
    public boolean apply(ChunkedBinaryExtraction cbe) {

        ChunkedSentence sentence = cbe.getSentence();
        for (Integer index : rangeToExamine(cbe)) {

            // bounds check
            if (index < 0 || index > sentence.getLength()) {
                continue;
            }

            if (testAtIndex(index, sentence)) {
View Full Code Here

Examples of edu.washington.cs.knowitall.nlp.ChunkedSentence

            final Set<String> keyWords) {
        return new Predicate<ChunkedBinaryExtraction>() {
            @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);
                    if (keyWords.contains(lemma.toLowerCase())) {
                        return true;
                    }
View Full Code Here

Examples of edu.washington.cs.knowitall.nlp.ChunkedSentence

            final Set<String> keyWords) {
        return new Predicate<ChunkedBinaryExtraction>() {
            @Override
            public boolean apply(ChunkedBinaryExtraction extr) {

                ChunkedSentence sentence = extr.getSentence();
                ChunkedArgumentExtraction arg1 = extr.getArgument1();
                int i = arg1.getStart() - 1;
                if (i < 0)
                    return false;
                String token = sentence.getToken(i);
                String pos = sentence.getPosTag(i);
                String lemma = stemmer.stemSingleToken(token, pos);
                if (keyWords.contains(lemma.toLowerCase())) {
                    return true;
                }
                return false;
View Full Code Here

Examples of edu.washington.cs.knowitall.nlp.ChunkedSentence

            @Override
            public boolean apply(ChunkedBinaryExtraction extr) {
                // find all matches to the list pattern. If arg2 overlaps with
                // the match, return true.
                ChunkedArgumentExtraction arg2 = extr.getArgument2();
                ChunkedSentence sentence = arg2.getSentence();
                List<Match<ChunkedSentenceToken>> matchList = listPattern2
                        .findAll(ChunkedSentenceToken.tokenize(sentence));
                for (Match<ChunkedSentenceToken> match : matchList) {
                    Range matchRange = new Range(match.startIndex(),
                            match.endIndex() - match.startIndex());
View Full Code Here

Examples of edu.washington.cs.knowitall.nlp.ChunkedSentence

     * @return the feature
     */
    private Predicate<ChunkedBinaryExtraction> extrCoversPhrase() {
        return new Predicate<ChunkedBinaryExtraction>() {
            public boolean apply(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(".");

                int l = sent.getLength() - 1;
                int yr = y.getLastIndex();
                boolean rightOk = yr == l || tokens.get(yr + 1).equals(",")
                        || tokens.get(yr + 1).equals(".");

                return adj && leftOk && rightOk;
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.