SlideShare una empresa de Scribd logo
WEB y TEXT MINING
Text MiningJuan Azcurra
¿Qué es Text Mining?
2
 Text Mining es ir de:
 “La calidad de atención es muy mala. Llamé 5 veces
reclamando por el servicio de SMS y no me atendió
nadie.”
 … a:
 Razón: Calidad de atención mala. Llamó 5 veces.
 Tema: servicio SMS
 Esto puede ser combinado con tiempo de
llamada, operador, etc. para ver conocer cuáles
son los productos más caros de atender.
¿Para qué Text Mining?
3
 A veces tenemos mucho texto y poca
información u oculta…
 ¿Quién es autoridad en qué tema? ¿Qué temas
están creciendo en importancia?
 Otras veces tenemos mucho texto y mucha
información oculta...
 emails, chats, libros online, comentarios de
productos ¿Qué leo? ¿Con qué se relaciona?
¿Tiene el texto un sesgo a favor o en contra de
algo o alguien?
¿Por qué Text Mining?
4
 En algunos campos (por ej. relacionados a
biología, medicina, etc.) el 80% del
conocimiento está en papers.
 Humanos no escalan:
 Una persona puede leer, en promedio, 20 papers
por semana. En ese lapso PubMed agregó 2500
abstracts.
 De acuerdo a Gartner, hasta el 85% de
información empresarial es no estructurada.
Buscar no es suficiente
5
 El objetivo de Information Retrieval (IR) es
ayudar a usuarios a que encuentren una
respuesta a una necesidad de información, o sea
maximizar precision y recall. No es tanto que la
información no esté clara, sino que es muy dificil
de encontrar.
 El objetivo de Text Mining es el de identificar,
extraer y relacionar información con mayor
precisión.
 Técnicas de IR se usan en text mining, por
ejemplo representación de documentos,
clustering de documentos, análisis de citas y
Definición
6
 Text Mining es extraer información interesante
y no trivial de texto sin estructura, para poder
encontrar patrones y tendencias de datos,
asociaciones entre entidades, y reglas
predictivas entre esas entidades mencionadas
en el texto.
Aplicaciones
7
 En organizaciones, text mining se usa para
identificar expertos y relaciones entre empleados
y proyectos, tecnologías y clientes (Knowledge
Management).
 En empresas, text mining se usa para hacer
análisis de información de clientes (por ejemplo
call centers)
 En química y medicina, text mining se usa para
identificar nuevas relaciones entre síntomas
causas y tratamientos (p.ej. Entre agentes
químicos y drogas).
 En finanzas, se usa para descubrir patrones que
relacionan información financiera y no financiera
Dificultad
8
 Text Mining es más complicado que Data
Mining porque:
 Las computadoras no pueden leer o comprender
texto.
 El texto no tiene estructura bien definida
(campos).
 Un documento trata varios temas.
 El significado de las palabras es ambiguo, y
depende del contexto y del idioma.
 Posible explosión combinatoria de conexiones
potencialmente válidas.
Dificultad
9
 Número de atributos > 15000
 Ruido (errores de ortografia, abreviaturas)
 Sinónimos
 Diferentes significados dependiendo de la
función: ("claro, lo que Ud quiere es..." vs. "los de
colores claros son mas caros")
 Diferentes significados dependiendo de la
comunidad:
 "debian soluciona tu problema" (Debian Linux) vs
 "debian solucionar tu problema" (Verbo “debían” sin
ancento).
 Localismos
Tareas típicas
10
 Detección de importancia de emails (spam)
 Clustering de documentos (vivisimo.com)
 Creación de mapas de topicos
(www.leximancer.com)
 Minería de tendencias, y Opiniones
(www.opencalais.com)
 Extracción de ontologías y de entidades
 Resumen de documentos
 Descubrimientos de relaciones por citas y
links
Modelos básicos de
representación de documentos11
 Modelo booleano.
 Modelo vectorial.
 Modelos probabilísticos.
Presunciones (bolsa de
palabras)12
 Cada documento se representa por una serie de
términos.
 Un término es una palabra o grupo de palabras
útiles para describir el contenido del documento.
 Todos los términos son independientes entre sí, lo
que implica que puedo calcular la importancia de
cada término en un documento
independientemente de los otros (la
independencia no es cierta, pero en la práctica
funciona).
 El peso wij de un término ti en un documento dj es
proporcional a la importancia de ese término.
Modelo vectorial
13
 Todos los términos de todos los documentos
en la colección tienen un índice i único. i es
siempre igual para t en todos los documentos.
 Wij > 0 si ti es un término en dj, 0 si t E Dj
 Si hay N términos en total en una colección,
un documento DJ es un vector de dimensiones
N.
 Documento Dj = [w1j, w2j, w3j, wnj] (la mayoria
van a ser 0)
Modelo vectorial
14
 Los D documentos son vectores en un
espacio N dimensional.
 Como ti es independiente de tj entonces los
vectores unitarios t1...tN son linealmente
independientes (forman una base del
espacio).
 Tanto los documentos como las consultas son
vectores dentro del espacio.
Similaridad entre documentos
15
Dos documentos se parecen si tienen algún término en común (no
necesariamente con igual importancia).
Procesamiento del lenguaje
natural
16
Necesidad de NLP
17
 La mayoría del texto disponible no tiene
estructura. Cuanto más estructura tenga para
analizar, mejor puedo encontrar relaciones
entre partes del texto.
 Puedo ir desde preguntas en lenguaje natural
a respuestas muy concretas:
 Por ejemplo: “¿Quién fue el presidente de EE.
UU. antes de Obama?”
 preguntas: ¿quién? ¿presidente? ¿de qué o dónde?
¿quién es Obama?”
 Respuesta: George W. Bush (persona)
Niveles de análisis del lenguaje
18
 Estructura Fonética: La manera en que los
sonidos son creados, en qué contexto y qué
sonidos son creados (Reconocimiento de voz).
 Estructura Morfológica (de morphos = forma):
Analizar como las palabras se forman y derivan a
partir de unidades más pequeñas.
 Por ejemplo triangulaciones = triangul (raíz) + acion
(sufijo de sustantivo abstracto) + es (sufijo de plural).
 Estructura Sintáctica (de sintaxis = colocar
juntas): Describe la organización gramática de
las palabras en una frase, que formar una
estructura jerárquica.
 ej: sustantivo  frase nominal  sujeto
Niveles de análisis del lenguaje
19
 Estructura temática: reconocer quien le hizo
qué a quién (sujeto acción objeto).
 Estructura semántica: Combinar la
estructura temática para reconocer quién le
hizo qué a quién de acuerdo a la ambigüedad
del lenguaje.
 Por ejemplo: “luego, llama a la puerta, pero no
responden”.
 Estructura Discursiva: Relación entre las
frases según se combinan las frases
(apoya_a, discute_un_punto_de,
contradice_a).
Análisis gramático
20
 ¿Por qué querría hacer análisis gramático?
 Saber la función sintáctica de una palabra permite
identificar de qué se está hablando, y como se
relacionan los objetos nombrados.
 El sustantivo en el sujeto determina quién o qué
lleva a cabo una acción.
 El adjetivo determina como es el sujeto (p. ej.
modelo de auto)
 El verbo determina la acción (que se hace)
 El objeto directo determina a quién se lo hace.
 http://es.wikipedia.org/wiki/Sustantivo (y siguiente
slide) para detalles de partes de la oración.
Análisis gramático
21
 Partes de la Oración en Castellano:
 Artículo: transforma al sustantivo en uno o
muchos (el, las, lo, unas...)
 Sustantivo: el sujeto de la acción
 Adjetivo: la característica del sustantivo.
 Verbo: la acción que se lleva a cabo.
 Pronombre: sustituye a un sustantivo ya
nombrado (él, conmigo...).
Análisis gramático
22
 Partes de la Oración en Castellano:
 Conjunción: agrupa y desagrupa palabras (y, o,
ni, pero...
 Adverbio: califica al verbo, adjetivo u otro
adverbio dando información de tiempo, modo,
lugar, afirmación o negación (dónde, rápido,
públicamente, tampoco,...)
 Preposición: relaciona palabras mediante una
función (hasta, bajo, contra, sin,...).
Frases nominales
23
 Una frase nominal es una sección de una oración que incluye
a un sustantivo, y que es completa (tiene sentido por sí
misma). Son importantes porque casi por si solas son
suficientes para saber de qué o quién se está hablando.
 Una frase nominal puede formarse a partir de (pero no solo
de):
 un nominal (sustantivo con o sin adjetivo)
 un artículo y un nominal
 un nombre propio
 Ejemplos:
 El príncipe valiente atacó la fortaleza.
 En la casa corre libremente el viejo perro.
 Existen otros tipos de frase: adverbiales (p.ej. “de pronto”),
verbales (p.ej. “dio apoyo”).
Análisis gramático
24
 POS (Part-Of-Speech) tagging es asignar a cada
palabra un tag que identifique la función sintáctica de
la palabra o token. Normalmente no incluye análisis
gramático completo (sujeto - tácito o no, predicado,
etc).
 POS tagging sirve como atributo adicional para otras
tareas:
 En minería de opiniones, los adjetivos calificativos
(bueno, malo, viejo, etc.) incluyen la opinión, y el adverbio
cerca del adjetivo dan una idea de la firmeza de la opinión
(muy, poco, más, demasiado).
 En Named-Entity Recognition (NER), los sustantivos son
el centro de las entidades.
 En Question Answering, algunos adverbios (quién,
dónde, cual) dan pistas de que tipo de respuesta se
espera.
POS tagging automático
25
 POS tagging automático es difícil porque:
 La palabra no determina la función, sino que también lo
hace el contexto:
 Cura puede ser verbo o sustantivo.
 El castellano no es perfectamente regular:
 Nace  nazco  nació, pero hace  hago  hizo
 Los sufijos de palabras son ambiguos para determinar
función gramátical:
 compás (sust) vs. llenás (verbo) vs. llenas (verbo) vs.llenas
(adj)
 En castellano, el sujeto puede ser tácito:
 Los últimos serán los primeros. (¿dónde está el sujeto?)
 La gente escribe con errores gramaticales cuando escribe
coloquialmente; los taggers asumen gramática correcta.
Establecer genero es ambiguo
26
 Establecer el género en castellano es complicado. La regla
o/a para masculino/femenino del mismo objeto tiene
ambigüedades:
 pasta – pasto
 foco – foca
 raya – rayo
 velo – vela
 punto – punta
 fila – filo
 caro – cara
 tango - tanga
 Los sufijos de aumentativo / diminutivo causa ambigüedades:
 visa - visita
 pavo - pavote
Utilidades de POS tagging
27
 Frases nominales como key phrases en
BlogPulse de Nielsen
Cómo hacer POS tagging
28
 Expresiones regulares
 Unigramas
 Bigramas
 Trigramas
 Hidden Markov Models
 Taggers Transformativos (Brill´s Tagger)
POS Tagging
29
 El tagging más simple es asignar a todas las
palabras la misma clase (usualmente:
sustantivo).
 No es útil de por sí, pero sí como ultimo
recurso (fallback).
POS Tagging en NLTK
30
text = "There are 11 players in a football team"
text_tokens = text.split()
# ["There", "are", "11", "players", "in", "a",
"football", "team"]
import nltk
mytagger = nltk.DefaultTagger("NN")
for t in mytagger.tag(text_tokens):
print t
# ("There", "NN")
# ("are", "NN")
# ...
POS Tagging con expresiones
regulares31
 Usar enumeraciones, prefijos y sufijos para adivinar
categorias de palabras.
import nltk
default_pattern = (r".+", "NN")
cd_pattern = (r"[0-9]+|[0-9]+,[0-9]+", "CD")
patterns = [cd_pattern, default_pattern]
CD_NN_tagger = nltk.RegexpTagger(patterns)
text = "There are 11 players in a football team"
re_tagged = CD_NN_tagger.tag(text.split())
# [('There', 'NN'), ('are', 'NN'), ('11', 'CD'),
('players', 'NN'),('in', 'NN'), ('a', 'NN'),
('football', 'NN'), ('team', 'NN')
N-Gramas
32
 Si tengo información de ejemplo sobre
palabras y tags, puedo mirarlas en secuencias
para aprender “patrones” de tagging.
 Un n-grama es una secuencia de símbolos
(letras, palabras, etc) de largo n: Unigrama =
largo 1, bigrama=largo 2, etc.
 ¿Por qué no usar las palabras o letras
directamente? La secuencia da información,
no todas las secuencias son igualmente
probables
Collocation: Juntas por
casualidad33
 Colocación: dos o más palabras que
corresponden al nombre de algo o a una
manera de llamar a las cosas.
 “ciencia ficción”, “disco rígido”, “software libre”.
 El significado no se deduce de las partes
(ejemplo “yerba mala”).
Collocation
34
 Colocación significa que ciertas palabras no son
independientes entre sí.
 ¿Cómo decidir si están juntas por casualidad, o
en realidad están relacionadas?
 Medidas de Colocación más usadas:
 Intersección
 Jackard
 Dice
 Información mutua
 Tests de Colocación: c2
Medidas de colocación
35
 Carácterísticas Deseables:
 Que tenga un máximo y mínimo definido, para
poder interpretar el valor.
 Que no sea muy sensible a eventos raros.
 Que tenga una justificación (casi siempre
probabilística).

Más contenido relacionado

PPTX
El Artículo
PPT
Data Mining Snoop Consulting Arg
PPT
Big Data & Text Mining
PPTX
Patologia benigna de vulva, vagina. enfermdades de transmision sexual johana
PPTX
Introducción a Text Mining
PPT
Procesamiento del Lenguaje Natural
PPTX
Natural language processing
PPTX
Poggi analytics - tm - 1b
El Artículo
Data Mining Snoop Consulting Arg
Big Data & Text Mining
Patologia benigna de vulva, vagina. enfermdades de transmision sexual johana
Introducción a Text Mining
Procesamiento del Lenguaje Natural
Natural language processing
Poggi analytics - tm - 1b

Similar a Text mining (20)

PPT
Complement del verb
PPT
I summit utpl-conferencia
PPT
Lenguajes Documentales
PPTX
C4División de las Palabras y Análisis Morfológico.pptx
PDF
Procesamiento de Lenguaje Natural, Python y NLTK
PPT
La I. A. y el procesamiento del lenguaje natural
PDF
Frame netspanish
PDF
Procesamiento de lenguaje natural y Analítica de Texto - Primera parte.
PPT
Alfonso Muñoz – Ocultación de comunicaciones en lenguaje natural [Rooted CON ...
PDF
PLN - Anotación automática de textos
PDF
Aprendizaje Computacional: Valoraciones personales sobre métodos de etiquetad...
PDF
Articulo revista amai
PPTX
ANALIZADORES SEMÁNTICOS presentacion.pptx
PPTX
Poggi analytics - sentiment - 1
PPTX
MODOS DISCURSIVOS
PPTX
Buscadores y metodos de busqueda
PPTX
Buscadores y metodos de busqueda
PPTX
Minería y visualización de texto
PPT
los Tratamiento automático de textos.ppt
Complement del verb
I summit utpl-conferencia
Lenguajes Documentales
C4División de las Palabras y Análisis Morfológico.pptx
Procesamiento de Lenguaje Natural, Python y NLTK
La I. A. y el procesamiento del lenguaje natural
Frame netspanish
Procesamiento de lenguaje natural y Analítica de Texto - Primera parte.
Alfonso Muñoz – Ocultación de comunicaciones en lenguaje natural [Rooted CON ...
PLN - Anotación automática de textos
Aprendizaje Computacional: Valoraciones personales sobre métodos de etiquetad...
Articulo revista amai
ANALIZADORES SEMÁNTICOS presentacion.pptx
Poggi analytics - sentiment - 1
MODOS DISCURSIVOS
Buscadores y metodos de busqueda
Buscadores y metodos de busqueda
Minería y visualización de texto
los Tratamiento automático de textos.ppt
Publicidad

Más de Juan Azcurra (15)

PPTX
Gestión de la Calidad en Proyectos
PPTX
Gestión del Alcance en los Proyectos
PPTX
Fundamentos de Administración de Proyectos
PPTX
Elasticsearch
PDF
Introducción a Business Intelligence
PPTX
NoSQL - MongoDB
PPTX
Opinion mining
PPTX
Web Link Analysis
PPTX
Web Log Analysis - AWK
PPTX
Web Usage Mining
PPTX
Web Usage Mining - Temas Avanzados
PPTX
Web Content Mining - Information Retrieval
PPTX
Web Content Mining - Datos estructurados
PPTX
Introducción a Web Mining
PPTX
Introducción a Big Data
Gestión de la Calidad en Proyectos
Gestión del Alcance en los Proyectos
Fundamentos de Administración de Proyectos
Elasticsearch
Introducción a Business Intelligence
NoSQL - MongoDB
Opinion mining
Web Link Analysis
Web Log Analysis - AWK
Web Usage Mining
Web Usage Mining - Temas Avanzados
Web Content Mining - Information Retrieval
Web Content Mining - Datos estructurados
Introducción a Web Mining
Introducción a Big Data
Publicidad

Último (20)

PPTX
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
PPT
Que son las redes de computadores y sus partes
PPTX
Power Point Nicolás Carrasco (disertación Roblox).pptx
PPTX
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PDF
Estrategia de apoyo tecnología grado 9-3
PPTX
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
PDF
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
PPTX
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
PPTX
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
PPTX
Propuesta BKP servidores con Acronis1.pptx
PDF
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
PPT
introduccion a las_web en el 2025_mejoras.ppt
DOCX
Zarate Quispe Alex aldayir aplicaciones de internet .docx
PDF
clase auditoria informatica 2025.........
PDF
Calidad desde el Docente y la mejora continua .pdf
PPT
El-Gobierno-Electrónico-En-El-Estado-Bolivia
PPTX
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
PPTX
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PPTX
historia_web de la creacion de un navegador_presentacion.pptx
PPTX
Presentación PASANTIAS AuditorioOO..pptx
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
Que son las redes de computadores y sus partes
Power Point Nicolás Carrasco (disertación Roblox).pptx
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
Estrategia de apoyo tecnología grado 9-3
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
Propuesta BKP servidores con Acronis1.pptx
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
introduccion a las_web en el 2025_mejoras.ppt
Zarate Quispe Alex aldayir aplicaciones de internet .docx
clase auditoria informatica 2025.........
Calidad desde el Docente y la mejora continua .pdf
El-Gobierno-Electrónico-En-El-Estado-Bolivia
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
historia_web de la creacion de un navegador_presentacion.pptx
Presentación PASANTIAS AuditorioOO..pptx

Text mining

  • 1. WEB y TEXT MINING Text MiningJuan Azcurra
  • 2. ¿Qué es Text Mining? 2  Text Mining es ir de:  “La calidad de atención es muy mala. Llamé 5 veces reclamando por el servicio de SMS y no me atendió nadie.”  … a:  Razón: Calidad de atención mala. Llamó 5 veces.  Tema: servicio SMS  Esto puede ser combinado con tiempo de llamada, operador, etc. para ver conocer cuáles son los productos más caros de atender.
  • 3. ¿Para qué Text Mining? 3  A veces tenemos mucho texto y poca información u oculta…  ¿Quién es autoridad en qué tema? ¿Qué temas están creciendo en importancia?  Otras veces tenemos mucho texto y mucha información oculta...  emails, chats, libros online, comentarios de productos ¿Qué leo? ¿Con qué se relaciona? ¿Tiene el texto un sesgo a favor o en contra de algo o alguien?
  • 4. ¿Por qué Text Mining? 4  En algunos campos (por ej. relacionados a biología, medicina, etc.) el 80% del conocimiento está en papers.  Humanos no escalan:  Una persona puede leer, en promedio, 20 papers por semana. En ese lapso PubMed agregó 2500 abstracts.  De acuerdo a Gartner, hasta el 85% de información empresarial es no estructurada.
  • 5. Buscar no es suficiente 5  El objetivo de Information Retrieval (IR) es ayudar a usuarios a que encuentren una respuesta a una necesidad de información, o sea maximizar precision y recall. No es tanto que la información no esté clara, sino que es muy dificil de encontrar.  El objetivo de Text Mining es el de identificar, extraer y relacionar información con mayor precisión.  Técnicas de IR se usan en text mining, por ejemplo representación de documentos, clustering de documentos, análisis de citas y
  • 6. Definición 6  Text Mining es extraer información interesante y no trivial de texto sin estructura, para poder encontrar patrones y tendencias de datos, asociaciones entre entidades, y reglas predictivas entre esas entidades mencionadas en el texto.
  • 7. Aplicaciones 7  En organizaciones, text mining se usa para identificar expertos y relaciones entre empleados y proyectos, tecnologías y clientes (Knowledge Management).  En empresas, text mining se usa para hacer análisis de información de clientes (por ejemplo call centers)  En química y medicina, text mining se usa para identificar nuevas relaciones entre síntomas causas y tratamientos (p.ej. Entre agentes químicos y drogas).  En finanzas, se usa para descubrir patrones que relacionan información financiera y no financiera
  • 8. Dificultad 8  Text Mining es más complicado que Data Mining porque:  Las computadoras no pueden leer o comprender texto.  El texto no tiene estructura bien definida (campos).  Un documento trata varios temas.  El significado de las palabras es ambiguo, y depende del contexto y del idioma.  Posible explosión combinatoria de conexiones potencialmente válidas.
  • 9. Dificultad 9  Número de atributos > 15000  Ruido (errores de ortografia, abreviaturas)  Sinónimos  Diferentes significados dependiendo de la función: ("claro, lo que Ud quiere es..." vs. "los de colores claros son mas caros")  Diferentes significados dependiendo de la comunidad:  "debian soluciona tu problema" (Debian Linux) vs  "debian solucionar tu problema" (Verbo “debían” sin ancento).  Localismos
  • 10. Tareas típicas 10  Detección de importancia de emails (spam)  Clustering de documentos (vivisimo.com)  Creación de mapas de topicos (www.leximancer.com)  Minería de tendencias, y Opiniones (www.opencalais.com)  Extracción de ontologías y de entidades  Resumen de documentos  Descubrimientos de relaciones por citas y links
  • 11. Modelos básicos de representación de documentos11  Modelo booleano.  Modelo vectorial.  Modelos probabilísticos.
  • 12. Presunciones (bolsa de palabras)12  Cada documento se representa por una serie de términos.  Un término es una palabra o grupo de palabras útiles para describir el contenido del documento.  Todos los términos son independientes entre sí, lo que implica que puedo calcular la importancia de cada término en un documento independientemente de los otros (la independencia no es cierta, pero en la práctica funciona).  El peso wij de un término ti en un documento dj es proporcional a la importancia de ese término.
  • 13. Modelo vectorial 13  Todos los términos de todos los documentos en la colección tienen un índice i único. i es siempre igual para t en todos los documentos.  Wij > 0 si ti es un término en dj, 0 si t E Dj  Si hay N términos en total en una colección, un documento DJ es un vector de dimensiones N.  Documento Dj = [w1j, w2j, w3j, wnj] (la mayoria van a ser 0)
  • 14. Modelo vectorial 14  Los D documentos son vectores en un espacio N dimensional.  Como ti es independiente de tj entonces los vectores unitarios t1...tN son linealmente independientes (forman una base del espacio).  Tanto los documentos como las consultas son vectores dentro del espacio.
  • 15. Similaridad entre documentos 15 Dos documentos se parecen si tienen algún término en común (no necesariamente con igual importancia).
  • 17. Necesidad de NLP 17  La mayoría del texto disponible no tiene estructura. Cuanto más estructura tenga para analizar, mejor puedo encontrar relaciones entre partes del texto.  Puedo ir desde preguntas en lenguaje natural a respuestas muy concretas:  Por ejemplo: “¿Quién fue el presidente de EE. UU. antes de Obama?”  preguntas: ¿quién? ¿presidente? ¿de qué o dónde? ¿quién es Obama?”  Respuesta: George W. Bush (persona)
  • 18. Niveles de análisis del lenguaje 18  Estructura Fonética: La manera en que los sonidos son creados, en qué contexto y qué sonidos son creados (Reconocimiento de voz).  Estructura Morfológica (de morphos = forma): Analizar como las palabras se forman y derivan a partir de unidades más pequeñas.  Por ejemplo triangulaciones = triangul (raíz) + acion (sufijo de sustantivo abstracto) + es (sufijo de plural).  Estructura Sintáctica (de sintaxis = colocar juntas): Describe la organización gramática de las palabras en una frase, que formar una estructura jerárquica.  ej: sustantivo  frase nominal  sujeto
  • 19. Niveles de análisis del lenguaje 19  Estructura temática: reconocer quien le hizo qué a quién (sujeto acción objeto).  Estructura semántica: Combinar la estructura temática para reconocer quién le hizo qué a quién de acuerdo a la ambigüedad del lenguaje.  Por ejemplo: “luego, llama a la puerta, pero no responden”.  Estructura Discursiva: Relación entre las frases según se combinan las frases (apoya_a, discute_un_punto_de, contradice_a).
  • 20. Análisis gramático 20  ¿Por qué querría hacer análisis gramático?  Saber la función sintáctica de una palabra permite identificar de qué se está hablando, y como se relacionan los objetos nombrados.  El sustantivo en el sujeto determina quién o qué lleva a cabo una acción.  El adjetivo determina como es el sujeto (p. ej. modelo de auto)  El verbo determina la acción (que se hace)  El objeto directo determina a quién se lo hace.  http://es.wikipedia.org/wiki/Sustantivo (y siguiente slide) para detalles de partes de la oración.
  • 21. Análisis gramático 21  Partes de la Oración en Castellano:  Artículo: transforma al sustantivo en uno o muchos (el, las, lo, unas...)  Sustantivo: el sujeto de la acción  Adjetivo: la característica del sustantivo.  Verbo: la acción que se lleva a cabo.  Pronombre: sustituye a un sustantivo ya nombrado (él, conmigo...).
  • 22. Análisis gramático 22  Partes de la Oración en Castellano:  Conjunción: agrupa y desagrupa palabras (y, o, ni, pero...  Adverbio: califica al verbo, adjetivo u otro adverbio dando información de tiempo, modo, lugar, afirmación o negación (dónde, rápido, públicamente, tampoco,...)  Preposición: relaciona palabras mediante una función (hasta, bajo, contra, sin,...).
  • 23. Frases nominales 23  Una frase nominal es una sección de una oración que incluye a un sustantivo, y que es completa (tiene sentido por sí misma). Son importantes porque casi por si solas son suficientes para saber de qué o quién se está hablando.  Una frase nominal puede formarse a partir de (pero no solo de):  un nominal (sustantivo con o sin adjetivo)  un artículo y un nominal  un nombre propio  Ejemplos:  El príncipe valiente atacó la fortaleza.  En la casa corre libremente el viejo perro.  Existen otros tipos de frase: adverbiales (p.ej. “de pronto”), verbales (p.ej. “dio apoyo”).
  • 24. Análisis gramático 24  POS (Part-Of-Speech) tagging es asignar a cada palabra un tag que identifique la función sintáctica de la palabra o token. Normalmente no incluye análisis gramático completo (sujeto - tácito o no, predicado, etc).  POS tagging sirve como atributo adicional para otras tareas:  En minería de opiniones, los adjetivos calificativos (bueno, malo, viejo, etc.) incluyen la opinión, y el adverbio cerca del adjetivo dan una idea de la firmeza de la opinión (muy, poco, más, demasiado).  En Named-Entity Recognition (NER), los sustantivos son el centro de las entidades.  En Question Answering, algunos adverbios (quién, dónde, cual) dan pistas de que tipo de respuesta se espera.
  • 25. POS tagging automático 25  POS tagging automático es difícil porque:  La palabra no determina la función, sino que también lo hace el contexto:  Cura puede ser verbo o sustantivo.  El castellano no es perfectamente regular:  Nace  nazco  nació, pero hace  hago  hizo  Los sufijos de palabras son ambiguos para determinar función gramátical:  compás (sust) vs. llenás (verbo) vs. llenas (verbo) vs.llenas (adj)  En castellano, el sujeto puede ser tácito:  Los últimos serán los primeros. (¿dónde está el sujeto?)  La gente escribe con errores gramaticales cuando escribe coloquialmente; los taggers asumen gramática correcta.
  • 26. Establecer genero es ambiguo 26  Establecer el género en castellano es complicado. La regla o/a para masculino/femenino del mismo objeto tiene ambigüedades:  pasta – pasto  foco – foca  raya – rayo  velo – vela  punto – punta  fila – filo  caro – cara  tango - tanga  Los sufijos de aumentativo / diminutivo causa ambigüedades:  visa - visita  pavo - pavote
  • 27. Utilidades de POS tagging 27  Frases nominales como key phrases en BlogPulse de Nielsen
  • 28. Cómo hacer POS tagging 28  Expresiones regulares  Unigramas  Bigramas  Trigramas  Hidden Markov Models  Taggers Transformativos (Brill´s Tagger)
  • 29. POS Tagging 29  El tagging más simple es asignar a todas las palabras la misma clase (usualmente: sustantivo).  No es útil de por sí, pero sí como ultimo recurso (fallback).
  • 30. POS Tagging en NLTK 30 text = "There are 11 players in a football team" text_tokens = text.split() # ["There", "are", "11", "players", "in", "a", "football", "team"] import nltk mytagger = nltk.DefaultTagger("NN") for t in mytagger.tag(text_tokens): print t # ("There", "NN") # ("are", "NN") # ...
  • 31. POS Tagging con expresiones regulares31  Usar enumeraciones, prefijos y sufijos para adivinar categorias de palabras. import nltk default_pattern = (r".+", "NN") cd_pattern = (r"[0-9]+|[0-9]+,[0-9]+", "CD") patterns = [cd_pattern, default_pattern] CD_NN_tagger = nltk.RegexpTagger(patterns) text = "There are 11 players in a football team" re_tagged = CD_NN_tagger.tag(text.split()) # [('There', 'NN'), ('are', 'NN'), ('11', 'CD'), ('players', 'NN'),('in', 'NN'), ('a', 'NN'), ('football', 'NN'), ('team', 'NN')
  • 32. N-Gramas 32  Si tengo información de ejemplo sobre palabras y tags, puedo mirarlas en secuencias para aprender “patrones” de tagging.  Un n-grama es una secuencia de símbolos (letras, palabras, etc) de largo n: Unigrama = largo 1, bigrama=largo 2, etc.  ¿Por qué no usar las palabras o letras directamente? La secuencia da información, no todas las secuencias son igualmente probables
  • 33. Collocation: Juntas por casualidad33  Colocación: dos o más palabras que corresponden al nombre de algo o a una manera de llamar a las cosas.  “ciencia ficción”, “disco rígido”, “software libre”.  El significado no se deduce de las partes (ejemplo “yerba mala”).
  • 34. Collocation 34  Colocación significa que ciertas palabras no son independientes entre sí.  ¿Cómo decidir si están juntas por casualidad, o en realidad están relacionadas?  Medidas de Colocación más usadas:  Intersección  Jackard  Dice  Información mutua  Tests de Colocación: c2
  • 35. Medidas de colocación 35  Carácterísticas Deseables:  Que tenga un máximo y mínimo definido, para poder interpretar el valor.  Que no sea muy sensible a eventos raros.  Que tenga una justificación (casi siempre probabilística).