nlp - una - tag questions para que sirve
Representación RDF de oraciones (2)
Necesito representar oraciones en formato RDF.
En otras palabras, "John likes coke" se representaría automáticamente como:
Subject : John
Predicate : Likes
Object : Coke
¿Alguien sabe dónde debería comenzar? ¿Hay algún programa que pueda hacer esto automáticamente o tendría que hacer todo desde cero?
Parece que quieres las dependencias tipeadas de una oración, por ejemplo, a John likes coke
:
nsubj(likes-2, John-1)
dobj(likes-2, coke-3)
No conozco ningún analizador de dependencias que produzca directamente RDF. Sin embargo, muchos de ellos producen análisis en una representación limitada de pestañas estandarizada conocida como CoNLL-X , y no debería ser demasiado difícil convertir de CoNLL-X a RDF.
Analizadores de Dependencia de Fuente Abierta
Hay varios analizadores para elegir que extraen dependencias escritas, incluidas las siguientes opciones de código abierto de última generación:
- Stanford Parser : consulta la demostración en línea .
- MaltParser
- MSTParser
Stanford Parser incluye un modelo preformado para analizar el inglés. Para obtener dependencias tipeadas, deberá usar el indicador -outputFormat typedDependencies
.
Para MaltParser puedes descargar un modelo en inglés aquí .
El MSTParser incluye un pequeño conjunto de entrenamiento de inglés de 200 oraciones que puede usar para crear su propio modelo de análisis en inglés. Sin embargo, el entrenamiento en estos pequeños datos dañará la precisión del analizador resultante. Por lo tanto, si decide usar este analizador, probablemente sea mejor que use el modelo de pretrain disponible aquí .
Todos los modelos preestablecidos vinculados anteriormente producen análisis según el formalismo de Dependencia de Stanford ( documento de ACL y manual ).
De estos tres, el analizador de Stanford es el más preciso. El MaltParser es el más rápido, con algunas configuraciones de este paquete que pueden analizar 1800 frases en solo 8 segundos .
Una opción es usar la salida de Link Parser , disponible bajo una licencia compatible con GPL. Puede definir una capa de traducción entre estas salidas y sus nodos RDF según sea necesario.
¡Mira esta demostración en tu ejemplo de "John likes coke"!