PHP Classes

File: examples/case-studies/ai/macro_decision_engine/macro_decision_engine-GR.md

Recommend this page to a friend!
  Packages of Christos Drogidis   Ascoos OS   examples/case-studies/ai/macro_decision_engine/macro_decision_engine-GR.md   Download  
File: examples/case-studies/ai/macro_decision_engine/macro_decision_engine-GR.md
Role: Auxiliary data
Content type: text/markdown
Description: Auxiliary data
Class: Ascoos OS
A PHP Web 5.0 Kernel for decentralized web and IoT
Author: By
Last change: Macro Engine with AI Predictions
Macro Engine with AI Predictions
Macro Engine with AI Predictions
Date: 6 months ago
Size: 5,106 bytes
 

Contents

Class file image Download

?????? ???????????? ?? ?????????? AI

???? ? ?????? ?????????? ??????? ??? ?? Ascoos OS ?????? ?? ????????? macros ????? ?????????? AI, ???????????? ????????? ???????????? ?? DSL (Domain-Specific Language). ???????????????? ?? ??????? TArtificialIntelligenceHandler, AbstractDslAstBuilder ??? AstMacroTranslator ??? ?? ????????????? ??? ???????, ?? ?????????? ??????? ?? AST, ?? ???? ???????????? ?? ???????????? ??? ?? ???? ??????????? ????????.

??????

  • ?????????? ???????? ?? `trainLogisticRegression()`
  • ?????????? AST ??? DSL ?? `AbstractDslAstBuilder`
  • ????????? AST ?? ?????????? macros ?? `AstMacroTranslator`
  • ???????? ??? macros ???? ?? ?????????? ??????????? ???????

?????? ??????? ??? Ascoos OS

  • TArtificialIntelligenceHandler ?????????? ??? ???????? ???????? ?????????? ?????????????
  • AbstractDslAstBuilder ??????? DSL ??????? ?? Abstract Syntax Tree
  • AstMacroTranslator ????????? AST ?? container ?? callbacks ??? ???? macro

???? ???????

? ?????? ??????????? ?? ??? ?????? PHP: - macro_decision_engine.php ???????? ???????? ??? ??????: ??????? ?????????, ??????????, DSL parsing, ????????? ??? ???????? macros.

??????????????

  1. PHP ? 8.2
  2. ????????????? ?? Ascoos OS. ?? ?????????????? ?? ASCOOS Web Extended Studio (AWES) 26, ????? ??? ????????????????.

??????????

  1. ??????????? ?? training data (`$X`, `$y`) ???? ???????.
  2. ????????? ?? script ???? web server:
    https://localhost/aos/examples/case-studies/ai/macro_decision_engine/macro_decision_engine.php
    

?????????? DSL

WHEN predict(user.features) > 0.5 THEN
    LOG "User is eligible"
    ENABLE MODULE "AdvancedAnalytics"

??? ?????????

  1. ? `TArtificialIntelligenceHandler` ?????????? ??? ??????? logistic regression ?? ???????? `$X` ??? `$y`.
  2. ?? `AbstractDslAstBuilder` ?????????? ?? DSL script ?? AST nodes.
  3. ? `AstMacroTranslator` ??????????? ???? node ?? callback: - `LOG` ? ???????? ????????? - `ENABLE MODULE` ? ???????????? ????????????? module - `predict` ? ????? ?? `predictLogisticRegression()`
  4. ?? `TMacroHandler` ??????? ??? ??????? ???? ?? ? ???????? ?????????? ?? ???? (`> 0.5`).

?????????? ??????

// ?????????? ????????
$ai    = new TArtificialIntelligenceHandler();
$model = $ai->trainLogisticRegression($X, $y);

// DSL script
$dsl = <<<DSL
WHEN predict(user.features) > 0.5 THEN
    LOG "User is eligible"
    ENABLE MODULE "AdvancedAnalytics"
DSL;

// AST & ?????????
$astBuilder      = new class extends AbstractDslAstBuilder {};
$ast             = $astBuilder->buildAst($dsl);
$translator      = new class([...]) extends AstMacroTranslator {};
$macroContainer  = $translator->translateAst($ast);

// ???????? ????? ??????
$user = ['features' => [1, 1, 0]];
$macroContainer->executeIfTrue($user);

??????????? ??????????

??? ? ???????? predict([1,1,0]) > 0.5:

User is eligible
Module enabled: AdvancedAnalytics

?????

??????????

?????? ?? ???????????? ?? ???? ?? ?????? ??????????; ????? fork ?? ??????????, ????????? ??? macros ? ?????????? DSL ??? macro_decision_engine.php ??? ????????? pull request. ????? ?? CONTRIBUTING.md ??? ???????.

????? ??????

???? ? ?????? ?????????? ?????????? ??? ??? Ascoos General License (AGL). ????? ?? LICENSE.