Page 1 of 1
Funcion google
Posted: Mon May 01, 2006 12:00 am
by George
Al usar
www.google.com, cuando escribimos mal una palabra, por ejemplo
algorithmm, recibimos el siguiente mensaje:
did you mean: algorithm
Algun compañero del foro tendra alguna idea, sugerencia o quizas un algorithmo
que se pueda implementar en xHarbour para hacer una funcion que haga lo mismo que esa de google.
Saludos
George
Idea
Posted: Mon May 01, 2006 5:43 am
by goosfancito
Estimado,
Se me ocurre:
1) conseguir una base de datos con todas las palabras en castellano.
2) ir buscando caracter por caracter a partir de la izquierda y comparando con la palabras de esta DBF, cuando no encuentra una, avisar la ultima que encontró.
He Dicho.
Posted: Mon May 01, 2006 4:04 pm
by George
Gossfancito,
Es correcto lo que tu plantea. seria una forma de ir afinando un algorithmo que no parece ser complicado.
Saludos
George
Posted: Mon May 01, 2006 4:33 pm
by George
El problema que hay con usar un diccionario es que esta funcion la quiero implementar con nombres de personas, no con palabras. La base de datos (tabla) de los nombres pudiera incluir nombres en español, ingles, y asiaticos entre otros. No se si la function soundex() pudiera ayudar en algo en este caso. Por ejemplo si yo escribo "lunares" me gustaria generar una lista con apellidos cercanos a "lunares", lo cual me traeria "linares" si este esta en esa base de datos.
George
Posted: Mon May 01, 2006 4:35 pm
by goosfancito
Para las entradas con letras que esten consecutivamente duplicadas:
Yo iria a medida que tomo una letra tomo ademas la de adelante, si son iguales podría ser duplicacion, en tal caso 1 iria al diccionario para ver si esa palabra existe, (por las dudas de multiples idiomas vio?) si no existe entonces volver a la palabra "semilla" y seguir adelante sin tener en cuenta esa duplicacion, esto lo haria para luego decirle al usuario - suponiendo que ingreso en la semilla: aahora "señor estimado amigo mio, usted no habra querido ingresar >>ahora<<"?
Y bueno... asi seguiria, pero lo importante es encontrar una secretaria que comience a pasar las palabras desde el diccionario a una DBF o salir a buscar por ahi, como te decia antes, una DBF con el diccionario de "la real academia".
He dicho.
Posted: Mon May 01, 2006 7:48 pm
by Antonio Linares
George,
Como te he comentado en el foro en ingés, es preciso implementar un "word rank" del mismo modo que Google usa un "page rank". Así cada palabra tendría un peso que le daría un determinada importancia, y así la propuesta sería válida y no algo sin sentido.
Los mismos usuarios alimentarían el "word rank", como en Google todos lo alimentamos con nuestras búsquedas, selecciones, etc.
Posted: Mon May 01, 2006 7:55 pm
by goosfancito
Concuerdo con vos Antonio,
Me parece mas correcto darle un rango a las palabras, o nombres. En tal caso dicho rango al inicio no tendría validez, a no ser que: por ejemplo, se le de un rango a los nombres mas usado en un determinado idioma.
Esto yo lo vengo queriendo hacer hace tiempo luego que vi el tema de los diccionarios que traen incorporado los CELULARES.
Y el uso lo daria ovbiamente en campos como ser: descripcion de productos, pero por el momento tengo una VAGA idea de hacerlo, nada puesto en práctica aún.
He dicho.
Posted: Tue May 02, 2006 1:21 am
by George
En el siguiente link hay informacion interesante de como resolver el problema
http://www.merriampark.com/ld.htm
George
Posted: Tue May 02, 2006 1:48 am
by goosfancito
Lei los dos metodos, pero si no me estoy confundiendo te diria que solo
estaría informando _ habria que hacer para conseguir
igualar las cadenas, y en realidad lo que estaría buscando es la similitud
de cadenas.
Para mi las cadenas: CASA y Rampa no tienen nada que ver, para esos
algoritmos dirian, para el H ERROR! las cadenas deben ser iguales de longitud
y para L daría ( siendo CASA la semilla ) 4... en sí. no le encuentro utilidad a lo que estaria, tanto yo con mi proyecto, como tampco el tuyo.
He dicho.