Gramática de concatenação de intervalo

Origem: Wikipédia, a enciclopédia livre.

Gramática de concatenação de intervalo, em tradução livre de range concatenation grammar (RCG), é uma gramática formal desenvolvida por Pierre Boullier [1] em 1998 como uma tentativa de representar uma série de fenômenos da linguagem natural, como os números chineses e embaralhamento de palavras alemãs, que não pertencem às linguagens moderadamente sensíveis ao contexto (tradução livre de Mildly context-sensitive languages[2]).

De um ponto de vista teórico, qualquer linguagem pode ser analisada em tempo polinomial se, e somente se, pertencer ao subconjunto de RCG chamado gramáticas de Concatenação de Intervalo Positivo (tradução livre de positive range concatenation grammars).[3]

Embora projetada como uma variante das Gramáticas de Movimento Literal de Groenink (sigla LMG), as RCGs tratam o processo gramático mais como prova do que produção. Enquanto LMGs produzem uma cadeia final de um predicado inicial, RCGs focam em reduzir o predicado inicial (que implica na cadeia final) para a cadeia vazia, que constitui a prova do pertencimento da cadeia final à linguagem.

Descrição[editar | editar código-fonte]

Definição Formal[editar | editar código-fonte]

Uma gramática de Concatenação de Intervalo Positivo - tradução livre de positive range concatenation grammar, PRCG - é uma tupla , onde:

  • , e são conjuntos disjuntos finitos de (respectivamente) predicados, simbolos teminais e variáveis. Cada nome de predicado tem uma aridade associada dada pela função .
  • é o início do predicado e verifica .
  • é um conjunto finito de cláusulas da forma , onde os são predicados da forma com e .

Uma gramática de Concatenação de Intervalo Negativo - tradução livre de Negative Range Concatenation Grammar, NRCG - é definida como uma PRCG, mas com o adicional de que alguns predicados ocorrendo no lado direito das cláusulas podem ter a forma . Estes predicados são chamados predicados negativos.

Uma gramática de Concatenação de Intervalo é ou positiva ou negativa. Embora PRCGs sejam tecnicamente NRCGs, dizemos que essas gramáticas são de intervalos negativos ou positivos enfatizar a ausência ou presença de predicados negativos.

Um intervalo no palavra são alguns , com , onde é o comprimento de . Dois intervalos and podem ser concatenados sse , então nós temos: .

Para uma palavra , com , a notação pontuada para intervalos é: .

Reconhecimento de cadeias[editar | editar código-fonte]

Como LMGs, cláusulas de RCG tem o esquema geral , onde em uma RCG, é, ou a cadeia vazia ou uma cadeia de predicados. Os argumentos consistem de cadeias de símbolos terminais e/ou símbolos de variáveis, padrão o qual corresponde com os valores do argumento atual como no LMG. Variáveis adjascentes constituem uma família de correspondências em partições, então esse argumento , onde duas variáveis, correnpondem a cadeias de litais em três modos diferentes: .

Termos predicados vêm de duas formas, positiva (que produz a cadeia vazia em caso de sucesso), e negativa (que produz a cadeia vazia em caso de falha ou se termos positivos não produzem a cadeia vazia). Termos negativos são denotados da mesma forma que os positivos, com uma barra sob si, como em .

A re-escrita da semântica para RCGs é bastante simples, idêntica à semântica correspondente de LMGs. Dado uma cadeia de predicado , onde os símbolos são cadeias finais, se há uma regra na gramática que corresponde à cadeia de predicado , a cadeia de predicado é substituida por , substituindo as variáveis correspondentes em cada .

Por exemplo, dada uma regra , onde and são símbolos de variáveis e e são símbolos terminais, a cadeia de predicado pode ser re-escrita como , porque corresponde a onde . Da mesma forma, se houvesse uma regra , poderiamos re-escrever como .

A prova/reconhecimento de uma cadeia é feita mostrando que produz a cadeias vazia. Para os passos de re-escrita individuais, quando multiplas correspondecias alternativas de variáveis são possíveis, qualquer re-escrita que pode guiar a prova por inteiro é considerada.

Exemplo[editar | editar código-fonte]

RCGs são capazes de reconhecer uma linguagem de índice não-linear como segue:

Sejam x, y, and z símbolos de variáveis:


A prova para abbabbabb é então

Ou, usando a mais correta "notação pontuada" para intervalos:

References[editar | editar código-fonte]

  1. Pierre Boullier (1998). «Chinese Numbers, MIX, Scrambling, and Range Concatenation Grammars». Proposal for a Natural Language Processing Syntactic Backbone (PDF). [S.l.: s.n.] 
  2. Pierre Boullier (1999). «Chinese Numbers, MIX, Scrambling, and Range Concatenation Grammars». Proc. EACL (PDF). [S.l.: s.n.] pp. 53–60. Consultado em 17 de fevereiro de 2015. Arquivado do original (PDF) em 15 de maio de 2003 
  3. Laura Kallmeyer (2010). Parsing Beyond Context-Free Grammars. [S.l.]: Springer Science & Business Media. p. 37. ISBN 978-3-642-14846-0  citing http://mjn.host.cs.st-andrews.ac.uk/publications/2001d.pdf