ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
Silicon Mountain Conference
Buea , 2016
Patrick MVENG | @adelphepatrick
Startup LaunchPad member by Google¡¯s Developers
Founder of VIKI
#SelfProgramming
AGENDA
? What¡¯s selfprogramming ?
? Key Concepts
? Use cases
? Opened questions
¡°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
What is Selfprogramming ?
This presentation describes AI-based technology capable to generate
new applications from natural language interaction
It is possible for a computer to write its own applications ?
Selfprogramming
Key concepts
? Artificial Intelligence
? Machine Learning
? Natural Language Processing
? Neural Network
? Parallel Programming
? Regular expressions
? Parser
? Hidden Markov Model
Technologies & Tools
? Visual Studio 2012 ou Android Studio
? ,Net Framework
? C# ou Java
? Regex Library
? TaskParallel Library
? AIML ( Artificial Intelligence Markup
Language )
VIKI : The Artificial Intelligence
Architecture : VIKI Agent
Actuators : Screen , Mouse , Speaker ,
¡­
Sensors : Keyboard, Mouse , Text ,
WebCam, Mic , ¡­
Architecture : Machine Learning
Regular expressions ( Parser )
:
^(|.*?b|.*?s)Whatb.+?bisb.
+?byourb.+?bname(|b.*?|s
.*?)$
<?xml version="1.0" encoding="ISO-8859-1"?>
<aiml version="1.0">
<category>
<pattern>increment j</pattern>
<template>
<think><set
name=¡°j">variable</set></think>
j++
</template>
</category>
</aiml>
Predictive rules with 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()
}
Use Case 1 : #selfprogramming
Use case 2 : VIKI : AI-based personal assistant
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);
}
Natural language Interaction
App that learns from few behaviors and generate new knowledge , new behaviors in unknown
situations.
Opened questions !
@vikisms

More Related Content

Selfprogramming software

  • 1. Silicon Mountain Conference Buea , 2016 Patrick MVENG | @adelphepatrick Startup LaunchPad member by Google¡¯s Developers Founder of VIKI #SelfProgramming
  • 2. AGENDA ? What¡¯s selfprogramming ? ? Key Concepts ? Use cases ? Opened questions
  • 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 What is Selfprogramming ?
  • 4. This presentation describes AI-based technology capable to generate new applications from natural language interaction It is possible for a computer to write its own applications ? Selfprogramming
  • 5. Key concepts ? Artificial Intelligence ? Machine Learning ? Natural Language Processing ? Neural Network ? Parallel Programming ? Regular expressions ? Parser ? Hidden Markov Model
  • 6. Technologies & Tools ? Visual Studio 2012 ou Android Studio ? ,Net Framework ? C# ou Java ? Regex Library ? TaskParallel Library ? AIML ( Artificial Intelligence Markup Language )
  • 7. VIKI : The Artificial Intelligence
  • 8. Architecture : VIKI Agent Actuators : Screen , Mouse , Speaker , ¡­ Sensors : Keyboard, Mouse , Text , WebCam, Mic , ¡­
  • 10. Regular expressions ( Parser ) : ^(|.*?b|.*?s)Whatb.+?bisb. +?byourb.+?bname(|b.*?|s .*?)$ <?xml version="1.0" encoding="ISO-8859-1"?> <aiml version="1.0"> <category> <pattern>increment j</pattern> <template> <think><set name=¡°j">variable</set></think> j++ </template> </category> </aiml> Predictive rules with 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() } Use Case 1 : #selfprogramming
  • 12. Use case 2 : VIKI : AI-based personal assistant 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); } Natural language Interaction App that learns from few behaviors and generate new knowledge , new behaviors in unknown situations.