ES2320511B1 - Nuevo metodo para determinar la representatividad de un corpus. - Google Patents
Nuevo metodo para determinar la representatividad de un corpus. Download PDFInfo
- Publication number
- ES2320511B1 ES2320511B1 ES200603157A ES200603157A ES2320511B1 ES 2320511 B1 ES2320511 B1 ES 2320511B1 ES 200603157 A ES200603157 A ES 200603157A ES 200603157 A ES200603157 A ES 200603157A ES 2320511 B1 ES2320511 B1 ES 2320511B1
- Authority
- ES
- Spain
- Prior art keywords
- corpus
- class
- representativeness
- analysis
- words
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G06F17/2715—
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
Nuevo método para determinar la
representatividad de un corpus.
La presente invención supone una solución eficaz
para determinar a posteriori el tamaño mínimo de un corpus o
colección textual, independientemente de la lengua o tipo textual
de dicha colección, estableciendo, por tanto, el umbral mínimo de
representatividad a través de un algoritmo (N-Cor)
de análisis de la densidad léxica en función del aumento incremental
del corpus. A partir de esta premisa se ha llegado a una propuesta
de implementación en ordenador que se ha concretado en una
aplicación desarrollada en Java, y que hemos denominado ReCor.
Dicho sistema posee las siguientes clases principales: a) Palabras
(algoritmo de cómputo, lectura y escritura a archivo); b) Gui
(interfaz de usuario); y c) Ventana Gráfica (adaptador para la
representación gráfica).
Description
\global\parskip0.900000\baselineskip
Nuevo método para determinar la
representatividad de un corpus.
La presente invención se refiere a un método de
procesamiento de datos implementado en ordenador, particularmente
datos e información lingüística.
Estado de la técnica La cuestión de la
representatividad sigue siendo hoy día uno de los aspectos más
controvertidos de la lingüística del corpus. En el caso de los
corpus especializados, los cuales suelen tener un tamaño mucho más
reducido que los denominados "corpus generales" o "de
referencia", la cuestión de la representatividad es realmente
clave, es más, es una de sus características definitorias.
Dejando a un lado que la representatividad de un
corpus depende, en primer lugar, de haber aplicado los criterios de
diseño externos e internos adecuados, en la práctica la
cuantificación del tamaño mínimo que debe tener un corpus
especializado aún no se ha abordado de forma objetiva. Y es que no
hay consenso sobre cuál sea el número mínimo de documentos o
palabras que debe tener un determinado corpus para que sea
considerado válido y representativo de la población que se desea
representar. Las cifras varían de forma espectacular de unos autores
a otros. Así, si para Biber (1995. Dimensions of Register
Variation: A cross-linguistic comparison.
Cambridge University Press), 1000 palabras y 10 documentos son
suficientes para asegurar la representatividad de un corpus
especializado; según Friedblicher y Friedblicher (2000. The
Argument for Using English Specialized Corpora to Understand
Academic and Professional Language. Discourse in the
Professions: Perspectives From Corpus Linguistics. John Benjamins),
el tamaño oscila entre 500.000 y 5.000.000 palabras; mientras que
McEnery y Wilson (2006 [2000]. ICT4LT Module 3.4. Corpus
Linguistics.
<http://www.ict4lt.org/en/en_mod3-4.htm>
[09/11/2006]) sitúan el límite en 1.000.000 palabras. Pero todas
estas cifras no resuelven el problema de calcular la
representatividad de un corpus, dado que son cifras establecidas
a priori, carentes de fundamento objetivo, medible y
cuantificable.
La presente invención supone una solución eficaz
para determinar a posteriori el tamaño mínimo de un corpus o
colección textual, independientemente de la lengua o tipo textual de
dicha colección, estableciendo, por tanto, el umbral mínimo de
representatividad a través de un algoritmo (N-Cor)
de análisis de la densidad léxica en función del aumento incremental
del corpus.
A partir de esta premisa se ha llegado a una
propuesta de implementación en ordenador que se ha concretado en
una aplicación desarrollada en Java, y que hemos denominado ReCor.
Dicho sistema posee las siguientes clases principales: a) Palabras
(algoritmo de cómputo, lectura y escritura a archivo); b) Gui
(interfaz de usuario); y c) VentanaGrafica (adaptador para la
representación gráfica).
Figura 1: Ciclo de vida del uso del sistema
Figura 2: Ejemplificación de representaciones
gráficas A y B
Figura 3: Implementación de la ventana
gráfica
Figura 4: Clase OrdenFrecuencia definida en
método compareTo de la interfaz Comparable
Figura 5: Clase Gui para la creación del
interfaz gráfico de usuario
Figura 6: Clase Palabra para el análisis del
corpus
Figura 7: Clase Controlador que especifica la
acción asociada a cada evento
Figura 8: Clase ruta con método main.
Como se expone más arriba, el presente método
calcula el tamaño mínimo de un corpus mediante el análisis de la
densidad léxica (d) en relación a los aumentos incrementales del
corpus (C) documento a documento, según muestra la siguiente
ecuación:
Para ello, se analizan gradualmente todos los
archivos que componen el corpus, extrayendo información sobre la
frecuencia de las palabras tipo (types) y las ocurrencias o
palabras distintas (tokens) de cada archivo del corpus. En
esta operación se utilizan dos criterios de selección de archivos,
a saber, por orden alfabético y de forma aleatoria,
donde:
\global\parskip1.000000\baselineskip
Ty: Se refiere a los types, es decir el
número de palabras distintas hasta ese momento.
To: Muestra los tokens, es decir el
número de palabras en total hasta ese momento.
N: Número de documentos que componen el
corpus.
El ciclo de vida del uso del sistema puede ser
el siguiente (Figura 1): Cada archivo que integra el corpus debe
estar identificado de forma unívoca mediante un nombre en código
alfanumérico (por ejemplo, A001, A002, A003 ... A00n). El algoritmo
opera primero por orden alfabético y, a continuación, de forma
aleatoria, a fin de garantizar que el orden en el que son
seleccionados los archivos no afecte al resultado. Cuando se
seleccionan los documentos por orden alfabético, el algoritmo
analiza el primer archivo (por ejemplo, A001) y para éste se
calculan los tokens (To) y los types (Ty), y la
densidad léxica correspondiente. Con ello ya se obtiene un punto en
la representación gráfica que se pretende extraer. A continuación,
siguiendo el mismo criterio de selección que en el primero, se toma
el siguiente documento del corpus (por ejemplo, A002) y se calculan
de nuevo los To y Ty para éste, pero sumando los resultados a los
Ty y To de la iteración anterior (en este caso a los del primer
documento analizado), se calcula la densidad léxica y con esto se
obtiene un segundo punto para la representación gráfica. Se sigue
este algoritmo hasta que se hayan tratado todos los documentos que
componen el corpus que se estudia, que en la presente
ejemplificación sería el A00n. La segunda fase del análisis toma los
documentos en orden aleatorio, por ejemplo el A003 primero, luego
el A00n, y así hasta haber analizado todos los documentos del
corpus.
Éste es el mismo algoritmo para el análisis de
n-gramas, esto es, la opción de realizar un
análisis de la frecuencia de aparición de secuencias de palabras
(1-grama, 2-grama, ...,
n-grama). La aplicación ofrece la posibilidad de
hacer el cómputo de estas secuencias considerando un rango de
longitudes de secuencia (números de palabras) definido por el
usuario. Al igual que se realiza con palabras independientes
(tokens), se muestra un gráfico con la información de
representatividad del corpus tanto para un orden aleatorio de los
ficheros como para un orden alfabético por el nombre de éstos. En
el eje horizontal se mantiene el número de ficheros consultados, y
en el eje vertical el cociente (número de n-gramas
distintos) / (número de n-gramas totales). A estos
efectos, un n-grama es considerado como un
token. Así mismo, los ficheros de salida generados indican
los n-gramas.
Tanto en el análisis por orden alfabético como
en el aleatorio llega un momento en el que un determinado documento
no aporta apenas types al corpus, lo cual indica que se ha
llegado a un tamaño adecuado, es decir, que el corpus analizado ya
se puede considerar una muestra representativa de la población en
términos estadísticos. En una representación gráfica estaríamos en
el punto en el que las líneas de types y tokens se
estabilizan y se aproximan al cero (Figura 2).
Si el corpus es realmente representativo la
gráfica tiende a descender exponencialmente porque los
tokens (To) crecen en cada iteración mucho más que los
types (Ty), debido a que, en teoría, cada vez van
apareciendo menos palabras nuevas que no están almacenadas en las
estructuras de datos que utiliza el programa. Así pues, podremos
afirmar que el corpus es representativo cuando la gráfica es
constante en valores cercanos a cero, pues, en la práctica, es
imposible alcanzar la incorporación de cero types en el
corpus ya que los documentos siempre van a contener variables del
tipo números, nombres propios, etc.
Si un corpus produce esta representación gráfica
podemos afirmar que es representativo y que nos basta con X
archivos (los que correspondan al punto del eje horizontal donde la
gráfica se estabiliza en torno a cero). De este modo habremos
identificado el tamaño mínimo de la colección, a partir del cual
puede considerarse representativa.
\newpage
A continuación se presenta el código fuente del
algoritmo N-Cor:
\newpage
El método y el algoritmo N-Cor
descritos más arriba se han implementado en ordenador mediante la
aplicación ReCor. La herramienta utilizada ha sido Java 2 SDK,
Standard Edition (J2SE), más la librería Java para gráficas y
diagramas JFreeChart. Como editor y compilador de Java se ha
recurrido al entorno JCreator Pro. Como ya se ha expuesto, el
sistema no se encuentra estructurado en paquetes, y posee las
siguientes clases principales:
- Palabras: Algoritmo de cómputo, lectura y
escritura a archivo.
- Gui: Interfaz de usuario.
- VentanaGrafica: Adaptador para la
representación gráfica.
En este apartado nos ocupamos del diseño UML
(lenguaje unificado de modelado), a la par que abordamos las
principales clases creadas para la aplicación y el software de
desarrollo elegido.
\vskip1.000000\baselineskip
En este apartado se abordan las variables y los
métodos de cada clase creada para la aplicación; así mismo, se
tratan las interacciones de las distintas clases entre sí.
\vskip1.000000\baselineskip
Esta clase (Figura 3) es la responsable de
presentar en pantalla la representación gráfica del corpus. Para la
implementación de esta clase se han utilizado métodos de la librería
JFreeChart. Extiende la clase java llamada Frame.
\vskip1.000000\baselineskip
Esta clase (Figura 4) es necesaria para ordenar
las distintas palabras que aparecen en todo el corpus dependiendo
del número total de apariciones que tengan. Esto es fundamental para
la creación de uno de los archivos de salida. Esta clase define en
método compareTo de la interfaz Comparable.
\vskip1.000000\baselineskip
Esta clase (Figura 5) crea la interfaz gráfica
de usuario y sirve para definir los botones, etiquetas, listas
desplegables, checks, etc. Extiende la clase java llamada
JFrame.
\vskip1.000000\baselineskip
Es la clase más importante; en ella (Figura 6)
se analiza el corpus (por ejemplo, se almacenan los pares [palabra,
nº de apariciones] en una tabla Hash), se crean los archivos de
salida y se calculan los diferentes puntos de las funciones para la
representación gráfica.
\vskip1.000000\baselineskip
En esta clase (Figura 7) se especifica la acción
asociada a cada evento que suceda en el interfaz gráfico de
usuario. Esta clase define el método actionPerformed de la
interfaz ActionListener.
\vskip1.000000\baselineskip
Esta clase (Figura 8), que tiene el método main,
lo prepara todo para iniciar la ejecución de la aplicación y crea
un objeto de la clase Gui (afectado por la clase Controlador).
\vskip1.000000\baselineskip
Dado el conjunto de documentos que componen el
corpus, el programa extrae información de éste en varios ficheros,
además de las dos gráficas, que sirven para el estudio del corpus
seleccionado.
- a)
- Archivos del corpus: Selección del conjunto de archivos que forman el (sub)corpus.
- b)
- Fichero filtro de palabras: Archivo de entrada, en el cuál están recogidas las distintas palabras que no se desea analizar, es decir aquí están todas las palabras que se quiere filtrar (separadas por espacio, coma, punto, punto y coma, dos puntos o salto de línea).
- c)
- Elección de parámetros: Elección del tamaño del grupo de palabras (1, 2, ..., 10), ó n-gramas. Para la selección de cada grupo, se utiliza el método de ventana deslizante, sin tener en cuenta contextos de comas, puntos, párrafos, etc. También se puede elegir si para el corpus que se va a analizar se desea filtrar o no los números.
Los datos de salida comprenden una
representación gráfica del corpus. En el eje horizontal se
representa el nº de archivos seleccionados hasta ese momento y en el
eje vertical el cociente types/tokens. Han sido
representadas dos funciones, una para los archivos ordenados por
nombre, y otra para los archivos elegidos aleatoriamente. Ambas
funciones tienden a ir descendiendo exponencialmente mientras más
documentos tomamos. Cuando las funciones se estabilizan, se puede
afirmar que el corpus es representativo y se puede determinar
aproximadamente a partir de qué número de documentos se produce
esto.
La representación gráfica es la que permite al
usuario decidir si un corpus es representativo o no. Así, existen
dos representaciones gráficas interesantes: la primera
-representación gráfica A- es la que coloca el eje vertical
Ty/To y en el eje horizontal To; la segunda -representación
gráfica B- sitúa en el eje vertical los Ty/To y en el eje
horizontal el número de archivos analizados hasta ese momento. La
primera representación gráfica nos indicaría el número mínimo de
palabras con el que debe contar la colección, mientras que la
segunda especifica el número de documentos o textos.
Se puede decir que el corpus es representativo
cuando la gráfica se estabilice en torno a valores cero, y tienda a
descender exponencialmente porque los tokens (To) crecerán en
cada iteración mucho más que los types (Ty), debido a que en
teoría cada vez irán apareciendo menos palabras nuevas conforme se
vaya analizando la densidad léxica del subconjunto incremental de
documentos analizados.
Además de la representación gráfica, también se
extrae información del corpus en varios archivos de salida:
\vskip1.000000\baselineskip
Este archivo contiene cinco columnas:
- \bullet
- Ty: Muestra los types (palabras distintas) hasta ese momento.
- \bullet
- To: Muestra los tokens (número de palabras en total) hasta ese momento.
- \bullet
- Ty/To: cociente entre los types y los tokens.
- \bullet
- V1: El nº de palabras con tan sólo una aparición hasta ese momento.
- \bullet
- V2: El nº de palabras con tan sólo dos apariciones hasta ese momento.
Muestra los resultados de dos análisis
distintos, uno para los archivos ordenados alfabéticamente por
nombre y otro para los archivos ordenados en orden aleatorio. Para
cada uno de estos análisis habrá tantas líneas como archivos tenga
el corpus seleccionado. El número columnas serán cinco (las arriba
descritas).
\vskip1.000000\baselineskip
Este archivo se compone de dos columnas:
- \bullet
- Palabra: Aquí se recogen todas las palabras distintas que forman el corpus (ordenadas alfabéticamente por el nombre del documento).
- \bullet
- Apariciones: Se refiere al número de apariciones en el corpus de la palabra en cuestión.
Este archivo se compone de dos columnas:
- \bullet
- Palabra: Aquí se recogen todas las palabras distintas que forman el corpus (ordenadas por número de apariciones).
- \bullet
- Apariciones: Se refiere al número de apariciones en el corpus de la palabra en cuestión.
Claims (5)
1. Método implementado en ordenador de
determinación de la representatividad de un corpus mediante la
ejecución de un programa caracterizado porque:
- \bullet
- Es independiente de la lengua o tipo textual de la colección de documentos analizados,
- \bullet
- Establece el umbral mínimo de representatividad a través de un algoritmo (N-Cor) de análisis de la densidad léxica en función del aumento incremental del corpus,
- \bullet
- Comprende datos de entrada, datos de salida, representación gráfica, y archivos de salida,
- \bullet
- Comprende el análisis gradual de todos los archivos que componen el corpus, extrayendo información sobre la frecuencia de las palabras tipo (types) y las ocurrencias o palabras distintas (tokens) de cada archivo del corpus.
- \bullet
- Cada archivo que integra el corpus debe estar identificado de forma unívoca mediante un nombre en código alfanumérico; procediéndose primero a un análisis por orden alfabético y después a un análisis aleatorio; calculándose en cada caso y para cada documento los tokens, los types, y la densidad léxica correspondiente; lo que permite obtener finalmente una representación gráfica indicativa de la representatividad del corpus analizado.
2. Método implementado en ordenador de
determinación de la representatividad de un corpus mediante la
ejecución de un programa según la reivindicación anterior
caracterizado porque en base a dicho algoritmo
N-Cor es posible realizar un análisis de la
frecuencia de aparición de secuencias de palabras, pudiéndose
hacerse el cómputo de dichas secuencias considerando un rango de
longitudes definido por el usuario.
3. Método implementado en ordenador de
determinación de la representatividad de un corpus mediante la
ejecución de un programa según cualquiera de las reivindicaciones
anteriores caracterizado porque dicha aplicación informática
(ReCor) ha sido desarrollada en Java 2 SDK Standard Edition usando
la librería Java ara gráficas y diagramas JFreeChart; y empleando
el entorno JCreator Pro como editor y compilador de Java.
4. Método implementado en ordenador de
determinación de la representatividad de un corpus mediante la
ejecución de un programa según la reivindicación anterior
caracterizado porque comprende las siguientes clases:
- \bullet
- Clase VentanaGrafica, cuya función es presentar en pantalla la representación gráfica del corpus y su implementación se realiza usando métodos de la librería JFreeChart;
- \bullet
- Clase Orden Frecuencia, implicada en la ordenación de las palabras que aparecen en el corpus en función del número total de aparición de las mismas;
- \bullet
- Clase Gui, cuya función es crear la interfaz gráfica de usuario;
- \bullet
- Clase Palabra, implicada en el análisis del corpus, la creación de los archivos de salida, y el cálculo de los diferentes puntos de las funciones para la representación gráfica.
- \bullet
- Clase Controlador, cuya función es especificar especifica la acción asociada a un evento en el interfaz gráfico de usuario;
- \bullet
- Clase Ruta, que permite iniciar la ejecución de la aplicación y crea un objeto de la clase Gui.
5. Aparato electrónico programado para
determinar la representatividad de un corpus según cualquiera de las
reivindicaciones anteriores caracterizado porque permite
establecer el umbral mínimo de representatividad a través del
algoritmo N-Cor mediante la ejecución de la
aplicación informática ReCor.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| ES200603157A ES2320511B1 (es) | 2006-12-05 | 2006-12-05 | Nuevo metodo para determinar la representatividad de un corpus. |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| ES200603157A ES2320511B1 (es) | 2006-12-05 | 2006-12-05 | Nuevo metodo para determinar la representatividad de un corpus. |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| ES2320511A1 ES2320511A1 (es) | 2009-05-22 |
| ES2320511B1 true ES2320511B1 (es) | 2010-02-03 |
Family
ID=40719135
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES200603157A Active ES2320511B1 (es) | 2006-12-05 | 2006-12-05 | Nuevo metodo para determinar la representatividad de un corpus. |
Country Status (1)
| Country | Link |
|---|---|
| ES (1) | ES2320511B1 (es) |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20060047639A1 (en) * | 2004-02-15 | 2006-03-02 | King Martin T | Adding information or functionality to a rendered document via association with an electronic counterpart |
-
2006
- 2006-12-05 ES ES200603157A patent/ES2320511B1/es active Active
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20060047639A1 (en) * | 2004-02-15 | 2006-03-02 | King Martin T | Adding information or functionality to a rendered document via association with an electronic counterpart |
Non-Patent Citations (3)
| Title |
|---|
| C. PÉREZ "{}Explotación de los córpora textuales informatizados para la creación de bases de datos terminológicas basadas en el conocimiento"{}. 31.12.2002. ISSN: 1139-8736. [recuperado 04.02.2009]. Recuperado de Internet <URL: http://elies.rediris.es/>. Secciones 6.1.1 y 6.1.2. * |
| P. CANTOS GÓMEZ. "{}Investigating Type-Token regresión and its potential for automated text discrimination"{} 31.12.2000 Cuadernos de filología inglesa, ISSN 0213-5485, Vol. 9, N$^{o}$ 1, 2000, páginas 71-91. * |
| R. HICKEY, "{}Corpus Presenter Help File"{}. 31.03.2006. [recuperad 04.02.2009]. Recuperado de Internet <URL: http://www.uni-due.de/CP/Corpus\_Presenter\_Help.pdf>. * |
Also Published As
| Publication number | Publication date |
|---|---|
| ES2320511A1 (es) | 2009-05-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Pasha et al. | Madamira: A fast, comprehensive tool for morphological analysis and disambiguation of arabic. | |
| JP4701292B2 (ja) | テキスト・データに含まれる固有表現又は専門用語から用語辞書を作成するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム | |
| Taji et al. | An Arabic morphological analyzer and generator with copious features | |
| Tanenblatt et al. | The ConceptMapper Approach to Named Entity Recognition. | |
| Sedláček et al. | A new Czech morphological analyser ajka | |
| JP2009129179A (ja) | プログラム並列化支援装置およびプログラム並列化支援方法 | |
| CA2945458C (en) | Constraint extraction from natural language text for test data generation | |
| Chatzopoulou | Negation and nonveridicality in the history of Greek | |
| Wolinski et al. | PoliMorf: a (not so) new open morphological dictionary for Polish. | |
| US8386238B2 (en) | Systems and methods for evaluating a sequence of characters | |
| Khan et al. | A light weight stemmer for Urdu language: a scarce resourced language | |
| Bender et al. | Computational linguistics and grammar engineering | |
| Yona et al. | A finite-state morphological grammar of Hebrew | |
| Holmes | A model of indel evolution by finite-state, continuous-time machines | |
| Hawezi et al. | Spell checking algorithm for agglutinative languages “Central Kurdish as an example” | |
| US20140343921A1 (en) | Analyzing documents corresponding to demographics | |
| Milanova et al. | LOCALE: A Rule-based Location Named-entity Recognition Method for Latin Text. | |
| Parker | Vestigial ergativity in Shughni: At the intersection of alignment, clitic doubling, and feature-driven movement | |
| Al-Khatib et al. | A New Enhanced Arabic Light Stemmer for IR in Medical Documents. | |
| ES2426327T3 (es) | Procedimiento para determinar la similitud de porciones de texto | |
| ES2320511A1 (es) | Nuevo metodo para determinar la representatividad de un corpus. | |
| Halácsy et al. | Benefits of deep NLP-based Lemmatization for Information Retrieval. | |
| Padma et al. | Development of morphological stemmer, analyzer and generator for Kannada nouns | |
| Çilden | Stemming Turkish words using snowball | |
| JP2019028659A (ja) | データ処理装置、データ処理方法及びデータ処理プログラム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| EC2A | Search report published |
Date of ref document: 20090522 Kind code of ref document: A1 |
|
| FG2A | Definitive protection |
Ref document number: 2320511B1 Country of ref document: ES |