[SP-pm] Ajuda com vetor de 2 dimensões

Juliana julianalduque at yahoo.com.br
Wed Dec 8 08:54:02 PST 2010




Pessoal, vamos
lá...

 

Vou explicar o
que eu preciso fazer:

 

1) Tenho um arquivo.txt com várias frases (sentenças - uma sentença por
linha) de um assunto específico: tratamentos de uma doença);



2) Irei colocar cada frase em uma
posição do vetor, e ainda, um valor (pontuação) para esta frase (que no início todas
as frases terão valor 0). Mas meu arquivo.txt inicial só tem SOMENTE frases,
ex: linha 1: “Esta é minha primeira frase.”  Em cada linha deste arquivo.txt (em cada frase)
eu não tenho o ‘campo’ (string) pontuação, então eu precisaria criar esta
pontuação (este campo) dinamicamente, ou seja, precisaria ter uma posição para
guardar posteriormente este valor para cada uma dessas frases (cada frase ‘ganhará’
uma pontuação no item 5);



3) Estas frases passarão por um
filtro (FILTRO NUMERO 1) de palavras-chave específicas sobre tratamento da
doença;

 

4) A frase que contiver a palavra chave será minha frase atual, ou seja, a
frase que casar com minha expressão regular, será chamada de minha frase atual
(para eu saber o ponto de partida para comparar esta frase (atual), com a frase
anterior e frase posterior;



5) Analisando minha frase atual
(esta que casou com minha expressão regular), procuro nela mesma - frase atual
(linhaatual), na frase anterior (linhaatual -1) e na frase posterior (linhaatual
+1) qual delas possuem a palavra reservada (FILTRO NUMERO 2) (que são
palavras-chave diferentes do item 3) para 'receber' sua respectiva pontuação.
Ex: 

- pontuação das
palavras: se a palavra reservada ‘medicação’ conter na frase anterior, esta
frase receberá um pontuação 3; se conter na frase posterior, a pontuação para
esta mesma palavra reservada será 2; e se conter na frase atual, a pontuação
será 4.

- quanto mais
alto for a pontuação, mais importante é a minha frase (destas 3 frases, uma
delas terá uma pontuação maior, que será chamada de minha frase mais importante);



Resumindo item 5:  A frase atual, anterior e posterior receberão
cada uma delas uma pontuação, dependendo se encontrar ou não a palavra
reservada (citada acima – item 5). 

A frase (dentre
estas 3 ) que contiver maior pontuação, esta será chamada de frase
'importante'.


OBS: Lembrando
que poderei processar a mesma sentença várias vezes, em uma comparação, ela
pode ter uma pontuaçãoX se for comparada por exemplo como se esta fosse a frase
anterior; e se esta frase estiver na posiçãoo de frase posterior ou atual, poderá ter outra
pontuaçãoY.

Eu não poderei
descartar estas frases que contiverem pontuação menor,  pois estas ainda poderão
ser re-processadas comparando com as próximas frases.



6) Todas as frases 'importantes' terão
que ficar em um arquivo separado.

 

Tudo isso que
preciso fazer, o Perl ‘dá conta’ ?

 

Obrigada
novamente.

Juliana

 






--- Em qua, 8/12/10, Blabos de Blebe <blabos em gmail.com> escreveu:

De: Blabos de Blebe <blabos em gmail.com>
Assunto: Re: [SP-pm] Ajuda com vetor de 2 dimensões
Para: saopaulo-pm em mail.pm.org
Data: Quarta-feira, 8 de Dezembro de 2010, 14:02

Juliana, o que exatamente você está tentando fazer?

2010/12/8 Renato Santos <renato.cron em gmail.com>
>
> Juliana, nao entredi quase nada!
>
> Eu prefiro usar hasH, pois fica mais claro pra ler o código.
>
> todavia, vou tentar explicar uma gambi q eu faço:
> Sempre q vou mudar alguma coisa na próxima linha, uso a ref da linha anterior.
>
> My $ref;
> While ... {
> $new = {linha ..., pontos => 0};
> Push(@array, $new);
>
> $ref->{pontos}++;
> $ref = $new;
>
> };
>
> ...
> To no almoço, duvidas grita aí
>
> Em dez 8, 2010 1:00 PM, "Juliana" <julianalduque em yahoo.com.br>escreveu:
>
> Olá amigos,
>
> Agradeço a todos pela resposta.
>
>
> Renato, se eu utilizar o push de uma array conforme o código abaixo, da forma que está eu consigo alterar a pontuação de um frase dinamicamente? Por exemplo...
>
> Após eu colocar todas as frases e suas respectivas pontuações (que no início estarão todas com as pontuações zeradas), farei o seguinte:
>
> Minha frase (minha linha) que casar com minha expressão regular, irei chamá-lo de minha linha atual, e irei verificar a linha anterior (linhaatual -1) e posterior (linhaatual +1) para casar com outra expressão regular, que dependendo de cada regr, e esta pontuação poderá ser alterada, quando a frase for comparada com outras 2 frases (anterior e posterior a ela).
>
> Dessa forma que está (utilizando hash) eu consigo fazer isso posteriormente?
>
> Ah! E este arquivo de frases não chega a 1MB.
>
> Obrigada
>
> Juliana
>
>
>
> --- Em ter, 7/12/10, Renato Santos <renato.cron em gmail.com> escreveu:
>
> De: Renato Santos <renato.cron em gmail.com>
> Assunto: Re: [SP-pm] Ajuda com vetor de 2 dimensões
> Para: saopaulo-pm em mail.pm.org
> Data: Terça-feira, 7 de Dezembro de 2010, 6:51
>
> > > Amigo, > em perl, seria bem mais interessante você utilizar um HASH (ou como eu sou viciado, HA...
>
> -----Anexo incorporado-----
>
> > > _______________________________________________ > SaoPaulo-pm mailing list > SaoPaulo-pm em pm.org...
>
>
> _______________________________________________
> SaoPaulo-pm mailing list
> SaoPaulo-pm em pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>
> _______________________________________________
> SaoPaulo-pm mailing list
> SaoPaulo-pm em pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
_______________________________________________
SaoPaulo-pm mailing list
SaoPaulo-pm em pm.org
http://mail.pm.org/mailman/listinfo/saopaulo-pm



      
-------------- Pr�xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20101208/0dfcacea/attachment-0001.html>


More information about the SaoPaulo-pm mailing list