forked from spinfo/verbclass
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ActantAggregatorAlgorithm.txt
42 lines (33 loc) · 1.15 KB
/
ActantAggregatorAlgorithm.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
//Algorithm of the Actant Aggregator
Given: VERB_ID and VERB_LEMMA
foreach i (Elements of actual sentence){
if HEAD_ID[i] equals VERB_ID{
// Normalbehandlung für Subjekte, Direkte und Indirekte Objekte
if LABEL[i] equals "SB"
ADD LEMMA[i] to Subject_LIST of VERB_LEMMA
if LABEL[i] equals "DO"
ADD LEMMA[i] to DativeObject_LIST of VERB_LEMMA
if LABEL[i] equals "OA"
ADD LEMMA[i] to AccusativeObject_LIST of VERB_LEMMA
//Sonderbehandlung für Präpositionalobjekte und präpositionale Ergänzungen -->
//Hier sollte das Nomen in die PrepObj-Liste aufgenommen werden
if POS_TAG[i] equals "APPR"|"APPRART"|"PTKVZ"{
PREP_ID = ID[i]
foreach j (Elements of actual sentence){
if HEAD_ID[j] equals PREP_ID{
if POS_TAG[j] startsWith "N"|"PREL"
ADD LEMMA[j] to PrepObject_LIST of VERB_LEMMA
}
}
}
}
}
//Einsammeln der Subjekte, die am Hilfsverb, nicht am Vollverb hängen
if HEAD_ID[VERB_ID] not null{
if POS_TAG[HEAD_ID[VERB_ID]] equals "AUX"{
foreach k (Elements of actual sentence){
if(LABEL[k] equals "SB")
ADD LEMMA[k] to Subject_LIST of VERB_LEMMA
}
}
}