“Quality: Unlike a metadata like price or like count, you can't really quantify quality from the item itself.”
Reply “Quality is also subjective and can potentially be influenced by trendiness.”
QualityCP4285 Modern Recommendation Systems — Week 02
soc-n.us/cp4285-t2610-w02
18 Aug 2026
Pre-flight survey · 26 submissions — cohort signals
Source: Canvas pre-flight survey. Programme selections were multi-select; learning-expectation themes were coded from 24 substantive answers.
Open responses · representative anonymous phrases — larger phrases indicate central themes, not frequency
Source: Canvas pre-flight survey, anonymous open responses. Phrases are abbreviated from representative excerpts for slide readability.
Canvas discussion board · post before Mon, 23:59 SGT
Post a short, concrete response to this question; then reply constructively to one classmate.
Next week: turn this intuition into latent-factor representations of the user-item matrix.
“Quality: Unlike a metadata like price or like count, you can't really quantify quality from the item itself.”
Reply “Quality is also subjective and can potentially be influenced by trendiness.”
Quality“Nostalgia. It's a property of the relationship between a user and an item which is driven by the user's personal history …”
Reply “Could it be modelled by grouping users into distinct age groups?”
Nostalgia“Trust: It is not an item metadata label because it is an underlying, subjective perception that is not directly observable.”
Reply “The degree of trust cannot be readily quantified and it may vary widely …”
Trust“One latent dimension is how emotionally provocative an item is? Some items naturally stimulate our excitement, motivation or pleasure …”
Reply “Psychological emotions are subjective … and it is tough to quantify.”
EmotionTo think about
Does a learned representation make a missing interaction more trustworthy—or only make a prediction possible?
\[ R \approx P Q^\top \]
A small number of learned coordinates can capture recurring interaction patterns more compactly than the full sparse matrix.
| Tempting shortcut | Better statement |
|---|---|
| “Dimension 3 is this user’s identity.” | Dimension 3 is a learned coordinate associated with interaction patterns. |
| “The factor is a hidden genre tag.” | A factor may correlate with metadata, but it is inferred rather than recorded. |
| “The factor explains the person.” | The factor helps the model score candidates under particular data and objectives. |
\[ \hat r_{ui} = p_u^\top q_i \]
\[p_u=[p_{u1},p_{u2},\ldots,p_{uk}]\]
Captures a learned location in the model’s coordinate system.
\[q_i=[q_{i1},q_{i2},\ldots,q_{ik}]\]
Captures how the item aligns with those learned patterns.
The dot product is high when the vectors align along dimensions the model has learned to reward.
\[ p_u=[0.8,0.2], \qquad q_A=[0.9,0.1], \qquad q_B=[0.4,0.8] \]
\[ \hat r_{uA}=0.8(0.9)+0.2(0.1)=\mathbf{0.74} \]
\[ \hat r_{uB}=0.8(0.4)+0.2(0.8)=\mathbf{0.48} \]
Current model verdict: Item A is higher scoring.
Still unresolved: diversity, constraints, exposure, uncertainty, and the rest of the candidate list.
\[ \begin{aligned} \min_{P,Q}\; \mathcal{L} &= \sum_{(u,i)\in\Omega}(r_{ui}-p_u^\top q_i)^2 \\ &\quad + \lambda\left(\lVert P\rVert_F^2+\lVert Q\rVert_F^2\right) \end{aligned} \]
# test.yaml
USER_ID_FIELD: user_id
ITEM_ID_FIELD: item_id
load_col:
inter: [user_id, item_id]
embedding_size: 64
epochs: 500
metrics: ['Recall', 'MRR', 'NDCG']
topk: 10
# run.py
from recbole.quick_start import run_recbole
run_recbole(model='BPR', dataset='ml-100k',
config_file_list=['test.yaml'])
embedding_size selects the dimension of both learned vectors.| Output artefact | What it can support | What it cannot establish alone |
|---|---|---|
| Training loss | Whether the stated loss changes during optimisation. | Real-world user value or fairness. |
| Recall@10 / NDCG@10 | A ranking comparison under the declared held-out protocol. | A production outcome without further evaluation. |
| Top-k candidates | A concrete prompt for inspection and error analysis. | A causal explanation of a user’s preference. |
| Learned embeddings | A representation used by the model. | A human identity or a verified metadata field. |
How close is (r_{ui}) to an observed rating or score?
An explicit rating, a known score, or another numeric target.
A prediction objective is useful when a numeric estimate itself drives a decision. Error measures such as RMSE summarise how close estimates are to observed values.
Do useful items appear above less useful alternatives in the visible list?
Implicit interactions, held-out positives, and candidate ordering.
Ranking measures, such as NDCG@10, reward useful items placed nearer the top of a displayed list.
A home screen must order ten candidate items for immediate display. Which measure most directly tests whether useful items appear near the top?
Answer: B. NDCG@10 is position-sensitive; it tests the ordering of useful candidates in the displayed top-k.
Work in pairs. Choose one case. Write a single line: task → objective → metric → one assumption.
To think about
How could a system preserve continuity without treating last year’s interaction history as a permanent identity?
| Layer | What it contains | Appropriate use |
|---|---|---|
| Observed metadata | Creator, category, format, duration, or an explicit constraint. | Interpretability, filtering, feature-based comparison. |
| Latent embedding | Inferred coordinates from interaction patterns. | Candidate scoring and learned associations. |
| Case design | A deliberate combination of both. | Preserve meaningful continuity while monitoring drift and blind spots. |
Guardrail: latent metadata is a teaching bridge for the case—not a claim that an embedding coordinate is a recorded field.
Possible checks: top-k relevance, feature coverage, long-tail exposure, repeat engagement, and who is not receiving discovery.
Live prompt for the voice agent
A recommender’s interaction logs are dominated by popular titles. Independent and long-tail items had far less initial exposure, so they have fewer observed interactions. The system adds feature-based novelty for some users. Explain why low interaction may not mean low preference; identify one risk if exposure history is treated as preference; and propose one measurement that could test whether the novelty mechanism broadens meaningful discovery rather than merely lowering relevance.
Listen for: assumptions about exposure, missing stakeholders, and a measurable distinction between opportunity and preference.
Small groups. Audit the voice-agent response instead of accepting its fluency.
| Historical process | Model consequence | Design question |
|---|---|---|
| Uneven exposure | Sparse or distorted interaction evidence | Who had a genuine chance to interact? |
| Popularity reinforcement | Well-exposed items gain stronger learned signals | Who receives repeated visibility? |
| Feature-based novelty | A re-ranking decision changes what becomes observable next | Who receives credible discovery—and who does not? |
🤞 Use history as evidence with limits, not as a neutral record of preference.
A production recommender is a chain of technical and product decisions—not just a latent-factor score.
For one approved recommendation surface, make a focused argument around a choice such as:
| Choice | Example question |
|---|---|
| Representation | Why use an embedding-based model rather than only local neighbourhood evidence? |
| Objective | Why should the surface optimise top-k order rather than numeric prediction? |
| Continuity | How should observed metadata and learned preferences support a Spades-oriented need? |
| Novelty | Which feature-based difference should create Diamonds-style discovery, and how will it be evaluated? |
| Risk | How could historical exposure bias distort the evidence used by the model? |
🔑 A better score is not automatically a better recommendation.
<p>Suppose two ranked lists have similar rating-prediction error, but one concentrates attention on already popular items while the other broadens credible discovery.</p>
<p style="margin-top:.7em;font-weight:bold;color:#003D7C;">Post one metric or diagnostic you would use, explain what it reveals, and reply constructively to one classmate.</p>
| Week 01: neighbourhood CF | Week 02: latent-factor models |
|---|---|
| Uses observed local overlap | Learns global user/item representations |
| Similarity is specified directly | Representation is learned from interaction patterns |
| Thin overlap can make neighbours unreliable | Distributed patterns can support a score—but not create ground truth |
| Main question: who counts as a neighbour? | Main questions: what is optimised, who receives continuity or novelty, and how did history shape the evidence? |
Next week: evaluate ranked lists with realistic offline protocols, position-sensitive metrics, and careful assumptions.
CP4285 · Week 02 · NUS School of Computing