spln2016:diario1
SPLN
Diário de Bordo - Aula 1 - 2016-02-15
Scripts podem ser
- Descartáveis (usados uma vez e “deitados fora” não é necessário ter muitos cuidados)
- Continuidade (podem ser adicionados a módulos ou serem expandidos, convém ter algum cuidado, principalmente com as variáveis)
cola:
- módulo noutra Linguagem
- comando
podemos usar expressões regulares
Niveis de uma linguagem Natural
- Fonético
- Léxico
- Sintáctico
- Semântico - define o modelo semântico e transforma a frase nesse módulo
- Pragmático - reação esperada
Linguagens Naturais são usadas em:
- Tradução
- Information retriever (I.R.)
- Sumariedade
- Spell checker
- Correção gramatical
- “recortes de imprensa”
- Sentiment analizes
- Call centers, siri, QA (Question Answering)
Prática
necessário ter perl versão 5.14 ou mais para windows existe a possibilidade de utilizar o strawberry perl
- script para contar palavras
- instalação de modulos para o perl
Exercicíos Perl
#!/usr/bin/perl use warnings; use strict; # para dar os warnings e erros para nos ajudar a perceber o que se está a passar use utf8::all; # para usar o encoding utf8 para todos os inputs
Exemplo de declaração de uma variável
my $y = 20; # my é utilizado para declarar variáveis locais # para var globais utiliza-se o our print "Variavel $y\n";
Contar as linhas de um input
my ($l,$c); while ($l = <>) { # <> - operador diamante vai ler o input, o diamante vazio permite receber ficheiros, # já <STDIN> só recebe do STDIN $c++; } print "$c linhas\n";
Exercicío com a var $_
# se não guardarmos o que é lido em nenhuma variável ele vai para a var $_ my ($c); while (<>){ print $_; print; # a var $_ pode ser omitida $c++; } print "$c linhas\n";
Contar palavras
my ($c); while (<>) { while ($_ =~ /\w+/g) { # utilizamos expressões regulares para identificar o que é uma palavra, # as letras inseridas depois das barras são modificadores, # neste caso o g é utilizado para fazer o match à palavra # quantas vezes forem possiveis na string $c++; } } print "$c palavras\n";
spln2016/diario1.txt · Last modified: 2016/02/18 21:58 by ambs