Funcion google

Post Reply
George
Posts: 710
Joined: Tue Oct 18, 2005 6:49 pm

Funcion google

Post 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
User avatar
goosfancito
Posts: 1392
Joined: Fri Oct 07, 2005 7:08 pm

Idea

Post 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.
Un aporte chico hace grandes cambios.
Apoyemos al proyecto "Hogar pimpinela"
Bajate la aplicación (gratuita) y encuentra en ella toda la info de como podes colaborar.
GRACIAS!
https://play.google.com/store/apps/deta ... .acomprar
George
Posts: 710
Joined: Tue Oct 18, 2005 6:49 pm

Post by George »

Gossfancito,

Es correcto lo que tu plantea. seria una forma de ir afinando un algorithmo que no parece ser complicado.

Saludos


George
George
Posts: 710
Joined: Tue Oct 18, 2005 6:49 pm

Post 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
User avatar
goosfancito
Posts: 1392
Joined: Fri Oct 07, 2005 7:08 pm

Post 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.
Un aporte chico hace grandes cambios.
Apoyemos al proyecto "Hogar pimpinela"
Bajate la aplicación (gratuita) y encuentra en ella toda la info de como podes colaborar.
GRACIAS!
https://play.google.com/store/apps/deta ... .acomprar
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post 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.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
goosfancito
Posts: 1392
Joined: Fri Oct 07, 2005 7:08 pm

Post 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.
Un aporte chico hace grandes cambios.
Apoyemos al proyecto "Hogar pimpinela"
Bajate la aplicación (gratuita) y encuentra en ella toda la info de como podes colaborar.
GRACIAS!
https://play.google.com/store/apps/deta ... .acomprar
George
Posts: 710
Joined: Tue Oct 18, 2005 6:49 pm

Post by George »

En el siguiente link hay informacion interesante de como resolver el problema

http://www.merriampark.com/ld.htm


George
User avatar
goosfancito
Posts: 1392
Joined: Fri Oct 07, 2005 7:08 pm

Post 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.
Un aporte chico hace grandes cambios.
Apoyemos al proyecto "Hogar pimpinela"
Bajate la aplicación (gratuita) y encuentra en ella toda la info de como podes colaborar.
GRACIAS!
https://play.google.com/store/apps/deta ... .acomprar
Post Reply