code: def view_n_grams(data: PathOrPathsOrDictOfStrList, k: int = 64):
      _data = VizSeqDataSources(data, text_merged=True)
      n_grams = VizSeqNGrams.extract(_data, k=k)
      html = env.get_template("ipynb_n_grams.html").render(
          n=list(n_grams.keys()), n_grams=n_grams
      )
      return HTML(html)
  
file_path: vizseq/vizseq/ipynb/core.py
imports: from typing import List, Optional
  from jinja2 import Environment, PackageLoader, select_autoescape
  import matplotlib.pyplot
  import numpy
  from IPython.display import HTML, display
  from vizseq._data import VizSeqDataSources, PathOrPathsOrDictOfStrList, VizSeqNGrams, VizSeqStats, get_g_translate, set_g_cred_path
  from vizseq._visualizers import SPAN_HIGHTLIGHT_JS
  from vizseq._view import VizSeqDataPageView, VizSeqWebView, VizSeqSortingType, DEFAULT_PAGE_SIZE, DEFAULT_PAGE_NO
  from vizseq.scorers import get_scorer_ids, get_scorer, get_scorer_name
  from vizseq._utils.logger import logger
label_desc: Use image node_id 3 for calling a global function with example usage: view_n_grams(data, k) and returns: HTML