예제 #1
0
 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)
예제 #2
0
 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
예제 #3
0
 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