[pyar] Palabras parecidas

gustavo carmona carmonagustavo7 en gmail.com
Mar Jun 15 14:58:43 ART 2010


2010/6/11 Jose Jachuf <jjachuf en gmail.com>:
> 2010/6/10 Sebastian Bassi <sbassi en clubdelarazon.org>:
>
>> Mirá este hilo donde pregunté algo asi:
>> http://proposicion.org.ar/lurker/message/20090423.135854.847b85c8.es.html
>> En ese caso terminé usando esto:
>>>>> import difflib
>>>>> a1='13904-Slmi17003G01PCRright-sp6-t7(257-112)_2008-10-31_C04.phd.1'
>>>>> a2='13904-Slmi17003G01-Slmi17003G01right_2008-10-31_C04.ab1'
>>>>> difflib.SequenceMatcher(None, a1, a2).quick_ratio()
>> 0.74576271186440679
>> (que me funcionaba mejor que Levenshtein al menos para mis datos)
>
> Gracias Sebastian,
>
> usé el siguiente código combinado con el criterio (1) y obtuve mejores
> sugerencias.
>
> sugerencias = difflib.get_close_matches(calle,
>                self._calles_unicas,
>                cantidad,
>                0.2)
>
>
> (1) Si la cadena calle está contenida en alguna de las calles de la
> lista o viceversa agrego la calle como sugerencia.
>
> Saludos
> Jose

te iba a sugerir la idea de Matias Graña. Buenísima la propuesta de
Sebastian Bassi, pero no dejes de ver que hace el usuario. Invitalo a
poner nombres, Ejemplo: si busca Av Santa Fe, aclara que ingrese Santa
y sugeris las calles.

Otro tema, yo pasé por un problema similar, con otro lenguage (php)
que tiene  la funcion Levenshtein, pero no me gustó usar esta funcion,
porque compara dos palabras siempre, y a mi no me importa comparar
palabras que tengan mas de dos letras de distancia con  Levenshtein.

No tuve tiempo, pero en tu lugar estudiaría el algoritmo que te
sugirió Bassi. Por lo menos medí los tiempos.

-- 
Gustavo C



More information about the pyar mailing list