Domanda

Come gran parte dei concetti veicolato in linguaggio naturale è RDF / OWL in grado di rappresentare? Sto ancora imparando RDF e altre tecnologie semantiche, ma come ho attualmente capito, l'informazione è tipicamente rappresentato come triple della forma (soggetto, predicato, oggetto). Quindi posso immaginare come la frase "Bob ha un cappello" potrebbe essere rappresentato. Tuttavia, come è possibile rappresentare una frase più complicata come "Bob, sopra su 42th Street, avrà un posto di lavoro presso il centro commerciale dopo che il proprietario approva"? Ci sono convenzioni per i tag che rappresentano nomi / verbi / proprietà / causalità / tempo / etc?

Si noti, non sto chiedendo come convertire automaticamente il testo arbitrario del linguaggio naturale per RDF (in quanto questo momento sembra impossibile). Sto solo cercando di capire come RDF potrebbe essere usato per rappresentare le stesse informazioni che il linguaggio naturale rappresenta.

È stato utile?

Soluzione

Forse hanno uno sguardo alla Attempto progetto il cui obiettivo è quello di definire un frammento di lingua inglese che possono essere mappati automaticamente alla logica del primo ordine. Parte di questo sforzo è una mappatura di OWL 2 DL. Vedi per esempio scrittura OWL ontologie in ACE .

Il vostro esempio frase

Bob, over on 42nd street, will have a job at the Mall after the owner approves

potrebbe essere riscritto in Attempto Controlled English (ACE) come

If an owner of Mall approves John whose address is "42nd street"
    then he is employed by Mall.

(o qualcosa di simile, a seconda di cosa esattamente intenzione di dire.)

Questa frase può essere mappato automaticamente a un OWL2 subClassOf -axiom

   SubClassOf(
      ObjectIntersectionOf(
         ObjectOneOf(
            :Mall
         )
         ObjectSomeValuesFrom(
            :owner
            ObjectSomeValuesFrom(
               :approve
               ObjectIntersectionOf(
                  ObjectOneOf(
                     :John
                  )
                  DataHasValue(
                     :address
                     "42nd street"^^<http://www.w3.org/2001/XMLSchema#string>
                  )
               )
            )
         )
      )
      ObjectSomeValuesFrom(
         :employ
         ObjectOneOf(
            :John
         )
      )
   )

Questa mappatura implementa alcune convenzioni su classi di parole fondamentali:

  • nomi comuni mappano i nomi delle classi OWL
  • nomi propri mappa di OWL singoli nomi
  • transitiva verbi, aggettivi transitivi, e di -constructions mappa di nomi di proprietà di OWL: i nomi delle proprietà dei dati se il loro argomento è un numero o una stringa, i nomi delle proprietà degli oggetti altrimenti

Molte classi di parole che gli ACE-supporti non sono supportate da questa mappatura, ad esempio, verbi intransitivi e ditransitive, aggettivi e avverbi, intransitivi. La copertura potrebbe essere esteso, per esempio verbi intransitivi potrebbero mappare le classi OWL (ad esempio " John dorme. " potrebbe essere interpretata nel senso che l'individuo Giovanni appartiene alla classe di traverse ). È meno chiaro come gestire esempio verbo ditransitivo e avverbi.

In generale, l'inglese è molto più ricca in termini di suoi elementi costitutivi (sostantivi, diversi tipi di aggettivi, diversi tipi di verbi, ...) che OWL (che ha classi, individui, oggetti e proprietà dei dati, e (tipizzato ) elementi di dati come ad esempio stringhe e numeri). E questo è solo la "parola vs entità" livello. Cose come tesi sono più complicate in quanto hanno molte rappresentazioni di superficie in inglese e la mancanza di qualsiasi built-in sul lato OWL.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top