code: def test_sequence_preproc_module_bert_tokenizer():
      metadata = {
          "preprocessing": {
              "lowercase": True,
              "tokenizer": "bert",
              "unknown_symbol": "<UNK>",
              "padding_symbol": "<PAD>",
              "computed_fill_value": "<UNK>",
          },
          "max_sequence_length": SEQ_SIZE,
          "str2idx": {
              "<EOS>": 0,
              "<SOS>": 1,
              "<PAD>": 2,
              "<UNK>": 3,
              "hello": 4,
              "world": 5,
              "pale": 7,
              "##ont": 8,
              "##ology": 9,
          },
      }
      module = _SequencePreprocessing(metadata)
  
      res = module(
          [
              "paleontology",
              "unknown",
              "hello world hello",
              "hello world hello world",
          ]
      )
  
      assert torch.allclose(
          res,
          torch.tensor(
              [
                  [1, 7, 8, 9, 0, 2],
                  [1, 3, 0, 2, 2, 2],
                  [1, 4, 5, 4, 0, 2],
                  [1, 4, 5, 4, 5, 0],
              ]
          ),
      )
  
imports: from typing import List, Tuple
  import numpy
  import pytest
  import torch
  import torchtext
  from ludwig.constants import ENCODER_OUTPUT, LAST_HIDDEN, LOGITS, SEQUENCE, TEXT, TYPE
  from ludwig.features.sequence_feature import _SequencePreprocessing, SequenceInputFeature, SequenceOutputFeature
  from ludwig.features.text_feature import TextInputFeature, TextOutputFeature
  from ludwig.schema.features.sequence_feature import SequenceInputFeatureConfig, SequenceOutputFeatureConfig
  from ludwig.schema.features.text_feature import ECDTextInputFeatureConfig, ECDTextOutputFeatureConfig
  from ludwig.utils.torch_utils import get_torch_device
  from tests.integration_tests.utils import ENCODERS, sequence_feature
label_desc: Use image node_id 10 for calling a global function with example usage: test_sequence_preproc_module_bert_tokenizer() without return types