The English Language is not well-suited to talking about artificial intelligence, which makes it difficult for humans to communicate to each other about what an AI is actually "doing". Thus, it may make more sense to use "human-like" terms to describe the actions of machinery, even when the internal properties of the machinery do not resemble the internal properties of humanity.

Anthropomorphic language had been used a lot in technology (see the Hacker's Dictionary definition of anthropomorphization, which attempts to justify computer programmers' use of anthromporhic terms when describing technology), but as AI continues to advance, it may be useful to consider the tradeoffs of using anthropomorphic language in communicating to both technical audiences and non-technical audiences. How can we get a good handle on AI if we can't even describe what we're doing?

Suppose I want to develop an algorithm that display a list of related articles. There are two ways by which I can explain how the algorithm works to a layman:

  1. Very Anthropomorphic - The algorithm reads all the articles on a website, and display the articles that are very similar to the article you are looking at.
  2. Very Technical - The algorithm converts each article into a "bag-of-words", and then compare the "bag-of-words" of each article to determine what articles share the most common words. The articles that share the most words in the bags are the ones that are displayed to the user.

Obviously, #2 may be more "technically correct" than #1. By detailing the implementation of the algorithm, it makes it easier for someone to understand how to fix the algorithm if it produces an output that we disagree with heavily.

But #1 is more readable, elegant, and easier to understand. It provides a general sense of what the algorithm is doing, instead of how the algorithm is doing it. By abstracting away the implementation details of how a computer "reads" the article, we can then focus on using the algorithm in real-world scenarios.

Should I, therefore, prefer to use the anthropomorphic language as emphasized by Statement #1? If not, why not?

P.S.: If the answer depends on the audience that I am speaking to (a non-technical audience might prefer #1, while a technical audience may prefer #2), then let me know that as well.


3 Answers 3


If clarity is your goal, you should attempt to avoid anthropomorphic language - doing so runs a danger of even misleading yourself about the capabilities of the program.

This is a pernicious trap in AI research, with numerous cases where even experienced researchers have ascribed a greater degree of understanding to a program than is actually merited.

Douglas Hofstadter describes the issue at some length in a chapter entitled "The Ineradicable Eliza Effect and Its Dangers" and there is also a famous paper by Drew McDermot, entitled "Artifical Intelligence meets natural stupidity".

Hence, in general one should make particular effort to avoid anthropomorphism in AI. However, when speaking to a non-technical audience, 'soundbite' descriptions are (as in any complex discipline) acceptable provided you let the audience know that they are getting the simplified version.


I think the correct answer is the easy but unhelpful, "It depends."

Even when I'm talking to other technical people, I often use anthropomorphic language and metaphors. Especially at the start of the conversation. "The computer has to figure out .." "How can we prevent the computer from getting confused about ..." etc. Sure, we could state that in a more technically correct way. "We need to modify the algorithm to reduce the number and variety of instances of inadequate data that result in inaccurate setting of ..." or some such. But among technical people, we know what we mean, and it's just easier to use metaphorical language.

When trying to solve technical computer problems, I often start with a vague, anthropomorphic concept. "We should make a list of all the words in the text, and assign each word a weight based on how frequently it occurs. Oh, but we should ignore short, common words like 'the' and 'it'. Then let's pick some number of words, maybe ten or so, that have the greatest weight ..." All that is a long way from how the computer actually manipulates data. But it's often a lot easier to think about it in "human" terms first, and then figure out how to make the computer do it.

When talking to a non-technical audience, I think the issue is, Anthropomorphic language makes it easier to understand, but also often gives the impression that the computer is much more human-like than it really is. You only need to watch science fiction movies to see that apparently a lot of people think that a computer or a robot thinks just like a person except that it's very precise and has no emotions.


The problem you're referencing is not just an AI problem but a problem for highly technical fields in general. When in doubt, I would always recommend using plain language.

However, there is another reason the AI community will often eschew anthropomorphic connotations for AI. Some AI luminaries often like warning us that an artificial general intelligence may behave in alien ways that defy our human expectations, potentially leading to a robot apocalypse.

This idea about evil alien-like AGIs, however, derives from a widespread misunderstanding in the AI community that conflates two different notions of generality:

  • Turing machine generality, and
  • human domain generality

What regular people mean when they say generality is the later. Even the official definition of AGI hinges off of that human-contingent context:

...perform any intellectual task that a human being can.

But by that definition, generalizing behavior does not make it more alien. To generalize is to anthropomorphize. As Nietzche said,

"Where you see ideal things, I see— human, alas! All too human things.”


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .