🚀 A CloudSEK se torna a primeira empresa de segurança cibernética de origem indiana a receber investimentos da Estado dos EUA fundo
Leia mais

por Bofin Babu, líder de aprendizado de máquina
A classificação de texto é uma tarefa importante no processamento de linguagem natural, na qual categorias predefinidas são atribuídas a documentos de texto. Neste artigo, exploraremos abordagens recentes para classificação de texto que consideram a estrutura do documento, bem como a atenção no nível da frase.
Em geral, um fluxo de trabalho de classificação de texto é assim:

Você coleta muitos exemplos de textos rotulados para cada classe (seu conjunto de dados). Em seguida, você extrai alguns recursos desses exemplos de texto. Os recursos de texto da etapa anterior, juntamente com os rótulos, são então inseridos em um algoritmo de aprendizado de máquina. Após o processo de aprendizado, você salvará seu modelo de classificador para previsões futuras.
Uma diferença entre o aprendizado de máquina clássico e o aprendizado profundo quando se trata A classificação é que, no aprendizado profundo, a extração e a classificação de características são realizadas em conjunto, mas no aprendizado de máquina clássico, elas geralmente são tarefas separadas.
A extração adequada de recursos é uma parte importante do aprendizado de máquina para classificação de documentos, talvez mais importante do que escolher o algoritmo de classificação correto. Se você não escolher bons recursos, não pode esperar que seu modelo funcione bem. Antes de discutir mais a extração de recursos, vamos falar sobre alguns métodos de representação de texto para extração de recursos.
Um documento de texto é feito de frases que, por sua vez, são feitas de palavras. Agora, a questão é: como podemos representá-los de forma que as características possam ser extraídas de forma eficiente?
A representação de documentos pode ser baseada em dois modelos:
Modelos booleanos padrão: esses modelos usam lógica booleana e a teoria dos conjuntos é usada para recuperação de informações do texto. Eles são ineficientes em comparação com o modelo de espaço vetorial abaixo por vários motivos e não são nosso foco.
Modelos de espaço vetorial: quase todos os métodos de representação de texto existentes são baseados em VSMs. Aqui, os documentos são representados como vetores.
Vejamos duas técnicas pelas quais modelos de espaço vetorial podem ser implementados para extração de características.
No modelo Saco de palavras, o texto é representado como o pacote de suas palavras. O exemplo abaixo deixará isso claro.
Aqui estão dois exemplos de documentos de texto:
(i) Bofin gosta de assistir filmes. Rahul também gosta de filmes.
(ii) Bofin também gosta de jogar tabla.
Com base nos dois documentos de texto acima, podemos construir uma lista de palavras nos documentos da seguinte forma.
Agora, se você considerar um modelo simples de pacote de palavras com frequência de termos (o número de vezes que um termo aparece no texto), as listas de recursos dos dois exemplos acima serão,
(i)
(ii)
Uma frequência de termos simples como essa para caracterizar o texto nem sempre é uma boa ideia. Para documentos de texto grandes, usamos algo chamado frequência de termos — frequência inversa de documentos (tf-idf). tf-idf é o produto de duas estatísticas, termo frequência (tf) e frequência inversa do documento (idf). Acabamos de ver no exemplo acima o que tf é, agora vamos entender idf. Em termos simples, idf é uma medida do quanto uma palavra é comum a todos os documentos. Se uma palavra ocorrer com frequência em um documento, essa palavra terá alta frequência de termos; se também ocorrer com frequência na maioria dos documentos, terá uma baixa frequência inversa de documentos. Basicamente, idf nos ajuda a filtrar palavras como, i e, que ocorrem com frequência, mas não são importantes para determinar a distinção de um documento.
O Word2vec é uma técnica popular para produzir incorporações de palavras. É baseado na ideia de que o significado de uma palavra pode ser percebido pelas palavras que a cercam (como o provérbio: “Diga-me quem são seus amigos e eu lhe direi quem você é”). Ele produz um espaço vetorial a partir de um grande corpus, com cada palavra única no corpus sendo atribuída a um vetor correspondente no espaço vetorial. O coração do word2vec é uma rede neural de duas camadas treinada para modelar o contexto linguístico das palavras, de forma que as palavras que compartilham contextos comuns em um documento estejam próximas ao espaço vetorial.
O Word2vec usa duas arquiteturas para representação. Você pode (vagamente) pensar na criação do modelo word2vec como o processo que consiste em processar cada palavra em um documento em qualquer um desses métodos.
Modelos Word2vec treinados em grandes corpora de texto (como toda a Wikipedia em inglês) mostraram compreender algumas relações interessantes entre palavras, conforme mostrado abaixo.

Seguindo esses modelos de espaço vetorial, as abordagens que usam aprendizado profundo progrediram nas representações de texto. Eles podem ser amplamente categorizados como abordagens baseadas em redes neurais convolucionais ou abordagens baseadas em redes neurais recorrentes (e seus sucessores LSTM/GRU).
As redes neurais convolucionais (CONVNets) são consideradas impressionantes para aplicações de visão computacional, especialmente para classificação de imagens. Pesquisas recentes que exploram ConvNets para tarefas de processamento de linguagem natural mostraram resultados promissores para classificação de texto, como CharCNN em que o texto é tratado como uma espécie de sinal bruto no nível do caractere e aplicando ConvNets temporais (unidimensionais) a ele.
A rede neural recorrente e seus derivados podem ser talvez as arquiteturas neurais mais célebres na interseção do aprendizado profundo e do processamento de linguagem natural. Os RNNs podem usar sua memória interna para processar sequências de entrada, tornando-os uma boa arquitetura para várias tarefas de processamento de linguagem natural.
Embora as abordagens baseadas em redes neurais diretas para classificação de texto tenham sido bastante eficazes, observa-se que melhores representações podem ser obtidas ao incluir o conhecimento da estrutura do documento na arquitetura do modelo. Essa ideia é concebida a partir do senso comum de que,
Exploraremos uma dessas abordagens em que mecanismos de atenção em nível de palavras e frases são incorporados para uma melhor classificação de documentos.
Duas informações básicas dos métodos tradicionais que discutimos até agora, em contraste com os métodos de atenção hierárquica, são:
Para deixar isso claro, vejamos o exemplo abaixo:

Nesta resenha de restaurante, a terceira frase oferece um significado forte (sentimento positivo) e as palavras incrível e excelente são as que mais contribuem para definir o sentimento da frase.
Agora, vamos ver como as redes hierárquicas de atenção são projetadas para classificação de documentos. Como eu disse anteriormente, esses modelos incluem dois níveis de atenção, um no nível da palavra e outro no nível da frase. Isso permite que o modelo preste menos ou mais atenção às palavras e frases individuais adequadamente ao construir a representação do documento.
A rede hierárquica de atenção (HAN) consiste em várias partes,
Antes de explorá-los um por um, vamos entender um pouco sobre o codificador de sequência baseado em GRU, que é o núcleo da palavra e o codificador de frases dessa arquitetura.
Unidades recorrentes fechadas ou GRU são uma variação das LSTMs (redes de memória de longo prazo) que são, na verdade, uma espécie de rede neural recorrente. Se você não está familiarizado com os LSTMs, sugiro que leia isso artigo maravilhoso.
Ao contrário do LSTM, o GRU usa um mecanismo de bloqueio para rastrear o estado das sequências sem usar células de memória separadas. Existem dois tipos de portas, a porta de reinicialização e a porta de atualização. Juntos, eles controlam como as informações são atualizadas para o estado.
Consulte o diagrama acima para ver as notações usadas no conteúdo a seguir.
1. Codificador de palavras
Uma GRU bidirecional é usada para obter anotações de palavras resumindo as informações de ambas as direções para as palavras e, assim, incorporando as informações contextuais.
Onde xisso é o vetor da palavra correspondente à palavra wisso. e We é a matriz de incorporação.
Obtemos uma anotação para uma determinada palavra wisso ao concatenar o estado oculto para frente e o estado oculto para trás,

2. Atenção à palavra
Nem todas as palavras contribuem igualmente para o significado de uma frase. Portanto, precisamos de um mecanismo de atenção para extrair essas palavras que são importantes para o significado da frase e agregar a representação dessas palavras informativas para formar um vetor de frase.

Inicialmente, alimentamos a palavra anotação hisso através de um MLP de uma camada para obter uisso (chamado de vetor de contexto em nível de palavra) como uma representação oculta para hisso. Então, entendemos a importância vetor (?) conforme mostrado na equação acima. O vetor de contexto é basicamente uma representação de alto nível de quão informativa uma palavra é na frase dada e aprendida durante o processo de treinamento.
3. Codificador de frases
Semelhante ao codificador de palavras, aqui usamos uma GRU bidirecional para codificar frases.
Os estados ocultos para frente e para trás são cálculos realizados de forma semelhante ao codificador de palavras e ao estado oculto h é obtido concatenando-os como,

Agora, o estado oculto heu resume as frases vizinhas ao redor da frase eu, mas ainda com o foco em i.
4. Atenção à frase
Para recompensar frases que são pistas para classificar corretamente um documento, usamos novamente o mecanismo de atenção no nível da frase.

Semelhante ao vetor de contexto de palavras, aqui também introduzimos um vetor de contexto em nível de frase us.
Agora, o vetor do documento v é uma representação de alto nível do documento e pode ser usada como recurso para classificação de documentos.
Então, vimos como a estrutura e a atenção do documento podem ser usadas como recursos para classificação. Nos estudos de referência, esse método superou os métodos populares existentes com uma margem decente em conjuntos de dados populares, como Yelp Reviews, IMDB e Yahoo Answers.
Conte-nos o que você acha das redes de atenção na seção de discussão abaixo e fique à vontade para fazer suas perguntas.