{"id":15215,"date":"2026-05-29T06:01:43","date_gmt":"2026-05-29T06:01:43","guid":{"rendered":"https:\/\/techtrendfeed.com\/?p=15215"},"modified":"2026-05-29T06:01:44","modified_gmt":"2026-05-29T06:01:44","slug":"emonet-speaker-conscious-transformers-for-emotion-recognition-and-what-id-construct-otherwise-in-2026","status":"publish","type":"post","link":"https:\/\/techtrendfeed.com\/?p=15215","title":{"rendered":"EmoNet: Speaker-Conscious Transformers for Emotion Recognition \u2014 and What I\u2019d Construct Otherwise in 2026"},"content":{"rendered":"<p> <br \/>\n<\/p>\n<div>\n<p class=\"wp-block-paragraph\" id=\"6d66\">, I submitted my MS thesis on Emotion Recognition in Dialog (ERC). The mannequin,\u00a0<strong>EmoNet<\/strong>, achieved a Weighted F1 of\u00a0<strong>39.18 on EmoryNLP<\/strong>\u00a0\u2014 aggressive with the general public PapersWithCode leaderboard on the time, sitting between TUCORE-GCN_RoBERTa (39.24) and S+PAGE (39.14), and bettering over my chosen baseline, CoMPM, by\u00a0<strong>+1.81 F1<\/strong>.<\/p>\n<p class=\"wp-block-paragraph\" id=\"1ae9\">Two years later, I returned to take a look at the place the sphere is now. The leaderboard is unrecognizable. The highest entries are not encoder-only fashions with intelligent consideration heads \u2014 they\u2019re\u00a0<strong>LLaMA-2\u20137B-based methods with LoRA fine-tuning and retrieval-augmented prompting<\/strong>: InstructERC, CKERC, BiosERC, LaERC-S. The strategies are totally different. The compute is totally different. The mindset is totally different.<\/p>\n<p class=\"wp-block-paragraph\" id=\"ea13\">And but \u2014 once I learn these new papers rigorously,\u00a0<strong>the core concepts I proposed in EmoNet present up inside them, simply applied at a distinct layer of the stack.<\/strong>\u00a0That is the story of what I constructed, the place it positioned, and what I\u2019d construct now if I have been beginning over.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-dotted\"\/>\n<h2 class=\"wp-block-heading\">What ERC is, and why text-only is tough<\/h2>\n<p class=\"wp-block-paragraph\" id=\"6f24\">Emotion Recognition in Dialog is the duty of assigning an emotion label to every utterance in a multi-turn dialogue. It\u2019s distinct from sentiment evaluation on remoted sentences in a single vital approach:\u00a0<strong>the emotion of an utterance is formed by what got here earlier than it, and by who&#8217;s talking.<\/strong><\/p>\n<p class=\"wp-block-paragraph\" id=\"d9d3\">Take into account this alternate from the EmoryNLP dataset (sourced from the TV present\u00a0<em>Pals<\/em>):<\/p>\n<p class=\"wp-block-paragraph\" id=\"6d0e\"><strong><em>Monica:<\/em><\/strong><em>\u00a0Wendy, we had a deal! Yeah, you promised! Wendy! Wendy! Wendy! \u00a0 [Mad]<\/em><\/p>\n<p class=\"wp-block-paragraph\" id=\"2cd1\"><strong><em>Rachel:<\/em><\/strong><em>\u00a0Who was that? \u00a0 [Neutral]<\/em><\/p>\n<p class=\"wp-block-paragraph\" id=\"1179\"><strong><em>Monica:<\/em><\/strong><em>\u00a0Wendy bailed. I&#8217;ve no waitress. \u00a0 [Mad]<\/em><\/p>\n<p class=\"wp-block-paragraph\" id=\"de7c\">In isolation, \u201cWho was that?\u201d is emotionally impartial. The label\u00a0<em>Impartial<\/em>\u00a0is simply significant\u00a0<strong>in context<\/strong>\u00a0\u2014 it sits between two indignant utterances from a distinct speaker and ERC fashions should seize this conversational dynamic.<\/p>\n<p class=\"wp-block-paragraph\" id=\"4790\">There\u2019s a second wrinkle:\u00a0<strong>multimodal data is lacking.<\/strong>\u00a0In actual human dialog, tone of voice, facial expressions, and physique language carry an unlimited share of emotional sign. Textual content-only ERC strips all of that away. The identical phrases \u2014 \u201cOh, nice.\u201d \u2014 will be honest or sarcastic, and the textual content alone typically can\u2019t inform you which.<\/p>\n<p class=\"wp-block-paragraph\" id=\"b885\">This data loss is the central problem. You need to extract emotion from a noisier sign than the human-grade benchmark.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-dotted\"\/>\n<h2 class=\"wp-block-heading\">The 2024 panorama<\/h2>\n<p class=\"wp-block-paragraph\" id=\"7bc4\">After I began my thesis in late 2023, the EmoryNLP leaderboard was dominated by transformer-based architectures with numerous intelligent modifications. A fast tour:<\/p>\n<p class=\"wp-block-paragraph\" id=\"f0bf\">\u2013\u00a0<strong>KET<\/strong>\u00a0(Zhong et al., 2019) \u2014 knowledge-enriched transformer with affective graph consideration, the primary paper to carry transformers to ERC.<\/p>\n<p class=\"wp-block-paragraph\" id=\"939a\">\u2013\u00a0<strong>DialogueGCN<\/strong>\u00a0(Ghosal et al., 2019) \u2014 graph convolutional community that transformed dialogues into node-classification issues.<\/p>\n<p class=\"wp-block-paragraph\" id=\"e8b2\">\u2013\u00a0<strong>RGAT<\/strong>\u00a0(Ishiwatari et al., 2020) \u2014 relation-aware graph consideration with relational place encoding for speaker dependencies.<\/p>\n<p class=\"wp-block-paragraph\" id=\"dbbc\">\u2013\u00a0<strong>DialogXL<\/strong>\u00a0(Shen et al., 2020) \u2014 tailored XLNet with utterance recurrence and dialogue self-attention.<\/p>\n<p class=\"wp-block-paragraph\" id=\"aa6c\">\u2013\u00a0<strong>HiTrans<\/strong>\u00a0(Li et al., 2020) \u2014 hierarchical transformer with pairwise utterance speaker verification as auxiliary process.<\/p>\n<p class=\"wp-block-paragraph\" id=\"2dce\">\u2013\u00a0<strong>TUCORE-GCN<\/strong>\u00a0(Lee &amp; Choi, 2021) \u2014 heterogeneous dialogue graph with speaker-aware BERT.<\/p>\n<p class=\"wp-block-paragraph\" id=\"5ee1\">\u2013\u00a0<strong>CoMPM<\/strong>\u00a0(Lee &amp; Lee, 2021) \u2014 mixed dialogue context with pre-trained reminiscence monitoring for the speaker.<\/p>\n<p class=\"wp-block-paragraph\" id=\"621b\">I selected\u00a0<strong>CoMPM as my base<\/strong>\u00a0for 2 causes. First, it explicitly modeled the speaker\u2019s pre-trained reminiscence as a separate module \u2014 which mapped to my instinct that\u00a0<em>who<\/em>\u00a0is talking issues as a lot as\u00a0<em>what<\/em>\u00a0they\u2019re saying. Second, its structure was modular sufficient to increase with out rewriting from scratch. The CoMPM paper confirmed that including pre-trained reminiscence to the context mannequin gave a measurable enhance \u2014 however their speaker id was nonetheless\u00a0<strong>native to every dialogue<\/strong>. The second a brand new dialog started, all the things the mannequin had discovered a few speaker was discarded.<\/p>\n<p class=\"wp-block-paragraph\" id=\"6c53\">That appeared like an issue price fixing.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-dotted\"\/>\n<h2 class=\"wp-block-heading\">Three contributions, with instinct<\/h2>\n<h3 class=\"wp-block-heading\">1. International Speaker Identification<\/h3>\n<p class=\"wp-block-paragraph\" id=\"c42f\"><strong>The issue.<\/strong>\u00a0In CoMPM and most prior work, speaker IDs are scoped to a single dialogue.\u00a0<em>Speaker A<\/em>\u00a0in scene 1 has no relationship to\u00a0<em>Speaker A<\/em>\u00a0in scene 14, even after they\u2019re the identical particular person. Therefore, each dialogue begins chilly.<\/p>\n<p class=\"wp-block-paragraph\" id=\"39a4\"><strong>The instinct.<\/strong>\u00a0Folks have attribute emotional patterns. Monica will get indignant about particular issues; Phoebe is reliably cheerful; Ross has predictable bouts of insecurity. If a mannequin can carry details about\u00a0<em>this particular speaker<\/em>\u00a0throughout dialogues, it ought to have the ability to make better-calibrated predictions when that speaker reappears.<\/p>\n<p class=\"wp-block-paragraph\" id=\"66b6\"><strong>The implementation.<\/strong>\u00a0Every distinctive speaker in the complete dataset will get a secure, dataset-wide ID. The primary time\u00a0<em>Monica Geller<\/em>\u00a0seems, she\u2019s assigned an ID \u2014 say, ID 7 \u2014 that stays along with her. Each subsequent look \u2014 throughout episodes, seasons, scenes \u2014 she stays ID 7. The mannequin can now study speaker-specific patterns that persist.<\/p>\n<p class=\"wp-block-paragraph\" id=\"6b7f\">This sounds apparent on reflection. In 2024 it was not how the leaderboard fashions labored.<\/p>\n<h3 class=\"wp-block-heading\">2. Speaker Behaviour Module<\/h3>\n<p class=\"wp-block-paragraph\" id=\"5315\"><strong>The issue.<\/strong>\u00a0International Speaker Identification alone is only a label. To make it helpful, the mannequin must\u00a0<em>do one thing<\/em>\u00a0with the speaker\u2019s accrued historical past. How do you give a transformer entry to \u201call the things Monica has ever stated on this dataset,\u201d with out blowing out the context window or making coaching intractable?<\/p>\n<p class=\"wp-block-paragraph\" id=\"ac49\"><strong>The instinct.<\/strong>\u00a0Recurrence. A GRU is a pure match for sequentially compressing a speaker\u2019s historic utterances right into a single fixed-size illustration. Latest utterances contribute extra; older ones step by step dilute. A configurable\u00a0<strong>sliding window<\/strong>\u00a0bounds the GRU\u2019s enter \u2014 say, the final N utterances by this speaker \u2014 conserving compute and reminiscence predictable.<\/p>\n<p class=\"wp-block-paragraph\" id=\"9593\"><strong>The implementation.<\/strong>\u00a0Every utterance is independently encoded by a pre-trained RoBERTa spine. The ensuing embeddings stream via a unidirectional GRU. The GRU\u2019s remaining hidden state \u2014 name it `kt` \u2014 represents the speaker\u2019s behavioral sample on the present second. That is projected into the identical dimension because the dialogue context output and added in. The mixed sign feeds the ultimate classifier.<\/p>\n<p class=\"wp-block-paragraph\" id=\"ce84\">The structure is structurally much like CoMPM\u2019s pre-trained reminiscence module, however with two key variations: the speaker-history pool is\u00a0<strong>world<\/strong>\u00a0(not native to the present dialogue), and the GRU explicitly fashions temporal decay.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/contributor.insightmediagroup.io\/wp-content\/uploads\/2026\/05\/image-370.png\" alt=\"\" class=\"wp-image-662621\"\/><figcaption class=\"wp-element-caption\"><em>Determine: EmoNet Structure (Picture by creator). This mannequin consists of two modules: a Dialogue context embedding module and a Speaker behaviour module. The determine exhibits an instance of predicting emotion of u6, from a 6-turn dialogue context. A, D, and Y confer with the participant within the dialog, the place SA = Su1 = Su4 = Su6, SD = Su2, and SY = Su3 = Su5. Wo and Wp are linear matrices<\/em><\/figcaption><\/figure>\n<h3 class=\"wp-block-heading\">3. Weighted Cross-Entropy Loss<\/h3>\n<p class=\"wp-block-paragraph\" id=\"4294\"><strong>The issue.<\/strong>\u00a0EmoryNLP is imbalanced \u2014\u00a0<em>Impartial\u00a0<\/em>outnumbers\u00a0<em>Unhappy<\/em>\u00a0by roughly 4.5:1. Most papers deal with this with knowledge augmentation or under-sampling. However conversational knowledge is\u00a0<strong>sequential<\/strong>: dropping or duplicating utterances distorts the pure emotional stream, which is precisely the sign the mannequin is making an attempt to study from.<\/p>\n<p class=\"wp-block-paragraph\" id=\"4fe2\"><strong>The instinct.<\/strong>\u00a0In case you can\u2019t safely change the information, change the loss. Weight uncommon lessons larger so a single misclassification of\u00a0<em>Unhappy<\/em>\u00a0prices the mannequin greater than a single misclassification of\u00a0<em>Impartial<\/em>.<\/p>\n<p class=\"wp-block-paragraph\" id=\"a571\"><strong>The implementation.<\/strong>\u00a0Cross-entropy with per-class weights derived from inverse class frequency, then normalized. Nothing unique \u2014 however with the conversational-sequence argument as the specific motivation, this turns into a principled alternative slightly than an arbitrary one.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-dotted\"\/>\n<h2 class=\"wp-block-heading\">Outcomes: what labored, and what stunned me<\/h2>\n<p class=\"wp-block-paragraph\" id=\"0cc9\">Right here\u2019s the ablation desk from the thesis:<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/contributor.insightmediagroup.io\/wp-content\/uploads\/2026\/05\/image-374.png\" alt=\"\" class=\"wp-image-662636\"\/><\/figure>\n<p class=\"wp-block-paragraph\" id=\"707a\">The outcome that stunned me \u2014 and that I feel is probably the most trustworthy a part of this work \u2014 is the second row.\u00a0<strong>Including International Speaker ID alone made the mannequin considerably worse<\/strong>\u00a0(F1 dropped from 37.85 to 29.43). That seemed like a failure at first.<\/p>\n<p class=\"wp-block-paragraph\" id=\"dffd\">Nevertheless it wasn\u2019t. The International Speaker Identification is a\u00a0<em>functionality<\/em>\u00a0\u2014 it offers the mannequin the power to study long-range speaker patterns. By itself, that functionality creates a representational burden the remainder of the mannequin couldn\u2019t soak up. Solely as soon as the\u00a0<strong>Speaker Behaviour module<\/strong>\u00a0was added \u2014 giving the mannequin a structured strategy to\u00a0<em>use<\/em>\u00a0the worldwide identities \u2014 did the contribution floor. By the ultimate configuration, EmoNet had recovered and surpassed the CoMPM baseline by 1.81 F1.<\/p>\n<p class=\"wp-block-paragraph\" id=\"152d\">That is the lesson I took from the ablation:\u00a0<strong>a characteristic isn\u2019t helpful in isolation; it\u2019s helpful together with the equipment that consumes it.<\/strong>\u00a0Analysis papers that report \u201cthis addition gave us +X%\u201d typically cover ablation rows the place the addition alone made issues worse. I selected to maintain that row in.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/contributor.insightmediagroup.io\/wp-content\/uploads\/2026\/05\/image-376.png\" alt=\"\" class=\"wp-image-662646\"\/><\/figure>\n<p class=\"wp-block-paragraph\">The total mannequin dealt with\u00a0<em>Impartial<\/em>,\u00a0<em>Pleasure<\/em>, and\u00a0<em>Scared<\/em>\u00a0effectively.\u00a0<em>Highly effective<\/em>\u00a0remained the toughest class\u200a\u2014\u200apartly as a result of it\u2019s uncommon, and partly as a result of\u00a0<em>Highly effective<\/em>\u00a0and\u00a0<em>Pleasure<\/em>\u00a0are practically indistinguishable in textual dialog with out acoustic cues. It is a multimodal drawback masquerading as a textual content drawback.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-dotted\"\/>\n<h2 class=\"wp-block-heading\">Reflection (2026): the sphere moved, and so ought to we<\/h2>\n<p class=\"wp-block-paragraph\" id=\"16be\">Two years on, the EmoryNLP leaderboard appears fully totally different. The main methods now are:<\/p>\n<p class=\"wp-block-paragraph\" id=\"64e4\">\u2013\u00a0<strong>InstructERC<\/strong>\u00a0(Lei et al., 2023) \u2014 reformulates ERC as a generative LLM process. It makes use of retrieval-augmented instruction templates and auxiliary duties resembling speaker identification and emotion prediction to higher mannequin dialogue roles and emotional dynamics.<\/p>\n<p class=\"wp-block-paragraph\" id=\"4f56\">\u2013\u00a0<strong>CKERC<\/strong>\u00a0(Fu, 2024) \u2014 introduces commonsense-enhanced ERC. For every utterance, an LLM generates commonsense annotations about speaker intention and sure listener response, offering implicit social and emotional reasoning past specific dialogue context.<\/p>\n<p class=\"wp-block-paragraph\" id=\"767a\">\u2013\u00a0<strong>BiosERC<\/strong>\u00a0(Xue et al., 2024) \u2014 injects LLM-derived speaker biographical data into the ERC course of, permitting the mannequin to motive not solely over utterance context but in addition over speaker-specific traits.<\/p>\n<p class=\"wp-block-paragraph\" id=\"9a6e\">\u2013\u00a0<strong>LaERC-S<\/strong>\u00a0(Fu et al., 2025) \u2014 two-stage instruction tuning. Stage 1: equip the LLM with\u00a0<strong>speaker-specific traits<\/strong>. Stage 2: use these traits throughout the ERC process itself.<\/p>\n<p class=\"wp-block-paragraph\" id=\"8bec\">Take a look at these final two rigorously.<\/p>\n<p class=\"wp-block-paragraph\" id=\"4057\"><strong>BiosERC\u2019s speaker biographical data<\/strong>\u00a0is, in spirit, International Speaker Identification scaled up \u2014 as an alternative of an integer ID, it\u2019s a textual profile the LLM can attend to.\u00a0<strong>LaERC-S\u2019s speaker traits<\/strong>\u00a0are, in spirit, the Speaker Behaviour module \u2014 historic speaker patterns made out there to the mannequin \u2014 however folded into instruction tuning slightly than applied as a separate GRU.<\/p>\n<p class=\"wp-block-paragraph\" id=\"381c\">The architectural intuitions held up. The implementation layer modified.<\/p>\n<p class=\"wp-block-paragraph\" id=\"b206\">That is the half I discover genuinely attention-grabbing. After I was engaged on EmoNet in 2024, I used to be considering contained in the encoder-only-transformer paradigm: \u201chow do I add one other module to the structure?\u201d The 2024\u20132025 papers assume contained in the LLM paradigm: \u201chow do I encode this concept into instruction tuning or retrieval context?\u201d The concepts are comparable; the leverage factors are totally different.<\/p>\n<p class=\"wp-block-paragraph\" id=\"c673\"><strong>If I have been to rebuild EmoNet right now<\/strong>, I might not begin from RoBERTa-large. I might begin from a small open-source LLM \u2014 LLaMA-3.2\u20133B, Qwen-2.5\u20133B, or Phi-3.5 \u2014 and use\u00a0<strong>LoRA<\/strong>\u00a0to fine-tune it on EmoryNLP, following the InstructERC household of approaches. The International Speaker Identification turns into a textual speaker biography retrieved from a vector retailer. The Speaker Behaviour module turns into a few-shot immediate with the speaker\u2019s most up-to-date emotional historical past. The Weighted Loss survives nearly unchanged \u2014 class imbalance doesn\u2019t care what mannequin you\u2019re utilizing.<\/p>\n<p class=\"wp-block-paragraph\" id=\"96cf\">The structure diagram would look fully totally different. The conceptual debt to the 2024 thesis could be seen should you knew the place to look.<\/p>\n<p class=\"wp-block-paragraph\"><em>It taught me that analysis debt has an extended half-life than I anticipated \u2014 concepts survive paradigm shifts even when their implementations don\u2019t.<\/em><\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-dotted\"\/>\n<h2 class=\"wp-block-heading\">The place this leaves me<\/h2>\n<p class=\"wp-block-paragraph\" id=\"0ba9\">EmoNet is now publicly archived below\u00a0<a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/doi.org\/10.5281\/zenodo.20048006\" rel=\"noreferrer noopener\" target=\"_blank\">DOI 10.5281\/zenodo.20048006<\/a>\u00a0with the total thesis, protection slides, and PyTorch implementation on\u00a0<a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/github.com\/bijupv\/emonet-erc\" rel=\"noreferrer noopener\" target=\"_blank\">GitHub<\/a>. I\u2019m at present engaged on the modernized port \u2014 a LoRA-fine-tuned LLM with retrieval-based speaker context \u2014 as a follow-up undertaking that I\u2019ll write about quickly.<\/p>\n<p class=\"wp-block-paragraph\" id=\"f6a7\">In case you\u2019re engaged on conversational AI, utilized NLP, or LLM fine-tuning, I\u2019d have an interest to listen to what you\u2019re constructing.<\/p>\n<\/div>\n\n","protected":false},"excerpt":{"rendered":"<p>, I submitted my MS thesis on Emotion Recognition in Dialog (ERC). The mannequin,\u00a0EmoNet, achieved a Weighted F1 of\u00a039.18 on EmoryNLP\u00a0\u2014 aggressive with the general public PapersWithCode leaderboard on the time, sitting between TUCORE-GCN_RoBERTa (39.24) and S+PAGE (39.14), and bettering over my chosen baseline, CoMPM, by\u00a0+1.81 F1. Two years later, I returned to take a [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":15217,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[55],"tags":[73,5128,9248,5989,2359,9249,7101],"class_list":["post-15215","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-machine-learning","tag-build","tag-differently","tag-emonet","tag-emotion","tag-recognition","tag-speakeraware","tag-transformers"],"_links":{"self":[{"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=\/wp\/v2\/posts\/15215","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=15215"}],"version-history":[{"count":1,"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=\/wp\/v2\/posts\/15215\/revisions"}],"predecessor-version":[{"id":15216,"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=\/wp\/v2\/posts\/15215\/revisions\/15216"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=\/wp\/v2\/media\/15217"}],"wp:attachment":[{"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=15215"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=15215"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=15215"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}<!-- This website is optimized by Airlift. Learn more: https://airlift.net. Template:. Learn more: https://airlift.net. Template: 69d9690a190636c2e0989534. Config Timestamp: 2026-04-10 21:18:02 UTC, Cached Timestamp: 2026-05-29 15:29:49 UTC -->