¿Cómo se hace para analizar una página HTML con texto libre, listas, tablas, encabezados, etc., en oraciones?Analizando HTML en oraciones: ¿cómo manejar tablas/listas/encabezados/etc.?
Tome this wikipedia page por ejemplo. Hay/son:
- texto libre: http://en.wikipedia.org/wiki/Neurotransmitter#Discovery
- listas: http://en.wikipedia.org/wiki/Neurotransmitter#Actions
- mesas: http://en.wikipedia.org/wiki/Neurotransmitter#Common_neurotransmitters
Después de jugar un poco con la pitón NLTK, quiero poner a prueba todos estos diferentes métodos de anotación de corpus (desde http://nltk.googlecode.com/svn/trunk/doc/book/ch11.html#deciding-which-layers-of-annotation-to-include):
- Tokenización de palabras: la forma ortográfica del texto no identifica inequívocamente sus tokens. Una versión tokenizada y normalizada, además de la versión ortográfica convencional, puede ser un recurso muy conveniente.
- Segmentación de oraciones: Como vimos en el Capítulo 3, la segmentación de oraciones puede ser más difícil de lo que parece. Algunos corpora, por lo tanto, usan anotaciones explícitas para marcar la segmentación de oraciones.
- Segmentación de párrafo: Los párrafos y otros elementos estructurales (encabezados, capítulos, etc.) pueden anotarse explícitamente.
- Parte del discurso: la categoría sintáctica de cada palabra en un documento.
- Estructura sintáctica: Estructura de árbol que muestra la estructura constituyente de una oración.
- Semántica superficial: anotaciones de entidades nombradas y correferencia, etiquetas de roles semánticos.
- diálogo y el discurso: diálogo acto etiquetas, estructura retórica
Una vez que se rompe un documento en frases parece bastante sencillo. ¿Pero cómo se trata de descifrar algo como el HTML de esa página de Wikipedia? Estoy muy familiarizado con el uso de analizadores HTML/XML y recorriendo el árbol, y he intentado quitar las etiquetas HTML para obtener el texto plano, pero debido a que falta la puntuación después de eliminar HTML, NLTK no analiza elementos como las celdas de la tabla, o incluso listas, correctamente.
¿Existe alguna mejor práctica o estrategia para analizar esas cosas con NLP? ¿O solo tienes que escribir manualmente un analizador específico para esa página individual?
Simplemente buscando algunos indicadores en la dirección correcta, realmente quiero probar este NLTK!
¿Ha intentado utilizar Punkt (está implementado en NLTK) en el texto eliminado para ver si eso lo lleva a alguna parte? – dmh
Mi observación informal es que los analizadores sintácticos generalmente son malos para manejar y representar texto de visualización (en lugar de ejecutar prosa). Si encuentra o diseña una buena solución, ¡síganos aquí! – tripleee