dérive

A recommender that takes you on a walk through rare and strange concepts. Every pick is a choice between going deeper into what you like and exploring somewhere new. Many come from a list I have kept while reading for years.

Cognitive science

Apophenia

Perceiving meaningful connections between unrelated things. It also covers gamblers who find patterns in random results.

Wikipedia (opens in a new tab)

How it works

Each concept is a point in a space of meaning, computed from its term and description. You choose the next one among three:

  • Closest: the unread concept most similar to the one you are reading.
  • Other field: the unread concept in another field most similar to your taste.
  • Far: one of the concepts least similar to those you read recently.

Your taste follows Rocchio relevance feedback: what you picked and saved, minus half of what you disliked.

The math

Each concept cc is an embedding vcv_c of its term and description. kk is the concept you are reading, f(c)f(c) the field of cc and UU the concepts you have not read. Among your last 50 concepts, PP holds those you picked or saved and DD those you disliked. Your taste is the Rocchio vector

t=1∣P∣∑c∈Pvc−12⋅1∣D∣∑c∈Dvct = \frac{1}{|P|} \sum_{c \in P} v_c - \frac{1}{2} \cdot \frac{1}{|D|} \sum_{c \in D} v_c

or vkv_k before any pick, save or dislike. With FF the fields of kk and of Closest,

Closest=arg max⁡c∈Ucos⁡(vc,vk)\text{Closest} = \operatorname{arg\,max}_{c \in U} \cos(v_c, v_k)
Other field=arg max⁡c∈U, f(c)∉Fcos⁡(vc,t)\text{Other field} = \operatorname{arg\,max}_{c \in U,\, f(c) \notin F} \cos(v_c, t)

Far is drawn at random from the 30 concepts of UU with the lowest max⁡r∈Rcos⁡(vc,vr)\max_{r \in R} \cos(v_c, v_r), where RR is your last 10 concepts.