All Downloads are FREE. Search and download functionalities are using the official Maven repository.

Annotation.Sentence.Propbank.SentencePropbankPredicatePanel Maven / Gradle / Ivy

package Annotation.Sentence.Propbank;

import AnnotatedSentence.AnnotatedSentence;
import AnnotatedSentence.AnnotatedWord;
import AnnotatedSentence.ViewLayerType;
import AutoProcessor.Sentence.Propbank.TurkishSentenceAutoPredicate;
import DataCollector.Sentence.SentenceAnnotatorPanel;
import Dictionary.Pos;
import PropBank.Argument;
import PropBank.FramesetList;
import WordNet.WordNet;

import java.awt.*;

public class SentencePropbankPredicatePanel extends SentenceAnnotatorPanel {
    private TurkishSentenceAutoPredicate turkishSentenceAutoPredicate;
    private WordNet wordNet;

    public SentencePropbankPredicatePanel(String currentPath, String fileName, FramesetList xmlParser, WordNet wordNet){
        super(currentPath, fileName, ViewLayerType.PROPBANK);
        setLayout(new BorderLayout());
        this.wordNet = wordNet;
        turkishSentenceAutoPredicate = new TurkishSentenceAutoPredicate(xmlParser);
    }

    public void autoDetect(){
        if (turkishSentenceAutoPredicate.autoPredicate(sentence)){
            sentence.save();
            this.repaint();
        }
    }

    public int populateLeaf(AnnotatedSentence sentence, int wordIndex){
        AnnotatedWord word = (AnnotatedWord) sentence.getWord(wordIndex);
        listModel.clear();
        listModel.addElement(new Argument("NONE", null));
        if (word.getSemantic() != null && wordNet.getSynSetWithId(word.getSemantic()) != null && wordNet.getSynSetWithId(word.getSemantic()).getPos().equals(Pos.VERB)){
            listModel.addElement(new Argument("PREDICATE", word.getSemantic()));
        }
        if (word.getArgument() != null && word.getArgument().getArgumentType().equals("NONE")){
            return 0;
        }
        if (word.getArgument() != null && word.getArgument().getArgumentType().equals("PREDICATE") && word.getArgument().getId().equals(word.getSemantic())){
            return 1;
        }
        return -1;
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy