Am Mittwoch, den 05.05.2010, 14:00 +0200 schrieb isaac1024:
Bueno, pois dame a sensación de que na empresa onde
fago as practicas
pedíronme crear unha aplicación que supera en moito as miñas
capacidades como programador. Quixera facer algunha consulta con vos.
Na empresa reciven en documentos (diferentes formatos) unha lista de
direccions (tipo via, via, numero, provincia, poblacion, codigo
postal, telefono,... poden vir todos os datos ou uns cantos, e tampoco
segen este orde). eles o que queren é unha aplicación que sexa capaz
de crear unha folla de calculo onde os datos esten ben estructurados
para poder traballar con eles. ademas as provincias e poblacións teñen
unha codificacion especial.
Eles xa estaban creando esta aplicación, pero cando a provei vin que o
unico correcto era o titulo. Así que recreei a aplicación reciclando a
estructura xeral da aplicación e algunha función que era correcta.
O maior problema que teño é que a xente que crea os documentos que
recive a empresa escrive as direccións como lles dá gana e isto dame
moitos problemas para detectar o municipio e a dirección xa que poden
estar en 4 idiomas (castelan, galego, catalan, vasco), e ademais fan
abreviaturas, utilizan diferentes separadores, ...
Cada vez que procuro solventar un problema xurdeme un novo (un exemplo
é: hay xente que usa un . para abreviar, outros para separar, algo
similar pasame con -).
Creei unha base de datos pra consultar Codigos postais, municipios e
Provincias o problema é que parece que alguns codigos postais son
incorrectos e para detectar os municipios costame moito xa que teños
que controlar 8500 municipios (xa que cada persoa o escribe dunha
forma distinta xd. de momento a principal solucion que lle atopei foi
quetalle os artigos e por varias solucions aos municipios principais,
pero facer isto ultimo para todos os municipios pareceme moi lioso xa
que incrementara en moito os rexistros e poderia dar problemas coa
base de datos (creo)). Unha base de daos con vias xa non a planteo, se
teño problemas cos municipios as vias ainda sera moitisimo peor.
Como solución para as vias demomento creei unha funcion que "consegue
detectar" abrebiaturas de tipos de vias, o principal problema desta
función e que corrixe demasiado: a palabra paz a interpreta como
abreviatura de plaza nun principio estaba pensando en implementar unha
serie de puntucion para disciminar estes casos (pero creo que é
demasiado complexo para mi e costríame demasiado faceo correcto,
despois pensei en crear unha base de datos con palabras que non tome
con abreviaturas ¿será mellor esta solución?) otro problema son as
vias que teñen como nome números ¿se vos ocurre algunha forma de
conseguir saber se ese número é o nome da calle ou o numero da
dirección? (exemplo c/ 5 de ferbero; ou algún poligono que teña unha
dirección numérica)
a verdade é que me está costando moito facelo como queren, eu penso
que os datos deben estár controlados por persoas xa que poden dar
moitos problemas (que falte unha letra, que se equivoque de poboación
ou que a dirección esté mal detectada); pero eles queren que sexa o
mais automático posible.
De momento as solucións que xa pensei foi: migrar para sudamerica,
tirarme pola ventá (estou nun 6º piso),... ¿tedes algunha alternativa?
Xa sei que está moi mal descrito o que teño que facer, pero é que
realmente estoi moi liado coa aplicación.
Please, don't steal more threads!
¡Qué tema interesante!
Espero que estés utilizando expresiones regulares en tu aplicación, que
si no, has perdido mucho tiempo. Pero no te van a resolver el problema
real, simplemente será un esfuerzo por resolver 2 o 3 cuestiones.
Veo dos opciones -si hay más, bienvenidas-.
1. Programar una aplicación basada en regex con lógica difusa e
inteligencia artificial, e incluso con capacidad de cruzar datos
inteligentemente con otras bases. Luego, empezar a poblar los datos para
esta aplicación, con ayuda de personal calificado. Tomar muestras
estadísticas y afinar la aplicación y los resultados.
2. Contratar un transcriptor.
Por lo que cuentas, estimando el costo/beneficio, estimo por 50 veces a
1 que la opción 2 es mucho más factible para tu empresa. Creo que no es
un tema para prácticas.
De todos modos, si quieres hacerlo por aprender, yo veo una aplicación
comercial muy pero muy interesante: con un robot y tu aplicación,
podrías escanear sitios en internet y compilar información muy en
detalle y clasificada, que puedes vender con facilidad. Puede tener
muchas otras aplicaciones. Contáctate con alguien que sepa de IA para
conocer los alcances, y si los comentas, genial.
Saludos.
----------------------------------------------
Rodolfo Alcazar Portillo - nospaze(a)gmail.com
otbits.blogspot.com /
counter.li.org: #367962
----------------------------------------------
Sun is the Microsoft of UNIX vendors: wildly successful despite the
most anemic bloody products. -- Rev. Peter da Silva