18. Procesamiento Lenguaje Natural (NLP) IV#
18.1. Análisis Sintáctico#
¿Qué es el Análisis Sintáctico?
El análisis sintáctico (o parsing) implica analizar la estructura gramatical de una oración para entender las relaciones entre las palabras.
Warning
NLTK no permite realizar este tipo de análisis con textos en español, solo en inglés y ruso (Currently, NLTK pos_tag only supports English and Russian), por lo cual ocuparemos otra librería que es spaCY.
18.1.1. Etiquetado de Partes del Discurso (POS Tagging)#
¿Qué es el Etiquetado de Partes del Discurso (POS Tagging)?
Es la asignación de etiquetas gramaticales a cada palabra en una oración, como sustantivos, verbos, adjetivos, etc.
Etiqueta POS |
Descripción |
|---|---|
ADJ |
Adjetivo |
ADP |
Adposición (preposición y postposición) |
ADV |
Adverbio |
AUX |
Verbo auxiliar |
CONJ |
Conjunción |
DET |
Determinante |
INTJ |
Interjección |
NOUN |
Sustantivo |
NUM |
Número |
PART |
Partícula |
PRON |
Pronombre |
PROPN |
Nombre propio |
PUNCT |
Signo de puntuación |
SCONJ |
Conjunción subordinante |
SYM |
Símbolo |
VERB |
Verbo |
X |
Otro |
18.1.1.1. Ejemplo de Código de POS Tagging#
import spacy
# Cargar el modelo preentrenado en español
nlp = spacy.load('es_core_news_sm')
# Texto de ejemplo en español
texto = "Steve dio un emotivo discurso en la Universidad de Stanford."
# Procesar el texto con Spacy
doc = nlp(texto)
# Etiquetar las partes del discurso (POS Tagging) en español
etiquetas_pos = [(token.text, token.pos_) for token in doc]
print("Etiquetado de Partes del Discurso (POS Tagging) en Español:")
print(etiquetas_pos)
Etiquetado de Partes del Discurso (POS Tagging) en Español:
[('Steve', 'PROPN'), ('dio', 'VERB'), ('un', 'DET'), ('emotivo', 'ADJ'), ('discurso', 'NOUN'), ('en', 'ADP'), ('la', 'DET'), ('Universidad', 'PROPN'), ('de', 'ADP'), ('Stanford', 'PROPN'), ('.', 'PUNCT')]
18.1.2. Reconocimiento de Entidades Nombradas (NER)#
¿Qué es el Reconocimiento de Entidades Nombradas (NER)?
El objetivo primordial es procesar datos estructurados y no estructurados y clasificar estas entidades nombradas en categorías predefinidas. Algunas categorías comunes incluyen nombre, ubicación, empresa, tiempo, valores monetarios, eventos y más.Todo esto es útil en aplicaciones de análisis de sentimiento, extracción de información, resumen de texto, entre otros.
18.1.2.1. Ejemplo de Código de NER#
import spacy
# Cargar el modelo preentrenado en español
nlp = spacy.load('es_core_news_sm')
# Texto de ejemplo en español
texto = "Steve dio un emotivo discurso en la Universidad de Stanford."
# Procesar el texto con Spacy
doc = nlp(texto)
# Reconocimiento de Entidades Nombradas (NER) en español
entidades_nombradas = [(entity.text, entity.label_) for entity in doc.ents]
print("Reconocimiento de Entidades Nombradas (NER) en Español:")
print(entidades_nombradas)
Reconocimiento de Entidades Nombradas (NER) en Español:
[('Steve', 'PER'), ('Universidad de Stanford', 'ORG')]
18.1.3. Visualización del Análisis Sintáctico#
import spacy
from spacy import displacy
# Cargar el modelo de SpaCy en español
nlp = spacy.load('es_core_news_sm')
# Ejemplo de frase para análisis sintáctico
frase_ejemplo = "Steve Jobs dio un emotivo discurso en la Universidad de Stanford."
# Procesar la frase con SpaCy
doc = nlp(frase_ejemplo)
# Mostrar árbol de dependencia
displacy.render(doc, style='dep', jupyter=True, options={'distance': 90})
18.2. Análisis Semántico#
¿Qué es el Análisis Sintáctico?
El análisis sintáctico (o parsing) implica analizar la estructura gramatical de una oración para entender las relaciones entre las palabras.
18.2.1. Desambiguación del sentido de las Palabras:#
¿Qué es la Desambiguación de Palabras?
La desambiguación de palabras se refiere a determinar el significado correcto de una palabra que tiene múltiples sentidos en un contexto específico. Esto se puede lograr utilizando algoritmos de desambiguación léxica o basados en corpus.
18.2.1.1. Ejemplo de Código de Desambiguación de Palabras#
from nltk.corpus import wordnet
from nltk.wsd import lesk
# Definir el contexto de la palabra
frase = """
Fue imposible preverlo todo en la vida.
Si te atreves a conectar los puntos hacia adelante,
de alguna manera, en el futuro, confiarás en algo: en tu karma,
en el destino, en la vida, en el destino, en las personas, lo que sea.
"""
# Obtener la palabra objetivo
target_word = 'destino'
# Aplicar Lesk algorithm para desambiguar
synset = lesk(frase.split(), target_word)
# Verificar si se encontró un synset adecuado
if synset is not None:
# Mostrar resultado
print(f'Palabra: {target_word}')
print(f'Significado: {synset.definition()}')
else:
print(f"No se encontró un sentido adecuado para '{target_word}' en el contexto proporcionado.")
No se encontró un sentido adecuado para 'destino' en el contexto proporcionado.
18.2.2. Extracción de Relaciones:#
¿Qué es la Extracción de Relaciones?
Esta implica identificar conexiones semánticas o sintácticas entre entidades en el texto, como relaciones de hiponimia, hiperonimia, causa-efecto, etc.
18.2.2.1. Ejemplo de Código de Extracción de Relaciones:#
import spacy
# Cargar el modelo en español de Spacy
nlp = spacy.load('es_core_news_sm')
# Definir la frase
frase = "Fue imposible preverlo todo en la vida. Si te atreves a conectar los puntos hacia adelante, de alguna manera, en el futuro, confiarás en algo: en tu karma, en el destino, en la vida, en el destino, en las personas, lo que sea."
# Procesar la frase con Spacy
doc = nlp(frase)
# Mostrar entidades nombradas y sus roles sintácticos
print("Entidades y roles sintácticos:")
for ent in doc.ents:
print(f"{ent.text} ({ent.label_}) - Dependencia: {ent.root.dep_}")
# Mostrar dependencias sintácticas de todas las palabras en la frase
print("\nDependencias sintácticas:")
for token in doc:
print(f"{token.text} - Dependencia: {token.dep_}, Parte del discurso: {token.pos_}")
Entidades y roles sintácticos:
Si te atreves a conectar (MISC) - Dependencia: ROOT
Dependencias sintácticas:
Fue - Dependencia: cop, Parte del discurso: AUX
imposible - Dependencia: ROOT, Parte del discurso: ADJ
preverlo - Dependencia: csubj, Parte del discurso: VERB
todo - Dependencia: obj, Parte del discurso: PRON
en - Dependencia: case, Parte del discurso: ADP
la - Dependencia: det, Parte del discurso: DET
vida - Dependencia: obl, Parte del discurso: NOUN
. - Dependencia: punct, Parte del discurso: PUNCT
Si - Dependencia: mark, Parte del discurso: SCONJ
te - Dependencia: iobj, Parte del discurso: PRON
atreves - Dependencia: ROOT, Parte del discurso: VERB
a - Dependencia: mark, Parte del discurso: ADP
conectar - Dependencia: xcomp, Parte del discurso: VERB
los - Dependencia: det, Parte del discurso: DET
puntos - Dependencia: obj, Parte del discurso: NOUN
hacia - Dependencia: case, Parte del discurso: ADP
adelante - Dependencia: advmod, Parte del discurso: ADV
, - Dependencia: punct, Parte del discurso: PUNCT
de - Dependencia: case, Parte del discurso: ADP
alguna - Dependencia: det, Parte del discurso: DET
manera - Dependencia: obl, Parte del discurso: NOUN
, - Dependencia: punct, Parte del discurso: PUNCT
en - Dependencia: case, Parte del discurso: ADP
el - Dependencia: det, Parte del discurso: DET
futuro - Dependencia: obl, Parte del discurso: NOUN
, - Dependencia: punct, Parte del discurso: PUNCT
confiarás - Dependencia: amod, Parte del discurso: ADV
en - Dependencia: case, Parte del discurso: ADP
algo - Dependencia: nmod, Parte del discurso: PRON
: - Dependencia: punct, Parte del discurso: PUNCT
en - Dependencia: case, Parte del discurso: ADP
tu - Dependencia: det, Parte del discurso: DET
karma - Dependencia: obl, Parte del discurso: PROPN
, - Dependencia: punct, Parte del discurso: PUNCT
en - Dependencia: case, Parte del discurso: ADP
el - Dependencia: det, Parte del discurso: DET
destino - Dependencia: nmod, Parte del discurso: NOUN
, - Dependencia: punct, Parte del discurso: PUNCT
en - Dependencia: case, Parte del discurso: ADP
la - Dependencia: det, Parte del discurso: DET
vida - Dependencia: nmod, Parte del discurso: NOUN
, - Dependencia: punct, Parte del discurso: PUNCT
en - Dependencia: case, Parte del discurso: ADP
el - Dependencia: det, Parte del discurso: DET
destino - Dependencia: nmod, Parte del discurso: NOUN
, - Dependencia: punct, Parte del discurso: PUNCT
en - Dependencia: case, Parte del discurso: ADP
las - Dependencia: det, Parte del discurso: DET
personas - Dependencia: nmod, Parte del discurso: NOUN
, - Dependencia: punct, Parte del discurso: PUNCT
lo - Dependencia: det, Parte del discurso: PRON
que - Dependencia: csubj, Parte del discurso: SCONJ
sea - Dependencia: cop, Parte del discurso: VERB
. - Dependencia: punct, Parte del discurso: PUNCT
18.2.3. Visualización del Análisis Semántico#
Para visualizar aspectos del análisis semántico en un texto, podemos utilizar herramientas como WordClouds (nubes de palabras), gráficos de dispersión de palabras clave, o incluso representaciones vectoriales para capturar similitudes semánticas entre palabras.
Uso de WordCloud: La que muestra las palabras más frecuentes en un texto, donde el tamaño de cada palabra representa su frecuencia de aparición. Esto puede ofrecer insights sobre los temas principales del texto.
from wordcloud import WordCloud
import matplotlib.pyplot as plt
# Texto de ejemplo
texto_ejemplo = "Steve Jobs fue un visionario en la industria tecnológica. Fundó Apple Inc. y revolucionó la forma en que interactuamos con la tecnología."
# Generar la nube de palabras
wordcloud = WordCloud(width=800, height=400, background_color='white').generate(texto_ejemplo)
# Visualizar la nube de palabras
plt.figure(figsize=(10, 5))
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis('off')
plt.title('WordCloud del Discurso de Steve Jobs')
plt.show()
Representaciones Vectoriales (word embeddings): Estas permiten capturar relaciones semánticas entre palabras, donde palabras similares en significado estarán más cerca en el espacio vectorial. Si bien, la generación de embeddings necesita entrenamiento previo con grandes corpus de texto, aquí hau un ejemplo básico utilizando SpaCy para obtener representaciones vectoriales de las palbaras identificadas en la nube de palabras usada previamente.
import spacy
# Cargar el modelo de SpaCy en español
nlp = spacy.load('es_core_news_sm')
# Obtener representaciones vectoriales de palabras
palabras = ['Steve', 'Jobs', 'Apple', 'tecnología']
for palabra in palabras:
token = nlp(palabra)
print(f"Palabra: {palabra}")
print(f"Vector semántico:\n{token.vector}\n")
Palabra: Steve
Vector semántico:
[ 1.6954226 2.3852992 -1.0479419 -2.9150121 -2.854951 3.800932
-0.32780194 -2.309936 3.0529099 4.1016216 -1.27048 3.074584
1.1750889 0.2949464 7.51592 3.4882426 -4.5924187 2.6013188
1.3942841 -4.3961887 6.8055124 5.9939337 3.664003 2.190405
-1.4196005 -1.2751667 -1.648981 -0.3215012 2.804182 -0.6037993
-0.65419424 -3.0755937 2.7570825 -1.7890725 0.65946954 1.8246825
0.92358595 -2.8761601 3.0070329 -2.9747021 0.35725754 -1.7793069
-1.0772322 3.41704 -0.45815736 -0.22805336 -3.3319836 -8.070787
-7.6126046 -1.1886644 0.39562356 -2.973638 -1.0722961 2.242342
-3.4962387 5.296127 2.786405 4.6123953 0.9465897 -3.6371865
-1.2877402 -4.170164 -0.0182128 -0.6144998 -2.6872876 0.52657396
-2.408743 -2.2806253 -3.517282 -2.7071846 2.8647394 0.2392014
-0.5543735 7.39874 0.36842912 -1.8763452 0.6665422 2.7230902
-1.81835 -1.5710523 -3.926563 -0.39966124 -7.43855 1.6283925
5.3460274 2.702806 -0.9004258 1.1995968 1.9441423 -1.0538445
-3.5180202 2.2426872 0.19851273 0.4468677 2.2073734 -2.6916218 ]
Palabra: Jobs
Vector semántico:
[ 3.3823955 -2.6609724 -3.2995915 2.4339461 -1.5773795 -1.3817444
-0.8831451 -2.56716 2.0088959 2.5883145 -1.2873309 -0.6740124
1.8706853 0.94425553 6.1424665 4.0709853 -0.9605718 1.4903011
6.023325 -1.3212557 3.0732322 2.2388146 4.1362286 1.4312
-1.1184332 2.3204982 -1.5272379 -0.7727028 0.25054914 1.2836275
0.5647552 0.4145316 -1.1029934 -3.0552914 -3.888102 4.831252
-1.124552 -5.72715 0.6085828 -1.727516 -1.3112093 -5.2763333
-1.7699025 2.54766 2.5951257 -4.9349737 -1.4009256 -3.7262218
-2.6732612 -1.3919271 -1.915794 -4.4755044 -0.6395805 4.2156277
-2.5916092 4.324755 0.68370295 7.7584543 3.0686092 0.57666516
3.142088 -3.2948046 2.7401607 -2.9672644 2.3023202 0.26673043
0.54648566 -2.9993212 -0.19834512 -4.0724916 2.6151237 -1.6454899
-0.93479466 1.3285646 -5.7003217 0.68868625 -1.3901273 -0.3795515
-3.2882538 0.8471623 -2.9546657 1.078072 -2.8288057 0.810818
5.5846877 5.280097 -0.89387727 -2.8002918 -0.13896185 -0.3990217
-5.892403 -1.5257369 2.9839883 2.3528535 4.304802 -1.0716062 ]
Palabra: Apple
Vector semántico:
[ 1.39656079e+00 -2.73936749e-01 6.54514909e-01 -1.35824752e+00
-1.63526690e+00 -1.35374177e+00 -9.17620301e-01 -5.17585182e+00
1.82976520e+00 3.21275783e+00 -4.46556520e+00 9.14426804e-01
2.12922835e+00 4.97688293e-01 8.20713139e+00 2.55356860e+00
-4.55003262e+00 7.65638947e-01 3.44985127e+00 -2.96803236e+00
1.00623455e+01 3.77538848e+00 2.63978243e+00 1.88132632e+00
-3.52231288e+00 2.98011208e+00 -1.47567558e+00 1.61375493e-01
1.20359468e+00 -4.75249946e-01 8.93953204e-01 -2.04217896e-01
8.83048296e-01 -3.42649221e+00 4.66008455e-01 2.16689086e+00
-3.31194341e-01 -3.40937853e+00 2.58759356e+00 -3.21085238e+00
-6.83123022e-02 -3.90214729e+00 7.28881359e-03 1.17366123e+00
-8.81285787e-01 -3.03521848e+00 -2.67454886e+00 -2.57937527e+00
-3.95140052e+00 -5.51130891e-01 4.97824311e-01 -1.64657521e+00
-4.47795343e+00 7.71412730e-01 -3.01303005e+00 5.67457438e+00
1.21384239e+00 6.95921087e+00 4.94024754e+00 -3.66313148e+00
-2.00927019e-01 -5.00442123e+00 -3.48160744e-01 1.97181493e-01
8.51498604e-01 -4.89156306e-01 -1.49292552e+00 -1.80590749e-01
-4.70029163e+00 -1.36064649e+00 3.56927633e+00 -2.67746377e+00
-1.03818905e+00 3.80006742e+00 3.74821007e-01 -1.17726374e+00
1.03753304e+00 1.08130622e+00 -1.63580668e+00 1.99639797e-02
-5.17509222e+00 2.08421350e-01 -1.28141081e+00 -5.89222252e-01
7.83009481e+00 4.27679825e+00 -8.78282309e-01 1.20674276e+00
-6.60529912e-01 1.43679547e+00 -3.76856947e+00 -1.31793380e+00
3.20576859e+00 2.73595095e-01 -9.65641558e-01 -6.29680276e-01]
Palabra: tecnología
Vector semántico:
[ 3.201436 0.4645091 -5.491641 0.7635591 1.2409842 -2.9447455
-0.05693555 -1.204132 0.5331962 6.1557865 -2.1698747 4.939016
1.1247244 4.618493 1.6022891 6.3989797 -3.1939025 4.8050494
3.0293982 2.0601819 2.745199 -0.48372835 4.175046 -1.547176
-0.03200558 2.4226923 -2.4169228 -0.45074818 0.2770447 -0.82481515
1.441982 -2.7887526 2.7618625 -5.8609204 -3.1771371 1.6572888
0.148933 -2.7129478 -1.372852 0.9666171 -2.299998 -3.409813
-0.6364292 3.1807754 1.4864075 -0.6466826 2.658689 -1.8106662
-0.7490594 -2.4677136 -2.084839 -2.0841126 1.5879104 -3.878293
-1.7781084 0.48961818 2.5738451 2.425385 2.0479918 -3.11586
1.977471 -5.582416 -0.53726494 0.33792546 2.9953146 -0.09627742
2.0497108 1.8185346 -2.177946 -4.199998 6.6326404 -2.143697
-2.6657927 -1.5972353 -5.5633154 -1.659429 -2.0872774 -2.1306248
-4.9015894 0.8837882 -2.5483172 -2.2820117 0.01887134 -1.5339473
5.5445366 3.8402781 -1.3146874 -0.7485001 1.9703838 -1.2842133
-2.5899372 -2.7008233 6.9864216 -0.8949323 -2.3610206 -0.5698584 ]
18.3. Aplicación de Análisis Sintáctico y Semántico#
import spacy
# Cargar el modelo en español de Spacy
nlp = spacy.load('es_core_news_sm')
# Cargar el texto del archivo
file_path = 'Discurso de Steve Jobs.txt'
with open(file_path, 'r', encoding='utf-8') as file:
speech = file.read()
# Procesar el texto con Spacy
doc = nlp(speech)
# Mostrar las entidades nombradas y sus tipos
print("Entidades Nombradas:")
for ent in doc.ents:
print(f"{ent.text} - Tipo: {ent.label_}")
# Mostrar las dependencias sintácticas y las partes del discurso
print("\nDependencias sintácticas y partes del discurso:")
for token in doc[:10]: # Mostrar solo los primeros 10 tokens por brevedad
print(f"{token.text} - Dependencia: {token.dep_}, Parte del discurso: {token.pos_}")
Entidades Nombradas:
Steve Jobs - Tipo: PER
Stanford - Tipo: MISC
Me siento - Tipo: MISC
Yo nunca llegué a licenciarme - Tipo: MISC
De hecho - Tipo: MISC
No es gran cosa - Tipo: MISC
Solo tres historias - Tipo: MISC
La primera historia - Tipo: MISC
Me retiré del Reed College - Tipo: MISC
¿Por qué lo dejé? - Tipo: MISC
Todo empezó - Tipo: MISC
Mi madre biológica - Tipo: MISC
Ella creía firmemente - Tipo: MISC
Por lo tanto - Tipo: MISC
Sin embargo - Tipo: MISC
De ese modo mis padres - Tipo: MISC
¿ - Tipo: MISC
Ellos - Tipo: MISC
“ - Tipo: MISC
Cuando mi madre biológica - Tipo: MISC
Solo cambió de parecer - Tipo: MISC
Ingenuamente - Tipo: PER
Stanford - Tipo: ORG
Seis meses después - Tipo: MISC
No tenía idea - Tipo: MISC
Y ahí estaba yo gastándome - Tipo: MISC
Decidí - Tipo: PER
Ese momento fue aterrador - Tipo: MISC
Al dejar los estudios - Tipo: MISC
No tenía dormitorio - Tipo: MISC
Coca Cola - Tipo: PER
Hare Krishna - Tipo: ORG
Me gustaba - Tipo: MISC
Y gran parte de lo que encontré - Tipo: MISC
Os - Tipo: MISC
Reed College - Tipo: ORG
Cada cartel - Tipo: MISC
Como había - Tipo: MISC
Aprendí - Tipo: PER
Era hermoso - Tipo: MISC
Pero diez años más tarde - Tipo: MISC
Macintosh - Tipo: MISC
Mac - Tipo: MISC
Si no hubiera asistido - Tipo: MISC
Mac - Tipo: MISC
Windows - Tipo: MISC
Mac - Tipo: MISC
Sin embargo - Tipo: MISC
Insisto - Tipo: MISC
Por ello tenéis - Tipo: MISC
Tenéis - Tipo: MISC
Nunca he abandonado esta perspectiva - Tipo: MISC
La segunda historia - Tipo: MISC
Fui - Tipo: PER
Woz - Tipo: PER
Steve Wozniak - Tipo: PER
Apple - Tipo: ORG
Trabajamos - Tipo: MISC
Acabábamos de presentar - Tipo: MISC
Macintosh - Tipo: MISC
¿Cómo - Tipo: MISC
Bien - Tipo: ORG
Apple - Tipo: ORG
Al principio las cosas - Tipo: MISC
Cuando esto ocurrió - Tipo: MISC
Consejo - Tipo: ORG
De ese modo - Tipo: MISC
Y muy notoriamente fuera - Tipo: MISC
Había - Tipo: PER
Tenía - Tipo: PER
Me reuní - Tipo: MISC
David Packard - Tipo: PER
Bob Noyce - Tipo: PER
Valle - Tipo: LOC
Silicon Valley - Tipo: LOC
California - Tipo: LOC
El revés ocurrido - Tipo: MISC
Apple - Tipo: ORG
Había - Tipo: PER
Y decidí empezar de nuevo - Tipo: MISC
Apple - Tipo: ORG
Esto me liberó - Tipo: MISC
Durante los siguientes cinco años - Tipo: MISC
NeXT - Tipo: MISC
Pixar y me enamoré - Tipo: MISC
Pixar - Tipo: LOC
Toy Story - Tipo: MISC
En un giro - Tipo: MISC
Apple - Tipo: ORG
NeXT - Tipo: MISC
Yo - Tipo: MISC
Apple - Tipo: ORG
NeXT - Tipo: MISC
Apple - Tipo: ORG
Y Laurene - Tipo: MISC
Estoy - Tipo: PER
Apple - Tipo: ORG
En ocasiones la vida te golpea - Tipo: MISC
No perdáis la fe - Tipo: MISC
Estoy convencido de que lo único - Tipo: MISC
Tenéis - Tipo: LOC
El trabajo llenará - Tipo: MISC
Y la única - Tipo: MISC
Si aún no lo habéis encontrado - Tipo: MISC
No os rindáis - Tipo: MISC
Y - Tipo: MISC
Así - Tipo: MISC
Y no os rindáis - Tipo: MISC
Mi tercera historia - Tipo: MISC
Me impresionó - Tipo: MISC
“Si - Tipo: MISC
¿querría - Tipo: MISC
Y siempre que la respuesta - Tipo: MISC
“ - Tipo: MISC
Recordar mi mortalidad - Tipo: MISC
Porque casi todo —las expectativas externas - Tipo: MISC
Recordar - Tipo: MISC
Ya estás desnudo - Tipo: MISC
No hay ninguna razón - Tipo: MISC
Me - Tipo: MISC
Los médicos me - Tipo: MISC
Mi médico me aconsejó - Tipo: MISC
Significa intentar - Tipo: MISC
Significa despedirte - Tipo: MISC
Viví - Tipo: PER
Por la tarde me - Tipo: MISC
Estaba anestesiado - Tipo: MISC
Me operaron - Tipo: MISC
Es lo más - Tipo: MISC
Después - Tipo: LOC
Incluso la gente - Tipo: MISC
La muerte es el destino - Tipo: MISC
Nadie - Tipo: MISC
Y así - Tipo: MISC
Es el agente de cambio - Tipo: MISC
Elimina - Tipo: PER
Ahora - Tipo: MISC
Y seréis eliminados - Tipo: MISC
Lamento ser tan trágico - Tipo: MISC
Vuestro tiempo es limitado - Tipo: MISC
No os dejéis - Tipo: MISC
No permitáis - Tipo: MISC
Y lo más importante - Tipo: MISC
Todo lo demás - Tipo: MISC
Cuando era joven - Tipo: MISC
había - Tipo: PER
The Whole Earth Catalog - Tipo: MISC
Fue creada por un tipo - Tipo: MISC
Steward Brand - Tipo: PER
Menlo Park - Tipo: LOC
Polaroid - Tipo: ORG
Google - Tipo: ORG
Google - Tipo: ORG
Era idealista - Tipo: MISC
Steward - Tipo: PER
The Whole Earth Catalog - Tipo: MISC
En la contraportada de ese último número - Tipo: MISC
El pie de foto decía - Tipo: MISC
“Seguid hambrientos - Tipo: MISC
Seguid alocados - Tipo: MISC
Y yo siempre he - Tipo: MISC
Y ahora - Tipo: MISC
Seguid hambrientos - Tipo: MISC
Seguid alocados - Tipo: MISC
Gracias.
- Tipo: MISC
Dependencias sintácticas y partes del discurso:
Discurso - Dependencia: ROOT, Parte del discurso: NOUN
de - Dependencia: case, Parte del discurso: ADP
Steve - Dependencia: flat, Parte del discurso: PROPN
Jobs - Dependencia: flat, Parte del discurso: PROPN
en - Dependencia: case, Parte del discurso: ADP
Stanford - Dependencia: nmod, Parte del discurso: PROPN
. - Dependencia: punct, Parte del discurso: PUNCT
- Dependencia: , Parte del discurso: SPACE
Me - Dependencia: obj, Parte del discurso: PRON
siento - Dependencia: ROOT, Parte del discurso: VERB