Ai Assistant programming guidance needed - artificial-intelligence

Can any one tell me or guide me in programming an ai Assistant something like Jarvis or Google Assistant etc which has both online and offline voice recognition capability.
I am new to Ai so I tried many tuorials and all still not able to understand or build one. Also don't know where to start and how to start please any help I really need help.

To be frank, natural language processing is one of the most complex and technically difficult fields in computer science. so if you want to make your own version of google assistant, it would help to have an advanced degree in AI, a million dollars in research funding and your own team of engineers.
That being said, a chatbot makes for a really fun hobby project. For now, try not to worry about online and offline voice recognition capability. Make a text-based chatbot that handles basic conversation. You can always add more capability later, and you'll probably have your bearings by then and know what to do.
A good place may be microsoft's new bot framework. I've never used it, myself, but its goal is to take some of the technologies behind the likes of Google Assistant and Jarvis, and to make them available for the everyday developer. It seems to fit your use-case, and as a microsoft product, it'll (probably) have some documentation or tutorials for you to get started.

There are a couple of options to get started.
First off, try to build a
bot using C# for native windows
applications. Microsoft has great documentation for the same, and there are a couple of great tutorials on YouTube for the same.
You can also try
api.ai
to build a bot. It's a bit less hands on, but a good way to get started.
To really try doing everything yourself, try learning a bot of machine learning first. Google has great YouTube tutorials for the same.
Try:
C# bot on windows
Google machine learning

The best choice to start is api.ai. It is simple to learn and integrate, and have a good response time. I tried most of the chatbot engines, apply to the natural language by phone to build voice assistants (Voximal). An important factor in this case is the response time. If you plan to integrate a lot of complex datas the reponse time will increase, and remember that you need to add the time duration of the SpeechToText and TextToSpeech too...

Use my project as an inspiration, is a personal A.I. assistant that is running on Windows 10/11(maybe even 8, not tested). It uses Tokenization and content analysis and association with set parameters for natural language processing and offline and online speech recognition for speech recognition. It can search content on Amazon, Google, Google Images, Google News, Netflix, Wikipedia and eBay. It can open and close multiple applications and it can also navigate in the settings menu on windows on any page or sub-section.
The project is here: https://github.com/CSharpTeoMan911/Eva

Related

Fun web based programming environment for tablet?

Sometimes I am away from computer and have some spare time. I would love to do some programming just for fun or experiments. I can imagine something like a web site that can edit and execute JavaScript (or any other language is OK). But it must be ready for keayboardless tablet.
Unfortunately typing to google anything that contains JavaScript and IDE or Website, will give millions of links not suitable for this request. Hence I write here. This is not to start any flame or unproductive discussion. This is really the only option I can think of.
JSFiddle allows you to write HTML/JavaScript/CSS in one editor and immediately run it.
Take a look at TouchDevelop. It's developed by Microsoft Research and allows you to create apps on your iPad, Android device, etc...

cocos2D or IwGame

I started developing a game application for Android, but as I progress I decided to switch to cross-platform environment. Performance is very important as there is some complex audio processing on the background. After few days researching the subject I came to conclusion that the most successful option is Marmalade SDK.
Now I need to decide if to use IwGame or Cocos2D-X or both for development. Both looks great and interesting. Have anyone used these and can share experience?
Thanks.
It depends on how much your game is dependent on the game engine. Cocos2D-x is more feature reach and heavy duty game engine, contributed by many open source developers, while IwGame engine is build by an individual (or may be a team of individuals) just for marmalade.
I've used Iwgame engine for 3D game camera rotation only and it was too easy to set it up and within a day I could make my game running fine. So if your needs are not high, just use IwGame .
Physics engine like Box2D and Chipmunks are said to be better linked with Cocos2D-x, however I've used them separately in marmalade project and faced no problems at all. So it's not a big deal to have a better linked physics engine.
To work on Cocos2D-x, you'll need to learn it first, while IwGame is not too complex to start. But once you worked with Cocos2D-x, it'll be easier for you to work on serious projects and you'll want to use only this.
IwGame offers a very powerful built-in mark-up language (XOML) that can make laying out game levels, designing animations, creating user interfaces very easy. IwGame also allows you to host your content on remote server and download it on demand. Oh, it also has built in support for ads and in-app purchasing.
Cocos2D is the more mature engine but I believe IwGame is more feature rich and easier to use.
I only use cocos2d-x (without Marmalade). I think it is pretty handy when making games, but the setup process and getting your first game to work aren't that easy.
I didn't try IwGame, so I cannot say much about it.
You can get a feel of what cocos2d-x games look like in my profile.

I want to build a Google-friendly web app, where should I start?

I have only very basic experience with HTML/CSS and have quite a bit of experience with testing software and web apps from a consumer perspective. I'd love to launch a web application that plays nicely with Google services, similar to some of the apps you'd find on the Google Apps Marketplace, such as ManyMoon, time to note, Socialwok, etc. I'm a huge Google fan and would like to build something that's well integrated with other Google services.
If you were a total beginner and wanted to build a complex app like one of examples above (project management, CRM, etc), where would you start?
If you worked your ass off 18 hours a day, 24/7, how fast could you do it?
I've dabbled into various languages and development frameworks, and read about which apps are using what languages but it's hard to figure out what would be most beneficial to jump into. Ruby on Rails, PHP, Google Web Toolkit, AppEngine. The list goes on and on. I want to be able to build and launch my own scalable web app.
Thanks.
One bit of advice: There is no shortcut for proper experience. It took me 4 years to come to a point where I can build enterprise level web apps - even though I had the dream of building one immediately, right from the beginning. Start small and build your way up.
Even though I did hate this advice when I was receiving it... Don't try to build the next Facebook platform right now.
Now, to answer your question:
Skills:
You must be absolutely clear about server-client interaction with respect to HTTP. You will never understand AJAX fully without understanding HTTP and behind the scenes of browsers. Note: being clear and knowing everything are two different things. Be clear about HTTP.
Learn about HTML/CSS and JavaScript standards to some extent to know that they bahave differently in different browsers. In the grand scheme of things, they are not that important if you are okay with some framework that handles these for you (I recommend JQuery and JQuery UI).
Learn a little about Linux, Apache, PHP.
How to go about it:
To develop web-apps, you could start with the LAMP stack - Linux + Apache + MySQL + PHP.
First build a small web app that does something trivial - like saving and retrieving user's stuff using AJAX and a nice UI or something. I'd recommend jQuery and jQueryUI for JavaScript and UI frameworks.
Then, build a small web app that just gets data from some Google service, given a user's credentials.. I am not Google expert but I guess Google provides APIs for some services(?).
Then build an app where two people can share their data coming from a Google's service or something to that effect.
Then add your own fancy stuff.
It goes on like that.
If you are a .Net person, you could go with.. Windows + IIS + MS SQL Server + ASP.Net3.5/VB/C#. Guess what? StackOverflow is build on that stack :)
Learning about and using an MVC framework is also a good idea - ASP.Net MVC or something similar for PHP.
Minor clarification - By Google-friendly did you mean SEO-friendly? If so, Google-friendly and web-app don't go well together.
It makes sense to build a Google-friendly website not a web-app.
I would start by
brainstorming a hands-on project
identify the skills you will need to achieve it
learn them as you work through the project
set progress goals and celebrate small victories
For most people 18 hrs/day 24/7 sounds a little overly optimistic. A reasonable goal would be to form an interesting project idea and research the needed skills the first week, work through a few tutorials and maybe apply your own functionality the second week, build something 'complete' the third week, then take a step back and take another look at your original goal.
As far as choosing a project, I find a notepad helps. I'll be somewhere and think, 'wouldn't it be nice if...' and I'll go look for a solution that provides that 'what if' and find it doesn't exist. So there you go.
I would also have a look to one of the top voted questions here on Stack Overflow:
What should a developer know before building a public web site.

Develop a line of business application in silverlight 4

Currently as my job profile i am more working on asp .net application but i also wanted to have my hands on silverlight application. so, i just decided to build one silverlight 4 application in my spare time and on weekends.
We are having a team of around 4 people. We also tried for commercial application but as we can only develop it in our available time we can not commit on timeline as well as we people are new to SL, so first we need to learn concept and implement it. (Though we know the concept of binding, commanding,templates etc.)
Now i just thought to work on project like creating a social networking site in SL 4
having facilities like forum, blogs, calander, task, dashboard etc.
We want to use features like .Net RIA Service, Entity Framework, MVVM pattern, SL 4.
Objective here is to learn new concepts as well as to get some good project experince in silverlight.
Now,
what you people suggest is it a good idea ?
If yes then the project selected is correct or you suggest some other project ?
Any pattern or technology related suggestions ?
This is quite a vague set of questions but I'll attempt to give my 2 pennies worth of advice.
As a learning project this is as good an idea as any to get going with. As a commercial idea it probably isn't such a good one due to there not being any niche in your product. It has all already been done, and been done successfully by the likes of Facebook and Twitter. Developing any kind of social media site is incredibly difficult as the market is already fairly saturated. As I said though, as a learning project it's quite nice as you can just borrow concepts and ideas from other sites and you can concentrate on you main goals of gaining knowledge in the various technologies.
Whatever you decide to do I'd say split the project up into much smaller components rather than having the end goal in sight. Try to take more of an agile approach by setting yourself 2-3 week targets. It should help keep the momentum going. My experience is that learning projects tend to die a death as people get bored of the concept and lose motivation to do it. By keeping the tasks small you get to see small results often. This should help keep you motivated as you move from requirement to requirement.
Personally I think setting up personal projects and goals like this are a great way of learning new technologies - good for you!! :-)
From a tooling perspective it sounds like SL4 is an ideal route to follow. This is highly likely to be released in early 2010 and has some awesome new features compared to SL3. Would also recommend using VS2010 and WCF RIA Service too.
From a code sharing POV have you considered hosting your project on Codeplex? This will give you a hosted TFS server to manage your source code in a distributed way. This is bound to save you some big bucks.
As far as document management is concerned Google Docs are certainly worth a look (as is Google Sites as a really easy to set up (albeit simple) project management portal).
Finally, I can't recommend learning SketchFlow highly enough. As a prototyping tool for silverlight it is really, really cool. Take a look at the PDC video for a great kick start on this.
Good luck :-)

Is NetBiscuits any good?

Has anybody got any real world stories build mobile web sites with NetBiscuits?
Someone told me it was the next big thing in mobile development (http://www.netbiscuits.com/home) and it looks pretty good from their site. Just wondered if anybody (besides them) has actually used it.
From a few months time working with it, I can say that they're indeed one of the best (if not the best) out there. The support is also insanely quick and good.
Only thing making me stop using it is the price. Especially if you're a small company and want to use their POI feature.
However I have yet to find a good replacement. May end up rolling my own version...
Edit: Related question.
They have created an entire xml (bml) based markup language that emulates html that has a very steep learning curve. I would seriously reconsider using it.
I have seen it working nicely. It also supports ASP.NET controls SDK that can be used to write ASP.NET app from Visual Studio. Once this app is deployed on your premise, you can use live bridge agent to connect this app to a Live Bridge server that Net Biscuits hosts. Your app is called a backend app in this case. This is a very useful feature when you do want to have Forms capability in your app and also want it to be accessible on NetBiscuits platform.
Check http://kb.netbiscuits.com/tactile/edc/livebridge_help.html. BiscuitML is also easier to grasp.
Look out for performance issues though. Customers in Australia have had response time issues - probably due to the Cloud Platform being located in USA/UK.

Resources