code: def get_redundant_keys(vocab, vectors, min_distance):
      if min_distance <= 0.0:
          return []
      by_word = defaultdict(list)
      for key, freq in vocab.items():
          try:
              term, sense = split_key(key)
          except ValueError:
              continue
          term = term.split("_")[-1]
          by_word[term.lower()].append((freq, key))
      too_similar = []
      for values in by_word.values():
          if len(values) >= 2:
              values.sort(reverse=True)
              freq1, key1 = values[0]
              vector1 = vectors[key1]
              for freq2, key2 in values[1:]:
                  vector2 = vectors[key2]
                  sim = cosine_similarity(vector1, vector2)
                  if sim >= (1 - min_distance):
                      too_similar.append(key2)
      return too_similar
  
file_path: sense2vec/scripts/05_export.py
imports: from collections import OrderedDict, defaultdict
  from sense2vec import Sense2Vec
  from sense2vec.util import split_key, cosine_similarity
  from pathlib import Path
  from wasabi import msg
  import numpy
  import typer
label_desc: Use image node_id 5 for calling a global function with example usage: get_redundant_keys(vocab, vectors, min_distance) and returns: too_similar, list