====== 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á 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";