A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "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"— Transcrição da apresentação:

1 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 http://gramatica.usc.es/~gamallo/

2 Objectivos usar o etiquetador morfo-sintáctico (tokeniza, lematiza e etiqueta)‏ processar o texto tokenizado, lematizado etiquetado: ­ contar lemas com etiquetas específicas - gerar bigramas (ou trigramas) de lemas/etiquetas - contar e escrever bigramas de lemas/etiquetas escrever num ficheiro os resultados.

3 Uso do etiquetador Freeling cat ElQuijote.txt | freeling-es (o ficheiro de entrada tem que estar em Latin ISO)‏ cat ElQuijote.txt | freeling-es > ElQuijote_tagged.txt

4 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

5 Estrutura de “contarEtiquetas.perl” Lê linha a linha o ficheiro etiquetado Escreve num ficheiro (ou na consola) os resultados das contagens. Realiza as contas dos adjectivos: - conta as ocorrências de tokens/lemas etiquetados como adjectivo, - conta as ocorrências do lema “español” como adjectivo e como nome.

6 Instruções de “contarEtiquetas.perl” Cria três variáveis ($token, $lema e $etiqueta) com os três elementos que formam cada linha da saída do etiquetador: ($token, $lema, $etiqueta) = split (" ", $linha) ; Conta o número de vezes que aparece um token com a etiqueta “adjectivo”: if ($etiqueta =~ /^A/ ) { $contarAdjs++ } Conta o número de vezes que aparece o lema “español” como adjectivo e como nome: if ($lema eq "español") { if ($etiqueta =~ m/^A/ ) { $contarEspAdj++; } elsif ($etiqueta =~ m/^NC/ ) { $contarEspN++; }

7 Uso do gerador de bigramas de lemas cat ElQuijote_tagged.txt |./bigramas.perl > ElQuijote_bigramas.txt

8 Saída do gerador de bigramas “La niña bonita tiene un chupete azul” el_DA0FS0 niña_NCFS000 niña_NCFS000 bonito_AQ0FS0 bonito_AQ0FS0 tener_VMIP3S0 tener_VMIP3S0 uno_DI0MS0 uno_DI0MS0 chupete_NCMS000 chupete_NCMS000 azul_AQ0CS0

9 Estrutura de “escreverNomesModificados.perl” Lê linha a linha o ficheiro em bigramas Identifica os bigramas onde aparecem o adjectivo “español” e um nome à sua esquerda: - conta as ocorrências destes bigramas - escreve os nomes identificados.

10 Instruções de “escreverNomesModificados.perl” Cria duas variáveis ($par1, $par2), com os dous elementos que formam cada linha da saída do gerador de bigramas: ($par1, $par2) = split (" ", $linha) ; Para cada para, cria outras duas variáveis ($lema1, $etiqueta2), com os dous elementos que formam cada par (lema e etiqueta); ($lema1, $etiqueta1) = split ("_", $par1) ; ($lema2, $etiqueta2) = split ("_", $par2) ; Identifica os bigramas que cumprem três condições: tenhem um adjectivo à direita, o lema do adjectivo é “español”, e tenhem um nome à direita. Se as 3 condições se cumprem, imprimos o lema à esquerda (i.e., o nome modificado polo adjectivo): if ( ($lema2 eq "español") && ($etiqueta2 =~ /^A/) && ($etiqueta1 =~ /^N/) ) { print “$lema\n” }

11 Corpus e análise sintática DepPattern (analisador de dependências e formalismo gramatical)

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

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

14 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)

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

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

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

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


Carregar ppt "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"

Apresentações semelhantes


Anúncios Google