fnBrito.com
ClinicalDataBase
ClinicalDataBank
WebLog

« October 2004 »
SunMonTueWedThuFriSat
     
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
23
24
25
26
27
28
29
30
31
      
Hoy

XML


20041022 Friday October 22, 2004

Ordenador, ¿Me ha escrito alguien?:: Es increíble todo lo que se puede hacer con los documentos escritos... Andaba yo buscando nuevos temas para leer en el tren de vuelta a casa y terminé echando una semanita jugando a leer...

Empezando por por un par de artículos muy interesantes publicados en el laboratorio de inteligencia artificial del mit (esa fuente inagotable de artículos geniales) sobre filtros bayesianos, y comparación con otros algoritmos de clasificación:

La lista completa de publicaciones está aquí (ojo, es un archivo algo largo). Merece la pena guardarlo en favoritos.

De ahí, y con ayuda de google, me encontré con el proyecto Classifier4J, un clasificador de texto que permite, de forma muy sencilla incorporar a nuestra aplicación un filtro bayesiano de texto, por ejemplo para darle al botón "Buscar" de nuestra aplicación algo más de vida de la que le da el "SELECT [...] FROM [...] WHERE descripcion LIKE '%filtro%' (de lo de filtrar spam ni hablo, que ya está muy trillado, aunque también se puede...). Hay otra característica muy curiosa, que se proporciona casi de refilón, y es la capacidad de resumir un texto: usando un SimpleSummariser puedo obtener un resumen de un texto utilizando el número de frases que yo le diga (¡mola!).

Siguiendo siguiendo, llegué a TextMining.org, una página dedicada a la minería de texto ("Analizar texto y extraer información útil sobre él"). Mantienen una librería de extracción de texto que permite pasar PDF's y Word (6.0 en adelante) a texto plano. Pero lo mejor de TextMining fue el enlace a GATE, un proyecto muy interesante para desarrollar una plataforma de análisis de texto natural. La idea es poder analizar sintácticamente un texto (en general, asociarle anotaciones de cualquier tipo), identificar el sujeto y el predicado de una frase, sacar todos los nombres propios de un documento, en fín, un montón de cosas.

Además, GATE (que por cierto tiene licencia GPL), es toda una plataforma de desarrollo con una arquitectura basada en componentes bastante currada (y madura, ya van por la versión 3.0), con la que puedo desarrollar mis propios componentes de interpretación de texto y exportarlos en un jar para incluirlos en mi aplicación. Hay mucha documentación sobre cómo desarrollar los componentes y enlazarlos posteriormente desde nuestro código.

Para los que estén preguntándose para qué puede servir esto... ¿no habéis visto ninguna peli en la que le hablen a los ordenadores? Hace mucho tiempo que sabemos cómo "escribir" lo que nos dicta el usuario (IBM ViaVoice y demás)... pero pronto seremos capaces de hacer que el ordenador entienda lo que le hablamos. Mi madre será capaz de ponerse delante de la pantalla (con micro incorporado) y decir "quiero leer mi correo", o "dime si tengo mensajes", o "¿me ha escrito alguien?", y el ordenador sabrá en todo caso que debe arrancar el gestor de correo... La barrera que presentan los ordenadores al usuario medio se deben a que éste debe aprender la forma de tratar a la máquina, pero el día que la máquina pueda aprender a interpretar lo que el usuario le pide, esa barrera habrá desaparecido... y entonces sí sabremos lo que es la domótica, los coches inteligentes, y que los trastos hagan "magia".
(2004-10-22 11:02:26.0) Permalink Comentarios [3]