You are on page 1of 5

BornBaby model for software synthesis

A program that can write programs.


Sheshavishnuprasad , Tanmaya R#2, Rahul B#3, Jareen Joseph#4,Gururaj H L*5, B Ramesh*6
#1

#
8th Semester, Department of Computer Science & Engineering, Malnad College of Engineering,
Hassan, Karnataka, India-573202
#1
sheshavishnuprasad@gmail.com
*5
Asst. Professor, Department of Computer Science & Engineering, Malnad College of Engineering,
Hassan, Karnataka, India-573202
gururaj1711@gmail.com
*6
Professor, Department of Computer Science & Engineering, Malnad College of Engineering,
Hassan, Karnataka, India-573202
sanchara@gmail.com

Abstract There have been many improvements on neural BornBaby model uses these techniques and emulates how a
networks and neural nets in order to come up with a program that brain of baby works. There are 2 kinds in artificial Intelligence:
is as intelligent as humans. Recent improvements in natural Narrow AI and Broad AI. While BornBaby model is generic, its
language processing and machine learning techniques in the field implementation comes under narrow AI wherein we concentrate
of artificial intelligence has proved that the near future will be very
exciting with artificial intelligent robots around us. The BornBaby
on optimizing on one specific task. Besides categorizing as
model proposed, is a whole new dimension for Artificial narrow and broad, it is classified into 2 kinds. They are Strong
Intelligence and opens up array of possibilities for researchers to AI and Weak AI [6].
come up with natural solutions for problems. Attempts are being
made to come up with a software synthesis program, which is able
to write programs on its own, like human programmers. Strong AI
BornBaby model is a structured model which defines how a
program must learn in order to come up with solutions. Though Strong AI says that machines can equally do tasks like humans.
there are models like Neural networks which emphasizes on the So, in near future, we could expect machines to be working, feel
implementation of program to simulate working of human brain, emotions and understand situations like how humans does and
BornBaby model emphasizes on how the program must learn the learn from the experienced data. Though it seems impossible,
data based on natural concepts of living beings and the just by studying how a part of the brain functions (Neurons) if
implementation is generic. we could develop neural networks, what if we get to know the,
Keywords AI, artificial intelligence, NLP, bornbaby,
mystery of brain? Strong AI gets its grip. If this happens,
software synthesis. machines would be roaming around us just like humans or be
used as personal assistants to do assigned works. This can
I. INTRODUCTION revolutionize how computing is done.
Artificial Intelligence is the intelligence exhibited by machines.
In Computer Science, the field of AI research defines itself as a
Weak AI
study of intelligent agents. Artificial Intelligence includes
Machine Learning, Data Mining and Natural Language The motive behind Weak AI is just the fact that machines can
Processing. pretend theyre intelligent i.e. theyre acting as if theyre
intelligent. It states that the ability to think can be easily added
The sole aim of Artificial Intelligence was to mimic or even
to computers which can produce better results and tools. For
outperform human minds. Thus it is important we question the
example, when a computer is made to play against humans, it
fact whether it has actually been able to do so. It cannot be
will be taking some moves based on how human is playing. It
ignored that the fact of AI is being implemented especially in the
might behave as if its intelligent by deciding which move is
fields of medicine, robotics, law, stock trading etc. Also some of
better. But its not actually thinking. Its producing the moves
its applications are homes and big establishments such as
based on the inputs or training data already fed into it. Its just
military bases and the NASA space station
trying not to lose the game and eventually wins it by making Intersections between SE and AI:
moves of a professional chess player.
Merging these two domains is the main task involved in
BornBaby Model for software synthesis. Because, if the AI
knows about the domain of what Im asking it to solve, given
But wait, theres a reason why were talking about this right
some rules, syntax and semantics, it can generate a program to
now. BornBaby model doesnt acts as if its intelligent, but it
solve the problem statement. Traditional software engineering
learns how to be intelligent. Exactly. As the name says, it can
process involves several phases like requirement phase, design
generate programs of any kind, of any language just by learning
phase, development phase and testing phase. Errors can happen
what someone teaches it. If we think deeply on whats
in any of these phases. Only thing needed is how you recognize
intelligence, intelligence is nothing but how one can perform
and resolve the error. If these capabilities are built into a
operations to produce results based on what he has learnt.
machine, itll be able to write standard code for any problem
Well, thanks to the computer. It has got all the memory, statement.
processing and devices to take i/o. So, we already have the baby
The common research area between them are: computational
in our hand. What we just have to do, is to train it. Lets see how
intelligence agents, ambient intelligence [7], and knowledge
to train it in the working.
based software engineering.
Ambient intelligence help us making an adaptive, sensitive and
II. LITERARATURE SURVEY reactive systems that are informed about the users emotions,
habits, needs, and in order to support them in their work
Ali Heydarzadegan , Yaser Nemati ,Mohsen Moradi,Islamic regularly. In fact, thats what a personal assistant does, right?
Azad University [1]: In this paper evaluation of various
machine learning algorithms have been presented. This gives a IV. SENTIMENT ANALYSIS
brief idea about how we structure our data.
Sentiment analysis [8], which is also termed as opinion mining,
Unnati Dhavare , Prof. Umesh Kulkarni, Vidyalankar is a deep concept. Sentiment can be analyzed by the way
College Marg [2]: In this paper the applications of natural someone speaks, by the variation in their voice and as such. Its
language processing have been explained briefly as to where the important for us to know learn about opinion mining; because,
concept can be applied. How to react to a person who is committing suicide? is a
problem statement based on someones sentiments and cant be
Prof. Manish G. Gohil , BCA Mahila College ,gujarat [3] : answered based on some given set of questions and answers.
In this paper it explains about how a computer distinguishes the
pauses and punctuations. By using various natural language processing techniques, which
are advancing very rapidly in todays world is the key for
Heather Sobey, Department of Computer Science University sentiment analysis. If prediction of someones judgment is a
Of Cape Town [4]: In this paper how current speech
problem, then the solution is to study his attitude, emotional state
recognition is based on hidden Markov model, its advantages and present context. Because, we know that one can be
and disadvantages. convinced. And being convinced is a result of his emotional
Hany M Ammar, Walid Abdelmoez and Mohamed Salah state, present context, and of course might rely on how he was
(2012) [5]: In their paper authors surveyed on problems convinced the previous time.
associated in the traditional software development such as SBST
requires further research and it can be overcome by how the V. STATISTICAL LANGUAGE MODELS
artificial intelligent technique such as KBS,CBR, Fuzzy logic If the baby could learn only from texts, it is impossible for it to
and automated programming tool. understand the sentiment and emotion of those texts. But,
learning from texts also plays an important role. If we could
III. ARTIFICIAL INTELLIGENCE AND SOFTWARE train the baby based on the messages and their replies, it can
ENGINEERING know how humans communicate and how they reply in what
Software engineering comprises of two kinds of knowledge. Its state. Emoticons might be digged to know the emotion of that
nothing but the programming knowledge and domain text, roughly.
knowledge. Programming knowledge consists of how the
language is built, the grammar used in the language, the syntax
and semantics of that language and flow control mechanisms VI. EXPLAINATION OF GENERICITY
built into the language. The domain knowledge is the knowledge As its already said, the BornBaby model is a generic model. But
gained on the problem statement youre about to solve. If were what it exactly means is, its just a representation of how the
going to solve a problem on how to recognize if the color of shirt machine should work. This representation can be dubbed to
is blue, we need to know what a shirt is, what a shirt looks like generate programs in any language. Also, while we interact with
and other properties of shirt in order to recognize its a shirt. We the model, were going to use our natural languages. Any
must also know what the different colors are and how does blue language in the world can be used to interact with the AI to
look like. produce programs. If you guessed it right, the natural language
processing techniques of that particular language has to be VIII. WORKING
developed first in order to make the baby learn. After all,
A. This is a generalized model where in the baby can be made
everyone who has learnt their mother language, learnt it while
to learn any process in any of the languages.
they were a baby. Isnt it?
B. As the language is processed the baby will learn,
So, now, there would be no need for normal programmers. A
understand and will possess the ability to solve any desired
person who has better grip on a language and its grammar can
task.
interact with this program to generate desired programs. Only
thing is, he has to wait until and stuff the baby to learn the C. After understanding, the grammar of any desired language
necessary things before it is asked to solve the problem. To must be fed for analytical purpose.
implement this model, one needs a good insight on how human
D. This model is a triangular loop of learning, understanding
thinks. For example, when someone asks you to recognize a sign
board on the road, you match some rules that sign board must and interacting, because learning is a continuous process.
have. Usually, it has some particular colors, shape and size. If So, to start, the program is setup with a desired language by
that matches, you can say its a sign board. So, one can now feeding the dictionary of language and its grammar. Assume
agree to the point that even humans does some matching and the program as a personal assistant to you.
mapping process in order to come to conclusions on a problem As we talk with the program, it processes the language we talk
statement. These matching techniques, for example, regex according to the language we have set it up with. Regex
matching in texts, is also extensive capability to come to techniques help us to parse the grammar of the heard sentence.
solutions for a problem. If the creator knows how his creation With more advanced natural language processing techniques,
must behave, he can take care of making a better creation, which more efficient thought process can be setup.
is the simple principle behind the BornBaby Model. If we ask a baby to find the square of a number, will it answer
us? It will, provided that it knows how to multiply a number
and has been taught what is square of a number. Fortunately,
arithmetic calculations are very easy for a computer. It knows
VII. THE BORNBABY MODEL to multiply a number. But we have not taught it to square a
number. It definitely cant find the hypotenuse of triangle if it
doesnt know to square a number. Now, we can agree to the
point that things are inter-dependent; only if we know the
basics, we can solve complex questions.
In the BornBaby Model, the program synthesizes another
program for what it is asked and it stores that program. For
example, if we ask What is the square of 2, the baby doesnt
know yet how to square a number. But, If we teach it saying
Square of a number is number times number, its now able to
square any number and tell us the answer. When we taught it
Square of a number is number times number, it generated a
program that takes number as input and returns
number*number as result. Now, since hypotenuse needs one to
find square of the sides first, the baby can now square the sides
using what it has learnt.

IX. IMPLEMENTATION
There are 3 phases in the model. To demonstrate the BornBaby model, lets discuss about the
implementation we came up with.
o HEARING PHASE
o LEARNING PHASE THE HEARING PHASE The speech data is fed through
o INTERACTING PHASE WebkitSpeech API, which is used for voice recognition based
on context. The voice is converted to text and is sent to brain to
Hearing phase is input phase, just how a baby starts to hear. process it. The baby will be hearing to the world but not
Learning phase is the analysing phase, the baby is processing listening to it i.e. the heard data is just in its ear but not
what it has heard about. processed by its brain. The baby needs a name before we can
make it to listen to us. Theres a gender detection algorithm
Interacting phase is how the baby starts to interact with the which can detect gender of particular name by exploring the
society, the baby continuously learns. web. We can give a name for the baby and then make it to listen
to us.
THE LEARNING PHASE The core logic of the
implementation, the brain, is implemented in this phase. Regex
techniques is used for analysing the input and it is processed
through Natural Language Processing techniques. The brain
module is implemented using Node.js popular library released
by Google Inc.

THE INTERACTING PHASE The interacting phase sends


the input from WebkitSpeech to the brain and gets the reply
from program, which is converted to speech using
responsiveVoice.js library.
1. The program acts as a brain and hence named brain.js.
2. The language processed by the brain are also
synthesized as JavaScript modules. Figure 10.2
3. All these modules together form the conscious mind
with the help of which baby will interact. In figure 10.2, Its has learnt to square a number as we fed in
Square of number is number multiplied by number.

X. RESULT ANALYSIS
As we will see, baby can solve simple arithmetic problems by
processing and learning the input text.
The JavaScript modules are synthesized by the babys brain
which in turn is also a JavaScript program, justifying the title as
software synthesis.
Well follow the classical example of square root and
hypotenuse to demonstrate the result.

Figure 10.3
In figure 10.3, it is producing us the result for the square of 25.

Figure 10.1
In figure 10.1, we can see how the program is interacting with a
human. When we asked it what the square root is, it replied I
have not learn this yet. Because weve not taught it to square a
number. Lets go ahead and teach it how to square a number.

Figure 10.4
In figure 10.4, we can see that it is writing the program to square
a number. Now that it knows to square a number, using verbal
communication, we taught it to find the hypotenuse. It was able
to find the hypotenuse and write a program to find the
hypotenuse as seen in figure 10.5.
REFERENCES

[1] Sally Goldman; Yan Zhou, "Enhancing Supervised


Learning with Unlabeled Data", Department of
Computer Science, Washington University, St. Louis,
MO 63130 USA.
[2] Rich Caruana; Alexandru Niculescu- Mizil,"An
Empirical Comparison of Supervised Learning
Algorithms", Department of Computer Science,
Cornell University, Ithaca, NY 14853 USA
[3] Niklas Lavesson, "Evaluation and Analysis of
Supervised Learning Algorithms and Classifiers",
Blekinge Institute of Technology Licentiate
Dissertation Series No 2006:04, ISSN 1650-2140,
ISBN 91-7295-083-8.
Figure 10.5 [4] Niklas Lavesson, "Evaluation and Analysis of
Supervised Learning Algorithms and Classifiers",
Blekinge Institute of Technology Licentiate
XI. CONCLUSION Dissertation Series No 2006:04, ISSN 1650-2140,
ISBN 91-7295-083-8
We know how to write programs using programming [5] Andrew Ng, "Deep Learning And Unsupervised,
languages, but for the first time this program can write Genetic Learning Algorithms, Reinforcement
programs using natural communicating languages of daily life. Learning and Control", Department of Computer
Even a novice can be able to solve complex problems using this Science, Stanford University, 450 Serra Mall, CA
model without the knowledge of any programming languages, 94305, USA.
but Basic English. If children are exposed to this program, they [6] Hu, Y., Chen, J., Rong, Z., Mei, L., & Xie, K. (2006).
can even get a good grip at grammar and also can know how A Neural Networks Approach for Software Risk
computers work Analysis. In Proceedings of the Sixth IEEE
Different Natural Language Processing techniques and regex International Conference on Data Mining Workshops
simplicity empowered the BornBaby model in the process of (pp. 722-725), Hong Kong. Washington DC: IEEE
software synthesis. Computer Society.
BornBaby model will help open a wide area for research [7] Bing Liu, "Supervised Learning", Department of
interests and introduces a new scope of programming Computer Science, University of Illinois at Chicago
methodology. (UIC), 851 S. Morgan Street, Chicago
[8] Rich Caruana; Alexandru Niculescu-Mizil, "An
XII. PUBLICATION WORK Empirical Comparison of Supervised Learning
Algorithms", Department of Computer Science,
[1] Sheshavishnuprasad, Tanmaya R, Rahul B, Jareen Cornell University, Ithaca, NY 14853 USA
Joseph, Gururaj H L, B Ramesh BornBaby model for [9] Yugowati Praharsi; Shaou-Gang Miaou; Hui-Ming
software synthesis- Command Line Interface, Wee, Supervised learning approaches and feature
International Journal of Engineering and Applied selection - a case study in diabetes, International
Computer Science, Empirical Research Press Ltd, Journal of Data Analysis Techniques and Strategies
London, United Kingdom, April Issue (Accepted). 2013 - Vol. 5, No.3 pp. 323 337
[10] Zoubin Ghahramani, "Unsupervised Learning",
Gatsby Computational Neuroscience Unit, University
[2] Sheshavishnuprasad, Tanmaya R, Rahul B, Jareen
College London, UK.
Joseph, Gururaj H L, B Ramesh BornBaby model for
software synthesis- A program that can write
programs, IEEE 8th International Conference on
Computing Communication and Networking
Technologies 2017, IIT Delhi, IndiaJul 3, 2017 - Jul 5,
2017 (Submitted, Waiting for Notification)

You might also like