'Generates likely collocations and their log-likelihood.'

def _find_collocations(self):

    for types in self._collocation_fdist:
        try:
            (typ1, typ2) = types
        except TypeError:
            continue
        if (typ2 in self._params.sent_starters):
            continue
        col_count = self._collocation_fdist[types]
        typ1_count = (self._type_fdist[typ1] + self._type_fdist[(typ1 + u'.')])
        typ2_count = (self._type_fdist[typ2] + self._type_fdist[(typ2 + u'.')])
        if ((typ1_count > 1) and (typ2_count > 1) and (self.MIN_COLLOC_FREQ < col_count <= min(typ1_count, typ2_count))):
            ll = self._col_log_likelihood(typ1_count, typ2_count, col_count, self._type_fdist.N())
            if ((ll >= self.COLLOCATION) and ((self._type_fdist.N() / typ1_count) > (typ2_count / col_count))):
                (yield ((typ1, typ2), ll))
