Linguística computacional

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar
Campo científico interdisciplinar

Lingüística computacional é um campo interdisciplinar preocupado com a modelagem computacional da linguagem natural, bem como o estudo de abordagens computacionais apropriadas para questões lingüísticas. Em geral, a linguística computacional se baseia em linguística, ciência da computação, inteligência artificial, matemática, lógica, filosofia, ciência cognitiva, psicologia cognitiva, psicolinguística, antropologia e neurociência, entre outras.

Subcampos e áreas relacionadas

Tradicionalmente, a linguística computacional surgiu como uma área da inteligência artificial realizada por cientistas da computação que se especializaram na aplicação de computadores ao processamento de uma linguagem natural. Com a formação da Association for Computational Linguistics (ACL) e o estabelecimento de séries de conferências independentes, o campo se consolidou durante as décadas de 1970 e 1980.

A Association for Computational Linguistics define a linguística computacional como:

...o estudo científico da linguagem de uma perspectiva computacional. Os linguistas computacionais estão interessados em fornecer modelos computacionais de vários tipos de fenômenos linguísticos.

O termo "lingüística computacional" é hoje em dia (2020) considerado um quase sinônimo de processamento de linguagem natural (NLP) e tecnologia de linguagem. Esses termos enfatizam mais os aspectos de aplicações práticas do que a investigação teórica. Na prática, eles substituíram amplamente o termo "lingüística computacional" na comunidade NLP/ACL, embora se refiram especificamente ao subcampo da linguística computacional aplicada, apenas.

A linguística computacional tem componentes teóricas e aplicadas. A lingüística computacional teórica se concentra em questões de lingüística teórica e ciência cognitiva. A linguística computacional aplicada concentra-se no resultado prático da modelagem do uso da linguagem humana.

Lingüística computacional teórica inclui o desenvolvimento de teorias formais de gramática (parsing) e semântica, muitas vezes fundamentadas em lógicas formais e abordagens simbólicas (baseadas no conhecimento). Áreas de pesquisa que são estudadas pela linguística computacional teórica incluem:

  • Complexidade computacional da linguagem natural, em grande parte modelada na teoria dos autômatos, com a aplicação de gramática sensível ao contexto e máquinas de Turing linearmente limitadas.
  • A semântica computacional compreende a definição de lógicas adequadas para a representação lingüística, a construção automática e o raciocínio com elas.
A

Lingüística computacional aplicada tem sido dominada por métodos estatísticos, como redes neurais e aprendizado de máquina, desde aproximadamente 1990. Socher et al. (2012) foi um tutorial inicial de deep learning no ACL 2012 e foi recebido com interesse e (na época) ceticismo pela maioria dos participantes. Até então, o aprendizado neural era basicamente rejeitado por causa de sua falta de interpretabilidade estatística. Até 2015, o aprendizado profundo evoluiu para a principal estrutura da PNL. Quanto às tarefas abordadas pela linguística computacional aplicada, consulte o artigo sobre processamento de linguagem natural. Isso inclui problemas clássicos, como o design de marcadores POS (marcadores de parte da fala), analisadores de idiomas naturais ou tarefas como tradução automática (MT), a subdivisão da lingüística computacional que trata de ter computadores traduzindo entre idiomas. Como uma das primeiras e mais difíceis aplicações da lingüística computacional, a MT se baseia em muitos subcampos e em aspectos teóricos e aplicados. Tradicionalmente, a tradução automática de idiomas tem sido considerada um ramo notoriamente difícil da linguística computacional.

Além da dicotomia entre linguística computacional teórica e aplicada, existem outras divisões da computação em grandes áreas de acordo com diferentes critérios, incluindo:

  • meio ambiente da linguagem que está sendo processada, seja falada ou textual: reconhecimento da fala e síntese da fala lidam com como a linguagem falada pode ser entendida ou criada usando computadores.
  • tarefa sendo realizada, por exemplo, se analisando linguagem (reconhecimento) ou linguagem sintetizadora (geração): Parsing e geração são subdivisões de linguística computacional que lidam, respectivamente, com a separação da linguagem e colocá-la em conjunto.

Tradicionalmente, as aplicações de computadores para resolver problemas de pesquisa em outros ramos da linguística têm sido descritas como tarefas dentro da linguística computacional. Entre outros aspectos, inclui

  • Linguagem de corpus assistida por computador, que tem sido usada desde a década de 1970 como uma maneira de fazer avanços detalhados no campo da análise do discurso
  • Simulação e estudo da evolução linguística em linguística histórica/glottochronologia.

Origens

A lingüística computacional é freqüentemente agrupada dentro do campo da inteligência artificial, mas estava presente antes do desenvolvimento da inteligência artificial. A lingüística computacional se originou com esforços nos Estados Unidos na década de 1950 para usar computadores para traduzir automaticamente textos de línguas estrangeiras, particularmente revistas científicas russas, para o inglês. Como os computadores podem fazer cálculos aritméticos (sistemáticos) com muito mais rapidez e precisão do que os humanos, pensava-se que seria apenas uma questão de tempo antes que eles também pudessem começar a processar a linguagem. Métodos computacionais e quantitativos também são usados historicamente na tentativa de reconstrução de formas anteriores de línguas modernas e subagrupamento de línguas modernas em famílias linguísticas. Métodos anteriores, como lexicoestatística e glotocronologia, provaram ser prematuros e imprecisos. No entanto, estudos interdisciplinares recentes que emprestam conceitos de estudos biológicos, especialmente o mapeamento de genes, provaram produzir ferramentas analíticas mais sofisticadas e resultados mais confiáveis.

Quando a tradução automática (também conhecida como tradução mecânica) falhou em produzir traduções precisas imediatamente, o processamento automatizado de idiomas humanos foi reconhecido como muito mais complexo do que se pensava originalmente. A linguística computacional nasceu como o nome do novo campo de estudo dedicado ao desenvolvimento de algoritmos e softwares para processamento inteligente de dados de linguagem. O termo "lingüística computacional" em si foi cunhado pela primeira vez por David Hays, membro fundador da Association for Computational Linguistics (ACL) e do International Committee on Computational Linguistics (ICCL).

Para traduzir uma língua para outra, observou-se que era preciso entender a gramática de ambas as línguas, incluindo tanto a morfologia (a gramática das formas das palavras) quanto a sintaxe (a gramática da estrutura das frases). Para entender a sintaxe, era preciso entender também a semântica e o léxico (ou 'vocabulário'), e até mesmo algo da pragmática do uso da linguagem. Assim, o que começou como um esforço para traduzir entre idiomas evoluiu para uma disciplina inteira dedicada a entender como representar e processar idiomas naturais usando computadores.

Atualmente, a pesquisa no âmbito da linguística computacional é realizada em departamentos de linguística computacional, laboratórios de linguística computacional, departamentos de ciência da computação e departamentos de linguística. Algumas pesquisas no campo da linguística computacional visam criar sistemas funcionais de processamento de fala ou texto, enquanto outras visam criar um sistema que permita a interação homem-máquina. Os programas destinados à comunicação homem-máquina são chamados de agentes de conversação.

Abordagens

Assim como a linguística computacional pode ser realizada por especialistas em diversas áreas e por meio de uma ampla variedade de departamentos, os campos de pesquisa também podem abordar uma gama diversificada de tópicos. As seções a seguir discutem parte da literatura disponível em todo o campo dividido em quatro áreas principais do discurso: linguística do desenvolvimento, linguística estrutural, produção linguística e compreensão linguística.

Abordagens de desenvolvimento

A linguagem é uma habilidade cognitiva que se desenvolve ao longo da vida de um indivíduo. Este processo de desenvolvimento tem sido examinado usando várias técnicas, e uma abordagem computacional é uma delas. O desenvolvimento da linguagem humana fornece algumas restrições que tornam mais difícil a aplicação de um método computacional para entendê-la. Por exemplo, durante a aquisição da linguagem, as crianças são amplamente expostas apenas a evidências positivas. Isso significa que, durante o desenvolvimento linguístico de um indivíduo, a única evidência do que é uma forma correta é fornecida e nenhuma evidência do que não é correto. Esta é uma informação insuficiente para um simples procedimento de teste de hipóteses para informações tão complexas quanto a linguagem e, portanto, fornece certos limites para uma abordagem computacional para modelar o desenvolvimento e a aquisição da linguagem em um indivíduo.

Tentativas foram feitas para modelar o processo de desenvolvimento da aquisição da linguagem em crianças de um ângulo computacional, levando a gramáticas estatísticas e modelos conexionistas. O trabalho neste domínio também foi proposto como um método para explicar a evolução da linguagem ao longo da história. Usando modelos, foi demonstrado que as línguas podem ser aprendidas com uma combinação de entrada simples apresentada de forma incremental à medida que a criança desenvolve melhor memória e maior capacidade de atenção. Isso foi simultaneamente colocado como uma razão para o longo período de desenvolvimento das crianças humanas. Ambas as conclusões foram tiradas por causa da força da rede neural artificial que o projeto criou.

A capacidade dos bebês de desenvolver a linguagem também foi modelada usando robôs para testar teorias linguísticas. Habilitados a aprender como crianças, um modelo foi criado com base em um modelo de affordance no qual mapeamentos entre ações, percepções e efeitos foram criados e vinculados a palavras faladas. Crucialmente, esses robôs foram capazes de adquirir mapeamentos funcionais de palavras a significados sem precisar de estrutura gramatical, simplificando enormemente o processo de aprendizado e lançando luz sobre informações que promovem a compreensão atual do desenvolvimento linguístico. É importante notar que esta informação só poderia ter sido testada empiricamente usando uma abordagem computacional.

Como nossa compreensão do desenvolvimento linguístico de um indivíduo ao longo da vida é continuamente aprimorada usando redes neurais e sistemas robóticos de aprendizagem, também é importante ter em mente que as próprias línguas mudam e se desenvolvem ao longo do tempo. Abordagens computacionais para entender esse fenômeno revelaram informações muito interessantes. Usando a equação de Price e a dinâmica da urna de Pólya, os pesquisadores criaram um sistema que não apenas prevê a evolução linguística futura, mas também fornece informações sobre a história evolutiva das línguas modernas. Esse esforço de modelagem alcançou, por meio da linguística computacional, o que de outra forma seria impossível.

É claro que a compreensão do desenvolvimento linguístico em humanos, bem como ao longo do tempo evolutivo, foi fantasticamente aprimorada por causa dos avanços na lingüística computacional. A capacidade de modelar e modificar sistemas à vontade oferece à ciência um método ético de testar hipóteses que, de outra forma, seriam intratáveis.

Abordagens estruturais

Para criar melhores modelos computacionais de linguagem, uma compreensão da estrutura da linguagem é crucial. Para tanto, a língua inglesa tem sido minuciosamente estudada por meio de abordagens computacionais para melhor entender como a língua funciona em nível estrutural. Uma das partes mais importantes de ser capaz de estudar a estrutura linguística é a disponibilidade de grandes corpora linguísticos ou amostras. Isso concede aos linguistas computacionais os dados brutos necessários para executar seus modelos e obter uma melhor compreensão das estruturas subjacentes presentes na vasta quantidade de dados contidos em qualquer idioma. Um dos corpora linguísticos ingleses mais citados é o Penn Treebank. Derivado de fontes amplamente diferentes, como manuais de computadores IBM e conversas telefônicas transcritas, este corpus contém mais de 4,5 milhões de palavras do inglês americano. Este corpus foi anotado principalmente usando marcação de parte do discurso e colchetes sintáticos e produziu observações empíricas substanciais relacionadas à estrutura da linguagem.

Também foram desenvolvidas abordagens teóricas para a estrutura das línguas. Esses trabalhos permitem que a lingüística computacional tenha uma estrutura para elaborar hipóteses que irão promover a compreensão da linguagem em uma miríade de maneiras. Uma das teses teóricas originais sobre a internalização da gramática e da estrutura da linguagem propunha dois tipos de modelos. Nesses modelos, regras ou padrões aprendidos aumentam de força com a frequência de seu encontro. O trabalho também criou uma pergunta para os linguistas computacionais responderem: como uma criança aprende uma gramática específica e não normal (forma normal de Chomsky) sem aprender uma versão supergeneralizada e ficar presa? Esforços teóricos como esses definem a direção para a pesquisa no início da vida de um campo de estudo e são cruciais para o crescimento do campo.

Informações estruturais sobre idiomas permitem a descoberta e implementação de reconhecimento de similaridade entre pares de enunciados de texto. Por exemplo, foi recentemente provado que, com base na informação estrutural presente nos padrões do discurso humano, gráficos de recorrência conceitual podem ser usados para modelar e visualizar tendências em dados e criar medidas confiáveis de similaridade entre expressões textuais naturais. Esta técnica é uma ferramenta poderosa para sondar ainda mais a estrutura do discurso humano. Sem a abordagem computacional dessa questão, as informações vastamente complexas presentes nos dados do discurso teriam permanecido inacessíveis aos cientistas.

As informações sobre os dados estruturais de um idioma estão disponíveis para o inglês e também para outros idiomas, como o japonês. Usando métodos computacionais, corpora de sentenças japonesas foram analisados e um padrão de log-normalidade foi encontrado em relação ao comprimento da sentença. Embora a causa exata dessa lognormalidade permaneça desconhecida, é precisamente esse tipo de informação que a lingüística computacional foi projetada para revelar. Esta informação pode levar a novas descobertas importantes sobre a estrutura subjacente do japonês e pode ter uma série de efeitos sobre a compreensão do japonês como língua. A lingüística computacional permite que adições muito empolgantes à base de conhecimento científico aconteçam rapidamente e com muito pouco espaço para dúvidas.

Sem uma abordagem computacional para a estrutura dos dados linguísticos, muitas das informações que estão disponíveis agora ainda estariam escondidas sob a vastidão de dados dentro de qualquer idioma. A lingüística computacional permite que os cientistas analisem enormes quantidades de dados de forma confiável e eficiente, criando a possibilidade de descobertas diferentes de todas as outras abordagens.

Abordagens de produção

A produção da linguagem é igualmente complexa nas informações que fornece e nas habilidades necessárias que um produtor fluente deve ter. Ou seja, a compreensão é apenas metade do problema da comunicação. A outra metade é como um sistema produz a linguagem, e a lingüística computacional fez descobertas interessantes nessa área.

Alan Turing: cientista da computação e desenvolvedor de nomes do teste de Turing como um método de medição da inteligência de uma máquina

Em um artigo agora famoso publicado em 1950, Alan Turing propôs a possibilidade de que as máquinas pudessem um dia ter a capacidade de "pensar". Como um experimento mental para o que poderia definir o conceito de pensamento em máquinas, ele propôs um "teste de imitação" em que um sujeito humano tem duas conversas apenas de texto, uma com outro humano e outra com uma máquina tentando responder como um humano. Turing propõe que, se o sujeito não consegue distinguir entre o humano e a máquina, pode-se concluir que a máquina é capaz de pensar. Hoje esse teste é conhecido como teste de Turing e continua sendo uma ideia influente na área de inteligência artificial.

Joseph Weizenbaum: ex-professor do MIT e cientista da computação que desenvolveu ELIZA, um programa de computador primitivo utilizando processamento de linguagem natural

Um dos exemplos mais antigos e mais conhecidos de um programa de computador projetado para conversar naturalmente com humanos é o programa ELIZA desenvolvido por Joseph Weizenbaum no MIT em 1966. O programa emulava um psicoterapeuta rogeriano ao responder a declarações escritas e perguntas feitas por um usuário. Parecia capaz de entender o que era dito e responder de forma inteligente, mas, na verdade, simplesmente seguia uma rotina de correspondência de padrões que dependia apenas da compreensão de algumas palavras-chave em cada frase. Suas respostas foram geradas pela recombinação das partes desconhecidas da frase em torno de versões traduzidas adequadamente das palavras conhecidas. Por exemplo, na frase "Parece que você me odeia" ELIZA entende "você" e "eu" que corresponde ao padrão geral "você [algumas palavras] eu", permitindo que ELIZA atualize as palavras "você" e "eu" para "eu" e "você" e respondendo "O que te faz pensar que eu te odeio?". Neste exemplo, ELIZA não entende a palavra "ódio", mas não é necessária para uma resposta lógica no contexto deste tipo de psicoterapia.

Alguns projetos ainda estão tentando resolver o problema que deu início à linguística computacional como seu campo de atuação. No entanto, os métodos tornaram-se mais refinados e, consequentemente, os resultados gerados pelos linguistas computacionais tornaram-se mais esclarecedores. Para melhorar a tradução por computador, vários modelos foram comparados, incluindo modelos ocultos de Markov, técnicas de suavização e refinamentos específicos para aplicá-los à tradução de verbos. O modelo que produziu as traduções mais naturais de palavras em alemão e francês foi um modelo de alinhamento refinado com uma dependência de primeira ordem e um modelo de fertilidade. Eles também fornecem algoritmos de treinamento eficientes para os modelos apresentados, o que pode dar a outros cientistas a capacidade de melhorar ainda mais seus resultados. Esse tipo de trabalho é específico da linguística computacional e tem aplicações que podem melhorar muito o entendimento de como a linguagem é produzida e compreendida por computadores.

Também se trabalhou para fazer com que os computadores produzissem linguagem de uma maneira mais naturalista. Usando entrada linguística de humanos, foram construídos algoritmos que são capazes de modificar o estilo de produção de um sistema com base em um fator como entrada linguística de um humano ou fatores mais abstratos como polidez ou qualquer uma das cinco principais dimensões de personalidade. Este trabalho adota uma abordagem computacional por meio de modelos de estimativa de parâmetros para categorizar a vasta gama de estilos linguísticos que vemos entre os indivíduos e simplificá-la para que um computador funcione da mesma maneira, tornando a interação humano-computador muito mais natural.

Abordagem interativa baseada em texto

Muitos dos modelos mais antigos e simples de interação humano-computador, como o ELIZA, por exemplo, envolvem uma entrada baseada em texto do usuário para gerar uma resposta do computador. Por esse método, as palavras digitadas por um usuário acionam o computador para reconhecer padrões específicos e responder de acordo, por meio de um processo conhecido como localização de palavras-chave.

Abordagem interativa baseada em fala

Tecnologias recentes colocaram mais ênfase em sistemas interativos baseados em fala. Esses sistemas, como o Siri do sistema operacional iOS, operam em uma técnica de reconhecimento de padrões semelhante à dos sistemas baseados em texto, mas com o primeiro, a entrada do usuário é conduzida por meio do reconhecimento de fala. Este ramo da linguística envolve o processamento da fala do usuário como ondas sonoras e a interpretação da acústica e dos padrões de linguagem para que o computador reconheça a entrada.

Abordagens de compreensão

Muito do foco da linguística computacional moderna está na compreensão. Com a proliferação da internet e a abundância de linguagem humana escrita facilmente acessível, a capacidade de criar um programa capaz de entender a linguagem humana teria muitas possibilidades amplas e empolgantes, incluindo mecanismos de pesquisa aprimorados, atendimento ao cliente automatizado e educação online.

Os primeiros trabalhos em compreensão incluíram a aplicação de estatísticas bayesianas à tarefa de reconhecimento óptico de caracteres, conforme ilustrado por Bledsoe e Browing em 1959, no qual um grande dicionário de letras possíveis foi gerado por "aprendizagem" de cartas de exemplo e, em seguida, a probabilidade de que qualquer um desses exemplos aprendidos correspondesse à nova entrada foi combinada para tomar uma decisão final. Outras tentativas de aplicar estatísticas bayesianas à análise de linguagem incluíram o trabalho de Mosteller e Wallace (1963), no qual uma análise das palavras usadas em The Federalist Papers foi usada para tentar determinar sua autoria (concluindo que Madison provavelmente foi o autor da maioria dos artigos).

Em 1971, Terry Winograd desenvolveu um mecanismo inicial de processamento de linguagem natural capaz de interpretar comandos escritos naturalmente em um ambiente simples governado por regras. O principal programa de análise de linguagem neste projeto foi chamado SHRDLU, que era capaz de realizar uma conversa um tanto natural com o usuário dando-lhe comandos, mas apenas dentro do escopo do ambiente de brinquedo projetado para a tarefa. Esse ambiente consistia em blocos de diferentes formatos e cores, e SHRDLU era capaz de interpretar comandos como "Encontre um bloco mais alto que o que você está segurando e coloque-o na caixa" e fazer perguntas como "não entendo a qual pirâmide você se refere." em resposta à entrada do usuário. Embora impressionante, esse tipo de processamento de linguagem natural provou ser muito mais difícil fora do escopo limitado do ambiente de brinquedo. Da mesma forma, um projeto desenvolvido pela NASA chamado LUNAR foi projetado para fornecer respostas a perguntas naturalmente escritas sobre a análise geológica de rochas lunares retornadas pelas missões Apollo. Esses tipos de problemas são chamados de respostas a perguntas.

As tentativas iniciais de entender a linguagem falada foram baseadas no trabalho feito nas décadas de 1960 e 1970 em modelagem de sinal, onde um sinal desconhecido é analisado para procurar padrões e fazer previsões com base em sua história. Uma abordagem inicial e um tanto bem-sucedida para aplicar esse tipo de modelagem de sinal à linguagem foi alcançada com o uso de modelos ocultos de Markov, conforme detalhado por Rabiner em 1989. Essa abordagem tenta determinar probabilidades para o número arbitrário de modelos que poderiam estar sendo usados na geração fala, bem como modelar as probabilidades para várias palavras geradas a partir de cada um desses modelos possíveis. Abordagens semelhantes foram empregadas nas primeiras tentativas de reconhecimento de fala a partir do final dos anos 70 na IBM, usando probabilidades de par palavra/parte da fala.

Mais recentemente, esses tipos de abordagens estatísticas foram aplicados a tarefas mais difíceis, como identificação de tópicos usando estimativa de parâmetro bayesiano para inferir probabilidades de tópicos em documentos de texto.

Aplicativos

A lingüística computacional aplicada é amplamente equivalente ao processamento de linguagem natural. Exemplos de aplicativos para usuários finais incluem software de reconhecimento de fala, como o recurso Siri da Apple, ferramentas de verificação ortográfica, programas de síntese de fala, que são frequentemente usados para demonstrar a pronúncia ou ajudar pessoas com deficiência, e sites e programas de tradução automática, como o Google Tradutor.

A lingüística computacional também é útil em situações envolvendo mídias sociais e a Internet, por exemplo, para fornecer filtros de conteúdo em salas de bate-papo ou em pesquisas em sites, para agrupar e organizar conteúdo por meio de mineração de mídias sociais, recuperação de documentos e agrupamento. Por exemplo, se uma pessoa pesquisar "veículo vermelho grande de quatro rodas" para encontrar fotos de um caminhão vermelho, o mecanismo de busca ainda encontrará as informações desejadas combinando palavras como "quatro rodas" com "carro".

Abordagens computacionais também são importantes para apoiar a pesquisa linguística, por exemplo, em linguística de corpus ou linguística histórica. Quanto ao estudo da mudança ao longo do tempo, os métodos computacionais podem contribuir para a modelagem e identificação de famílias linguísticas (ver mais lingüística comparativa quantitativa ou filogenética), bem como a modelagem de mudanças no som e no significado.

Legado

O assunto da linguística computacional teve um impacto recorrente na cultura popular:

  • A Estrela A franquia Trek apresenta aplicações NLP muito clássicas, mais notavelmente a tradução automática (tradutor universal), interfaces de usuário de linguagem natural e resposta a perguntas.
  • O filme de 1983 Jogos de Guerra apresenta um jovem hacker de computador que interage com um supercomputador artificialmente inteligente.
  • Um filme de 1997 Conceber Ada, concentra-se em Ada Lovelace, considerado um dos primeiros programadores de computador, bem como temas de linguística computacional.
  • Ela... um filme de 2013, retrata as interações de um homem com o "primeiro sistema operacional artificialmente inteligente do mundo".
  • O filme de 2014 O Jogo de Imitação segue a vida do cientista da computação Alan Turing, desenvolvedor do Teste de Turing.
  • O filme de 2015 Ex Machina centros em torno da interação humana com a inteligência artificial.
  • O filme de 2016 Chegada, baseado na história de Ted Chiang de sua vida, leva uma nova abordagem da linguística para se comunicar com raça alienígena avançada chamada heptapods.

Contenido relacionado

KRL (linguagem de programação)

KRL é uma linguagem de representação de conhecimento, desenvolvida por Daniel G. Bobrow e Terry Winograd enquanto trabalhavam na Xerox PARC e na Stanford...

Teoria do jogo

Teoria dos jogos é o estudo de modelos matemáticos de interações estratégicas entre agentes racionais. Tem aplicações em todos os campos das ciências...

Problema de decisão

Na teoria da computabilidade e na teoria da complexidade computacional, um problema de decisão é um problema computacional que pode ser colocado como uma...

Caixa de camelo

Camel case é a prática de escrever frases sem espaços ou pontuação e com palavras em maiúsculas. O formato indica a primeira palavra começando com...

Hierarquia de Chomsky

Na teoria da linguagem formal, ciência da computação e lingüística, a hierarquia de Chomsky é uma hierarquia de contenção de classes de gramáticas...
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save