code: def _read_phi(self, wt):
          
  
          self.vocabulary = {}
          phi_features = {}
  
          # TODO: make this encoding-safe.
          with open(wt, "r") as f:
              reader = csv.reader(f, delimiter=' ')
              topics = defaultdict(list)
              for line in reader:
                  w, term = int(line[0]), unicode(line[1])
                  self.vocabulary[w] = term
  
                  for l in line[2:]:
                      k, c = l.split(':')    # Topic and assignment count.
                      topics[int(k)].append((w, int(c)))
  
          for k, data in topics.iteritems():
              nfeature = Feature(data).norm
  
              phi_features[k] = nfeature
          self.phi = FeatureSet(phi_features)
docs: Used by :func:`.from_mallet` to reconstruct phi posterior distributions.
  
          Returns
          -------
          wt : Numpy array
              Rows are topics, columns are words. Rows sum to ~1.