code: def process_chunk(self, args):
      corpus_path, chunk_start, cur_chunk_size = args
      with open(corpus_path, "rb") as fcb:
          fcb.seek(chunk_start)
          lines_byte = fcb.read(cur_chunk_size)
          lines_byte = lines_byte.splitlines()
          sentences = [
              line_byte.decode("utf-8").strip()
              for line_byte in lines_byte
          ]
          all_tokens = self.tokenizer_model.encode(
              sentences, self.output_type
          )
          tokenized_sentences = []
          for ele_tokens in all_tokens:
              if self.output_type == int:
                  ele_tokens = [str(token) for token in ele_tokens]
              tokenized_sentences.append(" ".join(ele_tokens))
          sentence_num = len(tokenized_sentences)
          token_num = sum(
              [len(sentence) for sentence in tokenized_sentences]
          )
          unk = self.tokenizer_model.vocab.unk_token
          unk_num = sum(
              sentence.count(unk) for sentence in tokenized_sentences
          )
          return tokenized_sentences, sentence_num, token_num, unk_num
  
file_path: gluon-nlp/scripts/processing/apply_subword.py
imports: import os
  import argparse
  import textwrap
  from multiprocessing import Pool
  import numpy
  import time
  from gluonnlp.data import tokenizers
  from gluonnlp.data.tokenizers.huggingface import is_new_version_model_file
label_desc: Use image node_id 3 for calling the ParallelCorpusApplyer obj's underlying member method code with example usage: obj.process_chunk(args) and returns: tokenized_sentences,  sentence_num,  token_num,  unk_num