What is the process to develop an intelligent personal assistant like Siri?
How does one create an interactive artificial intelligence within an app with great design?
1) interactive
“Interactive” means to me the speech layer. The speech layer consists of both speech-in and speech-out. At this point in time, the quality of the speech layer is heavily dependent on the hardware platform.2) artificial intelligence
There is no definitive “artificial intelligence” at this time, due mainly to the fact we haven’t cracked “natural intelligence” yet. Up to now, winning a Turing test, such as the Loebner Prize, has been heavily dependent on trickery, smoke and mirrors. Human conversation is highly psychological in nature, and therefore often marked by theatricality and so-called mind games.3) app
“App” in this case means for me animated avatar. Lip sync is a major consideration for avatar animation.
Most natural language “engines” (called “dialog systems”) are text-based. Adding both audio-in and audio-out are additional levels of complexity. And adding an animated avatar system is yet another layer.
Is sentiment analysis (based on data mining) the easiest way for “human-like” AI to proceed?
there are two layers to “human-like” AI. One is the speech layer, or dialog system (using essentially the same technology as sentiment analysis, but in a different way). The second layer is the “cognitive”, perhaps more like IBM Watson in that it’s actually “understanding” concepts and their relations.
I want to make a chat bot which will try to reply as a counselor. How should I go about it?
This is more about making a knowledgebase, or personality, for the actual chatbot engine. Weizenbaum’s ELIZA was not only one of the earliest examples of a chatbot, but also of a “therapist” chatbot. I suggest to start by studying my webpage at Eliza Weizenbaum | Meta-Guide.com. For instance, you could just use a copy of the original Eliza knowledgebase.
There are many examples of chatbots made from FAQs, or lists of frequently asked questions. Most chatbot knowledgebases are based on lists of question-answer pairs. There are also many examples of question answering systems based on question-answer pairs for various domains, or topic areas, for example library science, or librarian chatbots.
Most chatbot engines are based on markup language, or XML dialect, of one kind or another, often specific or proprietary to a given chatbot engine, or interpreter, the most common or paradigmatic chatbot language being AIML. Commonly, chatbots are based on pattern matching, though there are examples of statistically based question answering systems. How terms or phrases are chosen and encoded for pattern matching is still as much art as science….