Análise sintática | Guia para Dominar o Processamento de Linguagem Natural (Papel 11)

Conteúdo

Este artigo foi publicado como parte do Data Science Blogathon

Introdução

Este artigo é parte de uma série de blog em andamento sobre processamento de linguagem natural (PNL). No artigo anterior, discutimos uma técnica de extração de entidade chamada, por exemplo, Reconhecimento de entidades nomeadas. Há também outra técnica de extração de entidade que também é uma técnica popular chamada Modelagem de tema, que discutiremos em artigos posteriores em nossa série de blogs.

Então, neste artigo, vamos nos aprofundar na análise sintática, que é um dos níveis cruciais da PNL.

Esta é a parte 11 da série de blogs no Guia passo a passo para processamento de linguagem natural.

Tabela de conteúdo

1. O que é análise?

2. Qual é a diferença entre análise e léxico?

3. O que é um analisador?

4. Quais são os diferentes tipos de analisadores?

5. O que é shunt e seus tipos?

6. Quais são os tipos de análise baseada em derivação?

7. O que é uma árvore Parse?

O que é análise?

A análise sintática é definida como a análise que nos diz o significado lógico de frases dadas com certeza ou partes dessas frases. Devemos também considerar as regras gramaticais para definir o significado lógico e a correção das frases.

O, em palavras simples, análise é o processo de análise da linguagem natural com as regras da gramática formal. Aplicamos regras gramaticais apenas a categorias e grupos de palavras, não se aplica a palavras individuais.

A análise sintática basicamente atribui uma estrutura semântica ao texto. Também conhecido como análise ou análise. A palavra 'análise’ Origina-se da palavra latina ‘pars’ o que 'parte' significa. A análise sintática lida com a sintaxe da linguagem natural. Regras gramaticais foram usadas na análise sintática.

Vamos dar um exemplo para entender melhor:

Considere a seguinte frase:

Frase: A escola vai um menino 

A frase anterior não transmite logicamente seu significado e sua estrutura gramatical não está correta. Então, a análise sintática nos diz se uma determinada frase transmite seu significado lógico ou não e se sua estrutura gramatical está correta ou não.

Como discutimos as etapas ou diferentes níveis de PNL, o terceiro nível da PNL é analisar ou analisar ou analisar. O principal objetivo deste nível é extrair o significado exato, ou em palavras simples, posso dizer encontrar o significado do dicionário a partir do texto. A análise de sintaxe verifica o significado do texto em relação às regras da gramática formal.

Por exemplo, considere a seguinte frase

Frase: “Sorvete quente” 

A frase acima seria rejeitada pelo analisador semântico.

Agora, vamos definir formalmente a análise,

No sentido acima, a análise ou análise pode ser definida como o processo de análise de cadeias de caracteres de símbolos em linguagem natural de acordo com as regras da gramática formal.

Diferença entre análise lexical e sintática

O objetivo da análise lexical é a limpeza de dados e extração de recursos com a ajuda de técnicas como

  • Derivado,
  • Lematización,
  • Palavras com erros ortográficos corretos, etc.

Por outro lado, na análise, nosso objetivo é:

  • Encontre os papéis que as palavras desempenham em uma frase,
  • Interprete a relação entre as palavras,
  • Interprete a estrutura gramatical das frases.

Vamos considerar o seguinte exemplo com 2 orações:

Frases:
Patna é a capital de Bihar.
Patna é a capital de Bihar??

Em ambas as frases, todas as palavras são iguais, mas apenas a primeira frase é sintaticamente correta e facilmente compreensível.

Mas não podemos fazer essas distinções usando técnicas básicas de processamento lexical.. Portanto, precisamos de técnicas de processamento de sintaxe mais sofisticadas para entender a relação entre palavras individuais em uma frase.

A análise sintática considera os seguintes aspectos da frase que o léxico não:

Ordem e significado das palavras

A análise sintática visa extrair a dependência de palavras com outras palavras no documento. Se mudarmos a ordem das palavras, vai ser difícil entender a frase.

Pare a retenção de palavras

Se removermos as palavras vazias, pode mudar completamente o significado de uma frase.

Morfologia da palavra

Derivação e derivação trarão as palavras à sua forma básica, modificando assim a gramática da frase.

Partes do discurso para palavras em uma frase

É importante identificar a parte gramatical correta de uma palavra.

Por exemplo, Considere as seguintes frases:

‘Cortes na mão’ (Aqui, ‘cortes’ é um substantivo) 
‘Ele corta um abacaxi’ (Aqui, ‘Corta’ é um verbo)

O que é um analisador?

O analisador é usado para implementar a tarefa de análise.

Agora, vamos ver o que exatamente é um analisador.

É definido como o componente de software que é projetado para receber dados de texto de entrada e fornece uma representação estrutural da entrada após verificar a sintaxe correta com a ajuda da gramática formal. Ele também gera uma estrutura de dados geralmente na forma de uma árvore de análise ou árvore de sintaxe abstrata ou outra estrutura hierárquica..

top2bdown2bparsing-1037540

Fonte da imagem: Imagens do google

Podemos entender a relevância da análise em PNL com a ajuda dos seguintes pontos:

  • O analisador pode ser usado para relatar quaisquer erros de sintaxe.
  • Ajuda a se recuperar de erros comuns para que o processamento do resto do programa possa continuar.
  • Uma árvore de análise é criada com a ajuda de um analisador.
  • O analisador é usado para criar uma tabela de símbolos, que desempenha um papel importante na PNL.
  • Um analisador também é usado para produzir representações intermediárias (IR).

Diferentes tipos de analisadores

Como discutido, Basicamente, um analisador é uma interpretação procedimental da gramática. Tente encontrar uma árvore ideal para uma frase em particular depois de procurar no espaço por uma variedade de árvores.

Vamos dar uma olhada em alguns dos analisadores disponíveis:

  • Analisador de descida recursiva
  • Analisador de redução de caso
  • Analisador de gráficos
  • Analisador de expressão regular

Analisador de descida recursiva

É uma das formas mais simples de análise. Alguns pontos importantes sobre o analisador descendente recursivo são os seguintes:

  • Siga um processo de cima para baixo.
  • Tente verificar se a sintaxe do fluxo de entrada está correta ou não.
  • Verifica o texto de entrada da esquerda para a direita.
  • A operação necessária para este tipo de analisador é fazer a varredura de caracteres do fluxo de entrada e relacioná-los aos terminais com a ajuda da gramática..

Analisador de redução de caso

Alguns dos pontos importantes sobre o analisador de mudança-redução são os seguintes:

  • Siga um processo simples de baixo para cima.
  • Seu objetivo é encontrar a sequência de palavras e frases que correspondem ao lado direito de uma produção gramatical e substituí-las pelo lado esquerdo da produção.
  • Tente encontrar uma sequência de palavras que continue até que toda a frase seja encurtada.
  • Em palavras simples, este analisador começa com o símbolo de entrada e visa construir a árvore do analisador até o símbolo inicial.

Analisador de gráficos

Alguns dos pontos importantes sobre o analisador de gráfico são os seguintes:

  • Basicamente, este analisador é útil para gramáticas ambíguas, incluindo gramáticas de linguagem natural.
  • Aplica o conceito de programação dinâmica a problemas de análise.
  • Devido à programação dinâmica, armazena resultados hipotéticos parciais em uma estrutura chamada “gráfico”.
  • O gráfico’ também pode ser reutilizado em diferentes cenários.

Analisador de expressão regular

É um dos analisadores mais usados. Alguns dos pontos importantes sobre o analisador Regexp são os seguintes:

  • Usa uma expressão regular que é definida na forma gramatical no topo de uma string rotulada como POS.
  • Basicamente, use essas expressões regulares para analisar as sentenças de entrada e produzir uma árvore de análise a partir deste.

O que é bypass?

Precisamos de uma sequência de regras de produção para obter a string de entrada. Derivação é um conjunto de regras de produção. Durante a análise, temos que decidir o não terminal, que será substituída juntamente com a decisão da regra de produção com a ajuda da qual o não terminal será substituído.

Tipos de desvio

Nesta secção, vamos discutir os dois tipos de derivações, que pode ser usado para decidir qual não terminal substituir pela regra de produção:

Desviar mais para a esquerda

No desvio mais à esquerda, a forma enunciativa de entrada é digitalizada e substituída da esquerda para a direita. Neste caso, a forma da frase é conhecida como a forma da frase esquerda.

Bypass mais à direita

No desvio mais à esquerda, a forma da frase de entrada é digitalizada e substituída da direita para a esquerda. Neste caso, a forma da frase é chamada de forma da frase certa.

Tipos de análise

A derivação divide a análise nos seguintes dois tipos:

compiler-design-analysis-types-1864964

Fonte da imagem: Imagens do google

Análise de cima para baixo

Na análise de cima para baixo, o analisador começa a produzir a árvore de análise a partir do símbolo inicial e então tenta transformar o símbolo inicial em entrada. A forma mais comum de análise top-down usa o procedimento recursivo para processar a entrada, mas sua principal desvantagem é de volta.

Análise de baixo para cima

Na análise ascendente, o analisador começa a trabalhar com o símbolo de entrada e tenta construir a árvore do analisador até o símbolo inicial.

O que é uma árvore Parse?

Representa a representação gráfica de uma derivação. O símbolo inicial da derivação é considerado o nó raiz da árvore de análise e os nós folha são terminais e os nós interiores são não terminais.

A propriedade mais útil da árvore de análise é que o tour em ordem da árvore irá produzir a string de entrada original.

Por exemplo, Considere a seguinte frase:

Frase: o cachorro viu um homem no parque

Depois de analisar a frase, a árvore de análise gerada é mostrada abaixo:

ch08-tree-4-2877785

Fonte da imagem: Imagens do google

Isso encerra nossa parte 11 da série de blogs sobre processamento de linguagem natural!

Outros posts meus

Você também pode verificar minhas postagens anteriores.

Postagens anteriores do blog de ciência de dados.

LinkedIn

Aqui está meu perfil do Linkedin no caso de você querer se conectar comigo. Ficarei feliz em estar conectado com você.

Correio eletrônico

Para qualquer consulta, você pode me enviar um e-mail em Gmail.

Notas finais

Obrigado pela leitura!

Espero que tenha gostado do artigo. Se você gosta, compartilhe com seus amigos também. Qualquer coisa não mencionada ou você deseja compartilhar suas idéias? Sinta-se à vontade para comentar abaixo e eu entrarei em contato com você. 😉

A mídia mostrada neste artigo não é propriedade da DataPeaker e é usada a critério do autor.

Assine a nossa newsletter

Nós não enviaremos SPAM para você. Nós odiamos isso tanto quanto você.