Chapter 14. Business Logic

By now, you may be thinking, “Yes, our algorithmic ranking and recommendation has arrived! Personalization for every user with latent understanding is how we run our business.” Unfortunately, the business is rarely this simple.

Let’s take a really straightforward example, a recipe recommendation system. Consider a user who simply hates grapefruit (one of the authors of this book really does) but may love a set of other ingredients that go well with grapefruit: asparagus, avocado, banana, butter, cashews, champagne, chicken, coconut, crab, fish, ginger, hazelnut, honey, lemon, lime, melon, mint, olive oil, onion, orange, pecan, pineapple, raspberry, rum, salmon, seaweed, shrimp, star anise, strawberry, tarragon, tomato, vanilla, wine, and yogurt. These ingredients are the most popular to pair with grapefruit, and the user loves almost all of these.

What’s the right way for the recommender to handle this case? It may seem like this is something that collaborative filtering (CF), latent features, or hybrid recommendations would catch. However, if the user likes all these shared flavors, the item-based CF model would not catch this well. Similarly, if the user truly hates grapefruit, latent features may not be sufficient to truly avoid it.

In this case, the simple approach is a great one: hard avoids. In this chapter, we’ll talk about some of the intricacies of business logic intersecting the output of your recommendation system.

Instead of attempting to ...

Get Building Recommendation Systems in Python and JAX now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.