Представление естественного языка как RDF - PullRequest
12 голосов
/ 04 августа 2010

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

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

1 Ответ

11 голосов
/ 06 августа 2010

Может быть, взгляните на проект 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 (например, « Джон спит. » может означать, что индивидуум Джон принадлежит к классу спящих ). Менее понятно, как обращаться, например, дитранзитивные глаголы и наречия.

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

...