Processamento de linguagem natural - análise sintática
A análise sintática ou análise sintática ou análise sintática é a terceira fase da PNL. O objetivo desta fase é extrair o significado exato, ou você pode dizer o significado do dicionário a partir do texto. A análise de sintaxe verifica se o texto é significativo em comparação com as regras da gramática formal. Por exemplo, a frase como “sorvete quente” seria rejeitada pelo analisador semântico.
Nesse sentido, a análise sintática ou análise sintática pode ser definida como o processo de análise das cadeias de símbolos na linguagem natural em conformidade com as regras da gramática formal. A origem da palavra‘parsing’ é da palavra latina ‘pars’ que significa ‘part’.
Conceito de Analisador
É usado para implementar a tarefa de análise. Pode ser definido como o componente de software projetado para obter dados de entrada (texto) e fornecer uma representação estrutural da entrada após a verificação da sintaxe correta de acordo com a gramática formal. Ele também constrói uma estrutura de dados geralmente na forma de árvore de análise ou árvore de sintaxe abstrata ou outra estrutura hierárquica.
As principais funções da análise incluem -
Para relatar qualquer erro de sintaxe.
Para se recuperar de erros comuns para que o processamento do restante do programa possa ser continuado.
Para criar uma árvore de análise.
Para criar uma tabela de símbolos.
Para produzir representações intermediárias (IR).
Tipos de análise
A derivação divide a análise nos dois tipos seguintes -
Análise de cima para baixo
Análise de baixo para cima
Análise de cima para baixo
Nesse tipo de análise, o analisador começa a construir a árvore de análise a partir do símbolo inicial e, a seguir, tenta transformar o símbolo inicial na entrada. A forma mais comum de análise de cima para baixo usa o procedimento recursivo para processar a entrada. A principal desvantagem da análise descendente recursiva é o retrocesso.
Análise de baixo para cima
Nesse tipo de análise, o analisador começa com o símbolo de entrada e tenta construir a árvore do analisador até o símbolo inicial.
Conceito de Derivação
Para obter a string de entrada, precisamos de uma sequência de regras de produção. Derivação é um conjunto de regras de produção. Durante a análise, precisamos decidir o não terminal, que deve ser substituído, juntamente com a decisão da regra de produção com a ajuda da qual o não terminal será substituído.
Tipos de Derivação
Nesta seção, aprenderemos sobre os dois tipos de derivações, que podem ser usadas para decidir qual não terminal a ser substituído pela regra de produção -
Derivação mais à esquerda
Na derivação mais à esquerda, a forma sentencial de uma entrada é digitalizada e substituída da esquerda para a direita. A forma sentencial, neste caso, é chamada de forma sentencial à esquerda.
Derivação mais à direita
Na derivação mais à esquerda, a forma sentencial de uma entrada é digitalizada e substituída da direita para a esquerda. A forma sentencial neste caso é chamada de forma sentencial direita.
Conceito de Parse Tree
Pode ser definido como a representação gráfica de uma derivação. O símbolo inicial de derivação serve como raiz da árvore de análise. Em cada árvore de análise, os nós folha são terminais e os nós internos são não terminais. Uma propriedade da árvore de análise é que a travessia em ordem produzirá a string de entrada original.
Conceito de Gramática
A gramática é muito essencial e importante para descrever a estrutura sintática de programas bem formados. No sentido literário, eles denotam regras sintáticas para conversação em línguas naturais. A linguística tem tentado definir gramáticas desde o início das línguas naturais como inglês, hindi, etc.
A teoria das linguagens formais também é aplicável nos campos da Ciência da Computação, principalmente em linguagens de programação e estrutura de dados. Por exemplo, na linguagem 'C', as regras gramaticais precisas determinam como as funções são feitas a partir de listas e instruções.
Um modelo matemático de gramática foi dado por Noam Chomsky em 1956, que é eficaz para escrever linguagens de computador.
Matematicamente, uma gramática G pode ser escrita formalmente como uma tupla de 4 (N, T, S, P) onde -
N ou VN = conjunto de símbolos não terminais, ou seja, variáveis.
T ou ∑ = conjunto de símbolos terminais.
S = Símbolo inicial onde S ∈ N
Pdenota as regras de produção tanto para terminais quanto para não terminais. Tem a forma α → β, onde α e β são strings em V N ∪ ∑ e pelo menos um símbolo de α pertence a V N
Estrutura da frase ou gramática do grupo constituinte
A gramática de estrutura de frase, introduzida por Noam Chomsky, é baseada na relação de constituintes. É por isso que também é chamada de gramática constituinte. É o oposto da gramática da dependência.
Exemplo
Antes de dar um exemplo de gramática constituinte, precisamos saber os pontos fundamentais sobre a gramática constituinte e a relação constituinte.
Todas as estruturas relacionadas vêem a estrutura da frase em termos de relação de constituintes.
A relação constituinte é derivada da divisão sujeito-predicado do latim, bem como da gramática grega.
A estrutura da cláusula básica é entendida em termos de noun phrase NP e verb phrase VP.
Podemos escrever a frase “This tree is illustrating the constituency relation” como segue -
Gramática de Dependência
É o oposto da gramática de constituintes e baseado na relação de dependência. Foi apresentado por Lucien Tesniere. A gramática de dependência (GD) é oposta à gramática de constituintes porque carece de nós frasais.
Exemplo
Antes de dar um exemplo de gramática de dependência, precisamos conhecer os pontos fundamentais sobre a gramática de dependência e a relação de dependência.
Na GD, as unidades linguísticas, ou seja, as palavras são conectadas entre si por links direcionados.
O verbo se torna o centro da estrutura da oração.
Todas as outras unidades sintáticas são conectadas ao verbo em termos de link direcionado. Essas unidades sintáticas são chamadasdependencies.
Podemos escrever a frase “This tree is illustrating the dependency relation” do seguinte modo;
A árvore de análise que usa a gramática de grupos constituintes é chamada de árvore de análise baseada em grupos constituintes; e as árvores de análise que usam a gramática de dependência são chamadas de árvore de análise baseada em dependência.
Gramática livre de contexto
Gramática livre de contexto, também chamada de CFG, é uma notação para descrever linguagens e um superconjunto da gramática regular. Pode ser visto no diagrama a seguir -
Definição de CFG
CFG consiste em um conjunto finito de regras gramaticais com os quatro componentes a seguir -
Conjunto de não terminais
É denotado por V. Os não terminais são variáveis sintáticas que denotam os conjuntos de strings, que auxiliam ainda mais na definição da linguagem, gerada pela gramática.
Conjunto de Terminais
Também é chamado de tokens e definido por Σ. Strings são formados com os símbolos básicos dos terminais.
Conjunto de produções
É denotado por P. O conjunto define como os terminais e não terminais podem ser combinados. Cada produção (P) consiste em não terminais, uma seta e terminais (a sequência de terminais). Os não terminais são chamados de lado esquerdo da produção e os terminais são chamados de lado direito da produção.
Símbolo de início
A produção começa a partir do símbolo inicial. É denotado pelo símbolo S. O símbolo não terminal é sempre designado como símbolo de início.