class_docstr: Ngram Smoothing Interface
  
  Implements Chen & Goodman 1995's idea that all smoothing algorithms have
  certain features in common. This should ideally allow smoothing algorithms to
  work both with Backoff and Interpolation.
code: def unigram_score(self, word):
      raise NotImplementedError()
  
imports: import random
  import warnings
  from abc import ABCMeta, abstractmethod
  from bisect import bisect
  from itertools import accumulate
  from nltk.lm.counter import NgramCounter
  from nltk.lm.util import log_base2
  from nltk.lm.vocabulary import Vocabulary
label_desc: Use image node_id 2 for calling the Smoothing obj's underlying member method code with example usage: obj.unigram_score(word) without return types