public List < String > getSemanticHeads ( ) { int headSemanticVariable = syntax . getHeadVariable ( ) ; int [ ] allSemanticVariables = getSemanticVariables ( ) ; for ( int i = 0 ; i < allSemanticVariables . length ; i ++ ) { if ( allSemanticVariables [ i ] == headSemanticVariable ) { return Lists . newArrayList ( variableAssignments . get ( i ) ) ; } } return Collections . emptyList ( ) ; }
The semantic head of this category i . e . the assignment to the semantic variable at the root of the syntactic tree .