Báze znalostíPrvky báze znalostíBáze znalostí v sobě zahrnuje výše uvedených 5 „tříd znalostí“ (atributy, výroky,
pravidla, kontexty, integritní omezení). Dále
obsahuje tyto globální vlastnosti:
- popis báze;
- jméno experta, od něhož byly získány znalosti obsažené v bázi;
- jméno znalostního inženýra, který bázi sestavil;
- datum vytvoření báze;
- rozsah vah;
- globální práh platnosti kontextů;
- globální práh platnosti předpokladů;
- standardní inferenční mechanismus;
- standardní implicitní váha výroků;
- globální priorita.
Báze znalostí je uložena v souboru, jehož je založená na jazyku XML.
Základní syntaxe báze
<base>
<global>
...
</global>
<attributes>
...
</attributes>
<contexts>
...
</contexts>
<rules>
<apriori_rules>
...
</apriori_rules>
<logical_rules>
...
</logical_rules>
<compositional_rules>
...
</compositional_rules>
</rules>
<integrity_constraints>
...
</integrity_constraints>
</base>
Syntaxe globální vlastností
<global>
<description> string </description> <!-- baze -->
<expert> string </expert> <!-- jméno experta -->
<knowledge_engineer> string </knowledge_engineer> <!-- jméno znalostního inženýra -->
<date> date </date> <!-- datum vytvoření báze -->
<inference_mechanism>standard | logical | neural | hybrid</inference_mechanism>
<!-- inferenční mechanismus -->
<weight_range> number </weight_range> <!-- rozsah vah -->
<default_weight>unknown | irrelevant</default_weight><!-- implicitní váha výroků -->
<global_priority>first | last | minlength | maxlength | type | user</global_priority>
<!-- globální priorita -->
<context_global_threshold> number </context_global_threshold>
<!-- globální práh platnosti kontextů -->
<condition_global_threshold> number </condition_global_threshold>
<!-- globální práh platnosti předpokladů -->
</global>
Syntaxe atributů
<attribute>
<id> string </id>
<name> string </name>
<type>binary | single | multiple | numeric</type>
<scope>case | environment</scope> <!-- case - atribut ke konkretnimu pripadu ;
environment - atribut prostredi (pri nulovani se nemusi mazat, zatim bych pouzival jen case -->
<sources>
<source>
<source_type>infer | user | external_file | external_function | calculation</source_type>
<source_file> string </source_file>
<function> string </function>
<parameters> string </parameters>
<calculation>
<expression>
<entry1> string </entry1>
<entry2> string </entry2>
<operand> 1 | 2 | 3 | 4 </operand> <!-- 1 - sčítání, 2 - odčítání, 3 - násobení, 4 - dělení -->
</expression>
...
</calculation>
</source>
...
</sources>
<comment> string </comment>
<actions>
<action>
<function> string </function>
<parameters> string </parameters>
<action_threshold> string </action_threshold>
</action>
</actions>
<propositions><!-- není u binární atributů -->
<proposition>
<id> string </id>
<name> string </name>
<weight_function><!-- pouze u numerických atributů -->
<fuzzy_lower_bound> number </fuzzy_lower_bound>
<crisp_lower_bound> number </crisp_lower_bound>
<crisp_upper_bound> number </crisp_upper_bound>
<fuzzy_upper_bound> number </fuzzy_upper_bound>
</weight_function>
<comment> string </comment>
<actions>
<action>
<function>string</function>
<parameters>string</parameters>
<action_threshold> string </action_threshold>
</action>
</actions>
</proposition>
...
</propositions>
</attribute>
Syntaxe pravidelApriori pravidla
<apriori_rule>
<id> string </id>
<priority> number </priority>
<conclusions>
<conclusion>
<id_attribute> string </id_attribute>
<id_proposition> string </id_proposition>
<negation> binary </negation>
<weight> number </weight>
</conclusion>
...
</conclusions>
<actions>
<action>
<function> string </function>
<parameters> string </parameters>
</action>
</actions>
<comment> string </comment>
</apriori_rule>
Logické a kompozicionální pravidla
<logical_rule> / <compositional_rule>
<id> string </id>
<priority> number </priority>
<id_context> string </id_context>
<context_threshold> number </context_threshold>
<condition_threshold> number </condition_threshold> <!-- jen u logických pravidel -->
<condition>
<conjunction>
<literal>
<id_attribute> string </id_attribute>
<id_proposition> string </id_proposition>
<negation> binary </negation>
</literal>
...
</conjunction>
...
</condition>
<conclusions>
<conclusion>
<id_attribute> string </id_attribute>
<id_proposition> string </id_proposition>
<negation> binary </negation>
<weight> number </weight>
</conclusion>
...
</conclusions>
<actions>
<action>
<function> string </function>
<parameters> string </parameters>
</action>
</actions>
<comment> string </comment>
</logical_rule> / </compositional_rule>
Syntaxe kontextů
<context>
<id> string </id>
<comment> string </comment>
<condition>
<conjunction>
<literal>
<id_attribute> string </id_attribute>
<id_proposition> string </id_proposition>
<negation> binary </negation>
</literal>
...
</conjunction>
...
</condition>
</context>
Syntaxe integritních omezení
<integrity_constraint>
<id> string </id>
<name> string </name>
<condition>
<conjunction>
<literal>
<id_attribute> string </id_attribute>
<id_proposition> string </id_proposition>
<negation> binary </negation>
</literal>
...
</conjunction>
...
</condition>
<conclusions>
<conclusion>
<id_attribute> string </id_attribute>
<id_proposition> string </id_proposition>
<negation> binary </negation>
<weight> number </weight>
</conclusion>
...
</conclusions>
<comment> string </comment>
</integrity_constraint>
|