code: def _check_input_types(
      input_types: List[ColumnSchema],
      log_in_type_checks: set,
      sem_tag_type_checks: set,
      unique_input_types: set,
  ):
      """Checks if any logical types or semantic tags occur in a list of Woodwork input types and keeps track of unique input types."""
      for in_type in input_types:
          if in_type.semantic_tags:
              for sem_tag in in_type.semantic_tags:
                  sem_tag_type_checks.add(sem_tag)
          if in_type.logical_type:
              log_in_type_checks.add(in_type.logical_type.type_string)
          unique_input_types.add(str(in_type))
  
imports: import importlib.util
  import os
  from inspect import getfullargspec, getsource, isclass
  from typing import Dict, List
  import pandas
  from woodwork import list_logical_types, list_semantic_tags, type_system
  from woodwork.column_schema import ColumnSchema
  from woodwork.logical_types import NaturalLanguage
  import featuretools
  from featuretools.primitives import NumberOfCommonWords
  from featuretools.primitives.base import AggregationPrimitive, PrimitiveBase, TransformPrimitive
  from featuretools.utils.gen_utils import Library, find_descendents
label_desc: Use image node_id 12 for calling a global function with example usage: _check_input_types(input_types, log_in_type_checks, sem_tag_type_checks, unique_input_types) without return types