class_docstr: Train and use Online Latent Dirichlet Allocation model as presented in
  `'Online Learning for LDA' by Hoffman et al.`_
  
  Examples
  -------
  Initialize a model using a Gensim corpus
  
  .. sourcecode:: pycon
  
      >>> from gensim.test.utils import common_corpus
      >>>
      >>> lda = LdaModel(common_corpus, num_topics=10)
  
  You can then infer topic distributions on new, unseen documents.
  
  .. sourcecode:: pycon
  
      >>> doc_bow = [(1, 0.3), (2, 0.1), (0, 0.09)]
      >>> doc_lda = lda[doc_bow]
  
  The model can be updated (trained) with new documents.
  
  .. sourcecode:: pycon
  
      >>> # In practice (corpus =/= initial training corpus), but we use the same here for simplicity.
      >>> other_corpus = common_corpus
      >>>
      >>> lda.update(other_corpus)
  
  Model persistency is achieved through :meth:`~gensim.models.ldamodel.LdaModel.load` and
  :meth:`~gensim.models.ldamodel.LdaModel.save` methods.
class_docstr_tok: ["Train","and","use","Online","Latent","Dirichlet","Allocation","model","as","presented","in","`","'Online","Learning","for","LDA","'","by","Hoffman","et","al.","`","_","Examples","--","--","--","-","Initialize","a","model","using","a","Gensim","corpus","..","sourcecode",":",":","pycon",">",">",">","from","gensim.test.utils","import","common_corpus",">",">",">",">",">",">","lda","=","LdaModel","(","common_corpus",",","num_topics=10",")","You","can","then","infer","topic","distributions","on","new",",","unseen","documents",".","..","sourcecode",":",":","pycon",">",">",">","doc_bow","=","[","(","1",",","0.3",")",",","(","2",",","0.1",")",",","(","0",",","0.09",")","]",">",">",">","doc_lda","=","lda","[","doc_bow","]","The","model","can","be","updated","(","trained",")","with","new","documents",".","..","sourcecode",":",":","pycon",">",">",">","#","In","practice","(","corpus","=\/=","initial","training","corpus",")",",","but","we","use","the","same","here","for","simplicity",".",">",">",">","other_corpus","=","common_corpus",">",">",">",">",">",">","lda.update","(","other_corpus",")","Model","persistency","is","achieved","through",":","meth",":","`","~gensim.models.ldamodel.LdaModel.load","`","and",":","meth",":","`","~gensim.models.ldamodel.LdaModel.save","`","methods","."]
docstr: Update parameters for the Dirichlet prior on the per-topic word weights.
  
  Parameters
  ----------
  lambdat : numpy.ndarray
      Previous lambda parameters.
  rho : float
      Learning rate.
  
  Returns
  -------
  numpy.ndarray
      The updated eta parameters.
docstr_tok: ["Update","parameters","for","the","Dirichlet","prior","on","the","per-topic","word","weights",".","Parameters","--","--","--","--","--","lambdat",":","numpy.ndarray","Previous","lambda","parameters",".","rho",":","float","Learning","rate",".","Returns","--","--","--","-","numpy.ndarray","The","updated","eta","parameters","."]
code: def update_eta(self, lambdat, rho):
      """Update parameters for the Dirichlet prior on the per-topic word weights.
  
      Parameters
      ----------
      lambdat : numpy.ndarray
          Previous lambda parameters.
      rho : float
          Learning rate.
  
      Returns
      -------
      numpy.ndarray
          The updated eta parameters.
  
      """
      N = float(lambdat.shape[0])
      logphat = (
          sum(dirichlet_expectation(lambda_) for lambda_ in lambdat) / N
      ).reshape((self.num_terms,))
      assert logphat.dtype == self.dtype
  
      self.eta = update_dir_prior(self.eta, N, logphat, rho)
  
      assert self.eta.dtype == self.dtype
      return self.eta
  
imports: import logging
  import numbers
  import os
  import time
  from collections import defaultdict
  import numpy
  from scipy.special import gammaln, psi
  from scipy.special import polygamma
  from gensim import interfaces, utils, matutils
  from gensim.matutils import kullback_leibler, hellinger, jaccard_distance, jensen_shannon, dirichlet_expectation, logsumexp, mean_absolute_difference
  from gensim.models import basemodel, CoherenceModel
  from gensim.models.callbacks import Callback
label_desc: Use image node_id 9 for calling the LdaModel obj's underlying member method code with example usage: obj.update_eta(lambdat, rho) and returns: self