class_docstr: Detect different variants of string categories between the same categorical column in two datasets.
  
  This check compares the same categorical column within a dataset and baseline and checks whether there are
  variants of similar strings that exists only in dataset and not in baseline.
  Specifically, we define similarity between strings if they are equal when ignoring case and non-letter
  characters.
  Example:
  We have a train dataset with similar strings 'string' and 'St. Ring', which have different meanings.
  Our tested dataset has the strings 'string', 'St. Ring' and a new phrase, 'st.  ring'.
  Here, we have a new variant of the above strings, and would like to be acknowledged, as this is obviously a
  different version of 'St. Ring'.
  
  Parameters
  ----------
  columns : Union[Hashable, List[Hashable]] , default: None
      Columns to check, if none are given checks all columns except ignored ones.
  ignore_columns : Union[Hashable, List[Hashable]] , default: None
      Columns to ignore, if none given checks based on columns variable
  n_top_columns : int , optional
      amount of columns to show ordered by feature importance (date, index, label are first)
  n_samples : int , default: 1_000_000
      number of samples to use for this check.
  random_state : int, default: 42
      random seed for all check internals.
class_docstr_tok: ["Detect","different","variants","of","string","categories","between","the","same","categorical","column","in","two","datasets",".","This","check","compares","the","same","categorical","column","within","a","dataset","and","baseline","and","checks","whether","there","are","variants","of","similar","strings","that","exists","only","in","dataset","and","not","in","baseline",".","Specifically",",","we","define","similarity","between","strings","if","they","are","equal","when","ignoring","case","and","non-letter","characters",".","Example",":","We","have","a","train","dataset","with","similar","strings","'string","'","and","'St",".","Ring","'",",","which","have","different","meanings",".","Our","tested","dataset","has","the","strings","'string","'",",","'St",".","Ring","'","and","a","new","phrase",",","'st",".","ring","'",".","Here",",","we","have","a","new","variant","of","the","above","strings",",","and","would","like","to","be","acknowledged",",","as","this","is","obviously","a","different","version","of","'St",".","Ring","'",".","Parameters","--","--","--","--","--","columns",":","Union","[","Hashable",",","List","[","Hashable","]","]",",","default",":","None","Columns","to","check",",","if","none","are","given","checks","all","columns","except","ignored","ones",".","ignore_columns",":","Union","[","Hashable",",","List","[","Hashable","]","]",",","default",":","None","Columns","to","ignore",",","if","none","given","checks","based","on","columns","variable","n_top_columns",":","int",",","optional","amount","of","columns","to","show","ordered","by","feature","importance","(","date",",","index",",","label","are","first",")","n_samples",":","int",",","default",":","1_000_000","number","of","samples","to","use","for","this","check",".","random_state",":","int",",","default",":","42","random","seed","for","all","check","internals","."]
code: def __init__(
      self,
      columns: Union[Hashable, List[Hashable], None] = None,
      ignore_columns: Union[Hashable, List[Hashable], None] = None,
      n_top_columns: int = 10,
      n_samples: int = 1_000_000,
      random_state: int = 42,
      **kwargs,
  ):
      super().__init__(**kwargs)
      self.columns = columns
      self.ignore_columns = ignore_columns
      self.n_top_columns = n_top_columns
      self.n_samples = n_samples
      self.random_state = random_state
  
file_path: deepchecks/deepchecks/tabular/checks/train_test_validation/string_mismatch_comparison.py
imports: from typing import List, Union
  import pandas
  from deepchecks.core import CheckResult, ConditionCategory, ConditionResult
  from deepchecks.tabular import Context, TrainTestCheck
  from deepchecks.tabular.utils.feature_importance import N_TOP_MESSAGE, column_importance_sorter_df
  from deepchecks.tabular.utils.messages import get_condition_passed_message
  from deepchecks.utils.dataframes import select_from_dataframe
  from deepchecks.utils.strings import format_percent, get_base_form_to_variants_dict, is_string_column
  from deepchecks.utils.typing import Hashable
label_desc: Use image node_id 1 to create a new StringMismatchComparison object from inherited base classes: TrainTestCheck with example: obj = StringMismatchComparison(columns, ignore_columns, n_top_columns, n_samples, random_state)