anexo c fichero de configuración y estructura de directorios

Transcripción

anexo c fichero de configuración y estructura de directorios
Anexo C
ANEXO C
FICHERO DE CONFIGURACIÓN Y
ESTRUCTURA DE DIRECTORIOS
Este Anexo describe el fichero de configuración y la estructura de directorios de
entrada y salida que utiliza el programa para la lectura y escritura de datos y resultados.
C.1 FICHERO DE CONFIGURACIÓN
Es el fichero donde se especifica al programa cuáles son los directorios de entrada
y salida de datos, así como el valor de aquellas variables que el usuario puede elegir
libremente. Cuando se ejecuta el programa, la primera tarea que realiza es la lectura del
fichero de configuración. El nombre de dicho fichero suele coincidir con el del
programa y lleva la extensión .ini. Así, en nuestro caso, el programa se llama inventa2
y el fichero de configuración inventa2.ini.
El contenido de este fichero es el siguiente:
C.1.1 DIRECTORIOS
•
directorioLec. Directorio de lectura del texto de entrada
•
directorioDep. Directorio donde se escriben los ficheros de depuración y el fichero
de resultados antes de aplicar las reglas.
•
directorioDicc. Directorio que contiene los diccionarios que utiliza el programa.
C-1
Anexo C
•
directorioOut. Directorio donde se escriben los diccionarios tras la ejecución del
programa.
•
directorioDiccDep . Directorio que contiene los diccionarios Dinámicos que se van
generando cada cierto número de textos procesados, número que se especifica a
través de la variable crea_diccDep.
•
directorioTexto. Directorio donde se escribe el texto procesado; hay varias
posibilidades en función del valor de la variable saca_texto.
•
directorioReglas. Directorio donde se escriben las frases del texto antes y después
de aplicar una regla, los errores cometidos al aplicar las reglas y el fichero de
resultados sobre el número de reglas aplicadas, el error cometidos al aplicar cada
una de ellas y el número medio de categorías por palabra antes y después de aplicar
las reglas.
C.1.2 VARIABLES
•
•
formatoELMUNDO. Indica el formato del texto de entrada:
0
=> texto con el formato palabra-categoría.
1
=> artículos con el formato del periódico El Mundo.
textoOEM. Indica si el texto está escrito en formato Dos o en formato Windows:
0
=> formato Windows (Ansi).
1
=> formato Dos (Oem).
•
max_cont_artic. Número de artículos que se desea procesar.
•
tamano_dicc. Número máximo de palabras del diccionario Dinámico.
•
saca_palabra. Indica si se desea sacar por pantalla la frase que se está procesando
en cada momento.
•
salta_mayusc. Indica si para comenzar a procesar el texto debe comprobarse que la
primera letra empiece por mayúscula seguida por letra minúscula o no.
1
=> el texto comienza cuando se encuentra una palabra que comienza por
mayúscula y va seguida por letra minúscula o por un espacio en
blanco (en el caso de los monosílabos).
0
=> se procesa la primera palabra del texto independientemente de que
empiece o no por letra mayúscula.
C-2
Anexo C
•
aumentaFrec. Se utiliza para indicar si se desea aumentar la frecuencia cada vez que
se encuentra una palabra en uno de los diccionarios. De esta manera se puede llevar
una contabilidad del número de palabras encontradas en un diccionario y del número
de veces que aparece dicha palabra en el texto procesado. Puede tomar los siguientes
valores (todos ellos son potencias de 2):
0
=>
no se incrementa la frecuencia en ningún diccionario.
1
=>
se incrementa el Drae.
2
=>
860.
4
=>
diccionarios de nombres propios.
8
=>
diccionariosFuncion.
16
=>
diccionariosAuxiliares.
32
=>
diccionarios de verbos.
64
=>
diccionarios de locuciones.
128
=>
Dinámico.
256
=>
Siglas.
512
=>
diccionarios extranjeros.
1023 =>
•
se incrementa la frecuencia en todos los diccionarios.
crea_diccDinamico. Sirve para especificar si se desea o no crear el diccionario
Dinámico asociado al texto procesado.
•
buscaenDic. Especifica en qué diccionarios de los que carga el programa se desea
buscar. Puede tomar los siguientes valores (todos ellos potencias de 2):
0
=>
no se busca en ningún diccionario.
1
=>
busca en Drae.
2
=>
busca en 860.
4
=>
busca en los diccionarios de nombres propios.
8
=>
busca en diccionariosFuncion.
16
=>
busca en diccionarioAuxiliares.
32
=>
busca en los diccionarios de verbos.
64
=>
busca en el diccionario Dinámico.
128
=>
busca en los diccionarios extranjeros.
255
=>
busca en todos los diccionarios cargados.
C-3
Anexo C
•
crea_diccDep. Indica cada cuántos textos procesados se escribe el diccionario
Dinámico generado hasta ese momento. De esta manera se puede saber el número de
textos procesados y el número que quedan para la finalización del programa.
•
partir_de_cero. Esta variable indica si se cargan los diccionarios originales, sin
información del frecuencia (los almacenados en el directorio diccBase) u otros
diccionarios que ya contienen información de frecuencia (obtenidos en procesos
anteriores).
•
•
aplica_reglas. Especifica qué reglas se desea aplicar:
0
=>
no se aplican reglas.
1
=>
reglas_0.
2
=>
reglas_1_1.
3
=>
reglas_1_2.
4
=>
reglas_2_1.
5
=>
reglas_2_2.
6
=>
reglas_3.
7
=>
reglas_crater.
saca_texto. Esta variable indica el tipo de texto que se desea escribir en el directorio
de salida directorioReglas. Puede tomar los siguientes valores:
0
=>
no se escribe ningún texto.
1
=>
escribe el texto antes de la segmentación en frases.
2
=>
escribe el texto después de la segmentación en frases.
3
=>
escribe el texto categorizado antes de aplicar las reglas .
4
=>
escribe el texto categorizado después de aplicar las reglas.
5
=>
escribe el texto antes, después de la segmentación y categorizado
antes de aplicar las reglas.
6
•
=>
escribe el texto antes y después de aplicar las reglas.
umbralMin. Número mínimo de caracteres que debe tener una palabra para que se le
apliquen las reglas.
•
umbralMax. Número máximo de caracteres que puede tener una palabra para que se
le apliquen las reglas.
•
reglas_aMayusculas. Indica si se deben aplicar las reglas a las palabras que
comienzan por letra mayúscula o no.
C-4
Anexo C
C.2 ESTRUCTURA DE DIRECTORIOS
Todos los directorios que utiliza el programa parten de un directorio raíz, el
directorio src. Podemos distinguir dos tipos de directorios: directorios de entrada
(directorios de lectura de datos) y directorios de salida (directorios de escritura de
resultados).
•
dicctena. Directorio donde se encuentra el programa, el fichero de configuración y
todos los ficheros que utiliza el programa (.c, .cpp, .h, .hpp ). Este directorio tiene
tres subdirectorios:
-
diccBase. Directorio de entrada donde se encuentran los diccionarios
originales (sin información de frecuencia).
-
diccionario. Directorio de salida en el que se escriben los diccionarios (con
información de frecuencia).
-
diccDep. Directorio de salida donde se escribe el diccionario Dinámico cada
vez que se procesa cierto número de textos, número indicado por la variable
crea_diccDep.
•
periodico. Directorio donde se encuentran los textos del periódico El Mundo.
•
textos860. Directorio donde se encuentran los Textos 860 (Corpus1 a Corpus7 y
Eval)
•
depura. Directorio donde se escriben todos los ficheros de depuración: comienzo y
finales de frase, unidades especiales (abreviaturas. siglas, propios, números, etc.),
verbos, enclíticos, locuciones y el fichero de resultados: número de artículos, frases
y palabras procesadas, tamaño del diccionario Dinámico, número de verbos,
enclíticos, número total de unidades especiales y número de cada una de ellas,
palabras categorizadas, número medio de categorías por palabra, fecha y hora de
comienzo y finalización del programa y tiempo de ejecución.
•
texto. Directorio donde se escribe el texto antes y después de la segmentación en
frases, el texto categorizado por diccionario y/o el texto categorizado tras aplicar las
reglas.
•
comparaCateg. Directorio de salida que contiene el texto con la categorización
realizada por el programa y la categorización manual, de esta forma se puede hacer
la evaluación del categorizador, y el fichero de resultados de la evaluación: número
C-5
Anexo C
de palabras que tienen la categoría correcta en la lista de posibles categorías, número
de errores y Recall.
•
categ2. Directorio que contiene el ejecutable para generar los ficheros .c, .cpp, .h y
.hpp asociados a las reglas y todos los ficheros necesarios para la aplicación de las
mismas. Tiene dos subdirectorios:
-
copy. Directorios con las reglas originales (ficheros .dat). A partir de estas
reglas se generan los ficheros de reglas que maneja el programa (.c, .cpp, .h y
.hpp).
-
reglas. Directorio de salida en el que se escribe el fichero con las frases antes
y después de aplicar las reglas, los errores cometidos por las reglas y el
fichero de resultados con el número total de reglas aplicadas, el error
cometido al aplicar cada una de las reglas, el error total y el número medio
de categorías por palabra antes y después de aplicar las reglas.
•
prog_per. Directorio donde se encuentran la mayoría de programas en Perl.
C.3 PROGRAMAS EN PERL Y FICHEROS *.BAT
Los principales programas escritos en Perl se encuentran en el directorio
prog_per. También forma parte de este directorio los ficheros *.bat que agrupan un
conjunto de porgramas *.per con una funcionalidad concreta.
C.3.1 PROGRAMAS EN PERL
•
Camb_la, Camb_le, Camb_lo. Se utilizan para la correción de la/s, le, lo/s en
aquellas frases de los Textos 860 donde aparecen categorizados como pronombres
personales y sin embargo funcionan como artículos determinados.
•
Camb_Loc. Sirve para agrupar aquellas locuciones que en los Textos 860 han sido
categorizadas de forma independiente.
•
Corrige. Su objetivo es corregir errores concretos encontrados en los Textos 860
(formas verbales, género y número de sustantivos y adjetivos, categorización de
siglas (N10 -> M04) y números romanos (M01 -> M02), etc.).
•
Detecta. Agrupa combinaciones de letras, número y guiones que aparecen separados
en los Textos 860.
C-6
Anexo C
•
Mayusc. Escribe en mayúscula la primera letra de los nombres propios que en los
Textos 860 figuran en minúscula.
•
Porfrase. Pasa de formato columna a formato línea una frase. La condición es que
debe acabar en punto.
•
Invierte. Pasa de formato línea a formato columna una frase. Es la función
complementaria a la anterior.
•
Romanos. Escribe en mayúsculas los números romanos que aparezcan en
minúsculas.
•
Sinunder. Separa las palabras del texto que aparezcan unidas con guiones y
convierte el texto en formato Oem (7 bits con tildes) en formato Ansi (8 bits con
vocales acentuadas).
•
Text860. Pone a un texto la cabecera de los artículos de El Mundo.
•
Comp_pal. Comprueba si la salida del programa y el correspondiente Texto 860
están alineados.
•
Compara. Sirve para comparar la salida del categorizador con la categorización
manual de los Textos860, creando un fichero de salida, Comparados.dep, con el
formato:
palabra categoría manual
&&&&
categorías asignadas por el categorizador
•
Traduce. Convierte un texto escrito en formato Oem a formato Ansi.
•
Migrep. Busca la palabra deseada en un texto y saca el contexto en el que aparece (4
líneas anteriores y 4 líneas posteriores).
•
Div_rand. Divide aleatoriamente en dos un texto.
•
Comp_860. Comprueba si la categoría correcta se encuentra entre la lista de posibles
categorías asociadas a una palabra. En caso afirmativo escribe la palabra y OK y en
caso negativo escribe la palabra y KO.
•
Sacaprec. Calcula la precisión del texto categorizado.
•
Crater2us. Traduce las reglas Crater a nuestro formato.
•
Trd_cat. Traduce los ficheros de reglas al nuevo formato que emplea el programa.
C-7
Anexo C
Todos los programas anteriores, a excepción de com_860.per, sacaprec.per y los
dos últimos, se encuentran en el directorio prog_per. Comp_860.per y sacaprec.per
están
en
el
directorio
comparacateg,
Craterus.per
en
el
directorio
categ2\copy\reglas_crater y trd_cat.per en categ2\copy.
C.3.2 FICHEROS *.BAT
Son ficheros que cumplen una funcionalidad concreta y están formados por un
conjunto de programas en Perl.
•
Corrige. Convierte los Textos 860 en formato APS (originales) a los formatos CRG
(corregidos) y FTO (con cabecera tipo El Mundo). Se ejecuta en el directorio
textos860/origin.
•
Corrige2. Sirve para pasar del formato CRG al formato FTO. Se ejecuta en el
directorio textos860/origin.
•
Corriget. A partir de los textos en formato APS (corpus1 a corpus7, eval , cee, eec
y textspa) genera los CRG y los FTO. Se ejecuta en el directorio textos860/origin.
•
Compara. Sirve para comprobar que la salida del programa y los Textos 860 están
alineados, en cuanto a palabras. Genera dos ficheros de salida: CompPal.dep y
Comparados.dep. Este último tiene la estructura descrita en el apartado C.3.1. Se
ejecuta en el directorio textos860.
•
Comp860. Compara la salida del categorizador con la categoría manual y calcula el
Recall y la Precisión. Se ejecuta en el directorio comparacateg/nombre del corpus.
•
Crater2us. Escribe las reglas Crater en el formato que utiliza el programa.
Todos los ficheros *.bat se encuentran en el directorio prog_per a excepción de
comp860.bat, que está en el directorio comparacateg y Crater2us.bat que está en
categ2\copy\reglas_crater.
C-8

Documentos relacionados