Post on 16-Apr-2017
Sistemas de Informacin II
Tema 9. Bases de datos de texto
Carlos Castillo
UPF 2008
Bibliografa:
Baeza-Yates y Ribeiro-Neto: Modern Information Retrieval, 1999
Captulo 7
Agenda
Ley de Zipf
De bytes a texto
De texto a palabras
De palabras a keywords
Indexacin
Importancia de las palabras
Alta
Sustantivos
Grupos de sustantivos
=> Keywords
Baja
Artculos
Preposiciones
Variable
Verbos
Frecuencia de las palabras
Ley de Zipf
f(wk) = frecuencia de la k-sima palabra
f(wk) 1/k
Ley de Zipf
Palabras ordenadas por frecuencia
Frecuencia
Importancia como keyword
Palabras ordenadas por frecuencia
Frecuencia
No se indexan
No aparecen
Keywordsimportantes
Importancia como keyword
Palabras ordenadas por frecuencia
Frecuencia
Importancia
Frecuencias palabras cataln
(cucweb)
80 formas = 50% de las palabras
Por qu no usar todas las palabras?
Ahorrar espacio
Palabras muy frecuentes
Simplificar la tarea de bsqueda
No distinguir entre maysculas y minsculas
Asociar palabras con el mismo significado
Mejorar la relevancia
Ej.: documento artificialmente largo por usar ms palabras funcionales
Herramientas para crear una
vista lgica
Anlisis lxico
Eliminacin de stopwords
Stemming (lematizacin)
Uso de diccionarios
Procesamiento del texto
Documento
Tokens
EliminarStopwords
Seleccionar
Lematizar
Indexacin
Texto completo
ndice
Reconocimientode estructura
Texto + Estructura
Texto
Procesar un documento
Formato
pdf/word/excel/html/etc.?
Lenguaje
Set de caracteres (codificacin de texto)
BytesTexto
Formas de codificar
Correspondencia bits caracteres
Ejemplo: 00100000 = (espacio)
Formato ms usado
ASCII (slo 256 letras)
Formatos usados para internacionalizacin
Iso-8859-1 (tambin 256 letras)
http://www.htmlhelp.com/reference/charset/latin1.gif
Formato internacional
UNICODE (4.294.967.296 letras)
ISO-8859-1 (Latin-1)
Francs, Castellano, Cataln, Italiano, Alemn, Holands, Fins, Ingls, etc...
ISO-8859-2 (Latin-2)
Checo, Hngaro, Polaco, Rumano, Croata, etc...
UNICODE: estndar
UNICODE (4.294.967.296 letras)
En teora (UTF-32), 4 bytes por caracter
=> 4 veces ms grande que ASCII, inaceptable
Codificaciones de largo variable
UTF-8 (base es 1 caracter)
UTF-16 (base es 2 caracteres)
UTF-8, codificacin
La mayora de los caracteres seexpresa con un slo byte
TextoPalabras
Anlisis lxico (tokenization)
Proceso de separar palabras
Un grupo de caracteres son caracteres de palabra [0-9A-Za-z]
Otro grupo de caracteres son separadores
[]')(?.,;
Autmata finito que reconoce palabras
Problemas
Combinacin de letras y nmeros
UB40, Windows95, 350AC, 510A.C.
Guones y signos
Zig-Zag, 3.12, B-49, Juan 13:21
U.S.A. = USA
Finland's capital
Palabras Compuestas
Santa Mara, New York, Iglesia del Pi
Maysculas y minsculas
Ignorar maysculas y minsculas?
MIT/mit
General Motors (Motors != motors)
SAIL vs sail
Ms problemas
Separadores propios de cada idioma
estellar, state-of-the-art
Acentos
Rsum o Resume
Pap o Papa
L'eixample
(L'eixample) (eixample) (le, eixample)
O tal vez todas como trminos separados
Lenguajes
Chino y Japons
Sin espacios entre palabras
Tokenizacin ambigua
Japons
Mltiples alfabetos
Hebreo (derecha-a-izquierda)
Idiomas de izquierda-a-derecha
Nmeros
Otro tipo de indexacin
Rangos de nmeros
No todos significan lo mismo
Motorola 68000 (nombre propio)
68000 pesetas (cantidad)
2003 (ao?)
Normalmente se indexan aparte
Nmeros (ejemplo)
Vendo 19500 Peugot 406 Coup 2.2 70000km 2002 934567123 de 10 a 16
Cmo reconocer los nmeros que son relevantes?
Vendo 19500 Peugot 406 Coup 2.2 70000km 2002 934567123 de 10 a 16
Fechas
1/1/2005
1 de Enero del 2005
Sbado, 1 de Enero del 2005
=> Requieren deteccin y normalizacin
Ordenamiento
2/1/2008
1 de Febrero en USA, 2 de Enero en Espaa
PalabrasKeywords
Stopwords
Tipos de palabra que no tienen significado por s mismas
Preposiciones, artculos, pronombres, conjunciones
Contrajemplo: to be or not to be, yo robot
Palabras que a veces no tienen significado: e.g. verbos auxiliares
Son caractersticos de cada lenguaje
Requieren detectar el idioma de cada pgina
Lematizacin
Importante sobre todo en algunos lenguajes Ej.: lenguas romances
Diferentes variantes
Singular/Plural: amigo, amigos
Masculino/Femenino: amigo, amiga
Prefijos y sufijos: inconstitucional
Ambigedad
Cruces (lema: cruz o cruzar?)
No siempre se puede hacer
Ordenador != Ordenar
Lemas y formas: ejemplo
Varias palabras comparten un lema
Lema anar
Formas: anar, va, van, vaig, va, anat, vam, van, anava, etc...
Lema be
Formas: be, is, ar, am
Lema fer
Formas: fer, faig, fa, fet, fan, fent, far, etc...
Frecuencias lemas en cataln
(cucweb)
24 lemas = 50% de las palabras
Cmo lematizar?
Utilizando un diccionario
Grande
Costoso de construir
N-gramas
Ej.: trigramas
Abogado: abo bog oga gad ado
Abogados: abo bog oga gad ado dos
=> Comparten muchos trigramas => misma palabra
Reglas
Lematizador de Porter
Lematizador de Porter
Reglas ($ = fin de palabra)
Escoger el sufijo ms grande
ational$ -> ate$
tional$ -> tion$
izer$ -> ize$
Etc.
En lenguas romances no funciona bien
Stemming != Lematizar
Automate, automatic, automation
Stem = automat, Lema = automatic?
Seleccin de palabras
Seleccin manual (usando diccionario)
GARAGES
see also Automobiles, Motor Vehicles, Etc.; Transportation -- Buildings and Structures; GasStations
GARDEN STRUCTURES
GARDENS
see also Landscape Architecture; Parks; Trees; Zoos
Ghost Towns: see Abandoned Settlements
Seleccin automtica
Agregar frases frecuentes Nueva York, Sri Lanka, Pacto de Estabilidad, ...
Diccionarios
Permiten indexacin precisa
Incluyen relaciones de
Sinnimos (car = automobile)
Generalizacin (ampliar una consulta)
Ej.: Dlar < unidad monetaria < unidad de medida < cantidad definida < abstraccin
Ej.: Caballo < equino < mamfero < ser vivo < entidad
Especificidad (restringir una consulta)
Wordnet http://www.cogsci.princeton.edu/cgi-bin/webwn
Problemas con los diccionarios
Puede ser confuso para un usuario
Mayor tiempo de procesamiento
Interpretacin del sentido de las palabras
Costoso de implementar para colecciones grandes
Etiquetado
Part-of-speech tags
Reconocer el rol de cada palabra
Sustantivos, verbos, adjetivos, determinantes, etc...
Cmo funciona?
Reglas probabilsticas (modelo del lenguaje)
Observar palabra anterior y siguiente
Diccionarios
Resumen
Procesamiento del texto
Mltiples etapas
Extraccin de keywords para indexar
Vista lgica
Separar seal de ruido
Indexacin
Tipos de bsqueda
Bsqueda online
e.g.: grep
Bsqueda offline
Requiere un paso previo de indexacin
Proceso general (Web)
ndice
Proceso de bsqueda
Convertir consulta en palabras
=> Mismo proceso que con documentos!
Convertir palabras en termids
Tabla de hashing o bsqueda binaria
Recuperar listas de posteo
Posiblemente listas parciales
Intentar adivinar tamao del resultado
Intersectar listas de posteo
O interseccin parcial
Proceso de creacin
Dos pasos
Construccin de vocabulario
Ordenar trminos
Hash
Construccin de listas de posteo
Para ndices grandes
Mezclado de ndices parciales
Distribucin de ndice
Tcnicas
Distribuir trminos
Distribuir documentos
Ranking
Modelo vectorial
Consulta = vector en espacio de trminos
Documento = vector en espacio de trminos
Similaridad = coseno entre vectores
Varias frmular para ajustar estos pesos:
Normalizar la frecuencia de trminos
Considerar la frecuencia en la coleccin
TF.IDF
Resumen
Proceso de texto para vista lgica
Pre-proceso: indexacin
Ranking, modelo vectorial
Tecnologas de la Informacin
Dr. Ricardo Baeza-Yates, Dr. Carlos CastilloUniversitat Pompeu Fabra - 2005
Click to edit the title text format
Click to edit the outline text format
Second Outline Level
Third Outline Level
Fourth Outline Level
Fifth Outline Level
Sixth Outline Level
Seventh Outline Level
Eighth Outline Level
Ninth Outline Level