2010-07-01 11 views
8

Estoy buscando referencias (tutoriales, libros, literatura académica) sobre la estructuración de texto no estructurado de forma similar al botón de agregar rápido de Google Calendar.Texto no estructurado a datos estructurados

Entiendo que esto puede pertenecer a la categoría PNL, pero estoy interesado sólo en el proceso de pasar de algo así como "pantalones vaqueros Levi tamaño de 32 A0b293"

a: Marca: Levi, Tamaño: 32, Categoría: Jeans, código: A0b293

Imagino que sería una combinación de análisis léxico y técnicas de aprendizaje automático.

soy bastante idioma agnóstico, pero si se les presiona preferirían pitón, Matlab o referencias C++

Gracias

+0

¿Qué tan limitado es su dominio? Google Calendar Quick Add solo analiza las fechas y las horas (y no siempre tan bien). El cuadro de búsqueda de Google Maps solo trata con ubicaciones. La dificultad de hacer esto depende de qué tan estrecho sea su dominio.(¿Un catálogo de productos?) – tcarobruce

+0

Restringido para tratar con clotthes como en el ejemplo – zenna

Respuesta

7

Es necesario proporcionar más información acerca de la fuente del texto (la web? Entrada del usuario?), el dominio (¿es solo ropa?), el formato y el vocabulario potenciales ...

Suponiendo el peor de los casos, debe comenzar a aprender NLP. Un muy buen libro gratis es la documentación de NLTK: http://www.nltk.org/book. También es una muy buena introducción a Python y el SW es ​​gratis (para varios usos). Tenga cuidado: PNL es difícil. No siempre funciona No es divertido a veces. El estado del arte no está cerca de donde te imaginas.

Suponiendo un mejor escenario (el texto es semiestructurado): una buena herramienta gratuita es pyparsing. Hay un libro, muchos ejemplos y el código resultante es extremadamente atractivo.

espero que esto ayude ...

1

Posiblemente vistazo a "inteligencia colectiva", de Toby Segaran. Me parece recordar que abordar los conceptos básicos de esto en un capítulo.

+0

uno de los mejores libros de inteligencia colectiva que hay. – jvc

1

Después de una cierta investigación he encontrado que este problema se conoce comúnmente como extracción de información y han acumulado unos papeles y se almacena en un Mendeley Colección

http://www.mendeley.com/research-papers/collections/3237331/Information-Extraction/

también como Tai Weiss señaló NLTK para python es un buen punto de partida y el capítulo this del libro, mira específicamente a la extracción de información

+0

Este enlace parece estar muerto –

0

Si solo está trabajando para casos como el ejemplo que citó, es mejor que utilice algunos m basado en reglas anuales que es 100% predecible y cubre el 90% de los casos podría encontrar producción.

Puede enumerar listas de todas las marcas y categorías posibles y detectar cuál es cuál en una cadena de entrada porque generalmente hay muy poco intersección en estas dos listas ...

Las otras dos se pueden detectar y extraer fácilmente mediante expresiones regulares. (Los números de 1 a 3 dígitos son siempre tamaños, etc.)

El dominio de su problema no parece lo suficientemente grande como para justificar un enfoque más exigente, como el aprendizaje estadístico.

+0

De acuerdo, sospecho que el calendario de Google usa un sistema basado en reglas (piense en expresiones regulares) para realizar el análisis sintáctico. El aprendizaje automático es más útil cuando se saca información de un texto más incierto. Pero si su dominio es bastante conocido y la cadena de entrada es limitada, entonces puede salirse con las reglas. – Thien

Cuestiones relacionadas