In the first article in this series, we talked about the ways recommender engines can be leveraged to improve citizen service. In this article we’ll give you “a peek under the hood” and so you can see how recommender engines work.

Figure 1 recommender engine architecture

Figure 1 recommender engine architecture

Recommender engines are ensemble AI solutions that have a number of “moving parts”. (Figure 1)

  1. A Content-Based algorithm uses the attributes of an item, such as its metadata, tags, or text, to make recommendations similar to items a user has previously interacted with.
  2. A Collaborative Filtering method uses the interests and behaviors of other users with similar tastes to make recommendations.
  3. A Knowledge-Based method uses the attributes of an item and correlates them with a user’s preferences to make recommendations based on similarities.
  4. A Persona-Based method uses the attributes of an individual’s person, based on their role-and-responsibility, to make recommendations.
  5. A Context-Aware method uses feeds from media and social media to identify hot topics and make recommendations.
  6. A Where-you-left-off method tracks each users consumption and retrieve the last N analytics used.
  7. A Personalized Ranker lets users specific the types of contents and analytics they are interested in .
  8. A Search-Based method lets the user enter an English language question, which is used to identify recommendations based on vector similarities to available content.
  9. A Page Generation engine renders the UI based on the recommendation from the Content Ranker.
  10. A Contextual Bandit is an ML algorithm for reinforcement learning of user preferences for content.
  11. An Image Scraper uses an intelligent worker (like Ampliforce) to retrieve analytic workloads and capture images for use as thumbnails in the genre rows.
  12. An Content Ranker determines the ideal sequence of content by selecting and ranking rows (genres) of content, and well as the sequence of images in the rows.

Many streaming platforms use a combination of these capabilities. For example, knowledge-based systems work well for new users who do not have any history on the platform, while other systems may work better for other users.

There are a variety of ways to implement these capabilities. One of the most popular techniques is known as Graph Neural Networks. And guess what, you’re already familiar with them. Let’s take a closer look.

Data come in all sizes and shapes. Any data practitioner will tell you that the shape of the data is far more important than the size. And by shape I’m not just talking about the statistical elements of the data. I am talking about the way the data models the real world.

“Form follows function”

Louis H. Sullivan in his 1896 essay "The Tall Office Building Artistically Considered."

That is the essence of data. Data are a model of the real world. The model people are most familiar with is tables, courtesy of Excel spreadsheets. In many cases, storing data in a tabular format makes perfect sense. However, many data sets are not suited to the strictly enforced structure of a table. Some data sets have other requirements. Let’s consider a practical example ― an airlines transportation network. (Figure 2.)

Figure 2 - United Airlines Domestic Route Map

Figure 2 – United Airlines Domestic Route Map¹

As you can see, transportation network data are a poor fit for tables. So are data on social networking, recommendation engines, supply chains, commuting patterns, molecular structures. These data types lend themselves to graph databases.

Graph databases use the following key terms:

  • Nodes – are the items in your world view…things, people, places.
  • Connections – are properly called edges. They are the relationships between the nodes. Another term for the relationships between nodes is connections, and they typically reflect actions or movement between the nodes.
  • Properties – are the characteristics of specific nodes or edges.
  • Labels are tags for handy reference to a node or group of nodes.

Graph node diagrams show the strength of relationships between different items. This makes it easier to search for connections and patterns in the data, compared to tabular and other traditional databases. When the specific implementation – known as a Graph Neural Network or GNN – incorporates neural networking the relationship strength is mathematically modelled as a probability (or risk). In our transportation example, it’s easy to calculate the probability of an available seat on a flight between two cities, or inversely the risk of not having an seat available.

In the vigorous competition of the free market, online platforms have leveraged GNNs for routine innovation in customer service. Government can do the same. GNNs are a best practice we can use to design, build, and manage Government service delivery for key life experiences that cut across Federal agencies”. GNNs are also great for applications like:

  • identifying the anomalies associated with insider threats, fraud, security breaches
  • modeling supply chain resilience and anti-fragility
  • planning physical infrastructure maintenance
  • monitoring regulatory compliance

Anyone up for a GNN?