Représentant du langage naturel comme RDF
-
25-09-2019 - |
Question
Dans quelle mesure les concepts véhiculés en langage naturel est RDF / OWL capable de représenter? Je suis encore à apprendre RDF et d'autres technologies sémantiques, mais comme je comprends actuellement il, l'information est généralement représentée comme triplets de la forme (sujet, prédicat, objet). Je peux donc imaginer comment la phrase « Bob a un chapeau » peut être représenté. Cependant, comment voulez-vous représenter une peine plus compliquée comme « Bob, sur la rue 42e, aura un emploi au centre commercial après que le propriétaire approuve »? Y at-il des conventions pour les balises représentant les noms / verbes / propriété / causalité / tendu / etc?
Remarque, je ne demande pas comment convertir automatiquement le texte en langage naturel arbitraire de RDF (comme cela semble actuellement impossible). Je suis juste essayer de comprendre comment RDF peut être utilisé pour représenter les mêmes informations que représente le langage naturel.
La solution
ont peut-être un coup d'oeil à la Attempto projet dont l'objectif est de définir un fragment de l'anglais qui peut être mappé automatiquement à l'état logique du premier ordre. Une partie de cet effort est une application OWL 2 DL. Voir par exemple Écrire ontologies OWL ACE .
Votre phrase exemple
Bob, over on 42nd street, will have a job at the Mall after the owner approves
pourrait être réécrite en Attempto Controlled English (ACE) comme
If an owner of Mall approves John whose address is "42nd street"
then he is employed by Mall.
(ou quelque chose de similaire, selon ce que vous avez l'intention de dire exactement.)
Cette phrase peut être mis en correspondance automatiquement à 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
)
)
)
Cette cartographie met en œuvre certaines conventions sur les classes de mots de base:
- noms communs carte aux noms des classes OWL
- les noms propres carte OWL noms individuels
- verbes transitifs, adjectifs transitifs, et de la carte de OWL noms de propriété: les noms de propriétés de données si leur argument est un nombre ou une chaîne, les noms de propriétés d'objet autrement
De nombreuses classes de mots qu'ACE supports ne sont pas pris en charge par cette application, par exemple verbes transitifs et ditransitive, les adjectifs et les adverbes, intransitif. La couverture pourrait être étendue, par exemple verbes transitifs pourraient mapper classes OWL (par exemple " John dort. " pourrait être interprété comme signifiant que l'individu John appartient à la classe des traverses ). Il est moins facile de gérer par exemple verbes ditransitive et adverbes.
En général, l'anglais est beaucoup plus riche en termes de ses blocs de construction (noms, différents types d'adjectifs, différents types de verbes, ...) que OWL (qui a des classes, des individus, objet et propriétés de données, et (dactylographiées ) éléments de données tels que les chaînes et les nombres). Et ceci est juste le niveau « mot vs entité ». Des choses comme tendues sont plus complexes car ils ont beaucoup de représentations de surface en anglais et manquent de Encastrements sur le côté OWL.