{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/kdstm-neural-semi-supervised-topic-modeling","title":"KDSTM: Neural Semi-supervised Topic Modeling with Knowledge Distillation","arxiv_id":"2307.01878","date":"2023-07-04","proceeding":null,"authors":["Weijie Xu","Xiaoyu Jiang","Jay Desai","Bin Han","Fuqin Yan","Francis Iannacci"],"abstract":"In text classification tasks, fine tuning pretrained language models like BERT and GPT-3 yields competitive accuracy; however, both methods require pretraining on large text datasets. In contrast, general topic modeling methods possess the advantage of analyzing documents to extract meaningful patterns of words without the need of pretraining. To leverage topic modeling's unsupervised insights extraction on text classification tasks, we develop the Knowledge Distillation Semi-supervised Topic Modeling (KDSTM). KDSTM requires no pretrained embeddings, few labeled documents and is efficient to train, making it ideal under resource constrained settings. Across a variety of datasets, our method outperforms existing supervised topic modeling methods in classification accuracy, robustness and efficiency and achieves similar performance compare to state of the art weakly supervised text classification methods.","url_abs":"https://arxiv.org/abs/2307.01878v2","url_pdf":"https://arxiv.org/pdf/2307.01878v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[],"tasks":[{"task_slug":"classification-1","task_name":"Classification"},{"task_slug":"knowledge-distillation","task_name":"Knowledge Distillation"},{"task_slug":"text-classification","task_name":"Text Classification"},{"task_slug":"text-classification-1","task_name":"text-classification"}],"methods":[{"method_slug":"adam","method_name":"Adam"},{"method_slug":"attention","method_name":"Attention"},{"method_slug":"attention-dropout","method_name":"Attention Dropout"},{"method_slug":"bert","method_name":"BERT"},{"method_slug":"bpe","method_name":"BPE"},{"method_slug":"cosine-annealing","method_name":"Cosine Annealing"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"dropout","method_name":"Dropout"},{"method_slug":"gpt-3","method_name":"GPT-3"},{"method_slug":"knowledge-distillation","method_name":"Knowledge Distillation"},{"method_slug":"layer-normalization","method_name":"Layer Normalization"},{"method_slug":"linear-layer","method_name":"Linear Layer"},{"method_slug":"linear-warmup-with-cosine-annealing","method_name":"Linear Warmup With Cosine Annealing"},{"method_slug":"linear-warmup-with-linear-decay","method_name":"Linear Warmup With Linear Decay"},{"method_slug":"multi-head-attention","method_name":"Multi-Head Attention"},{"method_slug":"residual-connection","method_name":"Residual Connection"},{"method_slug":"softmax","method_name":"Softmax"},{"method_slug":"weight-decay","method_name":"Weight Decay"},{"method_slug":"wordpiece","method_name":"WordPiece"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2307.01878","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2307.01878"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"deterministic:regex_extraction","url":"https://github.com/yumeng5/WeSTClass","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"deterministic:regex_extraction","url":"https://github.com/JoeZJH/Labeled-LDA-Python","reach":null},{"provenance":"deterministic:regex_extraction","url":"https://github.com/WANGXinyiLinda/Neural-Topic-Model-with-Attention-for-Supervised-Learning","reach":{"status":"ok"}}],"summary":{"ran":1,"unverified":7},"by_repo_kind":{"found_in_text":{"samples":8,"ran":1,"repositories":2}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"89637f53f16ac549","entry":"NpEncoder","repo":"JoeZJH/Labeled-LDA-Python","repo_kind":"found_in_text","path":"model/labeled_lda.py","file_url":"https://github.com/JoeZJH/Labeled-LDA-Python/blob/HEAD/model/labeled_lda.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"89637f53f16ac549"}},{"code_sha256_prefix":"f7ee076ad2cb57e4","entry":"LldaModel","repo":"JoeZJH/Labeled-LDA-Python","repo_kind":"found_in_text","path":"model/labeled_lda.py","file_url":"https://github.com/JoeZJH/Labeled-LDA-Python/blob/HEAD/model/labeled_lda.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f7ee076ad2cb57e4"}},{"code_sha256_prefix":"aff9156b5262f81c","entry":"clean_str","repo":"yumeng5/WeSTClass","repo_kind":"found_in_text","path":"load_data.py","file_url":"https://github.com/yumeng5/WeSTClass/blob/HEAD/load_data.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"aff9156b5262f81c"}},{"code_sha256_prefix":"748cc128f5cb04c4","entry":"dot_product","repo":"yumeng5/WeSTClass","repo_kind":"found_in_text","path":"model.py","file_url":"https://github.com/yumeng5/WeSTClass/blob/HEAD/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"748cc128f5cb04c4"}},{"code_sha256_prefix":"02b9090cc2f7dd5e","entry":"f1","repo":"yumeng5/WeSTClass","repo_kind":"found_in_text","path":"model.py","file_url":"https://github.com/yumeng5/WeSTClass/blob/HEAD/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"02b9090cc2f7dd5e"}},{"code_sha256_prefix":"390f3d16f6c22e3d","entry":"preprocess_doc","repo":"yumeng5/WeSTClass","repo_kind":"found_in_text","path":"load_data.py","file_url":"https://github.com/yumeng5/WeSTClass/blob/HEAD/load_data.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"390f3d16f6c22e3d"}},{"code_sha256_prefix":"d38d5642834c1922","entry":"read_file","repo":"yumeng5/WeSTClass","repo_kind":"found_in_text","path":"load_data.py","file_url":"https://github.com/yumeng5/WeSTClass/blob/HEAD/load_data.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"d38d5642834c1922"}},{"code_sha256_prefix":"a93dc96d10365f5e","entry":"seed_expansion","repo":"yumeng5/WeSTClass","repo_kind":"found_in_text","path":"gen.py","file_url":"https://github.com/yumeng5/WeSTClass/blob/HEAD/gen.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"a93dc96d10365f5e"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}