code: def forward(self, df: pd.DataFrame) -> pd.DataFrame:
      def _forward(row: pd.Series) -> np.ndarray:
          import re
  
          data = row.iloc[0]
          keywords = row.iloc[1]
          flag = False
          for i in keywords:
              pattern = rf"^(.*?({i})[^$]*)$"
              match_check = re.search(pattern, data, re.IGNORECASE)
              if match_check:
                  flag = True
          if flag is False:
              return data
          flag = False
  
      ret = pd.DataFrame()
      ret["filtered"] = df.apply(_forward, axis=1)
      return ret
  
file_path: evadb/evadb/functions/text_filter_keyword.py
imports: import numpy
  import pandas
  from evadb.catalog.catalog_type import NdArrayType
  from evadb.functions.abstract.abstract_function import AbstractFunction
  from evadb.functions.decorators.decorators import forward, setup
  from evadb.functions.decorators.io_descriptors.data_types import PandasDataframe
label_desc: Use image node_id 3 for calling the TextFilterKeyword obj's underlying member method code with example usage: obj.forward(df) and returns: ret, data