def build_model(self): self._model = dict() for l in self.lex_items: group_type = wordclass_group(l.wordclass) if not group_type in self._model: self._model[group_type] = Group(group_type) self._model[group_type].add(l)
def group_ratios(self): try: return self._group_ratios except AttributeError: self._group_ratios = defaultdict(lambda: 0) for pos, value in self.ratios().items(): grp = wordclass_group(pos) self._group_ratios[grp] += value return self._group_ratios
def add_np(self): """ Check if a dummy "NP" wordclass needs to be added """ if (not 'NP' in self.full_set_of_wordclasses() and self.wordform.lower() != self.wordform and is_proper_name(self.wordform)): group_type = wordclass_group('NP') base_class = wordclass_base('NP') if not group_type in self.model(): self.model()[group_type] = Group('core') self.model()[group_type].add_null(base_class) self.model()[group_type].model()[base_class].add_null('NP') self.np_added = True