Представление естественного языка как RDF

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

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

Ответы

Ответ 1

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

Пример вашего примера

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

может быть переписана в Attempto Controlled English (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
  • переходные глаголы, транзитивные прилагательные и карты -конструкции для имен свойств OWL: имена свойств данных, если их аргумент является числом или строкой, имена свойств объекта иначе

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

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