def PersonaOverlappingClustering(non_overlapping_clustering, persona_id_mapping, min_component_size):
  """Computes an overlapping clustering of graph using the Ego-Splitting method.

  Args:
    non_overlapping_clustering: persona graph clustering
    persona_id_mapping: a dict of the persona node ids to the node ids in the original
    graph
    min_component_size: minimum size of a cluster to be output.

  Returns:
    The overlapping clustering (list of sets of node ids)
  """
  overlapping_clustering = set()
  for cluster in non_overlapping_clustering:
    if len(cluster) < min_component_size:
      continue
    cluster_original_graph = set([persona_id_mapping[persona] for persona in cluster])
    cluster_original_graph = list(cluster_original_graph)
    cluster_original_graph.sort()
    overlapping_clustering.add(tuple(cluster_original_graph))
  return list(overlapping_clustering)