code: def fts(self, segment):
          
          match = self.seg_regex.match(segment)
          if match:
              pre, base, post = match.group('pre'), match.group('base'), match.group('post')
              seg = copy.deepcopy(self.bases[base])
              for m in reversed(pre):
                  seg = update_ft_set(seg, self.prefix_dias[m])
              for m in post:
                  seg = update_ft_set(seg, self.postfix_dias[m])
              return set(seg)
          else:
              return None
docs: Return features corresponding to segment as list of (value,
          feature) tuples
  
          Args:
              segment (unicode): segment for which features are to be returned as
                                 Unicode string
  
          Returns:
              list: None if `segment` cannot be parsed; otherwise, a list of the
                    features of `segment` as (value, feature) pairs