class_docstr: The G2P model evaluation wrapper
  
  Arguments
  ---------
  hparams: dict
      the dictionary from a parsed hyperparameter file
  device: str
      the device identifier
  model_state: dict
      a pre-loaded model state for a "warm start" if applicable
      - could be useful if hyperparameters have changed, but
      the same model can be reused from one run to the next
code: def _apply_word_embeddings(self, grapheme_encoded, char):
      char_word_emb = None
      if self.hparams.use_word_emb:
          grapheme_encoded_data, grapheme_lens = grapheme_encoded
          word_emb = self.modules.word_emb.batch_embeddings(char)
          char_word_emb = expand_to_chars(
              emb=word_emb,
              seq=grapheme_encoded_data,
              seq_len=grapheme_lens,
              word_separator=self._grapheme_word_separator_idx,
          )
      return char_word_emb
  
imports: from hyperpyyaml import load_hyperpyyaml
  from speechbrain.dataio.batch import PaddedBatch
  from speechbrain.lobes.models.g2p.dataio import get_sequence_key
  from speechbrain.utils import hpopt
  from speechbrain.wordemb.util import expand_to_chars
  from train import dataio_prep, load_dependencies
  from types import SimpleNamespace
  from tqdm.auto import tqdm
  import math
  import itertools
  import speechbrain
  import torch
  import sys
  import logging
label_desc: Use image node_id 5 for calling the G2PEvaluator obj's underlying member method code with example usage: obj._apply_word_embeddings(grapheme_encoded, char) and returns: char_word_emb