Difference between revisions of "Búsqueda libre sobre archivos TXT"

From ABCD Wiki
Jump to: navigation, search
Line 33: Line 33:
 
| Métrica || Despliega la frecuencia de cada palabra utilizada en el documento. Si se hace clic en cualquiera de ellas se presenta la localización de esa palabra en todo el documento  
 
| Métrica || Despliega la frecuencia de cada palabra utilizada en el documento. Si se hace clic en cualquiera de ellas se presenta la localización de esa palabra en todo el documento  
 
|-
 
|-
| Nueva búsqueda || Seleccione un texto en los resultados presentados y con el botón derecho utilice la selección para definir una nueva búsqueda en el repositorio de documentos  
+
| Página xx || Con cada párrafo presentado se muestra el número de la página donde fue localizado.  Al dar clic sobre el vínculo se abre una ventana que presenta la página completa y permite navegar a través de las páginas del documento.
 +
|-
 +
| Nueva búsqueda || Seleccione un texto en los resultados presentados y utilice la selección para definir una nueva búsqueda en el repositorio de documentos  
 
|}
 
|}
 
|-
 
|-
Line 45: Line 47:
 
|}
 
|}
  
 +
== Base de datos para optimizar la localización de documentos ==
  
== Extraer el texto de los documentos PDF o Word ==
+
A fin de optimizar el tiempo de respuesta se define un base de datos BIGISIS con dos campos:
 +
# Nombre del archivo txt
 +
# Directorio donde se encuentra almacenado
  
El documento PDF es procesado y se crea un archivo .txt contentivo de la versión ANSI de dicho documento.  Aún cuando se podría realizar la extracción de texto en el mismo proceso de búsqueda, este paso previo se justifica por cuanto incrementa la velocidad de respuesta al momento de la búsqueda libre. El resultado final será una carpeta con los archivos .txt obtenidos.
+
El objetivo de esta base de datos es crear un archivo invertido con todas las palabras extraidas desde los archivos TXT, utilizando el siguiente formato en la Fst:
  
 +
    100 8 MPU, '/TW_/' s(cat('/abcd/www/htdocs/pdf2text/'v20,v10))
  
== Búsqueda Libre ==
+
De esta forma no es necesario cargar los txt en la base de datos.
  
Este proceso trabaja sobre los archivos .txt obtenidos en el paso anterior. Para su ejecución solicita hasta 2 palabras a ser localizadas y la separación que debe existir entre ellas, la cual se expresa en el número máximo de espacios que deben figurar entre las palabras requeridas. Por ejemplo, si la separación es 1 las palabras deben estar contiguas (separadas por un espacio) ... y así sucesivamente.
+
Cuando el usuario suministra los términos de búsqueda, se construye una expresion concatenando las palabras con el operador '''and'''. El resultado de la búsqueda proporciona una lista con los nombres de los documentos que requieren ser procesados para determinar la proximidad de los términos solicitados. En este particular el tiempo de respuesta sería muy eficiente si se pudiera implementar una búsqueda proximidad en lugar de un '''and'''. Se ha intentado recuperar los postings para determinar la proximidad de los terminos usando un script .php pero el tiempo de recuperación de todos los postings de un términos a efectos del análisis de proximidad no ha podido ser optimizado todavía.
  
Dado que la localización es por proximidad no importa el orden como figuren las palabras en la frase. Además la búsqueda es transparente al uso de acentos, mayúsculas o minúsculas.
+
En lugar de este archivo tambíén pudiera utilizarse directamente un base de datos bibliográfica siempre y cuando la versión de isis utilizada permita generar muchos postings y procesar adecuadamente la sentencia '''CAT'''.  Por ejemplo, nos hemos encontrado con que algunas versiones no aplican las tablas isisuc.tab e isisac.tab sobre el resultado del '''CAT''' con el consiguiente problema con los diacríticos y el stw. Esta también fue una de las razones por la cual se seleccionó el BIGISIS.
  
El resultado de la búsqueda libre presenta los párrafos donde se localizaron los términos solicitados, indicando el número de página dentro del documento PDF donde se ubica el párrafo. Se provee además un enlace al PDF localizado.
+
Se puede proveer un editor TXT para realizar correcciones sobre estos archivos. Los TXT pueden cargarse a través de script que analiza una carpeta y crea los registros en la base de datos correspondiente.  También puede utilizarse una base de datos ABCD con documentos  vinculados. En este caso existe un proceso que lee los documentos vinculados (Pdf o Word) y los convierte a archivos TXT. Esta previsto incorporar al módulo de catalogación de ABCD los enlaces necesarios para la conversión y tratamiento de los documentos vinculados a estos efectos.
  
Al final de la página se provee un resumen donde figura: el total de documentos procesados, total de documentos localizados, tiempo de ejecución
 
  
    Leidos: 3812 documentos
+
== Búsqueda Libre ==
    Localizados: 278
 
    Tiempo de ejecución: 20.839427947998 segundos
 
  
 +
Dado que la localización es por proximidad no importa el orden como figuren las palabras en la frase. Además la búsqueda es transparente al uso de acentos, mayúsculas o minúsculas.
  
== Estructura de la demostración ==
+
Los documentos resultantes de la búsqueda descrita en el paso anterior son procesados para filtrar solo aquellos que cumplan con el criterio de proximidad de los términos y a éstos de les calcula la frecuencia de los términos solicitados para determinar la relevancia del documento.
 
 
Para esta demostración se creó una carpeta con 9 subcarpetas contentivas de
 
 
 
      Carpeta    No. de archivos
 
        1            376
 
        2            472
 
        3            49
 
        4            528
 
        5            508
 
        6            378
 
        7            498
 
        8            528
 
        9            475
 
 
 
Lo que da un total de 3.412 documentos.
 
 
 
 
 
Si los documentos están divididos en carpetas se puede localizar incluir en la busqueda una o más carpetas.  También podría hacerse la búsqueda sobre documentos resultantes de una consulta sobre un base de datos.
 
 
 
== Ejemplos ==
 
 
 
Localizar todos documentos con los terminos '''democracia participativa''' adyacentes
 
  http://abcdwiki.net/ABCD/pdf2text/search_pdf.php?Expresion_1=democracia&Expresion_2=participativa&dir=1,2,3,4,5,6,7,8,9&separacion=1
 
 
 
Localizar documentos donde figuran los términos '''municipal''' e '''información''' con una semaración máxima de 5 palabras
 
  http://abcdwiki.net/ABCD/pdf2text/search_pdf.php?Expresion_1=municipal&Expresion_2=informacion&dir=1,2,3,4,5,6,7,8,9&separacion=5
 
 
 
Localizar los documentos donde se hace referencia al autor  ''' Narbondo''' limitando la búsqueda a las carpetas 4, 5 y 6
 
  http://abcdwiki.net/ABCD/pdf2text/search_pdf.php?Expresion_1=Narbondo&dir=4,5,6&separacion=1
 
 
 
Localizar los documentos donde figure la empresa "colombia telecomunicaciones" en las carpetas 2,3 y 7
 
  http://abcdwiki.net/ABCD/pdf2text/search_pdf.php?Expresion_1=colombia&Expresion_2=telecomunicaciones&dir=3,6,7&separacion=1
 
 
 
== Por hacer ==
 
 
 
# Aumentar el número de términos que puedan suministrarse para la búsqueda libre. En este momento el máximo es dos
 
# Ligar la búsqueda a documentos obtenidos como resultado de una consulta
 
# Ampliar la tabla de diacríticos para otros idiomas (internacionalización)
 
  
... y otras opciones que puedan ser agregadas por sugerencia de los usuarios.
+
Los resultados se presentan ordenados en orden decreciente de relevancia. La página de resultados contiene los elementos ya descritos al inicio de este documento.

Revision as of 14:25, 24 April 2019

Tiene como finalidad realizar una búsqueda libre sobre archivos TXT generados a partir de conversión de documentos PDF o Word a un formato plano. Igualmente pueden utilizarse archivos de audio procesados por un traductor de Mp3 a Txt. En el caso de documentos PDF o Word se provee un convertidor para generar los equivalente TXT de estos documentos.

Los archivos TXT se mantiene en una o varias carpetas y desde ahí son procesados para aplicar una búsqueda por proximidad de los términos solicitados. Los resultados se presentan ordenados por relevancia, aplicando las fórmulas y criterios establecidos en http://www.tfidf.com/

Ejemplo de salida: http://abcdwiki.net/ABCD/pdf2text/search_pdf_ifp.php?Expresion=democracia+participativa&separacion=1&ifp=ifp

En este ejemplo se solicitó ubicar los términos democracia participativa en una estructura consistente de 8 carpetas con un total de 3386 archivos TXT. La página de resultados contiene los siguientes elementos:

Buscar Recuadro donde se incluyen los terminos que se desea localizar
Explorar términos Provee acceso al diccionario de términos de una base de datos asociada a los documentos
Explorar palabras Presenta la lista de palabras que han sido extraídas de los archivos txt
Separación mínima Indica cuantas palabras de separación (proximidad) debe existir entre los términos solicitados
Leídos Número total de archivos TXT existente
Localizados Número de archivos que tienen los términos solicitados con la proximidad requerida
Tiempo de ejecución Tiempo invertido en la búsqueda
Frecuencia de los términos Para cada término solicitado indica el número de veces que aparece el mismo en todos los archivos del repositorio TXT. Esta frecuencia es utilizada posteriormente para evaluar la relevancia del documento respecto a la búsqueda (ver http://www.tfidf.com/)
Resultados ordenados por relevancia Se leen todos los documentos para determinar la frecuencia de los términos solicitados en todo el repositorio. Luego se procesa cada documento que contenga los términos, se obtiene de palabras del documento, la frecuencia de las requeridos y con esa información se calcula la relevancia. Los documentos seleccionados se clasifican en orden descendiente de relevancia y se presentan al usuario
Opciones para navegar en los documentos
Ver PDF Abre una ventana con el visor PDF
Métrica Despliega la frecuencia de cada palabra utilizada en el documento. Si se hace clic en cualquiera de ellas se presenta la localización de esa palabra en todo el documento
Página xx Con cada párrafo presentado se muestra el número de la página donde fue localizado. Al dar clic sobre el vínculo se abre una ventana que presenta la página completa y permite navegar a través de las páginas del documento.
Nueva búsqueda Seleccione un texto en los resultados presentados y utilice la selección para definir una nueva búsqueda en el repositorio de documentos
Ejemplo Ejemplo
Ejemplo Ejemplo
Ejemplo Ejemplo
Ejemplo Ejemplo,

Base de datos para optimizar la localización de documentos

A fin de optimizar el tiempo de respuesta se define un base de datos BIGISIS con dos campos:

  1. Nombre del archivo txt
  2. Directorio donde se encuentra almacenado

El objetivo de esta base de datos es crear un archivo invertido con todas las palabras extraidas desde los archivos TXT, utilizando el siguiente formato en la Fst:

    100 8 MPU, '/TW_/' s(cat('/abcd/www/htdocs/pdf2text/'v20,v10))

De esta forma no es necesario cargar los txt en la base de datos.

Cuando el usuario suministra los términos de búsqueda, se construye una expresion concatenando las palabras con el operador and. El resultado de la búsqueda proporciona una lista con los nombres de los documentos que requieren ser procesados para determinar la proximidad de los términos solicitados. En este particular el tiempo de respuesta sería muy eficiente si se pudiera implementar una búsqueda proximidad en lugar de un and. Se ha intentado recuperar los postings para determinar la proximidad de los terminos usando un script .php pero el tiempo de recuperación de todos los postings de un términos a efectos del análisis de proximidad no ha podido ser optimizado todavía.

En lugar de este archivo tambíén pudiera utilizarse directamente un base de datos bibliográfica siempre y cuando la versión de isis utilizada permita generar muchos postings y procesar adecuadamente la sentencia CAT. Por ejemplo, nos hemos encontrado con que algunas versiones no aplican las tablas isisuc.tab e isisac.tab sobre el resultado del CAT con el consiguiente problema con los diacríticos y el stw. Esta también fue una de las razones por la cual se seleccionó el BIGISIS.

Se puede proveer un editor TXT para realizar correcciones sobre estos archivos. Los TXT pueden cargarse a través de script que analiza una carpeta y crea los registros en la base de datos correspondiente. También puede utilizarse una base de datos ABCD con documentos vinculados. En este caso existe un proceso que lee los documentos vinculados (Pdf o Word) y los convierte a archivos TXT. Esta previsto incorporar al módulo de catalogación de ABCD los enlaces necesarios para la conversión y tratamiento de los documentos vinculados a estos efectos.


Búsqueda Libre

Dado que la localización es por proximidad no importa el orden como figuren las palabras en la frase. Además la búsqueda es transparente al uso de acentos, mayúsculas o minúsculas.

Los documentos resultantes de la búsqueda descrita en el paso anterior son procesados para filtrar solo aquellos que cumplan con el criterio de proximidad de los términos y a éstos de les calcula la frecuencia de los términos solicitados para determinar la relevancia del documento.

Los resultados se presentan ordenados en orden decreciente de relevancia. La página de resultados contiene los elementos ya descritos al inicio de este documento.