graphragzen.merge.merge_nodes.find_similar_nodes

graphragzen.merge.merge_nodes.find_similar_nodes(nodes, feature_names, embedding_vectors, min_similarity=0.95, embedding_source=None)[source]

Finds nodes who’s embedding vectors are > min_similarity. Does this for each unique feature in feature_names.

Parameters:
  • nodes (list[str]) – List of node names.

  • feature_names (list[str]) – List of the features of the nodes that were imbedded

  • embedding_vectors (np.ndarray) – The embedding vectors of the features. Should have shape (num_nodes, embedding_vector_size).

  • min_similarity (float, optional) – Minimum similarity for 2 nodes to be concidered similar. Defaults to 0.95.

  • embedding_source (list, optional) – The raw text that was used to create the embedding vectors. Will be added to the returned report. Defaults to None.

Returns:

Contains columns
  • ’nodes’: nodes that are similar, tuple, (node1, node2)

  • ’similarity_score’: How similar the feature of the the two nodes is

  • ’compared_feature’: Which feature of the nodes was compared

  • ’features’: Raw text of the feature of each node. Only populated if ‘embedding_source’

    was given as an input.

Return type:

pd.DataFrame