Should I use anthropomorphic language when discussing AI? 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:


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.
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.
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.