Temas 3, 4 e 5 Pablo Gamallo Otero

Slides:



Advertisements
Apresentações semelhantes
gerador de código intermediário
Advertisements

I - Noções dum compilador
Desenvolvimento de Sistemas Operacionais
Adaptado do manual do DCC/UFMG e do livro ASO-M
Análise Léxica (Parte 2)
Introdução à Programação Linguagem R
Introdução aos Computadores e à Programação DI-FCT-UNL-2005/2006 Introdução 1.1 Octave Cadeias e ficheiros.
Introdução aos Computadores e à Programação DI-FCT-UNL-2006/2007 Ficheiros 5.1 Octave Ficheiros.
Introdução aos Computadores e Programação DI-FCT-UNL-2005/2006 Introdução 1.1 Octave Ficheiros (matrizes e registos)
Shell Script Professor: João Paulo
Software Básico Silvio Fernandes
Colégio Técnico Vila Branca
Lex e Yacc.
Tecnologia para Web JavaScript
Curso de Programação em C++
Interações do Algoritmo Phred/Phrap
Administração de Sistemas Operacionais
A formação de palavras Afixação e composição.
Criando corpora pessoais Corpógrafo – presente e futuro
Trabalho sobre Shell Script
María Paula Santalla del Río Pablo Gamallo Otero
Corpus lingüísticos: proceso de elaboración e extracción automática de información María Paula Santalla del Río Pablo Gamallo Otero Elaboración do material.
Software Livre - Ubuntu
Tema 4 Sintaxe do espanhol
Prof. André Leon S. Gradvohl, Dr.
Printed by Corpus de Idade-de-Aquisição para o Português Europeu Selene G. Vicente, Manuela L. Cameirão, & Laura P. Meireles Faculdade.
Prof. Natalia Castro Fernandes Mestrado em Telecomunicações – UFF 2º semestre/2012.
Compiladores, Aula Nº 5 João M. P. Cardoso
Cícero Nogueira dos Santos Ruy Luiz Milidiú
Introdução a Linguagens de Programação
Entradas e Saídas Comando PRINT Direciona um dado não formatado para a saída padrão (exemplo: tela) PRINT,,,... Comando READ Lê um dado não formatado da.
Tarefa 02 Visual Studio 2005 Visual C# Programa Hello World.
Compiladores Prof. Claudio Benossi.
Análise Léxica Primeira fase de um compilador
Mayerber Carvalho Neto
DESIGN E COMUNICAÇÃO MULTIMÉDIA 2011 / 2012 DESIGN E COMUNICAÇÃO MULTIMÉDIA 2011 / 2012 FORMADOR Gonçalo Miguel MÓDULO 25. Introdução ao ActionScript 3.0.
Sistemas Operacionais
Introdução à programaçao em PERL Levi Lúcio, Vasco Amaral, Programação em PERL, FCA-Editora de Informática.
Analise sintática aula-07-analise-sintática.pdf.
Introdução a Perl Tema 3B Pablo Gamallo Otero
PROGRAMAÇÃO EM SHELL SCRIPT SANDRO LUIZ FREDES MORALES Introdução a Informatica 1 ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 2013.
Elisa Rodrigues (PIBIC) Mauren Cereser (SEAD) Coordenação: Profa. Dra. Sandra Loguercio Profa. Dra. Cleci Bevilacqua (Dept. de Línguas Modernas, IL) Colaboração:
1 Shell Script É uma linguagem de script usada em vários sistemas operativos (operacionais), com diferentes dialetos, dependendo do interpretador de comandos.
Tema 1 Introdução a Linux Pablo Gamallo Otero
Tema 1 Introdução a Linux Pablo Gamallo Otero
THOBER CORADI DETOFENO, MSC. Aula 10
Linguagens de Programação
Aula 12 1 Análise Sintáctica Compiladores, Aula Nº 12 João M. P. Cardoso.
Usando Perl para a extracção automática de informação a partir de corpus bruto / cru Tema 4A Pablo Gamallo Otero
Ceça Moraes – Introdução à Programação SI1
Usando Perl para a extracção automática de informação a partir de corpus anotado e organizado em n-gramas Tema 4B Pablo Gamallo Otero
Título Título Nome do aluno (aluno) Nome e título do orientador (orientador) Trabalho de Conclusão de Curso da Pós- Graduação em...
Prof. Msc Roberta Andrade
Métodos em lingüistica de corpus e processamento da língua natural María Paula Santalla del Río Pablo Gamallo Otero.
Faculdade Pernambucana - FAPE Setembro/2007
Estrutura de Dados III Revisão
Indexação Automática e Etiquetadores parte do discurso (POS tagger)
Iº Workshop Linux da Unijorge
Geração automática de tesaurus e recuperação de informação Pablo Gamallo GLINt (Gupo de Lingua Natural) FCT, UNL.
Computabilidade e Linguagens Formais
Métodos em lingüistica de corpus e processamento da língua natural María Paula Santalla del Río Pablo Gamallo Otero Elaboración do material informático.
Classificação Probabilística com TBL Cícero Nogueira dos Santos Pontifícia Universidade Católica do Rio de Janeiro – PUC-Rio Departamento de Informática.
Criando tarefas. Uma única vez Escolher.
Paradigmas das Linguagens de Programação - História
Programação para Web I Aula 3 CONSTANTES & OPERADORES.
Evoluindo em comandos Unix / Linux Cid Rodrigues de Andrade No site acima encontram-se dados sobre licenciamento e forma.
Sistemas Operacionais de Redes Introdução ao Linux IGOR ALVES.
Corpus lingüísticos: proceso de elaboración e extracción automática de información María Paula Santalla del Río Pablo Gamallo Otero Elaboración do material.
Shell Script Prof. Rafael Paoliello Guimarães FAESA.
1 MEI, ARMD 2004, Gabriel David Armazéns de Dados Mapeamentos e instalação Gabriel David
Transcrição da apresentação:

Temas 3, 4 e 5 Pablo Gamallo Otero

PLANO 1.Noções básicas 2.Introdução a Linux 3.Tokenizadores e concordâncias 3.1. contar tokens e formas, ordenar, comparar textos, riqueza lexical dos textos 3.3. Key Word In Context (kwic.perl) 4.Etiquetadores (PoS tagging) 4.1. Tree-Tagger 4.2. FreeLing 5.Analisadores (parsing) 5.1. DepPattern

Bibliografia Tony Berber Sardinha (2004), Lingüística de Corpus, Editora Manole, Brasil. Marco Baroni (2009), “Distributions in text”. In Anke Lüdeling and Merja Kytö (eds.), Corpus linguistics: An international handbook, Berlin: Mouton de Gruyter. istributions.pdf Pablo Gamallo & Isaac González (2009) "Una gramática de dependencias basada en patrones de etiquetas", Procesamiento del Lenguaje Natural, 43, pp

3. Tokenizadores e concordâncias Scripts utilizados: tokenizer.perl compara.perl riqueza.perl kwic.perl

Objectivos Extrair tokens a partir de texto tokenizado para: - contar frequência de formas - ordenar formas - comparar textos -...

Que fai o tokenizador? Lê linha a linha o texto de entrada. Escreve noutro ficheiro (ou na consola) as palavras do texto de entrada. Cada palavra aparece numa linha.

Resultado do tokenizador “ A nena tem uma chupeta azul.” A nena tem uma chupeta azul.

Como tornar executável o script “tokenizer.perl” ? chmod +x tokenizer.perl Atribuimos ao ficheiro “tokenizer.perl” a propriedade: ser executável

Como executar o tokenizador? cat../corpus/arquivo_entrada.txt |./tokenizer.perl cat../corpus/arquivo_entrada.txt |./tokenizer.perl > arquivo_saida.txt

Contar formas com o tokenizador Conta o número de ocorrências das expressões: “Quijote”, “Sancho”, “Dulcinea”, “dijeron”,... Comando “grep”: selecciona as linhas do texto que contenham uma sequência de caracteres (ou string) específica cat../corpus/ElQuijote.txt |./tokenizer.perl | grep “Quijote” | wc

Contar multi-palavras Para contar multi-palavras: “Quijote de la Mancha”, “Sancho Panza”, “Dulcinea del Toboso”,... é preciso um reconhecedor de entidades: NomesProprios.perl NER do FreeLing

Ordena formas por frequência echo “sort | uniq -c | sort -nr” > ordenar.sh chmod +x ordenar.sh cat ElQuijote.txt |./tokenizer.perl |./ordenar.sh > quijote_ord.txt

Compara similitude de textos cat ElQuijote.txt |./tokenizer.perl |./ordenar.sh > quijote_ord.txt cat LaRegenta.txt |./tokenizer.perl |./ordenar.sh > regenta_ord.txt cat quijote_ord.txt |./compara.perl regenta_ord.txt 1000

Riqueza lexical de textos A riqueza ou pobreza lexical dum texto pode quantificar-se calculando a frequência média das formas: Riqueza lexical = número de tokens / número de formas

Calcula riqueza lexical de textos cat ElQuijote.txt |./tokenizer.perl |head |./riqueza.perl cat LaRegenta.txt |./tokenizer.perl | head |./riqueza.perl (para comparar dous textos, convém utilizar a mesma quantidade de palavras, por exemplo )

Concordâncias./kwic.perl "Quijote" DonQuijote.txt./kwic.perl "Quijote" DonQuijote.txt |grep "don\s*Quijote"./kwic.perl "Dulcinea" DonQuijote.txt |grep "Dulcinea\s*del Toboso"

4. Etiquetadores Tree-Tagger FreeLing

Objectivos Extrair lemas e etiquetas a partir de texto lematizado e etiquetado para: - contar frequência de lemas e/ou etiquetas - ordenar por lemas ou etiquetas

Uso do etiquetador Tree-Tagger cat ElQuijote.txt | tree-tagger-spanish (o ficheiro de entrada tem que estar em Latin ISO)‏ cat ElQuijote.txt | tree-tagger-spanish > quijote.tree

Uso do etiquetador FreeLing cat ElQuijote.txt | freeling-es (o ficheiro de entrada tem que estar em Latin)‏ cat ElQuijote.txt | freeling-es > quijote.free

Saída do etiquetador Freeling “La niña bonita tiene un chupete azul.” la el DA0FS0 niña niña NCFS000 bonita bonito AQ0FS0 tiene tener VMIP3S0 un uno DI0MS0 chupete chupete NCMS000 azul azul AQ0CS0

Contar lemas com FreeLing Conta o número de ocorrências das expressões: “comer”, “castellano” (adjectivo), “castellano” (nome)... cat quijote.free | grep “comer” | wc cat quijote.free | grep “castellano” | grep “NC” | wc

Contar multi-palavras com FreeLing Conta o número de ocorrências de: “Quijote de la Mancha”, “Sancho Panza”... cat quijote.free | grep “Quijote_de_la_Mancha” | wc -l cat quijote.free | grep “Sancho_Panza” | wc -l

Ordenar por etiquetas ou lemas cat quijote.free | gawk '{print $3}' | ordenar.sh cat quijote.free | gawk '{print $2}' | ordenar.sh

5. Analisadores robustos DepPattern (analisador de dependências e formalismo gramatical)

Objectivos Identificar lemas etiquetados a partir de texto analisado em dependências para: - contar frequência de lemas em contextos sintácticos

Uso do analisador DepPattern./dp -a freeling es DonQuijote.txt parsers/parserDefault-es.perl > quijote.parsed

Saída de DepPattern “La niña morena come pescado.” (SpecL;niña_NOUN_1;el_DT_0) (AdjnR;niña_NOUN_1;morena_ADJ_2) (SubjL;comer_VERB_3;niña_NOUN_1) (SubjL;comer_VERB_3;pescado_NOUN_4)

Notação das dependências (dependência;núcleo;modificador)

Escreve uma gramática com DepPattern ##Minha_Gramatica SpecL: DT NOUN % AdjnR: NOUN ADJ % DobjR: VERB [ADV]* NOUN % SubjL: NOUN [ADV]* VERB %

Compilar e usar a gramática./dp -a freeling es DonQuijote.txt analisador.perl MinhaGramatica.dp > quijote.parsed

Contar dependências com DepPattern cat quijote.parsed |./HeadOf.perl “poema” “Dobj” cat quijote.parsed |./DepOf.perl “poema” “Adjn”