{"adoption": {"forks": 155, "observed_at": "2026-08-28T04:04:11.731607+00:00", "stars": 1269}, "canonical_url": "https://ross.abutalabs.com/products/contextualized-topic-models", "card": {"archived": false, "artifact_type": "library", "description": "A python package to run contextualized topic modeling. CTMs combine contextualized embeddings (e.g., BERT) with topic models to get coherent topics. Published at EACL and ACL 2021 (Bianchi et al.). ", "domain": ["machine-learning", "data-science"], "enriched": true, "function": ["nlp", "machine-learning", "search-engine"], "health_score": 40, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["MilaNLProc/contextualized-topic-models"], "name": "MilaNLProc/contextualized-topic-models", "platform": ["python"], "pushed_at": "2025-07-24T02:03:31+00:00", "repo": "MilaNLProc/contextualized-topic-models", "stars": 1269, "tags": ["topic-modeling", "bert", "embeddings", "neural-topic-models", "multilingual", "zero-shot", "text-analysis", "natural-language-processing"], "topics": ["topic-modeling", "bert", "transformer", "embeddings", "text-as-data", "topic-coherence", "multilingual-topic-models", "multilingual-models", "neural-topic-models", "nlp", "nlp-library", "nlp-machine-learning"], "urls": [], "use_cases": ["discover topics in a large document corpus", "run multilingual topic modeling without translating text", "improve topic coherence over LDA with BERT embeddings", "do zero-shot topic modeling on unseen languages", "analyze survey responses or news articles by theme", "cluster documents into interpretable topics"], "what_it_is": "A Python library implementing Contextualized Topic Models (CTM), which combine pre-trained contextual embeddings like BERT with neural topic models to produce more coherent topics. It offers CombinedTM (embeddings plus bag-of-words) and ZeroShotTM (works with missing words and supports multilingual, zero-shot topic modeling).", "when_to_avoid": ["you need simple keyword extraction rather than full topic models", "you lack a GPU or patience for training neural models", "you need production-scale low-latency inference", "you want a fully classical statistical topic model like LDA"], "when_to_choose": ["you need coherent, interpretable topics from text documents", "you want to leverage transformer embeddings for topic modeling", "you need multilingual or zero-shot topic modeling", "you want a pip-installable, research-backed topic modeling library"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/contextualized-topic-models", "repo": "MilaNLProc/contextualized-topic-models", "role": "main", "score": 47}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.731607+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T05:03:30.307631+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3d5022dcb298ea14b5e4f1502911c7316e213b4d7848054987ffd062d03b5876", "fetched_at": "2026-08-28T04:04:11.731607+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MilaNLProc/contextualized-topic-models"}, {"content_hash": "f07fb2f8c14dbae7084a4be9bf73187c81fa8808ff9f97a2976b3c48d993422f", "fetched_at": "2026-08-29T12:15:06.965106+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/contextualized-topic-models/json"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.731607+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T05:03:30.307631+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3d5022dcb298ea14b5e4f1502911c7316e213b4d7848054987ffd062d03b5876", "fetched_at": "2026-08-28T04:04:11.731607+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MilaNLProc/contextualized-topic-models"}, {"content_hash": "f07fb2f8c14dbae7084a4be9bf73187c81fa8808ff9f97a2976b3c48d993422f", "fetched_at": "2026-08-29T12:15:06.965106+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/contextualized-topic-models/json"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T05:03:30.307631+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3d5022dcb298ea14b5e4f1502911c7316e213b4d7848054987ffd062d03b5876", "fetched_at": "2026-08-28T04:04:11.731607+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MilaNLProc/contextualized-topic-models"}, {"content_hash": "f07fb2f8c14dbae7084a4be9bf73187c81fa8808ff9f97a2976b3c48d993422f", "fetched_at": "2026-08-29T12:15:06.965106+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/contextualized-topic-models/json"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.731607+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.731607+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.731607+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T05:03:30.307631+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3d5022dcb298ea14b5e4f1502911c7316e213b4d7848054987ffd062d03b5876", "fetched_at": "2026-08-28T04:04:11.731607+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MilaNLProc/contextualized-topic-models"}, {"content_hash": "f07fb2f8c14dbae7084a4be9bf73187c81fa8808ff9f97a2976b3c48d993422f", "fetched_at": "2026-08-29T12:15:06.965106+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/contextualized-topic-models/json"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.731607+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.731607+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T05:03:30.307631+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3d5022dcb298ea14b5e4f1502911c7316e213b4d7848054987ffd062d03b5876", "fetched_at": "2026-08-28T04:04:11.731607+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MilaNLProc/contextualized-topic-models"}, {"content_hash": "f07fb2f8c14dbae7084a4be9bf73187c81fa8808ff9f97a2976b3c48d993422f", "fetched_at": "2026-08-29T12:15:06.965106+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/contextualized-topic-models/json"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.731607+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.731607+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.731607+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T05:03:30.307631+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3d5022dcb298ea14b5e4f1502911c7316e213b4d7848054987ffd062d03b5876", "fetched_at": "2026-08-28T04:04:11.731607+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MilaNLProc/contextualized-topic-models"}, {"content_hash": "f07fb2f8c14dbae7084a4be9bf73187c81fa8808ff9f97a2976b3c48d993422f", "fetched_at": "2026-08-29T12:15:06.965106+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/contextualized-topic-models/json"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.731607+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.731607+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T05:03:30.307631+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3d5022dcb298ea14b5e4f1502911c7316e213b4d7848054987ffd062d03b5876", "fetched_at": "2026-08-28T04:04:11.731607+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MilaNLProc/contextualized-topic-models"}, {"content_hash": "f07fb2f8c14dbae7084a4be9bf73187c81fa8808ff9f97a2976b3c48d993422f", "fetched_at": "2026-08-29T12:15:06.965106+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/contextualized-topic-models/json"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T05:03:30.307631+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3d5022dcb298ea14b5e4f1502911c7316e213b4d7848054987ffd062d03b5876", "fetched_at": "2026-08-28T04:04:11.731607+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MilaNLProc/contextualized-topic-models"}, {"content_hash": "f07fb2f8c14dbae7084a4be9bf73187c81fa8808ff9f97a2976b3c48d993422f", "fetched_at": "2026-08-29T12:15:06.965106+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/contextualized-topic-models/json"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T05:03:30.307631+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3d5022dcb298ea14b5e4f1502911c7316e213b4d7848054987ffd062d03b5876", "fetched_at": "2026-08-28T04:04:11.731607+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MilaNLProc/contextualized-topic-models"}, {"content_hash": "f07fb2f8c14dbae7084a4be9bf73187c81fa8808ff9f97a2976b3c48d993422f", "fetched_at": "2026-08-29T12:15:06.965106+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/contextualized-topic-models/json"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T05:03:30.307631+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3d5022dcb298ea14b5e4f1502911c7316e213b4d7848054987ffd062d03b5876", "fetched_at": "2026-08-28T04:04:11.731607+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MilaNLProc/contextualized-topic-models"}, {"content_hash": "f07fb2f8c14dbae7084a4be9bf73187c81fa8808ff9f97a2976b3c48d993422f", "fetched_at": "2026-08-29T12:15:06.965106+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/contextualized-topic-models/json"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 33, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2342, "days_push": 406, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 47, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}