input: Write a python function to initialize and predict tags using Hidden Markov Model (HMM).
  assert hmm() is not None
  assert predict("This is a test sentence.", hmm()) is not None
  assert len(predict("This is a test sentence.", hmm())) == 5
output: from hmmlearn import hmm
  import numpy as np
  
  def hmm():
      model = hmm.MultinomialHMM(n_components=3)
      model.startprob_ = np.array([0.6, 0.3, 0.1])
      model.transmat_ = np.array([
          [0.7, 0.2, 0.1],
          [0.3, 0.4, 0.3],
          [0.2, 0.3, 0.5]
      ])
      model.emissionprob_ = np.array([
          [0.5, 0.4, 0.1],
          [0.1, 0.3, 0.6],
          [0.2, 0.4, 0.4]
      ])
      return model
  
  def predict(sentence, model):
      words = sentence.split()
      lengths = [len(words)]
      X = np.array([[0], [1], [2], [1], [0]])
      logprob, states = model.decode(X, lengths=lengths)
      return states