Pid 00257761
Pid 00257761
y analizar
automáticamente la
información textual
PID_00257761
Joaquim Moré
Joaquim Moré
Los textos e imágenes publicados en esta obra están sujetos –excepto que se indique lo contrario– a una licencia de
Reconocimiento-Compartir igual (BY-SA) v.3.0 España de Creative Commons. Se puede modificar la obra, reproducirla, distribuirla
o comunicarla públicamente siempre que se cite el autor y la fuente (FUOC. Fundació per a la Universitat Oberta de Catalunya), y
siempre que la obra derivada quede sujeta a la misma licencia que el material original. La licencia completa se puede consultar en:
http://creativecommons.org/licenses/by-sa/3.0/es/legalcode.ca
CC-BY-SA • PID_00257761 Cómo interpretar y analizar automáticamente la información textual
Índice
Introducción............................................................................................... 5
2. ¿Preprocesar o no preprocesar?..................................................... 10
2.1. El corpus de análisis .................................................................... 10
2.2. Preprocesado del texto y sus herramientas ................................. 10
2.2.1. Tokenizer ........................................................................ 10
2.2.2. Etiquetador de categoría gramatical .............................. 11
2.2.3. Buscador de n-gramas .................................................... 12
2.2.4. Filtradores de n-gramas ................................................. 13
2.2.5. Parsers y buscadores de patrones sintácticos ................. 17
2.2.6. Software disponible ....................................................... 17
2.3. Resultados .................................................................................... 18
5. Predicción............................................................................................. 46
5.1. Pasos a realizar ............................................................................ 46
5.1.1. Preprocesado .................................................................. 46
5.1.2. Entrenamiento ............................................................... 48
5.1.3. Predicción ...................................................................... 48
5.1.4. Recursos para hacer la predicción ................................. 48
5.2. Resultados .................................................................................... 48
Resumen....................................................................................................... 50
CC-BY-SA • PID_00257761 5 Cómo interpretar y analizar automáticamente la información textual
Introducción
Explicaremos los fundamentos del PLN basándonos en el caso de uso que pre- El caso
sentamos a continuación:
El caso de uso está inspira-
do en los datos de un kernel
que tiene por nombre March
Los directivos de la versión digital del New York Times deciden poner publicidad de 2018 NYT Headline Click Bait,
sus patrocinadores junto a las noticias que provocan más comentarios. de la competición Kaggle: New
York Times Comments. Dispo-
nible en el enlace: https://
Por eso piensan en invertir en la predicción de titulares motivadores de comentarios. www.kaggle.com/aashita/nyt-
De este modo, sabrán qué noticias pueden ir acompañadas de publicidad. comments
Los consultores se ofrecen a hacer este servicio por una cantidad elevada; argumen-
tan que tendrían que subcontratar a un ejército de especialistas en comunicación y
marketing para analizar a fondo los titulares del New York Times de manera manual.
Afortunadamente, los directivos del New York Times conocen una pequeña empresa
llamada S&S (Sense and Suitability), especializada en procesamiento del lenguaje na-
tural. En el pasado, S&S había automatizado algunos procesos de búsqueda de infor-
mación y análisis de las noticias por parte de los redactores y, por consiguiente, los
directivos piensan que el análisis de los titulares también se puede automatizar apli-
cando técnicas de PLN, lo cual supondría un ahorro importante de dinero.
Los directivos se ponen en contacto con S&S, que se muestra interesada en el pro-
yecto. La empresa plantea una propuesta: en un mes tendrán preparada una prueba
de concepto para demostrar que es viable hacer, con métodos de PLN, un análisis de
titulares para clasificar los que son motivadores de opinión.
Titular:�The "Daily Show" host said the attacks of the president on fellow Re-
publicans at a meeting reminded him of "a drunk uncle calling everyone out at
a wedding".
['The', '"Daily', 'Show"', 'host', 'said', 'the', 'attacks', 'of', 'the', 'president', 'on',
'fellow', 'Republicans', 'at', 'a', 'meeting', 'reminded', 'him', 'of', '"a', 'drunk', 'un-
cle', 'calling', 'everyone', 'out', 'at', 'a', 'wedding."']
El análisis de los resultados obtenidos por el método de split hace que afloren
las distintas maneras que tienen los miembros de S&S de abordar el encargo.
Por un lado, Peter, que es el coordinador del equipo de desarrollo, sabe por ex-
periencia que algoritmos muy simples pueden solucionar problemas comple-
jos. Él tiene en mente probar un análisis estrictamente cuantitativo que con-
siste en verificar si la longitud de los titulares está relacionada con el núme-
ro de comentarios. Joseph, un ingeniero informático especialista en machine
learning, está de acuerdo en explorar este método. Para Peter y Joseph, la lista
obtenida por el método de split les parece adecuada.
En cambio, Beth, Anne y Henry son unos miembros del equipo que creen que
debe abordarse el objetivo con criterios cualitativos, concretamente con crite-
rios semánticos. Piensan que el contenido semántico del titular, lo que dice,
influye en los lectores y les motiva a escribir comentarios. Con esta idea en
mente, Beth, Anne y Henry no están de acuerdo en considerar todos los ele-
mentos de la lista de la tabla 1 como palabras. Veamos algunas de sus razones.
CC-BY-SA • PID_00257761 8 Cómo interpretar y analizar automáticamente la información textual
«Wedding. "», por ejemplo, no es una palabra, aunque sí lo es wedding. Wed- Bibliografía
ding, sin las comillas y el punto, tiene un contenido semántico, mientras que
Sobre la palabra como símbo-
«wedding. "» no lo tiene. Por la misma razón, en vez de "Daily se debería con- lo compuesto de significante
siderar Daily, en vez de Show" se debería considerar Show, y en vez de "a se y significado, véase Cours de
linguistique générale, de Fer-
debería considerar a. Para Beth, que estudió filología y tiene muy interioriza- dinand�de�Saussure,�Char-
les�Bally y Albert�Sechehaye
da la noción de palabra que le enseñaron en la facultad, las comillas y los sig-
(1916).
nos de puntuación son elementos tipográficos que se adhieren a la palabra en
los textos escritos, pero que no tienen presencia en otros canales de comuni-
cación. La palabra es un signo compuesto de significante y significado en el
medio escrito y también en el oral. El significante de una palabra es la forma,
que corresponde a su pronunciación, y el significado es el concepto al que la
palabra hace referencia. Por lo tanto, las palabras de la lista tendrían que estar
despojadas de elementos tipográficos que rompen la relación entre el signifi-
cante y su significado.
Por lo tanto, Beth, Anne y Henry quieren obtener una lista donde los elemen-
tos con signos de puntuación no se distingan del elemento sin signo de pun-
tuación. De esta manera, también será posible contar la frecuencia de palabras
que tienen el mismo significado. A continuación se compara la frecuencia de
las palabras según el método de split y la frecuencia de palabras según la rela-
ción del significante con el significado (véase notebook PLA-1 1.2).
Tabla 2. Frecuencias de las palabras del titular según el método de split y de relación significante
y significado
Titular: The "Daily Show" host said the attacks of the president on fellow Republicans at a
meeting reminded him of "a drunk uncle calling everyone out at a wedding".
Relación�significante�con�significado 'a ': 3, 'at ': 2, 'The ': 1, 'Daily': 1, 'Show ': 1, 'host ':
1, 'said ': 1, 'the ': 2, 'attacks': 1, 'president ': 1, 'on':
1, 'fellow': 1, 'Republicans': 1, 'meeting': 1, 'remin-
ded': 1, 'him': 1, 'of': 2, 'drunk': 1, 'uncle': 1, 'calling':
1, 'everyone': 1, 'out': 1, 'wedding': 1
Tabla 3. Frecuencias de las palabras del titular sin distinguir mayúsculas y minúsculas
Titular:�The "Daily Show" host said the attacks of the president on fellow Republicans at a
meeting reminded him of "a drunk uncle calling everyone out at a wedding".
CC-BY-SA • PID_00257761 9 Cómo interpretar y analizar automáticamente la información textual
Los tres consideran que estas combinaciones de palabras forman una palabra
en sí misma. Así pues, una palabra es también la combinación de dos o más
palabras. Eso sí, el significado de esta palabra trasciende o es diferente de la
unión de los significados de las palabras que la forman. Esta consideración de
palabra es distinta de la consideración de palabra como una sola unidad que
tienen Peter y Joseph, que es la más popular.
2. ¿Preprocesar o no preprocesar?
Peter decide reunirse tres días después para contrastar los resultados obtenidos
y decidir cuál es la mejor aproximación.
Peter pide al New York Times una muestra de titulares para poder preparar la
propuesta. Al día siguiente, el New York Times entrega a S&S una hoja de cálculo
que recoge todos los titulares del mes de marzo de 2018, con los respectivos
cuerpos de noticia y el número de comentarios.
2.2.1. Tokenizer
Dado un texto, el tokenizer lista los tokens de ese texto. Token es otro término
inglés de uso común entre especialistas en PLN. El token es la unidad textual
mínima procesada que no siempre corresponde a un término, como se puede
ver en la tabla 4 (véase notebook PLA-1 2.1)
Titular:�The "Daily Show" host said the attacks of the president on fellow Republicans at a
meeting reminded him of "a drunk uncle calling everyone out at a wedding".
Tokens ['The', '``', 'Daily', 'Show', "''", 'host', 'said', 'the', 'attacks', 'of',
'the', 'president', 'on', 'fellow', 'Republicans', 'at', 'a', 'meeting',
'reminded', 'him', 'of', '``', 'a', 'drunk', 'uncle', 'calling', 'everyo-
ne', 'out', 'at', 'a', 'wedding', '.', "''"]
Ella sugiere un criterio para filtrar los tokens que no son palabras, gracias al cual
no hay que entretenerse encontrando soluciones ad hoc para cada excepción.
El criterio es el siguiente: los�tokens�que�no�tengan�una�categoría�gramatical
clásica�serán�filtrados.
Cuando Anne y Henry le preguntan qué quiere decir con categoría gramatical-
clásica, ella responde: «Pues el nombre, el verbo, el adjetivo, el adverbio, el
pronombre, el determinante, la preposición y la conjunción».
Para poner en práctica esta idea, utilizan lo que se conoce como un etiquetador
de categoría gramatical. Este etiquetador asigna a cada token una etiqueta que
describe su categoría gramatical.
CC-BY-SA • PID_00257761 12 Cómo interpretar y analizar automáticamente la información textual
Titular: The "Daily Show" host said the attacks of the president on fellow Republicans at a
meeting reminded him of "a drunk uncle calling everyone out at a wedding".
PoS�tagging [('the', 'DT'), ('``', '``'), ('daily', 'JJ'), ('show', 'NN'), ("''", "''"),
('host', 'NN'), ('said', 'VBD'), ('the', 'DT'), ('attacks', 'NNS'), ('of',
'IN'), ('the', 'DT'), ('president', 'NN'), ('on', 'IN'), ('fellow', 'JJ'),
('republicans', 'NNS'), ('at', 'IN'), ('a', 'DT'), ('meeting', 'NN'),
('reminded', 'VBD'), ('him', 'PRP'), ('of', 'IN'), ('``', '``'), ('a',
'DT'), ('drunk', 'JJ'), ('uncle', 'NN'), ('calling', 'VBG'), ('everyone',
'NN'), ('out', 'RB'), ('at', 'IN'), ('a', 'DT'), ('wedding', 'NN'), ('.',
'.'), ("''", "''")]
Siguiendo el criterio de Beth, las palabras serían los tokens que tienen etiquetas
que empiezan por N (nombre), por DT (determinante) y por V (verbo). Tam-
bién las preposiciones (con etiqueta «IN»), pronombres (con etiqueta «PRP»)
y adverbios (con etiqueta «RB»).
Existe la etiqueta de nombre propio (NPP) y hay etiquetadores que son sensi-
bles al hecho de que el token tenga una mayúscula inicial y etiquetan un de-
terminante, o cualquier token que no es un nombre, como un nombre propio.
Para evitar confusiones, Beth, Anne y Henry deciden poner los titulares en
minúscula.
Anne propone asumir que los términos multipalabra más largos en inglés son
trigramas. Por eso utilizan un buscador de los bigramas y trigramas que hay
en los titulares del New York Times. En el notebook PLA-1. 2.4 se enseña cómo
se buscan los bigramas y trigramas de un texto. Los bigramas y trigramas en-
contrados se muestran en la tabla 6.
Titular:�The "Daily Show" host said the attacks of the president on fellow Republicans at a
meeting reminded him of "a drunk uncle calling everyone out at a wedding".
bigramas [('the', '``'), ('``', 'daily'), ('daily', 'show'), ('show', "''"), ("''",
'host'), ('host', 'said'), ('said', 'the'), ('the', 'attacks'), ('attacks',
'of'), ('of', 'the'), ('the', 'president'), ('president', 'on'), ('on', 'fe-
llow'), ('fellow', 'republicans'), ('republicans', 'at'), ('at', 'a'), ('a',
'meeting'), ('meeting', 'reminded'), ('reminded', 'him'), ('him',
'of'), ('of', '``'), ('``', 'a'), ('a', 'drunk'), ('drunk', 'uncle'), ('uncle',
'calling'), ('calling', 'everyone'), ('everyone', 'out'), ('out', 'at'),
('at', 'a'), ('a', 'wedding'), ('wedding', '.'), ('.', "''")]
trigramas [('the', '``', 'daily'), ('``', 'daily', 'show'), ('daily', 'show', "''"),
('show', "''", 'host'), ("''", 'host', 'said'), ('host', 'said', 'the'),
('said', 'the', 'attacks'), ('the', 'attacks', 'of'), ('attacks', 'of', 'the'),
('of', 'the', 'president'), ('the', 'president', 'on'), ('president', 'on',
'fellow'), ('on', 'fellow', 'republicans'), ('fellow', 'republicans',
'at'), ('republicans', 'at', 'a'), ('at', 'a', 'meeting'), ('a', 'meeting',
'reminded'), ('meeting', 'reminded', 'him'), ('reminded', 'him',
'of'), ('him', 'of', '``'), ('of', '``', 'a'), ('``', 'a', 'drunk'), ('a', 'drunk',
'uncle'), ('drunk', 'uncle', 'calling'), ('uncle', 'calling', 'everyo-
ne'), ('calling', 'everyone', 'out'), ('everyone', 'out', 'at'), ('out',
'at', 'a'), ('at', 'a', 'wedding'), ('a', 'wedding', '.'), ('wedding', '.',
"''")]
Henry dice que cuando Peter, el coordinador, vea la tabla de n-gramas le dará
un ataque. Teme que cuando vea que para un solo titular es necesario procesar
tantos n-gramas con palabras combinadas con signos de puntuación, y con
combinaciones tan poco informativas como 'out at a', ‘republicans at', etc., dirá
que la vía que han querido tomar es inaplicable.
Anne piensa que las combinaciones con signos de puntuación se podrían evi-
tar si estos signos se sacaran del titular antes de hacer la búsqueda de n-gramas.
Beth dice que esto no es correcto porque precisamente los signos de puntua-
ción separan las palabras y las frases. La eliminación de los signos de puntua-
ción significaría tomar como n-gramas combinaciones de palabras que origi-
nalmente estaban en frases distintas.
CC-BY-SA • PID_00257761 14 Cómo interpretar y analizar automáticamente la información textual
1)�Filtrado�con�diccionarios�y�otras�bases�de�datos�léxicas
Beth plantea un filtrado de n-gramas que consiste en tomar aquellos n-gramas Adaptaciones de Wordnet
de orden superior a 1 que aparecen como entradas en diccionarios electróni-
Actualmente, hay bases de da-
cos, como Wiktionary, fuentes enciclopédicas como Wikipedia u ontologías tos léxicas que son adaptacio-
como Wordnet. Hablaremos más extensamente sobre Wordnet en otros apar- nes del Wordnet a otras len-
guas. Hay Wordnets para el es-
tados, pero de momento, diremos que Wordnet es una base de datos léxica pañol, catalán, gallego, euske-
ra, entre otras lenguas euro-
de la lengua inglesa, desarrollada por la universidad de Princeton y organiza- peas, financiados bajo el para-
guas del proyecto europeo Eu-
da como una ontología. Más adelante, explicaremos las características de una roWordnet (LE-2 4003), en el
ontología y su potencial. que participaron la UPC, la UB,
la Universidad del País Vasco,
la UNED y la Universidad de
Vigo.
Anne plantea algunas objeciones al planteamiento de Beth. La principal ob-
jeción es que en los titulares aparecen términos multipalabra que no están
recogidos en ningún recurso léxico que hemos mencionado, sea porque son Nota
de un dominio muy específico o porque son expresiones que tienen un uso
Si los titulares estuvieran escri-
intenso durante un periodo corto de tiempo y luego se dejan de usar. tos en una lengua minoritaria,
la objeción principal sería la
falta de recursos léxicos en es-
2)�Filtrado�con�criterios�tipográficos ta lengua para ser consultados
por una herramienta de proce-
samiento del lenguaje natural.
Las comillas marcan el inicio y el final de un término multipalabra, como,
por ejemplo, “Daily Show”. Anne plantea buscar cuatrigramas (n-gramas de
orden 4) que tengan las comillas como token inicial y final (p. ej. ('”', 'daily',
'show', '”')). La colocación estaría formada por los dos tokens que ocupan las
posiciones intermedias (‘daily show’).
Este filtrado tiene sus limitaciones, puesto que no todos los autores de los
titulares marcan explícitamente las colocaciones con unas comillas.
3)�Filtrado�con�métodos�estadísticos
Estas métricas se explican en el capítulo 5 del libro de Manning y Schütze (2000), Foun-
dations of Natural Language Processing. También en los apartados 3.1 y 6.7 del libro de
Jurafsky y Martin (2018), Speech and Language Processing.
Por tanto, una colocación se puede considerar como una secuencia de palabras Colocación
que muy frecuentemente aparecen juntas, lo cual es inusual. En el notebook
Según Natural Language Pro-
PLA-1 2.5 se puede ver cómo se buscan los bigramas y trigramas, que son co- cessing with Python: A colloca-
locaciones utilizando la métrica PMI. El resultado se muestra en la tabla 7. tion is a sequence of words that
occur together unusually often.
Texto:�The "Daily Show" host said the attacks of the president on fellow Republicans at a mee-
ting reminded him of "a drunk uncle calling everyone out at a wedding".
N-gramas�que�superan�el�filtrado
4)�Filtrado�con�stop�words
Por lo tanto, para buscar términos multipalabra deberían filtrarse los n-gramas
que tienen un stopword al inicio o al final. En el notebook PLA-1 2.6 se puede
ver cómo se filtran los n-gramas con la lista de stopwords del NLTK, que es
una librería en Python especializada en procesamiento del lenguaje natural.
El resultado se muestra en la tabla 8.
Texto:�The "Daily Show" host said the attacks of the president on fellow Republicans at a mee-
ting reminded him of "a drunk uncle calling everyone out at a wedding."
N-gramas�que�superan�el�filtrado
En la red es fácil encontrar listas de stop words, sobre todo del inglés. Beth,
sin embargo, cree que su utilidad depende del criterio de las personas que las
han elaborado. Por ejemplo, piensa que everyone debería estar en esta lista, y
también recuerda haber visto, en la lista, palabras que no le interesaba filtrar.
5)�Filtrado�según�el�PoS�de�los�constituyentes�del�n-grama
(1)
Beth cree que hay una alternativa al filtraje con stop words que es más eficaz y Con etiqueta VBG
que consiste en aplicar un criterio gramatical que es el siguiente: se filtran los
(2)
n-gramas cuya palabra inicial o final es un determinante, pronombre, verbo Por ejemplo, con etiqueta VBD
Texto:�The "Daily Show" host said the attacks of the president on fellow Republicans at a mee-
ting reminded him of "a drunk uncle calling everyone out at a wedding".
N-gramas�que�superan�el�filtrado
Tabla 10. Términos multipalabra del texto que tienen el patrón Nombre y Nombre + Nombre
Texto:�The "Daily Show" host said the attacks of president Trump on fellow
Republicans at a meeting reminded him of "a drunk uncle calling everyone out
at a wedding".
El parser hace el etiquetaje de categoría gramatical con el PoS tagger que clasifica
everyone como un nombre. Ahora bien, hay parsers cuyo PoS tagger toma un
criterio distinto y lo etiqueta como pronombre, con lo cual everyone no saldría
en la lista de términos.
Hay una variedad de software de código abierto con el que se pueden listar
los tokens, hacer el etiquetado de categorías gramaticales, buscar los n-gramas
y las colocaciones y hacer un análisis sintáctico de un texto. Todos son igual-
mente recomendables. El analista puede utilizar el software en el lenguaje de
programación con el que se sienta más cómodo o le sea más fácil de integrar
en el entorno de análisis. A continuación presentamos una tabla con algunos
de los más conocidos y utilizados.
2.3. Resultados
Henry, Beth, Anne y Joseph se reúnen con Peter, el coordinador, para mostrar
y discutir los resultados que han obtenido.
Joseph tenía que ver si existía una relación entre la longitud de los titulares
y el número de comentarios. Su análisis no requería un preprocesado de los
titulares, pues se limitaba a cortarlos (split) allí donde había un espacio en
blanco y calculaba la longitud de la lista de elementos separados.
Los resultados obtenidos por Joseph muestran que la longitud de los titulares
no es un dato relevante. El grado de correlación entre la longitud y el número
de comentarios es muy bajo (figura 1) y la línea de regresión es prácticamente
plana (figura 2).
Por su parte, Anne, Beth y Henry explican en la reunión que han trabajado en
el preprocesado de los titulares y en la elaboración de algoritmos para detectar
los términos mono y multipalabra. Les queda por hacer la exploración de los
términos y detectar los que son más relevantes para relacionar los titulares con
el número de comentarios.
Vistos los resultados obtenidos con el no procesado de los titulares, Peter dice a
todos los miembros del grupo que se involucren en la exploración de términos
y quedan para la semana siguiente para discutir los resultados obtenidos.
CC-BY-SA • PID_00257761 20 Cómo interpretar y analizar automáticamente la información textual
En este apartado presentaremos los aspectos que hay que tener en cuenta a
la hora de detectar y procesar las palabras más relevantes para el análisis. En
nuestro caso de uso, las palabras más relevantes son las palabras de los titulares
que supuestamente influyen en el lector y le motivan a escribir comentarios.
Como en el apartado anterior, expondremos estos aspectos y también los re-
cursos disponibles explicando cómo los miembros de S&S se van enfrentando
a los problemas más comunes.
Anne, Beth, Joseph y Henry son conscientes de que tienen que enfrentarse
a la llamada Ley� de� Zipf. Una ley que contradice el mito de que los datos
relevantes están entre los datos más frecuentes. Este mito puede ser cierto para
muchos tipos de datos, pero cuando los datos son lingüísticos, no funciona.
Ley�de�Zipf
Según esta ley, las palabras que ocupan las primeras posiciones concentran el
mayor porcentaje de las palabras de un texto. Lo relevante es que entre estas
palabras están los artículos, las preposiciones o las conjunciones. Palabras que,
a pesar de repetirse mucho en el texto, no aportan casi nada de contenido.
Zipf formuló su ley para demostrar la tendencia que tienen los humanos a
hacer las cosas con el mínimo esfuerzo. Si el receptor es capaz de entender el
mensaje cuando el emisor utiliza las palabras más importantes N veces, ¿por
qué repetirlas más veces? Las palabras que se repiten mucho son aquellas cuya
función es la de articular el mensaje de manera reconocible y comprensible
para el receptor. Por ejemplo, que el receptor sepa en qué lengua le están ha-
blando; esta es la función principal de los artículos, preposiciones, etc.
CC-BY-SA • PID_00257761 21 Cómo interpretar y analizar automáticamente la información textual
(3)
La ley se cumple ya sea con un libro, un artículo, una noticia, etc. Y los titu- En el notebook PLA-1. 3.1 está el
3 script que genera la gráfica
lares del NewYorkTimes no son una excepción. La siguiente gráfica muestra
la relación entre la frecuencia y el rango de los términos monopalabra de los
titulares del New York Times. El rango es la posición que un término ocupa en
la lista de términos ordenados por frecuencia.
Las palabras que tienen más información siempre estarán en la parte más ba-
ja de la curva. Incluso pueden ser hapax legomenon, que significa ‘dicho una
sola vez’, en griego, ya que, ¿por qué tengo que repetir una y otra vez una
palabra que, dicha una sola vez, ya queda claro cuál es el mensaje que quiero
transmitir?
Hay distintos algoritmos de stemming, por lo que los resultados pueden variar
según el algoritmo elegido.
3.3.2. Sinonimia
Anne cree que la normalización de los datos puede ir más allá agrupando tér-
minos por su significado. El criterio más evidente de agrupación de términos
según su significado es la relación de sinonimia. Es decir, Anne piensa en pro-
cesar expresiones variantes del mismo significado y pone como ejemplo con-
tar formas variantes del concepto de matar. De esta manera, se contarían tér-
minos monopalabra y multipalabra como kill y put_to_death como variantes
de este concepto, al igual que se contarían President Trump, President Donald
Trump o Donald Trump como referencias al mismo personaje.
CC-BY-SA • PID_00257761 23 Cómo interpretar y analizar automáticamente la información textual
Anne sabe muy bien la importancia que tiene la sinonimia, pues recuerda su
análisis con métodos de PLN de las ofertas laborales en inteligencia de nego-
cio. Anne no podía imaginarse que la sinonimia le supondría un verdadero
quebradero de cabeza. Unas ofertas de trabajo ponían business intelligence, en
otras BI y en otras Business Analytics; también había quien ponía DW en vez
de Data Warehouse, etc. Se le pusieron los pelos de punta cuando Peter le dijo
que se estaba hablando de hacer el mismo análisis para una empresa española
con ofertas publicadas en España y también con ofertas publicadas en países
de Sudamérica, lo cual suponía unificar la referencia a los mismos conceptos
en todas las variantes del español. El proyecto finalmente no se llevó a cabo.
3.3.3. Hiperonimia
Por ejemplo, las palabras pistola, rifle, escopeta comparten el mismo hi-
perónimo, arma, con lo cual, se podrían agrupar estas palabras a un
nivel más abstracto que el de la sinonimia. Las palabras que comparten
un hiperónimo H se conocen como los hipónimos de H.
Beth cree que los datos relevantes para el proyecto no son tanto los términos
como los hiperónimos. Considera que los hiperónimos son como los temas
de los que habla un titular, y que habría que orientar el proyecto en poder
hacer afirmaciones como esta: «Cuando se habla de armas o deportes hay más
comentarios».
(4)
A continuación presentamos un ejemplo de normalización de términos que Fire tienen el sentido de crítica
4 en este ejemplo, un sentido que
son N y N+N. Los términos attacks y fire se normalizan en un solo término no es el que nos viene primero a la
por compartir el mismo hiperónimo. mente cuando la palabra está sin
contexto.
Por ejemplo, en la frase The inhabitants house the inmigrants in their own house, la forma
house tiene dos PoS diferentes. El primer house es un verbo y el segundo house es un
sustantivo. El verbo house significa ‘alojar’ y el sustantivo significa ‘casa’. Por lo tanto, el
lema house no debería aglutinar estas dos formas.
Por otro lado, dos formas idénticas con el mismo PoS pueden tener significados
diferentes.
Por ejemplo, tenemos run, que es la forma de dos verbos distintos. El verbo run puede
significar ‘correr’ y también puede significar ‘ejecutar’, como en this software can run se-
veral tasks at the same time.
3.3.5. Recursos
Wordnet, como base de datos léxica organizada como una ontología, es ade-
más una herramienta básica para desarrollar la normalización de los términos
según las relaciones de sinonimia e hiperonimia.
La desambiguación o WSD es una tarea que deben realizar los parsers, pues
una correcta representación sintáctica depende de lo bien que desambigüen
el PoS y el sentido de las palabras.
FreeLing
FreeLing, desarrollado en la UPC por Lluís Padró, además del inglés y español, analiza
textos en catalán, euskera y gallego, entre otras lenguas. Véase http://nlp.lsi.upc.edu/
freeling y X.�Carreras;�I.�Chao;�L.�Padró y M.�Padró (2004). FreeLing: An Open-Source
Suite of Language Analyzers. Proceedings of the 4th International Conference on Language
Resources and Evaluation (LREC'04).
3.3.6. Resultados
Llega el día en que tienen que mostrar a Peter los resultados obtenidos. Sola- Bibliografía
mente han tenido tiempo de normalizar el texto vía lematización. También
Sobre las relaciones de sino-
han unificado términos como Mr. Trump o Donald Trump con el término aglu- nimia, hiperonimia y otras,
tinador Trump. Han preferido la lematización al stemming porque los lemas son véase el capítulo 6 del libro
de Jurafsky y Martin (2018)
más fácilmente reconocibles a la hora de verificar el proceso de normalización Speech and Language Proces-
sing.
del texto que las raíces de las palabras, que pueden ser a menudo confusas.
La normalización por medio de relaciones semánticas como la sinonimia, la
hiperonimia, etc., propuesta por Beth, se presenta como una posibilidad que
hay que considerar.
Anne, Beth y Henry presentan un tag cloud (figura 4) de la frecuencia de los tér-
minos mono y multipalabra lematizados —en el notebook PLA-1 3.3 se muestra
cómo se hace. A Peter le llama la atención que Trump y president estén entre los
términos más frecuentes. También considera que hay muchos términos que
por sí solos no aportan nada (p. ej. say, go, new) porque pueden aparecer en
todos los titulares, motivadores de comentarios o no, y hay otros términos que
posiblemente son subalternos a términos que son más relevantes y tendrían
que estar más destacados. Por ejemplo, le queda la duda de si president es un
término vinculado a Trump, o bien es un término que indica que los presiden-
tes, sean cuales sean, provocan comentarios en los lectores.
Por lo tanto, Peter les dice que trabajen para encontrar las palabras realmente
relevantes y les cita para la semana siguiente.
CC-BY-SA • PID_00257761 26 Cómo interpretar y analizar automáticamente la información textual
3.4.1. Vectorizador
(5)
La tabla 14 muestra el term-document-matrix de cuatro obras de Shakespeare El ejemplo es la figura 6.2 del li-
5 bro de Jurafsky y Martin (2018).
suponiendo que el vocabulario de estas obras es de cuatro palabras .
battle 1 1 8 15
soldier 2 2 12 36
fool 37 58 1 5
CC-BY-SA • PID_00257761 27 Cómo interpretar y analizar automáticamente la información textual
clown 5 117 0 0
Veamos ahora cómo se vectorizan cuatro titulares del New York Times con un
countvectorizer. Los titulares son los siguientes:
T1: Trump proclaims tariffs on steel, and a tariff on aluminium and stocks sag
in reply
T1 T2 T3 T4
Trump 1 1 1 0
tariff 2 0 0 0
steel 1 0 0 0
stock 1 0 0 0
reply 1 0 0 0
trade 0 1 1 1
war 0 1 1 1
growth 0 1 0 0
trade_war 0 1 1 1
aluminium 1 0 0 0
macroeconomics 0 0 0 1
CC-BY-SA • PID_00257761 28 Cómo interpretar y analizar automáticamente la información textual
T1: [ 1, 2, 1, 1, 1, 0, 0, 1, 0, 1, 0 ]
T2: [ 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0 ]
T3: [ 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0 ]
T4: [ 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1 ]
A partir de este momento, los titulares de las noticias con más comentarios se
llamarán titulares TOP. Los titulares restantes serán titulares NOTOP. Los titu-
lares de tipo TOP son los titulares de las noticias con un número de comenta-
rios que superan la media.
Henry propone vectorizar los titulares con el llamado vectorizador tf.idf. El vec-
torizador tf.idf se aplicaría a partir de un term-document-matrix con dos colum-
nas: una para los titulares TOP y otra para los titulares NOTOP. Las filas descri-
birían el vocabulario de términos de todos los titulares y cada celda contendría
un valor numérico indicativo de la contribución de un término a los titulares
TOP y NOTOP. La contribución no es la frecuencia del término en un tipo de
titular, sino el valor de una métrica llamada tf.idf.
La métrica es la combinación de otras dos métricas. El tf, o Term frequency, que Bibliografía
es la frecuencia total de t en d; y el idf, Inverse document frequency, que es la
Sobre el peso y la relevan-
inversa del número de documentos de la colección en los que aparece. cia de los términos según
su tf.idf, véase el apartado
15.2.2 del libro de Manning
La fórmula es la siguiente: y Schütze (2000) y también
los apartados 6.5 y 6.6 del
libro de Jurafsky y Martin
(2018). En la entrada tf.idf
tf.idf(t, d, D) = tf(t, d) * idf(t, D) de la Wikipedia hay una ex-
plicación extensa de la fór-
mula y un ejemplo concreto.
t: término; d: documento; D: colección de documentos (https://en.wikipedia.org/wi-
ki/Tf–idf)
Nota
Puesto que los términos que aparecen en todos los documentos tendrían un valor de
IDF igual a 0, porque el logaritmo de 1 es 0, para evitar casos de multiplicación por 0,
podemos encontrar una versión de la fórmula en la que el IDF se describe como 1 + log(N/
n), donde N es el número total de documentos y n es el número de documentos que
contienen el término t.
Tabla 16. Vectorización de una colección de dos documentos con un tf.idf vectorizer
[
T1 0 'aluminium', 0.32
1 ‘growth’ 0
2 'proclaims' 0.32
3 'reply' 0.32
4 'steel' 0.32
5 'stocks' 0.32
6 'tariff', 0.64
7 'trade' 0
8 ‘trade_war’ 0
9 'trump' 0.23
10 ‘war’ 0
]
[
T2 0 'aluminium', 0.0
1 ‘growth’ 0.47
2 'proclaims' 0.0
3 'reply' 0.0
4 'steel' 0.0
5 'stocks' 0.0
67 'tariff', 0.0
8910 'trade' 0.47
‘trade_war’ 0.47
'trump' 0.33
‘war’ 0.47
]
3.4.4. Recursos
3.4.5. Resultados
En la reunión con Peter, Henry, Anne, Beth y Joseph presentan los resultados
de haber vectorizado un documento que recoge todos los titulares TOP con
un vectorizador tf.idf. La siguiente tabla muestra los diez primeros términos
de los titulares TOP ordenados por su valor de tf.idf. Los resultados muestran
que Trump es el término más significativo y característico de los titulares TOP.
CC-BY-SA • PID_00257761 32 Cómo interpretar y analizar automáticamente la información textual
Antes de salir del despacho, Peter les dice que quizá la clave sea conocer las
connotaciones que tiene la palabra Trump en los titulares de New York Times.
Conocer una palabra no se limita a su denotación. Una palabra como Trump
se debe conocer en el contexto del ideario del periódico. Al cabo de un rato
de estar hablando sobre cómo se conoce una palabra, Peter les dice: «No sé si
viene a cuento, pero recuerdo que una vez el lingüista J. R. Firth dijo que una
palabra se la conoce por sus compañías, una idea que se remonta a Ludwig
Wittgenstein». Sin darle mucha importancia a lo que piensan, que es una más
de las citas a las que Peter les tiene acostumbrados, los miembros del equipo
deciden irse a comer.
Cuando se reúne el equipo, Joseph les recuerda lo que Peter les dijo sobre que
una palabra se la conoce por sus compañías. Compañía implica proximidad,
por lo cual, si hay que conocer la palabra Trump por los titulares del New York
Times, deben saber qué palabras le son próximas.
titulares de noticia que provocan más comentarios, habría que vectorizar los
términos y situarlos en un espacio vectorial donde poder ver los términos pró-
ximos. La pregunta es: ¿cómo convertir un término en un vector?
Figura 7. One-hot vector que representa el término Trump en un vocabulario de diez términos
0 0 1 0 0 0 0 0 0 0
Imaginemos ahora cómo serían los one-hot vectors de los términos de los titu-
lares del New York Times y de los términos de la Wikipedia. Vectores de cente-
nares de miles, incluso millones de dimensiones, todas con cero y un solo 1.
Cuando los vectores tienen una dimensionalidad muy grande porque el voca-
bulario es muy extenso, procesar one-hot vectors tiene un coste computacional
que no corresponde a los datos que se pueden obtener.
Por ejemplo, sería de esperar que los vectores de dos términos sinónimos fueran iguales o,
como mínimo, muy cercanos. Sin embargo, los one-hot vectors de dos términos sinónimos
pueden ser muy diferentes, porque la única dimensión que no es cero puede ocupar
índices dispares en los vectores que representan los dos términos.
CC-BY-SA • PID_00257761 34 Cómo interpretar y analizar automáticamente la información textual
3.5.4. Word2Vec
Enlace de interés
Word2Vec es un método que recientemente ha tenido un gran impacto. Es Para ver cómo se imple-
un método que, por un lado, reduce la dimensión de los vectores que repre- menta el Word2Vec con
una red neuronal: https://
sentan los términos y, a la vez, captura la relación semántica entre los térmi- towardsdatascience.com/
learn-word2vec-by-
nos del vocabulario. Además, es un método muy sugerente, porque se basa
implementing-it-in-
en un proceso cognitivo que se ha modelado mediante una red neuronal y es tensorflow-45641adaf2ac
representante de una corriente del machine learning, llamada deep learning, con
proyección a la inteligencia artificial.
En la siguiente frase: «el hijacok tiene un sabor dulce», aunque no sepamos qué es el hi-
jacok, intuimos que es un alimento, porque comparte contexto con palabras como man-
zana u otros términos de comida.
Se han hecho estudios para ver si en otros dominios también se cumple este
principio, definiendo contexto como ‘la distribución de la población en una
zona geográfica’, por ejemplo. De este modo, se puede aplicar a distintos do-
minios el potencial predictivo y de descubrimiento de relaciones no eviden-
tes que tiene este método (recomendadores, traducción automática, descubri-
miento de casuísticas «escondidas» en informes médicos, etc.)
Otra aplicación del word embeddings es Glove (Global Vectores for Word Repre-
sentation), de la Universidad de Stanford, también disponible en Python y en
Java (JGloVe). La diferencia respecto a Word2Vec es que Glove cuenta los con-
textos coocurrentes (context-counting vectors) mientras Word2Vec los predice
(context-predicting vectors).
Facebook también ha creado una librería para hacer word embeddings. Se llama
Fasttext, y tiene la particularidad de que toma combinaciones de caracteres
(n-gramas de caracteres) como una unidad mínima para hacer los word embed-
dings. También está disponible en Python.
Para abordar retos del procesamiento del lenguaje natural aplicando deep lear- Bibliografía
ning, es de destacar la librería open source TensorFlow, distribuida por Google en
T.�Ganegedara (2018). Natu-
lenguaje Python. TensorFlow no solo es útil para explotar las posibilidades de ral Language Processing with
los word�embeddings; también se aplica a la traducción automática, los asis- TensorFlow. Packt Publishing.
Henry, Beth, Anne y Joseph deciden hacer un modelo de los titulares TOP con
el método Word2Vec. Gracias a este modelo, podrán conocer el término Trump
y sus compañías. Creen que si sacaran el término Trump como si estuviera en
un cesto de cerezas, este se llevaría consigo los términos más significativos de
los titulares por tener contextos parecidos. Asumen que los vectores embedded
de estos términos están cerca del de Trump.
(6)
En el notebook PLA-1. 3.5 se muestra la creación del modelo de los titulares En el notebook PLA-1 3.5 se uti-
liza el algoritmo de la librería Gen-
de tipo TOP, cómo se entrena con él y la visualización de la distancia entre
sim para detectar términos.
los vectores de los términos6. La representación de los vectores de múltiples
dimensiones es difícil de visualizar.
(7)
La figura 7 muestra la lista de tuplas con los términos más próximos a Trump7, Las variantes sinónimas Donald
Trump y Mr.Trump se han aglutina-
ordenados según su valor de proximidad. El modelo Word2Vec se ha hecho do en el término Trump.
con términos que aparecen como mínimo tres veces.
CC-BY-SA • PID_00257761 37 Cómo interpretar y analizar automáticamente la información textual
Ahora bien, Beth considera que el modelo Word2Vec de los titulares TOP to-
davía es disperso y confuso por la presencia de términos como go, say o get,
que aportan muy poco como términos motivadores de comentarios.
CC-BY-SA • PID_00257761 39 Cómo interpretar y analizar automáticamente la información textual
Beth quiere tener una visión más global y coherente de los términos agrupán-
dolos por temas (topics). Según ella, es de esperar que la agrupación por topics
permita identificar los titulares TOP con un criterio más general y objetivo.
Por ejemplo, car, van, etc. son más cercanas porque son hipónimos más directos de vehicle,
que no, en cambio, car y knife teniendo artifact como su hiperónimo común.
La libreria NLTK permite calcular la distancia entre dos sentidos de Wordnet Bibliografía
aplicando distintas métricas. Una de ellas es la Wu-Palmer Similarity, con un
Véase apéndice C.3 del libro
valor que va del 0 al 1. Cuanto más cercano al 1, más cercanos son los sentidos de Jurafsik y Martin (2018)
y cuanto más se acerca al 0, más alejados son los sentidos. y http://bit.ly/2x6TpLc
y http://www.nltk.org/
howto/wordnet.html y
http://www.nltk.org/howto/
wordnet.html
CC-BY-SA • PID_00257761 40 Cómo interpretar y analizar automáticamente la información textual
Beth piensa hacer el topic detection creando un vector para cada término del
vocabulario de los titulares. Las dimensiones del vector recogerán las distan-
cias de los synsets del término t respecto a los synsets de todos los términos t i
del vocabulario de titulares. Una vez se sitúan los vectores de cada término en
un espacio vectorial, un algoritmo de clustering agrupará los términos semán-
ticamente cercanos y se podrán identificar los temas.
Beth aplica este método para justificar, por su proximidad semántica, la uni-
ficación de fire y attacks en el siguiente titular sobre Trump (véase PLA-1 4), lo
que justificaría asimismo que los titulares toman como tema la intolerancia
del presidente.
The "Daily Show" host said the attacks and fire of president Trump on fellow Republicans
at a meeting reminded him of "a drunk uncle calling everyone out at a wedding".
Se genera el vector para cada synset del vocabulario. Por ejemplo, para crear el
vector de Synset('attack.n.01') se crea una matriz que recoge la distancia entre
este synset y cada uno de los synsets del vocabulario (tabla 17).
(8)
El vector creado a partir de esta matriz, con los vectores de los demás synsets, Las definiciones de los synsets de
Wordnet se denominan glosas.
se ponen en un espacio vectorial y se agrupan en tres clusters con el método
K-means, como se muestra en la siguiente figura. La figura evidencia que la
CC-BY-SA • PID_00257761 41 Cómo interpretar y analizar automáticamente la información textual
hipótesis de Beth es correcta, puesto que fire.n.09, que Wordnet define como
intense adverse criticism, forma un cluster con attack.n.09, que se define como
strong criticism8.
Henry expone sus dudas sobre la conveniencia de este método de topic detec-
tion para el objetivo que persiguen. Wordnet es un recurso que se tiene que
actualizar con nuevos términos.
Por ejemplo, Trump, con el synset de presidente de un país no está. En cambio, Kennedy, sí.
Beth sugiere añadir la DBpedia como un recurso léxico para su método. DB-
pedia organiza la Wikipedia como una base de datos abierta, gratuita, con una
gran comunidad que la mantiene actualizada. La finalidad de la base de datos
es poder hacer preguntas sobre hechos y entidades y desarrollar proyectos de
procesamiento del lenguaje natural.
Sin embargo, Henry no acaba de verlo claro. Los temas de muchos titulares re-
lacionan términos ontológicamente muy distantes, como por ejemplo, Trump,
scorn, FBI. Él tiene la intuición de que, aunque se pueda decir que Trump pro-
CC-BY-SA • PID_00257761 42 Cómo interpretar y analizar automáticamente la información textual
voca muchos comentarios porque es una celebrity, una característica de los ti-
tulares de las noticias más comentadas es la relación de palabras ontológica-
mente distantes.
Henry y Beth sí están de acuerdo en considerar que los titulares, como cual-
quier otro texto, se interpretan gracias a unas relaciones entre palabras que se
consideran de sentido común, pero que escapan de la formalización taxonó-
mica de Wordnet. Henry le habla de ConceptNet, una red semántica que es
el fruto del proyecto colaborativo Open Mind Common Sense, que se inició el
año 1999 en el MIT Media Lab. Esta red semántica pretende representar las
relaciones entre palabras según el sentido común de los hablantes. Para ello,
además de fuentes de conocimiento léxico (Wordnet, Wiktionary, DBpedia),
añaden conocimiento de relaciones de sentido común que van más allá de
estas fuentes y que se han obtenido con juegos de asociaciones de palabras
como Verbosity, dentro del GWAP project.
Figura 11. Agrupación en clusters de los términos de los titulares con ConceptNet
CC-BY-SA • PID_00257761 43 Cómo interpretar y analizar automáticamente la información textual
Las demás clases están más confusas, aunque a Beth no se le escapa el hecho
de que términos como fight, battle, sex o violence se destaquen de su grupo.
4.3. LDA
Henry prefiere saber qué temas se tratan mediante los mismos artículos sin
utilizar ninguna ontología ni recurso externo. Por eso aplica uno de los méto-
dos no supervisados de detección de temas más utilizados: el Latent�Dirichlet
Allocation o LDA.
Ldatuning es una librería en R que aplica el LDA para hacer topic detection.
En Python es posible hacerlo también con la librería Sklearn, aunque es reco-
mendable pyLDAvis si se quiere hacer una presentación clara y atractiva de
los topics y la contribución de los términos en la detección de estos topics.
4.5. Resultados
(9)
A Henry y a Joseph les interesa aplicar el LDA. A Henry le interesa por las Los términos tienen una frecuen-
cia mínima de 3, como en el mo-
razones que ya hemos explicado, y a Joseph le interesa porque cree que la
delo Word2Vec.
contribución de un término al topic puede ser útil para entrenar un predictor
de noticias provocadoras de comentarios. Movidos por este interés, calculan
la distribución de los términos9 de los titulares TOP por temas. Por sugerencia
de Beth, se concentran en términos nominales, puesto que los temas de un
texto son más fáciles de identificar por medio de sus sintagmas nominales.
Antes de empezar, deciden que cada titular será un documento, pero tienen
que decidir el número de topics, esto es, la K. Como no se puede saber a priori
el número de temas sobre los que tratan los titulares, se hace un cálculo del
número de K aproximado a partir del cual aumentar su número no supone
obtener resultados coherentes con el contenido de los titulares. En la figura 12
se muestra que el número de K más consecuente con los titulares está alrededor
de 7.
Figura 12. Resultado del cálculo de la K más coherente para hacer un LDA de
los titulares TOP
Las columnas de la figura 13 muestran las diez palabras más probables de per-
tenecer a un topic ordenadas por valor de probabilidad.
CC-BY-SA • PID_00257761 45 Cómo interpretar y analizar automáticamente la información textual
De todos modos, a Beth le sigue llamando la atención que, entre los términos
que por sí mismos no apuntan a un tema concreto, dominen palabras relacio-
nadas con la violencia y el poder (war, power), o bien tengan connotaciones
negativas (problem, fear, chaos, abuse).
CC-BY-SA • PID_00257761 46 Cómo interpretar y analizar automáticamente la información textual
5. Predicción
4) Los topics a los que pertenecen los términos de los titulares TOP
Peter pregunta si ya con estos datos sería posible hacer un predictor de noticias
motivadoras de comentarios, que es, de hecho, el objetivo último del proyecto.
Joseph dice que los titulares ya se han etiquetado como TOP y NOTOP (c. f.
3.4.2), con lo cual, es posible abordar la predicción aplicando machine learning.
El objetivo sería que el predictor aprendiera la tarea de clasificar titulares TOP
y NOTOP.
1) Preprocesado de los titulares hasta tener los datos con los que el clasificador
aprenderá a clasificar los titulares.
5.1.1. Preprocesado
5.1.2. Entrenamiento
5.1.3. Predicción
Una vez entrenado, el clasificador predice las etiquetas de los datos X del cor-
pus de test. Esto es, a partir de los datos X predice sus datos Y. A partir de estas
predicciones, se evalúa el clasificador en función de cómo se alejan las predic-
ciones respecto a las asignaciones de etiqueta que están en el corpus de test.
También se pueden saber las features que han sido más informativas a la hora
de clasificar los titulares. Las features más informativas nos dan pistas sobre la
calidad del clasificador y nos pueden ofrecer información interesante.
5.2. Resultados
Resumen