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 chaveoutput
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 é aXML
.As chaves
s_tag
,p_tag
et_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ãos
,p
etext
.É possível numerar as etiquetas, definindo as chaves
s_num
,p_num
out_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 os_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 981:
Non-ASCII character seen before =encoding in 'Atomização'. Assuming CP1252