[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