10
$\begingroup$

I'm curious about Artificial Intelligence. In my regular job, I develop standard applications, like websites with basic functionalities, like user subscription, file upload, or forms saved in a database.

I mainly know of AI being used in games or robotics fields. But can it be useful in "standard" application development (e.g., web development)?

$\endgroup$
0
7
$\begingroup$

Yes, but probably only to a limited degree in the near term.

Where people draw the boundaries around 'artificial intelligence' is fuzzy, but if one takes the broad view, where it incorporates any sort of coding of explicitly cognitive functions, then many routine economic tasks can benefit from artificial intelligence. Many search engines, for example, can be seen as offering artificial intelligence applications as a service.

For more 'standard' applications, most near-team applications of AI have to deal with fraud detection and prevention. If you track a user's cursor moving across the screen, for example, you can build a model that differentiates between humans and bots, and treat the two separately. See this article for an example.

In the longer term, of course, a program that could write programs could write these sort of applications like any other.

$\endgroup$
0
6
$\begingroup$

Adaptive/predictive features are useful in at least some everyday applications. Take text messaging, for instance. All smartphone SMS apps that I know of keep track of the words you use in close proximity and use that information to predict the next word in a message you're typing. (Some are smarter than others. Relevant XKCD.) It can be used to personalize automatic spelling correction as well.

A potential application interesting to me personally is tile-based level editors, like for classic DOS games. I've been working on a program that gathers the probabilities of each tile being close to every other tile and uses that information to construct random new levels. It hasn't produced anything playable yet, but I think it has the potential to assist human level builders by e.g. automatically filling in the missing tile that fits in a newly placed structure, as opposed to requiring the human to go find the right one in the palette.

In general, AI could be applied very usefully into figuring out what the user might want to do next and expediting the process of implementing the correct guess while staying out of the way if the user is intentionally doing something unexpected.

$\endgroup$
0
2
$\begingroup$

I believe AI is rarely used in mainstream apps, but it could be, and I think slowly will be.

If the information an app's AI must learn arises within the app, from user interaction or error, it'd be smart if the program could log that kind of information and then look for patterns in the logs. It could profile users to see ehat tasks are done most often, how many steps are needed. Then when it recognizes that task recurring, it could ask the user if they wanted it to execute a macro that did the following [then it presents then with a list of the steps, allowing them to edit as needed]. Then it executes the 'macro' that it learned from observing the user.

Another use of AI is error detection, not only in the software, but in user error when the software was used inefficiently, redundantly, or improperly. If the software were designed such that it was given a set of models of user tasks (like AI plans), it could observe users in the way they achieve known tasks, and offer suggestions or ask for confirmation that imminent unusual outcomes are intended.

And of course, AI could be used extensively in user interface design, on devices, web sites, or apps. Some of this, like voice recognition, is entering the mainstream of daily use just now. As conversations with apps that can add their own data and models of tasks/concepts/domains develop further, the need for AI inside the app will only grow.

There are a ton of ways that AI could be used in apps. A few of these have started to arise in mobile devices and their apps, usually in fusion of user mobility with external web-based databases (e.g. GPS and maps), but IMO it's been slow.

$\endgroup$
1
$\begingroup$

One critical part of AI is machine learning (ML). The common definition of ML by Mitchell is

A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P if its performance at tasks in T, as measured by P, improves with experience E.

If this type of program is useful in an "everyday application" depends on the application. Here are some examples which would not be possible without ML:

  • Spam detection (e.g. e-mails, forums)
  • Fraud detection (e.g. credit cards)
  • Image recognition (e.g. if you want to automatically filter NSFW content, automatic adding of tags / making images searchable e.g. for Google Image search)
  • Video analysis (filtering copyrighted work e.g. on YouTube)
  • Speech recognition (e.g. hotlines, automatic caption generation)
  • Autocompletion (probably one of the simplest things you can do with data)
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.