NAME

Lingua::PT::PLNbase - Perl extension for NLP of the Portuguese

SYNOPSIS

use Lingua::PT::PLNbase;

my @atomos = atomiza($texto);
my $atomos_um_por_linha = atomiza($texto);

my @frases = frases($texto);
my $frases = separa_frases($texto);

DESCRIPTION

Atomização

Este módulo inclui um método configurável para a atomização de corpus na língua portuguesa. No entanto, é possível que possa ser usado para outras línguas.

A forma simples de uso do atomizador é usando directamente a função atomiza que retorna um texto em que cada linha contém um átomo, ou o uso da função tokeniza que contém outra versão de atomizador.

atomiza

Usa um algorítmo desenvolvido no Projecto Natura

tokeniza

Usa um algorítmo desenvolvido no Pólo de Oslo da Linguateca

Segmentação

Este módulo é uma extensão Perl para a segmentação de textos em linguagem natural. O objectivo principal será a possibilidade de segmentação a vários níveis, no entanto esta primeira versão permite apenas a separação em frases (fraseação) usando uma de duas variantes:

frases
@frases = frases($texto);

Esta é a implementação do Projecto Natura, que retorna uma lista de frases.

separa_frases
$frases = separa_frases($texto);

Esta é a implementação da Linguateca, que retorna um texto com uma frase por linha.

Estas duas implementações irão ser testadas e aglomeradas numa única que permita ambas as funcionalidades.

Segmentação a vários níveis

fsentences

A função fsentences permite segmentar um conjunto de ficheiros a vários níveis: por ficheiro, por parágrafo ou por frase. O output pode ser realizado em vários formatos e obtendo, ou não, numeração de segmentos.

Esta função é invocada com uma referência para um hash de configuração e uma lista de ficheiros a processar (no caso de a lista ser vazia, irá usar o STDIN).

O resultado do processamento é enviado para o STDOUT a não ser que a chave output do hash de configuração esteja definida. Nesse caso, o seu valor será usado como ficheiro de resultado.

A chave input_p_sep permite definir o separador de parágrafos. Por omissão, é usada uma linha em branco.

A chave o_format define as políticas de etiquetação do resultado. De momento, a única política disponível é a XML.

As chaves s_tag, p_tag e t_tag definem as etiquetas a usar, na política XML, para etiquetar frases, parágrafos e textos (ficheiros), respectivamente. Por omissão, as etiquetas usadas são s, p e text.

É possível numerar as etiquetas, definindo as chaves s_num, p_num ou t_num da seguinte forma:

'0'

Nenhuma numeração.

'f'

Só pode ser usado com o t_tag, e define que as etiquetas que delimitam ficheiros usará o nome do ficheiro como identificador.

'1'

Numeração a um nível. Cada etiqueta terá um contador diferente.

'2'

Só pode ser usado com o p_tag ou o s_tag e obriga à numeração a dois níveis (N.N).

'3'

Só pode ser usado com o s_tag e obriga à numeração a três níveis (N.N.N)

Acentuação

remove_accents

Esta função remove a acentuação do texto passado como parâmetro

has_accents

Esta função verifica se o texto passado como parâmetro tem caracteres acentuados

Funções auxiliares

recupera_ortografia_certa
tratar_pontuacao_interna

SEE ALSO

perl(1)

AUTHOR

Alberto Simoes (ambs@di.uminho.pt)

Diana Santos (diana.santos@sintef.no)

José João Almeida (jj@di.uminho.pt)

Paulo Rocha (paulo.rocha@di.uminho.pt)

COPYRIGHT AND LICENSE

Copyright (C) 2003-2004 by Linguateca (http://www.linguateca.pt)

(EN) This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.1 or, at your option, any later version of Perl 5 you may have available.

(PT) Esta biblioteca é software de domínio público; pode redistribuir e/ou modificar este módulo nos mesmos termos do próprio Perl, quer seja a versão 5.8.1 ou, na sua liberdade, qualquer outra versão do Perl 5 que tenha disponível.

1 POD Error

The following errors were encountered while parsing the POD:

Around line 955:

Non-ASCII character seen before =encoding in 'Atomização'. Assuming CP1252