Gustavo Gavazzoni Postado Maio 26, 2017 Denunciar Share Postado Maio 26, 2017 Pessoal; Tenho a seguinte situação, preciso agrupar as linhas de um texto por sua semelhança e separar em outro arquivo, um exemplo; No arquivo Texto.txt teste perl 01; teste perl 02 sucesso total; teste perl 01 failed; novo arquivo; novo arquivo testado; novo arquivo testado com sucesso; Separaria em dois arquivos; o único e o semelhante. ArqUni.txt - a linha possui mais informação que as outras. novo arquivo testado com sucesso; teste perl 02 sucesso total; ArqSemelhante.txt - as duas primeiras linhas linhas são parecidas com a linha que tem mais informações. teste perl 01 failed; teste perl 01; novo arquivo testado; novo arquivo; Desde já agradeço que puder ajudar. Att. Gustavo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Gustavo Gavazzoni Postado Junho 2, 2017 Autor Denunciar Share Postado Junho 2, 2017 (editado) Prezados Consegui a solução; segue o código; #!/usr/bin/perl use strict; use Set::Similarity::Cosine; my $cosine = Set::Similarity::Cosine->new; open(DATA,"FILE.txt") or die " Arquivo ausente"; my @data; while (<DATA>) { push @data, { map { $_ => 1 } split }; } for my $i ( 0 .. $#data-1 ) { for my $j ( $i + 1 .. $#data ) { my $similarity = $cosine->similarity($data[$i],$data[$j]); $similarity =~s/0\.([0-9]{2}).+/\1/i; if ($similarity > 90) { print "A linha $i Tem $similarity de similar com a linha $j\n"; system "pause"; } } } Agora estou tendo dificuldade em adicionar o resultado no inico da linha. Agradeço quem puder ajudar. Editado Junho 2, 2017 por Gustavo Gavazzoni Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Gustavo Gavazzoni
Pessoal;
Tenho a seguinte situação, preciso agrupar as linhas de um texto por sua semelhança e separar em outro arquivo, um exemplo;
No arquivo Texto.txt
teste perl 01;
teste perl 02 sucesso total;
teste perl 01 failed;
novo arquivo;
novo arquivo testado;
novo arquivo testado com sucesso;
Separaria em dois arquivos; o único e o semelhante.
ArqUni.txt - a linha possui mais informação que as outras.
novo arquivo testado com sucesso;
teste perl 02 sucesso total;
ArqSemelhante.txt - as duas primeiras linhas linhas são parecidas com a linha que tem mais informações.
teste perl 01 failed;
teste perl 01;
novo arquivo testado;
novo arquivo;
Desde já agradeço que puder ajudar.
Att. Gustavo
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.