By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
424,830 Members | 1,746 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 424,830 IT Pros & Developers. It's quick & easy.

Find closest matching name

P: n/a
Joe
Hello all!
I need to display a list of names similar to a spell checker where the list
is the closest match to the name entered. Not too sure where to begin with
this - any suggestions?

Thanks,
Joe
Nov 17 '05 #1
Share this Question
Share on Google+
2 Replies


P: n/a
Here is an approach:
Scan each name in the master list (the dictionary), and compute its
"distance" from the name entered. Display those names from the dictionary
that are reasonably "close" to the entered name.

The distance between two strings that is often used is the Levenshtein
distance. You can find information on the algorithm from Google.

Most implementations of Levenshtein will use a dynamic programming approach.
One way to implement dynamic programming as a depth first search in C# can
be found at http://www.frontiernet.net/~fredm/dps/Contents.htm chapter 5.
The recursive approach to solving dynamic programming problems can be found
on the net, or in the references cited at the above link.

A completely different approach is to find names that have a similar sound
(when pronounced) to the entered name. This is based on phonetics. A major
algorithm is Aspell, which has been implemented in Java as "Jazzy". Aspell
combines a metapone algorithm and a "near miss" strategy.

If you read the article on Jazzy,
http://www-106.ibm.com/developerwork...brary/j-jazzy/ , it should give
you a good background for starting your research.


"Joe" <J_no_spam@_no_spam_Fishinbrain.com> wrote in message
news:eg*************@TK2MSFTNGP12.phx.gbl...
Hello all!
I need to display a list of names similar to a spell checker where the
list is the closest match to the name entered. Not too sure where to begin
with this - any suggestions?

Thanks,
Joe

Nov 17 '05 #2

P: n/a
Joe
Hi Fred,

Thank you very much for your reply. I'm going to start reading those
links...

-Joe

"Fred Mellender" <no****************@frontiernet.net> wrote in message
news:%C*************@news01.roc.ny...
Here is an approach:
Scan each name in the master list (the dictionary), and compute its
"distance" from the name entered. Display those names from the dictionary
that are reasonably "close" to the entered name.

The distance between two strings that is often used is the Levenshtein
distance. You can find information on the algorithm from Google.

Most implementations of Levenshtein will use a dynamic programming
approach. One way to implement dynamic programming as a depth first search
in C# can be found at http://www.frontiernet.net/~fredm/dps/Contents.htm
chapter 5. The recursive approach to solving dynamic programming problems
can be found on the net, or in the references cited at the above link.

A completely different approach is to find names that have a similar sound
(when pronounced) to the entered name. This is based on phonetics. A
major algorithm is Aspell, which has been implemented in Java as "Jazzy".
Aspell combines a metapone algorithm and a "near miss" strategy.

If you read the article on Jazzy,
http://www-106.ibm.com/developerwork...brary/j-jazzy/ , it should
give you a good background for starting your research.


"Joe" <J_no_spam@_no_spam_Fishinbrain.com> wrote in message
news:eg*************@TK2MSFTNGP12.phx.gbl...
Hello all!
I need to display a list of names similar to a spell checker where the
list is the closest match to the name entered. Not too sure where to
begin with this - any suggestions?

Thanks,
Joe


Nov 17 '05 #3

This discussion thread is closed

Replies have been disabled for this discussion.