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 <[email protected]> escreveu:

De: Blabos de Blebe <[email protected]>
Assunto: Re: [SP-pm] Ajuda com vetor de 2 dimensões
Para: [email protected]
Data: Quarta-feira, 8 de Dezembro de 2010, 14:02

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

2010/12/8 Renato Santos <[email protected]>
>
> 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" <[email protected]>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 <[email protected]> escreveu:
>
> De: Renato Santos <[email protected]>
> Assunto: Re: [SP-pm] Ajuda com vetor de 2 dimensões
> Para: [email protected]
> 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 > [email protected]...
>
>
> _______________________________________________
> SaoPaulo-pm mailing list
> [email protected]
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>
> _______________________________________________
> SaoPaulo-pm mailing list
> [email protected]
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
_______________________________________________
SaoPaulo-pm mailing list
[email protected]
http://mail.pm.org/mailman/listinfo/saopaulo-pm



      
_______________________________________________
SaoPaulo-pm mailing list
[email protected]
http://mail.pm.org/mailman/listinfo/saopaulo-pm

Responder a