def _apply_post_fixes( self, sentence, NPlabels, cutPhrases, cutMaxThreshold ):
        '''  Fraasituvastaja j2relparandused:
            *) Tekstis6renduste eemaldamine (s6rendatud tekst ei pruugi olla 
                fraas, v6ib olla nt terve lause);
            *) Problemaatiliste kesks6nade eemaldamine fraasialgusest;
            *) Ainult arvs6nadest koosnevate fraaside eemaldamine;
            *) ...
            *) B/I m2rkide parandus;
            *) Fraaside l6ikamine sobivasse pikkusse (kui cutPhrases==True ja
               cutMaxThreshold on seadistatud);
        '''
        for i in range( len(sentence) ):
            if NPlabels[i] == 'B':
                phrase, indices = self._getPhrase( i, sentence, NPlabels )
                posTags = [ self._getPOS(tok) for tok in phrase ]
                #
                #   1) Eemaldame tekstis6rendused, mis kogemata kombel on loetud
                #      eraldi s6nadeks ja s6nade liitmise abil saadud fraasid, nt:
                #       et [õ i g e k e e l s u s r a a m a t u i s] sisaldub
                #       , [k u s v õ i m i l l a l] ma
                #
                if len(posTags) > 1 and len( set(posTags).difference(set(['Y'])) )==0:
                    # Kustutame fraasi
                    for k in indices:
                        NPlabels[k] = ''
                if len(posTags) > 1 and posTags[0] == 'A':
                    forms = [ a[FORM] for a in phrase[0][ANALYSIS] ]
                    if 'nud' in forms or 'tud' in forms or 'dud' in forms:
                        #
                        #   2) Eemaldame nud/tud fraasi algusest, kui nud/tud 
                        #      moodustavad toenaolisel liitoeldise, nt:
                        #           täpselt on [jälgitud seadust] .
                        #           Töötud on [kutsunud protestiga] liituma ka töölisi
                        #           ise ei [saanud naeru] pidama . "
                        #
                        if i - 1  >  -1 and ( \
                           self._verbEi.matches(sentence[i-1]) or \
                           self._verbOle.matches(sentence[i-1]) ):
                           NPlabels[i] = ''
                           #print(self.__debug_extract_NP_from_pos(sentence, NPlabels, i))
                if len(phrase) > 1 and set(posTags).issubset(set(['O', 'N'])):
                    #
                    #   3) Eemaldame vaid arvs6nadest koosnevad fraasid, nt:
                    #           , vaid [800 miljonit] .
                    #           põhjustel umbes [100 000.] 
                    #           kolmandat ja [kolmas neljandat] .
                    #           üleeuroopalisel konkursil [esimese kolme] hulka .
                    #           1990. aastate [teisel poolel] .
                    #           võitis küll [esimese veerandi 31] : 13 ,
                    #
                    for k in indices:
                        NPlabels[k] = ''
                if posTags.count( 'N' ) > 7:
                    #
                    #   4) Eemaldame ylipikaks veninud numbrifraasid (kuna on kahtlus,
                    #      et sellisel juhul pole tegu mitte numbrifraasiga, vaid
                    #      mingi loetelu/tabeli vms-ga), nt:
                    #         Vaip , [1 1 1 1 1 0 1 1 1 1 Vaip] [ : 2
                    #         [1 0 0 0 0 1 1 1 1 B] Ühes Eesti ettevõttes
                    #  
                    for k in range( len(indices) ):
                        ind = indices[k]
                        pos = posTags[k]
                        if pos == 'N' and ( k==0 or (k>0 and NPlabels[ind-1]=='') ):
                            NPlabels[ind] = ''
                        elif ( k > 0 and NPlabels[ind-1] == '' ):
                            NPlabels[ind] = 'B'
                        elif ( k > 0 and NPlabels[ind-1] != '' ):
                            NPlabels[ind] = 'I'

                #  Kontrollime, kas fraasis eelneb suurt2helisele s6nale 
                #    mineviku kesks6na, mis pole suurt2heline;                
                verbPartFollowedByTitle = -1
                for j in range( len(phrase) ):
                    if self._verbPastParticle.matches( phrase[j] ) and \
                       not phrase[j][TEXT].istitle() and \
                       j+1 < len(phrase) and \
                       phrase[j+1][TEXT].istitle():
                        verbPartFollowedByTitle = j
                if verbPartFollowedByTitle == 0:
                    #   
                    #  5) P2risnimele eelneva kesks6na kustutamine:
                    #     P2risnimele eelnev kesks6na on sageli probleemne, st v6ib olla:
                    #           a) seotud eelneva verbiga, nt:
                    #               ... Hiibus ei [jätnud Elviiret] kiitmata ...
                    #              ... on isa-ema kodu [vahetanud Kohila] vastu ...
                    #              ... on aastaid [olnud Valgemäe perenaine] ...
                    #           b) olla osa keerukamast nimis6nafraasist (lauselyhendist), nt:
                    #              ... revolutsiooni ellu [viinud Reagan] oli ametist lahkudes ...
                    #              ... olümpiamängude A-normi [täitnud Uusorg] ...
                    #      Seet6ttu kustutame teatud tingimustel eelneva kesks6na maha;
                    #
                    NPlabels[indices[verbPartFollowedByTitle]]   = ''
                    NPlabels[indices[verbPartFollowedByTitle]+1] = 'B'

                if posTags[0] == 'C' and i + 1 > -1 and NPlabels[i-1] == '':
                    #   
                    #  6) Puuduva 'kõige' lisamine fraasile, mille alguses on C, nt:
                    #      ... Kõige [selgemal päeval] läksin ma taas ...
                    #      ... Ka kõige [avarama ruumiihalusega eurooplane] talub Hiinas ...  
                    #      ... Kõige [nõrgema toimega] olid harilik puju ...
                    #
                    if self._k6ige.matches( sentence[i-1] ):
                        NPlabels[i-1] = 'B'
                        NPlabels[i]   = 'I'
                if posTags[0] == 'C' and len( posTags ) == 2 and posTags[1] == 'H' and \
                   NPlabels[i] == 'B':
                    #
                    #  7) Empiiriline tähelepanek - kui pärisnime ees on komparatiiv-
                    #     omadussõna, siis enamasti on tegu katkise fraasiga, nt:
                    #       ... nähtavas tulevikus [tähtsam Balkanitel] toimuv kui ...
                    #       ... oma eluasemekuludeks [varasema Tallinnas] kehtinud ...
                    #       ... 30 kraadi [paremal Jedinstvost] ( Ühtsusest ) ...
                    #     Seetõttu eemaldame fraasist C;
                    #
                    NPlabels[i]   = ''
                    NPlabels[i+1] = 'B'

        # X) Kui kogemata on sattunud m6ni iseseisev 'I' (ilma eelneva 'I' v6i 'B'-ta),
        #    muudame selle 'B'-ks
        for i in range( len(sentence) ):
            if NPlabels[i] == 'I':
                if i == 0 or (i-1>-1 and NPlabels[i-1] not in ['I','B']):
                    NPlabels[i] = 'B'

        #
        # Y) Kui on n6utud fraaside l6ikamine pikkuse j2rgi (j2tta alles vaid fraasid
        #    pikkusega N), l6ikame pikkust N yletavad fraasid juppideks nii, et alles
        #    j22vad vaid fraasi peas6naks sobivad s6nad;
        #
        if cutPhrases and cutMaxThreshold > 0:
            NPheadPos = [ 'S', 'Y', 'H' ]
            for i in range( len(sentence) ):
                if NPlabels[i] == 'B':
                    phrase, indices = self._getPhrase( i, sentence, NPlabels )
                    posTags = [ self._getPOS(tok) for tok in phrase ]
                    if len(phrase) > cutMaxThreshold:
                        for j in range(len(phrase)):
                            posTag = posTags[j]
                            if posTag in NPheadPos:
                                # J2tame alles vaid nimis6nafraasi peas6nadeks
                                # sobivad s6nad, yksikute s6nadena;
                                NPlabels[indices[j]] = 'B'
                            else:
                                # Kui s6na ei sobi peas6naks, kustutame sellelt
                                # yldse m2rgenduse;
                                NPlabels[indices[j]] = ''