<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/thinking-of-topic-modeling-as-search---kas-stohr-ltblpvk8i" -->

---
title: Thinking of Topic Modeling as Search - Kas Stohr | daily.dev
description: Typically, when considering using a topic model in production, you encounter two hurdles: First, topics change continually, and document tags become stale as...
canonical: https://daily.dev/posts/thinking-of-topic-modeling-as-search---kas-stohr-ltblpvk8i
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Thinking of Topic Modeling as Search - Kas Stohr | daily.dev
og:description: Typically, when considering using a topic model in production, you encounter two hurdles: First, topics change continually, and document tags become stale as...
og:url: https://daily.dev/posts/thinking-of-topic-modeling-as-search---kas-stohr-ltblpvk8i
og:image: https://api.daily.dev/og/posts/LTbLpVk8i.png
og:image:alt: Thinking of Topic Modeling as Search - Kas Stohr
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Thinking of Topic Modeling as Search - Kas Stohr

**[PyCon US](https://daily.dev/sources/pyconus)** · 28 min read · 0 upvotes · 0 comments

## Summary

Typically, when considering using a topic model in production, you encounter two hurdles: First, topics change continually, and document tags become stale as soon as they are created. Second, while unsupervised topic models do a good job of clustering topics, creating robust, human-interpretable labels is challenging. Framing topic modeling as a search problem, helps overcome these challenges and makes it easier to use supervised or unsupervised topic models in real-time applications.

Python packages and extensions to commonly used databases that now support dense vectors, have made this approach viable —and relatively easy to implement— in most production environments.

In this talk, attendees will learn how to repurpose embeddings generated by a topic model as dense vectors that can be used in search to find current documents similar to the topic.

Key concepts
- Embeddings - quick introduction (or refresher, for those familiar)
- How to convert sentence embeddings into document embeddings and ultimately topic embeddings.
- How to generate topic embeddings (using LLMs, supervised models or unsupervised models)
- How to store topic embeddings on popular databases to enable search
- How to retrieve current documents related to a topic using search queries and cosine similarity — without tagging documents.

Benefits of this approach
- Simplify and improve performance for storing and retrieving documents related to a topic
- Capture fast-moving, evolving conversations
- Allow user-generated topics (personalization)
- Anticipate topics that don’t yet exist
- No need to maintain document "tags"

Audience
- Intermediate Python developers interested in NLP and search technologies
- Practitioners building search, recommendation, or semantic discovery systems
- Anyone curious about combining classic topic modeling with modern vector search architectures

No prior experience with vector search is required. Familiarity with Python and basic NLP concepts is helpful.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.youtube.com/watch?v=jtva4oiJ-lk>

## Similar posts on daily.dev

- [Don’t just attend KubeCon \+ CloudNativeCon, Merge Forward your experience\!](https://daily.dev/posts/don-t-just-attend-kubecon-cloudnativecon-merge-forward-your-experience--l0rpp73x8) · CNCF · 1 upvotes · 0 comments
- [Announcing H2 2026 KCDs](https://daily.dev/posts/announcing-h2-2026-kcds-m96goajm1) · CNCF · 1 upvotes · 0 comments
- [Two months of Open Community Groups](https://daily.dev/posts/two-months-of-open-community-groups-asf52zhbs) · CNCF · 0 upvotes · 0 comments
- [CNCF Unveils Schedule for KubeCon \+ CloudNativeCon Europe 2026](https://daily.dev/posts/cncf-unveils-schedule-for-kubecon-cloudnativecon-europe-2026-ikhcoa5cb) · CNCF · 2 upvotes · 0 comments
- [CNCF Debuts KubeCon \+ CloudNativeCon Japan 2026 Schedule](https://daily.dev/posts/cncf-debuts-kubecon-cloudnativecon-japan-2026-schedule-xp5pyudub) · CNCF · 1 upvotes · 0 comments

---

[View this post on daily.dev](https://daily.dev/posts/thinking-of-topic-modeling-as-search---kas-stohr-ltblpvk8i)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Thinking of Topic Modeling as Search - Kas Stohr","url":"https://daily.dev/posts/thinking-of-topic-modeling-as-search---kas-stohr-ltblpvk8i","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/thinking-of-topic-modeling-as-search---kas-stohr-ltblpvk8i"},"datePublished":"2026-07-02T18:29:14.750Z","dateModified":"2026-07-02T20:16:59.013Z","description":"Typically, when considering using a topic model in production, you encounter two hurdles: First, topics change continually, and document tags become stale as...","image":"https://i.ytimg.com/vi/jtva4oiJ-lk/sddefault.jpg","thumbnailUrl":"https://i.ytimg.com/vi/jtva4oiJ-lk/sddefault.jpg","isAccessibleForFree":true,"articleSection":"PyCon US","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"PyCon US","logo":"https://media.daily.dev/image/upload/s--DLedNxG1--/f_auto,q_auto/v1777800767/logos/pyconus?_a=BAMAMiWQ0","url":"https://daily.dev/sources/pyconus"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/thinking-of-topic-modeling-as-search---kas-stohr-ltblpvk8i","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"","timeRequired":"PT28M","video":{"@type":"VideoObject","name":"Thinking of Topic Modeling as Search - Kas Stohr","description":"Typically, when considering using a topic model in production, you encounter two hurdles: First, topics change continually, and document tags become stale as...","thumbnailUrl":"https://i.ytimg.com/vi/jtva4oiJ-lk/sddefault.jpg","uploadDate":"2026-07-02T18:29:14.750Z","duration":"PT28M","url":"https://api.daily.dev/r/LTbLpVk8i","embedUrl":"https://www.youtube.com/embed/jtva4oiJ-lk"}}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"PyCon US","item":"https://daily.dev/sources/pyconus"},{"@type":"ListItem","position":3,"name":"Thinking of Topic Modeling as Search - Kas Stohr"}]}
```

