2010-08-04 2 views
12

Сколько из концепций, передаваемых на естественном языке, может представлять RDF/OWL? Я все еще изучаю RDF и другие семантические технологии, но, как я понимаю, информация обычно представляется в виде тройки формы (субъект, предикат, объект). Поэтому я могу представить, как может быть представлено предложение «Боб имеет шляпу». Однако как вы представляете более сложное предложение, такое как «Боб, на 42-й улице, будет работать в Молле после того, как владелец одобрит»? Существуют ли соглашения для тегов, представляющих существительные/глаголы/собственность/причинность/время/и т. Д.?Представление естественного языка как RDF

Примечание. Я не спрашиваю, как автоматически преобразовывать произвольный текст естественного языка в RDF (так как это в настоящее время кажется невозможным). Я просто пытаюсь понять, как RDF может использоваться для представления той же информации, что и естественный язык.

ответ

11

Возможно, посмотрите на Attempto project, целью которого является определение фрагмента английского языка, который может быть автоматически сопоставлен с логикой первого порядка. Часть этого усилия - это сопоставление с OWL 2 DL. См. Writing OWL ontologies in ACE.

Ваш пример предложение

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

можно переписать в Attempto Controlled английском языке (ACE) в качестве

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

(или что-то подобное, в зависимости от того, что вы точно собираетесь сказать.)

Это предложение может быть автоматически сопоставлено с 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 
     ) 
    ) 
    ) 

Это отображение реализует определенные соглашения об основных классах слов:

  • нарицательных сопоставляться именами классов OWL
  • имен собственных карты в OWL отдельных имен
  • переходных глаголы, переходные прилагательные и of -constructions сопоставить именам свойств OWL: имена свойств данных, если их аргумент является числом или строкой, имена свойств объекта иначе

Многие классы слов, поддерживаемые ACE, не поддерживаются этим отображением, например. непереходные и дестрируемые глаголы, непереходные прилагательные и наречия. Охват может быть расширен, например. непереходные глаголы могут отображаться в классах OWL (например, «John sleeps.» означает, что физическое лицо John относится к классу шпалы). Менее ясно, как обращаться, например. деструктивные глаголы и наречия.

В общем, английский язык гораздо богаче с точки зрения его строительных блоков (существительных, разных типов прилагательных, разных типов глаголов, ...), чем OWL (который имеет классы, индивидуумы, свойства объектов и данных и (напечатанные) элементы данных, такие как строки и числа). И это всего лишь уровень «слово vs сущность». Такие вещи, как напряженность, сложнее, поскольку у них много поверхностных представлений на английском языке и отсутствуют встроенные модули на стороне OWL.

+0

Молодцы. После некоторых исследований, точный вызов APE: ./ape.exe -text «Если владелец p: Mall v: утверждает p: John, чей адрес« 42-я улица », тогда Джон является n: сотрудником p: Mall."-cparaphrase – Cerin

+0

Интересно отметить, что большинство функций, поддерживаемых ACE, явно не поддерживаются RDF/OWL, поскольку они не поддерживают прилагательные, наречия и другие общие части речи. Попытка экспортировать мое предложение в OWL генерирует ошибку, но отлично работает, если я экспортирую ее как структуру представления дискурса (DRS). – Cerin

+0

@ chris-s Я расширил ответ в ответ на ваш второй комментарий. – Kaarel