Similaridade de Nomes [resolvido]

9 respostas
D

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

Existem vários :

<blockquote>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.</blockquote>

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

9 Respostas

S

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

Existem vários :

<blockquote>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.</blockquote>

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

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.

R

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

Existem vários :

<blockquote>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.</blockquote>

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

Tente utilizar o Lucene!

R

rafadelnero:

Tente utilizar o Lucene!

Algoritmo != Framework

R

Framework é constituído por algoritmos.

D

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

R

Framework é constituído por algoritmos.

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

R

Framework é constituído por algoritmos.

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

Agora aprendeu?Parabéns!

R

rafadelnero:

Agora aprendeu?Parabéns!

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

R

ruivo:
rafadelnero:

Agora aprendeu?Parabéns!

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

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

Criado 12 de fevereiro de 2013
Ultima resposta 14 de fev. de 2013
Respostas 9
Participantes 4