Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Getting additional information (Active/Passive, Tenses ...) from a Tagger

I'm using the Stanford Tagger for determining the Parts of Speech. However, I want to get more information out of the text. Is there a possibility to get further information like the tense of the sentence or if it is in active/passive?

So far, I'm using the very basic PoS-Tagging approach:

List<List<TaggedWord>> taggedUnits = new ArrayList<List<TaggedWord>>();

String input = "This sentence is going to be future. The door was opened.";
for (List<HasWord> sentence : MaxentTagger.tokenizeText(new StringReader(input)))
{
     taggedUnits.add(tagger.tagSentence(sentence));
}
like image 303
David Müller Avatar asked Oct 21 '13 13:10

David Müller


1 Answers

You can get tense information from the various penn tags:

27. VB  Verb, base form
28. VBD Verb, past tense
29. VBG Verb, gerund or present participle
30. VBN Verb, past participle
31. VBP Verb, non-3rd person singular present
32. VBZ Verb, 3rd person singular present

About the active/passive aspect, you can use typed dependencies included in Stanford Core NLP.

  1. If the sentence is in active voice, a 'nsubj' dependecy should exist.
  2. If the sentence is in passive voice a 'nsubjpass' dependency should exist

Hope this helps.

like image 87
bogs Avatar answered Sep 30 '22 18:09

bogs