SlideShare una empresa de Scribd logo
1 de 15
Descargar para leer sin conexión
DEVFEST DLA 2015
Patrick MVENG | @adelphepatrick
Startup LaunchPad member by Google’s Developers
Founder of VIKI
#SelfProgramming
AGENDA
 C’est quoi le self-programming ?
 Concepts et Technologies utilisés
 Pratique
 Questions/réponses - Echange
“Computers that learn in unsupervised
ways and don't need to be told what to
do in advance is the next phase of
computer science”
Steve Wozniak , Apple co-founder
C’est quoi le Self-programming ?
Cette présentation décrit une expérience visant à produire un
programme en Intelligence Artificielle, capable de développer
d'autres programmes avec l'interaction en langage naturel
Est-il possible à un ordinateur d’écrire ses propres programmes ?
Self-programming
Concepts utilisés
 Intelligence Artificielle
 Apprentissage Automatique
 Traitement Automatique du Langage
Naturel
 Réseaux de Neurones
 Programmation parallèle
 Expressions régulières
 Analyseur syntaxique et semantique
 Modèle de markov Caché
Technologies utilisées
 Visual Studio 2012 ou Android Studio
 Framework DotNet
 C# ou Java
 Regex Library
 TaskParallel Library
 AIML ( Artificial Intelligence Markup
Language ) dérivé de XML
Pratique
VIKI : l’Intelligence Artificielle
Architecture : Agent VIKI
Actuators/Moteurs : Ecran , Mouse ,
Haut-Parleur , …
Sensors/Capteurs : Clavier , Souris ,
Champ de saisie de Message , Camera,
Microphone, …
Architecture : Apprentissage automatique
Expression régulière :
^(|.*?b|.*?s)Whatb.+?bisb.
+?byourb.+?bname(|b.*?|s
.*?)$
<?xml version="1.0" encoding="ISO-8859-1"?>
<aiml version="1.0">
<category>
<pattern>incrémente la variable j</pattern>
<template>
<think><set
name=“j">variable</set></think>
j++
</template>
</category>
</aiml>
Pratique : Les règles de prédiction avec AIML
/// <summary>
/// Classe pour la compilation et l’exécution dynamique du
code généré
/// </summary>
public class CSharpCompiler
{
public bool Compile()//true if successful
{
bool success;
this.AssembleCode();//convert the data structures to
this.code
//compile class into assembly
CSharpCodeProvider codeProvider = new
CSharpCodeProvider();
ICodeCompiler compiler = codeProvider.CreateCompiler();
return success;
}//Compile()
}
Cas 1 : Génération automatique de code
source - #selfprogramming
Cas 2 : VIKI, votre secrétaire virtuelle sur Android
JAVA on Android Studio 8
public void neuron_speakOut(String text) {
tts=new TextToSpeech( this,
new TextToSpeech.OnInitListener() {
@Override
public void onInit(int status) {
if(status != TextToSpeech.ERROR)
{
int result = tts.setLanguage(Locale.US);
if (result == TextToSpeech.LANG_MISSING_DATA ||
result == TextToSpeech.LANG_NOT_SUPPORTED)
{
lmessage_viki = "This Language is not supported";
Log.e("TTS", lmessage_viki);
//Toast.makeText(this, lmessage_viki ,
Toast.LENGTH_LONG).show();
}
}
}
});
tts.speak(text.toString(), TextToSpeech.QUEUE_FLUSH, null);
}
VIKI permet aux développeurs d'inclure des interfaces vocales et le langage naturel dans leurs produits.
Cette copine répond aux questions et aux tâches des utilisateurs dans un langage naturel
Perspectives de VIKI
Prendre le job des êtres humains   
IoT => IIoT ( Intelligent Internet of Things )
Transformer tout téléphone mobile en secrétaire ( Rendre plus intelligent les
smartphones)
Rendre Intelligent tout périphérique
Facilité la vie des êtres humains en leur donnant plus de temps pour prendre
du café
Questions / réponses - Echange
Merci pour votre attention…

Más contenido relacionado

Destacado

Opinionway-Weber-Shandwick Le Figaro Vague 5 16 déc 2013
Opinionway-Weber-Shandwick Le Figaro Vague 5 16 déc 2013Opinionway-Weber-Shandwick Le Figaro Vague 5 16 déc 2013
Opinionway-Weber-Shandwick Le Figaro Vague 5 16 déc 2013OpinionWay
 
Les Français, les frites et le Tour de France - McCain - Par OpinionWay - 26 ...
Les Français, les frites et le Tour de France - McCain - Par OpinionWay - 26 ...Les Français, les frites et le Tour de France - McCain - Par OpinionWay - 26 ...
Les Français, les frites et le Tour de France - McCain - Par OpinionWay - 26 ...OpinionWay
 
Diaporouen
DiaporouenDiaporouen
Diaporouenrire78
 
Kamdou.net 1986 bellosoadomaruben1
Kamdou.net 1986 bellosoadomaruben1Kamdou.net 1986 bellosoadomaruben1
Kamdou.net 1986 bellosoadomaruben1Michel Perrichon
 
Quel temps fait- il? Les saisons.
Quel temps fait- il? Les saisons.Quel temps fait- il? Les saisons.
Quel temps fait- il? Les saisons.Analia Saccani
 
Les statistiques de la classe à Nadine
Les statistiques de la classe à NadineLes statistiques de la classe à Nadine
Les statistiques de la classe à Nadineactivnadine
 
El regreso de la enegia nuclear
El regreso de la enegia nuclearEl regreso de la enegia nuclear
El regreso de la enegia nuclearyayis009
 
Espíritu Santo - B. Forte
Espíritu Santo - B. ForteEspíritu Santo - B. Forte
Espíritu Santo - B. Forteveronicafsp
 
4e de couverture
4e de couverture4e de couverture
4e de couvertureRedTourn
 
Los recursos naturales
Los recursos naturalesLos recursos naturales
Los recursos naturalesguest6d0ae4
 
Clase 1 miocardiopatías del ciclo pasado
Clase 1 miocardiopatías del ciclo pasadoClase 1 miocardiopatías del ciclo pasado
Clase 1 miocardiopatías del ciclo pasadoHAMA Med 2
 
Offre f12 p.saint françois lausanne
Offre f12 p.saint françois lausanneOffre f12 p.saint françois lausanne
Offre f12 p.saint françois lausanneEsteban74160
 
Finsquare - Les Français, l’impôt et la solidarité - Novembre 2014
Finsquare - Les Français, l’impôt et la solidarité - Novembre 2014Finsquare - Les Français, l’impôt et la solidarité - Novembre 2014
Finsquare - Les Français, l’impôt et la solidarité - Novembre 2014OpinionWay
 
Les entreprises donatrices - OpinionWay pour Agence du don en nature - mai 2013
Les entreprises donatrices - OpinionWay pour Agence du don en nature - mai 2013Les entreprises donatrices - OpinionWay pour Agence du don en nature - mai 2013
Les entreprises donatrices - OpinionWay pour Agence du don en nature - mai 2013OpinionWay
 
Ingenieriaquimicaleioa 1228325797341658 8
Ingenieriaquimicaleioa 1228325797341658 8Ingenieriaquimicaleioa 1228325797341658 8
Ingenieriaquimicaleioa 1228325797341658 8Tefy Neyra
 
Chimie analytique
Chimie analytiqueChimie analytique
Chimie analytiqueFouad Ovic
 

Destacado (20)

Opinionway-Weber-Shandwick Le Figaro Vague 5 16 déc 2013
Opinionway-Weber-Shandwick Le Figaro Vague 5 16 déc 2013Opinionway-Weber-Shandwick Le Figaro Vague 5 16 déc 2013
Opinionway-Weber-Shandwick Le Figaro Vague 5 16 déc 2013
 
Les Français, les frites et le Tour de France - McCain - Par OpinionWay - 26 ...
Les Français, les frites et le Tour de France - McCain - Par OpinionWay - 26 ...Les Français, les frites et le Tour de France - McCain - Par OpinionWay - 26 ...
Les Français, les frites et le Tour de France - McCain - Par OpinionWay - 26 ...
 
Diaporouen
DiaporouenDiaporouen
Diaporouen
 
Kamdou.net 1986 bellosoadomaruben1
Kamdou.net 1986 bellosoadomaruben1Kamdou.net 1986 bellosoadomaruben1
Kamdou.net 1986 bellosoadomaruben1
 
Quel temps fait- il? Les saisons.
Quel temps fait- il? Les saisons.Quel temps fait- il? Les saisons.
Quel temps fait- il? Les saisons.
 
Les statistiques de la classe à Nadine
Les statistiques de la classe à NadineLes statistiques de la classe à Nadine
Les statistiques de la classe à Nadine
 
El regreso de la enegia nuclear
El regreso de la enegia nuclearEl regreso de la enegia nuclear
El regreso de la enegia nuclear
 
Structure financiere
Structure financiereStructure financiere
Structure financiere
 
Espíritu Santo - B. Forte
Espíritu Santo - B. ForteEspíritu Santo - B. Forte
Espíritu Santo - B. Forte
 
4e de couverture
4e de couverture4e de couverture
4e de couverture
 
Los recursos naturales
Los recursos naturalesLos recursos naturales
Los recursos naturales
 
Como aprendemos
Como aprendemosComo aprendemos
Como aprendemos
 
Clase 1 miocardiopatías del ciclo pasado
Clase 1 miocardiopatías del ciclo pasadoClase 1 miocardiopatías del ciclo pasado
Clase 1 miocardiopatías del ciclo pasado
 
Offre f12 p.saint françois lausanne
Offre f12 p.saint françois lausanneOffre f12 p.saint françois lausanne
Offre f12 p.saint françois lausanne
 
Finsquare - Les Français, l’impôt et la solidarité - Novembre 2014
Finsquare - Les Français, l’impôt et la solidarité - Novembre 2014Finsquare - Les Français, l’impôt et la solidarité - Novembre 2014
Finsquare - Les Français, l’impôt et la solidarité - Novembre 2014
 
Les entreprises donatrices - OpinionWay pour Agence du don en nature - mai 2013
Les entreprises donatrices - OpinionWay pour Agence du don en nature - mai 2013Les entreprises donatrices - OpinionWay pour Agence du don en nature - mai 2013
Les entreprises donatrices - OpinionWay pour Agence du don en nature - mai 2013
 
Susan Boyle
Susan BoyleSusan Boyle
Susan Boyle
 
Ingenieriaquimicaleioa 1228325797341658 8
Ingenieriaquimicaleioa 1228325797341658 8Ingenieriaquimicaleioa 1228325797341658 8
Ingenieriaquimicaleioa 1228325797341658 8
 
Chimie analytique
Chimie analytiqueChimie analytique
Chimie analytique
 
Lenguaje y pensamiento
Lenguaje y pensamientoLenguaje y pensamiento
Lenguaje y pensamiento
 

Similar a Self-programming Software

1-supportpoojavapremirepartie-140408132307-phpapp01.pptx
1-supportpoojavapremirepartie-140408132307-phpapp01.pptx1-supportpoojavapremirepartie-140408132307-phpapp01.pptx
1-supportpoojavapremirepartie-140408132307-phpapp01.pptxRihabBENLAMINE
 
Node.js, le pavé dans la mare
Node.js, le pavé dans la mareNode.js, le pavé dans la mare
Node.js, le pavé dans la mareValtech
 
Keynote .NET 2015 : une nouvelle ère
Keynote .NET 2015 : une nouvelle èreKeynote .NET 2015 : une nouvelle ère
Keynote .NET 2015 : une nouvelle èreMicrosoft
 
Initiation au développement mobile sous Android
Initiation au développement mobile sous AndroidInitiation au développement mobile sous Android
Initiation au développement mobile sous AndroidAbdelkader Rhouati
 
Domain-Specific Languages avec Groovy
Domain-Specific Languages avec GroovyDomain-Specific Languages avec Groovy
Domain-Specific Languages avec GroovyGuillaume Laforge
 
20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache Maven20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache MavenArnaud Héritier
 
TypeScript for dummies
TypeScript for dummiesTypeScript for dummies
TypeScript for dummiesMicrosoft
 
Les générateurs de code, pour se simplifier la vie au quotidien
Les générateurs de code, pour se simplifier la vie au quotidienLes générateurs de code, pour se simplifier la vie au quotidien
Les générateurs de code, pour se simplifier la vie au quotidienNicolas Carlo
 
ALT.Net Juin 2012 - Specflow
ALT.Net Juin 2012 - SpecflowALT.Net Juin 2012 - Specflow
ALT.Net Juin 2012 - SpecflowMathias Kluba
 
Java uik-chap1-intro java
Java uik-chap1-intro javaJava uik-chap1-intro java
Java uik-chap1-intro javaAmel Morchdi
 
Delphi et les tests unitaires
Delphi et les tests unitairesDelphi et les tests unitaires
Delphi et les tests unitairespprem
 

Similar a Self-programming Software (20)

Native script
Native scriptNative script
Native script
 
1-supportpoojavapremirepartie-140408132307-phpapp01.pptx
1-supportpoojavapremirepartie-140408132307-phpapp01.pptx1-supportpoojavapremirepartie-140408132307-phpapp01.pptx
1-supportpoojavapremirepartie-140408132307-phpapp01.pptx
 
Support POO Java première partie
Support POO Java première partieSupport POO Java première partie
Support POO Java première partie
 
Node.js, le pavé dans la mare
Node.js, le pavé dans la mareNode.js, le pavé dans la mare
Node.js, le pavé dans la mare
 
Keynote .NET 2015 : une nouvelle ère
Keynote .NET 2015 : une nouvelle èreKeynote .NET 2015 : une nouvelle ère
Keynote .NET 2015 : une nouvelle ère
 
Initiation au développement mobile sous Android
Initiation au développement mobile sous AndroidInitiation au développement mobile sous Android
Initiation au développement mobile sous Android
 
La Rochelle workshop 2016
La Rochelle workshop 2016La Rochelle workshop 2016
La Rochelle workshop 2016
 
Domain-Specific Languages avec Groovy
Domain-Specific Languages avec GroovyDomain-Specific Languages avec Groovy
Domain-Specific Languages avec Groovy
 
Chap 02 poo en java
Chap 02 poo en javaChap 02 poo en java
Chap 02 poo en java
 
Tour Horizont.Net
Tour Horizont.NetTour Horizont.Net
Tour Horizont.Net
 
Tutoriel java
Tutoriel javaTutoriel java
Tutoriel java
 
Chapitre 1
Chapitre 1Chapitre 1
Chapitre 1
 
20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache Maven20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache Maven
 
UKO-JAVA1001-slides
UKO-JAVA1001-slidesUKO-JAVA1001-slides
UKO-JAVA1001-slides
 
TypeScript for dummies
TypeScript for dummiesTypeScript for dummies
TypeScript for dummies
 
Les générateurs de code, pour se simplifier la vie au quotidien
Les générateurs de code, pour se simplifier la vie au quotidienLes générateurs de code, pour se simplifier la vie au quotidien
Les générateurs de code, pour se simplifier la vie au quotidien
 
ALT.Net Juin 2012 - Specflow
ALT.Net Juin 2012 - SpecflowALT.Net Juin 2012 - Specflow
ALT.Net Juin 2012 - Specflow
 
Support POO Java Deuxième Partie
Support POO Java Deuxième PartieSupport POO Java Deuxième Partie
Support POO Java Deuxième Partie
 
Java uik-chap1-intro java
Java uik-chap1-intro javaJava uik-chap1-intro java
Java uik-chap1-intro java
 
Delphi et les tests unitaires
Delphi et les tests unitairesDelphi et les tests unitaires
Delphi et les tests unitaires
 

Más de Adelphe Patrick Mveng

AI WASHING : POURQUOI AUCUNE IA FORTE DEPUIS LES ANNEES 60 ?
AI WASHING : POURQUOI AUCUNE IA FORTE DEPUIS LES ANNEES 60 ?AI WASHING : POURQUOI AUCUNE IA FORTE DEPUIS LES ANNEES 60 ?
AI WASHING : POURQUOI AUCUNE IA FORTE DEPUIS LES ANNEES 60 ?Adelphe Patrick Mveng
 
Cinq (5) choses l’euro 2016 peut nous apprendre dans l’entreprenariat
Cinq (5) choses l’euro 2016 peut nous apprendre dans l’entreprenariatCinq (5) choses l’euro 2016 peut nous apprendre dans l’entreprenariat
Cinq (5) choses l’euro 2016 peut nous apprendre dans l’entreprenariatAdelphe Patrick Mveng
 
VIKI : l'intelligence artificielle à votre service
VIKI : l'intelligence artificielle à votre serviceVIKI : l'intelligence artificielle à votre service
VIKI : l'intelligence artificielle à votre serviceAdelphe Patrick Mveng
 
Présentation intelligence artificielle et domaines dapplications
Présentation intelligence artificielle et domaines dapplicationsPrésentation intelligence artificielle et domaines dapplications
Présentation intelligence artificielle et domaines dapplicationsAdelphe Patrick Mveng
 
Brain 2.0 - Framework d'apprentissage pour les logiciels
Brain 2.0 - Framework d'apprentissage pour les logicielsBrain 2.0 - Framework d'apprentissage pour les logiciels
Brain 2.0 - Framework d'apprentissage pour les logicielsAdelphe Patrick Mveng
 

Más de Adelphe Patrick Mveng (11)

Presentation Map Reduce
Presentation Map ReducePresentation Map Reduce
Presentation Map Reduce
 
AI WASHING : POURQUOI AUCUNE IA FORTE DEPUIS LES ANNEES 60 ?
AI WASHING : POURQUOI AUCUNE IA FORTE DEPUIS LES ANNEES 60 ?AI WASHING : POURQUOI AUCUNE IA FORTE DEPUIS LES ANNEES 60 ?
AI WASHING : POURQUOI AUCUNE IA FORTE DEPUIS LES ANNEES 60 ?
 
Cinq (5) choses l’euro 2016 peut nous apprendre dans l’entreprenariat
Cinq (5) choses l’euro 2016 peut nous apprendre dans l’entreprenariatCinq (5) choses l’euro 2016 peut nous apprendre dans l’entreprenariat
Cinq (5) choses l’euro 2016 peut nous apprendre dans l’entreprenariat
 
Patrick mveng
Patrick mvengPatrick mveng
Patrick mveng
 
VIKI : l'intelligence artificielle à votre service
VIKI : l'intelligence artificielle à votre serviceVIKI : l'intelligence artificielle à votre service
VIKI : l'intelligence artificielle à votre service
 
Selfprogramming software
Selfprogramming softwareSelfprogramming software
Selfprogramming software
 
Présentation intelligence artificielle et domaines dapplications
Présentation intelligence artificielle et domaines dapplicationsPrésentation intelligence artificielle et domaines dapplications
Présentation intelligence artificielle et domaines dapplications
 
Brain 2.0 - Framework d'apprentissage pour les logiciels
Brain 2.0 - Framework d'apprentissage pour les logicielsBrain 2.0 - Framework d'apprentissage pour les logiciels
Brain 2.0 - Framework d'apprentissage pour les logiciels
 
Human intelligence is behind shapes
Human intelligence is behind shapesHuman intelligence is behind shapes
Human intelligence is behind shapes
 
Selfprogramming introduction
Selfprogramming introductionSelfprogramming introduction
Selfprogramming introduction
 
Introduction à la self programming
Introduction à la self programmingIntroduction à la self programming
Introduction à la self programming
 

Self-programming Software

  • 1. DEVFEST DLA 2015 Patrick MVENG | @adelphepatrick Startup LaunchPad member by Google’s Developers Founder of VIKI #SelfProgramming
  • 2. AGENDA  C’est quoi le self-programming ?  Concepts et Technologies utilisés  Pratique  Questions/réponses - Echange
  • 3. “Computers that learn in unsupervised ways and don't need to be told what to do in advance is the next phase of computer science” Steve Wozniak , Apple co-founder C’est quoi le Self-programming ?
  • 4. Cette présentation décrit une expérience visant à produire un programme en Intelligence Artificielle, capable de développer d'autres programmes avec l'interaction en langage naturel Est-il possible à un ordinateur d’écrire ses propres programmes ? Self-programming
  • 5. Concepts utilisés  Intelligence Artificielle  Apprentissage Automatique  Traitement Automatique du Langage Naturel  Réseaux de Neurones  Programmation parallèle  Expressions régulières  Analyseur syntaxique et semantique  Modèle de markov Caché
  • 6. Technologies utilisées  Visual Studio 2012 ou Android Studio  Framework DotNet  C# ou Java  Regex Library  TaskParallel Library  AIML ( Artificial Intelligence Markup Language ) dérivé de XML
  • 8. Architecture : Agent VIKI Actuators/Moteurs : Ecran , Mouse , Haut-Parleur , … Sensors/Capteurs : Clavier , Souris , Champ de saisie de Message , Camera, Microphone, …
  • 10. Expression régulière : ^(|.*?b|.*?s)Whatb.+?bisb. +?byourb.+?bname(|b.*?|s .*?)$ <?xml version="1.0" encoding="ISO-8859-1"?> <aiml version="1.0"> <category> <pattern>incrémente la variable j</pattern> <template> <think><set name=“j">variable</set></think> j++ </template> </category> </aiml> Pratique : Les règles de prédiction avec AIML
  • 11. /// <summary> /// Classe pour la compilation et l’exécution dynamique du code généré /// </summary> public class CSharpCompiler { public bool Compile()//true if successful { bool success; this.AssembleCode();//convert the data structures to this.code //compile class into assembly CSharpCodeProvider codeProvider = new CSharpCodeProvider(); ICodeCompiler compiler = codeProvider.CreateCompiler(); return success; }//Compile() } Cas 1 : Génération automatique de code source - #selfprogramming
  • 12. Cas 2 : VIKI, votre secrétaire virtuelle sur Android JAVA on Android Studio 8 public void neuron_speakOut(String text) { tts=new TextToSpeech( this, new TextToSpeech.OnInitListener() { @Override public void onInit(int status) { if(status != TextToSpeech.ERROR) { int result = tts.setLanguage(Locale.US); if (result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED) { lmessage_viki = "This Language is not supported"; Log.e("TTS", lmessage_viki); //Toast.makeText(this, lmessage_viki , Toast.LENGTH_LONG).show(); } } } }); tts.speak(text.toString(), TextToSpeech.QUEUE_FLUSH, null); } VIKI permet aux développeurs d'inclure des interfaces vocales et le langage naturel dans leurs produits. Cette copine répond aux questions et aux tâches des utilisateurs dans un langage naturel
  • 13. Perspectives de VIKI Prendre le job des êtres humains    IoT => IIoT ( Intelligent Internet of Things ) Transformer tout téléphone mobile en secrétaire ( Rendre plus intelligent les smartphones) Rendre Intelligent tout périphérique Facilité la vie des êtres humains en leur donnant plus de temps pour prendre du café
  • 15. Merci pour votre attention…