Audio book recommendations and machine learning

I like to listen to audio books and for that I use Audible. What I find a big lack at Audible is the inability to get book recommendations through other listeners who have liked the same books as I have. Maybe it is done in an opaque manner but regardless the recommendations are really disappointing. This can be done better and is a good case for Service design and Machine Learning with Wolfram.

My Product and Service Design quest starts with a  question: what do I want?

I want to see books I have not listened to before that very likely interest me

How would I go about this?

  • I have to access to my own account
  • I have access to ratings given by other listeners
  • I find those books that I have liked
  • I find those listeners who liked the same books
  • I calculate which listeners liked most similar books
  • I collect from those listeners other highly liked books
  • I allow for Boolean queries
  • I present these books

But there have been many occasions that I have returned a book. I would say 30% of the books I initially ordered I have returned. Of that 30% I returned 20% because the voice or way of reading distracted too much. I need to include these factors in the results as well

  • I give minus points to those listeners who have liked books that I have returned

As I am a service designer and not an engineer/coder/developer I stick to my forte which is asking the “what if” question and search for the most optimal path to reach my goal: find the best next book to listen to. One treacherous result of this approach could very be the creation of a tunnel in which I get stuck and not discover books that might very suit my taste but simply do not appear in front of me. I refer to the difference between intelligence and understanding. On the wolfram website I found a very relevant experiment.

This example is relevant as we expect a certain representation of data to be returned and judge the data on it’s representation. However, sometimes things go wrong in the translation and the representation of the same data is converted into something unrecognizable or unknown. We judge this then as fault or ignore it. I wrote about this difference of AI and AU in my post on Artificial Understanding.

This inspires me to think about how to represent data that falls outside the scope of “ideal next book”.

  • How do I represent the possibly useful outlier and how to I quantify the value of this outlier?
  • So how much is the chance that this book is a ideal next book for me?

These are questions that busy me as an UX and service designer.

  • Do I assign a number?
  • Stars perhaps or a color?
  • And what is the consequence of this strategy?
  • Does this open my mind for books, topics, people, schools of thought that I otherwise would not have found?
  • Are there better ways to find these alternatives?
  • Do I want to find those or rather stay in my tunnel or bubble?
  • Is this potential desire to stay in the tunnel a temporal one or a character feature?
  • Does it change?
  • What would make it change?
  • is this desirable?

Welcome to my world of User Experience and Service design. A relative simple problem easily triggers these questions. Luckily these questions do not take much time to collect. Many of the answers are relatively simple but as you see each answer branches out in more questions. My believe is that at my core there is some consistency. Then there is a shell that is easily influenced by external forces. This shell is perhaps my Open Mindedness aspect as described in detail in the Big Five analysis.

So how do we design for different people? Why to treat people like something homogeneous, like a user?