Similaridade de Nomes [resolvido]

Galera, podem me ajudar a escolher algum algoritmo eficiente para obter similaridades entre nomes?

Existem vários :

[quote]L1 Distance (as known as City Block or Manhattan Distance);
Cosine Distance;
Dice Coefficient;
Euclidean Distance;
Hamming Distance;
Jaccard Coefficient;
Jaro Distance;
Jaro-Winkler Distance;
Levenshtein Distance;
Matching Coefficient;
Monge-Elkan Coefficient;
Needleman-Wunsch Coefficient;
Overlap Coefficient;
Q-Gram Distance;
Smith-Waterman Coefficient;
Smith-Waterman-Gotoh Coefficient;
Soundex Distance.[/quote]

Mas não faço ideia qual utilizar…

Eu preciso algo mais ou menos assim:

Input -> Marcu Noronha
Resultado -> Marco Túlio Jacovine Noronha
(vice versa)

Input -> Micaela T. J. N. Dos Reis
Resultado -> Mikaela Noronha Reis

Input -> Jordan Chavier
Resultado -> Gordan Xavier

e por aí vai…
Alguém tem mais experiencia com isso?
abraços

[quote=d34d_d3v1l]Galera, podem me ajudar a escolher algum algoritmo eficiente para obter similaridades entre nomes?

Existem vários :

[quote]L1 Distance (as known as City Block or Manhattan Distance);
Cosine Distance;
Dice Coefficient;
Euclidean Distance;
Hamming Distance;
Jaccard Coefficient;
Jaro Distance;
Jaro-Winkler Distance;
Levenshtein Distance;
Matching Coefficient;
Monge-Elkan Coefficient;
Needleman-Wunsch Coefficient;
Overlap Coefficient;
Q-Gram Distance;
Smith-Waterman Coefficient;
Smith-Waterman-Gotoh Coefficient;
Soundex Distance.[/quote]

Mas não faço ideia qual utilizar…

Eu preciso algo mais ou menos assim:

Input -> Marcu Noronha
Resultado -> Marco Túlio Jacovine Noronha
(vice versa)

Input -> Micaela T. J. N. Dos Reis
Resultado -> Mikaela Noronha Reis

Input -> Jordan Chavier
Resultado -> Gordan Xavier

e por aí vai…
Alguém tem mais experiencia com isso?
abraços[/quote]

Eu nunca mexi directamente com isso, mas me faram de um sistema que fazia isso para endereços.
O seu problema é que os algoritmos que listou são para frases onde as letras são as mesmas (ligeiramente alteradas no lugar, ou faltantes). Mas no seu caso vc quer algo fonético como Xavier e Chavier. Isto pode ser bem mais complicado.
Não tenho uma resposta para si, mas procure por algoritmos fonéticos. Dê uma olha aqui, eu achei um bom começo.

[quote=d34d_d3v1l]Galera, podem me ajudar a escolher algum algoritmo eficiente para obter similaridades entre nomes?

Existem vários :

[quote]L1 Distance (as known as City Block or Manhattan Distance);
Cosine Distance;
Dice Coefficient;
Euclidean Distance;
Hamming Distance;
Jaccard Coefficient;
Jaro Distance;
Jaro-Winkler Distance;
Levenshtein Distance;
Matching Coefficient;
Monge-Elkan Coefficient;
Needleman-Wunsch Coefficient;
Overlap Coefficient;
Q-Gram Distance;
Smith-Waterman Coefficient;
Smith-Waterman-Gotoh Coefficient;
Soundex Distance.[/quote]

Mas não faço ideia qual utilizar…

Eu preciso algo mais ou menos assim:

Input -> Marcu Noronha
Resultado -> Marco Túlio Jacovine Noronha
(vice versa)

Input -> Micaela T. J. N. Dos Reis
Resultado -> Mikaela Noronha Reis

Input -> Jordan Chavier
Resultado -> Gordan Xavier

e por aí vai…
Alguém tem mais experiencia com isso?
abraços[/quote]

Tente utilizar o Lucene!

[quote=rafadelnero]

Tente utilizar o Lucene![/quote]

Algoritmo != Framework

Framework é constituído por algoritmos.

Galera… resolvi…
Alguem fez um algoritmo top…
e uma galera no stack adaptou para varias linguagens.

Peguei e usei no postgres…

vou anexar um SQL pra vcs ai se alguem precisar.

abraços

Framework é constituído por algoritmos.[/quote]

Sério? pensei que fossem de biscoitinhos de manteiga…

Framework é constituído por algoritmos.[/quote]

Sério? pensei que fossem de biscoitinhos de manteiga…[/quote]

Agora aprendeu?Parabéns!

[quote=rafadelnero]
Agora aprendeu?Parabéns![/quote]

Aprendi sim, graças a você. Agora, interpretação de textos é beeem mais complicado para outros aprenderem.

[quote=ruivo][quote=rafadelnero]
Agora aprendeu?Parabéns![/quote]

Aprendi sim, graças a você. Agora, interpretação de textos é beeem mais complicado para outros aprenderem.[/quote]

Fico feliz em saber, apresentei uma solução ao problema, você fez o quê?Não entendi sua utilidade nesse post.