473,480 Members | 1,873 Online
Bytes | Software Development & Data Engineering Community
Create Post

Home Posts Topics Members FAQ

Find closest matching name

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
2 4493
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
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 thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
1384
by: Petterson Mikael | last post by:
Hi, I have managed to get the name of the enum e.g. TxDeviceGroup_BbBusState in the first part of the xml in the class element. Now I need to find the minimum value of the enum called...
3
4558
by: Tom Mitchell | last post by:
All: I'm stumped on a query. How do I find duplicates in a table where one of the duplicates has values is a certain field and the other doesn't. For example, I have the following table: ...
13
12290
by: mike | last post by:
I have ListArray with number in Eg: 1, 1.456, 2.43, 4, 6.78 next i have a decimal variable containing one number EG: 1.786 Could someone please tell me how i find the "closest match" number...
4
2601
by: Aaron Smith | last post by:
Dim dv As DataView = New DataView(FacilitiesDS1.Facilities, "", "ID ASC", DataViewRowState.CurrentRows) Dim iPos As Integer = dv.Find(dr.Item("ID")) Me.BindingContext(FacilitiesDS1,...
10
13540
by: OppThumb | last post by:
Hi, I've been searching this newsgroup for an answer to my question, and the closest I've come asks my question, but in reverse ("How to figure out the program from plan/package"). I've -- shall...
5
2581
by: jm.suresh | last post by:
Hi I have three objects, all of them are instances of classes derived from a base class. Now, given one of the instance, I want to find the closest relative of the other two. How can I do this? ...
4
3031
by: Thomas Mlynarczyk | last post by:
Hello, I have two arrays like this: $aSearch = array( 'A', 'B', 'C.D', 'E', 'F' ); $aSubject = array( 'A' =0, 'A.B' =1, 'X' =2, 'C.D.E' =3, 'A.B.C' => 4 ); Now I want to search $aSubject...
22
4687
by: Steve Richter | last post by:
Does the .NET framework provide a class which will find the item in the collection with a key which is closest ( greater than or equal, less than or equal ) to the keys of the collection? ex:...
5
2835
by: p309444 | last post by:
Hi. I have an application in which the user can select a location and view it's distance from several Points Of Interests (POIs). When I retrieve these distances, I would also like to retrieve...
0
7055
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
6920
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
7059
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
7103
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
5362
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
1
4799
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
3011
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The...
0
3003
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
0
203
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.