Maybaygiare.org

Blog Network

models.ldamodel – Latent Dirichlet Allocation¶

exemplos de Uso¶

um Trem LDA modelo usando uma Gensim corpus

>>> from gensim.test.utils import common_texts>>> from gensim.corpora.dictionary import Dictionary>>>>>> # Create a corpus from a list of texts>>> common_dictionary = Dictionary(common_texts)>>> common_corpus = >>>>>> # Train the model on the corpus.>>> lda = LdaModel(common_corpus, num_topics=10)

Salvar um modelo para o disco, ou recarregar uma pré-formados modelo

>>> from gensim.test.utils import datapath>>>>>> # Save model to disk.>>> temp_file = datapath("model")>>> lda.save(temp_file)>>>>>> # Load a potentially pretrained model from disk.>>> lda = LdaModel.load(temp_file)

Consulta, o modelo novo, invisível documentos

>>> # Create a new corpus, made of previously unseen documents.>>> other_texts = ,... ,... ... ]>>> other_corpus = >>>>>> unseen_doc = other_corpus>>> vector = lda # get topic probability distribution for a document

Atualizar o modelo incremental de formação sobre o novo corpus

>>> lda.update(other_corpus)>>> vector = lda

Um monte de parâmetros pode ser ajustado para otimizar o treinamento para o seu caso específico

>>> lda = LdaModel(common_corpus, num_topics=50, alpha='auto', eval_every=5) # learn asymmetric alpha from data

class gensim.models.ldamodel.LdaModel(corpus=None, num_topics=100, id2word=None, distributed=False, chunksize=2000, passes=1, update_every=1, alpha=’symmetric’, eta=None, decay=0.5, offset=1.0, eval_every=10, iterations=50, gamma_threshold=0.001, minimum_probability=0.01, random_state=None, ns_conf=None, minimum_phi_value=0.01, per_word_topics=False, callbacks=None, dtype=<class ‘numpy.float32’>)¶

Bases: gensim.interfaces.TransformationABCgensim.models.basemodel.BaseTopicModel

Train and use Online Latent Dirichlet Allocation (OLDA) models as presented inHoffman et al. : “Online Learning for Latent Dirichlet Allocation”.

Exemplos

Inicializar um modelo usando uma Gensim corpus

>>> from gensim.test.utils import common_corpus>>>>>> lda = LdaModel(common_corpus, num_topics=10)

em seguida, pode-se inferir tópico distribuições em novo, invisível documentos.

>>> doc_bow = >>> doc_lda = lda

o modelo pode ser actualizado (treinado) com novos documentos.

>>> # In practice (corpus =/= initial training corpus), but we use the same here for simplicity.>>> other_corpus = common_corpus>>>>>> lda.update(other_corpus)

Modelo de persistência é conseguido através de load() esave() métodos.

parâmetros

  • corpus (iterable of list of (int, float), optional) – Stream of document vectors or sparse matrix of shape (num_documents, num_terms).Se você tem uma matriz CSC em memória, você pode convertê-la em corpus astreamed com a ajuda de gensim.matutils.Esparse2corpus.Se não for dado, o modelo é deixado sem treino (presumivelmente porque você quer chamarupdate() manualmente).

  • num_tópicos – int, opcional) – O número de tópicos latentes solicitados a serem extraídos do corpo de formação.

  • id2word ({dict of (int, str), gensim.corpora.dictionary.Dictionary}) – mapeamento de palavras IDs para palavras. Ele é usado para determinar o tamanho do vocabulário, bem como fordebugging e impressão de tópicos.

  • distribuído (bool, opcional) – se a computação distribuída deve ser usada para acelerar a formação.

  • chunksize – int, opcional) – Número de documentos a utilizar em cada bloco de formação.passagens (int, opcional) – Número de passagens através do corpo durante o treino.

  • update_every – int, opcional) – Número de documentos a iterar para cada actualização.Definido como 0 para a aprendizagem em lote, > 1 para a aprendizagem iterativa online.

  • Alfa ({numpy.ndarray, str}, opcional) –

    pode ser definido para uma matriz 1D de comprimento igual ao número de tópicos esperados que expressam a nossa crença a priori para a probabilidade de cada tópico.Alternativamente, as estratégias de seleção prévia predefinidas podem ser empregadas fornecendo uma string:

    • ‘simétrica’: Padrão; usa uma fixo simétrica antes por tópico,

    • ‘assimétrico’: Usa uma fixo normalizado assimétrica antes de 1.0 / (topic_index + sqrt(num_topics)),

    • ‘auto’: Aprende assimétrico antes de corpus (não disponível se distribuídos==True).

  • eta ({float, np.array, str}, opcional) –

    A-a-priori crença na probabilidade da palavra, isto pode ser:

    • escalar para uma simétrico prévio sobre o tema/palavra de probabilidade,

    • vector de comprimento num_words para denotar um assimétrica definido pelo usuário de probabilidade para cada palavra,

    • matriz da forma (num_topics, num_words) para atribuir uma probabilidade para cada palavra-tópico combinação,

    • a seqüência de caracteres ‘auto’ para aprender a assimétrica antes de os dados.

  • decay (float, opcional) – um número entre (0.5, 1] ponderar a percentagem do valor lambda anterior aquando da análise de cada novo documento. Corresponde a Kappa fromMatthew D. Hoffman, David M. Blei, Francis Bach:”Online Learning for Latent Dirichlet Allocation NIPS’10”.

  • offset (float, opcional) –

    Hyper-parâmetro que controla o quanto iremos abrandar os primeiros passos das primeiras iterações.Corresponde a Tau_0 de Matthew D. Hoffman, David M. Blei, Francis Bach:”Online Learning for Latent Dirichlet Allocation NIPS’10”.

  • eval_every (int, opcional) – a perplexidade Log é estimada a cada tantas atualizações. Definir isto como um retarda a formação por ~2x.

  • iterações (int, opcional) – Número máximo de iterações através do corpus ao inferir a distribuição temática de um corpus.

  • gamma_threshold – float, opcional) – alteração mínima no valor dos parâmetros gama para continuar a iterar.

  • minimum_probabilidade – float, opcional) – as variáveis com uma probabilidade inferior a este limiar serão filtradas.

  • random_state ({np.aleatorio.RandomState, int}, opcional – – tanto um objeto randomState ou uma semente para gerar um. Útil para a reprodutibilidade.

  • ns_conf (dict of (str, object), optional) – Key word parameters propagated togensim.utils.getNS() to get a Pyro4 Nameserved.Só é usado se distribuído for definido como verdadeiro.

  • minimum_phi_value – float, opcional) – se o per_word_topics for verdadeiro, isto representa um limite inferior nas probabilidades do termo.

  • per_word_topics (bool) – se verdadeiro, o modelo também calcula uma lista de tópicos, ordenados por ordem decrescente dos tópicos mais prováveis para cada palavra, juntamente com os seus valores de phi multiplicados pelo comprimento da característica (ou seja, Contagem de palavras).

  • callbacks (list of Callback) – métricas callbacks to log and visualize evaluation metrics of the model during training.

  • dtype ({numpy.float16, numpy.float32, numpy.float64}, Opcional) – Tipo de dados a usar durante os cálculos dentro do modelo. Todas as entradas também são convertidas.

add_lifecycle_event(event_name, log_level=20, **event)¶

adiciona um evento ao atributo lifecycle_ events deste objecto, e também regista o evento em log_level.

eventos são momentos importantes durante a vida do objeto, tais como”modelo criado”,” modelo salvo”,” modelo carregado”, etc.

o atributo “lifecycle_events”persiste em todas as operações do object save()e load(). Não tem impacto no uso do modelo,mas é útil durante a depuração e suporte.

Set self.lifecycle_ events = nenhum para desactivar este comportamento. As chamadas para add_ lifecycle_ event () não irão gravar os eventos em si.então, salva-vidas.

parâmetros

  • event_name – str) – nome do evento. Pode ser qualquer etiqueta, por exemplo “criada”, “armazenada” etc.

  • evento (dict) –

    mapeamento do valor-chave para adicionar ao self.salva-vidas. Deve ser JSON-serializável, por isso mantenha simples.Pode estar vazio.

    este método irá adicionar automaticamente os seguintes valores-chave ao evento, para que não tenha de os especificar:

    • datetime: a data actual & tempo

    • gensim: o atual Gensim versão

    • python: a atual versão do Python

    • plataforma: a plataforma atual

    • evento: o nome do evento

  • log_level (int) – Também o registo de eventos completa dict, no nível de log especificado. Configure como False para não registar nada.

bound(corpus, gamma=Nenhum, subsample_ratio=1.0)¶

Estimar o variacional dependente de documentos do corpus como E_q – E_q.

parâmetros

  • corpus (iterable of list of (int, float), optional) – Stream of document vectors or sparse matrix of shape (num_documents, num_terms) used to estimate the variational bounds.

  • gama (numpy.ndarray, opcional) – parâmetros variacionais de peso tópico para cada documento. Se não for fornecido, será inferido a partir do modelo.

  • subsample_ratio (float, opcional) – percentagem do corpo inteiro representado pelo argumento do corpo aprovado (no caso de ser uma amostra).Ajustar para 1, 0 se todo o corpo foi aprovado.Isto é usado como um fator multiplicativo para escalar o likelihood apropriadamente.

Devolve

a pontuação variacional calculada para cada documento.

Return type

numpy.ndarray

clear()¶

Limpar o estado do modelo para libertar alguma memória. Utilizado na implementação distribuída.

diff(outros, distância=’kullback_leibler’, num_words=100, n_ann_terms=10, diagonal=False, anotação=True, padronizadas=True)¶

Calcular a diferença no tópico distribuições entre dois modelos: o eu e o outro.

parâmetros

  • outros (LdaModel) – o modelo que será comparado com o objecto actual.

  • distância ({‘kullback_leibler’,’ hellinger’,’ jaccard’,’ jensen_shannon’}) – a métrica da distância para calcular a diferença.

  • num_words – int, opcional) – O número de palavras mais relevantes utilizadas Se distância == ‘jaccard’. Também usado para anotar tópicos.

  • n_ann_terms – int, opcional) – Número máximo de palavras na intersecção/diferença simétrica entre tópicos. Usado para anotação.

  • diagonal (bool, opcional) – se precisamos da diferença entre tópicos idênticos (a diagonal da matriz de diferenças).

  • anotação – bool, opcional) – se a intersecção ou a diferença de palavras entre dois tópicos devem ser devolvidas.

  • normed – bool, opcional) – se a matriz deve ser normalizada ou não.

Devolve

  • numpy.ndarray-uma matriz de diferença. Cada elemento corresponde à diferença entre os dois tópicos,forma (self.num_tópicos, outros.num_topics)

  • numpy.ndarray, optional – Annotation matrix onde para cada par nós incluímos a palavra da intersecção dos dois tópicos,e a palavra da diferença simétrica dos dois tópicos. Apenas incluído se anotação = = True.Forma (self.num_topics, othey_model.num_topics, 2).

Exemplos

as diferenças entre cada par de temas conhecidos por meio de dois modelos

>>> from gensim.models.ldamulticore import LdaMulticore>>> from gensim.test.utils import datapath>>>>>> m1 = LdaMulticore.load(datapath("lda_3_0_1_model"))>>> m2 = LdaMulticore.load(datapath("ldamodel_python_3_5"))>>> mdiff, annotation = m1.diff(m2)>>> topic_diff = mdiff # get matrix with difference for each topic pair from `m1` and `m2`

do_estep(chunk, estado=Nenhum)¶

Realizar inferência sobre um pedaço de documentos, e acumular coletados suficiente estatísticas.

Parameters

  • chunk (list of list of (int, float)) – the corpus chunk on which the inference step will be performed.

  • estado (LdaState, opcional) – o estado a ser actualizado com as estatísticas suficientes recentemente acumuladas. Se nenhum, o meu próprio modelo.o estado está actualizado.

devolve os parâmetros

gama que controlam os pesos temáticos, forma (Len (chunk), self.num_topics).

Return type

numpy.ndarray

do_mstep(rho, other, extra_pass=False)¶

maximization step: use interpolação linear entre os tópicos existentes e recolheu estatísticas suficientes noutros para actualizar os tópicos.

parâmetros

  • rho (float) – taxa de aprendizagem.

  • outro (LdaModel) – o modelo cujas estatísticas suficientes serão utilizadas para actualizar os tópicos.

  • extra_ Sass (bool, opcional) – se este passo exigia uma passagem adicional sobre o corpus.

get_document_topics(bow, minimum_probability=None, minimum_phi_value=None, per_word_topics=False)¶

Get the topic distribution for the given document.

parâmetros

  • bow (corpus : lista de (int, float)) – o documento em formato BOW.

  • minimum_probabilidade (float) – as variáveis com uma probabilidade atribuída inferior a este limiar serão descartadas.

  • minimum_phi_value (float) –

    Se o per_word_topics for verdadeiro, isto representa um limite inferior nas probabilidades do termo que estão incluídas.

    Se for igual a nenhum, é usado um valor de 1e-8 para prevenir 0s.

  • per_ word_topics (bool) – se for verdadeiro, esta função também irá devolver duas listas extra, tal como explicado na secção “retornos”.

Devolve

  • lista de distribuição de tópicos (int, float) para todo o documento. Cada elemento da lista é um par de id de um tópico, e a probabilidade que lhe foi atribuída.

  • list of (int, list of (int, float), optional – Most probable topics per word. Cada elemento da lista é um par de id de uma palavra, e uma lista de temas ordenados pela sua relevância para esta palavra. Só foi devolvido se o per_ word_topics for definido como True.

  • list of (int, list of float), optional – Phi relevance values, multiplied by the feature length, for each word-topic combination.Cada elemento da lista é um par de id de uma palavra e uma lista dos valores de phi entre esta palavra e cada tópico. Só foi devolvido se o per_ word_topics for definido como True.

get_term_topics(word_id, minimum_probability=None)¶

Get the most relevant topics to the given word.

parâmetros

  • word_id (int) – a palavra para a qual a distribuição do tópico será calculada.

  • minimum_probabilidade (float, opcional) – as variáveis com uma probabilidade atribuída abaixo deste limiar serão descartadas.

Devolve

os tópicos relevantes representados como pares da sua ID e da sua probabilidade atribuída, sendo relevantes para a palavra dada.

Return type

list of (int, float)

get_topic_terms(topicid, topn=10)¶

Get the representation for a single topic. Palavras IDs inteiros, em construast parashow_topic() que representa palavras pelas cadeias reais.

parâmetros

  • topicid – int) – o ID do tópico a ser devolvido

  • topn (int, opcional) – Número das palavras mais significativas que estão associadas ao tópico.

Devolve

ID de palavra-pares de probabilidade para as palavras mais relevantes geradas pelo tópico.

Return type

list of (int, float)

get_topics()¶

Get the term-topic matrix learned during inference.

Devolve

a probabilidade de cada palavra em cada tópico, forma (num_tópicos, vocabulary_ dimensionar).

Return type

numpy.ndarray

inference(chunk, collect_sstats=False)¶

Dado um pedaço de esparsos documento vetores, cálculo de gama (parâmetros de controlar o tópico pesos)para cada documento no bloco.

Esta função não modifica o modelo, assume-se que todo o bloco de entrada do documento se encaixa na RAM;chunking de um corpo grande deve ser feito mais cedo no pipeline. Evita computar o nome variacional phi diretamente usando a otimização apresentada inLee, Seung: algoritmos para fatoração de matriz não-negativa”.

Parameters

  • chunk (list of list of (int, float)) – the corpus chunk on which the inference step will be performed.

  • collect_stats (bool, opcional) – se definido como verdadeiro, também recolher (e devolver) estatísticas suficientes necessárias para actualizar as variáveis temáticas do modelo-worddistributions.

Devolve

o primeiro elemento é sempre devolvido e corresponde aos estados da matriz gama. O segundo elemento só é devolvido se collect_sstats = = True e corresponde às estatísticas suficientes para o passo M.

Return type

(numpy.ndarray, {numpy.ndarray, None})

init_dir_prior(prior, name)¶

inicializar priores para a distribuição de Dirichlet.

parâmetros

  • prior ({str, list of float, numpy.ndarray of float, float}) –

    a-priori belief on word probability. Se nome = = ‘ eta ‘ então o prior pode ser:

    • escalar para uma simétrico prévio sobre o tema/palavra de probabilidade,

    • vector de comprimento num_words para denotar um assimétrica definido pelo usuário de probabilidade para cada palavra,

    • matriz da forma (num_topics, num_words) para atribuir uma probabilidade para cada palavra-tópico combinação,

    • a seqüência de caracteres ‘auto’ para aprender a assimétrica antes de os dados.

    Se nome = ‘alfa’ , então o prior pode ser:

    • um array 1D de comprimento igual ao número de esperado tópicos,

    • ‘simétrica’: Usa uma fixo simétrica antes por tópico,

    • ‘assimétrico’: Usa um fixo normalizado assimétrica antes de 1.0 / (topic_index + sqrt(num_topics)),

    • ‘auto’: Aprende assimétrico antes de corpus.

  • nome ({‘alpha’, ‘eta’}) – Se a prévia é parametrizada pelo alfa de vetor (1 parâmetro por tópico)ou pelo eta (1 parâmetro por termo no vocabulário).

classmethod load(fname, *args, **kwargs)¶

Carregar um salvo anteriormente gensim.models.ldamodel.LdaModel do arquivo.

Ver também

save()

Save model.

parâmetros

  • fname – str) – localização do ficheiro onde o modelo é armazenado.

  • *argumentos posicionais args propagados a load().

  • *argumentos chave da palavra kwargs propagados a load().

Exemplos

Grandes matrizes podem ser memmap ed volta como somente leitura (memória compartilhada) definindo mmap=’r’:

>>> from gensim.test.utils import datapath>>>>>> fname = datapath("lda_3_0_1_model")>>> lda = LdaModel.load(fname, mmap='r')

log_perplexity(chunk, total_docs=Nenhum)¶

Calcular e retornar por palavra probabilidade dependente, usando um pedaço de documentos como a avaliação corpus.

também produz as estatísticas calculadas, incluindo a perplexidade=2^(- bound), para logar ao nível de informação.

Parameters

  • chunk (list of list of (int, float)) – the corpus chunk on which the inference step will be performed.

  • total_docs (int, opcional) – Número de documentos utilizados para a avaliação da perplexidade.

Devolve

a pontuação variacional calculada para cada palavra.

Return type

numpy.ndarray

print_topic(topicno, topn=10)¶

Get a single topic as a formatted string.

parâmetros

  • topicno (int) – Topic id.

  • topn (int) – número de palavras do tópico que serão utilizadas.

Devolve

representação em cadeia do tópico, como ‘- 0.340 * “categoria” + 0.298 * “$m$ “+ 0.183 * “álgebra”+ … ‘.

Return type

str

print_topics(num_topics=20, num_words=10)¶

Get the most significant topics (alias for show_topics() method)).

parâmetros

  • num_tópicos – int, opcional) – O número de tópicos a serem selecionados, se -1-todos os tópicos serão resultado (ordenados por significância).

  • num_words – int, opcional) – O número de palavras a incluir por tópicos (ordenadas por significância).

Devolve

sequência com (topic_id,).

Return type

list of (int, list of (str, float))

save(fname, ignore=(‘state’, ‘dispatcher’), separate=None, *args, **kwargs)¶

Save the model to a file.

grandes matrizes internas podem ser armazenadas em arquivos separados, com o fname como prefixo.

notas

Se você pretende usar modelos em versões Python 2/3 existem algumas coisas tokeep em mente:

  1. O em conserva Python dicionários não funcionará em versões de Python

  2. O método save não salvar automaticamente todos os arrays numpy separadamente, onlythose aqueles que exceder sep_limit definida em save(). O concern principal aqui é o array Alfa se, por exemplo, usando Alfa=’auto’.

por favor consulte a secção de receitas do wiki para um exemplo de como trabalhar em torno destas questões.

Ver também

load()

Load model.

Parameters

  • fname – str) – Path to the system file where the model will be persisted.

  • ignore – tupla de str, opcional) – os atributos nomeados na tupla serão deixados de fora do modelo pickled. A razão pela qual o estado interno é ignorado por padrão é que ele usa sua própria serialização ao invés do único fornecido por este método.

  • separadamente ({lista de str, nenhuma}, opcional) – se nenhuma – detectar automaticamente um grande numpy / scipy.arrays esparsos no objeto que está sendo armazenado, e armazená-los em arquivos separados. Isso evita erros de memória de pickles e permite o mmap’Sing grandes arraysback em carga de forma eficiente. Se a lista de str – estes atributos serão armazenados em arquivos separados, a verificação automática não é realizada neste caso.

  • *argumentos posicionais args propagados a save().

  • *argumentos chave da palavra kwargs propagados asave().

show_topic(topicid, topn=10)¶

Get the representation for a single topic. Palavras aqui são as cadeias reais, em construst paraget_topic_terms() que representa palavras pelo seu ID de vocabulário.

parâmetros

  • topicid – int) – o ID do tópico a ser devolvido

  • topn (int, opcional) – Número das palavras mais significativas que estão associadas ao tópico.

Devolve

pares palavra – probabilidade para as palavras mais relevantes geradas pelo tópico.

Return type

list of (str, float)

show_topics(num_topics=10, num_words=10, log=False, formatted=True)¶

Get a representation for selected topics.

parâmetros

  • num_tópicos – int, opcional) – Número de tópicos a serem devolvidos. Ao contrário da LSA, não há ordenação natural entre os tópicos da LDA.O subconjunto de tópicos retornados de todos os tópicos é, portanto, arbitrário e pode mudar entre duas corridas de Ldatformação.

  • num_words – int, opcional) – Número de palavras a apresentar para cada tópico. Estas serão as palavras mais relevantes (atribuído a maior probabilidade para cada tópico).

  • log (bool, opcional) – se a saída também está registrada, além de ser devolvida.

  • formatado – bool, opcional) – se as representações temáticas devem ser formatadas como cadeias. Se falso, eles são retornados como 2 tuplas de (palavra, probabilidade).

Devolve

uma lista de tópicos, cada um deles representado como uma string (quando formatado = True) ou word-probabilitypairs.

Return type

list of {str, tuple of(str, float)}

sync_state(current_Elogbeta=None)¶

Propagate the states topic probabilities to the inner object’s attribute.

parâmetros

current_Elogbeta (numpy.ndarray – – probabilidades posteriores para cada tópico, opcional.Se omitido, ele vai obter Elogbeta do estado.

top_topics(corpus=None, texts=None, dictionary=None, window_size=None, coherence=’u_mass’, topn=20, processes=-1)¶

Get the topics with the highest coherence score the coherence for each topic.

parâmetros

  • corpus (iterável da lista de (int, float), opcional) – Corpus em formato de proa.textos (lista de Lista de textos str, opcional) – Tokenized texts, needed for coherence models that use sliding window based (i.e. coerência = “c_something”) estimador de probabilidade .

  • dictionary (Dictionary, opcional) – Gensim dictionary mapping of id word to create corpus.Se o modelo. id2word está presente, isso não é necessário. Se ambos são fornecidos, dicionário passado será usado.

  • window_size (int, opcional) – é o tamanho da janela a ser usada para medidas de coerência usando a janela de deslizamento booleana como seu estimador de probabilidade. Para “u_mass” isso não importa.Se nenhum – são utilizados os tamanhos predefinidos das janelas que são: “c_v” – 110, “c_uci” – 10, “c_npmi” – 10.coerência ({‘u_mass’,’ c_v’,’ c_uci’,’ c_npmi’}, opcional) – medida de coerência a utilizar.Método mais rápido – “u_mass”, “c_uci” também conhecido por c_pmi.No caso do corpus “u_mass” deve ser fornecido, se os textos forem fornecidos, ele será convertido para corpusususususususing do dicionário. Para os textos “c_v”, “c_uci” e “c_npmi” devem ser fornecidos (o corpus não é necessário)

  • topn (int, opcional) – inteiro correspondente ao número de palavras de topo a extrair de cada tópico.

  • processos – int, opcional) – Número de processos a utilizar para a fase de estimativa de probabilidade, qualquer valor inferior a 1 será interpretado comonum_cpus-1.

Devolve

cada elemento da lista é um par de uma representação de tópico e a sua pontuação de coerência. As representações temáticas são distribuições de palavras, representadas como uma lista de pares de IDs de palavras e suas probabilidades.

tipo de Retorno

lista (lista dos (int, str), float)

update(corpus, chunksize=Nenhum, decay=Nenhum, offset=Nenhum, passa=Nenhum, update_every=Nenhum, eval_every=Nenhum, iterações=Nenhum, gamma_threshold=Nenhum, chunks_as_numpy=False)¶

Treinar o modelo, com novos documentos, por EM-iterando sobre o corpo até que os temas convergem, ou untilthe máximo de número máximo de iterações seja atingido. o corpus deve ser iterável.

no modo distribuído, o passo E é distribuído por um conjunto de máquinas.

notas

esta actualização também suporta a actualização de um modelo já treinado com novos documentos; os dois modelos são então fundidos proporcionalmente ao número de documentos antigos vs. novos. Este recurso ainda é experimental para fluxos não-stataryinput. Por outro lado, isto é igual à actualização em linha de Matthew D. Hoffman, David M. Blei, Francis Bach:”Online Learning for Latent Dirichlet Allocation NIPS’10”.e é garantido para convergir para qualquer decaimento em (0.5, 1.0). Além disso, para corpos menores, um deslocamento crescente pode ser benéfico (Ver Tabela 1 no mesmo papel).

parâmetros

  • corpus (iterable of list of (int, float), optional) – Stream of document vectors or sparse matrix of shape (num_documents, num_terms) used to update themodel.

  • chunksize – int, opcional) – Número de documentos a utilizar em cada bloco de formação.

  • decaimento (float, opcional) –

    Um número entre (0.5, 1] peso que porcentagem do anterior valor lambda é forgottenwhen cada novo documento é examinado. Corresponde a Kappa fromMatthew D. Hoffman, David M. Blei, Francis Bach:”Online Learning for Latent Dirichlet Allocation NIPS’10”.

  • offset (float, opcional) –

    Hyper-parâmetro que controla o quanto iremos abrandar os primeiros passos das primeiras iterações.Corresponde a Tau_0 de Matthew D. Hoffman, David M. Blei, Francis Bach:”Online Learning for Latent Dirichlet Allocation NIPS’10”.passagens (int, opcional) – Número de passagens através do corpo durante o treino.

  • update_every – int, opcional) – Número de documentos a iterar para cada actualização.Definido como 0 para a aprendizagem em lote, > 1 para a aprendizagem iterativa online.

  • eval_every (int, opcional) – a perplexidade Log é estimada a cada tantas atualizações. Definir isto como um retarda a formação por ~2x.

  • iterações (int, opcional) – Número máximo de iterações através do corpus ao inferir a distribuição temática de um corpus.

  • gamma_threshold – float, opcional) – alteração mínima no valor dos parâmetros gama para continuar a iterar.

  • chunks_as_numpy – bool, opcional) – se cada bloco passado para o passo de inferência deve ser um numpy.ndarray ou não. Numpy pode em algum settingsturn o termo IDs em flutuadores, estes serão convertidos de volta em inteiros em inferência, que incorre em um ataque deformance. Para computação distribuída pode ser desejável manter os pedaços como numpy.ndarray.

update_alpha(gammat, rho)¶

Update parameters for the Dirichlet prior on the per-document topic weights.parâmetros

  • gammat (numpy.ndarray) – parâmetros de peso tópico anteriores.

  • rho (float) – taxa de aprendizagem.

Devolve

sequência dos parâmetros Alfa.

Return type

numpy.ndarray

update_eta(lambdat, rho)¶

Update parameters for the Dirichlet prior on the per-topic word weights.parâmetros

  • lambdat (numpy.ndarray) – parâmetros lambda anteriores.

  • rho (float) – taxa de aprendizagem.

Devolve

os parâmetros da eta actualizados.

Return type

numpy.ndarray

classe gensim.models.ldamodel.LdaState(eta, forma, dtype=<classe ‘numpy.float32’>)¶

Bases: gensim.utils.SaveLoad

Encapsular informações para computação distribuída de LdaModel objetos.

objetos desta classe são enviados pela rede, então tente mantê-los lean para reduzir o tráfego.

parâmetros

  • eta (numpy.ndarray) – as probabilidades anteriores atribuídas a cada termo.

  • forma (tupla de (int, int)) – forma das estatísticas suficientes: (número de tópicos a serem encontrados, número de termos no vocabulário).

  • dtype (type) – sobrepõe os tipos predefinidos da lista numpy.

add_lifecycle_event(event_name, log_level=20, **event)¶

adiciona um evento ao atributo lifecycle_ events deste objecto, e também regista o evento em log_level.

eventos são momentos importantes durante a vida do objeto, tais como”modelo criado”,” modelo salvo”,” modelo carregado”, etc.

o atributo “lifecycle_events”persiste em todas as operações do object save()e load(). Não tem impacto no uso do modelo,mas é útil durante a depuração e suporte.

Set self.lifecycle_ events = nenhum para desactivar este comportamento. As chamadas para add_ lifecycle_ event () não irão gravar os eventos em si.então, salva-vidas.

parâmetros

  • event_name – str) – nome do evento. Pode ser qualquer etiqueta, e.g. “criado”,” armazenado ” etc.

  • evento (dict) –

    mapeamento do valor-chave para adicionar ao self.salva-vidas. Deve ser JSON-serializável, por isso mantenha simples.Pode estar vazio.

    Este método irá automaticamente adicionar os seguintes valores-chave para o evento, portanto, você não precisará especificar o eles:

    • data / hora: a data atual & tempo

    • gensim: o atual Gensim versão

    • python: a atual versão do Python

    • plataforma: a plataforma atual

    • evento: o nome deste evento

  • log_level (int) – também regista o evento completo dict, no nível de Registo indicado. Configure como False para não registar nada.

blend(rhot, other, targetsize=None)¶

Merge o estado actual com outro usando uma média ponderada para as estatísticas suficientes.

O número de documentos é esticado em ambos os objetos de Estado, de modo que eles são de magnitude comparável.Este procedimento corresponde à actualização estocástica do gradiente de Hoffman et al. : “Online Learning for Latent Dirichlet Allocation”, see equations (5) and (9).

parâmetros

  • rhot – float) – Peso do outro Estado na média calculada. Um valor de 0, 0 significa que os outros são completamente ignorados. Um valor de 1.0 significa que o self é completamente ignorado.

  • outro (LdaState) – o objecto de estado com o qual o actual será fundido.

  • visize (int, opcional) – O número de documentos para esticar ambos os Estados.

blend2(rhot, other, targetsize=None)¶

Merge o estado actual com outro usando uma soma ponderada para as estatísticas suficientes.

em contraste com blend(), as estatísticas suficientes não são avaliadas antes da agregação.

parâmetros

  • rhot – float) – não utilizados.

  • outro (LdaState) – o objecto de estado com o qual o actual será fundido.

  • visize (int, opcional) – O número de documentos para esticar ambos os Estados.

get_Elogbeta ()¶

Get the log (posterior) probabilities for each topic.

Devolve

probabilidades posteriores para cada tópico.

Return type

numpy.ndarray

get_lambda()¶

Get the parameters of the posterior over the topics, also referred to as “the topics”.

Devolve

parâmetros da probabilidade posterior sobre tópicos.

Return type

numpy.ndarray

classmethodload(fname, *args, **kwargs)¶

Load a previously stored state from disk.

substitui load ao aplicar o parametro dtype para garantir a compatibilidade ao contrário.

parâmetros

  • fname – str) – localização do ficheiro que contém o objecto necessário.

  • args (object) – parâmetros posicionais a propagar à classe:~gensim.util.SaveLoad.carga

  • kwargs (object)-parâmetros chave a propagar à classe:~gensim.util.SaveLoad.o load

Devolve

o estado carregado do ficheiro indicado.

Return type

LdaState

merge(other)¶

Merge o resultado de um passo de um nó com o de outro nó (somando estatísticas suficientes).

a junção é trivial e depois de juntar todos os nós de aglomerado, temos o mesmo resultado como se o cálculo fosse executado em um único nó (noapproximation).

parâmetros

outros (LdaState) – o objecto de estado com o qual o actual será fundido.

reset ()¶

Prepare o estado para uma nova emiteração (reset sufficient stats).

save(fname_or_handle, separate=None, sep_limit=10485760, ignore=frozenset({}), pickle_protocol=4)¶

Save the object to a file.

Parameters

  • fname_or_handle (str ou tipo de ficheiro)-localização do ficheiro de saída ou objecto semelhante ao ficheiro já aberto. Se o objeto é uma pega de arquivo, nenhum tratamento de array especial será realizada, todos os atributos serão salvos para o mesmo arquivo.

  • separadamente (lista de str ou nenhuma, opcional) –

    Se nenhuma, detectar automaticamente um grande numpy / scipy.arrays esparsos no objeto que está sendo armazenado, e armazená-los em arquivos separados. Isto evita erros de memória para objetos grandes, e também permite mapear as grandes matrizes para eficientloading e compartilhar as matrizes grandes em RAM entre vários processos.

    If list of str: store these attributes into separate files. A verificação automatizada do tamanho não é realizada neste caso.

  • sep_limit – int, opcional) – não armazenar matrizes menores que esta separadamente. Em bytes.

  • ignore (frozenset of str, opcional) – atributos que não devem ser armazenados de todo.

  • pickle_protocol – int, opcional) – Número do Protocolo para o pickle.

Ver também

load()

carregar o objecto do ficheiro.

gensim.models.ldamodel.update_dir_prior(prior, n, logphat, rho)¶

Update a given prior using Newton’s method, described inJ. Huang:”Maximum Likelihood Estimation of Dirichlet Distribution Parameters”.

parâmetros

  • prior (lista de vírgula flutuante) – o anterior para cada resultado possível na iteração anterior (a ser actualizado).

  • n (int) – número de observações.

  • logphat (list of float) – Log probabilities for the current estimation, also called “observed sufficient statistics”.

  • rho (float) – taxa de aprendizagem.

Devolve

o anterior actualizado.

Return type

list of float

Deixe uma resposta

O seu endereço de email não será publicado.