{"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/trove-ontology-driven-weak-supervision-for","title":"Ontology-driven weak supervision for clinical entity classification in electronic health records","arxiv_id":"2008.01972","date":"2020-08-05","proceeding":null,"authors":["Jason A. Fries","Ethan Steinberg","Saelig Khattar","Scott L. Fleming","Jose Posada","Alison Callahan","Nigam H. Shah"],"abstract":"In the electronic health record, using clinical notes to identify entities such as disorders and their temporality (e.g. the order of an event relative to a time index) can inform many important analyses. However, creating training data for clinical entity tasks is time consuming and sharing labeled data is challenging due to privacy concerns. The information needs of the COVID-19 pandemic highlight the need for agile methods of training machine learning models for clinical notes. We present Trove, a framework for weakly supervised entity classification using medical ontologies and expert-generated rules. Our approach, unlike hand-labeled notes, is easy to share and modify, while offering performance comparable to learning from manually labeled training data. In this work, we validate our framework on six benchmark tasks and demonstrate Trove's ability to analyze the records of patients visiting the emergency department at Stanford Health Care for COVID-19 presenting symptoms and risk factors.","url_abs":"https://arxiv.org/abs/2008.01972v2","url_pdf":"https://arxiv.org/pdf/2008.01972v2.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":[{"paper_slug":"trove-ontology-driven-weak-supervision-for","repo_url":"https://github.com/som-shahlab/trove","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"classification","task_name":"General Classification"},{"task_slug":"named-entity-recognition-ner","task_name":"Named Entity Recognition (NER)"},{"task_slug":"temporal-information-extraction","task_name":"Temporal Information Extraction"},{"task_slug":"weakly-supervised-classification","task_name":"Weakly Supervised Classification"},{"task_slug":"weakly-supervised-named-entity-recognition","task_name":"Weakly-Supervised Named Entity Recognition"}],"methods":[{"method_slug":"adam","method_name":"Adam"},{"method_slug":"attention","method_name":"Attention"},{"method_slug":"bert","method_name":"BERT"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"dropout","method_name":"Dropout"},{"method_slug":"layer-normalization","method_name":"Layer Normalization"},{"method_slug":"linear-layer","method_name":"Linear Layer"},{"method_slug":"linear-warmup","method_name":"Linear Warmup"},{"method_slug":"multi-head-attention","method_name":"Multi-Head Attention"},{"method_slug":"softmax","method_name":"Softmax"},{"method_slug":"wordpiece","method_name":"WordPiece"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/weakly-supervised-classification-on-share","task":"Weakly Supervised Classification","dataset":"ShARe/CLEF 2014: Task 2 Disorders","model":"Trove","rank_in_archive_order":1,"of":1,"metrics":{"F1":"92.7"},"uses_additional_data":false},{"leaderboard":"/sota/weakly-supervised-classification-on-thyme","task":"Weakly Supervised Classification","dataset":"THYME-2016","model":"Trove","rank_in_archive_order":1,"of":1,"metrics":{"F1":"72.9"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2008.01972","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2008.01972"}},"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":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/som-shahlab/trove","reach":null}],"summary":{"ran_draft_wrong":2},"by_repo_kind":{"official":{"samples":2,"ran":2,"repositories":1}},"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":"e52b3b8ca1b4fc81","entry":"bert_tokenizer","repo":"som-shahlab/trove","repo_kind":"official","path":"applications/bc5cdr/chemicals.py","file_url":"https://github.com/som-shahlab/trove/blob/HEAD/applications/bc5cdr/chemicals.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"e52b3b8ca1b4fc81"}},{"code_sha256_prefix":"bf5b4e7ca8dec23c","entry":"build_word_graph","repo":"som-shahlab/trove","repo_kind":"official","path":"applications/bc5cdr/chemicals.py","file_url":"https://github.com/som-shahlab/trove/blob/HEAD/applications/bc5cdr/chemicals.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"bf5b4e7ca8dec23c"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}