docstr: Find the best-matching sense for a given word based on the available
  senses and frequency counts. Returns None if no match is found.
  
  word (unicode): The word to check.
  senses (list): Optional list of senses to limit the search to. If not
      set / empty, all senses in the vectors are used.
  ignore_case (bool): Check for uppercase, lowercase and titlecase.
  RETURNS (unicode): The best-matching key or None.
docstr_tok: ["Find","the","best-matching","sense","for","a","given","word","based","on","the","available","senses","and","frequency","counts",".","Returns","None","if","no","match","is","found",".","word","(","unicode",")",":","The","word","to","check",".","senses","(","list",")",":","Optional","list","of","senses","to","limit","the","search","to",".","If","not","set","\/","empty",",","all","senses","in","the","vectors","are","used",".","ignore_case","(","bool",")",":","Check","for","uppercase",",","lowercase","and","titlecase",".","RETURNS","(","unicode",")",":","The","best-matching","key","or","None","."]
code: def get_best_sense(
      self,
      word: str,
      senses: Sequence[str] = tuple(),
      ignore_case: bool = True,
  ) -> Union[str, None]:
      """Find the best-matching sense for a given word based on the available
      senses and frequency counts. Returns None if no match is found.
  
      word (unicode): The word to check.
      senses (list): Optional list of senses to limit the search to. If not
          set / empty, all senses in the vectors are used.
      ignore_case (bool): Check for uppercase, lowercase and titlecase.
      RETURNS (unicode): The best-matching key or None.
      """
      sense_options = senses or self.senses
      if not sense_options:
          return None
      versions = (
          set([word, word.lower(), word.upper(), word.title()])
          if ignore_case
          else [word]
      )
      freqs = []
      for text in versions:
          for sense in sense_options:
              key = self.make_key(text, sense)
              if key in self:
                  freq = self.get_freq(key, -1)
                  freqs.append((freq, key))
      return max(freqs)[1] if freqs else None
  
imports: from typing import Tuple, List, Union, Sequence, Dict, Callable, Any
  from pathlib import Path
  from spacy.vectors import Vectors
  from spacy.strings import StringStore
  from spacy.util import SimpleFrozenDict
  from thinc.api import NumpyOps
  import numpy
  import srsly
  from .util import registry, cosine_similarity
label_desc: Use image node_id 22 for calling the Sense2Vec obj's underlying member method code with example usage: obj.get_best_sense(word, senses, ignore_case) and returns: unknown, None