Технология построения онтологий из текстов на естественном языке (1187431), страница 5
Текст из файла (страница 5)
Ролевое представление в ИП:ИП:( x:Собака)( y:Кость)( z:Дает)( w:Сочная)(Человек(Маша) Agnt(z,Маша) Rcpt(z,x) Thme(z,y) Attr(y,w))Ролевое представление является более гибким, потому что позволяет добавлять любоечисло модификаторов в глаголы и прилагательные.
Следующее предложение, например,нельзя было бы представить в относительной форме, так как трехместное отношение длядает и одноместный предикат для сочная не оставляют возможности для дополнительныхуточнений.УРЯ:Маша дает собаке очень сочную кость с горячей сковороды.Таким образом, УРЯ отлично подходит для языка описания онтологии.3.3 Реализованные возможностиДля того, чтобы преодолеть трудности, возникающие при построении онтологий,обозначенные в разделе, посвященном актуальности темы работы, было решеноиспользовать «усеченный» русский язык.В данном разделе дано описание реализованных возможностей.
На данный момент можностроить основу онтологии: важнейшие семантические отношения «род - вид», «часть целое», создавать экземпляры классов, указывать эквивалентные классы и указыватьнекоторые ограничения.23Опишем контекстно-свободную грамматику «усеченного» русского языка в форме БэкусаНаура.1. <paragarph>::= {<sentence>}Параграф – набор разрешенных предложений, описывающих необходимуюдля построения онтологию.2. <subject>::=(((‗Любой‘|‗Любая‘|‗Любое‘)<name> | <instance>) (‗ - это‘|‘ часть‘) <name>)|((‗Любой‘|‗Любая‘|‗Любое‘)‘ состоит из ‘(‗ровно‘|‘неменее‘|‘не более‘){<digit>}<name>)(‗Что-то является‘<name>‘тогда и толькотогда, когда оно является‘<name>)Во второй части предложения после слов ‗ - часть‘, ‘ состоит из ‘(‗ровно‘|‘неменее‘|‘не более‘ и при определении эквивалентных классовсуществительное (существительное с модификатором) стоит не вименительном падеже. С помощью модуля pymorphy определяющеесуществительное ставится в именительный падеж, а также нормализуютсяприлагательные.3.
<instance> ::= <bigName>Экземпляр объекта - любое сочетание прописных и строчных букв, цифр изнака подчеркивания, начинающееся с прописной буквы.4. <name>::=<smallLetter>{<digit>|<smallLetter>|<bigLetter>|‘_‘}Имя класса - любое сочетание прописных и строчных букв, цифр и знакаподчеркивания, начинающееся со строчной буквы.5. <bigName> ::= <bigLetter>{<digit>|<smallLetter>|<bigLetter>|'_'}6. <digit> ::= '0'|1'|'2'|'3'|'4'|'5'|'6'|'7'|'8|'9'3.4 Стандарт OWLSemantic Web - это направление развития Всемирной паутины, целью которогоявляется представление информации в виде, пригодном для машинной обработки.Semantic Web будет основываться на способности XML определять настраиваемыесхемы разметки и гибкий подход RDF к представлению данных.
Первый уровеньнад RDF, требуемый для Semantic Web - это язык онтологий, который можетформально описать значение терминов, используемых в веб-документах. Если, какпредполагается, на машины возложить полезные рассудочные задачи в отношенииэтих документов, то данный язык должен выйти за пределы основной семантикиRDF Схем. Документ [18] обеспечивает больше деталей об онтологиях, мотивирует24потребность в языке веб-онтологий, описывая случаи использования, иформулирует цели, требования и правила использования OWL.OWL был разработан, чтобы удовлетворить эту потребность в языке вебонтологий. OWL - часть растущего комплекта рекомендаций W3C, связанных сSemantic Web.
OWL разработан для использования приложениями, которыедолжны обрабатывать содержимое информации, а не только представлять этуинформацию людям. OWL обеспечивает более полную машинную обработку Вебконтента, чем та, которую поддерживают XML, RDF, и RDF Schema (RDF-S),предоставляя наряду с формальной семантикой дополнительныйтерминологический словарь. OWL предназначен для тех случаев, когдасодержащаяся в документах информация должна быть обработана приложениями,в противоположность ситуациям, где нужно только представить содержимоедокументов людям. OWL может использоваться, чтобы явно представлятьзначения терминов и отношения между этими терминами в словарях.3.5 Пример использованияВ работе [11] описан способ построения онтологий сложных технических объектовна примере АНПА – автономного необитаемого подводного аппарата.
В этойработе онтология строится вручную. В качестве примера приведем построениеонтологии такого же автономного необитаемого подводного аппарата, используяописываемую в данной работе технологию.Используемый для примера текст:1. Любой носитель - это техническое_устройство.2. Любой автономный_аппарат - это носитель.3. Любой буксируемый_аппарат - это носитель.4. Любой тяжелый_аппарат - это носитель.5. Любой автономный_необитаемый_подводный_аппарат - этосамоходный_необитаемый_подводный_аппарат.6. Любой гибридный_аппарат - это самоходный_необитаемый_подводный_аппарат.7.
Любой подводный_телеуправляемый_аппарат - этосамоходный_необитаемый_подводный_аппарат.8. Любой носитель - это техническое_устройство.259. Любой полуавтономный_аппарат - этосамоходный_необитаемый_подводный_аппарат.10. Что-то является системой_энергообеспечения тогда и только тогда, когда оноявляется источником_тока.11. AUSS - это автономный_необитаемый_подводный_аппарат.12. Любое техническое_устройство - частьсамоходного_необитаемого_подводного_аппарата.13.
Любой самоходный_необитаемый_подводный_аппарат состоит из не более чем 3технических_устройств.14. Любая система_энергообеспечения состоит из ровно 4 технических_устройств.15. Любая система_снабжения состоит из не менее чем 5 технических_устройств.Далее показан синтаксис OWL [17] на основе данного примера.3.5.1 Иерархия классовВ предложениях 1 – 9 определяется иерархия используемых в проектируемойонтологии понятий.Новый класс описывается так:<owl:Class rdf:about=‖class_name‖/>,где class_name – имя нового класса.Подкласс объявляется следующим образом:<owl:Class rdf:about="subclass_name"><rdfs:subClassOf rdf:resource="class_name"/></owl:Class>,где subclass_name – имя класса, стоящего ниже в иерархии, class_name – имяродительского класса.Таким образом, первое предложение в синтаксисе OWL выглядит так:<owl:Class rdf:about=‖ техническое_устройство‖/>,<owl:Class rdf:about="носитель"><rdfs:subClassOf rdf:resource="техническое_устройство"/></owl:Class>Все классы, которые как мы считаем, не являются подклассами в нашей онтологии,в OWL автоматически становятся подклассами встроенного самого общего классапо имени Thing(Вещь), который является классом всех индивидов и суперклассомдля всех OWL классов.
Есть также встроенный наиболее специфичный класс по26имени Nothing (Ничто), который не имеет никаких представителей и являетсяподклассом всех OWL классов.На рисунке 1 представлена получившаяся иерархия. Здесь и далее представленыскриншоты из одного из самых популярных на данный момент редакторовонтологий Protégé.Рис. 13.5.2 Эквивалентные классыВ предложении 10 определяются эквивалентные классы.Синтаксис OWL:<owl:Class rdf:about="class_name1"><equivalentClass rdf:resource="class_name2"/></owl:Class>,где class_name1 и class_name1 – имена классов.Таким образом, мы описываем, что классы имеют одних и тех же представителей.Это свойство может использоваться для создания синонимичных классов как внашем примере:<owl:Class rdf:about="система_энергообеспечения"><equivalentClass rdf:resource="источник_тока"/></owl:Class>Из этого можно вывести, что любой индивид, который является представителемклассы ― система_энергообеспечения ‖, является также и представителем класса ―источник_тока‖ и наоборот.273.5.3 Экземпляры объектовВ предложении 11 определяется экземпляр объекта класса―автономный_необитаемый_подводный_аппарат ‖.Синтаксис OWL:<class_name rdf:ID="individual_name">< class_name >,где individual_name – имя экземпляра объекта.Так, в нашем примере получится следующее:<автономный_необитаемый_подводный_аппарат rdf:ID="AUSS"></автономный_необитаемый_подводный_аппарат>Рис.
23.5.4 Отношения “часть – целое”Для определения этих свойств введем два свойства-объекта (ObjectProperty): consistsOf иbePartOf, а также объявим их обратными друг другу:<owl:ObjectProperty rdf:about="consistsOf"/><owl:ObjectProperty rdf:about=" bePartOf"><owl:inverseOf rdf:resource="/consistsOf"/></owl:ObjectProperty>Далее, в синтаксисе OWL предусмотрена возможность определения различныхограничений на свойства. В данной работе рассмотрено указание количества элементов –кардинальность. Ограничения кардинальности в OWL известны как локальныеограничения, так как они распространяются на свойства каждого конкретного класса. То28есть, эти ограничения задают кардинальность данного свойства для представителейданного класса.minCardinality – встроенное свойство OWL, показывающее, что любой представительданного класса будет связан этим свойством по крайней мере с указанным количествоминдивидов.maxCardinality - встроенное свойство OWL, показывающее, что любой представительданного класса будет связан этим свойством не более чем с указанным количествоминдивидов.qualifiedCardinality - встроенное свойство OWL, показывающее, что любой представительданного класса будет связан этим свойством не более чем с указанным количествоминдивидов.Для указания необходимых ограничений для класса используется следующий синтаксис:<owl:Class rdf:about="class_name1"><rdfs:subClassOf><owl:Restriction><owl:onProperty rdf:resource="property_name"/><owl:onClass rdf:resource="class_name2"/><owl: cardinality_typerdf:datatype="&xsd;nonNegativeInteger">number</owl:cardinality_type></owl:Restriction></rdfs:subClassOf></owl:Class>где class_name1 – имя класса, на который накладывается ограничение,class_name2 – имя класса, который является значением,property_name – название свойства,number – количество индивидов класса-значения,cardinality_type – вид ограничения: minCardinality, maxCardinality либо qualifiedCardinality.В рассматриваемом примере получается следующее:<owl:Class rdf:about=" техническое_устройство"><rdfs:subClassOf><owl:Restriction><owl:onProperty rdf:resource=" bePartOf"/><owl:onClass rdf:resource=" самоходный_необитаемый_подводный_аппарат"/>29</owl:Restriction></rdfs:subClassOf></owl:Class><owl:Class rdf:about=" самоходный_необитаемый_подводный_аппарат"><rdfs:subClassOf><owl:Restriction><owl:onProperty rdf:resource=" consistsOf"/><owl:onClass rdf:resource=" техническое_устройство"/><owl:maxQualifiedCardinalityrdf:datatype="&xsd;nonNegativeInteger">3</owl:maxQualifiedCardinality></owl:Restriction></rdfs:subClassOf></owl:Class>Рис.
3<owl:Class rdf:about=" система_энергообеспечения"><rdfs:subClassOf><owl:Restriction><owl:onProperty rdf:resource=" consistsOf"/><owl:onClass rdf:resource=" ехническое_устройство"/><owl:qualifiedCardinalityrdf:datatype="&xsd;nonNegativeInteger">4</owl:qualifiedCardinality></owl:Restriction></rdfs:subClassOf></owl:Class>Рис. 4<owl:Class rdf:about=" система_снабжения"><rdfs:subClassOf><owl:Restriction><owl:onProperty rdf:resource=" consistsOf"/><owl:onClass rdf:resource=" техническое_устройство"/>30<owl:minQualifiedCardinalityrdf:datatype="&xsd;nonNegativeInteger">5</owl:minQualifiedCardinality></owl:Restriction></rdfs:subClassOf></owl:Class>Рис. 5314.
ВыводыТаким образом, мы можем сделать следующие выводы:1. Анализ существующих методов решения поставленной проблемы показалнеобходимость создания системы автоматической генерации онтологий из текстана русском языке.2. Построение достаточно сложного объекта — такого как онтология, кодирующаяинформацию общей предметной области в различных конфигурациях сервисныхсистем вполне возможно реализовать через последовательность простыхпредложений на ограниченном родном естественном языке, построенных впроцессе семантизации из исходного корпуса текстов.3. Качество проведенной семантизации, выражающейся в наборе простыхпредложений на ограниченном естественном языке, несмотря на кажущуюсяпростоту, существенно зависит от полноты и других качеств используемогокорпуса текстов.