Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO Facultad de Estudios Superiores Acatlán BÚSQUEDA DE PRECEDENTES EN ACERVOS LEGALES A TRAVÉS DE LOS NOMBRES DE LAS PARTES TESIS QUE PARA OBTENER EL TÍTULO DE: LIC. EN MATEMÁTICAS APLICADAS Y COMPUTACIÓN PRESENTA: SERGIO LEMUS LÓPEZ ASESOR: EFRÉN PABLO HÉCTOR GONZÁLEZ VIDEGARAY NOVIEMBRE DE 2010 UNAM – Dirección General de Bibliotecas Tesis Digitales Restricciones de uso DERECHOS RESERVADOS © PROHIBIDA SU REPRODUCCIÓN TOTAL O PARCIAL Todo el material contenido en esta tesis esta protegido por la Ley Federal del Derecho de Autor (LFDA) de los Estados Unidos Mexicanos (México). El uso de imágenes, fragmentos de videos, y demás material que sea objeto de protección de los derechos de autor, será exclusivamente para fines educativos e informativos y deberá citar la fuente donde la obtuvo mencionando el autor o autores. Cualquier uso distinto como el lucro, reproducción, edición o modificación, será perseguido y sancionado por el respectivo titular de los Derechos de Autor. A la memoria de mi abuelita Toña, quien anheló un nieto licenciado. A mis padres, quienes no escatimaron esfuerzo para la educación de sus hijos. A mis tíos Leo y Pauli, quienes al regreso de mi primer día de clases, parafraseando a Lao -Tzu me alentaron con estas palabras: “las grandes carreras inician por el primer día de clas es”. A mis maestros: Margarita Becerril, Lucy Morales, Porfirio Ventura, Noé Gerson Bernal, Quintiliano Reyes, Antonio Matoso, Hugo Reyes, Felipe Fabián Herrera, Pablo González, Esperanza Valdés, José Luis Moreno y Hermosillo, Hanna Oktaba, Guadalupe Ibar güengoitia y Jesús Aguilar. 1 CONTENIDO INTRODUCCIÓN .......................................................................................................................................................... VI CAPÍTULO I ................................................................................................................................................................... 8 1 MARCO DE REFERENCIA ....................................................................................................................................... 8 1.1 PRESENTACIÓN ............................................................................................................................................ 8 1.2 PROBLEMÁTICA ............................................................................................................................................ 9 1.3 RELEVANCIA ............................................................................................................................................... 11 1.4 OBJETIVOS ................................................................................................................................................. 13 1.5 PREGUNTAS DE INVESTIGACIÓN ................................................................................................................. 13 1.6 MÉTODO .................................................................................................................................................... 14 CAPÍTULO II ................................................................................................................................................................ 15 2 ESTADO DEL ARTE .............................................................................................................................................. 15 2.1 INDEXACIÓN COMPLETA DEL TEXTO ........................................................................................................... 17 2.1.1 Motores de búsqueda basados en álgebra Boolena ................................................................................ 17 2.1.2 Motores de búsqueda basados en vectores ............................................................................................. 19 2.2 CODIFICACIÓN FONÉTICA ........................................................................................................................... 21 2.2.1 Algoritmo de Russell ............................................................................................................................... 21 2.2.2 Propuesta de codificación fonética para el idioma español de México ..................................................... 23 2.3 SIMILITUD POR DISTANCIA EN UNIDADES DE EDICIÓN ................................................................................. 28 2.4 SIMILITUD POR GRAMAS ............................................................................................................................ 31 CAPÍTULO III ............................................................................................................................................................... 33 3 MODELO PARA LA BÚSQUEDA DE PRECECEDENTES ........................................................................................... 33 3.1 MODELO ESTÁNDAR PARA LA BÚSQUEDA DE INFORMACIÓN ...................................................................... 34 3.2 ETAPAS DEL MODELO ................................................................................................................................. 35 3.2.1 Preparación del corpus inicial ................................................................................................................. 36 3.2.1.1 Dispersión de nombres de personas .............................................................................................................. 37 3.2.1.2 Dispersión de términos del nombre ............................................................................................................... 37 3.2.1.3 Diccionario de términos de nombres.............................................................................................................. 38 3.2.1.4 Dispersión de gramas .................................................................................................................................... 38 3.2.1.5 Abreviaturas, hipocorísticos y noisy words ..................................................................................................... 39 3.2.1.6 Tablas de soporte al sistema de transacciones en tiempo real (OLTP) ............................................................. 39 3.2.1.7 Algoritmo para la constitución del corpus inicial ............................................................................................. 41 3.2.2 Actualización del modelo de datos.......................................................................................................... 41 3.2.3 Evaluación del modelo ........................................................................................................................... 42 3.2.3.1 Eficacia ......................................................................................................................................................... 42 3.2.3.2 Eficiencia....................................................................................................................................................... 43 3.2.3.3 Satisfacción ................................................................................................................................................... 43 3.2.4 Optimización .......................................................................................................................................... 44 CAPÍTULO IV ............................................................................................................................................................... 45 4 IMPLEMENTACIÓN DEL MOTOR DE BÚSQUEDA ................................................................................................. 45 2 4.1 ESTUDIO DE FACTIBILIDAD ..........................................................................................................................45 4.1.1 Objetivo ................................................................................................................................................. 45 4.1.2 Alternativas de solución ......................................................................................................................... 46 4.1.3 Codificación de los algoritmos ................................................................................................................ 46 4.1.4 Cálculo del costo en unidades de edición ................................................................................................ 47 4.1.5 Recursos necesarios ............................................................................................................................... 47 4.2 ANÁLISIS DE REQUISITOS ............................................................................................................................ 47 4.2.1 ESCENARIOS DE CONSULTA .................................................................................................................... 47 4.2.1.1 Consulta simple ............................................................................................................................................. 48 4.2.1.2 Expresiones OR ............................................................................................................................................. 48 4.2.1.3 Uso de letra inicial ......................................................................................................................................... 48 4.2.1.4 Frases débiles ................................................................................................................................................ 48 4.2.1.5 Frases fuertes ................................................................................................................................................ 48 4.2.1.6 Bipartición de términos ................................................................................................................................. 49 4.2.1.7 Abreviaturas e hipocorísticos ......................................................................................................................... 49 4.2.2 PREMISAS DEL ALGORITMO DE COMPARACIÓN ...................................................................................... 49 4.2.2.1 Premisa 1 ...................................................................................................................................................... 50 4.2.2.2 Premisa 2 ...................................................................................................................................................... 50 4.2.3 RESOLUCIÓN DE CONFLICTOS ................................................................................................................. 50 4.2.4 REQUISITOS DE CALIDAD ........................................................................................................................ 50 4.2.4.1 Exactitud ....................................................................................................................................................... 51 4.2.4.2 Completitud .................................................................................................................................................. 51 4.2.4.3 Espacio en disco ............................................................................................................................................ 51 4.2.4.4 Tiempo de respuesta ..................................................................................................................................... 51 4.3 DISEÑO ...................................................................................................................................................... 51 4.3.1 Estructuras de datos............................................................................................................................... 51 4.3.2 Arquitectura........................................................................................................................................... 52 4.3.3 Normalización de la consulta .................................................................................................................. 54 4.3.4 Formulación de la consulta en términos del algoritmo de búsqueda ........................................................ 54 4.3.5 Ejecución ............................................................................................................................................... 55 4.3.6 Resultados ............................................................................................................................................. 56 4.4 CODIFICACIÓN Y PRUEBAS UNITARIAS ........................................................................................................ 57 4.4.1 ALGORITMOS GENERALES ...................................................................................................................... 58 4.4.1.1 Nombres abreviados con letra inicial ............................................................................................................. 58 4.4.1.2 Frases fuertes ................................................................................................................................................ 59 4.4.1.3 Bipartición de términos ................................................................................................................................. 60 4.4.1.4 Abreviaturas e hipocorísticos ......................................................................................................................... 62 4.4.2 INDEXADO DE TEXTO COMPLETO ........................................................................................................... 63 4.4.2.1 Forma general ............................................................................................................................................... 63 4.4.2.2 Términos simples .......................................................................................................................................... 64 4.4.2.3 Expresiones OR ............................................................................................................................................. 64 4.4.2.4 Frases ........................................................................................................................................................... 64 4.4.3 CODIFICACIÓN FONÉTICA ....................................................................................................................... 65 4.4.3.1 Términos simples .......................................................................................................................................... 66 4.4.3.2 Expresiones OR ............................................................................................................................................. 67 4.4.3.3 Frases débiles ................................................................................................................................................ 68 4.4.3.4 Extensión para letra inicial en el corpus ......................................................................................................... 69 4.4.4 ANALOGÍA POR GRAMAS ....................................................................................................................... 69 4.4.4.1 Términos simples .......................................................................................................................................... 70 3 4.4.4.2 Expresiones OR ............................................................................................................................................. 71 4.4.4.3 Frases débiles ................................................................................................................................................73 4.4.4.4 Extensión para letra inicial en el corpus .......................................................................................................... 75 4.4.5 ANALOGÍA POR DISTANCIA EN UNIDADES DE EDICIÓN............................................................................ 75 4.4.5.1 Términos simples .......................................................................................................................................... 77 4.4.5.2 Expresiones OR ............................................................................................................................................. 77 4.4.5.3 Frases débiles ................................................................................................................................................ 78 4.4.5.4 Extensión para letra inicial en el corpus .......................................................................................................... 79 4.4.6 CÁLCULO DEL VALOR DE RELEVANCIA..................................................................................................... 80 4.4.6.1 Rank para Fulltext ......................................................................................................................................... 80 4.4.6.2 Rank para codificación fonética ..................................................................................................................... 80 4.4.6.3 Rank para distancia de edición y semejanza por gramas ................................................................................. 81 4.4.6.4 Rank para términos abreviados ...................................................................................................................... 81 4.4.6.5 Rank para uso de letra inicial ......................................................................................................................... 81 4.4.6.6 Rank final ...................................................................................................................................................... 83 4.5 PRUEBAS DE INTEGRACIÓN ......................................................................................................................... 86 4.6 LIBERACIÓN Y MANTENIMIENTO ................................................................................................................ 86 CAPÍTULO V ................................................................................................................................................................ 87 5 PRUEBAS DE HIPÓTESIS ..................................................................................................................................... 87 5.1 EVALUACIÓN DEL INDEXADO DE TEXTO COMPLETO (FULLTEXT) .................................................................. 88 5.2 COMPARACIÓN DEL ALGORTIMO SOUNDEX DE RUSSELL Y LA PROPUESTA PARA EL IDIOMA ESPAÑOL DE MÉXICO. ................................................................................................................................................................. 90 5.2.1 Pruebas de exactitud .............................................................................................................................. 94 5.2.2 Pruebas de completitud .......................................................................................................................... 94 5.2.3 Tiempo de respuesta .............................................................................................................................. 95 5.3 EVALUACIÓN DE LA ANALOGÍA POR GRAMAS.............................................................................................. 95 5.4 EVALUACIÓN DE LA ANALOGÍA POR DISTANCIA EN UNIDADES DE EDICIÓN ................................................ 100 5.5 RESUMEN DE RESULTADOS ....................................................................................................................... 105 5.5.1 AMBIGÜEDADES .................................................................................................................................. 105 5.5.2 EFICACIA .............................................................................................................................................. 106 5.5.3 EFICIENCIA ........................................................................................................................................... 107 CONCLUSIONES ........................................................................................................................................................ 109 APÉNDICES ............................................................................................................................................................... 111 APÉNDICE A. CASOS DE PRUEBA ............................................................................................................................ 112 APÉNDICE B. ABREVIATURAS E HIPOCORÍSTICOS.................................................................................................... 115 APÉNDICE C. LISTA DE NOISY WORDS..................................................................................................................... 117 APÉNDICE D. ESPECIFICACIÓN DEL SERVICIO WEB .................................................................................................. 118 APÉNDICE E. CÓDIGO FUENTE DEL MOTOR DE BÚSQUEDA ..................................................................................... 121 FUENTES DE INFORMACIÓN ..................................................................................................................................... 164 4 FIGURAS FIGURA 1. NÚMERO DE REGISTROS DESTINADOS A LAS PARTES .................................................................................................... 19 FIGURA 2. MODELO ESTÁNDAR PARA LA BÚSQUEDA DE PRECEDENTES ........................................................................................... 35 FIGURA 3. MODELO ENTIDAD RELACIÓN PARA LA BÚSQUEDA DE PRECEDENTES ................................................................................ 52 FIGURA 4. ARQUITECTURA DEL MOTOR DE BÚSQUEDA .............................................................................................................. 53 FIGURA 5. ESTRUCTURA DEL MOTOR DE BÚSQUEDA ................................................................................................................. 54 FIGURA 6. SECUENCIA DE MENSAJES DEL MOTOR DE BÚSQUEDA .................................................................................................. 57 FIGURA 7. MODELO DE DATOS EN 3FN PARA EL ALGORITMO SOUNDEX......................................................................................... 66 FIGURA 8. MODELO DE DATOS REDUNDANTE PARA GRAMAS ...................................................................................................... 70 FIGURA 9. COEFICIENTE DE SEMEJANZA POR GRAMAS ............................................................................................................... 99 FIGURA 10. TIEMPO DE RESPUESTA SEMEJANZA POR GRAMAS ................................................................................................... 100 FIGURA 11. COEFICIENTE DE SEMEJANZA POR DISTANCIA DE EDICIÓN .......................................................................................... 104 FIGURA 12. TIEMPO DE RESPUESTA DE SEMEJANZA POR UNIDADES DE EDICIÓN ............................................................................. 105 5 TABLAS TABLA 1. ASUNTOS GESTIONADOS EN LA SCJN ENTRE 2005 Y 2009 ............................................................................................ 12 TABLA 2. PROMOCIONES GESTIONADAS EN LA SCJN ENTRE 2005 Y 2009 ..................................................................................... 12 TABLA 3. ACUERDOS ELABORADOSENTRE 2005 Y 2009 ........................................................................................................... 13 TABLA 4. CODIFICACIÓN SOUNDEX ...................................................................................................................................... 22 TABLA 5. CODIFICACIÓN SOUNDEX DE NOMBRES POPULARES ...................................................................................................... 23 TABLA 6. FONÉTICA DEL ESPAÑOL ........................................................................................................................................ 23 TABLA 7. FONEMAS DEL ESPAÑOL ........................................................................................................................................ 24 TABLA 8. FONEMAS DE LA LENGUA NÁHUATL .......................................................................................................................... 25 TABLA 9. CODIFICACIÓN SOUNDEX PARA EL ESPAÑOL DE MÉXICO ................................................................................................ 27 TABLA 10. REPRESENTACIÓN GRÁFICA DE LA CODIFICACIÓN SOUNDEX DE RUSSELL Y LA ADAPTACIÓN AL ESPAÑOL DE MÉXICO ..................... 28 TABLA 11. DISTRIBUCIÓN DE FRECUENCIAS PARA LAS CONSONANTES EN LOS NOMBRES ..................................................................... 28 TABLA 12. DISPERSIÓN DE NOMBRES PARA UNA ENTIDAD .......................................................................................................... 37 TABLA 13. DICCIONARIO DE NOMBRES .................................................................................................................................. 38 TABLA 14. TRIGRAMAS DEL NOMBRE ÁNGELES MASTRETTA ....................................................................................................... 39 TABLA 15. EVOLUCIÓN DEL ESTÁNDAR SQL ........................................................................................................................... 46 TABLA 16. EXPRESIONES REGULARES PARA RECONOCER PATRONES DE CONSULTA ............................................................................ 55 TABLA 17. BIPARTICIÓN DEL NOMBRE BLANCANIEVES ............................................................................................................... 60 TABLA 18. TABLA DIC.NOMBREPARTICION PROPUESTA PARA ALMACENAR TÉRMINOS DE NOMBRES COMPUESTOS.................................... 62 TABLA 19. COSTO-BENEFICIO 3FN VS REDUNDANCIA PARA ANALOGÍA POR SOUNDEX ....................................................................... 66 TABLA 20. COSTO-BENEFICIO 3FN VS REDUNDANCIA PARA ANALOGÍA POR GRAMAS ........................................................................ 70 TABLA 21. PONDERACIÓN DEL RANK EN ESCENARIOS CON LETRA INICIAL........................................................................................ 82 TABLA 22. DISTRIBUCIÓN DE NOMBRES Y TÉRMINOS ABREVIADOS CON UNA LETRA ........................................................................... 82 TABLA 23. RESULTADO DEL ALGORITMO DE SEMEJANZAS POR DISTANCIAS PARA LA CONSULTA JUAN HERNÁNDEZ HERNÁNDEZ ........... 84 TABLA 24. EVALUACIÓN DEL MÉTODO FULLTEXT ..................................................................................................................... 90 TABLA 25. COMPARACIÓN DEL ALGORITMO SOUNDEX DE RUSSELL Y SOUNDEXMX .......................................................................... 93 TABLA 26. DISTRIBUCIÓN DE LA DISPERSIÓN DE GRAMAS ........................................................................................................... 95 TABLA 27. EVALUACIÓN DEL COEFICIENTE DE SEMEJANZA PARA SEMEJANZA POR GRAMAS .................................................................. 98 TABLA 28. EVALUACIÓN DEL ALGORITMO DE DISTANCIA EN UNIDADES DE EDICIÓN ......................................................................... 103 TABLA 29. RESUMEN DE AMBIGÜEDADES ............................................................................................................................ 106 TABLA 30. RESUMEN DE INDICADORES DE EFICACIA ................................................................................................................ 106 TABLA 31. ESPACIO DE ALMACENAMIENTO POR ALGORITMO .................................................................................................... 107 TABLA 32. RESUMEN DE INDICADORES DE EFICIENCIA ............................................................................................................. 108 vi INTRODUCCIÓN Además del nombre propio de José, don José también tiene apellidos, de los más corrientes, sin extravagancias onomásticas, uno por parte de padre, otro por parte de madre, según la norma, legítimamente transmitidos, como podríamos comprobar en el registro de nacimiento existente en la Conservaduría si la sustancia del caso justificase el interés y si el resultado de la averiguación compensara el trabajo de confirmar lo que ya se sabe. José Saramago, Todos los nombres. Buscar información es parte de nuestras actividades cotidianas, ya sea para satisfacer necesidades laborales, escolares o de interés personal. Para hacerlo solemos utilizar motores de búsqueda; sobre todo cuando las fuentes de consulta se encuentran almacenadas en grandes acervos electrónicos. Al diseñar una herramienta de búsqueda para un acervo, deben tenerse en cuenta las características del mismo y la información que se requiere de éste; las estructuras de los datos, los medios de almacenamiento y la forma de presentar los resultados para satisfacer la necesidad del usuario. Por ejemplo, en los acervos de carácter legal, los especialistas en derecho requieren hacer consultas especializadas que disminuyan el riesgo de pasar por alto información crítica en ciertos escenarios; más allá de criterios de búsqueda generales, integrados en aplicaciones para obtener información legislativa, jurisprudencial, de sentencias y doctrina. En el caso de la localización de precedentes, la preocupación principal del usuario es que ligeros errores de transcripción en los nombres de las partes que intervienen en un juicio le impidan encontrar información crítica para el desarrollo de un proceso judicial. Cuando utiliza motores de búsqueda de propósito general, formula peticiones reiteradas y alternas para aumentar la probabilidad de éxito en su búsqueda. Sin embargo, prevalece la incertidumbre de que se hayan agotado las formas posibles en que pudiera encontrarse registrado el nombre de la persona en cuestión. Por ello, en esta investigación se aborda la problemática que enfrentan los órganos de administración de justicia de México para localizar precedentes cuando la información que se tiene a la mano es el nombre de alguna de las partes y no coincide cabalmente con los registros en las bases de datos, y se propone un motor de búsqueda especializado, capaz de recuperar la información que se esconde detrás de ligeras diferencias de transcripción. En el capítulo I se explica la problemática para hallar precedentes en el ámbito legal y el impacto en las tareas de gestión de los órganos encargados de la administración de justicia. Se describe el proceso jurídico INTRODUCCIÓN vii y se cuantifica el volumen de juicios y promociones que se admiten en la Suprema Corte de Justicia de la Nación (SCJN). En el capítulo II se hace un recuento de los métodos existentes para resolver esta problemática, como el método tradicional de búsqueda en grandes volúmenes de datos, Fulltext. También se incluyen las variantes de los algoritmos de codificación fonética y una propuesta de adaptación del algoritmo Soundex para el idioma español de México, con el propósito de mejorar su exactitud. Por otro lado, se explica el principio del método de Levenshtein, basado en la distancia de unidadesde edición, y el camino de la programación dinámica para obtener esta métrica, así como el método de semejanza por descomposición de términos en gramas. A partir de este grupo de métodos representativos del estado del arte se propone un modelo capaz de sobreponerse a la problemática descrita. En el capítulo III se describe el modelo de búsqueda propuesto, el cual abarca el proceso cognitivo general para la búsqueda de información, las etapas por las que transcurre y los criterios para la evaluación de los resultados de las consultas. El capítulo IV contiene la implementación del motor de búsqueda con apego al ciclo en cascada del desarrollo de software. En la etapa de análisis se ratifican los escenarios en los que se producen los problemas de detección de precedentes. La arquitectura de soporte del motor de búsqueda, el modelo de datos que lo sostiene y el diagrama de secuencia de mensajes son las tareas principales en la fase de diseño. Como productos de la etapa de codificación se exponen las soluciones propuestas para cada algoritmo, enfatizando las formas canónicas de las expresiones SQL, necesarias para cada caso. Finaliza con la descripción breve de las tareas de mantenimiento posteriores a la implantación del producto. En el último capítulo se relatan los experimentos realizados para evaluar el desempeño de los algoritmos propuestos. La evaluación se realiza a través del diseño de un conjunto de casos de prueba con el que se medirá la eficacia y eficiencia de los algoritmos implementados. Se compara el método Soundex de Russell con la propuesta de adaptación para el idioma español de México. Con este mismo conjunto de casos de prueba se evalúan las implementaciones de los métodos de Fulltext, similitud por distancia de edición y gramas. En la evaluación se incluyen los recursos de cómputo empleados por cada algoritmo. Gracias a estos indicadores se obtiene la propuesta de solución que arrojó los mejores resultados para resolver el problema planteado. Al final del documento se anexan: los casos de prueba diseñados para evaluar a los algoritmos implementados, la especificación del servicio web para exponer al motor de búsqueda, los diccionarios de hipocorísticos y abreviaturas utilizados, y el código fuente del motor de búsqueda de nombres. 8 CAPÍTULO I Alguien debió haber calumniado a Josef K, porque una mañana, sin que hubiera hecho nada malo, lo detuvieron. Franz Kafka. El proceso. 1 MARCO DE REFERENCIA 1.1 PRESENTACIÓN En la informática jurídica, las herramientas de sistemas juegan un papel relevante para el control administrativo de los órganos que integran el poder judicial. La disponibilidad inmediata de información sistematizada de leyes, acuerdos, sentencias, jurisprudencia y doctrina es de gran apoyo para ministros, magistrados, jueces, secretarios de estudio y funcionarios públicos. Sobre todo al elaborar proyectos que promuevan la reducción de trámites y del tiempo necesario para la resolución de conflictos, la derogación de normas jurídicas obsoletas, contradictorias, reiterativas o ineficaces, y la eliminación de lagunas no contempladas en el marco legal. Por otra parte, la información que publican los órganos legislativos y judiciales en sus portales de Internet informa a los ciudadanos sobre aspectos legales, así como de sus derechos y obligaciones. Otras ramas de las ciencias de la computación, como la estadística y la probabilidad, están en camino de consolidar herramientas para la ciencia jurídica; por ejemplo, la construcción de indicadores de gestión que permitan medir la eficacia de los procesos jurídico-administrativos de los órganos de justicia. Otras vertientes de investigación en fase de prototipos, que esperan alcanzar la madurez necesaria para que especialistas en Derecho puedan valerse de ellas con toda confianza, son los sistemas para el descubrimiento de patrones a través de la minería de datos, los cuales ayudarían a tomar decisiones legales; los análisis de series de tiempo de procesos jurídicos, los sistemas autónomos de clasificación temática; los sistemas expertos, redes neuronales de argumentación y las pruebas en dominios de problemas específicos. Gracias a la riqueza de los acervos de contenido legal, disponibles en línea, el abogado se sirve de las herramientas automatizadas para buscar precedentes de un conflicto, con lo cual se aleja del arquetipo conservador del profesional ajeno a las tecnologías de la información. De aquí parte el motivo de emprender esta investigación y aportar un modelo que aumente la certidumbre de localizar antecedentes a través de los nombres de las partes que intervienen en un juicio. En el Diccionario Jurídico Mexicano, precedente es sinónimo de antecedente, y se define como una ocurrencia anterior de un hecho similar y designa un hecho o circunstancia relacionado, de alguna manera relevante, con un hecho presente. En un sentido más limitado señala una MARCO DE REFERENCIA 9 instancia o acción que constituye parte de una práctica ya iniciada o, bien, modelo o patrón de una práctica subsecuente [1]. Para el propósito de esta investigación se refiere a expedientes en los que figura como parte del juicio el nombre de la persona que se busca. El Poder Judicial de nuestro país está integrado por órganos jurisdiccionales encabezados por la Suprema Corte de Justicia de la Nación (SCJN), los cuales se encargan de administrar justicia, vigilar el cumplimiento de la Constitución y de las leyes, así como de resolver conflictos entre particulares. Los juzgados y tribunales, administrados por el Consejo de la Judicatura Federal, operan a nivel nacional con un sistema centralizado en el que se registran los nombres de las partes en el contexto de los datos generales de un expediente. Los gobiernos estatales y el Distrito Federal se apoyan con sus propios sistemas de información. Las Juntas de Conciliación y Arbitraje se encargan de desahogar juicios en materia laboral que, por su naturaleza, dan lugar a estructuras de datos destinadas a la información de patrones y trabajadores. El Tribunal Electoral del Poder Judicial de la Federación aborda los asuntos de partidos políticos y procesos electorales. Y por último, la Suprema Corte de Justicia de la Nación tiene un sistema de gestión para los asuntos de orden constitucional y los que trascienden hasta ella, en el que se registra la información de las partes que intervienen en los asuntos de su competencia. En esta diversidad de sistemas creados para la administración de justicia, diseñados para atender propósitos particulares, según el órgano jurisdiccional y la materia, existe un común denominador: en todas las ventanillas de atención para ingresar un trámite, llámese demanda, amparo, reclamación, queja, denuncia, o simplemente, solicitud de información, existe un escrito del que se extraen los nombres de las partes que intervienen en el juicio y se registran en el sistema de gestión que corresponde, como parte de la información básica que identifica al expediente. Una de las funciones principales de las áreas de gestión jurídica es identificar de manera oportuna la existencia de precedentes de una promoción, presentada por alguna de las partes en un juicio, e iniciar el proceso jurídico correspondiente. A grandes rasgos, la gestión se canaliza al área jurídica que conoce el expediente o que emitió la sentencia, de otra manera, se iniciará un nuevo proceso judicial. De acuerdo con la definición del Diccionario de la Lengua Española, promoción es la acción y efecto de promover, que a su vez significa iniciar o impulsar una cosa o proceso, procurando su logro [2]. Las tecnologías de la información aplicadas a la gestión de expedientes en los tribunales de nuestro país tienen relativamente poco tiempo comparado con otros ámbitos. Si bien se conmemoraron los treinta años de haber incorporadola informática en la SCJN, el sistema que apoya esta tarea data de 1995, así que posee apenas 15 años de experiencia. 1.2 PROBLEMÁTICA La mayor parte de la información de los sistemas de gestión jurídica está almacenada en estructuras que permiten al usuario redactar libremente algunos de sus contenidos, fuera de formatos preestablecidos. Hay MARCO DE REFERENCIA 10 estructuras de datos específicas para capturar el carácter y los nombres de las partes que intervienen en un juicio, sin embargo, se presentan diversas situaciones por las que persisten ambigüedades entre la información que se encuentra almacenada en medios electrónicos y la que se busca: Las reglas ortográficas no se aplican estrictamente para los nombres propios. A pesar de que actualmente el juez del registro civil tiene facultades para persuadir a los padres para designar un nombre reconocido por la onomástica, la decisión final será la que convenga a los progenitores. Así podemos encontrar: Selene o Celene; Jazmín o Yazmín; Jimena o Gimena; Giménez o Jiménez; Lemus o Lemuz; Bugambilia o Buganvilia, etcétera. Es común que los escritos legales se transcriban en mayúsculas y que no se coloquen los acentos. La dificultad para escribir correctamente los nombres de origen extranjero, además de las distintas formas adoptadas para designar nombres de pila como: Jonathan o Yonatan; Jessica o Yessica; Johnny o Jonny, entre otros. La información que se ingresa al sistema proviene de documentos redactados libremente, de los que se extraen los datos relevantes del asunto y, a pesar de procesos de verificación, cabe la posibilidad de que en la transcripción se intercambien letras por descuido o por falta de mantenimiento a los teclados de las computadoras. Por ejemplo: farmacéuitca en lugar de farmacéutica. Si no se cuenta con un corrector ortográfico integrado al sistema de gestión, es difícil identificar estos errores al momento de la captura. Aunque la mayoría de los escritos legales son redactados por especialistas en derecho, no siempre es posible cotejarlos con documentos oficiales como la credencial de elector. Es común que las personas con más de un nombre de pila utilicen sólo uno de ellos, y que pongan abreviaturas o la inicial de uno de los nombres o de los apellidos. Por ejemplo: Fco. Javier, José J., etcétera. Aun con políticas para mantener patrones válidos para nombres de personas, por ejemplo: nombre, apellido paterno y apellido materno, existen nombres que también figuran como apellidos, por ejemplo: Melchor, Andrés, Guadalupe, etcétera. En estos casos se presentan ambigüedades, dado que no es posible determinar con precisión si es un nombre o un apellido. Tratándose de personas morales o instituciones, es común encontrar siglas, acrónimos o alias para referirse a la misma entidad, por ejemplo: IMSS y Seguro Social, en lugar del nombre oficial, Instituto Mexicano del Seguro Social. No existen padrones en línea actualizados de órganos y autoridades, ni de ciudadanos ni empresas. Además, las políticas que obligan a escribir los nombres de las partes en los sistemas de gestión como se encontró en la fuente causan diversas formas para denominar la misma entidad. La Clave Única del Registro de Población, CURP, no es requisito para que un ciudadano pueda promover un juicio ante un juzgado o tribunal. Tampoco lo es el Registro Federal de Contribuyentes, RFC, de las empresas para todos los juicios. Así, tampoco es posible aplicar reglas de validación estrictas. Con estas situaciones, y dado que no se trata de información estructurada, el problema se presenta cuando se realizan búsquedas en el acervo con ligeras variaciones en el nombre. Con sistemas tradicionales de MARCO DE REFERENCIA 11 búsqueda es necesario que el usuario realice sus propias inferencias y realice algunas variantes de consulta para tratar de encontrar precedentes de un asunto en particular. Los sistemas de información que apoyan la administración de justicia de México fueron diseñados para propósitos distintos, de acuerdo con la materia y según la competencia del órgano jurisdiccional. Cada sistema hace un registro de las partes, y es común encontrar que en el cuerpo del asunto o promoción también se haga mención de las mismas. En esta investigación, los términos partes y asunto se referirán a lo siguiente: Partes. Según el tipo de asunto, y el carácter que representa en el juicio, recibe denominaciones diferentes: promovente, quejoso, demandante, demandado, actor, tercero perjudicado, denunciante, apoderado legal, etcétera. Se refiere al nombre de una persona, una razón social o el nombre de un organismo o institución. Asunto. De igual forma, según la materia, es común escuchar términos como: acto reclamado, normas impugnadas, voces, tema planteado, promoción, etcétera. Lo relevante para esta investigación es destacar que se trata de texto redactado en forma libre y que es una petición que cumple con los requisitos para iniciar el trámite en alguno de los órganos del poder judicial. Por las situaciones mencionadas en los sistemas en el ámbito legal, el objetivo de esta investigación es crear un modelo para la identificación de precedentes que se sobreponga a estas situaciones y localice aquéllos expedientes con los que se encuentre relación a través de los nombres de las partes en el propio tribunal o en el resto de los órganos encargados de la administración de justicia en nuestro país. Para el modelo de localización de precedentes a través de los nombres de las partes, he considerado las siguientes premisas: 1. Que el remitente o remitentes se registran en una base de datos con estructuras normalizadas para facilitar el acceso a la información, o que están registrados en un solo campo, separados por comas. 2. Que la base de datos cuenta con información adicional que identifica al expediente, además de sus llaves primarias correspondientes. 3. Que hay la capacidad tecnológica y el interés de los órganos que integran el poder judicial para establecer acuerdos de colaboración en la identificación de precedentes. 4. Que cada sistema tiene sus propias políticas para proteger los datos personales y preservar la identidad de las personas cuando no sea pertinente difundir esta información. 1.3 RELEVANCIA La identificación oportuna de precedentes mejorará al sistema de administración de justicia por las siguientes razones: 1. Ayudará a identificar precedentes en el mismo órgano jurisdiccional y eliminará el inicio de trámites paralelos innecesarios, si se logra determinar que el asunto corresponde a un expediente para el que ya se haya iniciado un proceso judicial. MARCO DE REFERENCIA 12 2. Facilitará la localización de precedentes en otros tribunales. Si se logran identificar juicios interpuestos en otros tribunales, el juzgador podrá conocer los resolutivos adoptados por aquéllos y enriquecer su conocimiento en el estudio del asunto. 3. Apoyará en la detección de expedientes relacionados con un mismo juicio, en proceso o fallado en un órgano de menor jerarquía. Es común que las partes recurran a tribunales de mayor jerarquía cuando la resolución de un juicio no satisface completamente su petición. Se requiere trabajo de búsqueda adicional, con consultas cruzadas, para identificar el vínculo entre asuntos derivados de un mismo juicio. De acuerdo con los informes anuales que publica la SCJN [3] en su portal, el número de asuntos gestionados en esta instancia en los últimos cinco años (Tabla 1) y las promociones del mismo periodo (Tabla 2), se traduce a un promedio de siete promociones por expediente que la oficialía de partes debe canalizar oportunamente. Las 48 972 promociones anuales en promedio representan el potencial número de situaciones que podrían necesitar de un proceso de búsqueda por el nombre de quien remite la petición. Asunto2005 2006 2007 2008 2009 Amparos directos en revisión 2 130 2 125 2 219 2 139 2 296 Amparos en revisión 2 159 2 111 1 185 1 232 2 214 Incidentes de inejecución de sentencia 304 670 655 754 961 Recursos de reclamación 350 381 361 345 386 Incidentes de inconformidad 295 363 364 324 424 Competencias 133 121 143 282 244 Contradicciones de tesis 44 39 44 55 445 Controversias constitucionales 79 154 97 166 109 Acciones de inconstitucionalidad 40 56 166 128 95 Solicitudes de ejercicio de la facultad de atracción 12 47 31 75 120 Revisiones administrativas 6 28 13 67 128 Asuntos diversos 93 76 1 963 1 967 1 270 Total 5 645 6 171 7 241 7 534 8 692 Tabla 1. Asuntos gestionados en la SCJN entre 2005 y 2009 Por cada promoción que se recibe en la ventanilla de atención de la Corte, se inicia un proceso de gestión sujeto a una fecha límite en la que deberá darse repuesta a la petición. De aquí la importancia canalizar adecuadamente la promoción al área jurídica que tiene en sus manos el expediente o abrir uno nuevo cuando no exista ningún precedente. Promociones 2005 2006 2007 2008 2009 Generales 40 540 40 032 42 305 35 578 29 572 Varias 4 710 5 866 10 280 12 253 23 102 Solicitudes relacionadas con la ley de transparencia 157 132 155 115 61 Total 45 407 46 030 52 740 47 946 52 735 Tabla 2. Promociones gestionadas en la SCJN entre 2005 y 2009 MARCO DE REFERENCIA 13 Una vez que la promoción está en manos del área responsable de atenderla, se responde a través de la figura judicial denominada acuerdo. El abogado encargado de elaborarlo comprueba que efectivamente corresponde al expediente antes de iniciar cualquier gestión y es común que se auxilie en su investigación, por segunda vez en el proceso, de los nombres de las partes. En la Tabla 3 se resumen los acuerdos que se elaboran durante el proceso de resolución de expedientes. Acuerdos 2005 2006 2007 2008 2009 Avocamientos 350 381 361 345 386 Acuerdos de admisión 5 949 6 841 7 896 8 288 9 653 Desechamientos 2 359 2 389 2 368 2 351 2 391 Incompetencias 133 121 143 282 244 Acuerdos plenarios 4 754 5 905 10 324 12 308 23 547 Acuerdos diversos 42 781 42 324 44 564 37 867 31 751 Total 56 326 57 961 65 656 61 441 67 972 Tabla 3. Acuerdos elaborados entre 2005 y 2009 El 20% adicional de acuerdos en promedio respecto del trámite de promociones corresponde a las gestiones internas entre las Salas de la Corte y el Tribunal Pleno. 1.4 OBJETIVOS El objetivo de esta investigación es definir un modelo para la búsqueda de precedentes a través de los nombres de las partes que intervienen en un juicio e implementar un motor de búsqueda para apoyar las tareas de gestión de los órganos que se encargan de la administración de justicia en México. El modelo debe abarcar la definición de estructuras de datos, tratamiento de la información, algoritmos para la localización, mecanismos de colaboración entre sistemas de información y la presentación de resultados al usuario. Buscará independencia de la plataforma tecnológica tanto de hardware como de software y equipos de comunicación, para que pueda implementarse en cualquiera de los sistemas de gestión existentes. Para ello, los requerimientos técnicos estarán apegados a estándares abiertos. El último punto se apega a las disposiciones del “Decreto de austeridad en materia de tecnologías de la información” del presente sexenio para la Administración Pública Federal. 1.5 PREGUNTAS DE INVESTIGACIÓN Con base en la problemática expuesta, en esta investigación se responden las siguientes preguntas: ¿Qué se puede hacer para localizar precedentes en trámites legales, a partir de los nombres de las partes en los sistemas de información de los órganos judiciales? ¿Es posible implementar un algoritmo de búsqueda confiable que resuelva la problemática señalada? MARCO DE REFERENCIA 14 ¿Qué modelo de datos se puede utilizar para almacenar información de las partes en sistemas de gestión legal y así contribuir a la localización de precedentes? ¿Cómo puede establecerse un canal de comunicación entre los órganos del poder judicial para la localización de precedentes? 1.6 MÉTODO La solución al problema planteado a través de esta investigación se sustenta en los siguientes elementos: Primero, una inspección visual de la calidad de la información que se encuentra almacenada con una muestra aleatoria del 4% de la población, teniendo en cuenta aquéllos registros cuyo módulo veinticinco es cero respecto del identificador secuencial de cada registro. Dicha muestra es representativa tanto para la categoría que clasifica a expedientes por tipo de asunto, como a la categoría por materia. Dado que se utilizó un número secuencial para discriminar la muestra, sujeto a la dimensión cronológica, se asegura examinar el acervo histórico de manera uniforme. El 4% corresponde a 4 400 expedientes analizados. Segundo, un estudio del estado del arte de los algoritmos para la búsqueda de nombres basados en las semejanzas, y así superar ambigüedades gramaticales y de transcripción. De este análisis surgirá el método de búsqueda seleccionado por su eficacia, eficiencia y confiabilidad de acuerdo con el conjunto de pruebas y criterios de evaluación de los resultados. Del algoritmo que seleccione dependerá la preparación y estructura de datos para la implementación. Tercero, identificar los escenarios recurrentes de consulta en donde se presenta la problemática descrita para abordarlos de forma particular y proponer soluciones adecuadas para cada caso. Cuarto, evaluar el modelo de identificación de nombres con un conjunto de pruebas en las que se pueda medir la eficacia del algoritmo en términos de exactitud y completitud. La eficiencia se medirá en términos de los recursos de cómputo utilizados. Quinto, como ya se ha explicado, el poder judicial de nuestro país está integrado por órganos jurisdiccionales que atienden asuntos, según la materia y la jerarquía de la instancia. En la misma magnitud es la heterogeneidad de los sistemas de información. Por lo tanto, para implementar una solución de colaboración entre todos los órganos encargados de la administración de justicia es necesario tener un mecanismo que favorezca portabilidad e interoperabilidad del modelo. El alcance de la solución propuesta será para el ámbito del sistema de gestión de expedientes de la Suprema Corte de Justicia de la Nación, pero podrá extenderse con facilidad a las demás instituciones gracias a la utilización de estándares. 15 CAPÍTULO II A noir, E blanc, I rouge, U vert, O bleu: voyelles. Arthur Rimbaud. Voyelles. 2 ESTADO DEL ARTE Las primeras computadoras de uso personal 8086 contaban con 29 mil transistores. Hoy, treinta años más tarde, los recursos de procesamiento, almacenamiento y memoria de un teléfono celular superan la capacidad de aquéllos equipos. Las computadoras personales que tenemos a nuestro alcance están equipadas con 291 millones de transistores. Esto equivale a un crecimiento de más de diez mil veces en cuanto al número de transistores y del orden de 586 veces en desempeño. La llamada Ley de Moore [4], formulada en 1965, acertó en la predicción de la tasa de crecimiento para la siguiente década, que duplicó anualmente el número de transistores de los circuitos integrados de las computadoras. Para 1975, volvió a estimar el mismo crecimiento para periodos de dos años. Esta última predicción del crecimiento geométrico se mantiene vigente, aunque por las limitaciones físicas para disipar el calor en un solo núcleo se ha optado por recurrir al procesamiento en paralelo. “Y, ¿qué ha pasado con el software?”, argumenta Nathan Myhrvold: el software se expande como un gas en su contenedor, crece tanto como se lo permiten los recursos de cómputo disponibles. En complicidad recíproca,la expansión del software motiva la tendencia creciente de transistores. Nunca es suficiente, las razones: nuevos algoritmos, nuevas aplicaciones, nuevos usuarios y nuevas nociones de lo que se considera cool [4]. La explicación del crecimiento de los recursos de la industria del software por la demanda para ejecutar aplicaciones sofisticadas de cómputo, tanto de programadores como de usuarios, merece reflexionar sobre el papel que tenemos los desarrolladores de software para aprovechar adecuadamente los recursos: tomar en cuenta que se trata de recursos limitados, que debemos utilizarlos de manera responsable cuando realmente representen un beneficio tangible para la vida de las personas. Los grandes volúmenes de información que administran los sistemas de búsqueda se asocian con el fenómeno del crecimiento que se mencionó anteriormente por el tiempo de respuesta al que nos tienen acostumbrados. La búsqueda de precedentes a través de la localización de nombres es esencialmente un problema de recuperación de información, y por tanto comparte las mismas exigencias. Mi reflexión viene justamente en esta dirección: implementar herramientas que saquen provecho de la gran cantidad de transistores y otros recursos a nuestro alcance, pero utilizados de la mejor manera posible. ESTADO DEL ARTE 16 Con esta consideración se emprende el reto de acercar la información que requiere un usuario del ámbito legal para desempeñar sus funciones, a partir de automatizar tareas especializadas que entreguen registros con la suficiente cobertura para no omitir datos críticos en un proceso judicial. La indexación completa del texto es el método más popular para recuperar información y es empleada por los motores de búsqueda destinados a grandes colecciones de documentos. Estos métodos se han incorporado a las herramientas de administración de bases de datos relacionales, y sirven para indexar campos de tipo texto. Además del método general de búsqueda, existen dos grupos de algoritmos orientados a mitigar los problemas identificados en la localización de precedentes, aplicando medidas de semejanza a los registros almacenados. El primer grupo de algoritmos identificados afronta el problema a través de la codificación fonética. Entre éstos se cuentan el código pionero Soundex, propuesto por Odell y Russell en 1918; el propuesto por Taft en 1970, denominado Sistema de Identificación e Inteligencia del Estado de Nueva York (NYSSIIS, por sus siglas en inglés), relacionado claramente con los propósitos de esta investigación; una variante del código Soundex, diseñada por Daitch y Mokotoff en 1985; la codificación Phonix de Gadd, en 1988, con reglas de codificación más especializadas; y el código Double Metaphone de Philips, en 1990, que propone un segundo código para cubrir las variantes de pronunciación de nombres. Este grupo de algoritmos conocidos como “de similitud fonética” tienen en común un código que permite hacer concordar nombres con mínimas diferencias. Con mayor o menor rigidez en las reglas de codificación, estos algoritmos logran encontrar coincidencias en aquéllos nombres que resultan con el mismo código fonético, como en el caso de Jiménez y Giménez. Sin embargo, también resultan imprecisiones al arrojar coincidencias entre Ruiz y Ríos. Asimismo, en los nombres propios en los que abundan las vocales, como Coahuila, Chihuahua y Cuauhtémoc, los códigos fonéticos resultantes presentan desviaciones mayores si no se da un tratamiento de acuerdo con la cultura. En nuestro caso, para el idioma español. Existe otro grupo de algoritmos que utilizan coeficientes de similitud. En el planteamiento de Levenshtein, en 1965, conocido como distancia de edición, el coeficiente de similitud está determinado por el número de operaciones de inserción, eliminación o sustitución de caracteres requeridas para hacer dos cadenas idénticas. En 1983, Angell, Freund y Willet proponen una medida de similitud a partir del número de n-gramas que tienen en común dos cadenas. Si hay una cantidad suficiente de coincidencias existe similitud. La característica principal de este segundo grupo de algoritmos es la independencia del idioma. En los dos algoritmos mencionados es necesario realizar la comparación de la cadena que se busca con cada elemento del acervo, según la medida de semejanza. Para el caso de la medida de unidades de edición, en cada comparación se requiere de programación dinámica para encontrar el costo de hacer coincidir dos cadenas. El factor mínimo de semejanza establecido determinará si hay o no semejanza entre los elementos comparados. ESTADO DEL ARTE 17 Para el caso del coeficiente de similitud basado en gramas1, en cada comparación es necesario contabilizar el número de gramas que tienen en común las cadenas y el resultado dependerá también del factor de semejanza establecido como mínimo. 2.1 INDEXACIÓN COMPLETA DEL TEXTO En un acervo legal, la información de las partes involucradas en un juicio entran en la categoría de “texto alimentado de forma libre”, por lo tanto, es posible aprovechar las características de indexado completo de texto para dar solución al problema planteado. La principal característica de los campos de texto en un modelo de datos es permitir que el usuario tenga la libertad de introducir información con políticas de validación, que van desde las más simples, que sólo impiden dejar entradas en blanco, hasta correctores ortográficos o sugerencias de autocompletado de textos que se repiten con frecuencia. Existen diversas técnicas empleadas por los motores de búsqueda para encontrar patrones en fuentes de información, desde técnicas tradicionales orientadas a colecciones estáticas, bien controladas, hasta las que soportan la fuente más grande de recursos publicados en Internet, no controlados y con una carga dinámica intensa. Los principios básicos detrás de los motores de búsqueda, de acuerdo con la clasificación que propone Langville [5], permiten conocer las características y, por tanto, la factibilidad para aplicar estos modelos a la solución del problema de localización de precedentes. En su artículo, agrupa los basados en el álgebra de Boole y los basados en vectores. 2.1.1 MOTORES DE BÚSQUEDA BASADOS EN ÁLGEBRA BOOLENA Entre los primeros y más simples modelos de búsqueda está el basado en el álgebra de Boole, especializado en consultas exactas a partir de las peticiones del usuario. Devuelve como documentos “relevantes” aquéllos que contienen las palabras proporcionadas en la formulación de la consulta. Ya sea con ayuda de un formulario de consulta o a través del reconocimiento de los operadores: AND, OR y NOT, es posible establecer peticiones del estilo: Juan AND Pérez AND Hernández, Luis AND (Jiménez OR Giménez). En el contexto del problema planteado, la solución más simple es proveer una caja de texto en la que el usuario ingrese su petición de forma natural, por ejemplo: “Juan Pérez Hernández” y que el sistema la traduzca a: Juan AND Pérez AND Hernández, sin esperar que el usuario la formule en términos del álgebra booleana. Para consultas más especializadas es recomendable proveer de expresiones fáciles de comprender con interfaces apropiadas para ingresar criterios más elaborados. Los problemas de localización de nombres abreviados se solventan si la herramienta cuenta con características apropiadas para el manejo de sinónimos, o bien, procesando anticipadamente la consulta del usuario y formulando la correspondiente petición: Juan AND Pérez AND (Hernández OR Hdz.), con ayuda de un diccionario que contenga las abreviaturas e hipocorísticos de nombres de personas. 1 Formalmente se denomina n-gramas y es el conjunto de las subcadenas de longitud n de una cadena dada. ESTADO DEL ARTE 18 El uso de acentos en el idioma español no representainconvenientes para la búsqueda, dado que generalmente se disponen de características para el empleo indistinto de vocales con acentos o sin ellos, aplicando las directivas adecuadas de cultura e idioma en la configuración del sistema de bases de datos. Así, la consulta: “Juan AND Perez AND Hernandez” se podrá ejecutar y mostrar los mismos documentos relevantes que si contuviera los acentos correspondientes. Sin embargo, este modelo arroja falsos positivos cuando los nombres de las partes se encuentran separadas por comas y no se destina un registro exclusivo para cada una de ellas. Una solución parcial, ofrecida por la mayoría de estas herramientas, es formular una petición del estilo: “Juan Pérez Hernández” OR “Juan Pérez Hdz.”, con lo que se logra mayor precisión en las respuestas, pero con el riesgo de omitir registros como: “Juan Pablo Pérez Hernández” (supuesto falso negativo). La escritura de nombres de personas no está sujeta a reglas ortográficas estrictas, por lo tanto, situaciones como “Xavier” en lugar de “Javier”, “Velasco” en lugar de “Velazco” escapan de la cobertura del resultado. Otro escenario en el que se presentan problemas es cuando en la fuente de información se intercambian letras por descuido; por ejemplo: Juan Pérez Henrández. Ocurre el mismo efecto si se omite una de las letras o si se encuentra una letra o signo adicional. Estos modelos no detectan este tipo de ambigüedades y las pasan por alto (falsos negativos). A pesar de las imprecisiones señaladas, estos métodos prevalecen como motores de búsqueda de propósito general por las siguientes razones: El sistema de bases de datos se encarga de la administración y control de las estructuras e índices para soportar la característica de indexado completo de texto. Permiten la recuperación de información de manera rápida. Sería impensable la aplicación de operadores LIKE, considerados como obsoletos para grandes volúmenes de información. Son métodos escalables y es posible aprovechar capacidades de procesamiento paralelo. El esfuerzo requerido para la implementación es de nivel medio y la complejidad se mantiene en la misma escala. Los problemas encontrados en el contexto del acervo legal, y por lo que no se considera una solución suficiente, son los siguientes: Tratándose de un entorno legal, en la mayoría de los expedientes se destinan registros individuales para cada una de las partes, pero existen escenarios en los que se agrupan según la personalidad en el juicio y se capturan varios nombres de personas en un mismo registro, separadas por comas. En la Figura 1 se observa que en 23% de los juicios las partes no se capturan en registros individuales. Esta situación representa un obstáculo para implementar el indexado de texto completo, pues a pesar de que estas herramientas ofrecen operadores NEAR, que procuran un factor de cercanía entre términos, no se logran erradicar los falsos positivos. La causa de estos falsos positivos es que las búsquedas arrojan registros como relevantes por la sencilla razón de que en él se encontraron todos los términos de la consulta sin la cercanía suficiente y sin la garantía de que los términos correspondan a la misma persona. Este fenómeno se presenta cuando se ESTADO DEL ARTE 19 interpone una coma o la conjunción y entre términos. La condición de cercanía provista por Fulltext está enfocada a párrafos y resulta insuficiente para propósitos de localización de nombres. En las pruebas realizadas sólo se obtuvo ligera mejoría en la organización de resultados respecto del factor de relevancia (Rank). Las características de inflexión de voces a partir de la raíz de las palabras no son aplicables para los nombres propios. En el acervo se encuentran errores provocados por descuidos al intercambiar letras, omitirlas, repetirlas y, algunas veces, por agregar otras. Por la propia naturaleza de los nombres propios, que no están sujetos a reglas ortográficas estrictas. Figura 1. Número de registros destinados a las partes 2.1.2 MOTORES DE BÚSQUEDA BASADOS EN VECTORES El modelo de recuperación de información basado en vectores fue desarrollado por Gerard Salton a principios de 1960. Éste transforma textos en vectores numéricos, dispuestos en matrices, y emplea técnicas de análisis matricial para identificar conexiones en la fuente de datos. El modelo asigna a cada documento (registro) valores entre 0 y 1, que representan el parecido con cada uno de los términos (nombres) del acervo en la consulta del usuario. El resultado de la consulta puede organizarse de acuerdo con la relevancia. Así, el documento que ocupe el primer sitio será calificado como el de mayor relevancia de acuerdo con la petición del usuario. El acervo del sistema de gestión de la Suprema Corte de Justicia de la Nación consta de más de 100 mil documentos (juicios) y un diccionario inicial de más de 40 mil términos (palabras), como resultado de la dispersión de los nombres de las partes. La dimensión de la matriz resultante, denominada término-por- documento (nombres-por-juicio) será del orden de 100 000 x 40 000. 77% 17% 5% 1% 0 20 000 40 000 60 000 80 000 100 000 120 000 140 000 160 000 180 000 200 000 1 2 3 4+ Ju ic io s Número de registros destinados a las partes ESTADO DEL ARTE 20 juicio1 juicio2 juicio3 … juiciom nombre1 0 0 1 … 0 nombre2 1 0 0 … 0 nombre3 0 1 0 … 0 … … … … … ... nombren 0 0 1 … 0 Donde los elementos (i, j) de la matriz tendrán el valor 1 si el i-ésimo nombre está contenido en el j-ésimo juicio, y 0 si no lo está. La primera columna de la matriz representa al primer juicio vector y así sucesivamente; n el número de nombres y m es el número de juicios. En esta representación vectorial escapa la frecuencia de aparición de términos por documento. Una variante que utiliza la frecuencia del i-ésimo término en el documento j-ésimo produce una matriz con elementos 0 <= a(i, j) <= fmax donde fmax es la frecuencia del término más recurrente del acervo. Otro esquema utilizado por los modelos vectoriales de búsqueda tiene en cuenta la participación (proporción) del término en el documento. Así cada vector Di de la matriz cumplirá la ecuación: Di = 1 𝑛 𝑖=1 Independientemente del esquema de ponderación, ahora el problema de búsqueda está en el terreno del álgebra lineal, pasando por la geometría euclidiana. Esta matriz representa los documentos del acervo. La consulta del usuario, siguiendo el mismo principio, estará representada por el vector Q de términos. Esencialmente el problema consiste en determinar el conjunto de vectores de la matriz A más cercanos al vector Q. Si modelamos gráficamente la instancia del problema para una matriz A con vectores de tres elementos, la solución al problema estará dada por todos aquellos vectores del acervo comprendidos dentro de un cono circular cuyo ápice está en (0, 0, 0). La cobertura del cono corresponde al factor de precisión que deberán cumplir los documentos para considerarse como relevantes para el resultado de la consulta. La solución matemática se basa en la obtención del coseno del ángulo entre el vector de la consulta q y los vectores de cada documento d. cos 𝜃 = 𝑑𝑇𝑞 𝑑 ∙ | 𝑞 | Donde d y q son los vectores del documento y de la consulta respectivamente, 𝑑 𝑦 𝑞 representan la longitud de los mismos. La longitud de un vector está determinada por: 𝑥 = 𝑥1 2 + 𝑥2 2 + ⋯ + 𝑥𝑛 2 ESTADO DEL ARTE 21 Cuando se obtiene el valor 1 para el coseno del ángulo, significa que el ángulo entre los vectores del documento y la consulta es de 0°; lo que en el terreno gráfico muestra que apuntan hacia la misma dirección. El valor 0 para el coseno del ángulo en el extremo opuesto significa que el documento no es relevante para la consulta. Por lo tanto, los vectores de interés para el modelo de búsqueda sonaquéllos cuya medida del coseno esté cercana a 1. El factor de cercanía estará determinado por la exactitud deseada en el conjunto de resultados. El elemento más importante a destacar del modelo de búsqueda basado en vectores es que se trata del sustento para los motores de búsqueda web. Los enfoques para obtener el conjunto de vectores cercanos a una consulta son diversos, y aunque se publican las cuestiones generales, los detalles se mantienen en reserva por las empresas con tanto éxito como Google, por lo que el problema se ha denominado como “el eigenvector de los 25 mil millones de dólares” [6]. Los modelos de indexado de texto completo están diseñados para soluciones de búsqueda de propósito general y en la mayoría la ponderación de la matriz está en función de técnicas para establecer la relevancia (Rank) de los documentos. El máximo acercamiento a la solución del problema de búsqueda de precedentes a través de los nombres de las partes, utilizando este tipo de herramientas, se logra a través de un tratamiento previo de la cadena de consulta con el que se buscan eliminar algunas situaciones problemáticas para este tipo de modelo, como las abreviaturas, sinónimos, noisy words e hipocorísticos. Las características lingüísticas, como revisión ortográfica e inflexiones, son de poca utilidad en el terreno de nombres, ya que no están sujetos a estas reglas gramaticales. 2.2 CODIFICACIÓN FONÉTICA El principio de los algoritmos de codificación fonética es una función para transformar un código que representa la fonética de las consonantes, después de suprimir las letras h e y. Semejante al código lingüístico abreviado que se ha popularizado en el intercambio de mensajes cortos de texto entre usuarios de telefonía celular e Internet. En este tipo de mensajes las consonantes juegan un papel preponderante. Si bien, de acuerdo con Gil Fernández las vocales tienen un tono o frecuencia fundamental más alto que las consonantes, constituyen el núcleo de las sílabas, y por tanto aportan un valor acústico superior. Sin embargo, son las consonantes las que tiñen de modo peculiar un dialecto o acento determinado [7]. En el estudio de Carmen Gálvez [8] de los sistemas de codificación fonética se destacan algunas dificultades sobre la naturaleza de estos métodos: Están construidos para la fonética de la lengua inglesa. No se consideran formas abreviadas. Están dirigidos a los elementos que forman los nombres personales y no tienen en cuenta las variantes por ordenación distinta de sus componentes. 2.2.1 ALGORITMO DE RUSSELL La patente del método Soundex obtenida por Robert C. Russell para indexar nombres a partir de su pronunciación, en lugar de la forma escrita, data del 2 de abril de 1918. El método original consiste en la ESTADO DEL ARTE 22 codificación de ocho grupos fonéticos con algunas reglas adicionales. Junto con Margaret K. Odell patentó en 1922 una variante que fue utilizada en 1930 por la Administración de Seguridad Social de Estados Unidos para extraer cierta información del censo e indexar sus registros. Más recientemente se ha empleado como apoyo en sistemas de inmigración, correctores ortográficos en procesadores de palabras y motores de búsqueda. Existe un gran número de variantes del modelo original cuyo propósito ha sido perfeccionar el algoritmo, equilibrando exactitud y completitud, así como agregar reglas de codificación específicas del idioma inglés. El método consiste en generar un código de cuatro caracteres (una letra y tres dígitos) que representan la pronunciación del nombre. De esta manera, los nombres que se pronuncian de forma semejante, aunque se escriban de distinta manera, ya sea por descuido o deliberadamente, comparten el mismo código. Algoritmo 1. Mantiene la primera letra y elimina cualquiera de las ocurrencias de {a, e, i, o, u, h, w, y} en las demás posiciones. 2. A partir de la segunda posición remplaza consonantes por dígitos según la Tabla 4: Código Grafía Grupo 1 b, f, p, v Labiales y labiodentales 2 c, g, j, k, q, s, x, z Guturales (g, j, k, q, a veces x) y sibilantes (c, s, z, a veces x) 3 d, t Dentales 4 l Lateral 5 m, n Nasales 6 r Dental-fricativa Tabla 4. Codificación Soundex 3. Si dos o más letras adyacentes del nombre original (antes del paso 1) resultan con el mismo código, mantiene sólo el código de la primera. 4. Completar cuatro posiciones agregando ceros para obtener la forma {letra, dígito, dígito, dígito}. Aplicando el algoritmo de Russell para algunos de los nombres más comunes en el corpus obtenemos el código J200 para JOSÉ y JOSUÉ. También se superan varios errores de escritura por descuido, como letras dobles o intercambiadas. Sin embargo, también aparecen situaciones como MARÍA, MURRAY, MORA y MIREYA con el mismo código M600 con diferencias muy notorias. En la Tabla 5 se listan los nombres más populares del corpus y términos con el mismo código. ESTADO DEL ARTE 23 Nombre Soundex Otros nombres con el mismo código JOSÉ J200 JUEZ, JOSUÉ, JASSO, JUIC, JACK, JOYCE, JAGUEY, JAIK, JASQUI, JESSIE. HERNÁNDEZ H655 HERMANOS, HERNÁN, HERMENEGILDO, HERMINIO, HERMINIA, HERNANDO, HERMANN, HERMAN, HERMENEGILDA, HARMON, HERMANA, HERMINO. MARÍA M600 MARIO, MORA, MIER, MAURO, MAYOR, MIREYA, MAR, MAYRA, MURRA, MURO, MERY, MARY, MAURA, MARIE, MOORE, MORO, MAYER, MEYER, MURRAY. GONZÁLEZ G524 GONZALO, GONZALES, GONZÁLAEZ, GONZALVO, GUAMÚCHIL, GONZÁLESZ, GONZALEÑA, GENZLING, GENGIL, GONZALA, GONZÁELZ, GONCALVEZ. MARTÍNEZ M635 MARTÍN, MARÍTIMA, MARTINA, MARTINIANO, MARTENS, MARÍTIMOS, MARTINI, MARTINO, MARTINES, MARITANO, MARDONIO, MORTON, MARATON, MARTINICA, MARTIÍNEZ. SÁNCHEZ S522 SANGOCHIAN, SANCHIS, SUANCES, SUNOZAKI, SANGIACOMO. JUAN J500 JAIME, JUANA, JOHN, JEAN, JENNY, JOANNE, JAN, JIMMY, JOHAN, JAUME, JENA, JAME, JAEN, JOAN, JOANNA, JEANNE, JON, JUNE, JANE. PÉREZ P620 PORRAS, PRIEGO, PARQUE, PARAÍSO, PERAZA, PORCAYO, PRESA, PARGA, PARÍS, PÁRRAGA, PARK, PERRUSQUIA, PREZA, PARAS, PARRAS, PRICE, PAREJA. JIMÉNEZ J552 JIMÉNEZ, JIMENES, JIMÉMEZ, JINÉNEZ. PADILLA P340 PITOL, PITALUA, PADILLO, PITOLL, PADILLLA. Tabla 5. Codificación Soundex de nombres populares Es necesario realizar adecuaciones a las reglas de codificación fonética para que respondan a la estructura del idioma español. Además, por la influencia que tiene el náhuatl en los nombres de nuestra cultura, es conveniente considerar sus fonemas para afinar la exactitud del algoritmo. 2.2.2 PROPUESTA DE CODIFICACIÓN FONÉTICA PARA EL IDIOMA ESPAÑOL DE MÉXICO Iniciaré por la estructura fonética del español que en el estudio de Gil Fernández J. [7] se sintetiza en la Tabla 6. Consonante Bilabial Labiodental Dental Interdental Alveolar Palatal Velar Sorda Sonora Sorda Sonora Sorda Sonora Sorda Sonora Sorda Sonora Sorda Sonora Sorda Sonora Oclusiva p b t d k g Fricativa f s J x Africada ʧ Nasal m n Ր Lateral l Vibrante Ր/r Tabla 6. Fonética del español Para cada uno de los fonemas del español, la Tabla 7 contiene ejemplos de nombres y apellidos que integran el corpus. ESTADO DEL ARTE 24 Fonema Grafía / p / p como en Pedro o Pérez. / b / b como en Pablo; v como en Nava. / m / m como en Emiliano o Méndez. / f / f como en Felipe o Flores. / / z como en Zapata; c como en Celia. / t / t como en Teresa o Torres. / d / d como en Dalia o Flandes. / s / s como en Sergio o Sánchez. / n / n como en Ana o Miranda. / l / l como en Elena o González. / r / r como en Enrique, Ríos o Torres. / Ր / r como en Graciela o Hernández. / ʧ / ch como en Chávez o Sánchez. / J / J como en Soraya. / ր / ñ como en Ocaña. / / ll como en Guillermo o Jaramillo. / k / k como en Quezada, Quiroz; c como en Castillo; k como en Karla. / g / g como en Ángeles; gu como en Guillermina o Guelatao. / x / j como en Jiménez;
Compartir