2010-04-24 30 views
5

Necesito representar oraciones en formato RDF.Representación RDF de oraciones

En otras palabras, "John le gusta coque" se representaría automáticamente como:

Subject : John 
Predicate : Likes 
Object : Coke 

¿Alguien sabe dónde debería empezar? ¿Hay algún programa que pueda hacer esto automáticamente o tendría que hacer todo desde cero?

+2

Tenga en cuenta que este sigue siendo un área activa de investigación.Los mejores programas de análisis tienden a funcionar bien en pequeñas frases, como su ejemplo, pero tenderán a fallar miserablemente en frases "mundo real". – Cerin

+0

Podría darnos la representación de cualquier pretendida, 10+ palabras larga condena real? (Por ejemplo, "El anarquismo es una filosofía política que aboga por sociedades sin estado menudo definidos como instituciones de libre auto-gobernados.") [Esta pregunta] (http://stackoverflow.com/questions/3408867/representing-natural-language-as-rdf ? RQ = 1) se ve como preguntar cuánto de lo que se pide es factible, y la respuesta no es mucho. –

Respuesta

10

Parece que quiere que dependencias escritas de una oración, p. para John likes coke:

nsubj(likes-2, John-1) 
dobj(likes-2, coke-3) 

No estoy al tanto de cualquier analizador de dependencias que produce directamente RDF. Sin embargo, muchos de ellos producen análisis en una representación limitada de tabulación estandarizada conocida como CoNLL-X, y no debería ser demasiado difícil convertir de CoNLL-X a RDF.

analizadores

Open Source dependencia

Hay una serie de programas de análisis para elegir que el extracto de mecanografiado dependencias, incluyendo las siguientes opciones de código abierto con tecnología de última generación:

El Stanford Analizador incluye un modelo de pre-formados para analizar Inglés. Para obtener dependencias escritas a máquina necesitará usar el indicador -outputFormat typedDependencies.

Para el MaltParser puede descargar un modelo en inglés here.

MSTParser incluye un pequeño conjunto de entrenamiento de inglés de 200 frases 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 here.

Todos los modelos preestablecidos vinculados anteriormente producen análisis según el formalismo de Dependencia de Stanford (ACL paper 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 sentences in only 8 seconds.

2

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.

¡Vea this demo en su ejemplo de "John likes coke"!