Gramática de links - Link grammar

Gramática de links (LG) é uma teoria da sintaxe de Davy Temperley e Daniel Sleator que constrói relações entre pares de palavras, em vez de construir constituintes em uma hierarquia de estrutura de frase . A gramática de link é semelhante à gramática de dependência , mas a gramática de dependência inclui um relacionamento dependente do cabeçalho, enquanto a Gramática de link torna o relacionamento dependente do cabeçalho opcional (os links não precisam indicar a direção). Coloured Multiplanar Link Grammar (CMLG) é uma extensão do LG que permite cruzar relações entre pares de palavras. A relação entre as palavras é indicada com tipos de links , tornando a gramática de links intimamente relacionada a certas gramáticas categóricas .

Por exemplo, em um idioma sujeito-verbo-objeto como o inglês, o verbo ficaria para a esquerda para formar um vínculo de sujeito e para a direita para formar um vínculo de objeto. Os substantivos pareceriam à direita para completar o link do assunto ou à esquerda para completar o link do objeto.

Em uma linguagem sujeito-objeto-verbo como o persa , o verbo pareceria à esquerda para formar um vínculo de objeto e a uma esquerda mais distante para formar um vínculo de sujeito. Os substantivos olhariam para a direita para links de sujeito e objeto.

Visão geral

A gramática de links conecta as palavras em uma frase com links, de forma semelhante a uma catena . Ao contrário da catena ou de uma gramática de dependência tradicional , a marcação da relação dependente da cabeça é opcional para a maioria das línguas, tornando-se obrigatória apenas em línguas de ordem livre de palavras (como turco , finlandês , húngaro , lituano ). Ou seja, em inglês, a relação sujeito-verbo é "óbvia", em que o sujeito está quase sempre à esquerda do verbo e, portanto, nenhuma indicação específica de dependência precisa ser feita. No caso de inversão sujeito-verbo , um tipo de link distinto é empregado. Para idiomas de ordem de palavras livres, isso não pode mais ser válido, e um link entre o sujeito e o verbo deve conter uma seta direcional explícita para indicar qual das duas palavras é qual.

A gramática de ligação também difere das gramáticas de dependência tradicionais por permitir relações cíclicas entre palavras. Assim, por exemplo, pode haver links que indicam tanto o verbo principal de uma frase, o sujeito principal da frase, como também um link entre o sujeito e o verbo. Esses três elos formam, portanto, um ciclo (um triângulo, neste caso). Os ciclos são úteis para restringir o que, de outra forma, seriam análises ambíguas; os ciclos ajudam a "apertar" o conjunto de análises permissíveis de uma frase.

Por exemplo, na análise

    +---->WV--->+       
    +--Wd--+-Ss-+--Pa--+
    |      |    |      |
LEFT-WALL he  runs   fast

a PAREDE ESQUERDA indica o início da frase, ou o nó raiz. O link WV direcional (com setas) aponta para o verbo principal da frase; é a ligação Parede-Verbo. O link Wd (desenhado aqui sem setas) indica o substantivo principal (o sujeito) da frase. O tipo de link Wd indica que ele se conecta à parede (W) e que a frase é uma frase declarativa (o subtipo "d" minúsculo). O link Ss indica a relação sujeito-verbo; o "s" minúsculo indicando que o assunto é singular. Observe que os links WV, Wd e Ss para um ciclo. O link Pa conecta o verbo a um complemento; o minúsculo "a" indicando que é um adjetivo predicativo neste caso.

Algoritmo de análise

A análise é realizada em analogia à montagem de um quebra-cabeça (representando a frase analisada) a partir de peças do quebra-cabeça (representando palavras individuais). Uma língua é representada por meio de um dicionário ou léxico , que consiste em palavras e no conjunto de "formas de quebra-cabeça" permitidas que cada palavra pode ter. A forma é indicada por um "conector", que é um tipo de link, e um indicador de direção + ou - indicando direita ou esquerda. Assim, por exemplo, um verbo transitivo pode ter os conectores S- & O + indicando que o verbo pode formar uma conexão de Sujeito (" S ") à sua esquerda (" - ") e uma conexão de objeto (" O ") à sua direita ( " + "). Da mesma forma, um substantivo comum pode ter os conectores D- & S + indicando que ele pode se conectar a um determinante à esquerda (" D- ") e atuar como um sujeito, ao se conectar a um verbo à direita (" S + "). O ato de analisar é então identificar que o conector S + pode ser anexado ao conector S- , formando um link " S " entre as duas palavras. A análise é concluída quando todos os conectores são conectados.

Uma determinada palavra pode ter dezenas ou mesmo centenas de formatos de quebra-cabeça permitidos (denominados "disjuntos"): por exemplo, muitos verbos podem ser opcionalmente transitivos, tornando o conector O + opcional; tais verbos também podem ter modificadores adverbiais ( conectores E ) que são inerentemente opcionais. Os verbos mais complexos podem ter conectores adicionais para objetos indiretos, ou para partículas ou preposições . Assim, uma parte da análise também envolve escolher um único disjuntor exclusivo para uma palavra; a análise final deve satisfazer (conectar) todos os conectores para aquele disjuntor.

Dependência

Os conectores também podem incluir indicadores dependentes do cabeçote h e d . Nesse caso, um conector contendo um indicador de cabeça só pode ser conectado a um conector que contenha o indicador dependente (ou a um conector sem indicadores de hd). Quando esses indicadores são usados, o link é decorado com setas para indicar a direção do link.

Uma extensão recente simplifica a especificação de conectores para idiomas que têm pouca ou nenhuma restrição na ordem das palavras, como o lituano . Existem também extensões para facilitar o suporte a linguagens com morfologias concatenativas .

Planaridade

O algoritmo de análise também requer que o gráfico final seja um gráfico planar , ou seja, que nenhum elo se cruze. Essa restrição é baseada em evidências psicolinguísticas empíricas de que, de fato, para a maioria das línguas, em quase todas as situações, os vínculos de dependência realmente não se cruzam. Existem raras exceções, por exemplo, em finlandês e até mesmo em inglês; eles podem ser analisados ​​pela gramática de link apenas pela introdução de tipos de conectores mais complexos e seletivos para capturar essas situações.

Custos e seleção

Os conectores podem ter uma marcação de custo de ponto flutuante opcional , de modo que alguns são "mais baratos" de usar do que outros, dando preferência a certas análises em relação a outras. Ou seja, o custo total de análise é a soma dos custos individuais dos conectores que foram usados; a análise mais barata indica a análise mais provável. Isso é usado para analisar a classificação de várias análises ambíguas. O fato de os custos serem locais para os conectores e não serem uma propriedade global do algoritmo os torna essencialmente markovianos .

A atribuição de um log-verossimilhança a ligações permite que a gramática de links implemente a seleção semântica de relacionamentos argumento-predicado. Ou seja, certas construções, embora sintaticamente válidas, são extremamente improváveis. Dessa forma, a gramática de links incorpora algumas das idéias presentes na gramática de operadores .

Como os custos são aditivos, eles se comportam como o logaritmo da probabilidade (já que log-verossimilhanças são aditivas) ou, de forma equivalente, um pouco como a entropia (já que as entropias são aditivas). Isso torna a Gramática de Link compatível com técnicas de aprendizado de máquina, como modelos de Markov ocultos e o algoritmo de Viterbi , porque os custos do link correspondem aos pesos dos links em redes de Markov ou redes Bayesianas .

Teoria de tipo

Os tipos de link Link Grammar podem ser entendidos como os tipos no sentido de teoria de tipo . Com efeito, a Gramática de Link pode ser usada para modelar a linguagem interna de certas categorias fechadas compactas (não simétricas) , como gramáticas pré-grupo . Nesse sentido, Link Grammar parece ser isomórfico ou homomórfico para algumas gramáticas categóricas . Assim, por exemplo, em uma gramática categorial, o sintagma nominal " o bad boy " pode ser escrito como

enquanto os disjuntos correspondentes na Gramática de Link seriam

the: D+;
bad: A+;
boy: D- & A-;

As regras de contração (regras de inferência) do cálculo de Lambek podem ser mapeadas para a conexão de conectores na Gramática de Link. Os indicadores direcionais + e - correspondem às barras para a frente e para trás da gramática categórica. Finalmente, os nomes de uma única letra A e D podem ser entendidos como rótulos ou nomes mnemônicos "fáceis de ler" para os tipos mais detalhados NP / N , etc.

A principal distinção aqui é que as gramáticas categóricas têm dois construtores de tipo , as barras normais e as barras invertidas, que podem ser usadas para criar novos tipos (como NP / N ) a partir de tipos básicos (como NP e N ). A gramática de links omite o uso de construtores de tipo, optando por definir um conjunto muito maior de tipos básicos com mnemônicos compactos e fáceis de lembrar.

Exemplos

Exemplo 1

Um arquivo de regra básica para uma linguagem SVO pode ser semelhante a:

<determiner>     D+;
<noun-subject>  {D−} &  S+;
<noun-object>   {D−} &  O−;
<verb>           S−  & {O+};

Assim, a frase em inglês, "The boy painted a picture" apareceria como:

           +-----O-----+
 +-D-+--S--+     +--D--+
 |   |     |     |     |
The boy painted  a  picture

Análises semelhantes se aplicam ao chinês.

Exemplo 2

Por outro lado, um arquivo de regras para uma linguagem SOV de assunto nulo pode consistir nos seguintes links:

<noun-subject>   S+;
<noun-object>    O+;
<verb>          {O−} & {S−};

E uma frase persa simples , man nAn xordam (من نان خوردم) 'Eu comi pão' seria semelhante a:

 +-----S-----+
 |     +--O--+
 |     |     |
man   nAn xordam

O pedido VSO pode ser acomodado da mesma forma, como para o árabe.

Exemplo 3 (Morfologia)

Em muitas línguas com morfologia concatenativa, o radical não desempenha nenhum papel gramatical; a gramática é determinada pelos sufixos. Assim, em russo , a frase 'вверху плыли редкие облачка' pode ter a análise:

    +------------Wd-----------+---------------SIp---------------+
    |         +-------EI------+              +--------Api-------+
    |         |      +--LLCZD-+       +-LLAQZ+         +--LLCAO-+
    |         |      |        |       |      |         |        |
LEFT-WALL вверху.e плы.= =ли.vnndpp ре.= =дкие.api облачк.= =а.ndnpi

Os subscritos, como '.vnndpp', são usados ​​para indicar a categoria gramatical. Os elos primários: Wd, EI, SIp e Api conectam os sufixos, pois, a princípio, outros radicais poderiam aparecer aqui, sem alterar a estrutura da frase. O link Api indica o adjetivo; SIp denota inversão sujeito-verbo; EI é um modificador. O link Wd é usado para indicar o substantivo principal; o verbo principal não é indicado nesta frase. Os links LLXXX servem apenas para anexar radicais a sufixos.

Exemplo 4 (Fonologia)

A gramática de ligação também pode indicar concordância fonológica entre palavras vizinhas. Por exemplo:

                     +---------Ost--------+
    +------>WV------>+   +------Ds**x-----+
    +----Wd---+-Ss*b-+   +--PHv-+----A----+
    |         |      |   |      |         |
LEFT-WALL that.j-p is.v an abstract.a concept.n

Aqui, o conector 'PH' é usado para restringir os determinantes que podem aparecer antes da palavra 'abstrato'. Ele efetivamente bloqueia (torna mais caro) usar o determinante 'a' nesta frase, enquanto o link para 'an' torna-se barato. Os outros links são mais ou menos como nos exemplos anteriores: S denotando sujeito, O denotando objeto, D denotando determinante. O link 'WV' indica o verbo principal e o link 'W' indica o substantivo principal. As letras minúsculas após os tipos de links em maiúsculas servem para refinar o tipo; então, por exemplo, Ds só pode se conectar a um substantivo no singular; Ss apenas para um sujeito singular, Os para um objeto singular. O v minúsculo em PHv denota 'vogal'; o d minúsculo em Wd denota uma sentença declarativa.

Exemplo 5 - vietnamita

A frase em língua vietnamita "Bữa tiệc hôm qua là một thành công lớn" - "A festa de ontem foi um grande sucesso" pode ser analisada da seguinte forma:

Vietnames link grammar example.png

Implementações

Analisador de gramática de links
Desenvolvedor (s) OpenCog
lançamento inicial Outubro de 1991 ; 29 anos atrás ( 1991-10 )
Versão estável
5.8.1 / 8 de janeiro de 2021 ; 7 meses atrás ( 2021-01-08 )
Repositório
Escrito em C ++ ; originalmente C
Sistema operacional Plataforma cruzada
Plataforma GNU
Modelo PNL
Licença LGPLv2
Local na rede Internet www .abisource .com / projects / link-grammar /

A sintaxe ligação gramática analisador é uma biblioteca para processamento de linguagem natural escrito em C . Ele está disponível sob a licença LGPL . O analisador é um projeto em andamento. Versões recentes incluem cobertura aprimorada de frases, suporte aos idiomas russo, persa e árabe, protótipos para alemão, hebraico, lituano, vietnamita e turco e APIs de programação para Python , Java , Common LISP , AutoIt e OCaml , com vínculos de terceiros para Perl , rubi e JavaScript node.js .

Uma grande tarefa atual é um projeto para aprender a gramática e morfologia de novas línguas, usando algoritmos de aprendizagem não supervisionados.

O programa analisador de links junto com regras e listas de palavras para o inglês podem ser encontrados em distribuições Linux padrão , por exemplo, como um pacote Debian , embora muitos deles estejam desatualizados há anos.

Formulários

AbiWord verifica a gramática usando Link Grammar

AbiWord , um processador de texto gratuito , usa Link Grammar para verificação gramatical em tempo real. Palavras que não podem ser vinculadas em qualquer lugar são sublinhadas em verde.

O extrator de relacionamento semântico RelEx, colocado em cima da biblioteca Link Grammar, gera uma saída de gramática de dependência tornando explícitos os relacionamentos semânticos entre as palavras em uma frase. Sua saída pode ser classificada como estando em um nível entre SSyntR e DSyntR da Teoria do Texto de Significado . Ele também fornece enquadramento / base, resolução de anáfora , identificação de palavra-chave, agrupamento lexical , identificação de parte do discurso e marcação, incluindo marcação de entidade, data, dinheiro, gênero, etc. Inclui um modo de compatibilidade para gerar saída de dependência compatível com o analisador Stanford e marcação POS compatível com Penn Treebank .

Link Grammar também tem sido empregado para extração de informações de textos biomédicos e eventos descritos em artigos de notícias, bem como sistemas experimentais de tradução automática de inglês para alemão, turco, indonésio. e farsi.

O dicionário Link Grammar é usado para gerar e verificar a correção sintática de três sistemas diferentes de geração de linguagem natural : NLGen, NLGen2 e microplanner / surreal. Ele também é usado como parte do pipeline de PNL no projeto OpenCog AI.

Notas

Leitura adicional

links externos

Extensões de linguagem