Gramática de concatenação de intervalo

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

Definição Formal editar

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

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

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

  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