Algoritmo Neural Topic Model (NTM) - Amazon SageMaker

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Algoritmo Neural Topic Model (NTM)

SageMaker NTMO Amazon é um algoritmo de aprendizado não supervisionado usado para organizar um corpus de documentos em tópicos que contêm agrupamentos de palavras com base em sua distribuição estatística. Por exemplo, os documentos que contêm ocorrências frequentes de palavras como "bicicleta", "carro", "trem", "quilometragem" e "velocidade" provavelmente compartilham um tópico "transporte". A modelagem de tópicos pode ser usada para classificar ou resumir documentos com base nos tópicos detectados ou para recuperar informações ou recomendar conteúdo com base em semelhanças de tópicos. Os tópicos de documentos que NTM aprende são caracterizados como uma representação latente porque os tópicos são inferidos das distribuições de palavras observadas no corpus. A semântica dos tópicos é geralmente inferida por meio do exame das palavras melhor classificadas que eles contêm. Por se tratar de um método não supervisionado, somente o número de tópicos é predeterminado, não os tópicos em si. Além disso, não há garantias de que os tópicos estejam alinhados com o modo humano de naturalmente categorizar documentos.

Com a modelagem de tópicos, é possível visualizar o conteúdo de um grande corpus de documentos quanto aos tópicos aprendidos. Os documentos relevantes para cada tópico podem ser indexados ou pesquisados com base nos seus rótulos de tópicos flexíveis. As representações latentes dos documentos também podem ser usadas para encontrar documentos semelhantes no espaço do tópico. Além disso, é possível usar as representações latentes dos documentos aprendidos pelo modelo de tópico como dados de entrada em outro algoritmo supervisionado, como um classificador de documentos. Como essas representações devem capturar a semântica dos documentos subjacentes, o esperado é que o desempenho dos algoritmos parcialmente baseados nelas seja melhor do que o dos algoritmos baseados somente em recursos lexicais.

Embora você possa usar a Amazon SageMaker NTM e LDA algoritmos para modelagem de tópicos, eles são algoritmos distintos e pode-se esperar que produzam resultados diferentes nos mesmos dados de entrada.

Para obter mais informações sobre a matemática por trásNTM, consulte Inferência variacional neural para processamento de texto.

Interface de entrada/saída para o algoritmo NTM

O Amazon SageMaker Neural Topic Model oferece suporte a quatro canais de dados: treinamento, validação, teste e auxiliar. Os canais de dados de validação, teste e auxiliar são opcionais. Se você especificar qualquer um desses canais opcionais, defina o valor do parâmetro S3DataDistributionType para eles como FullyReplicated. Se você fornecer dados de validação, a perda sobre esses dados será registrada a cada epoch, e o modelo interromperá o treinamento assim que detectar que a perda de validação não está melhorando. Se você não fornecê-los, o algoritmo será interrompido antecipadamente com base nos dados de treinamento, mas isso pode ser menos eficiente. Se dados de teste forem fornecidos, o algoritmo relatará a perda de teste do modelo final.

Os canais de dados de treinamento, validação e teste para NTM suportar formatos recordIO-wrapped-protobuf (densos e esparsos) e de CSV arquivo. Para o formato CSV, cada linha deve ser representada densamente com contagens de zero para palavras não presentes no documento correspondente e ter uma dimensão igual a: (número de registros) * (tamanho do vocabulário). É possível usar o modo de Arquivo ou de Pipe para treinar modelos em dados formatados como recordIO-wrapped-protobuf ou CSV. O canal auxiliar é usado para fornecer um arquivo de texto que contém vocabulário. Ao fornecer o arquivo de vocabulário, os usuários podem ver as principais palavras de cada um dos tópicos impressos no registro em vez de seus números inteiros. IDs Ter o arquivo de vocabulário também permite NTM calcular as pontuações de coerência de tópicos de incorporação de palavras (WETC), uma nova métrica exibida no registro que captura a semelhança entre as principais palavras em cada tópico de forma eficaz. O ContentType para o canal auxiliar étext/plain, com cada linha contendo uma única palavra, na ordem correspondente ao número inteiro IDs fornecido nos dados. O arquivo de vocabulário deve ser nomeado vocab.txt e, atualmente, somente a codificação UTF -8 é suportada.

Para inferência, há compatibilidade com os tipos de conteúdo text/csv, application/json, application/jsonlines e application/x-recordio-protobuf. Dados esparsos também podem ser passados para application/json e application/x-recordio-protobuf. NTMretornos de inferência application/json ou application/x-recordio-protobuf previsões, que incluem o topic_weights vetor para cada observação.

Consulte a postagem do blog e o caderno complementar para obter mais detalhes sobre como usar o canal auxiliar e as WETC pontuações. Para obter mais informações sobre como calcular a WETC pontuação, consulte Modelagem de tópicos neurais com reconhecimento de coerência. Usamos os pares WETC descritos neste paper para o Amazon SageMaker Neural Topic Model.

Para obter mais informações sobre formatos de arquivo de entrada e saída, consulte NTMFormatos de resposta para inferência e os Amostra de blocos de anotações do NTM.

EC2Recomendação de instância para o NTM algoritmo

NTMo treinamento oferece suporte a ambos GPU e aos tipos de CPU instância. Recomendamos GPU instâncias, mas para determinadas cargas de trabalho, as CPU instâncias podem resultar em menores custos de treinamento. CPUas instâncias devem ser suficientes para inferência. NTMo treinamento oferece suporte às famílias de GPU instâncias P2, P3, G4dn e G5 para treinamento e inferência.

Amostra de blocos de anotações do NTM

Para obter um exemplo de caderno que usa o SageMaker NTM algoritmo para descobrir tópicos em documentos de uma fonte de dados sintética em que as distribuições de tópicos são conhecidas, consulte a Introdução à funcionalidade básica do. NTM Para obter instruções sobre como criar e acessar instâncias do notebook Jupyter que você pode usar para executar o exemplo SageMaker, consulte. Instâncias do Amazon SageMaker Notebook Depois de criar uma instância do notebook e abri-la, selecione a guia SageMaker Exemplos para ver uma lista de todas as SageMaker amostras. Os blocos de notas de exemplo de modelagem de tópicos usando os NTM algoritmos estão localizados na seção Introdução aos algoritmos da Amazon. Para abrir um bloco de anotações, clique em sua guia Uso e selecione Criar cópia.