text: Title: ZeroDivisionError when using SmoothingFunction's method4 with a single word as hypothesis
  Body: When using the SmoothingFunction's [method4](https://www.kite.com/python/docs/nltk.bleu_score.SmoothingFunction.method4) with a a single word as a hypothesis  I get the following error. Which is of course because math.log(1) is 0. 
  I ended up using just method2 or method1 which doesn't use the function that throws the error, but I guess it would be useful to report it, as some other poor soul may stumble with it. 
  
  ```
  from nltk.translate.bleu_score import sentence_bleu
  from nltk.translate.bleu_score import SmoothingFunction
  
  refs = [['short', 'skirts'], ['too', 'expensive'], ['girls', 'wearing'], ['being', 'laughed', 'at']]
  hyp = ['too']
  
  chencherry = SmoothingFunction()
  sentence_bleu(refs, hyp, weights=(1, 0, 0, 0), smoothing_function=chencherry.method4)
  
  ```
  
  ```
  ZeroDivisionError                         Traceback (most recent call last)
  <ipython-input-130-00301cf17f56> in <module>()
        6 
        7 chencherry = SmoothingFunction()
  ----> 8 sentence_bleu(refs, hyp, weights=(1, 0, 0, 0), smoothing_function=chencherry.method4)
  
  2 frames
  /usr/local/lib/python3.7/dist-packages/nltk/translate/bleu_score.py in sentence_bleu(references, hypothesis, weights, smoothing_function, auto_reweigh, emulate_multibleu)
       87     return corpus_bleu([references], [hypothesis],
       88                         weights, smoothing_function, auto_reweigh,
  ---> 89                         emulate_multibleu)
       90 
       91 
  
  /usr/local/lib/python3.7/dist-packages/nltk/translate/bleu_score.py in corpus_bleu(list_of_references, hypotheses, weights, smoothing_function, auto_reweigh, emulate_multibleu)
      197     #       smoothing method allows.
      198     p_n = smoothing_function(p_n, references=references, hypothesis=hypothesis,
  --> 199                              hyp_len=hyp_len, emulate_multibleu=emulate_multibleu)
      200     s = (w * math.log(p_i) for i, (w, p_i) in enumerate(zip(weights, p_n)))
      201     s =  bp * math.exp(math.fsum(s))
  
  /usr/local/lib/python3.7/dist-packages/nltk/translate/bleu_score.py in method4(self, p_n, references, hypothesis, hyp_len, *args, **kwargs)
      542         for i, p_i in enumerate(p_n):
      543             if p_i.numerator == 0 and hyp_len != 0:
  --> 544                 incvnt = i+1 * self.k / math.log(hyp_len) # Note that this K is different from the K from NIST.
      545                 p_n[i] = 1 / incvnt
      546         return p_n
  
  ZeroDivisionError: float division by zero
  ```