Разработал макет, осуществляющий семантический анализ текста и построение его смысловой модели на базе подхода изложенного в статье “Представление знаний в системе, основанной на действиях”.
Для понимания, как это может выглядеть, выкладываю исходный документ и результат его разбора:
Построенная модель (в формате JSON, zip-архив) – Визуальный просмотр модели
[
{
"id": 2451927025792,
"nm": "ПРИКАЗЫВАЮ: 1622646616207613700",
"type": "action",
"act_object": [
2451927076672,
2451928314640,
2452024304688,
2452064806080,
2452072231456,
2452076211312,
2452078443296
],
"act_actor": [
2451792993344
],
"act_time": [
2451796122544
]
},
{
"id": 2452084886352,
"nm": "Президент: 1622646617911000500",
"type": "object",
"property_ref_id": 2452084886928,
"property": [
2452084886784,
2452085709888
]
},
{
"id": 2451927076672,
"nm": "Утвердить: 1622646616213615100",
"type": "action",
"act_object": [
2451927226400
]
},
{
"id": 2451928314640,
"nm": "Ввести (в действие): 1622646616280630400",
"type": "action",
"act_object": [
2451928416896
],
"act_time": [
2452022838272
]
},
{
"id": 2452024304688,
"nm": "Отменить: 1622646616433665800",
"type": "action",
"act_object": [
2452024399328
]
},
{
"id": 2452064806080,
"nm": "обеспечить: 1622646616568695600",
"type": "action",
"act_object": [
2452065050528,
2452067209168
],
"act_actor": [
2452063694128
],
"act_time": [
2452068868256
]
},
{
"id": 2452072231456,
"nm": "Признать (утратившим силу): 1622646617198838000",
"type": "action",
"act_object": [
2452072428448
]
},
{
"id": 2452076211312,
"nm": "Принять (к руководству): 1622646617419888200",
"type": "action",
"act_object": [
2452076454288
],
"act_actor": [
2452075809808
]
},
{
"id": 2452078443296,
"nm": "направить: 1622646617550917800",
"type": "action",
"act_object": [
2452078995056
],
"act_object_komu": [
2452078699184
],
"act_actor": [
2452077887984
],
"act_time": [
2452080877680
]
},
{
"id": 2451792993344,
"nm": "Message author"
},
{
"id": 2451796122544,
"nm": "Now"
},
{
"id": 2452084886928,
"nm": "Свойство-начальник",
"type": "property",
"prop_res": [
2452084886352
],
"prop_act": [
2451926424688
]
},
{
"id": 2452084886784,
"nm": "Свойство-есть",
"type": "property",
"prop_arg": [
2452084886352
],
"prop_res": [
2451926423776
],
"prop_act": [
2451796238784
]
},
{
"id": 2452085709888,
"nm": "Свойство-имя",
"type": "property",
"prop_arg": [
2452084886352
],
"prop_res": [
2451925584288
],
"prop_act": [
2451926158736
]
},
{
"id": 2451927226400,
"nm": "Регламент: 1622646616221616900",
"type": "object",
"property": [
2451927227408,
2451927328464,
2451927433072
]
},
{
"id": 2451928416896,
"nm": "Регламент: 1622646616286631500",
"type": "object",
"property": [
2451928417904,
2451928510768,
2451928615376
]
},
{
"id": 2452022838272,
"nm": "Результат<-Свойство-срок:1622646616350646000",
"type": "object",
"property_ref_id": 2452022839376,
"property": [
2452022839808
]
},
{
"id": 2452022839376,
"nm": "Время/условие для Ввести (в действие): 1622646616280630400",
"type": "property",
"prop_arg": [
2451928314640
],
"prop_res": [
2452022838272
],
"prop_act": [
2451796122688
]
},
{
"id": 2452024399328,
"nm": "Регламент: 1622646616440667100",
"type": "object",
"property": [
2452024400336,
2452024497296,
2452024606000
]
},
{
"id": 2452065050528,
"nm": "Набор: учет, хранение, распространение",
"type": "action",
"act_object": [
2452065346032
]
},
{
"id": 2452067209168,
"nm": "Набор: аннулирование, изъятие",
"type": "action",
"act_object": [
2452067353120
]
},
{
"id": 2452063694128,
"nm": "Начальник: 1622646616499679800",
"type": "object",
"property_ref_id": 2452063735872,
"property": [
2452063694560,
2452064708256
]
},
{
"id": 2452063735872,
"nm": "Свойство-начальник",
"type": "property",
"prop_arg": [
2452064601088
],
"prop_res": [
2452063694128
],
"prop_act": [
2451926424688
]
},
{
"id": 2452068868256,
"nm": "Результат<-Свойство-срок:1622646616793746500",
"type": "object",
"property_ref_id": 2452068868160,
"property": [
2452068868880,
2452068868592
]
},
{
"id": 2452068868160,
"nm": "Время/условие для обеспечить: 1622646616568695600",
"type": "property",
"prop_arg": [
2452064806080
],
"prop_res": [
2452068868256
],
"prop_act": [
2451796122688
]
},
{
"id": 2452072428448,
"nm": "Приказ(документ): 1622646617210840900",
"type": "object",
"property": [
2452072428928,
2452072576720,
2452075446624,
2452075604144
]
},
{
"id": 2452076454288,
"nm": "Регламент: 1622646617432891200",
"type": "object",
"property": [
2452076454336,
2452076607280,
2452076812944
]
},
{
"id": 2452075809808,
"nm": "Руководитель: 1622646617392882100",
"type": "object",
"property_ref_id": 2452075810384,
"property": [
2452075810240
]
},
{
"id": 2452075810384,
"nm": "Свойство-начальник",
"type": "property",
"prop_arg": [
2452076001456
],
"prop_res": [
2452075809808
],
"prop_act": [
2451926424688
]
},
{
"id": 2452078995056,
"nm": "Регламент: 1622646617585925600",
"type": "object",
"property": [
2452078995488,
2452079249728,
2452079547632
]
},
{
"id": 2452078699184,
"nm": "Заказчик: 1622646617564920900",
"type": "object",
"property": [
2452078700192
]
},
{
"id": 2452077887984,
"nm": "Начальник: 1622646617512909300",
"type": "object",
"property_ref_id": 2452077888704,
"property": [
2452077888416,
2452078238640
]
},
{
"id": 2452077888704,
"nm": "Свойство-начальник",
"type": "property",
"prop_arg": [
2452078041984
],
"prop_res": [
2452077887984
],
"prop_act": [
2451926424688
]
},
{
"id": 2452080877680,
"nm": "Результат<-Свойство-срок:1622646617686948700",
"type": "object",
"property_ref_id": 2452080878592,
"property": [
2452080879312,
2452080879024
]
},
{
"id": 2452080878592,
"nm": "Время/условие для направить: 1622646617550917800",
"type": "property",
"prop_arg": [
2452078443296
],
"prop_res": [
2452080877680
],
"prop_act": [
2451796122688
]
},
{
"id": 2451926423776,
"nm": "Президент"
},
{
"id": 2451925584288,
"nm": "А.С. Пушкин"
},
{
"id": 2451927227408,
"nm": "Свойство-есть",
"type": "property",
"prop_arg": [
2451927226400
],
"prop_res": [
2451926156000
],
"prop_act": [
2451796238784
]
},
{
"id": 2451927328464,
"nm": "Свойство-название",
"type": "property",
"prop_arg": [
2451927226400
],
"prop_res": [
2452029396352
],
"prop_act": [
2451926158160
]
},
{
"id": 2451927433072,
"nm": "Свойство-версия: 1622646616235620000",
"type": "property",
"prop_arg": [
2451927226400
],
"prop_res": [
2451803428992
],
"prop_act": [
2451926157632
]
},
{
"id": 2451928417904,
"nm": "Свойство-есть",
"type": "property",
"prop_arg": [
2451928416896
],
"prop_res": [
2451926156000
],
"prop_act": [
2451796238784
]
},
{
"id": 2451928510768,
"nm": "Свойство-название",
"type": "property",
"prop_arg": [
2451928416896
],
"prop_res": [
2452029668464
],
"prop_act": [
2451926158160
]
},
{
"id": 2451928615376,
"nm": "Свойство-версия: 1622646616299634500",
"type": "property",
"prop_arg": [
2451928416896
],
"prop_res": [
2451822391984
],
"prop_act": [
2451926157632
]
},
{
"id": 2452022839808,
"nm": "Свойство-дата с",
"type": "property",
"prop_arg": [
2452022838272
],
"prop_res": [
2452022990304
],
"prop_act": [
2451793587984
]
},
{
"id": 2452024400336,
"nm": "Свойство-есть",
"type": "property",
"prop_arg": [
2452024399328
],
"prop_res": [
2451926156000
],
"prop_act": [
2451796238784
]
},
{
"id": 2452024497296,
"nm": "Свойство-название",
"type": "property",
"prop_arg": [
2452024399328
],
"prop_res": [
2452030048000
],
"prop_act": [
2451926158160
]
},
{
"id": 2452024606000,
"nm": "Свойство-версия: 1622646616455669900",
"type": "property",
"prop_arg": [
2452024399328
],
"prop_res": [
2451846262064
],
"prop_act": [
2451926157632
]
},
{
"id": 2452065346032,
"nm": "Регламент: 1622646616601703100",
"type": "object",
"property": [
2452065346608,
2452065443648,
2452065641136
]
},
{
"id": 2452067353120,
"nm": "Регламент: 1622646616712728000",
"type": "object",
"property": [
2452067353696,
2452067505632,
2452067701856
]
},
{
"id": 2452063694560,
"nm": "Свойство-есть",
"type": "property",
"prop_arg": [
2452063694128
],
"prop_res": [
2451926425408
],
"prop_act": [
2451796238784
]
},
{
"id": 2452064708256,
"nm": "Свойство-имя",
"type": "property",
"prop_arg": [
2452063694128
],
"prop_res": [
2452036599760
],
"prop_act": [
2451926158736
]
},
{
"id": 2452064601088,
"nm": "Управление(оргединица): 1622646616555692700",
"type": "object",
"property": [
2452064601520,
2452063735872
]
},
{
"id": 2452068868880,
"nm": "Свойство-отрезок времени",
"type": "property",
"prop_arg": [
2452068868256
],
"prop_res": [
2452069258240
],
"prop_act": [
2451793541344
]
},
{
"id": 2452068868592,
"nm": "Свойство-дата с",
"type": "property",
"prop_arg": [
2452068868256
],
"prop_res": [
2452070363680
],
"prop_act": [
2451793587984
]
},
{
"id": 2452072428928,
"nm": "Свойство-есть",
"type": "property",
"prop_arg": [
2452072428448
],
"prop_res": [
2451926113680
],
"prop_act": [
2451796238784
]
},
{
"id": 2452072576720,
"nm": "Свойство-номер: 1622646617221843200",
"type": "property",
"prop_arg": [
2452072428448
],
"prop_res": [
2451935295520
],
"prop_act": [
2451926158448
]
},
{
"id": 2452075446624,
"nm": "Свойство-дата",
"type": "property",
"prop_arg": [
2452072428448
],
"prop_res": [
2452074090656
],
"prop_act": [
2451793585392
]
},
{
"id": 2452075604144,
"nm": "Свойство-название",
"type": "property",
"prop_arg": [
2452072428448
],
"prop_res": [
2452031396784
],
"prop_act": [
2451926158160
]
},
{
"id": 2452076454336,
"nm": "Свойство-есть",
"type": "property",
"prop_arg": [
2452076454288
],
"prop_res": [
2451926156000
],
"prop_act": [
2451796238784
]
},
{
"id": 2452076607280,
"nm": "Свойство-название",
"type": "property",
"prop_arg": [
2452076454288
],
"prop_res": [
2452031770736
],
"prop_act": [
2451926158160
]
},
{
"id": 2452076812944,
"nm": "Свойство-версия: 1622646617457896800",
"type": "property",
"prop_arg": [
2452076454288
],
"prop_res": [
2451942369312
],
"prop_act": [
2451926157632
]
},
{
"id": 2452075810240,
"nm": "Свойство-есть",
"type": "property",
"prop_arg": [
2452075809808
],
"prop_res": [
2451926424064
],
"prop_act": [
2451796238784
]
},
{
"id": 2452076001456,
"nm": "Подразделение: 1622646617406885100",
"type": "object",
"property_ref_id": 2452076002176,
"property": [
2452076001888,
2452075810384
]
},
{
"id": 2452078995488,
"nm": "Свойство-есть",
"type": "property",
"prop_arg": [
2452078995056
],
"prop_res": [
2451926156000
],
"prop_act": [
2451796238784
]
},
{
"id": 2452079249728,
"nm": "Свойство-название",
"type": "property",
"prop_arg": [
2452078995056
],
"prop_res": [
2452032151024
],
"prop_act": [
2451926158160
]
},
{
"id": 2452079547632,
"nm": "Свойство-версия: 1622646617618933200",
"type": "property",
"prop_arg": [
2452078995056
],
"prop_res": [
2451986008000
],
"prop_act": [
2451926157632
]
},
{
"id": 2452078700192,
"nm": "Свойство-есть",
"type": "property",
"prop_arg": [
2452078699184
],
"prop_res": [
2451926423200
],
"prop_act": [
2451796238784
]
},
{
"id": 2452077888416,
"nm": "Свойство-есть",
"type": "property",
"prop_arg": [
2452077887984
],
"prop_res": [
2451926425408
],
"prop_act": [
2451796238784
]
},
{
"id": 2452078238640,
"nm": "Свойство-имя",
"type": "property",
"prop_arg": [
2452077887984
],
"prop_res": [
2451922748416
],
"prop_act": [
2451926158736
]
},
{
"id": 2452078041984,
"nm": "Отдел: 1622646617526912200",
"type": "object",
"property": [
2452078042464,
2452077888704
]
},
{
"id": 2452080879312,
"nm": "Свойство-отрезок времени",
"type": "property",
"prop_arg": [
2452080877680
],
"prop_res": [
2452081472560
],
"prop_act": [
2451793541344
]
},
{
"id": 2452080879024,
"nm": "Свойство-дата с",
"type": "property",
"prop_arg": [
2452080877680
],
"prop_res": [
2452082894496
],
"prop_act": [
2451793587984
]
},
{
"id": 2451926156000,
"nm": "Регламент",
"type": "object"
},
{
"id": 2452029396352,
"nm": "«Регламент тестирования программного обеспечения»"
},
{
"id": 2451803428992,
"nm": "2"
},
{
"id": 2452029668464,
"nm": "«Регламент тестирования программного обеспечения»"
},
{
"id": 2451822391984,
"nm": "2"
},
{
"id": 2452024195056,
"nm": "Свойство-дата",
"type": "property",
"prop_res": [
2452022990304
],
"prop_act": [
2451793585392
]
},
{
"id": 2452022990304,
"nm": "Дата 15 Июль 2019",
"type": "object",
"property_ref_id": 2452024195056,
"property": [
2452024052080,
2452024150288,
2452024194672
]
},
{
"id": 2452030048000,
"nm": "«Регламент тестирования программного обеспечения»"
},
{
"id": 2451846262064,
"nm": "1"
},
{
"id": 2452065346608,
"nm": "Свойство-есть",
"type": "property",
"prop_arg": [
2452065346032
],
"prop_res": [
2451926156000
],
"prop_act": [
2451796238784
]
},
{
"id": 2452065443648,
"nm": "Свойство-название",
"type": "property",
"prop_arg": [
2452065346032
],
"prop_res": [
2452030530608
],
"prop_act": [
2451926158160
]
},
{
"id": 2452065641136,
"nm": "Свойство-версия: 1622646616620707300",
"type": "property",
"prop_arg": [
2452065346032
],
"prop_res": [
2451871139200
],
"prop_act": [
2451926157632
]
},
{
"id": 2452067353696,
"nm": "Свойство-есть",
"type": "property",
"prop_arg": [
2452067353120
],
"prop_res": [
2451926156000
],
"prop_act": [
2451796238784
]
},
{
"id": 2452067505632,
"nm": "Свойство-название",
"type": "property",
"prop_arg": [
2452067353120
],
"prop_res": [
2452030797568
],
"prop_act": [
2451926158160
]
},
{
"id": 2452067701856,
"nm": "Свойство-версия: 1622646616735733200",
"type": "property",
"prop_arg": [
2452067353120
],
"prop_res": [
2451872983696
],
"prop_act": [
2451926157632
]
},
{
"id": 2451926425408,
"nm": "Начальник",
"type": "object"
},
{
"id": 2452036599760,
"nm": "А.П.Суровому"
},
{
"id": 2452064601520,
"nm": "Свойство-есть",
"type": "property",
"prop_arg": [
2452064601088
],
"prop_res": [
2451926421904
],
"prop_act": [
2451796238784
]
},
{
"id": 2452069258240,
"nm": "Величина=7 День (ед.времени)",
"type": "object",
"property_ref_id": 2452068868880
},
{
"id": 2452070364304,
"nm": "Свойство-дата: 1622646617099815500",
"type": "property",
"prop_arg": [
2452071832736
],
"prop_res": [
2452070363680
],
"prop_act": [
2451793585392
]
},
{
"id": 2452070363680,
"nm": "Результат<-Свойство-дата:1622646617099815500",
"type": "object",
"property_ref_id": 2452070364304
},
{
"id": 2451926113680,
"nm": "Приказ(документ)",
"type": "object"
},
{
"id": 2451935295520,
"nm": "354"
},
{
"id": 2452074090656,
"nm": "Дата 11 Декабрь 2017",
"type": "object",
"property_ref_id": 2452075446624,
"property": [
2452075209968,
2452075406000,
2452075409360
]
},
{
"id": 2452031396784,
"nm": "«О введении в действие регламента тестирования»"
},
{
"id": 2452031770736,
"nm": "«Регламент тестирования программного обеспечения»"
},
{
"id": 2451942369312,
"nm": "2"
},
{
"id": 2451926424064,
"nm": "Руководитель"
},
{
"id": 2452076002176,
"nm": "Свойство-подразделение",
"type": "property",
"prop_res": [
2452076001456
],
"prop_act": [
2451926422192
]
},
{
"id": 2452076001888,
"nm": "Свойство-есть",
"type": "property",
"prop_arg": [
2452076001456
],
"prop_res": [
2451926422336
],
"prop_act": [
2451796238784
]
},
{
"id": 2452032151024,
"nm": "«Регламент тестирования программного обеспечения»"
},
{
"id": 2451986008000,
"nm": "2"
},
{
"id": 2451926423200,
"nm": "Заказчик",
"type": "object"
},
{
"id": 2451922748416,
"nm": "В.В.Гладкой"
},
{
"id": 2452078042464,
"nm": "Свойство-есть",
"type": "property",
"prop_arg": [
2452078041984
],
"prop_res": [
2451926422048
],
"prop_act": [
2451796238784
]
},
{
"id": 2452081472560,
"nm": "Величина=15 День (ед.времени)",
"type": "object",
"property_ref_id": 2452080879312
},
{
"id": 2452082895120,
"nm": "Свойство-дата: 1622646617804975600",
"type": "property",
"prop_arg": [
2452084318752
],
"prop_res": [
2452082894496
],
"prop_act": [
2451793585392
]
},
{
"id": 2452082894496,
"nm": "Результат<-Свойство-дата:1622646617804975600",
"type": "object",
"property_ref_id": 2452082895120
},
{
"id": 2452024052080,
"nm": "Свойство-День месяца",
"type": "property",
"prop_arg": [
2452022990304
],
"prop_res": [
2451839535424
],
"prop_act": [
2451793542496
]
},
{
"id": 2452024150288,
"nm": "Свойство-Месяц",
"type": "property",
"prop_arg": [
2452022990304
],
"prop_res": [
2451793087696
],
"prop_act": [
2451793584240
]
},
{
"id": 2452024194672,
"nm": "Свойство-Год",
"type": "property",
"prop_arg": [
2452022990304
],
"prop_res": [
2451839697392
],
"prop_act": [
2451793584288
]
},
{
"id": 2452030530608,
"nm": "«Регламент тестирования программного обеспечения»"
},
{
"id": 2451871139200,
"nm": "2"
},
{
"id": 2452030797568,
"nm": "«Регламент тестирования программного обеспечения»"
},
{
"id": 2451872983696,
"nm": "1"
},
{
"id": 2451926421904,
"nm": "Управление(оргединица)",
"type": "object"
},
{
"id": 2452071832736,
"nm": "Приказ(документ): 1622646617176833300",
"type": "object",
"property": [
2452071832784,
2452070364304,
2452071927232
]
},
{
"id": 2452075209968,
"nm": "Свойство-День месяца",
"type": "property",
"prop_arg": [
2452074090656
],
"prop_res": [
2451935453392
],
"prop_act": [
2451793542496
]
},
{
"id": 2452075406000,
"nm": "Свойство-Месяц",
"type": "property",
"prop_arg": [
2452074090656
],
"prop_res": [
2451793088416
],
"prop_act": [
2451793584240
]
},
{
"id": 2452075409360,
"nm": "Свойство-Год",
"type": "property",
"prop_arg": [
2452074090656
],
"prop_res": [
2451935557952
],
"prop_act": [
2451793584288
]
},
{
"id": 2451926422336,
"nm": "Подразделение",
"type": "object"
},
{
"id": 2451926422048,
"nm": "Отдел",
"type": "object"
},
{
"id": 2452084318752,
"nm": "Приказ(документ): 1622646617877992700",
"type": "object",
"property": [
2452084319424,
2452082895120,
2452084476272
]
},
{
"id": 2451839535424,
"nm": "15"
},
{
"id": 2451793087696,
"nm": "Июль"
},
{
"id": 2451839697392,
"nm": "2019"
},
{
"id": 2452071832784,
"nm": "Свойство-есть",
"type": "property",
"prop_arg": [
2452071832736
],
"prop_res": [
2451926113680
],
"prop_act": [
2451796238784
]
},
{
"id": 2452071927232,
"nm": "(Приказ(документ): 1622646617176833300) Свойство-какой(ая)",
"type": "property",
"prop_arg": [
2452071832736
],
"prop_res": [
2452070572816
],
"prop_act": [
2451796032960
]
},
{
"id": 2451935453392,
"nm": "11"
},
{
"id": 2451793088416,
"nm": "Декабрь"
},
{
"id": 2451935557952,
"nm": "2017"
},
{
"id": 2452084319424,
"nm": "Свойство-есть",
"type": "property",
"prop_arg": [
2452084318752
],
"prop_res": [
2451926113680
],
"prop_act": [
2451796238784
]
},
{
"id": 2452084476272,
"nm": "(Приказ(документ): 1622646617877992700) Свойство-какой(ая)",
"type": "property",
"prop_arg": [
2452084318752
],
"prop_res": [
2452083253360
],
"prop_act": [
2451796032960
]
},
{
"id": 2452070572816,
"nm": "Этот: 1622646617111818400",
"type": "object",
"property": [
2452070573392
]
},
{
"id": 2452083253360,
"nm": "Этот: 1622646617822979600",
"type": "object",
"property": [
2452083253936
]
},
{
"id": 2452070573392,
"nm": "Свойство-есть",
"type": "property",
"prop_arg": [
2452070572816
],
"prop_res": [
2451926159312
],
"prop_act": [
2451796238784
]
},
{
"id": 2452083253936,
"nm": "Свойство-есть",
"type": "property",
"prop_arg": [
2452083253360
],
"prop_res": [
2451926159312
],
"prop_act": [
2451796238784
]
},
{
"id": 2451926159312,
"nm": "Этот",
"type": "object"
}
]
Данные в файле с моделью имеют следующий смысл:
Все объекты представляются парой идентификатор-имя (id:1234556, nm:«Имя»).
Дополнительно могут быть поля:
- type — может иметь значения object, action или property. Некоторые элементарные понятия, например, числа не имеют поля type.
- act_object, act_object_komu, act_actor, act_time — для действий, значения свойств отражающих прямые и косвенные объекты действия, актора действия и время действия.
- act_object, act_object_komu, act_actor, act_time — для действий, значения свойств отражающих прямые и косвенные объекты действия, актора действия и время действия.
- prop_arg, prop_res, prop_act — для свойств, соответственно аргумент свойства, результат свойства и действие свойства.
Для получения подобного преобразования в систему были занесены знания о понятиях. Пример некоторых описаний приведен ниже.
Описание простого объекта:
# Определяем объект с именем "Организационная единица"
OBJ_ORGUNIT = DEFINE_OBJECT("Организационная единица")
# Определяем объект с именем "Управление(оргединица)"
OBJ_UPRAVLENIE = DEFINE_OBJECT("Управление(оргединица)")
# Связываем его отношением есть (GA_IS) с объектом OBJ_ORGUNIT
LEARN_ADD(OBJ_UPRAVLENIE, GA_IS, OBJ_ORGUNIT)
# Делаем свойство, проверяющее что объект является Организационной
# единицей (для использования в дальнейшем). Определяем через
# действие GA_IS и ожидаемый результат OBJ_ORGUNIT.
PRP_IS_ORGUNIT = DEFINE_PROPERTY("Это организационная единица?", GA_IS, OBJ_ORGUNIT)
Описание понятий совмещающих в себе объект и подразумеваемое свойство, например, “начальник” – это может быть и объект ( в случае с “начальник И.И.Иванов”) и свойство ( в случае “начальник отдела”):
# Определяем объект начальник (OBJ_NACHALNIK)
OBJ_NACHALNIK = DEFINE_OBJECT("Начальник")
LEARN_ADD(OBJ_NACHALNIK, GA_IS, OBJ_PERSON)
# Определяем действие GA_NACHALNIK и указываем, что оно используется
# в свойстве (является действием свойства, или "фичей",GA_S_FEATURE)
GA_NACHALNIK = CREATE("Свойство: начальник")
LEARN_ADD(GA_NACHALNIK,GA_IS,GA_S_FEATURE)
# Указываем какими свойствами должен обладать результат этого
# действия, а значит и свойства, (быть человеком) и к каким
# аргументам можно его применять (к оргюнитам)
LEARN_ADD(GA_NACHALNIK, GA_PROP_RESULT_PRP, [PRP_IS_PERSON])
LEARN_ADD(GA_NACHALNIK, GA_PROP_ARG_PRP, [PRP_IS_ORGUNIT])
# И в конце говорим,что OBJ_NACHALNIK может являться значением
# действия GA_NACHALNIK, а в свою очередь GA_NACHALNIK это действие,
# результатом которого является OBJ_NACHALNIK
LEARN_ADD(OBJ_NACHALNIK,GA_VALUE_OF_FEATURE,GA_NACHALNIK)
LEARN_ADD(GA_NACHALNIK,GA_FEATURE_OBJECT,OBJ_NACHALNIK)
Описание действия:
# Определяем действие GA_APPROVE
GA_APPROVE = CREATE("Утвердить")
LEARN_ADD(GA_APPROVE, GA_IS, GA_S_ACTION)
# Указываем каким свойствам должен удовлетворять актор действия
# (быть человеком) и объект действия (быть документом)
LEARN_ADD(GA_APPROVE, GA_ACT_ACTOR_PRP, [PRP_IS_PERSON])
LEARN_ADD(GA_APPROVE, GA_ACT_OBJECT_PRP, [PRP_IS_DOCUMENT])
Помимо смысловых взаимосвязей указанных выше, для разбора текста необходимо указать и морфологические свойства, которым должны удовлетворять внешние представления понятий.
В частности действие “утвердить”, в русском языке, требует чтобы слова обозначающие объект утверждения были употреблены в виде существительного винительного падежа. Занесем эти знания в систему:
# Перечисляем свойства которым должен удовлетворять объект действия,
# обозначаемого словом "утвердить"
GL_ACT_PARAM_OBJ['утвердить'] = [PRP_IS_NOUN, PRP_PADEZH_AC]
И в конце свяжем внешние представления (слова) с понятиями:
ASSOCIATE('утвердить',GA_APPROVE)
ASSOCIATE('начальник', OBJ_NACHALNIK)
ASSOCIATE('управление',OBJ_UPRAVLENIE)
Вот, собственно, почти полный перечень видов знаний необходимых для построения семантической модели. Помимо этого, для сложных случаев комбинированных объектов (даты, фамилии, адреса и пр.) требуется определенный объем кодирования для их распознавания в тексте.