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

Blabos de Blebe blabos at gmail.com
Wed Dec 8 12:13:35 PST 2010


Deixa eu ver se entendi.

Você vai varrer um texto procurando por algumas palavras chaves
(filtro 1), e em seguida procurar outras palavras chaves em volta das
frases que casarem com as primeiras (filtro 2). Em seguida você vai
pontuar as frases que melhor casarem com ambos os filtros?

Pergunta Viajante #1:
Você pretende colocar as frases com seus 'pesos' num grafo de contexto
ou apenas selecionar as melhores pontuadas?

...

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

Se Perl não der conta de processar texto, não sei mais pra que ela serviria :)

Tirando o índice a mais, seria algo parecido com isso?
http://paste.ubuntu.com/541128/


2010/12/8  <thiagoglauco em ticursos.net>:
> Humm...
> Já pensou em usar o módulo Data::Dumper e Storable?
> Quoting Juliana <julianalduque em yahoo.com.br>:
>
>>
>>
>>
>> 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
>>
>>
>>
>>
>
>
>
> _______________________________________________
> SaoPaulo-pm mailing list
> SaoPaulo-pm em pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>


More information about the SaoPaulo-pm mailing list