docs: def write_screen_name_to_topics(filepath, user_label_matrix, node_to_id, id_to_name, label_to_lemma, lemma_to_keyword, separator=","):
      """
      Writes a user name and associated topic names per row.
      """
      user_label_matrix = spsp.coo_matrix(user_label_matrix)
  
      shape = user_label_matrix.shape
      nnz = user_label_matrix.getnnz()
  
      row = user_label_matrix.row
      col = user_label_matrix.col
      data = user_label_matrix.data
  
      name_to_topic_set = defaultdict(set)
  
      for edge in range(row.size):
          node = row[edge]
          user_twitter_id = node_to_id[node]
          name = id_to_name[user_twitter_id]
  
          label = col[edge]
          lemma = label_to_lemma[label]
          # topic = lemma_to_keyword[lemma]
  
          name_to_topic_set[name].add(lemma)
  
      with open(filepath, "w") as f:
          # Write metadata.
          file_row = "n_rows:" + separator + str(shape[0]) + separator +\
                     "nnz:" + separator + str(nnz) + separator +\
                     "\n"
          f.write(file_row)
  
          for name, topic_set in name_to_topic_set.items():
              file_row = list()
              file_row.append(name)
              file_row.extend(topic_set)
              file_row = separator.join(file_row) + "\n"
              f.write(file_row)