Login   Register  
PHP Classes

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

Recommend this page to a friend!
  Classes of ASCOOS CMS   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 typex: text/markdown
Description: Auxiliary data
Class: Ascoos OS
A PHP Web 5.0 Kernel for decentralized web and IoT
Author: By
Last change: Update of examples/case-studies/ai/macro_decision_engine/macro_decision_engine-GR.md
Date: 1 month ago
Size: 4,940 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.