{"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/arxiv-2607-01785","title":"EHHN: An Event-driven Heterogeneous Hypergraph Network for Object-Centric Next Activity Prediction","arxiv_id":"2607.01785","date":"2026-07-02","proceeding":null,"authors":["Jiaxing Wang","Kaitao Chen","Zhubin Han","Chenyu Hou","Bin Cao","Jing Fan","Ji Zhang"],"abstract":"Next activity prediction helps service-oriented processes anticipate upcoming steps before delays, exceptions, or service-level risks occur. Most existing methods assume classical single-case event logs, whereas real service processes often involve events shared by multiple typed business objects. Object-centric event logs (OCELs) capture such interactions, but current predictors remain limited. Flattening-based approaches lose cross-object context, and native OCEL graph-based approaches encode multi-object events through pairwise relations. Existing models also do not jointly capture event-driven object state changes, inter-event timing, and global execution patterns. We propose EHHN, an Event-driven Heterogeneous Hypergraph Network for object-centric next activity prediction. EHHN represents each prediction prefix as a heterogeneous hypergraph, where event--object hyperedges bind retained co-participating objects and a lifecycle hyperedge groups the primary object's observed lifecycle events. Based on this representation, EHHN uses a dual-stream architecture in which a micro-spatial stream models event-driven object-state evolution and a macro-evolution stream captures temporal dynamics using retrieved global prototypes. The two streams are fused to predict the next activity. Experiments on four public OCEL benchmarks against nine baselines show that EHHN achieves the best accuracy and macro F1-score on all datasets, with improvements of up to 8.1 and 12.4 percentage points over the strongest baselines. Compared with the strongest OCEL-native graph baseline, EHHN also reduces peak GPU memory by up to 24 times. Code is available at https://github.com/chenkaitao1112/EHHN.","url_abs":"https://arxiv.org/abs/2607.01785","url_pdf":"https://arxiv.org/pdf/2607.01785","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2607.01785","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2607.01785"}},"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":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/chenkaitao1112/EHHN","reach":null}],"summary":{"ran":20,"unverified":2},"by_repo_kind":{"found_in_text":{"samples":22,"ran":20,"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":22,"samples":[{"code_sha256_prefix":"c2d61b528e8403f0","entry":"add_event_duration_feature","repo":"chenkaitao1112/EHHN","repo_kind":"found_in_text","path":"newTry/pipline_inter.py","file_url":"https://github.com/chenkaitao1112/EHHN/blob/HEAD/newTry/pipline_inter.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c2d61b528e8403f0"}},{"code_sha256_prefix":"bb52806e579085f3","entry":"build_activity2idx","repo":"chenkaitao1112/EHHN","repo_kind":"found_in_text","path":"newTry/pipline_2017.py","file_url":"https://github.com/chenkaitao1112/EHHN/blob/HEAD/newTry/pipline_2017.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"bb52806e579085f3"}},{"code_sha256_prefix":"6a69104f7f49d620","entry":"build_event_object_dict","repo":"chenkaitao1112/EHHN","repo_kind":"found_in_text","path":"newTry/construct_PE.py","file_url":"https://github.com/chenkaitao1112/EHHN/blob/HEAD/newTry/construct_PE.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6a69104f7f49d620"}},{"code_sha256_prefix":"e0652353bfc2a676","entry":"build_relation_mappings","repo":"chenkaitao1112/EHHN","repo_kind":"found_in_text","path":"newTry/construct_PE.py","file_url":"https://github.com/chenkaitao1112/EHHN/blob/HEAD/newTry/construct_PE.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e0652353bfc2a676"}},{"code_sha256_prefix":"aa7d0920b87c795d","entry":"encode_object_table","repo":"chenkaitao1112/EHHN","repo_kind":"found_in_text","path":"newTry/preprocess.py","file_url":"https://github.com/chenkaitao1112/EHHN/blob/HEAD/newTry/preprocess.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"aa7d0920b87c795d"}},{"code_sha256_prefix":"7c5128aeeccd85ff","entry":"extract_and_pad_lifecycle","repo":"chenkaitao1112/EHHN","repo_kind":"found_in_text","path":"newTry/Trainer.py","file_url":"https://github.com/chenkaitao1112/EHHN/blob/HEAD/newTry/Trainer.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7c5128aeeccd85ff"}},{"code_sha256_prefix":"dd26ce7c3b051f63","entry":"extract_last_3_events_mean","repo":"chenkaitao1112/EHHN","repo_kind":"found_in_text","path":"newTry/model.py","file_url":"https://github.com/chenkaitao1112/EHHN/blob/HEAD/newTry/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"dd26ce7c3b051f63"}},{"code_sha256_prefix":"a4e2fbeb771bae04","entry":"extract_rows_by_tensor","repo":"chenkaitao1112/EHHN","repo_kind":"found_in_text","path":"newTry/encoder.py","file_url":"https://github.com/chenkaitao1112/EHHN/blob/HEAD/newTry/encoder.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a4e2fbeb771bae04"}},{"code_sha256_prefix":"23b1449f40ba0eda","entry":"get_merged_omap_list","repo":"chenkaitao1112/EHHN","repo_kind":"found_in_text","path":"newTry/ana.py","file_url":"https://github.com/chenkaitao1112/EHHN/blob/HEAD/newTry/ana.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"23b1449f40ba0eda"}},{"code_sha256_prefix":"a2072d08f0d995b5","entry":"get_merged_omap_list_with_activity","repo":"chenkaitao1112/EHHN","repo_kind":"found_in_text","path":"newTry/ana.py","file_url":"https://github.com/chenkaitao1112/EHHN/blob/HEAD/newTry/ana.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a2072d08f0d995b5"}},{"code_sha256_prefix":"76d78246c4b5e1c4","entry":"get_object_types","repo":"chenkaitao1112/EHHN","repo_kind":"found_in_text","path":"newTry/ana.py","file_url":"https://github.com/chenkaitao1112/EHHN/blob/HEAD/newTry/ana.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"76d78246c4b5e1c4"}},{"code_sha256_prefix":"333f9e8402a7cc8c","entry":"get_primary_object_ids","repo":"chenkaitao1112/EHHN","repo_kind":"found_in_text","path":"newTry/construct_PE.py","file_url":"https://github.com/chenkaitao1112/EHHN/blob/HEAD/newTry/construct_PE.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"333f9e8402a7cc8c"}},{"code_sha256_prefix":"d86e99699500d24c","entry":"load_jsonocel_to_dfs","repo":"chenkaitao1112/EHHN","repo_kind":"found_in_text","path":"newTry/preprocess.py","file_url":"https://github.com/chenkaitao1112/EHHN/blob/HEAD/newTry/preprocess.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d86e99699500d24c"}},{"code_sha256_prefix":"11a3ff9fb74bda48","entry":"merge_hypergraphs_simple","repo":"chenkaitao1112/EHHN","repo_kind":"found_in_text","path":"newTry/model.py","file_url":"https://github.com/chenkaitao1112/EHHN/blob/HEAD/newTry/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"11a3ff9fb74bda48"}},{"code_sha256_prefix":"c292efd8889ba2ec","entry":"multiclass_pr_auc_score","repo":"chenkaitao1112/EHHN","repo_kind":"found_in_text","path":"newTry/Trainer.py","file_url":"https://github.com/chenkaitao1112/EHHN/blob/HEAD/newTry/Trainer.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c292efd8889ba2ec"}},{"code_sha256_prefix":"899b5d4d9854b1c2","entry":"multiclass_roc_auc_score","repo":"chenkaitao1112/EHHN","repo_kind":"found_in_text","path":"newTry/Trainer.py","file_url":"https://github.com/chenkaitao1112/EHHN/blob/HEAD/newTry/Trainer.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"899b5d4d9854b1c2"}},{"code_sha256_prefix":"fa06acd039a9e81b","entry":"process_vmap_lifecycle","repo":"chenkaitao1112/EHHN","repo_kind":"found_in_text","path":"newTry/pipline_p2p.py","file_url":"https://github.com/chenkaitao1112/EHHN/blob/HEAD/newTry/pipline_p2p.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"fa06acd039a9e81b"}},{"code_sha256_prefix":"9c97d9f1001f1811","entry":"process_vmap_start_timestamp","repo":"chenkaitao1112/EHHN","repo_kind":"found_in_text","path":"newTry/pipline_inter.py","file_url":"https://github.com/chenkaitao1112/EHHN/blob/HEAD/newTry/pipline_inter.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"9c97d9f1001f1811"}},{"code_sha256_prefix":"58a1eab82a992470","entry":"split_primary_objects_train_val_test","repo":"chenkaitao1112/EHHN","repo_kind":"found_in_text","path":"newTry/pipeline_OTC.py","file_url":"https://github.com/chenkaitao1112/EHHN/blob/HEAD/newTry/pipeline_OTC.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"58a1eab82a992470"}},{"code_sha256_prefix":"a7caa73ebe1a511e","entry":"transform_objects_to_features","repo":"chenkaitao1112/EHHN","repo_kind":"found_in_text","path":"newTry/preprocess.py","file_url":"https://github.com/chenkaitao1112/EHHN/blob/HEAD/newTry/preprocess.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a7caa73ebe1a511e"}},{"code_sha256_prefix":"b6e602e11905de5e","entry":"filter_dicts_by_keys","repo":"chenkaitao1112/EHHN","repo_kind":"found_in_text","path":"newTry/pipeline_OTC.py","file_url":"https://github.com/chenkaitao1112/EHHN/blob/HEAD/newTry/pipeline_OTC.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b6e602e11905de5e"}},{"code_sha256_prefix":"6e8b08ae44cc0899","entry":"process_object_id","repo":"chenkaitao1112/EHHN","repo_kind":"found_in_text","path":"newTry/pipline_inter.py","file_url":"https://github.com/chenkaitao1112/EHHN/blob/HEAD/newTry/pipline_inter.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6e8b08ae44cc0899"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.LG","source":"arxiv_2026.jsonl"},"syntology_extracted_results":{"kind":"leaderboard_placements","source":"Syntology's leaderboard-shaped extractor over the paper's own arXiv-HTML tables: a model pointed at a cell, the number was read from that cell and checked against the board's metric, dataset, split and scale, and an independent check accepted the entry; not reviewed by the paper's authors or the archive's editors","extractor_model":"global.anthropic.claude-sonnet-4-5-20250929-v1:0","verifier_model":null,"prompt_sha":"fa63d4bb9d755694","coverage":{"sentence":"Syntology has checked 6,795 of the 9,581 papers on this site that are newer than the archive; results from the others appear after they are checked.","papers_newer_than_archive":9581,"papers_checked":6795},"entries":[],"not_placed":{"boards":0,"rejected_by_independent_check":0,"refused_by_a_rule":0,"check_did_not_answer":0,"proposed_without_a_cell":0,"declined_by_site":0}}}