Cuando se generan colecciones de documentos basados en páginas web, los programas webcrawler efectúan un proceso de extracción del código fuente, mediante el empleo técnicas cURL y DOM. Al hacerlo no sólo se adquiere el texto sujeto a recuperación, sino todo el conjunto de etiquetas en formato HTML y CSS que lo acompañan. Si tales etiquetados no son eliminados, no se puede iniciar el procesamiento de la información y su correspondiente tratamiento. Por ello, se demuestra la importancia de aplicar mecanismos de depuración del código fuente, que facilite la extracción limpia de los textos, que serán la materia prima con la que se componen las colecciones sobre las que se recupera la información. Para poder comprender la multitud de procesos que se llevan a cabo, se muestra la siguiente tabla1 en la que puede ver un orden en la consecución de los mismos.
Preparación de la colección de documentos
|
NOTA: Preparar los documentos implica en esencia los procesos destacados en esta tabla. No obstante, pueden aplicarse otros derivados del procesamiento del lenguaje natural, analizadores sintácticos para el reconocimiento de las oraciones del texto, identificación de la naturaleza de los complementos y sintagmas de las frases, etc. Tales funciones se situarían entre el proceso de Normalización de textos y el de indexación, puesto que antes de proceder a su almacenamiento, se requeriría del análisis semántico-sintagmático correspondiente.
|
Proceso de depuración
|
Depuración y supresión de código fuente
Identificación de casos especiales
|
Normalización de textos
|
Tokenización
Conversión a minúsculas, eliminación de signos de puntuación y acentos
Eliminación de palabras vacías
Transliteración y reemplazo de caracteres especiales |
Indexación
|
Reducción morfológica
Almacenamiento
Fichero inverso
Fichero índice
|
Tabla1. Procesos para la preparación de los documentos
¿Cómo eliminar todo lo que no sea el texto de un artículo? ¿Cómo extrare los bloques de contenidos? ¿Cómo evitar el problema del anidamiento de etiquetas en HTML? ¿Cómo detectar el inicio y el final del texto? Éstas son algunas de las preguntas más habituales cuando se trata de analizar el contenido textual de un sitio web. Para tratar de enfocar y solucionar estos problemas previamente es necesario considerar los siguientes aspectos:
- Qué tipo de documento web se pretende explotar.
- Qué nivel de anidamiento tiene el código fuente.
- Qué etiquetas contienen la información relevante.
- Que fragmentos de código corresponden al interfaz del sitio web.
Para efectuar un proceso de depuración y limpieza del contenido, es preciso identificar qué bloque de HTML contiene la información central del documento. En esencia el webcrawler debe ser capaz de determinar qué elementos corresponden al interfaz visual, la navegación hipertextual, los menús, la publicidad, los banners, así como cualquier otro elemento accesorio que no forma parte del contenido. De una forma visual se podría explicar con la siguiente imagen1.
Imagen1. El contenido útil es el artículo propiamente dicho y no la interfaz de la página
Por regla general, cuando se trata de depurar el texto central de una página web, el webcrawler actúa dentro del dominio del cuerpo del sitio web <body></body>, eliminando todas las etiquetas <table></table>, <iframe></iframe>. A esta primera medida se le suman otrás muchas relativas, a la identificación de contenidos esenciales, como por ejemplo el encabezamiento, el resumen, los párrafos de contenido, cláramente identificados por etiquetas <h1></h1>, <h2></h2>, <h3></h3>, <p></p>, <blockquote></blockquote>, <cite></cite>. Aún así la ideosincrasia y variedad de las páginas web, obligan a un reconocimiento de casos, estilos. Este es el caso del empleo de la etiqueta <div></div> que corresponde a las capas en HTML y que pueden adquirir cualquier estilo en CSS que por ejemplo imite el resultado de una etiqueta de encabezado <h1></h1>. Éste tipo de situaciones son muy comúnes y hacen que el webcrawler contemple el análisis de los estilos con que se editan las informaciones. Además existe el problema añadido de utilizar recursivamente el anidamiento de distintos elementos en HTML, lo que dificulta aún más si cabe, el proceso de depuración, obsérvese la siguiente tabla2.
Ejemplo de anidamiento masivo
|
<div style="margin-bottom:1em">
<div>
<table style="width: 100%; height: 22px;" border="0">
<tbody>
<tr><td>
<ul>
<li>
</li>
<li>
<div align="left"><a href="…" target="_blank">Titulaciones a extinguir y actuales con sus pasarelas</a></div>
</li>
</ul>
<td>
<ul>
<li><a href="…" target="_blank"><strong>Información sobre los nuevos estudios</strong></a></li>
</ul>
</td></tr>
</tbody>
</table>
</div>
</div>
|
Tabla2. El excesivo anidamiento de una página web puede dificultar los procesos de depuración
Como se puede comprobar, las etiquetas div embeben distintos contenidos, entre ellos tablas, marcos, imágenes, enlaces... en distintos niveles de anidamiento, tal como se demuestra en el sangrado de los elementos. Este caso exige un tratamiento del etiquetado por medio de patrones reconocibles para su detección y extracción. Además existen otras dificultades añadidas. Se trata del etiquetado sin normalización, en desuso, obsoleto ó especial. Una muestra de ello son algunas de las etiquetas que se muestran en la siguiente tabla3.
Muestra de etiquetado especialmente difícil de eliminar. (Exige recopilar caso a caso)
| ||
<center>
<di>
<table>
<tbody>
<noscript>
<font>
<base>
</+script>
<fb:fan>
|
<map>
<na>
<small>
<time>
<noindex>
<nobr>
<o:p>
<fb:like>
<asx>
|
<basefont>
<fieldset>
<legend>
<base>
<sup>
<wbr>
<area>
<layer>
<spacer>
|
Tabla3. Muestra de etiquetado complejo
Tokenización
Es el proceso que descompone los textos de una colección en sus únidades mínimas, las palabras o términos propiamente dichos. A tales elementos se les denomina "tokens" que conforman una lista de ítems que se utiliza para su análisis PNL (Procesamiento del lenguaje natural), estadístico, lingüístico, almacenamiento y posterior recuperación de información. Para llevar a cabo tal proceso, se utilizan los espacios entre las palabras del texto como divisores de los distintos "tokens". Véase un ejemplo de ello en la siguiente tabla4.
Los "tokens" a su vez pueden ser identificados mediante una codificación ASCII ó en su defecto Hexadecimal, con el objeto de facilitar la identificación uno a uno cada caracter que compone la palabra. De hecho este proceso permite la identificación de cadenas de caracteres de forma unívoca, de cara a posteriores tratamientos de depuración, eliminación de signos de puntuación ó la reducción morfológica. Obsérvese en la tabla anterior, que algunos términos vienen acompañados de signos de puntuación, que no son de utilidad para el proceso de recuperación.
Ejemplo de tokenización
| |||
Institución cuya finalidad consiste en la adquisición, conservación, estudio y exposición de libros y documentos. Local donde se tiene considerable número de libros ordenados para la lectura.
| |||
Tokens resultantes
| |||
Institución
cuya
finalidad
consiste
en
la
adquisición,
|
conservación,
estudio
y
exposición
de
libros
y
|
documentos.
Local
donde
se
tiene
considerable
número
|
de
libros
ordenados
para
la
lectura.
|
Conversión de tokens en código hexadecimal
| |||
{Institución}
49 6E 73 74 69 74 75 63 69 1 6E
{cuya}
63 75 79 61
{finalidad}
66 69 6E 61 6C 69 64 61 64
{consiste}
63 6F 6E 73 69 73 74 65
{en}
65 6E
{la}
6C 61
{adquisición,}
61 64 71 75 69 73 69 63 69 1 6E 2C
|
{conservación,}
63 6F 6E 73 65 72 76 61 63 69 1 6E 2C
{estudio}
65 73 74 75 64 69 6F
{y}
79
{exposición}
65 78 70 6F 73 69 63 69 1 6E
{de}
64 65
{libros}
6C 69 62 72 6F 73
{y}
79
|
{documentos.}
64 6F 63 75 6D 65 6E 74 6F 73 2E
{Local}
4C 6F 63 61 6C
{donde}
64 6F 6E 64 65
{se}
73 65
{tiene}
74 69 65 6E 65
{considerable}
63 6F 6E 73 69 64 65 72 61 62 6C 65
{número}
6E 1 6D 65 72 6F
|
{de}
64 65
{libros}
6C 69 62 72 6F 73
{ordenados}
6F 72 64 65 6E 61 64 6F 73
{para}
70 61 72 61
{la}
6C 61
{lectura.}
6C 65 63 74 75 72 61 2E
|
Tabla4. Proceso de tokenización
Los "tokens" a su vez pueden ser identificados mediante una codificación ASCII ó en su defecto Hexadecimal, con el objeto de facilitar la identificación uno a uno cada caracter que compone la palabra. De hecho este proceso permite la identificación de cadenas de caracteres de forma unívoca, de cara a posteriores tratamientos de depuración, eliminación de signos de puntuación ó la reducción morfológica. Obsérvese en la tabla anterior, que algunos términos vienen acompañados de signos de puntuación, que no son de utilidad para el proceso de recuperación.
Conversión a minúsculas, eliminación de signos de puntuación y acentos
Para permitir un proceso de indexación limpio, previamente es necesario convertir el texto a minúsculas y eliminar todos los signos de puntuación del texto. De hecho este punto de la depuración simplifica a posteriori el reconocimiento y proceso de cruzado de la consulta del usuario, permitiendo que independientemente de que escribiera su consulta correctamente, pueda ser recuperada bajo cualquier circunstancia. De esta forma el sistema de recuperación identifica mediante codificación hexadecimal qué caracteres debe reemplazar, modificar o en su defecto eliminar. Es habitual que tales programas integren la referencia completa de caracteres, denominadas también como "tablas de equivalencias entre caracteres". En la siguiente tabla5 se muestra un sencillo ejemplo del concepto con los caracteres habituales.
Hex
|
Representación
|
Hex
|
Representación
|
Hex
|
Representación
| ||
20
|
espacio ( )
|
40
|
@
|
60
|
`
| ||
21
|
!
|
41
|
A
|
61
|
a
| ||
22
|
"
|
42
|
B
|
62
|
b
| ||
23
|
#
|
43
|
C
|
63
|
c
| ||
24
|
$
|
44
|
D
|
64
|
d
| ||
25
|
%
|
45
|
E
|
65
|
e
| ||
26
|
&
|
46
|
F
|
66
|
f
| ||
27
|
'
|
47
|
G
|
67
|
g
| ||
28
|
(
|
48
|
H
|
68
|
h
| ||
29
|
)
|
49
|
I
|
69
|
i
| ||
2A
|
*
|
4A
|
J
|
6A
|
j
| ||
2B
|
+
|
4B
|
K
|
6B
|
k
| ||
2C
|
,
|
4C
|
L
|
6C
|
l
| ||
2D
|
-
|
4D
|
M
|
6D
|
m
| ||
2E
|
.
|
4E
|
N
|
6E
|
n
| ||
2F
|
/
|
4F
|
O
|
6F
|
o
| ||
30
|
0
|
50
|
P
|
70
|
p
| ||
31
|
1
|
51
|
Q
|
71
|
q
| ||
32
|
2
|
52
|
R
|
72
|
r
| ||
33
|
3
|
53
|
S
|
73
|
s
| ||
34
|
4
|
54
|
T
|
74
|
t
| ||
35
|
5
|
55
|
U
|
75
|
u
| ||
36
|
6
|
56
|
V
|
76
|
v
| ||
37
|
7
|
57
|
W
|
77
|
w
| ||
38
|
8
|
58
|
X
|
78
|
x
| ||
39
|
9
|
59
|
Y
|
79
|
y
| ||
3A
|
:
|
5A
|
Z
|
7A
|
z
| ||
3B
|
;
|
5B
|
[
|
7B
|
{
| ||
3C
|
<
|
5C
|
\
|
7C
|
|
| ||
3D
|
=
|
5D
|
]
|
7D
|
}
| ||
3E
|
>
|
5E
|
^
|
7E
|
~
| ||
3F
|
?
|
5F
|
_
|
Tabla5. Tabla de conversión de caracteres básicos
Si bien todos los caracteres representados en la tabla anterior tienen una codificación sencilla de dupla, en el caso de los caracteres acentuados (siempre que se parta de una códificación utf-8 previa por defecto en la página web) se utilizan 2 duplas para identificar que es un caracter acentuado. Véase la siguiente tabla6.
Hex
|
Representación
|
Hex
|
Representación
|
Hex
|
Representación
| ||
C3 A1
|
á
|
C3 AD
|
í
|
C3 BA
|
ú
| ||
C3 81
|
Á
|
C3 8D
|
Í
|
C3 9A
|
Ú
| ||
C3 A0
|
à
|
C3 AC
|
ì
|
C3 B9
|
ù
| ||
C3 80
|
À
|
C3 8C
|
Ì
|
C3 99
|
Ù
| ||
C3 A2
|
â
|
C3 AE
|
î
|
C3 BB
|
û
| ||
C3 82
|
Â
|
C3 8E
|
Î
|
C3 9B
|
Û
| ||
C3 A4
|
ä
|
C3 AF
|
ï
|
C3 BC
|
ü
| ||
C3 84
|
Ä
|
C3 8F
|
Ï
|
C3 9C
|
Ü
| ||
C3 A9
|
é
|
C3 B3
|
ó
| ||||
C3 89
|
É
|
C3 93
|
Ó
| ||||
C3 A8
|
è
|
C3 B2
|
ò
| ||||
C3 88
|
È
|
C3 92
|
Ò
| ||||
C3 AA
|
ê
|
C3 B4
|
ô
| ||||
C3 8A
|
Ê
|
C3 94
|
Ô
| ||||
C3 AB
|
ë
|
C3 B6
|
ö
| ||||
C3 8B
|
Ë
|
C3 96
|
Ö
|
Tabla6. Tabla de conversión de vocales acentuadas
Transliteración y reemplazo de caracteres especiales
En muchos casos, la conversión de un texto a minúsculas, la supresión de acentos y signos de puntuación no es suficiente. En muchos casos el idioma en el que está escrito el documento o las particularidades del texto implican el uso de caracteres especiales que requieren transliteración o reemplazo por otro caracter más sencillo y equivalente en el teclado estándar. Estos procesos resultan complejos puesto que en todo momento se debe asegurar la identificación del caracter original. En la tabla7, se pueden observar todos los caracteres sometidos a tal consideración de excepcionalidad.
Hex
|
Representación
|
Hex
|
Representación
|
Hex
|
Representación
| ||
C3 80
|
À
|
C4 86
|
Ć
|
C5 88
|
ň
| ||
C3 81
|
Á
|
C4 87
|
ć
|
C5 89
|
ʼn
| ||
C3 82
|
Â
|
C4 88
|
Ĉ
|
C5 8C
|
Ō
| ||
C3 83
|
Ã
|
C4 89
|
ĉ
|
C5 8D
|
ō
| ||
C3 84
|
Ä
|
C4 8A
|
Ċ
|
C5 8E
|
Ŏ
| ||
C3 85
|
Å
|
C4 8B
|
ċ
|
C5 8F
|
ŏ
| ||
C3 86
|
Æ
|
C4 8C
|
Č
|
C5 90
|
Ő
| ||
C3 87
|
Ç
|
C4 8D
|
č
|
C5 91
|
ő
| ||
C3 88
|
È
|
C4 8E
|
Ď
|
C5 92
|
Œ
| ||
C3 89
|
É
|
C4 8F
|
ď
|
C5 93
|
œ
| ||
C3 8A
|
Ê
|
C4 90
|
Đ
|
C5 94
|
Ŕ
| ||
C3 8B
|
Ë
|
C4 91
|
đ
|
C5 95
|
ŕ
| ||
C3 8C
|
Ì
|
C4 92
|
Ē
|
C5 96
|
Ŗ
| ||
C3 8D
|
Í
|
C4 93
|
ē
|
C5 97
|
ŗ
| ||
C3 8E
|
Î
|
C4 94
|
Ĕ
|
C5 98
|
Ř
| ||
C3 8F
|
Ï
|
C4 95
|
ĕ
|
C5 99
|
ř
| ||
C3 90
|
Ð
|
C4 96
|
Ė
|
C5 9A
|
Ś
| ||
C3 91
|
Ñ
|
C4 97
|
ė
|
C5 9B
|
ś
| ||
C3 92
|
Ò
|
C4 98
|
Ę
|
C5 9C
|
Ŝ
| ||
C3 93
|
Ó
|
C4 99
|
ę
|
C5 9D
|
ŝ
| ||
C3 94
|
Ô
|
C4 9A
|
Ě
|
C5 9E
|
Ş
| ||
C3 95
|
Õ
|
C4 9B
|
ě
|
C5 9F
|
ş
| ||
C3 96
|
Ö
|
C4 9C
|
Ĝ
|
C5 A0
|
Š
| ||
C3 98
|
Ø
|
C4 9D
|
ĝ
|
C5 A1
|
š
| ||
C3 99
|
Ù
|
C4 9E
|
Ğ
|
C5 A2
|
Ţ
| ||
C3 9A
|
Ú
|
C4 9F
|
ğ
|
C5 A3
|
ţ
| ||
C3 9B
|
Û
|
C4 A0
|
Ġ
|
C5 A4
|
Ť
| ||
C3 9C
|
Ü
|
C4 A1
|
ġ
|
C5 A5
|
ť
| ||
C3 9D
|
Ý
|
C4 A2
|
Ģ
|
C5 A6
|
Ŧ
| ||
C3 9F
|
ß
|
C4 A3
|
ģ
|
C5 A7
|
ŧ
| ||
C3 A0
|
à
|
C4 A4
|
Ĥ
|
C5 A8
|
Ũ
| ||
C3 A1
|
á
|
C4 A5
|
ĥ
|
C5 A9
|
ũ
| ||
C3 A2
|
â
|
C4 A6
|
Ħ
|
C5 AA
|
Ū
| ||
C3 A3
|
ã
|
C4 A7
|
ħ
|
C5 AB
|
ū
| ||
C3 A4
|
ä
|
C4 A8
|
Ĩ
|
C5 AC
|
Ŭ
| ||
C3 A5
|
å
|
C4 A9
|
ĩ
|
C5 AD
|
ŭ
| ||
C3 A6
|
æ
|
C4 AA
|
Ī
|
C5 AE
|
Ů
| ||
C3 A7
|
ç
|
C4 AB
|
ī
|
C5 AF
|
ů
| ||
C3 A8
|
è
|
C4 AC
|
Ĭ
|
C5 B0
|
Ű
| ||
C3 A9
|
é
|
C4 AD
|
ĭ
|
C5 B1
|
ű
| ||
C3 AA
|
ê
|
C4 AE
|
Į
|
C5 B2
|
Ų
| ||
C3 AB
|
ë
|
C4 AF
|
į
|
C5 B3
|
ų
| ||
C3 AC
|
ì
|
C4 B0
|
İ
|
C5 B4
|
Ŵ
| ||
C3 AD
|
í
|
C4 B1
|
ı
|
C5 B5
|
ŵ
| ||
C3 AE
|
î
|
C4 B2
|
IJ
|
C5 B6
|
Ŷ
| ||
C3 AF
|
ï
|
C4 B3
|
ij
|
C5 B7
|
ŷ
| ||
C3 B1
|
ñ
|
C4 B4
|
Ĵ
|
C5 B8
|
Ÿ
| ||
C3 B2
|
ò
|
C4 B5
|
ĵ
|
C5 B9
|
Ź
| ||
C3 B3
|
ó
|
C4 B6
|
Ķ
|
C5 BA
|
ź
| ||
C3 B4
|
ô
|
C4 B7
|
ķ
|
C5 BC
|
ż
| ||
C3 B5
|
õ
|
C4 B9
|
Ĺ
|
C5 BD
|
Ž
| ||
C3 B6
|
ö
|
C4 BA
|
ĺ
|
C5 BE
|
ž
| ||
C3 B8
|
ø
|
C4 BC
|
ļ
|
C5 BF
|
ſ
| ||
C3 B9
|
ù
|
C4 BD
|
Ľ
|
C6 92
|
ƒ
| ||
C3 BA
|
ú
|
C4 BE
|
ľ
|
C6 A0
|
Ơ
| ||
C3 BC
|
ü
|
C4 BF
|
Ŀ
|
C6 A1
|
ơ
| ||
C3 BD
|
ý
|
C5 80
|
ŀ
|
C6 AF
|
Ư
| ||
C3 BF
|
ÿ
|
C5 81
|
Ł
|
C6 B0
|
ư
| ||
C4 80
|
Ā
|
C5 82
|
ł
|
C7 BA
|
Ǻ
| ||
C4 81
|
ā
|
C5 83
|
Ń
|
C7 BC
|
Ǽ
| ||
C4 82
|
Ă
|
C5 84
|
ń
|
C7 BD
|
ǽ
| ||
C4 83
|
ă
|
C5 85
|
Ņ
|
C7 BE
|
Ǿ
| ||
C4 84
|
Ą
|
C5 86
|
ņ
|
C7 BF
|
ǿ
| ||
C4 85
|
ą
|
C5 87
|
Ň
|
Tabla7. Tabla de caracteres especiales (En muchos casos se requiere de transliteración)
Eliminación de palabras vacías
Las palabras vacías, irrelevantes o "stop words" son aquellas que por si solas carecen de significación y que por su altísima frecuencia de aparición en los textos, generan un ruido innecesario para la recuperación de información. La eliminación de estos términos (preposiciones, artículos determinados, artículos indeterminados, pronombres, conjunciones, contracciones y ciertos verbos y adverbios) mejora la afinación en los modelos de recuperación. Los estudios correspondientes a este fenómeno fueron iniciados por Hans Peter Luhn en 1958 con su investigación sobre el índice KWIC, una técnica de indexación que organizaba las palabras según su consideración como claves para la recuperación o no de la información, teniendo en cuenta el contexto del documento. Este proceso derivó en la acuñación del término "palabra vacía" para referirse a aquellas con un bajo poder discriminatorio y representativo del contenido del documento. Los análisis estadísticos efectuados por Luhn, demostraron que la indexación era un proceso más rápido, cuando se prescinde de tales términos y favoreciendo la economía de espacio requerido para el almacenamiento de la información. También se demostró, que entre un 30 y un 50% de las palabras de un texto corresponden a tal categoría. De hecho y pese a ser práctica habitual (RIJSBERGEN, C.J. 1979), hasta nuestros días, se siguen utilizando listas de palabras vacías para la depuración de los textos. No obstante, la técnica de eliminación de palabras vacías, se viene suavizando, debido a la introducción de técnicas de PNL (Procesamiento del Lenguaje Natural) que tienen en cuenta la significación de tales palabras cuando están acompañadas de sustantivos, en casos en los que no pueden ser separadas ó eliminadas por conformar una denominación propia, así como por pérdidas en la significación semántica de un sintagma, frase ó palabra, véase la tabla8.
A continuación se muestran listados reales de palabras vacías utilizados para la depuración de textos en Alemán, Español, Francés, Inglés, Italiano y Portugués.
Palabras vacías, claves
| ||
Frase
|
Palabras vacías
|
Descripción del caso
|
Those were the days
|
those, were, the
|
La frase corresponde al título de una canción de Boris Fomin
|
Es así o de esta otra manera
|
es, así, o, de, esta, otra
|
Título de un artículo sobre estilo gramatical
|
De aquí a la eternidad
|
de, aquí, a, la
|
Película de 1953 del director Fred Zinnemann
|
Cómo ha de ser el privado
|
cómo, ha, de, ser, el
|
Comedia teatral de Francisco de Quevedo
|
El otro
|
el, otro
|
Obra de teatro de Miguel de Unamuno
|
Tabla8. Ejemplo del uso de palabras vacías cuya función identificadora es clave
A continuación se muestran listados reales de palabras vacías utilizados para la depuración de textos en Alemán, Español, Francés, Inglés, Italiano y Portugués.
ab, bei, da, deshalb, ein, für, haben, hier, ich, ja, kann, machen, muesste, nach, oder, seid, sonst, und, vom, wann, wenn, wie, zu, bin, eines, hat, manche, solches, an, anderm, bis, das, deinem, demselben, dir, doch, einig, er, eurer, hatte, ihnen, ihre, ins, jenen, keinen, manchem, meinen, nichts, seine, soll, unserm, welche, werden, wollte, während, alle, allem, allen, aller, alles, als, also, am, ander, andere, anderem, anderen, anderer, anderes, andern, anders, auch, auf, aus, bist, bsp., daher, damit, dann, dasselbe, dazu, daß, dein, deine, deinen, deiner, deines, dem, den, denn, denselben, der, derer, derselbe, derselben, des, desselben, dessen, dich, die, dies, diese, dieselbe, dieselben, diesem, diesen, dieser, dieses, dort, du, durch, eine, einem, einen, einer, einige, einigem, einigen, einiger, einiges, einmal, es, etwas, euch, euer, eure, eurem, euren, eures, ganz, ganze, ganzen, ganzer, ganzes, gegen, gemacht, gesagt, gesehen, gewesen, gewollt, hab, habe, hatten, hin, hinter, ihm, ihn, ihr, ihrem, ihren, ihrer, ihres, im, in...
Palabras vacías del Español. Download Spanish stop words
el, la, los, les, las, de, del, a, ante, con, en, para, por, y, o, u, tu, te, ti, le, que, al, ha, un, han, lo, su, una, estas, esto, este, es, tras, suya, a, acá, ahí, ajena, ajenas, ajeno, ajenos, al, algo, algún, alguna, algunas, alguno, algunos, allá, alli, allí, ambos, ampleamos, ante, antes, aquel, aquella, aquellas, aquello, aquellos, aqui, aquí, arriba, asi, atras, aun, aunque, bajo, bastante, bien, cabe, cada, casi, cierta, ciertas, cierto, ciertos, como, cómo, con, conmigo, conseguimos, conseguir, consigo, consigue, consiguen, consigues, contigo, contra, cual, cuales, cualquier, cualquiera, cualquieras, cuancuán, cuando, cuanta, cuánta, cuantas, cuántas, cuanto, cuánto, cuantos, cuántos, de, dejar, del, demás, demas, demasiada, demasiadas, demasiado, demasiados, dentro, desde, donde, dos, el, él, ella, ellas, , ello, ellos, empleais, emplean, emplear, empleas, empleo, en, encima, entonces, entre, era, eramos...
Palabras vacías del Francés. Download French stop words
a, adieu, afin, ah, ai, aie, aient, aies, aille, ainsi, ait, all, alla, allais, allait, allant, alle, aller, allerent, allez, allons, alors, apres, aprčs, as, assez, au, au dela, au delŕ, au dessous, au dessus, aucun, aucune, aucunes, aucuns, aupres, auprčs, auquel, aura, aurai, aurais, aurez, auront, aussi, aussitôt, autant, autour, autre, autres, autrui, aux, auxquelles, auxquels, av, avaient, avais, avait, aval, avant, avec, avez, avoir, avons, ayant, ayez, ayons, bah, bas, beaucoup, bien, bonté, bout, but, c, cest a dire, cest ŕ dire, ca, car, ce, ceci, cela, celle, celle ci, celle la, celle lŕ, celles, celles ci, celles la, celles lŕ, celui, celui ci, celui la, celui lŕ, cependant, ces, cet, cette, ceux, ceux ci, ceux la, ceux lŕ, chacun, chacune, chaque, chez, chut, ci, circa, combien, comme, comment, commme, compte, contre, crac, crainte, côtč, d, d, dans, de, deca, dedans, dehors, dela, delŕ, depuis, des, desquelles, desquels, dessous, dessus, devant, deçŕ, dire, divers, diverses, donc, dont, du, duquel, durant, dčs...
Palabras vacías del Inglés. Download English stop words
a, about, above, above, across, after, afterwards, again, against, all, almost, alone, along, already, also, although, always, am, among, amongst, amoungst, amount, an, and, another, any, anyhow, anyone, anything, anyway, anywhere, are, around, as, at, back, be, became, because, become, becomes, becoming, been, before, beforehand, behind, being, below, beside, besides, between, beyond, bill, both, bottom, but, by, call, can, cannot, cant, co, con, could, couldnt, cry, de, describe, detail, do, done, down, due, during, each, eg, eight, either, eleven, else, elsewhere, empty, enough, etc, even, ever, every, everyone, everything, everywhere, except, few, fifteen, fify, fill, find, fire, first, five, for, former, formerly, forty, found, four, from, front, full, further, get, give, go, had, has, hasnt, have, he, hence, her, here, hereafter, hereby, herein, hereupon, hers, herself, him, himself, his, how, however, hundred, ie, if...
Palabras vacías del Italiano. Download Italian stop words
ad, al, allo, ai, agli, all, agl, alla, alle, con, col, coi, da, dal, dallo, dai, dagli, dall, dagl, dalla, dalle, di, del, dello, dei, degli, dell, degl, della, delle, in, nel, nello, nei, negli, nell, negl, nella, nelle, su, sul, sullo, sui, sugli, sull, sugl, sulla, sulle, per, tra, contro, io, tu, lui, lei, noi, voi, loro, mio, mia, miei, mie, tuo, tua, tuoi, tue, suo, sua, suoi, sue, nostro, nostra, nostri, nostre, vostro, vostra, vostri, vostre, mi, ti, ci, vi, lo, la, li, le, gli, ne, il, un, uno, una, ma, ed, se, perché, anche, come, dov, dove, che, chi, cui, non, più, quale, quanto, quanti, quanta, quante, quello, quelli, quella, quelle, questo, questi, questa, queste, si, tutto, tutti, a, c, e, i, l, o, ho, hai, ha, abbiamo, avete, hanno, abbia, abbiate, abbiano, avrò, avrai, avrà, avremo, avrete, avranno, avrei, avresti, avrebbe, avremmo, avreste, avrebbero, avevo, avevi, aveva, avevamo, avevate, avevano, ebbi, avesti, ebbe, avemmo, aveste, ebbero, avessi, avesse, avessimo, avessero, avendo, avuto, avuta...
Palabras vacías del Portugués. Download Portuguese stop words
de, a, o, que, e, do, da, em, um, para, é, com, não, uma, os, no, se, na, por, mais, as, dos, como, mas, foi, ao, ele, das, tem, à, seu, sua, ou, ser, quando, muito, há, nos, já, está, eu, também, só, pelo, pela, até, isso, ela, entre, era, depois, sem, mesmo, aos, ter, seus, quem, nas, me, esse, eles, estão, você, tinha, foram, essa, num, nem, suas, meu, às, minha, têm, numa, pelos, elas, havia, seja, qual, será, nós, tenho, lhe, deles, essas, esses, pelas, este , fosse, dele, tu, te, vocês, vos, lhes, meus, minhas, teu, tua, teus, tuas, nosso, nossa, nossos, nossas, dela, delas, esta, estes, estas, aquele, aquela, aqueles, aquelas, isto, aquilo, estou, está, estamos, estão, estive, esteve, estivemos, estiveram, estava, estávamos, estavam, estivera, estivéramos, esteja, estejamos, estejam, estivesse, estivéssemos, estivessem, estiver, estivermos, estiverem, hei, há, havemos, hão, houve, houvemos, houveram, houvera, houvéramos, haja, hajamos, hajam, houvesse, houvéssemos, houvessem, houver, houvermos, houverem, houverei...
Bibliografía
ADAM, G.; BOURAS, C.; POULOPOULOS, V. 2009. CUTER: an Efficient Useful Text Extraction Mechanism. Disponible en: http://ru6.cti.gr/ru6/publications/3267PID838806.pdf
BERRY, M.W.; BROWNE, M. 2005. Understanding search engines: mathematical modeling and text retrieval: Document file preparation. pp. 11-27. Disponible en: http://www.bookf.net/p/7539-understanding-search-engines
LÓPEZ, D. 2011. Information extraction in the WWW: technology and tools for problem solving = Extracción de información en la web, tecnología y herramientas para resolver la problemática. En: SISOB Observatorium for Science in Society based in Social Models. Disponible en: http://sisobproject.wordpress.com/2011/11/18/information-extraction-in-the-www-technology-and-tools-for-problem-solving-extraccion-de-informacion-en-la-web-tecnologia-y-herramientas-para-resolver-la-problematica/
LUHN, H.P. 1960. Keyword-in-context index for technical literature. American Documentation, 11(4). pp. 288–295
MOONEY, R.J.; NAHM, U.Y. 2005. Text Mining with Information Extraction. En: Multilingualism and Electronic Language Management: Proceedings of the 4th International MIDP Colloquium. pp. 141-160. Disponible en: http://www.cs.utexas.edu/~ml/papers/discotex-melm-03.pdf
PASTERNACK, J.; ROTH, D. 2009. Extracting Article Text from the Web with Maximum Subsequence Segmentation. En: WWW 2009 MADRID!, Track: XML and Web Data. Disponible en: http://www2009.eprints.org/98/1/p971.pdf
POPESCU, A.M. 2007. Information Extraction from Unstructured Web Text. Disponible en: http://turing.cs.washington.edu/papers/popescu.pdf
RIJSBERGEN, C.J. 1979. Information Retrieval. Disponible en: http://www.dcs.gla.ac.uk/Keith/Preface.html
SHARP, M. 2001. Text Mining. En: Seminar in Information Studies, Prof. Tefko Saracevic. Disponible en: http://comminfo.rutgers.edu/~msharp/text_mining.htm
SHI, S.; XING, F.; ZHU, M. [et.al.] 2009. Anchor Text Extraction for Academic Search. En: Proceedings of the 2009 Workshop on Text Citation Analysis for Scholarly Digital Libraries, ACL-IJCNLP 2009, pages 10-18. Disponible en: http://dl.acm.org/citation.cfm?doid=1699750.1699753
WENINGER, T.; HSU, W.H. 2010. Text Extraction from the Web via Text-to-Tag Ratio. Disponible en: http://www.cs.illinois.edu/homes/weninge1/pubs/WH_TIR08.pdf
Software
CUNNINGHAM, H.; BONTCHEVA, K.; TABLAN, V. [et.al.] 2012. Gate: General Architecture for text engineering. Disponible en: http://gate.ac.uk/
GANJISAFFAR. Y. 2012. Crawler4j. Disponible en: http://code.google.com/p/crawler4j/
NIKIC, V. 2010. Web Harvest. Disponible en: http://web-harvest.sourceforge.net/
OSWALD, D. 2006. HTML Parser. Disponible en: http://htmlparser.sourceforge.net/
YANG, E.Z. 2012. HTML Purifier. Disponible en: http://htmlpurifier.org/
DROST. I.; INGERSOLL, G.; MARGULIES, B. [et.al.] 2010. Apache OpenNLP. Disponible en: http://incubator.apache.org/opennlp/
No hay comentarios:
Publicar un comentario
Nota: solo los miembros de este blog pueden publicar comentarios.