<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.0 20040830//EN" "http://dtd.nlm.nih.gov/publishing/2.0/journalpublishing.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article" dtd-version="2.0">
  <front>
    <journal-meta>
      <journal-id journal-id-type="publisher-id">JMIR</journal-id>
      <journal-id journal-id-type="nlm-ta">J Med Internet Res</journal-id>
      <journal-title>Journal of Medical Internet Research</journal-title>
      <issn pub-type="epub">1438-8871</issn>
      <publisher>
        <publisher-name>JMIR Publications</publisher-name>
        <publisher-loc>Toronto, Canada</publisher-loc>
      </publisher>
    </journal-meta>
    <article-meta>
      <article-id pub-id-type="publisher-id">v28i1e75799</article-id>
      <article-id pub-id-type="pmid">42526023</article-id>
      <article-id pub-id-type="doi">10.2196/75799</article-id>
      <article-categories>
        <subj-group subj-group-type="heading">
          <subject>Original Paper</subject>
        </subj-group>
        <subj-group subj-group-type="article-type">
          <subject>Original Paper</subject>
        </subj-group>
      </article-categories>
      <title-group>
        <article-title>Detecting Narcissistic Personality Disorder Traits on Forums: Proof-of-Concept Study</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="editor">
          <name>
            <surname>Coristine</surname>
            <given-names>Andrew</given-names>
          </name>
        </contrib>
      </contrib-group>
      <contrib-group>
        <contrib contrib-type="reviewer">
          <name>
            <surname>Latham</surname>
            <given-names>Cameron</given-names>
          </name>
        </contrib>
        <contrib contrib-type="reviewer">
          <name>
            <surname>Sharpe</surname>
            <given-names>Brinkley M</given-names>
          </name>
        </contrib>
      </contrib-group>
      <contrib-group>
        <contrib id="contrib1" contrib-type="author" corresp="yes">
          <name name-style="western">
            <surname>Aladağ</surname>
            <given-names>Ahmet Emre</given-names>
          </name>
          <degrees>MSc</degrees>
          <xref rid="aff1" ref-type="aff">1</xref>
          <address>
            <institution>Department of Computer Engineering</institution>
            <institution>Boğaziçi University</institution>
            <addr-line>Bebek</addr-line>
            <addr-line>İstanbul, 34342</addr-line>
            <country>Turkey</country>
            <phone>90 2123594523</phone>
            <email>emre.aladag@std.bogazici.edu.tr</email>
          </address>
          <ext-link ext-link-type="orcid">https://orcid.org/0000-0003-0360-2982</ext-link>
        </contrib>
        <contrib id="contrib2" contrib-type="author">
          <name name-style="western">
            <surname>Özgür</surname>
            <given-names>Arzucan</given-names>
          </name>
          <degrees>PhD</degrees>
          <xref rid="aff1" ref-type="aff">1</xref>
          <ext-link ext-link-type="orcid">https://orcid.org/0000-0001-8376-1056</ext-link>
        </contrib>
        <contrib id="contrib3" contrib-type="author">
          <name name-style="western">
            <surname>Akbaş</surname>
            <given-names>Naz Berfu</given-names>
          </name>
          <degrees>MD</degrees>
          <xref rid="aff2" ref-type="aff">2</xref>
          <ext-link ext-link-type="orcid">https://orcid.org/0000-0002-3452-1125</ext-link>
        </contrib>
        <contrib id="contrib4" contrib-type="author">
          <name name-style="western">
            <surname>Zahmacioglu</surname>
            <given-names>Oguzhan</given-names>
          </name>
          <degrees>MD</degrees>
          <xref rid="aff3" ref-type="aff">3</xref>
          <ext-link ext-link-type="orcid">https://orcid.org/0000-0002-2586-3676</ext-link>
        </contrib>
        <contrib id="contrib5" contrib-type="author">
          <name name-style="western">
            <surname>Bingol</surname>
            <given-names>Haluk O</given-names>
          </name>
          <degrees>PhD</degrees>
          <xref rid="aff4" ref-type="aff">4</xref>
          <ext-link ext-link-type="orcid">https://orcid.org/0000-0001-7320-7545</ext-link>
        </contrib>
      </contrib-group>
      <aff id="aff1">
        <label>1</label>
        <institution>Department of Computer Engineering</institution>
        <institution>Boğaziçi University</institution>
        <addr-line>İstanbul</addr-line>
        <country>Turkey</country>
      </aff>
      <aff id="aff2">
        <label>2</label>
        <institution>Department of Psychiatry</institution>
        <institution>Medical School</institution>
        <institution>Yeditepe University</institution>
        <addr-line>İstanbul</addr-line>
        <country>Turkey</country>
      </aff>
      <aff id="aff3">
        <label>3</label>
        <institution>Department of Child and Adolescent Psychiatry</institution>
        <institution>Medical School</institution>
        <institution>Yeditepe University</institution>
        <addr-line>İstanbul</addr-line>
        <country>Turkey</country>
      </aff>
      <aff id="aff4">
        <label>4</label>
        <institution>Faculty of Computer and Information Sciences</institution>
        <institution>Yeditepe University</institution>
        <addr-line>İstanbul</addr-line>
        <country>Turkey</country>
      </aff>
      <author-notes>
        <corresp>Corresponding Author: Ahmet Emre Aladağ <email>emre.aladag@std.bogazici.edu.tr</email></corresp>
      </author-notes>
      <pub-date pub-type="collection">
        <year>2026</year>
      </pub-date>
      <pub-date pub-type="epub">
        <day>29</day>
        <month>7</month>
        <year>2026</year>
      </pub-date>
      <volume>28</volume>
      <elocation-id>e75799</elocation-id>
      <history>
        <date date-type="received">
          <day>26</day>
          <month>4</month>
          <year>2025</year>
        </date>
        <date date-type="rev-request">
          <day>26</day>
          <month>5</month>
          <year>2025</year>
        </date>
        <date date-type="accepted">
          <day>3</day>
          <month>7</month>
          <year>2026</year>
        </date>
      </history>
      <copyright-statement>©Ahmet Emre Aladağ, Arzucan Özgür, Naz Berfu Akbaş, Oguzhan Zahmacioglu, Haluk O Bingol. Originally published in the Journal of Medical Internet Research (https://www.jmir.org), 29.07.2026.</copyright-statement>
      <copyright-year>2026</copyright-year>
      <license license-type="open-access" xlink:href="https://creativecommons.org/licenses/by/4.0/">
        <p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (https://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work, first published in the Journal of Medical Internet Research (ISSN 1438-8871), is properly cited. The complete bibliographic information, a link to the original publication on https://www.jmir.org/, as well as this copyright and license information must be included.</p>
      </license>
      <self-uri xlink:href="https://www.jmir.org/2026/1/e75799" xlink:type="simple"/>
      <abstract>
        <sec sec-type="background">
          <title>Background</title>
          <p>Identifying traits of narcissistic personality disorder (NPD) is clinically challenging, yet early detection can significantly improve outcomes. Online forums have become a major source of self-expression, offering new opportunities to understand mental health. However, analyzing this complex language requires new tools.</p>
        </sec>
        <sec sec-type="objective">
          <title>Objective</title>
          <p>This study aims to determine whether a machine learning model could be trained to reliably detect language patterns associated with NPD traits in Reddit posts. Specifically, we sought to identify both authors who exhibit these traits and posts discussing individuals with these traits.</p>
        </sec>
        <sec sec-type="methods">
          <title>Methods</title>
          <p>We analyzed 75,985 posts from 4 Reddit communities (r/Narcissism, r/DeepThoughts, r/Showerthoughts, and r/ImposterSyndrome). A subset of 966 posts was annotated by 2 psychiatrists to create a reliable dataset. Using a range of machine learning techniques, from traditional text analysis to modern transformer-based embedding models, we trained the system to distinguish posts containing NPD-trait markers from general reflective posts. This secondary analysis of deidentified public Reddit data was exempted by the Boğaziçi University FMINAREK (Fen Bilimleri ve Mühendislik Alanları İnsan Araştırmaları Etik Kurulu) Institutional Review Board (exemption/application number 2025-13).</p>
        </sec>
        <sec sec-type="results">
          <title>Results</title>
          <p>Our models demonstrated high accuracy. The modern embedding-based models were particularly effective, achieving a mean F1-score of 0.90, indicating a strong balance between recall and precision by correctly identifying posts with NPD-trait markers while minimizing false positives. The models remained effective even when common keywords such as “narcissism” were removed, with a mean relative F1-score decrease of 3.6% for the frequency-based baseline classifier and less than 2% (1.9% and 0.8%) for the embedding models.</p>
        </sec>
        <sec sec-type="conclusions">
          <title>Conclusions</title>
          <p>This study demonstrates that automated analysis of online posts is a promising approach for understanding and identifying NPD traits. Although this technology has potential for future clinical applications, it is currently a research tool and should be used only with strict ethical oversight, not for public-facing diagnosis.</p>
        </sec>
      </abstract>
      <kwd-group>
        <kwd>narcissistic personality disorder</kwd>
        <kwd>narcissism</kwd>
        <kwd>pathological grandiosity</kwd>
        <kwd>machine learning</kwd>
        <kwd>text mining</kwd>
        <kwd>artificial intelligence</kwd>
        <kwd>natural language processing</kwd>
        <kwd>transformer embeddings</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec sec-type="introduction">
      <title>Introduction</title>
      <sec>
        <title>Background</title>
        <p>Online platforms have become the de facto space for self-expression, discussion, and sharing. Along with the opinions we share, we leave digital traces that reflect our personality traits [<xref ref-type="bibr" rid="ref1">1</xref>], emotional expressions [<xref ref-type="bibr" rid="ref2">2</xref>], and even personality disorder traits [<xref ref-type="bibr" rid="ref3">3</xref>].</p>
        <p>Pioneering work by De Choudhury et al [<xref ref-type="bibr" rid="ref4">4</xref>] showed that population-level shifts in social media language reliably anticipate depressive symptom trajectories, demonstrating that unobtrusive monitoring of mental health signals is both technically feasible and clinically meaningful. Extending this premise, Kosinski et al [<xref ref-type="bibr" rid="ref1">1</xref>] showed that Facebook “Likes” patterns predict Big Five personality scores with near-clinical accuracy, confirming that everyday digital behavior encodes stable trait information, not just transient mood.</p>
        <p>Digital health research has shown that once linguistic or affective markers are formalized, they can drive emotion-aware conversational agents and, ultimately, clinical decision-making pipelines [<xref ref-type="bibr" rid="ref2">2</xref>,<xref ref-type="bibr" rid="ref4">4</xref>]. We adopt this approach by translating markers of narcissistic grandiosity into embedding-based classifiers.</p>
        <p>Building on this foundation, we leverage transformer-based natural language processing (NLP) to detect linguistic markers of narcissistic personality disorder (NPD) traits in long-form Reddit posts. By examining how individuals with elevated NPD signals talk about themselves and others, this work aims to establish the feasibility of automated NPD-trait detection as a foundation for future clinical applications in online mental health contexts.</p>
      </sec>
      <sec>
        <title>Understanding NPD</title>
        <p>NPD is a psychological disorder characterized by grandiosity, a need for admiration, and a lack of empathy. Individuals with NPD often have a distorted self-image that differs markedly from reality. They have an inflated sense of self-worth and seek preferential attention and validation from those around them. NPD can significantly affect interpersonal relationships and broader social functioning [<xref ref-type="bibr" rid="ref5">5</xref>,<xref ref-type="bibr" rid="ref6">6</xref>].</p>
      </sec>
      <sec>
        <title>Diagnostic Criteria for NPD</title>
        <p>The Diagnostic and Statistical Manual of Mental Disorders, Fifth Edition (DSM-5) [<xref ref-type="bibr" rid="ref7">7</xref>] defines the diagnostic criteria for NPD, including grandiose self-importance; preoccupation with fantasies of unlimited success, power, beauty, or ideal love; and other characteristic features. Although the DSM-5 defines NPD as a single disorder, some research suggests that it comprises distinct subtypes, including grandiose, vulnerable, and exhibitionist [<xref ref-type="bibr" rid="ref8">8</xref>-<xref ref-type="bibr" rid="ref10">10</xref>]. In this study, we focused on the grandiose subtype, which aligns with the DSM-5 description.</p>
      </sec>
      <sec>
        <title>Challenges in Diagnosing NPD and Treating NPD</title>
        <p>The lifetime prevalence of NPD in the United States is estimated to be 6.2% [<xref ref-type="bibr" rid="ref11">11</xref>]. However, diagnosis and treatment remain challenging because of the disorder’s complex presentation. Recent text-mining studies of borderline personality disorder and bipolar disorder have shown that early algorithmic flagging of complex conditions can shorten diagnostic delays, underscoring the potential value of a similar detector for NPD [<xref ref-type="bibr" rid="ref12">12</xref>]. Individuals with NPD frequently present with comorbid conditions, most commonly borderline personality disorder, depression, and anxiety, which further complicate accurate diagnosis [<xref ref-type="bibr" rid="ref13">13</xref>].</p>
        <p>Furthermore, denial of symptoms, withholding of information, and distortion of one’s personal narrative may further increase diagnostic complexity [<xref ref-type="bibr" rid="ref14">14</xref>]. Symptom overlap with other disorders adds to this complexity [<xref ref-type="bibr" rid="ref15">15</xref>].</p>
        <p>Early treatment dropout is also common among individuals with NPD, interrupting both diagnostic clarification and therapeutic progress [<xref ref-type="bibr" rid="ref16">16</xref>,<xref ref-type="bibr" rid="ref17">17</xref>]. Taken together, these challenges indicate that identifying NPD requires a detailed, multimodal approach [<xref ref-type="bibr" rid="ref18">18</xref>]. Even after diagnosis, resistance to change is frequently observed, necessitating specialized therapeutic strategies [<xref ref-type="bibr" rid="ref19">19</xref>].</p>
      </sec>
      <sec>
        <title>Personal and Societal Impact of NPD</title>
        <p>Individuals with NPD frequently display impaired empathy and exploitative interpersonal behaviors, which clinical studies have shown to increase tension and emotional distress in close relationships [<xref ref-type="bibr" rid="ref5">5</xref>,<xref ref-type="bibr" rid="ref6">6</xref>]. Roark [<xref ref-type="bibr" rid="ref20">20</xref>] further documented how manipulative tactics and a persistent need for admiration can erode trust, leading to cycles of psychological harm within families and workplaces. Moreover, at the societal level, NPD traits are associated with increased organizational cynicism and reduced collaboration, contributing to broader public health and economic burdens [<xref ref-type="bibr" rid="ref19">19</xref>]. These patterns motivate computational research on detecting NPD-related markers in online discourse, with the long-term goal of supporting early identification and targeted mental health outreach.</p>
      </sec>
      <sec>
        <title>Importance of Early Diagnosis and Tailored Therapeutic Approaches</title>
        <p>Recent meta-analyses have shown that early intervention for personality and mood disorders measurably improves long-term outcomes, with digital screening tools reducing symptom severity by up to 30% when deployed during the prodromal stage [<xref ref-type="bibr" rid="ref21">21</xref>]. Christensen et al [<xref ref-type="bibr" rid="ref22">22</xref>] further demonstrated that eHealth platforms improve treatment adherence and engagement among individuals with anxiety and depression, confirming the value of scalable, technology-mediated outreach.</p>
        <p>Building on these insights, we demonstrate that NLP methods applied to online forum language can identify linguistic markers associated with narcissistic patterns, providing a necessary technical foundation for future integration into clinical screening workflows [<xref ref-type="bibr" rid="ref23">23</xref>].</p>
      </sec>
      <sec>
        <title>Aims, Objectives, and Methodological Approach</title>
        <p>Building on Pennebaker et al’s [<xref ref-type="bibr" rid="ref24">24</xref>] demonstration that lexical markers reveal psychological states and Reece and Danforth’s [<xref ref-type="bibr" rid="ref25">25</xref>] success in predicting depression from Instagram embeddings, our study aims to develop and rigorously evaluate embedding-based classifiers for detecting narcissistic grandiosity in Reddit discourse. We compare traditional frequency- and sentiment-based features with transformer embeddings using an 80:20 train-test split and stratified 5-fold cross-validation, optimizing logistic regression (LR), support vector machine (SVM), random forest (RF), and Extreme Gradient Boosting (XGB) models on our manually annotated corpus. This proof-of-concept study not only benchmarks diverse feature representations and classification models but also establishes a replicable methodology and baseline for future research on automated NPD-trait detection in digital mental health contexts.</p>
      </sec>
      <sec>
        <title>Potential Applications of the Predictive System</title>
        <p>If validated in clinical settings, embedding-based detection could be integrated into digital health platforms to assist clinicians in identifying individuals who may benefit from further assessment [<xref ref-type="bibr" rid="ref22">22</xref>]. At the population level, such methods could support epidemiological research on personality disorder–related discourse and, with appropriate calibration, inform resource allocation decisions [<xref ref-type="bibr" rid="ref21">21</xref>]. Content moderation represents another potential application, provided that fairness, false-positive rates (FPRs), and transparency are carefully evaluated [<xref ref-type="bibr" rid="ref26">26</xref>,<xref ref-type="bibr" rid="ref27">27</xref>]. Finally, researchers could leverage this framework for longitudinal and cross-cultural studies of narcissistic expression across digital communities, advancing both theory and practice in clinical personality science.</p>
      </sec>
      <sec>
        <title>Prior Work</title>
        <p>Computational psycholinguistics has evolved rapidly. Pennebaker et al’s [<xref ref-type="bibr" rid="ref24">24</xref>] linguistic inquiry and word count (LIWC) analyses first showed that lexical markers reveal emotional and personality signals, and De Choudhury et al [<xref ref-type="bibr" rid="ref4">4</xref>] leveraged similar methods for depression detection on Twitter. Embedding-based approaches soon followed, with Reece and Danforth’s [<xref ref-type="bibr" rid="ref25">25</xref>] demonstrating that vector representations of Instagram images and captions can predict depression [<xref ref-type="bibr" rid="ref27">27</xref>]. Building on our previous proof-of-concept study of suicidal ideation detection in Reddit posts [<xref ref-type="bibr" rid="ref28">28</xref>], we extend the same pipeline to the understudied domain of narcissistic grandiosity using text-embedding models.</p>
        <p>Lexical models of personality suggest that fundamental personality traits are naturally reflected in the language people use. Accordingly, written text should contain strong signals of these underlying traits [<xref ref-type="bibr" rid="ref29">29</xref>]. Sumner et al [<xref ref-type="bibr" rid="ref30">30</xref>] and Preoțiuc-Pietro et al [<xref ref-type="bibr" rid="ref31">31</xref>] applied machine learning to Twitter text to infer dark triad traits, including narcissism, achieving <italic>F</italic><sub>1</sub>-scores of approximately 0.70. These advances demonstrate that both surface-level features and deep embeddings capture stable trait information. However, few studies have examined pathological grandiosity in longer, self-reflective forum posts. Our study addresses this gap by systematically comparing frequency-based and embedding-based classifiers for detecting NPD markers in Reddit narratives.</p>
      </sec>
      <sec>
        <title>Personality Trait Prediction Using Machine Learning</title>
        <p>Across blogs, Facebook, and Reddit, researchers have shown that stylistic and semantic cues, such as pronoun use, emotion words, and discourse coherence, consistently reflect Big Five personality traits [<xref ref-type="bibr" rid="ref32">32</xref>-<xref ref-type="bibr" rid="ref36">36</xref>]. This body of work suggests that embedding models, which capture contextual nuances beyond n-gram counts, can robustly infer stable dispositional attributes from text. We therefore compare transformer embeddings with traditional term frequency-inverse document frequency (TF-IDF) and sentiment features to evaluate their relative performance in detecting pathological grandiosity.</p>
      </sec>
      <sec>
        <title>Personality Disorder Prediction Using Machine Learning</title>
        <p>Previous research on clinically related conditions supports the feasibility of algorithmic detection. Twitter-based models have achieved moderate <italic>F</italic><sub>1</sub>-scores (approximately 0.70) for dark triad traits, including narcissism [<xref ref-type="bibr" rid="ref30">30</xref>,<xref ref-type="bibr" rid="ref31">31</xref>], and LIWC-plus-regression approaches have correlated language use with narcissism scores in personal essays [<xref ref-type="bibr" rid="ref37">37</xref>]. More recently, Bidirectional Encoder Representations from Transformers (BERT)–based classifiers have achieved approximately 75% accuracy across multiple disorders [<xref ref-type="bibr" rid="ref38">38</xref>]. However, these studies relied on short texts or clinical assessment instruments rather than the rich, long-form narratives characteristic of Reddit. By contrast, our experiments leverage embeddings derived from long-form Reddit posts, hypothesizing that markers of grandiosity, which are subtler and more context dependent, are captured more reliably through deeper contextual representations.</p>
      </sec>
      <sec>
        <title>Ethical Context of Using Social-Media Data</title>
        <p>Alongside these advances, concerns about privacy and the potential for misuse have also emerged. Binns et al [<xref ref-type="bibr" rid="ref26">26</xref>] emphasized the need for transparency, fairness, and accountability in systems that predict personality traits. It is also important to acknowledge the risk that such predictive systems could be deployed in nonclinical settings, such as targeted advertising, workplace surveillance, or malicious profiling without individuals’ consent. As highlighted by Horvitz and Mulligan [<xref ref-type="bibr" rid="ref27">27</xref>], a responsible and collaborative approach is essential to minimize the risks of stigmatization, discrimination, and unjust treatment. Although this study aims to provide a foundation for ethical applications, such tools should be deployed only under strict ethical guidelines and in collaboration with qualified mental health professionals.</p>
        <p>Although Reddit posts are publicly accessible, contributors did not explicitly consent to their use in research and may not expect their content to inform mental health algorithms. This raises questions about users’ privacy expectations, data ownership, and the need for deidentification beyond simple username removal [<xref ref-type="bibr" rid="ref39">39</xref>-<xref ref-type="bibr" rid="ref41">41</xref>]. In this study, we obtained an institutional review board (IRB) exemption for the secondary analysis of publicly available data (see the “Methods” section) and applied best practices for anonymization and aggregate reporting throughout the study.</p>
      </sec>
    </sec>
    <sec sec-type="methods">
      <title>Methods</title>
      <sec>
        <title>Data Collection</title>
        <p>Reddit is a popular online discussion platform organized into topic-specific communities known as subreddits. Each subreddit focuses on a particular subject related to its name. Users can create posts consisting of a title and body text (referred to as selftext) within a subreddit. They can also upvote or downvote posts and leave comments. Most users participate under anonymous or pseudonymous usernames [<xref ref-type="bibr" rid="ref42">42</xref>].</p>
      </sec>
      <sec>
        <title>Data Extraction and Temporal Coverage</title>
        <p>We queried the Google BigQuery Reddit archive [<xref ref-type="bibr" rid="ref42">42</xref>] using GoogleSQL to retrieve the title and body (selftext) of every post from r/Narcissism and the selected control subreddits between January 2008 and September 2019. At the time of data extraction, the archive provided full access to all subreddit tables. However, access to these data was revoked shortly thereafter, precluding the inclusion of posts from 2020 onward. We acknowledge that language use and community norms may have evolved since 2019, which could limit the applicability of our model to more recent online discourse.</p>
      </sec>
      <sec>
        <title>Subreddit Selection and Post Filtering</title>
        <p>We selected r/Narcissism as our target community because it was the largest dedicated forum for discussions of pathological grandiosity, encompassing self-reports, third-party observations, and diagnostic queries. By contrast, related subreddits (eg, r/NPD and r/LifeAfterNarcissism) lacked sufficient post volume or topical breadth for robust model training at the time of data collection. To ensure linguistic consistency, we restricted our analysis to original post titles and bodies (selftext), excluding comments, which often contain reactive or more heterogeneous language.</p>
        <p>The likelihood of narcissistic manifestations in general-purpose communities is low, given the population prevalence of NPD. We selected 3 subreddits as control communities: r/DeepThoughts, where users share philosophical reflections; r/Showerthoughts, where users post spontaneous realizations and observations; and r/ImposterSyndrome, where users discuss self-doubt and fears of being exposed as fraudulent. Collectively, these communities represent psychological themes that contrast with narcissistic grandiosity.</p>
        <p>We extracted posts from these subreddits and excluded those with empty or deleted content or with body text containing fewer than 100 characters to ensure sufficient context for embedding-based feature extraction and reliable human annotation.</p>
      </sec>
      <sec>
        <title>Ethical Considerations</title>
        <sec>
          <title>Ethics Review and Approval</title>
          <p>This study used publicly available, deidentified Reddit posts and was determined to be exempt from full IRB review at Boğaziçi University (exemption/application number 2025-13).</p>
        </sec>
        <sec>
          <title>Informed Consent</title>
          <p>As this study involved the secondary analysis of publicly available data, the IRB waived the requirement for informed consent.</p>
        </sec>
        <sec>
          <title>Privacy and Confidentiality</title>
          <p>All posts were analyzed in aggregate, and no usernames or other identifying information was retained. The data were stored on secure computers. To prevent search-based reidentification, we paraphrased all illustrative post excerpts in the main manuscript and <xref ref-type="supplementary-material" rid="app1">Multimedia Appendix 1</xref> while preserving the linguistic features that each excerpt was selected to illustrate. Local Interpretable Model-Agnostic Explanations (LIME) attributions and all quantitative analyses were generated using the original, unparaphrased text.</p>
        </sec>
        <sec>
          <title>Compensation</title>
          <p>No compensation was provided because all data were obtained from publicly available sources.</p>
        </sec>
        <sec>
          <title>Use of Identifiable Images</title>
          <p>No images of individual users were included.</p>
        </sec>
      </sec>
      <sec>
        <title>Data Labeling</title>
        <p>A total of 9 labels (L1-L9; <xref ref-type="table" rid="table1">Table 1</xref>) were defined a priori through an iterative pilot process led by our computational science team (AEA and HOB), allowing multilabel annotation. Drawing on the DSM-5 diagnostic criteria for NPD [<xref ref-type="bibr" rid="ref7">7</xref>], we first coded 50 randomly sampled posts from the r/Narcissism subreddit to develop an initial label glossary. This preliminary schema was then reviewed and approved by 2 psychiatrists: NBA (an adult psychiatrist with clinical expertise in bipolar disorder, obsessive-compulsive disorder, depression, and anxiety) and OZ (a child psychiatrist), both of whom routinely encounter NPD in clinical practice. The 4 authors then collaboratively refined the label definitions and decision rules. A “Notes” field was included during annotation to flag posts that might require additional labels, although no new labels were ultimately identified.</p>
        <table-wrap position="float" id="table1">
          <label>Table 1</label>
          <caption>
            <p>Labels and their corresponding descriptions.</p>
          </caption>
          <table width="1000" cellpadding="5" cellspacing="0" border="1" rules="groups" frame="hsides">
            <col width="100"/>
            <col width="900"/>
            <thead>
              <tr valign="top">
                <td>Label</td>
                <td>Description</td>
              </tr>
            </thead>
            <tbody>
              <tr valign="top">
                <td>L1</td>
                <td>Normal talk (NPD<sup>a</sup>-trait-negative).</td>
              </tr>
              <tr valign="top">
                <td>L2</td>
                <td>The post contains markers of pathological grandiosity</td>
              </tr>
              <tr valign="top">
                <td>L3</td>
                <td>The author is asking whether the mentioned person exhibits NPD-consistent traits.</td>
              </tr>
              <tr valign="top">
                <td>L4</td>
                <td>The author is talking about a person displaying pathological grandiosity traits.</td>
              </tr>
              <tr valign="top">
                <td>L5</td>
                <td>The author is discussing NPD/pathological grandiosity concepts.</td>
              </tr>
              <tr valign="top">
                <td>L6</td>
                <td>The author may exhibit underlying pathological grandiosity markers, though none are explicitly present in this post.</td>
              </tr>
              <tr valign="top">
                <td>L7</td>
                <td>The author expresses markers of pathological grandiosity in this post.</td>
              </tr>
              <tr valign="top">
                <td>L8</td>
                <td>The author claims to exhibit NPD-consistent traits.</td>
              </tr>
              <tr valign="top">
                <td>L9</td>
                <td>The author is clinically diagnosed with NPD.</td>
              </tr>
            </tbody>
          </table>
          <table-wrap-foot>
            <fn id="table1fn1">
              <p><sup>a</sup>NPD: narcissistic personality disorder.</p>
            </fn>
          </table-wrap-foot>
        </table-wrap>
        <p>Following finalization of the annotation schema, NBA and OZ completed a structured calibration session facilitated by AEA and HOB that included the following:</p>
        <list list-type="bullet">
          <list-item>
            <p>Review of the DSM-5 trait definitions alongside the study-specific label glossary.</p>
          </list-item>
          <list-item>
            <p>Discussion of ambiguous or borderline cases.</p>
          </list-item>
          <list-item>
            <p>Joint review and annotation of a curated set of representative posts to align interpretation and coding decisions.</p>
          </list-item>
        </list>
        <p>During the initial annotation phase, NBA and OZ each independently annotated 483 distinct posts from the r/Narcissism subreddit (966 annotations in total). To comprehensively assess annotation reliability, we adopted a dual approach.</p>
      </sec>
      <sec>
        <title>Dual Approach to Assess Annotation Reliability</title>
        <sec>
          <title>Control-Subreddit Reliability</title>
          <p>We randomly selected 30 posts from each of 3 control subreddits (r/Showerthoughts, r/DeepThoughts, and r/ImposterSyndrome), with all identifying metadata removed. Both annotators independently coded these 90 blinded posts.</p>
        </sec>
        <sec>
          <title>Within-r/Narcissism Reliability</title>
          <p>For the r/Narcissism subreddit, we assessed both intrarater reliability and interrater agreement. Each annotator independently completed 30 blinded annotations: 15 reannotations of posts they had previously labeled to assess intrarater reliability and 15 annotations of posts originally labeled by the other annotator to assess interrater agreement.</p>
          <p>Labels L7 (expresses markers) and L8 (claims traits) were not assigned solely based on users’ self-reports. Instead, 2 experienced psychiatrists (with 23 and 20 years of clinical practice) evaluated each post for clinically meaningful markers consistent with the DSM-5 diagnostic criteria, including grandiosity, need for admiration, lack of empathy, entitlement, and interpersonal exploitation. This clinical validation ensured that our positive class (n=185) comprised posts containing psychiatrist-validated NPD markers across all categories, distinguishing our approach from studies that rely solely on self-reported data.</p>
          <p>Using multiple, fine-grained labels allowed us to capture different aspects of the problem. Specifically, the labeling scheme makes it possible to:</p>
          <list list-type="bullet">
            <list-item>
              <p>Predict whether an individual exhibiting NPD traits is involved in the post.</p>
            </list-item>
            <list-item>
              <p>Predict whether the author of the post appears to exhibit NPD traits.</p>
            </list-item>
            <list-item>
              <p>Predict whether the post contains markers consistent with NPD traits.</p>
            </list-item>
            <list-item>
              <p>Predict whether an individual with NPD traits is mentioned (eg, in the context of questions or complaints).</p>
            </list-item>
            <list-item>
              <p>Predict whether the post discusses the concept of NPD in general.</p>
            </list-item>
            <list-item>
              <p>Analyze the language used by individuals who exhibit NPD traits in their posts.</p>
            </list-item>
          </list>
          <p>We developed a custom software application [<xref ref-type="bibr" rid="ref43">43</xref>] to support multilabel annotation. <xref rid="figure1" ref-type="fig">Figure 1</xref> shows the annotation interface.</p>
          <fig id="figure1" position="float">
            <label>Figure 1</label>
            <caption>
              <p>Labeling software [<xref ref-type="bibr" rid="ref43">43</xref>]. The left panel displays the post, and the right panel contains the labeling tools and a notes field in which annotators record the rationale for their decisions. The example post content and annotator notes are redacted to protect privacy (see the "Privacy and Confidentiality" section).</p>
            </caption>
            <graphic xlink:href="jmir_v28i1e75799_fig1.png" alt-version="no" mimetype="image" position="float" xlink:type="simple"/>
          </fig>
        </sec>
      </sec>
      <sec>
        <title>Design of Experiments</title>
        <sec>
          <title>Overview</title>
          <p>We designed 3 experimental setups (A, B, and C). The experimental design for setup A is presented in <xref ref-type="table" rid="table2">Table 2</xref>.</p>
          <p>For clarity, we define posts exhibiting linguistic markers of pathological grandiosity consistent with the DSM-5 diagnostic criteria for NPD as NPD-trait-positive and posts without such markers as trait-negative control posts (see the “Limitations” section for a discussion of construct interpretation). Depending on the experimental setup, the specific label assignments to the NPD-trait-positive and trait-negative classes varied.</p>
          <table-wrap position="float" id="table2">
            <label>Table 2</label>
            <caption>
              <p>Experiment design for setup A and its objective<sup>a</sup>.</p>
            </caption>
            <table width="1000" cellpadding="5" cellspacing="0" border="1" rules="groups" frame="hsides">
              <col width="150"/>
              <col width="200"/>
              <col width="650"/>
              <thead>
                <tr valign="bottom">
                  <td>Experiment</td>
                  <td>Positive<sup>b</sup></td>
                  <td>Negative</td>
                </tr>
              </thead>
              <tbody>
                <tr valign="top">
                  <td>A1</td>
                  <td>NPD<sup>c</sup>-trait-positive</td>
                  <td>r/DeepThoughts</td>
                </tr>
                <tr valign="top">
                  <td>A2</td>
                  <td>NPD-trait-positive</td>
                  <td>r/ImposterSyndrome</td>
                </tr>
                <tr valign="top">
                  <td>A3</td>
                  <td>NPD-trait-positive</td>
                  <td>r/Showerthoughts</td>
                </tr>
                <tr valign="top">
                  <td>A4</td>
                  <td>NPD-trait-positive</td>
                  <td>NPD-trait-negative and r/Showerthoughts</td>
                </tr>
                <tr valign="top">
                  <td>A5</td>
                  <td>NPD-trait-positive</td>
                  <td>NPD-trait-negative</td>
                </tr>
              </tbody>
            </table>
            <table-wrap-foot>
              <fn id="table2fn1">
                <p><sup>a</sup>The objective was to classify whether a post contains linguistic markers of pathological grandiosity (NPD-trait-positive vs trait-negative control posts).</p>
              </fn>
              <fn id="table2fn2">
                <p><sup>b</sup>These positive-class posts were combined with negatively labeled posts in various data compositions in each experiment in setup A. See <xref ref-type="table" rid="table3">Table 3</xref> for the dataset design for setup A.</p>
              </fn>
              <fn id="table2fn3">
                <p><sup>c</sup>NPD: narcissistic personality disorder.</p>
              </fn>
            </table-wrap-foot>
          </table-wrap>
        </sec>
        <sec>
          <title>Setup A: Authors Exhibiting Pathological Grandiosity Markers</title>
          <sec>
            <title>Binary Classification of NPD Traits</title>
            <p>We first predicted whether the author of a post exhibited markers of pathological grandiosity (ie, NPD traits). Positive cases included posts assigned any of the following labels: (1) L7 (displays NPD traits); (2) L8 (claims to exhibit NPD traits); or (3) L9 (clinically diagnosed with NPD). We converted the annotations of posts from the r/Narcissism subreddit into binary class labels. Posts assigned any of the labels L7, L8, or L9 were classified as positive (ie, the author exhibited NPD traits). As posts could receive multiple labels, we applied explicit decision rules in setups A and B. A post was assigned to the positive class if it received at least one of the target labels (L7, L8, or L9), regardless of any co-occurring nontarget labels. For example, a post assigned both L4 and L7 was classified as positive. The decision rules for each setup are described in the corresponding sections, and the resulting label-to-class mappings are presented in <xref ref-type="table" rid="table3">Table 3</xref> (setup A), <xref ref-type="table" rid="table5">Table 5</xref> (setup B), and <xref ref-type="table" rid="table7">Table 7</xref> (setup C).</p>
            <table-wrap position="float" id="table3">
              <label>Table 3</label>
              <caption>
                <p>In setup A, the objective is to classify whether the author exhibits NPD<sup>a</sup> traits.<sup>b</sup></p>
              </caption>
              <table width="1000" cellpadding="5" cellspacing="0" border="1" rules="groups" frame="hsides">
                <col width="170"/>
                <col width="160"/>
                <col width="160"/>
                <col width="170"/>
                <col width="170"/>
                <col width="170"/>
                <thead>
                  <tr valign="bottom">
                    <td>Experiment</td>
                    <td>L<sup>c</sup>7-9</td>
                    <td>L1-6</td>
                    <td>DT<sup>d</sup></td>
                    <td>ST<sup>e</sup></td>
                    <td>IS<sup>f</sup></td>
                  </tr>
                </thead>
                <tbody>
                  <tr valign="top">
                    <td>A1</td>
                    <td>+</td>
                    <td>N/A<sup>g</sup></td>
                    <td>–</td>
                    <td>N/A</td>
                    <td>N/A</td>
                  </tr>
                  <tr valign="top">
                    <td>A2</td>
                    <td>+</td>
                    <td>N/A</td>
                    <td>N/A</td>
                    <td>N/A</td>
                    <td>–</td>
                  </tr>
                  <tr valign="top">
                    <td>A3</td>
                    <td>+</td>
                    <td>N/A</td>
                    <td>N/A</td>
                    <td>–</td>
                    <td>N/A</td>
                  </tr>
                  <tr valign="top">
                    <td>A4</td>
                    <td>+</td>
                    <td>–</td>
                    <td>N/A</td>
                    <td>–</td>
                    <td>N/A</td>
                  </tr>
                  <tr valign="top">
                    <td>A5</td>
                    <td>+</td>
                    <td>–</td>
                    <td>N/A</td>
                    <td>N/A</td>
                    <td>N/A</td>
                  </tr>
                </tbody>
              </table>
              <table-wrap-foot>
                <fn id="table3fn1">
                  <p><sup>a</sup>NPD: narcissistic personality disorder.</p>
                </fn>
                <fn id="table3fn2">
                  <p><sup>b</sup>Positive indicators are marked with +.</p>
                </fn>
                <fn id="table3fn3">
                  <p><sup>c</sup>L: label.</p>
                </fn>
                <fn id="table3fn4">
                  <p><sup>d</sup>DT denotes posts from r/DeepThoughts.</p>
                </fn>
                <fn id="table3fn5">
                  <p><sup>e</sup>ST denotes posts from r/Showerthoughts.</p>
                </fn>
                <fn id="table3fn6">
                  <p><sup>f</sup>IS denotes posts from r/ImposterSyndrome.</p>
                </fn>
                <fn id="table3fn7">
                  <p><sup>g</sup>N/A: not applicable.</p>
                </fn>
              </table-wrap-foot>
            </table-wrap>
          </sec>
          <sec>
            <title>A1: r/Narcissism (+) Versus r/DeepThoughts</title>
            <p>We used posts classified as NPD-trait-positive from the r/Narcissism subreddit and excluded the remaining posts from that subreddit. We then randomly sampled 185 posts from the r/DeepThoughts subreddit, where users share personal reflections, and used these as trait-negative control posts.</p>
          </sec>
          <sec>
            <title>A2: r/Narcissism (+) Versus r/ImposterSyndrome</title>
            <p>We used the NPD-trait-positive posts from the r/Narcissism subreddit and combined them with all available posts from the r/ImposterSyndrome subreddit, where users discuss their own experiences with impostor syndrome. These posts were treated as NPD-trait-negative. We then applied the SMOTE (Synthetic Minority Over-sampling Technique)-Tomek method to balance the data. This approach combines SMOTE [<xref ref-type="bibr" rid="ref44">44</xref>] with Tomek Links [<xref ref-type="bibr" rid="ref45">45</xref>].</p>
          </sec>
          <sec>
            <title>A3: r/Narcissism (+) Versus r/Showerthoughts</title>
            <p>We used the NPD-trait-positive posts from the r/Narcissism subreddit and randomly sampled an equal number of posts from the r/Showerthoughts subreddit, where users share spontaneous observations and reflections. These posts were treated as NPD-trait-negative.</p>
          </sec>
          <sec>
            <title>A4: r/Narcissism (+) Versus (r/NPD-Trait-Negative and r/Showerthoughts)</title>
            <p>We used the NPD-trait-positive posts from the r/Narcissism subreddit. We then created a control group consisting of an equal number of posts randomly sampled from the r/Showerthoughts subreddit and posts randomly sampled from the r/Narcissism subreddit that were labeled as negative (see <xref ref-type="table" rid="table3">Table 3</xref>). All of these posts were treated as NPD-trait-negative. We then randomly downsampled the combined trait-negative set by half to obtain equal numbers of posts in the positive and negative classes.</p>
          </sec>
          <sec>
            <title>A5: r/Narcissism (+) Versus r/NPD-Trait-Negative</title>
            <p>We designed a more challenging experimental setup using NPD-trait-positive posts from the r/Narcissism subreddit together with an equal number of posts from the same subreddit that were labeled as negative (see <xref ref-type="table" rid="table3">Table 3</xref>). This experiment was designed to determine whether a classifier could distinguish posts written by individuals exhibiting NPD traits from those written by individuals who do not. We expected lower predictive performance because of the higher level of noise in the dataset. Specifically, posts discussing narcissism in general or describing individuals with NPD traits other than the author were labeled as negative, although they may still contain NPD-related language, thereby introducing noise into the classifier. We therefore performed random undersampling rather than applying SMOTE-Tomek, as oversampling a noisy dataset could amplify the noise.</p>
          </sec>
        </sec>
        <sec>
          <title>Setup B: Individuals Exhibiting Pathological Grandiosity Within Posts</title>
          <p>We aimed to predict whether a post involves an individual (not necessarily the author) exhibiting NPD traits.</p>
          <p>We replicated the experiments from setup A with a revised problem definition (<xref ref-type="table" rid="table4">Table 4</xref>), resulting in a different label-to-class mapping. Whereas setup A aimed to predict whether the author of a post (1) displayed NPD traits (L7), (2) claimed to exhibit NPD traits (L8), or (3) had a clinical diagnosis of NPD (L9), setup B aimed to predict whether the post involved an individual with NPD traits, regardless of whether that individual was the author or someone else mentioned in the post. Accordingly, we converted the annotations of posts from the r/Narcissism subreddit into binary class labels by including the additional labels L2, L4, and L6 in the positive class. The label-to-class mapping used in setup B is presented in <xref ref-type="table" rid="table5">Table 5</xref>.</p>
          <table-wrap position="float" id="table4">
            <label>Table 4</label>
            <caption>
              <p>Experiment design for setup B and its objective<sup>a</sup>.</p>
            </caption>
            <table width="1000" cellpadding="5" cellspacing="0" border="1" rules="groups" frame="hsides">
              <col width="200"/>
              <col width="300"/>
              <col width="500"/>
              <thead>
                <tr valign="top">
                  <td>Experiment</td>
                  <td>Positive</td>
                  <td>Negative</td>
                </tr>
              </thead>
              <tbody>
                <tr valign="top">
                  <td>B1</td>
                  <td>NPD<sup>b</sup>-trait-positive</td>
                  <td>r/DeepThoughts</td>
                </tr>
                <tr valign="top">
                  <td>B2</td>
                  <td>NPD-trait-positive</td>
                  <td>r/ImposterSyndrome</td>
                </tr>
                <tr valign="top">
                  <td>B3</td>
                  <td>NPD-trait-positive</td>
                  <td>r/Showerthoughts</td>
                </tr>
                <tr valign="top">
                  <td>B4</td>
                  <td>NPD-trait-positive</td>
                  <td>NPD-trait-negative and r/Showerthoughts</td>
                </tr>
                <tr valign="top">
                  <td>B5</td>
                  <td>NPD-trait-positive</td>
                  <td>NPD-trait-negative</td>
                </tr>
              </tbody>
            </table>
            <table-wrap-foot>
              <fn id="table4fn1">
                <p><sup>a</sup>Detect involvement of individuals exhibiting pathological grandiosity traits within posts.</p>
              </fn>
              <fn id="table4fn2">
                <p><sup>b</sup>NPD: narcissistic personality disorder.</p>
              </fn>
            </table-wrap-foot>
          </table-wrap>
          <table-wrap position="float" id="table5">
            <label>Table 5</label>
            <caption>
              <p>In setup B, the objective is to classify whether a post involves an individual exhibiting NPD<sup>a</sup> traits.<sup>b</sup></p>
            </caption>
            <table width="1000" cellpadding="5" cellspacing="0" border="1" rules="groups" frame="hsides">
              <col width="130"/>
              <col width="240"/>
              <col width="230"/>
              <col width="140"/>
              <col width="130"/>
              <col width="130"/>
              <thead>
                <tr valign="bottom">
                  <td>Experiment</td>
                  <td>L<sup>c</sup>2, L4, and L6-L9</td>
                  <td>L1, L3, and L5</td>
                  <td>DT<sup>d</sup></td>
                  <td>ST<sup>e</sup></td>
                  <td>IS<sup>f</sup></td>
                </tr>
              </thead>
              <tbody>
                <tr valign="top">
                  <td>B1</td>
                  <td>+</td>
                  <td>N/A<sup>g</sup></td>
                  <td>–</td>
                  <td>N/A</td>
                  <td>N/A</td>
                </tr>
                <tr valign="top">
                  <td>B2</td>
                  <td>+</td>
                  <td>N/A</td>
                  <td>N/A</td>
                  <td>N/A</td>
                  <td>–</td>
                </tr>
                <tr valign="top">
                  <td>B3</td>
                  <td>+</td>
                  <td>N/A</td>
                  <td>N/A</td>
                  <td>–</td>
                  <td>N/A</td>
                </tr>
                <tr valign="top">
                  <td>B4</td>
                  <td>+</td>
                  <td>–</td>
                  <td>N/A</td>
                  <td>–</td>
                  <td>N/A</td>
                </tr>
                <tr valign="top">
                  <td>B5</td>
                  <td>+</td>
                  <td>–</td>
                  <td>N/A</td>
                  <td>N/A</td>
                  <td>N/A</td>
                </tr>
              </tbody>
            </table>
            <table-wrap-foot>
              <fn id="table5fn1">
                <p><sup>a</sup>NPD: narcissistic personality disorder.</p>
              </fn>
              <fn id="table5fn2">
                <p><sup>b</sup>Positive indicators are marked with +.</p>
              </fn>
              <fn id="table5fn3">
                <p><sup>c</sup>L: label.</p>
              </fn>
              <fn id="table5fn4">
                <p><sup>d</sup>DT denotes posts from r/DeepThoughts.</p>
              </fn>
              <fn id="table5fn5">
                <p><sup>e</sup>ST denotes posts from r/Showerthoughts.</p>
              </fn>
              <fn id="table5fn6">
                <p><sup>f</sup>IS denotes posts from r/ImposterSyndrome.</p>
              </fn>
              <fn id="table5fn7">
                <p><sup>g</sup>N/A: not applicable.</p>
              </fn>
            </table-wrap-foot>
          </table-wrap>
        </sec>
        <sec>
          <title>Setup C: Fine-Grain Classification</title>
          <sec>
            <title>Mutually Exclusive Class Assignment</title>
            <p>We used posts from the r/Narcissism subreddit to investigate increasingly fine-grained classification tasks (<xref ref-type="table" rid="table6">Tables 6</xref> and <xref ref-type="table" rid="table7">7</xref>; <xref rid="figure2" ref-type="fig">Figure 2</xref>). Unlike setups A and B, in which a post was assigned to the positive class if it contained any positive-class label regardless of co-occurring labels, setup C required mutually exclusive class assignments. Posts containing labels assigned to both the positive and negative classes for a given experiment were excluded to prevent label leakage. For example, in C4 (author vs third-person NPD markers), a post assigned both L4 (third person) and L7 (author expresses markers) was excluded. The same rule was applied in the multiclass experiment C1, in which posts spanning more than 1 of the 3 classes (irrelevant, NPD-related, or individual exhibiting NPD traits) were excluded. After these exclusions, the analyzed sample sizes were as follows: C1, n=935 (31 excluded; 183 irrelevant, 170 NPD-related, and 582 individual exhibiting NPD traits); C2, n=964 (2 excluded; 183 negative and 781 positive); C3, n=754 (29 excluded; 170 negative and 584 positive); and C4, n=602 (11 excluded; 410 negative and 192 positive).</p>
            <table-wrap position="float" id="table6">
              <label>Table 6</label>
              <caption>
                <p>Experiment design for setup C: granular classification of NPD<sup>a</sup> trait–related posts.</p>
              </caption>
              <table width="1000" cellpadding="5" cellspacing="0" border="1" rules="groups" frame="hsides">
                <col width="150"/>
                <col width="400"/>
                <col width="450"/>
                <thead>
                  <tr valign="top">
                    <td>Experiment</td>
                    <td>Comparison</td>
                    <td>Objective</td>
                  </tr>
                </thead>
                <tbody>
                  <tr valign="top">
                    <td>C1</td>
                    <td>Irrelevant vs NPD-related vs an individual exhibiting NPD traits</td>
                    <td>To determine whether a post involves an individual exhibiting NPD traits, is NPD-related, or is irrelevant.</td>
                  </tr>
                  <tr valign="top">
                    <td>C2</td>
                    <td>Irrelevant vs (NPD-related &#124; an individual exhibiting NPD traits)</td>
                    <td>To determine whether the post is related to NPD traits, or individuals exhibiting NPD traits.</td>
                  </tr>
                  <tr valign="top">
                    <td>C3</td>
                    <td>NPD-related vs individuals exhibiting NPD traits</td>
                    <td>To determine whether a particular individual exhibiting NPD traits is involved in the post or the post is about narcissism.</td>
                  </tr>
                  <tr valign="top">
                    <td>C4</td>
                    <td>Author exhibiting NPD-traits vs a third person exhibiting NPD traits</td>
                    <td>To determine whether the mentioned individual exhibiting NPD traits is the author or another third person.</td>
                  </tr>
                </tbody>
              </table>
              <table-wrap-foot>
                <fn id="table6fn1">
                  <p><sup>a</sup>NPD: narcissistic personality disorder.</p>
                </fn>
              </table-wrap-foot>
            </table-wrap>
            <table-wrap position="float" id="table7">
              <label>Table 7</label>
              <caption>
                <p>In setup C, the objective is to perform multiclass and layered binary classification.<sup>a</sup></p>
              </caption>
              <table width="1000" cellpadding="5" cellspacing="0" border="1" rules="groups" frame="hsides">
                <col width="100"/>
                <col width="100"/>
                <col width="100"/>
                <col width="100"/>
                <col width="100"/>
                <col width="100"/>
                <col width="100"/>
                <col width="100"/>
                <col width="100"/>
                <col width="100"/>
                <thead>
                  <tr valign="top">
                    <td>Experiment</td>
                    <td>L<sup>b</sup>1</td>
                    <td>L2</td>
                    <td>L3</td>
                    <td>L4</td>
                    <td>L5</td>
                    <td>L6</td>
                    <td>L7</td>
                    <td>L8</td>
                    <td>L9</td>
                  </tr>
                </thead>
                <tbody>
                  <tr valign="top">
                    <td>C1<sup>c</sup></td>
                    <td>a</td>
                    <td>b</td>
                    <td>c</td>
                    <td>c</td>
                    <td>b</td>
                    <td>c</td>
                    <td>c</td>
                    <td>c</td>
                    <td>c</td>
                  </tr>
                  <tr valign="top">
                    <td>C2<sup>d</sup></td>
                    <td>d</td>
                    <td>e</td>
                    <td>e</td>
                    <td>e</td>
                    <td>e</td>
                    <td>e</td>
                    <td>e</td>
                    <td>e</td>
                    <td>e</td>
                  </tr>
                  <tr valign="top">
                    <td>C3<sup>e</sup></td>
                    <td>–</td>
                    <td>f</td>
                    <td>g</td>
                    <td>g</td>
                    <td>f</td>
                    <td>g</td>
                    <td>g</td>
                    <td>g</td>
                    <td>g</td>
                  </tr>
                  <tr valign="top">
                    <td>C4<sup>f</sup></td>
                    <td>–</td>
                    <td>–</td>
                    <td>h</td>
                    <td>h</td>
                    <td>–</td>
                    <td>i</td>
                    <td>i</td>
                    <td>i</td>
                    <td>i</td>
                  </tr>
                </tbody>
              </table>
              <table-wrap-foot>
                <fn id="table7fn1">
                  <p><sup>a</sup>Cells marked with “–” indicate labels that were not used by the corresponding classifier.</p>
                </fn>
                <fn id="table7fn2">
                  <p><sup>b</sup>L: label.</p>
                </fn>
                <fn id="table7fn3">
                  <p><sup>c</sup>C1: 3-class classifier. a=irrelevant; b=narcissistic personality disorder related; and c=individual exhibiting narcissistic personality disorder traits.</p>
                </fn>
                <fn id="table7fn4">
                  <p><sup>d</sup>C2: a first-level binary classifier. d=irrelevant; and e=narcissistic personality disorder–related or an individual exhibiting narcissistic personality disorder traits.</p>
                </fn>
                <fn id="table7fn5">
                  <p><sup>e</sup>C3: second-level cascade binary classifier, which further classifies the ones classified as e in C2. f=narcissistic personality disorder related; and g=an individual exhibiting narcissistic personality disorder traits.</p>
                </fn>
                <fn id="table7fn6">
                  <p><sup>f</sup>C4: Third-level cascade binary classifier, which further classifies the ones classified as g in C3. h=a third person exhibiting narcissistic personality disorder traits; and i=the author exhibiting narcissistic personality disorder traits.</p>
                </fn>
              </table-wrap-foot>
            </table-wrap>
            <fig id="figure2" position="float">
              <label>Figure 2</label>
              <caption>
                <p>Layered view of the class structure for the fine-grained setup C experiments (C1-C4). Each row shows the class assignments for a given experiment. Block sizes and vertical alignment are schematic and do not indicate exact post counts or hierarchical nesting (see the setup C text for exact sample sizes). NPD: narcissistic personality disorder.</p>
              </caption>
              <graphic xlink:href="jmir_v28i1e75799_fig2.png" alt-version="no" mimetype="image" position="float" xlink:type="simple"/>
            </fig>
            <p>These samples are not nested, although <xref rid="figure2" ref-type="fig">Figure 2</xref> presents C2-C4 as a conceptual cascade. Each experiment was trained and evaluated using its own ground-truth labels rather than the predictions from the preceding experiment. C3 excluded the 29 posts that were ambiguous with respect to the contrast between NPD-related content (L2 and L5) and posts involving individuals exhibiting NPD traits (L3, L4, and L6-L9). By contrast, C4 addressed a different classification task (author vs third person) and therefore reinstated those 29 posts, drawing from all 613 posts involving individuals exhibiting NPD traits while excluding only the 11 posts assigned to both classes (n=602 = 584 + 29 − 11). The individual-exhibiting class in C1 (n=582) was slightly smaller than that in C3 (n=584) because C1 additionally excluded the 2 posts that also carried the irrelevant label (L1).</p>
            <p>Using posts from the r/Narcissism subreddit, we implemented a multiclass and cascade classification framework to investigate increasingly fine-grained classification tasks. The framework consisted of the following 4 steps:</p>
            <list list-type="bullet">
              <list-item>
                <p>C1: a multiclass classification task that categorized each post as NPD related, an individual exhibiting NPD traits, or irrelevant.</p>
              </list-item>
              <list-item>
                <p>C2: a binary classification task using the same dataset to determine whether a post was NPD related or unrelated (normal discussion).</p>
              </list-item>
              <list-item>
                <p>C3: a binary classification task applied to the NPD-related posts to determine whether a post discussed the concept of NPD or a specific individual exhibiting NPD traits.</p>
              </list-item>
              <list-item>
                <p>C4: a binary classification task applied to posts mentioning specific individuals exhibiting NPD traits to determine whether the individual was the author or another person.</p>
              </list-item>
            </list>
            <p>This stepwise approach first captures broad classification patterns (C1) and then incrementally refines the classification (C2-C4) to achieve greater specificity.</p>
          </sec>
          <sec>
            <title>C1: Can We Classify This Post Into 3 Classes?</title>
            <p>We aimed to classify posts into 1 of 3 categories: irrelevant (L1), NPD related (L2 and L5), or an individual exhibiting NPD traits (L3, L4, and L6-L9). We used a OneVsRestClassifier (one-vs-all) with LR for this multiclass classification task. This approach fits 1 classifier for each class, with each classifier trained to distinguish its target class from all remaining classes. As multiclass classification is inherently more complex than binary classification, lower predictive performance was expected.</p>
          </sec>
          <sec>
            <title>C2: NPD Theme</title>
            <p>As an alternative to experiment C1, we performed a series of binary classification tasks. In the first task (C2), we aimed to determine whether a post was related to the theme of NPD. Posts labeled normal talk (L1) were assigned to the negative class (unrelated), whereas all remaining posts were assigned to the positive class (NPD related).</p>
          </sec>
          <sec>
            <title>C3: NPD-Related Versus Individuals Exhibiting NPD Traits</title>
            <p>In this experiment, we included only posts classified as NPD related in C2 (ie, posts assigned labels L2-L9). We then categorized these posts into 1 of 2 classes: (1) NPD related (L2 and L5) or (2) individual exhibiting NPD traits (L3, L4, and L6-L9).</p>
          </sec>
          <sec>
            <title>C4: Author Exhibiting NPD Traits Versus an Individual in the Post Exhibiting NPD Traits</title>
            <p>We then aimed to distinguish whether the individual exhibiting NPD traits was the author of the post (L6-L9) or another person mentioned in the post (L3 and L4).</p>
          </sec>
        </sec>
      </sec>
      <sec>
        <title>Feature Engineering Summary</title>
        <p>We used 2 main approaches for feature extraction: (1) frequency- and sentiment-based analysis (FSA) and (2) text-embedding models. The FSA approach involved standard NLP preprocessing and TF-IDF– and sentiment-based features, whereas the embedding approach used transformer-based models, including BERT [<xref ref-type="bibr" rid="ref46">46</xref>], Large Language Model Meta AI 3 (LLaMA3) [<xref ref-type="bibr" rid="ref47">47</xref>], MiniLM [<xref ref-type="bibr" rid="ref48">48</xref>], Nomic [<xref ref-type="bibr" rid="ref49">49</xref>], and OpenAI’s embedding API. Feature selection was performed using ANOVA [<xref ref-type="bibr" rid="ref50">50</xref>] <italic>F</italic> values, and class imbalance was addressed through SMOTE-Tomek or random downsampling. For the FSA features, SelectKBest with f_classif was implemented within the scikit-learn pipeline fitted by GridSearchCV, ensuring that feature selection was performed independently within each cross-validation training fold without access to the corresponding validation fold or the held-out test set. For transformer embeddings, the feature-selection step was bypassed (passthrough), and no feature selection was performed. Classification models included LR, SVM, XGB, and RF, with 5-fold cross-validation used for hyperparameter tuning. Full methodological details are provided in <xref ref-type="supplementary-material" rid="app2">Multimedia Appendix 2</xref>.</p>
      </sec>
      <sec>
        <title>Class Imbalance and Resampling Strategy</title>
        <p>The prevalence of NPD traits in the general population is low (approximately 1%-6%) [<xref ref-type="bibr" rid="ref11">11</xref>]. Consequently, when the r/Narcissism subreddit is compared with high-traffic control communities (eg, r/Showerthoughts, with approximately 72,000 posts), the raw corpus is inherently imbalanced. This reflects prospective surveillance settings in which the target class is expected to be rare. We therefore adopted a 2-step strategy: (1) setup A and B experiments, except A2/B2, were balanced through equal sampling or random undersampling during data preparation; and (2) experiments A2/B2 and setup C experiments (C1-C4) retained their natural class distributions and used SMOTE-Tomek to synthesize minority samples and remove Tomek links. For these imbalanced experiments, SMOTE-Tomek was applied within the training pipeline. For the prebalanced experiments, the resampling step was set to passthrough; neither SMOTE interpolation nor Tomek-link removal was performed.</p>
        <p>We did not resample the held-out test folds; therefore, they retained their stratified class composition (50% positive in A1, A3-A5, B1, B3, B4, and B5; 74% in A2; and 89% in B2) rather than reflecting the 1%-6% population prevalence. Receiver operating characteristic-area under the curve (ROC-AUC) and recall are independent of prevalence as long as the class-conditional score distributions remain stable. By contrast, precision and <italic>F</italic><sub>1</sub>-scores are prevalence dependent, and the values reported here correspond to the prevalence within the test sets. The “Limitations” section discusses the implications of this approach for deployment and the assumptions underlying its interpretation.</p>
      </sec>
      <sec>
        <title>Machine Learning Pipeline Overview</title>
        <sec>
          <title>Feature Engineering and Classification Models</title>
          <p>We compared 2 feature-engineering pipelines. The frequency and sentiment analysis (FSA) approach combined classical text features (TF-IDF n-grams and sentiment scores generated using TextBlob), extracted with scikit-learn and the Natural Language Toolkit. The second pipeline generated dense embeddings from transformer models, including all-MiniLM-L6-v2 via sentence-transformers v2.2.2 and OpenAI’s text-embedding-3-large. For each pipeline, we trained 4 classifiers: LR as an interpretable baseline, SVM for high-dimensional margin-based separation, RF for capturing nonlinear interactions, and XGB for enhanced predictive performance. These models were selected to represent both linear and ensemble approaches.</p>
          <p>All models were evaluated using an 80/20 stratified train-test split (random_state=42), with hyperparameters optimized through 5-fold cross-validation within the 80% training set. We report <italic>F</italic><sub>1</sub>-score (the harmonic mean of precision and recall), ROC-AUC, and accuracy on the held-out 20% test set. Binary predictions were generated using the default 0.5 decision threshold, and the test set was not used to optimize the operating point. For the multiclass experiment (C1), we report weighted <italic>F</italic><sub>1</sub>-score (scikit-learn average=“weighted”), in which each class’s <italic>F</italic><sub>1</sub>-score is weighted according to its support. To ensure full reproducibility, all stochastic steps, including data splitting, SMOTE-Tomek balancing, feature selection, and model training, used fixed random seeds. Environment details, exact code snippets, and package versions are provided in <xref ref-type="supplementary-material" rid="app2">Multimedia Appendix 2</xref>.</p>
          <p>Given the relatively small size of our dataset, we selected 5-fold cross-validation as a balance between reliable performance estimation and reasonable computational cost. Using 10-fold cross-validation would have reduced each validation fold to only 10% of the training data, potentially increasing variance in performance estimates. Moreover, our preliminary experiments showed negligible improvements in mean <italic>F</italic><sub>1</sub>-score compared with 5-fold cross-validation. The remaining 20% of the data was held out entirely (not used during cross-validation) and evaluated only once after completion of all model tuning to provide an unbiased assessment on the test set.</p>
        </sec>
        <sec>
          <title>Compliance With Machine Learning Reporting Guidelines</title>
          <p>We adhered to the Guidelines for Developing and Reporting Machine Learning Predictive Models in Biomedical Research [<xref ref-type="bibr" rid="ref51">51</xref>], documenting each stage of our workflow, from data sourcing and outcome definition to feature engineering, hyperparameter tuning, internal validation, and performance reporting. This ensured transparency and reproducibility (see <xref ref-type="supplementary-material" rid="app3">Multimedia Appendix 3</xref> for the completed checklist).</p>
        </sec>
        <sec>
          <title>Data Collection and Cohort Definition</title>
          <list list-type="bullet">
            <list-item>
              <p>Time window: We collected all publicly available Reddit posts from January 1, 2009, to August 31, 2019.</p>
            </list-item>
            <list-item>
              <p>Subreddits: We retrieved posts from r/Narcissism, r/ImposterSyndrome, r/Showerthoughts, and r/DeepThoughts.</p>
            </list-item>
            <list-item>
              <p>Language filter: We retained only English-language posts.</p>
            </list-item>
            <list-item>
              <p>Length filter: We excluded posts with fewer than 100 characters.</p>
            </list-item>
          </list>
        </sec>
      </sec>
    </sec>
    <sec sec-type="results">
      <title>Results</title>
      <sec>
        <title>Data Extraction Results</title>
        <p>See <xref ref-type="table" rid="table8">Table 8</xref> for the post count for each subreddit.</p>
        <table-wrap position="float" id="table8">
          <label>Table 8</label>
          <caption>
            <p>Number of posts extracted from each subreddit.</p>
          </caption>
          <table width="1000" cellpadding="5" cellspacing="0" border="1" rules="groups" frame="hsides">
            <col width="300"/>
            <col width="700"/>
            <thead>
              <tr valign="top">
                <td>Subreddit</td>
                <td>Count, n</td>
              </tr>
            </thead>
            <tbody>
              <tr valign="top">
                <td>r/Narcissism</td>
                <td>966</td>
              </tr>
              <tr valign="top">
                <td>r/DeepThoughts</td>
                <td>2216</td>
              </tr>
              <tr valign="top">
                <td>r/Showerthoughts</td>
                <td>72,740</td>
              </tr>
              <tr valign="top">
                <td>r/ImposterSyndrome</td>
                <td>63</td>
              </tr>
              <tr valign="top">
                <td>Total</td>
                <td>75,985</td>
              </tr>
            </tbody>
          </table>
        </table-wrap>
      </sec>
      <sec>
        <title>Annotation Results</title>
        <p>See <xref ref-type="table" rid="table9">Table 9</xref> for the frequencies of each label and their overlaps. The rowSum column is calculated as <inline-graphic xlink:href="jmir_v28i1e75799_fig3.png" xlink:type="simple" mimetype="image"/>; therefore, it exceeds &#124;<italic>L<sub>i</sub></italic>&#124; whenever any off-diagonal entry in the corresponding row is nonzero. This occurs because each multilabeled post is counted once for each additional label assigned.</p>
        <p>Analysis of label co-occurrence revealed several notable patterns. The most frequent triple-label combination was the co-occurrence of L3, L7, and L8, which appeared in 4 posts. Other triple-label combinations included L3, L4, and L8 (2 posts), whereas the combinations {L2, L3, L4}, {L2, L4, L9}, and {L2, L7, L8} each appeared in 1 post.</p>
        <p>For setup A, the positive class consisted of posts assigned labels L7, L8, or L9, comprising 185 posts. Inclusion-exclusion using the marginal totals and pairwise intersections from <xref ref-type="table" rid="table9">Table 9</xref> confirms this: &#124;L7 ∪ L8 ∪ L9&#124; = &#124;L7&#124; + &#124;L8&#124; + &#124;L9&#124; − &#124;L7∩L8&#124; − &#124;L7∩L9&#124; − &#124;L8∩L9&#124; + &#124;L7∩L8∩L9&#124; = 53 + 123 + 17 − 7 − 0 − 1 + 0 = 185. The triple-intersection term is 0 because no post in the corpus was assigned all 3 labels (L7, L8, and L9). Each of these 185 posts contained either 1 or 2 of the 3 labels. See <xref ref-type="supplementary-material" rid="app4">Multimedia Appendix 4</xref> for the observed label overlaps.</p>
        <table-wrap position="float" id="table9">
          <label>Table 9</label>
          <caption>
            <p>Co-occurrence matrix of annotated posts.<sup>a</sup></p>
          </caption>
          <table width="1000" cellpadding="5" cellspacing="0" border="1" rules="groups" frame="hsides">
            <col width="70"/>
            <col width="70"/>
            <col width="70"/>
            <col width="70"/>
            <col width="70"/>
            <col width="70"/>
            <col width="70"/>
            <col width="70"/>
            <col width="70"/>
            <col width="70"/>
            <col width="100"/>
            <col width="100"/>
            <col width="100"/>
            <thead>
              <tr valign="bottom">
                <td>Label</td>
                <td>L<sup>b</sup>1</td>
                <td>L2</td>
                <td>L3</td>
                <td>L4</td>
                <td>L5</td>
                <td>L6</td>
                <td>L7</td>
                <td>L8</td>
                <td>L9</td>
                <td>rowSum</td>
                <td>diagonal</td>
                <td>diagonalOff</td>
              </tr>
            </thead>
            <tbody>
              <tr valign="top">
                <td>L1</td>
                <td>
                  <italic>185</italic>
                </td>
                <td>0</td>
                <td>2</td>
                <td>0</td>
                <td>0</td>
                <td>0</td>
                <td>0</td>
                <td>0</td>
                <td>0</td>
                <td>187</td>
                <td>185</td>
                <td>2</td>
              </tr>
              <tr valign="top">
                <td>L2</td>
                <td>0</td>
                <td>
                  <italic>22</italic>
                </td>
                <td>2</td>
                <td>6</td>
                <td>1</td>
                <td>0</td>
                <td>1</td>
                <td>3</td>
                <td>1</td>
                <td>36</td>
                <td>22</td>
                <td>14</td>
              </tr>
              <tr valign="top">
                <td>L3</td>
                <td>2</td>
                <td>2</td>
                <td>
                  <italic>145</italic>
                </td>
                <td>25</td>
                <td>3</td>
                <td>0</td>
                <td>4</td>
                <td>6</td>
                <td>0</td>
                <td>187</td>
                <td>145</td>
                <td>42</td>
              </tr>
              <tr valign="top">
                <td>L4</td>
                <td>0</td>
                <td>6</td>
                <td>25</td>
                <td>
                  <italic>301</italic>
                </td>
                <td>11</td>
                <td>0</td>
                <td>0</td>
                <td>6</td>
                <td>1</td>
                <td>350</td>
                <td>301</td>
                <td>49</td>
              </tr>
              <tr valign="top">
                <td>L5</td>
                <td>0</td>
                <td>1</td>
                <td>3</td>
                <td>11</td>
                <td>
                  <italic>178</italic>
                </td>
                <td>0</td>
                <td>0</td>
                <td>5</td>
                <td>0</td>
                <td>198</td>
                <td>178</td>
                <td>20</td>
              </tr>
              <tr valign="top">
                <td>L6</td>
                <td>0</td>
                <td>0</td>
                <td>0</td>
                <td>0</td>
                <td>0</td>
                <td>
                  <italic>18</italic>
                </td>
                <td>0</td>
                <td>0</td>
                <td>0</td>
                <td>18</td>
                <td>18</td>
                <td>0</td>
              </tr>
              <tr valign="top">
                <td>L7</td>
                <td>0</td>
                <td>1</td>
                <td>4</td>
                <td>0</td>
                <td>0</td>
                <td>0</td>
                <td>
                  <italic>53</italic>
                </td>
                <td>7</td>
                <td>0</td>
                <td>65</td>
                <td>53</td>
                <td>12</td>
              </tr>
              <tr valign="top">
                <td>L8</td>
                <td>0</td>
                <td>3</td>
                <td>6</td>
                <td>6</td>
                <td>5</td>
                <td>0</td>
                <td>7</td>
                <td>
                  <italic>123</italic>
                </td>
                <td>1</td>
                <td>151</td>
                <td>123</td>
                <td>28</td>
              </tr>
              <tr valign="top">
                <td>L9</td>
                <td>0</td>
                <td>1</td>
                <td>0</td>
                <td>1</td>
                <td>0</td>
                <td>0</td>
                <td>0</td>
                <td>1</td>
                <td>
                  <italic>17</italic>
                </td>
                <td>20</td>
                <td>17</td>
                <td>3</td>
              </tr>
              <tr valign="top">
                <td>Sum</td>
                <td>187</td>
                <td>36</td>
                <td>187</td>
                <td>350</td>
                <td>198</td>
                <td>18</td>
                <td>65</td>
                <td>151</td>
                <td>20</td>
                <td>
                  <italic>1212</italic>
                </td>
                <td>
                  <italic>1042</italic>
                </td>
                <td>
                  <italic>170</italic>
                </td>
              </tr>
            </tbody>
          </table>
          <table-wrap-foot>
            <fn id="table9fn1">
              <p><sup>a</sup>Italicized diagonal entries represent marginal totals (&#124;<italic>L<sub>i</sub></italic>&#124;), indicating the number of posts carrying label <italic>L<sub>i</sub></italic> (possibly with other labels), rather than single-label counts. Off-diagonal entries (<italic>i</italic>,<italic>j</italic>) represent pairwise intersections (&#124;<italic>L<sub>i</sub></italic> ∩ <italic>L<sub>j</sub></italic>&#124;). See <xref ref-type="table" rid="table1">Table 1</xref> for label definitions.</p>
            </fn>
            <fn id="table9fn2">
              <p><sup>b</sup>L: label.</p>
            </fn>
          </table-wrap-foot>
        </table-wrap>
      </sec>
      <sec>
        <title>Annotation Reliability Assessment</title>
        <p>We conducted a comprehensive reliability assessment that included both interrater agreement (between annotators) and intrarater reliability (temporal stability). Full reliability metrics are provided in <xref ref-type="supplementary-material" rid="app5">Multimedia Appendix 5</xref>. Reliability was assessed using 30 blinded r/Narcissism posts, with fair agreement on the 9-point scale (κ=0.39) and substantial agreement on binary classifications (setup A: κ=0.75; setup B: κ=0.79). Intrarater reliability showed fair agreement on the 9-point scale (κ=0.23) and substantial agreement on binary classifications (mean κ=0.74 for setup A and 0.66 for setup B), indicating good temporal stability. Cross-subreddit validation using 90 blinded posts (30 from each subreddit) confirmed minimal NPD trait presence in control communities, with annotators demonstrating high agreement (Gwet first-order agreement coefficient [AC1] is 0.93-1.00) regarding the expected low prevalence.</p>
      </sec>
      <sec>
        <title>Experimental Results</title>
        <p>In this section, we present the performance of our different classification models. The primary objective was to determine which combination of text analysis approach (the “Embedding Model”) and algorithm (the “Classifier”) performed best in identifying posts containing NPD-trait markers. A successful model must achieve 2 goals: correctly identifying posts that contain NPD traits (measured by recall) and avoiding incorrect classification of posts without such traits (measured by precision). The <italic>F</italic><sub>1</sub>-score provides a single metric that reflects the balance between these 2 objectives.</p>
        <p>The results (see <xref ref-type="table" rid="table10">Table 10</xref> and <xref ref-type="boxed-text" rid="box1">Textbox 1</xref>) demonstrate the feasibility of using machine learning to identify posts exhibiting NPD traits in online forums with high reliability. Across all experiments, embedding-based approaches consistently achieved high <italic>F</italic><sub>1</sub>-scores, outperforming or matching the FSA approach. Among all models, the 2 OpenAI embedding models (text-embedding-ada-002 and text-embedding-3-large) showed the best average performance across experiments (essentially tied; see the “Principal Findings” section). In experiments A1-A3 and B1-B3, we achieved near-perfect <italic>F</italic><sub>1</sub>-scores.</p>
        <p>When evaluated on noisier datasets in A4-A5, we observed a slight decrease in performance; however, the best-performing embedding models still achieved <italic>F</italic><sub>1</sub>-scores of approximately 0.89.</p>
        <p>As shown in <xref ref-type="table" rid="table10">Table 10</xref>, the 2 OpenAI embedding models performed best on average (see the “Principal Findings” section). A companion interpretability analysis of the FSA + LR baseline (see <xref ref-type="supplementary-material" rid="app1">Multimedia Appendix 1</xref>) found that, after keyword removal, the top predictive features shifted toward emotional, cognitive, and relational cues (eg, emotional reasoning phrases and relational conflict terms) rather than explicit diagnostic labels. LIME was applied for local explanations but was less informative than coefficient analysis because of a structural sparsity artifact in TF-IDF features. However, this finding may also partly reflect genuine reliance on topical information (see Section S7 in <xref ref-type="supplementary-material" rid="app1">Multimedia Appendix 1</xref>; see also the “Limitations” section).</p>
        <table-wrap position="float" id="table10">
          <label>Table 10</label>
          <caption>
            <p>Classification results.<sup>a</sup></p>
          </caption>
          <table width="1000" cellpadding="5" cellspacing="0" border="1" rules="groups" frame="hsides">
            <col width="30"/>
            <col width="250"/>
            <col width="0"/>
            <col width="90"/>
            <col width="0"/>
            <col width="110"/>
            <col width="0"/>
            <col width="110"/>
            <col width="0"/>
            <col width="110"/>
            <col width="0"/>
            <col width="100"/>
            <col width="0"/>
            <col width="200"/>
            <thead>
              <tr valign="bottom">
                <td colspan="3">Experiments and embedding model</td>
                <td colspan="2"><italic>F</italic><sub>1</sub>-score</td>
                <td colspan="2">ROC-AUC<sup>b</sup></td>
                <td colspan="2">Accuracy</td>
                <td colspan="2">Precision</td>
                <td colspan="2">Recall</td>
                <td>Classifier</td>
              </tr>
            </thead>
            <tbody>
              <tr valign="top">
                <td colspan="3">
                  <bold>A1</bold>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td>
                  <break/>
                </td>
              </tr>
              <tr valign="top">
                <td rowspan="3">
                  <break/>
                </td>
                <td>all-minilm</td>
                <td colspan="2">0.986</td>
                <td colspan="2">0.993</td>
                <td colspan="2">0.986</td>
                <td colspan="2">1.000</td>
                <td colspan="2">0.973</td>
                <td colspan="2">Logistic regression</td>
              </tr>
              <tr valign="top">
                <td>llama3</td>
                <td colspan="2">0.986</td>
                <td colspan="2">1.000</td>
                <td colspan="2">0.986</td>
                <td colspan="2">1.000</td>
                <td colspan="2">0.973</td>
                <td colspan="2">Logistic regression</td>
              </tr>
              <tr valign="top">
                <td>nomic-embed-text</td>
                <td colspan="2">0.986</td>
                <td colspan="2">0.995</td>
                <td colspan="2">0.986</td>
                <td colspan="2">1.000</td>
                <td colspan="2">0.973</td>
                <td colspan="2">Logistic regression</td>
              </tr>
              <tr valign="top">
                <td colspan="3">
                  <bold>A2</bold>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td>
                  <break/>
                </td>
              </tr>
              <tr valign="top">
                <td rowspan="3">
                  <break/>
                </td>
                <td>Fsa</td>
                <td colspan="2">1.000</td>
                <td colspan="2">1.000</td>
                <td colspan="2">1.000</td>
                <td colspan="2">1.000</td>
                <td colspan="2">1.000</td>
                <td colspan="2">Logistic regression</td>
              </tr>
              <tr valign="top">
                <td>text-embedding-3-large</td>
                <td colspan="2">1.000</td>
                <td colspan="2">1.000</td>
                <td colspan="2">1.000</td>
                <td colspan="2">1.000</td>
                <td colspan="2">1.000</td>
                <td colspan="2">Random forest</td>
              </tr>
              <tr valign="top">
                <td>text-embedding-ada-002</td>
                <td colspan="2">1.000</td>
                <td colspan="2">1.000</td>
                <td colspan="2">1.000</td>
                <td colspan="2">1.000</td>
                <td colspan="2">1.000</td>
                <td colspan="2">Random forest</td>
              </tr>
              <tr valign="top">
                <td colspan="3">
                  <bold>A3</bold>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td>
                  <break/>
                </td>
              </tr>
              <tr valign="top">
                <td rowspan="3">
                  <break/>
                </td>
                <td>all-minilm</td>
                <td colspan="2">0.986</td>
                <td colspan="2">0.999</td>
                <td colspan="2">0.986</td>
                <td colspan="2">1.000</td>
                <td colspan="2">0.973</td>
                <td colspan="2">Extreme Gradient Boosting</td>
              </tr>
              <tr valign="top">
                <td>nomic-embed-text</td>
                <td colspan="2">0.986</td>
                <td colspan="2">0.997</td>
                <td colspan="2">0.986</td>
                <td colspan="2">1.000</td>
                <td colspan="2">0.973</td>
                <td colspan="2">Logistic regression</td>
              </tr>
              <tr valign="top">
                <td>text-embedding-3-large</td>
                <td colspan="2">0.986</td>
                <td colspan="2">1.000</td>
                <td colspan="2">0.986</td>
                <td colspan="2">1.000</td>
                <td colspan="2">0.973</td>
                <td colspan="2">Logistic regression</td>
              </tr>
              <tr valign="top">
                <td colspan="3">
                  <bold>A4</bold>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td>
                  <break/>
                </td>
              </tr>
              <tr valign="top">
                <td rowspan="3">
                  <break/>
                </td>
                <td>text-embedding-ada-002</td>
                <td colspan="2">0.895</td>
                <td colspan="2">0.920</td>
                <td colspan="2">0.892</td>
                <td colspan="2">0.872</td>
                <td colspan="2">0.919</td>
                <td colspan="2">Support vector machine</td>
              </tr>
              <tr valign="top">
                <td>all-minilm</td>
                <td colspan="2">0.889</td>
                <td colspan="2">0.951</td>
                <td colspan="2">0.892</td>
                <td colspan="2">0.914</td>
                <td colspan="2">0.865</td>
                <td colspan="2">Random forest</td>
              </tr>
              <tr valign="top">
                <td>text-embedding-3-large</td>
                <td colspan="2">0.861</td>
                <td colspan="2">0.957</td>
                <td colspan="2">0.865</td>
                <td colspan="2">0.886</td>
                <td colspan="2">0.838</td>
                <td colspan="2">Extreme Gradient Boosting</td>
              </tr>
              <tr valign="top">
                <td colspan="3">
                  <bold>A5</bold>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td>
                  <break/>
                </td>
              </tr>
              <tr valign="top">
                <td rowspan="3">
                  <break/>
                </td>
                <td>text-embedding-ada-002</td>
                <td colspan="2">0.892</td>
                <td colspan="2">0.939</td>
                <td colspan="2">0.892</td>
                <td colspan="2">0.892</td>
                <td colspan="2">0.892</td>
                <td colspan="2">Logistic regression</td>
              </tr>
              <tr valign="top">
                <td>text-embedding-3-large</td>
                <td colspan="2">0.853</td>
                <td colspan="2">0.948</td>
                <td colspan="2">0.865</td>
                <td colspan="2">0.935</td>
                <td colspan="2">0.784</td>
                <td colspan="2">Support vector machine</td>
              </tr>
              <tr valign="top">
                <td>all-minilm</td>
                <td colspan="2">0.849</td>
                <td colspan="2">0.901</td>
                <td colspan="2">0.851</td>
                <td colspan="2">0.861</td>
                <td colspan="2">0.838</td>
                <td colspan="2">Random forest</td>
              </tr>
              <tr valign="top">
                <td colspan="3">
                  <bold>B1</bold>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td>
                  <break/>
                </td>
              </tr>
              <tr valign="top">
                <td rowspan="3">
                  <break/>
                </td>
                <td>text-embedding-3-large</td>
                <td colspan="2">1.000</td>
                <td colspan="2">1.000</td>
                <td colspan="2">1.000</td>
                <td colspan="2">1.000</td>
                <td colspan="2">1.000</td>
                <td colspan="2">Logistic regression</td>
              </tr>
              <tr valign="top">
                <td>text-embedding-ada-002</td>
                <td colspan="2">0.995</td>
                <td colspan="2">1.000</td>
                <td colspan="2">0.995</td>
                <td colspan="2">0.990</td>
                <td colspan="2">1.000</td>
                <td colspan="2">Random forest</td>
              </tr>
              <tr valign="top">
                <td>nomic-embed-text</td>
                <td colspan="2">0.981</td>
                <td colspan="2">0.999</td>
                <td colspan="2">0.980</td>
                <td colspan="2">0.971</td>
                <td colspan="2">0.990</td>
                <td colspan="2">Extreme Gradient Boosting</td>
              </tr>
              <tr valign="top">
                <td colspan="3">
                  <bold>B2</bold>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td>
                  <break/>
                </td>
              </tr>
              <tr valign="top">
                <td rowspan="3">
                  <break/>
                </td>
                <td>text-embedding-3-large</td>
                <td colspan="2">1.000</td>
                <td colspan="2">1.000</td>
                <td colspan="2">1.000</td>
                <td colspan="2">1.000</td>
                <td colspan="2">1.000</td>
                <td colspan="2">Support vector machine</td>
              </tr>
              <tr valign="top">
                <td>text-embedding-ada-002</td>
                <td colspan="2">1.000</td>
                <td colspan="2">1.000</td>
                <td colspan="2">1.000</td>
                <td colspan="2">1.000</td>
                <td colspan="2">1.000</td>
                <td colspan="2">Support vector machine</td>
              </tr>
              <tr valign="top">
                <td>nomic-embed-text</td>
                <td colspan="2">0.990</td>
                <td colspan="2">0.997</td>
                <td colspan="2">0.983</td>
                <td colspan="2">0.981</td>
                <td colspan="2">1.000</td>
                <td colspan="2">Support vector machine</td>
              </tr>
              <tr valign="top">
                <td colspan="3">
                  <bold>B3</bold>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td>
                  <break/>
                </td>
              </tr>
              <tr valign="top">
                <td rowspan="3">
                  <break/>
                </td>
                <td>nomic-embed-text</td>
                <td colspan="2">0.995</td>
                <td colspan="2">0.999</td>
                <td colspan="2">0.995</td>
                <td colspan="2">0.990</td>
                <td colspan="2">1.000</td>
                <td colspan="2">Random forest</td>
              </tr>
              <tr valign="top">
                <td>text-embedding-3-large</td>
                <td colspan="2">0.995</td>
                <td colspan="2">0.999</td>
                <td colspan="2">0.995</td>
                <td colspan="2">0.990</td>
                <td colspan="2">1.000</td>
                <td colspan="2">Support vector machine</td>
              </tr>
              <tr valign="top">
                <td>text-embedding-ada-002</td>
                <td colspan="2">0.995</td>
                <td colspan="2">0.998</td>
                <td colspan="2">0.995</td>
                <td colspan="2">0.990</td>
                <td colspan="2">1.000</td>
                <td colspan="2">Support vector machine</td>
              </tr>
              <tr valign="top">
                <td colspan="3">
                  <bold>B4</bold>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td>
                  <break/>
                </td>
              </tr>
              <tr valign="top">
                <td rowspan="3">
                  <break/>
                </td>
                <td>bert-base-uncased</td>
                <td colspan="2">0.860</td>
                <td colspan="2">0.897</td>
                <td colspan="2">0.858</td>
                <td colspan="2">0.848</td>
                <td colspan="2">0.873</td>
                <td colspan="2">Logistic regression</td>
              </tr>
              <tr valign="top">
                <td>text-embedding-ada-002</td>
                <td colspan="2">0.850</td>
                <td colspan="2">0.913</td>
                <td colspan="2">0.848</td>
                <td colspan="2">0.838</td>
                <td colspan="2">0.863</td>
                <td colspan="2">Extreme Gradient Boosting</td>
              </tr>
              <tr valign="top">
                <td>text-embedding-3-large</td>
                <td colspan="2">0.849</td>
                <td colspan="2">0.922</td>
                <td colspan="2">0.843</td>
                <td colspan="2">0.818</td>
                <td colspan="2">0.882</td>
                <td colspan="2">Extreme Gradient Boosting</td>
              </tr>
              <tr valign="top">
                <td colspan="3">
                  <bold>B5</bold>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td>
                  <break/>
                </td>
              </tr>
              <tr valign="top">
                <td rowspan="3">
                  <break/>
                </td>
                <td>nomic-embed-text</td>
                <td colspan="2">0.744</td>
                <td colspan="2">0.767</td>
                <td colspan="2">0.721</td>
                <td colspan="2">0.685</td>
                <td colspan="2">0.813</td>
                <td colspan="2">Random forest</td>
              </tr>
              <tr valign="top">
                <td>bert-base-uncased</td>
                <td colspan="2">0.743</td>
                <td colspan="2">0.771</td>
                <td colspan="2">0.732</td>
                <td colspan="2">0.710</td>
                <td colspan="2">0.780</td>
                <td colspan="2">Random forest</td>
              </tr>
              <tr valign="top">
                <td>text-embedding-3-large</td>
                <td colspan="2">0.735</td>
                <td colspan="2">0.791</td>
                <td colspan="2">0.716</td>
                <td colspan="2">0.686</td>
                <td colspan="2">0.791</td>
                <td colspan="2">Random forest</td>
              </tr>
              <tr valign="top">
                <td colspan="3">
                  <bold>C1</bold>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td>
                  <break/>
                </td>
              </tr>
              <tr valign="top">
                <td rowspan="3">
                  <break/>
                </td>
                <td>bert-base-uncased</td>
                <td colspan="2">0.685</td>
                <td colspan="2">0.809</td>
                <td colspan="2">0.684</td>
                <td colspan="2">0.688</td>
                <td colspan="2">0.684</td>
                <td colspan="2">OneVsRestClassifier</td>
              </tr>
              <tr valign="top">
                <td>fsa</td>
                <td colspan="2">0.672</td>
                <td colspan="2">0.778</td>
                <td colspan="2">0.679</td>
                <td colspan="2">0.666</td>
                <td colspan="2">0.679</td>
                <td colspan="2">OneVsRestClassifier</td>
              </tr>
              <tr valign="top">
                <td>text-embedding-ada-002</td>
                <td colspan="2">0.655</td>
                <td colspan="2">0.788</td>
                <td colspan="2">0.647</td>
                <td colspan="2">0.670</td>
                <td colspan="2">0.647</td>
                <td colspan="2">OneVsRestClassifier</td>
              </tr>
              <tr valign="top">
                <td colspan="3">
                  <bold>C2</bold>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td>
                  <break/>
                </td>
              </tr>
              <tr valign="top">
                <td rowspan="3">
                  <break/>
                </td>
                <td>text-embedding-ada-002</td>
                <td colspan="2">0.916</td>
                <td colspan="2">0.813</td>
                <td colspan="2">0.855</td>
                <td colspan="2">0.860</td>
                <td colspan="2">0.981</td>
                <td colspan="2">Random forest</td>
              </tr>
              <tr valign="top">
                <td>all-minilm</td>
                <td colspan="2">0.906</td>
                <td colspan="2">0.766</td>
                <td colspan="2">0.834</td>
                <td colspan="2">0.837</td>
                <td colspan="2">0.987</td>
                <td colspan="2">Random forest</td>
              </tr>
              <tr valign="top">
                <td>text-embedding-3-large</td>
                <td colspan="2">0.905</td>
                <td colspan="2">0.804</td>
                <td colspan="2">0.834</td>
                <td colspan="2">0.844</td>
                <td colspan="2">0.974</td>
                <td colspan="2">Random forest</td>
              </tr>
              <tr valign="top">
                <td colspan="3">
                  <bold>C3</bold>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td>
                  <break/>
                </td>
              </tr>
              <tr valign="top">
                <td rowspan="3">
                  <break/>
                </td>
                <td>text-embedding-ada-002</td>
                <td colspan="2">0.933</td>
                <td colspan="2">0.909</td>
                <td colspan="2">0.894</td>
                <td colspan="2">0.911</td>
                <td colspan="2">0.957</td>
                <td colspan="2">Extreme Gradient Boosting</td>
              </tr>
              <tr valign="top">
                <td>nomic-embed-text</td>
                <td colspan="2">0.925</td>
                <td colspan="2">0.867</td>
                <td colspan="2">0.881</td>
                <td colspan="2">0.902</td>
                <td colspan="2">0.949</td>
                <td colspan="2">Extreme Gradient Boosting</td>
              </tr>
              <tr valign="top">
                <td>all-minilm</td>
                <td colspan="2">0.913</td>
                <td colspan="2">0.853</td>
                <td colspan="2">0.854</td>
                <td colspan="2">0.852</td>
                <td colspan="2">0.983</td>
                <td colspan="2">Support vector machine</td>
              </tr>
              <tr valign="top">
                <td colspan="3">
                  <bold>C4</bold>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td colspan="2">
                  <break/>
                </td>
                <td>
                  <break/>
                </td>
              </tr>
              <tr valign="top">
                <td rowspan="3">
                  <break/>
                </td>
                <td>text-embedding-ada-002</td>
                <td colspan="2">0.875</td>
                <td colspan="2">0.934</td>
                <td colspan="2">0.917</td>
                <td colspan="2">0.854</td>
                <td colspan="2">0.897</td>
                <td colspan="2">Extreme Gradient Boosting</td>
              </tr>
              <tr valign="top">
                <td>text-embedding-3-large</td>
                <td colspan="2">0.831</td>
                <td colspan="2">0.959</td>
                <td colspan="2">0.893</td>
                <td colspan="2">0.842</td>
                <td colspan="2">0.821</td>
                <td colspan="2">Random forest</td>
              </tr>
              <tr valign="top">
                <td>nomic-embed-text</td>
                <td colspan="2">0.804</td>
                <td colspan="2">0.938</td>
                <td colspan="2">0.851</td>
                <td colspan="2">0.698</td>
                <td colspan="2">0.949</td>
                <td colspan="2">Logistic regression</td>
              </tr>
            </tbody>
          </table>
          <table-wrap-foot>
            <fn id="table10fn1">
              <p><sup>a</sup>The frequency- and sentiment-based analysis approach combines sentiment analysis with the term frequency-inverse document frequency method, whereas the remaining approaches use the specified text embedding models. The 3 best-performing embedding models for each experiment are presented. Complete results are provided in Sheet S2 in <xref ref-type="supplementary-material" rid="app6">Multimedia Appendix 6</xref>. The <italic>F</italic><sub>1</sub>-score refers to the binary <italic>F</italic><sub>1</sub>-score for the binary experiments (A1-A5, B1-B5, and C2-C4); for the multiclass C1 experiment, weighted <italic>F</italic><sub>1</sub>-score is reported (scikit-learn average=“weighted”).</p>
            </fn>
            <fn id="table10fn2">
              <p><sup>b</sup>ROC-AUC: area under the receiver operating characteristic curve.</p>
            </fn>
          </table-wrap-foot>
        </table-wrap>
        <boxed-text id="box1" position="float">
          <title>Definition of variables in <xref ref-type="table" rid="table10">Table 10</xref>.</title>
          <list list-type="bullet">
            <list-item>
              <p>Embedding model: The text embedding method used to convert each Reddit post into numerical features before classification (eg, text-embedding-3-large, all-MiniLM, Large Language Model Meta AI 3 [LLaMA3]).</p>
            </list-item>
          </list>
          <p/>
          <list list-type="bullet">
            <list-item>
              <p>Classifier: The machine learning algorithm applied to the extracted features (eg, logistic regression, random forest, support vector machine, Extreme Gradient Boosting).</p>
            </list-item>
            <list-item>
              <p>F1-score: The harmonic mean of precision and recall, providing a balance between false positives and false negatives.</p>
            </list-item>
            <list-item>
              <p>Area under the receiver operating characteristic curve: A performance metric used to measure the model’s ability to discriminate between classes across all classification thresholds.</p>
            </list-item>
            <list-item>
              <p>Accuracy: The proportion of all predictions (both positive and negative) that are correctly classified by the model.</p>
            </list-item>
            <list-item>
              <p>Precision: Also known as positive predictive value; the proportion of positively predicted instances that are true positives.</p>
            </list-item>
            <list-item>
              <p>Recall: Also known as sensitivity or true positive rate; the proportion of actual positive instances correctly identified by the model.</p>
            </list-item>
          </list>
        </boxed-text>
      </sec>
    </sec>
    <sec sec-type="discussion">
      <title>Discussion</title>
      <sec>
        <title>Principal Findings</title>
        <sec>
          <title>Language Patterns Associated With NPD-Trait Markers</title>
          <p>Echoing De Choudhury et al’s [<xref ref-type="bibr" rid="ref4">4</xref>] depression prediction work [<xref ref-type="bibr" rid="ref4">4</xref>] and Kosinski et al’s [<xref ref-type="bibr" rid="ref1">1</xref>] trait forecasting findings [<xref ref-type="bibr" rid="ref1">1</xref>], our results indicate that online language contains strong signals of NPD-trait markers. Embedding-based models reliably distinguished psychiatrist-labeled NPD-trait posts from control posts across diverse experimental configurations (discussed below and in the “Limitations” section). The interpretability analysis of the FSA + LR baseline further showed that the classifier’s feature profile varied systematically across experimental designs.</p>
          <p>After keyword removal, the FSA + LR model relied on features with plausible clinical relevance rather than explicit diagnostic labels. Reflective terms (eg, “aware”) carried positive coefficients for the NPD-positive class, consistent with self-referential reflective language in r/Narcissism (eg, a poster acknowledging awareness of these patterns in themselves). In the A5 no-keyword model, “aware” and “hurt” appeared among the positive predictors, consistent with reflective and distress-related language in the support community. As r/Narcissism is a self-selected community of users engaging with NPD-related content, these within-community word-frequency differences reflect discourse patterns in the support community itself. Whether they represent NPD-specific distress or broader emotional-distress vocabulary is addressed in the section “What Do These Automated Classifiers Actually Learn?”.</p>
        </sec>
        <sec>
          <title>Task Complexity and Contextual Information</title>
          <p>To assess the practical reliability of these models, we evaluated them under a range of conditions, from clean comparisons to more challenging, noisy scenarios.</p>
          <p>We observed consistently high performance across metrics such as <italic>F</italic><sub>1</sub>-score and accuracy, particularly in experiments A1-A3 and B1-B3. These experiments focused on detecting authors exhibiting NPD traits or posts involving individuals with NPD-consistent trait markers. The availability of contextual cues likely contributed to the superior performance observed in these experiments compared with the remaining experiments.</p>
          <p>The performance decreases observed in experiments A4, A5, B4, and B5 were expected and can be attributed to the inclusion of noisy, negatively labeled data from the r/Narcissism subreddit. Many of these negatively labeled posts were related to pathological grandiosity markers or discussed individuals exhibiting NPD traits. As posts from both classes shared terminology related to narcissism, distinguishing between the classes became more challenging.</p>
          <p>Experiment A5 still achieved relatively strong performance because author-specific contextual cues helped the model distinguish posts written by individuals exhibiting NPD traits. However, experiment B5 was more negatively affected because it lacked direct cues from the author. The model instead had to interpret indirect references, third-party mentions, and more complex contextual information.</p>
          <p>This performance pattern also raises a construct validity concern specific to setup B. As the positive class includes 6 label types (L2, L4, L6, and L7-L9; see the “Methods” section, setup B), the training signal combines linguistically distinct populations, ranging from self-aggrandizing or trait-disclosing language to distress-oriented accounts of others’ behaviors. A classifier trained on such heterogeneous signals may learn a composite discourse pattern rather than specific psychological trait markers. The lower <italic>F</italic><sub>1</sub>-score in B5 (0.744) compared with A5 (0.892) is consistent with this interpretation: when both classes share r/Narcissism-related vocabulary and the positive class contains heterogeneous psychological perspectives, classification becomes more challenging. Therefore, a positive classification in setup B indicates that a person exhibiting NPD traits is involved in the post (as the author or as the subject of discussion), rather than indicating that the author themselves exhibits specific trait markers.</p>
          <p>Multiclass classification in experiment C1 aimed to differentiate among 3 related categories and therefore involved greater complexity than the binary classification tasks. As expected, C1 performed below the binary experiments. Nonetheless, it achieved a reasonable weighted <italic>F</italic><sub>1</sub>-score of 0.685 (bert-base-uncased) for the 3-way classification task (irrelevant vs NPD-related vs an individual exhibiting NPD traits).</p>
        </sec>
        <sec>
          <title>What Do These Automated Classifiers Actually Learn?</title>
          <p>A crucial follow-up question is what these automated classifiers actually learn: do they simply identify keywords, or do they capture broader linguistic patterns?</p>
          <p>We used identical hyperparameter ranges across models, limiting variation attributable to model tuning and allowing a more direct comparison of feature representations. Embedding models consistently outperformed the FSA approach, likely because of their richer representational capacity and ability to capture contextual linguistic patterns beyond surface-level features (see <xref ref-type="table" rid="table10">Table 10</xref>).</p>
          <p>They demonstrated strong performance, with <italic>F</italic><sub>1</sub>-scores ranging from 0.744 to 1.0. However, further validation across diverse datasets is required to confirm these findings. All embedding models performed similarly; the 2 OpenAI models showed the best overall performance, with mean <italic>F</italic><sub>1</sub>-scores within 0.01 of each other, and text-embedding-ada-002 performing marginally better. It ranked first or tied for first in 9 of 14 experiments, whereas text-embedding-3-large ranked first or tied for first in 6 of 14 experiments. These counts overlap because the 2 models tied for first place in several experiments. The mean <italic>F</italic><sub>1</sub>-scores across experiments were 0.907 (SD 0.101) for text-embedding-ada-002 and 0.897 (SD 0.106) for text-embedding-3-large. The complete results are provided in Sheet S2 in <xref ref-type="supplementary-material" rid="app6">Multimedia Appendix 6</xref>.</p>
          <p>We attribute the perfect precision or recall scores (1.0) achieved in a few experiments to evaluation on a small test set. Additionally, the clear separation of linguistic features between r/Narcissism and r/ImposterSyndrome enabled the models to achieve perfect <italic>F</italic><sub>1</sub>-scores (1.0).</p>
          <p>To assess whether the models captured linguistic patterns beyond explicit diagnostic labels, we retrained them after removing keyword families at 2 levels of aggressiveness using 2 complementary analyses. The first involved removing 4 keyword families (narcissism, npd, disorder, and personality) and evaluating the models using the same grid-search pipeline as in the main analysis across all feature models. The embedding models remained largely unaffected, with a mean decrease of only 0.37%, compared with 3.25% for the FSA models (<xref ref-type="supplementary-material" rid="app6">Multimedia Appendix 6</xref>).</p>
          <p>The second analysis involved more aggressive removal of 6 keyword families by additionally excluding the keyword families “self-absorbed” and “diagnose,” which are broader and not exclusively specific to NPD. This analysis was conducted separately using the FSA + LR interpretability pipeline. The FSA + LR pipeline showed a mean relative <italic>F</italic><sub>1</sub>-score decrease of 3.6% across 13 configurations, with individual experiments ranging from a 15.0% decrease to an 8.4% increase. Two configurations showed slight improvements after keyword removal (B5: +8.4%; C3: +1.8%). These values represent the differences between the keyword-removed and original-text versions of the FSA + LR pipeline, not the changes in the best-model <italic>F</italic><sub>1</sub>-scores reported in <xref ref-type="table" rid="table10">Table 10</xref>. The embedding models again showed minimal changes, with mean relative <italic>F</italic><sub>1</sub>-score decreases of 1.9% for all-MiniLM-L6-v2 and 0.8% for text-embedding-3-large (per-experiment results are provided in Section S8 in <xref ref-type="supplementary-material" rid="app1">Multimedia Appendix 1</xref>). The FSA and embedding results are not directly comparable because the FSA decrease is based on a single classifier, whereas the embedding decreases are averaged across 3 classifiers (LR, SVM, and RF). Therefore, this comparison should be considered descriptive rather than a like-for-like evaluation.</p>
          <p>No experiment showed a substantial relative <italic>F</italic><sub>1</sub>-score decline after keyword removal, indicating that the models retained predictive signal beyond explicit diagnostic labels. Per-experiment significance tests were underpowered because of the small test-set sizes (n=50-204); therefore, we based this robustness claim on the consistent pattern observed across experiments rather than on any individual test (see the “Statistical Power for Per-Experiment Comparisons” section). LR coefficient analysis of the keyword-excluded models showed that, in the absence of diagnostic terms, the highest-ranked features shifted toward broader emotional, cognitive, and relational cues (see Sections S4-S6 in <xref ref-type="supplementary-material" rid="app1">Multimedia Appendix 1</xref>). However, LIME-based local explanations were less informative than expected because of a structural sparsity artifact in the TF-IDF features (see Section S7 in <xref ref-type="supplementary-material" rid="app1">Multimedia Appendix 1</xref>).</p>
          <p>Coefficient analysis of the FSA + LR pipeline provides additional evidence that the model captures signal beyond diagnostic keywords. In the no-keyword A2 model, the top positive coefficients included mental, behavior, important, issues, and society—terms reflecting general psychological and social vocabulary rather than diagnostic labels (although A2’s near-perfect classification may partly reflect topical separability between r/Narcissism and r/ImposterSyndrome). In the within-subreddit A5 model, where both classes shared community vocabulary, the top coefficients after keyword removal included think, low, second, aware, and look, suggesting reliance on common cognitive and observational terms. Across the deep-tier experiments, keyword removal shifted the composition of the top 20 coefficients from 5%-40% diagnostic terms to 0%, with broader emotional, cognitive, relational, and behavioral cues filling the vacated ranks. This shift is partly mechanical because removing keywords from a fixed top-20 list necessarily promotes the next-highest-ranked features. Thus, the analysis shows what the model relies on when keywords are unavailable, rather than demonstrating that nonkeyword features were always the primary drivers. A residual surrogate term (covert, shorthand for covert narcissist) remained highly ranked in the no-keyword models. A third ablation tier that additionally removed this term along with 2 other surrogate terms (tendencies and traits) produced negligible further changes in <italic>F</italic><sub>1</sub>-score (see the “Statistical Power for Per-Experiment Comparisons” section). The keyword removal list did not exhaust NPD community jargon (eg, supply, love bombing, and gray rock). However, these terms did not appear among the highest-ranked coefficients in any deep-tier experiment (see Sections S4.4, S5.3, and S6.5 in <xref ref-type="supplementary-material" rid="app1">Multimedia Appendix 1</xref>), indicating that they did not anchor the FSA + LR interpretability analysis, although other unlisted community terms may have contributed residual signal (see Section S9 in <xref ref-type="supplementary-material" rid="app1">Multimedia Appendix 1</xref>).</p>
          <p>These coefficient profiles reveal a design-dependent pattern in what the classifier relies on. In the cross-subreddit experiments (A1 and A2), where 8 of the top 20 positive coefficients in the original model were diagnostic keywords, keyword removal eliminated these terms and shifted the profile toward a mix of behavioral, cognitive, and relational cues (eg, mental, behavior, and abused in A2; told, self, exhausting, and therapy in A1). In A5, where both classes shared r/Narcissism vocabulary, NPD-related terms largely canceled out as a discriminative signal: even before keyword removal, only 1 of the top 20 positive coefficients was a diagnostic keyword. The features that remained discriminative in A5 were terms associated with distress, self-awareness, and interpersonal difficulty (eg, afraid, hurt, and aware). These represent the residual signal once shared NPD vocabulary is neutralized. This design-dependent variation indicates that the classifier adapts its feature reliance to the available vocabulary contrast rather than depending on a fixed set of keywords. Whether the residual signal in A5 reflects NPD-specific distress patterns or broader emotional distress within the r/Narcissism community remains an empirical question that the current design cannot resolve. A related sampling caveat applies to "aware" specifically, which may reflect self-recognition among users who already identify with NPD-consistent traits rather than NPD-trait expression more generally (see the “Feature Profile and Construct Interpretation” section). Coefficient and LIME analyses apply only to the FSA + LR baseline.</p>
          <p>While these results demonstrate the potential of these models, they should be interpreted with caution given the limited dataset size. Further validation across broader online environments and real-world settings is needed.</p>
        </sec>
      </sec>
      <sec>
        <title>Limitations</title>
        <sec>
          <title>Sample Size and Interpretation of Performance Metrics</title>
          <p>When interpreting the results, several limitations should be considered. Our study was based on English-language data, although the approach could also be applied to other languages using embedding models. We used Reddit posts containing at least 100 characters as the data source. Although we expect the models to generalize to other platforms, different media may exhibit distinct linguistic dynamics that should be taken into account.</p>
          <p>We identified 185 positively annotated posts, and this research can be extended as the subreddit grows and additional posts are annotated by mental health professionals. Experiments A1, A3, A4, and A5 used 185 positively labeled and 185 negatively labeled posts. Using an 80/20 train-test split resulted in a test set of 74 posts (37 per class). Although it is mathematically possible to achieve perfect scores in some experiments, the perfect precision and recall scores observed may be attributable to the limited test-set size, as correctly classifying a small number of cases can yield perfect performance metrics. This limitation is particularly relevant for experiment A2, in which the control group (r/ImposterSyndrome) contained only 63 posts, resulting in 13 test samples for this class (total test n=50: 37 positive and 13 negative). Therefore, the perfect precision and recall scores (1.0) achieved in this experiment should be interpreted with caution. To account for the statistical uncertainty associated with the small control sample, we calculated a 95% Wilson score CI of 0.772-1.000 for the 13-sample control class.</p>
          <p>While the results demonstrate the feasibility of detecting NPD traits using machine learning, we recognize the inherent limitations of a small dataset, including the potential for overfitting. To address this, we balanced the dataset using undersampling (A5 and B5) and SMOTETomek (A2, B2, and setup C) and applied robust validation techniques, including 5-fold cross-validation. The consistent performance across embedding models is encouraging, but further research using larger and more diverse datasets is needed to confirm the generalizability of these findings. This study lays the groundwork for future research exploring scalable approaches for mental health applications in online forums. In the imbalanced experiments, the SMOTETomek step was applied to the feature representation used in each experiment, including transformer embeddings. SMOTE generates minority-class instances by interpolating between neighboring samples, which works well for sparse bag-of-words features but is more difficult to interpret in a dense contextual embedding space, where an interpolated point does not generally correspond to a linguistically coherent representation. The same concern applies to Tomek link removal. Therefore, this theoretical limitation also applies to these experiments.</p>
          <p>To assess the practical impact of this limitation, we reran the 30 binary embedding pipelines (A1-A5 and B1-B5 × 3 classifiers) under 3 conditions: baseline SMOTETomek, no resampling, and class_weight=“balanced.” The mean absolute Δ<italic>F</italic><sub>1</sub>-score between the baseline and no-resampling conditions was 0.006, with a maximum of 0.047. ROC-AUC was similarly stable (maximum &#124;Δ&#124;=0.038). The mean signed Δ<italic>F</italic><sub>1</sub>-score was +0.000, and the direction of change was mixed across the largest differences, indicating that SMOTETomek neither systematically improved nor degraded performance at this scale. A 2×2 factorial analysis of the 6 A2/B2 cells, where SMOTE was actually applied, isolated the interpolation effect at 0.000 in 5 of the 6 cells, and the remaining cell differed by no more than 0.01 <italic>F</italic><sub>1</sub>-score. Applying the same protocol to the 9 binary setup C cells (C2-C4 × 3 classifiers, where SMOTETomek was also applied) yielded a mean absolute Δ<italic>F</italic><sub>1</sub>-score of 0.018, with a maximum of 0.071 and mixed directionality (4 of the 9 cells showed negative changes). ROC-AUC again remained stable (maximum &#124;Δ&#124;=0.024). For the multiclass C1 cells, scored using weighted <italic>F</italic><sub>1</sub>-score and weighted one-versus-rest ROC-AUC as in <xref ref-type="table" rid="table10">Table 10</xref>, the Δ<italic>F</italic><sub>1</sub>-scores were −0.009 (LR), +0.075 (SVM), and +0.074 (RF), whereas ROC-AUC again remained stable (maximum &#124;Δ&#124;=0.021). Thus, although the theoretical concern remains valid, its practical impact on the results presented in <xref ref-type="table" rid="table10">Table 10</xref> appears to be limited for this corpus and these embedding models.</p>
          <p>Our data collection ended in August 2019, before significant changes in online mental health discourse. The COVID-19 pandemic substantially altered patterns of online self-expression, help-seeking behavior, and mental health discussions across social media platforms. In addition, the emergence of new platforms (eg, TikTok) and changes in Reddit community dynamics may have influenced how individuals discuss narcissism and personality disorders online. These temporal factors may affect the model’s generalizability to current discourse, and validation using post-2019 data is needed before deployment in contemporary settings.</p>
          <p>Our best-performing models rely on the OpenAI embedding APIs (text-embedding-ada-002 and text-embedding-3-large), which are proprietary and closed source. This dependency poses challenges for long-term scientific reproducibility because these models may be updated or deprecated by the vendor without notice. By contrast, open-weight alternatives such as BERT or LLaMA offer greater stability for replication studies. However, several open-source embedding models (eg, all-MiniLM and nomic-embed-text) achieved comparable performance in our experiments, providing reproducible alternatives for future implementations.</p>
          <p>We conducted the interpretability analysis using the FSA + LR pipeline, which provides direct access to feature weights and coefficients. Detailed feature-level inference focused on the within-subreddit A5 experiment (FSA + LR baseline <italic>F</italic><sub>1</sub>-score=0.667), in which both the positive and control posts originated from r/Narcissism. This design minimizes subreddit-level stylistic and topical confounding (see the “Subreddit Style Confounds” section), making A5 the most appropriate setting for attributing learned features to NPD-related discourse rather than community membership. Cross-experiment robustness is reported across all 13 binary experiments in Section S3 in <xref ref-type="supplementary-material" rid="app1">Multimedia Appendix 1</xref>. A2 and A1 are presented as additional examples (see Sections S4 and S5 in <xref ref-type="supplementary-material" rid="app1">Multimedia Appendix 1</xref>), but feature-level construct claims are limited to A5 (see Section S6 in <xref ref-type="supplementary-material" rid="app1">Multimedia Appendix 1</xref>). The embedding models that achieved the highest <italic>F</italic><sub>1</sub>-scores in this study (up to 0.892 for A5) remain opaque; therefore, feature-level interpretability claims apply only to this lower-performing baseline and may not generalize to the embedding models.</p>
          <p>LIME provided local, instance-level explanations, but contextual words (eg, school, working, wife, and friends) occupied 53%-79% of the top 5 explanation slots across experiments. This predominance reflects both a TF-IDF sparsity artifact and genuine reliance on subreddit-specific life topics. The coefficient tables show that relational and contextual terms (eg, wife, friends, society, and men) carry substantial positive coefficients for the NPD-positive class. Thus, classification performance appears to reflect a combination of psychologically relevant cues and community-level topical patterns, whose relative contributions cannot be disentangled using the current methodology. Coefficient analysis serves as the primary source of interpretability evidence, whereas LIME provides supplementary local illustrations.</p>
        </sec>
        <sec>
          <title>Single-Coder Feature Categorization</title>
          <p>The 9-category feature-coding scheme was applied by a single coder without assessment of interrater reliability. Therefore, the category distributions presented in <xref ref-type="supplementary-material" rid="app1">Multimedia Appendix 1</xref> should be considered approximate. Section S7 in <xref ref-type="supplementary-material" rid="app1">Multimedia Appendix 1</xref> documents the boundary-case ambiguities and potential bias introduced by the default coding decisions.</p>
          <p>We based this research on Reddit posts annotated by psychiatrists (NBA and OZ). Although these annotations provided a reliable foundation for model development, definitive clinical assessment would require formal diagnosis according to DSM-5 criteria followed by analysis of the patients’ online content. In addition, our annotation criteria focused on DSM-5 NPD diagnostic features, which primarily emphasize markers of grandiosity.</p>
          <p>In setup B, the positive class comprised 6 label types representing both posts whose authors exhibited NPD traits (L7, L8, and L9) and posts referring to individuals with NPD traits without indicating that the author exhibited those traits (L2, L4, and L6). See <xref ref-type="table" rid="table5">Table 5</xref> for the complete label composition and the “Task Complexity and Contextual Information” section for the implications for construct validity. Within r/Narcissism, L4 posts typically describe experiences of interpersonal harm (eg, references to a relative with narcissistic traits). By contrast, setup A provides a more specific classifier for identifying authors who themselves exhibit NPD traits.</p>
        </sec>
        <sec>
          <title>Statistical Power for Per-Experiment Comparisons</title>
          <p>The keyword-removal robustness analysis included 13 binary experiments with test-set sizes ranging from 50 to 204 posts. At these sample sizes, McNemar tests comparing the original-text and keyword-removed models on identical test sets yielded only 1-13 discordant pairs per comparison, which is too few in most cases for the test to reliably detect realistic effect sizes. Accordingly, the bootstrap 95% CIs for the <italic>F</italic><sub>1</sub>-score differences were wide and frequently included 0. Therefore, a nonsignificant result reflects insufficient statistical power rather than equivalence and should not be interpreted as either confirming or refuting model robustness.</p>
          <p>A1 was the only exception. With 13 discordant pairs—the largest number across all experiments—it was the only comparison with sufficient power to detect an effect, and keyword removal resulted in a statistically significant decrease in <italic>F</italic><sub>1</sub>-score (McNemar <italic>P</italic>=.02). This outcome is expected for a cross-subreddit, keyword-dependent design (see Section S5.3 in <xref ref-type="supplementary-material" rid="app1">Multimedia Appendix 1</xref> for the coefficient profile). However, it does not alter the overall pattern: the robustness argument depends on whether any experiment showed a complete performance collapse after keyword removal, and none did. Thus, the robustness claim is based on the consistent pattern of point estimates across experiments, several of which showed little or no performance degradation, rather than on the results of any individual per-experiment test (see the “What Do These Automated Classifiers Actually Learn?” section).</p>
        </sec>
        <sec>
          <title>Train/Test Independence</title>
          <p>Usernames and other author identifiers were not recorded (see the “Privacy and Confidentiality” section). Consequently, the train-test split was performed at the post level rather than the user level, and user-disjoint partitioning was not possible. As a result, posts from the same author may have appeared in both the training and test sets. This could allow the model to learn author-specific writing styles rather than generalizable NPD-trait markers, potentially inflating performance on the held-out test set, particularly for prolific contributors. As author identifiers were not retained, we could neither quantify this effect nor re-partition the data on a user-disjoint basis. We therefore acknowledge this as a transparency limitation of the reported performance metrics.</p>
        </sec>
        <sec>
          <title>Control Groups and Comparison With Other Clinical Forums</title>
          <p>Our validation of the control subreddits (r/Showerthoughts, r/DeepThoughts, and r/ImposterSyndrome) confirmed minimal evidence of NPD traits, consistent with the expected prevalence in the general population. However, future research could strengthen this validation by annotating larger samples from these control communities. Incorporating additional data sources may also improve the robustness of comparative analyses.</p>
          <p>Our control subreddits (r/DeepThoughts and r/Showerthoughts) represent neutral reflective discourse, whereas r/ImposterSyndrome represents self-focused but nongrandiose narratives. Future research should evaluate model performance on communities related to other personality disorders (eg, r/BPD) to assess specificity. However, such analyses would require new data collection, appropriate IRB approval, and disorder-specific annotation schemes and were therefore beyond the scope of this study.</p>
          <p>The test-set prevalence (see the “Class Imbalance and Resampling Strategy” section) was substantially higher than the estimated population prevalence of 1%-6%. Consequently, the reported precision and <italic>F</italic><sub>1</sub>-scores are likely to overestimate performance in real-world deployment. Adjusting precision for prevalence using Bayes theorem, <italic>P</italic> = (π·TPR)/(π·TPR + [1 − π]·FPR), where TPR is true-positive rate, shows the expected effect. For A5 (text-embedding-ada-002 + LR in <xref ref-type="table" rid="table10">Table 10</xref>; TPR=0.892, FPR=0.108), the adjusted precision is approximately 0.08 at π=0.01, 0.20 at π=0.03, and 0.35 at π=0.06. However, these point estimates are based on a very small number of false positives (4 of 37 in A5) and should therefore be interpreted with caution because of their wide uncertainty.</p>
          <p>Propagating the 95% Wilson CI for A5’s FPR (0.043-0.247) through the Bayes formula at π=0.03 yields an adjusted precision of approximately 0.10-0.40. These values should be interpreted as illustrative orders of magnitude rather than as lower bounds for deployment precision. The adjustment also assumes that the test-set TPR and FPR remain unchanged in deployment, a strong assumption given that the negative class in real-world settings would differ from the control subreddits used in this study. By contrast, ROC-AUC and recall are invariant to prevalence. Any operational deployment would therefore require prevalence-aware calibration, such as Platt scaling, threshold tuning, or precision-recall analyses across a defined range of prevalence values, rather than relying on the operating point observed in the test set.</p>
          <p>We acknowledge that r/Narcissism contains heterogeneous content, including posts from self-identified individuals with narcissistic traits, help seekers, individuals questioning whether they exhibit such traits, and people discussing others with narcissistic traits in their lives. As a result, the model learns from multiple linguistic contexts related to narcissism rather than from a purely clinical sample of individuals with confirmed diagnoses. However, the use of psychiatrist-validated labels (L7 and L8) helps ensure that the model captures clinically relevant linguistic patterns despite this source heterogeneity.</p>
        </sec>
        <sec>
          <title>Feature Profile and Construct Interpretation</title>
          <p>The classifier’s feature profile is design dependent (see the “What Do These Automated Classifiers Actually Learn?” section). The cross-subreddit experiments relied substantially on diagnostic keywords in the original model, whereas the within-subreddit A5 experiment discriminated primarily on distress, self-awareness, and relational cues once shared NPD vocabulary was neutralized. This variation cautions against adopting a single construct interpretation across all 13 experiments. Sections S5.3, S6.5, and S9 in <xref ref-type="supplementary-material" rid="app1">Multimedia Appendix 1</xref> present detailed evidence of these design-dependent feature profiles. For the scope of the keyword removal list and the potential influence of unlisted community jargon, see the “What Do These Automated Classifiers Actually Learn?” section and Section S9 in <xref ref-type="supplementary-material" rid="app1">Multimedia Appendix 1</xref>.</p>
        </sec>
        <sec>
          <title>Subreddit Style Confounds</title>
          <p>We acknowledge that stylistic differences between subreddits may influence classification when control posts originate from communities such as r/Showerthoughts or r/DeepThoughts, which have writing conventions that differ from those of r/Narcissism. Experiments A5 and B5 use posts exclusively from r/Narcissism for both the positive and negative classes, thereby eliminating cross-subreddit stylistic variation—the same design feature that motivates A5 as the primary setting for the feature-level interpretability analysis (see Section S6 in <xref ref-type="supplementary-material" rid="app1">Multimedia Appendix 1</xref>). A5 (n=370) achieved an accuracy of 0.892 and an <italic>F</italic><sub>1</sub>-score of 0.892, substantially exceeding chance performance even after removing subreddit-level stylistic variation. A content-versus-style feature ablation analysis (cross-validated and reproducible using the published code package) showed that, within A5, content features (word TF-IDF semantics and sentiment) achieved 80.6% accuracy compared with 68.2% for style features (orthographic and punctuation statistics plus part-of-speech distributions), a 12.4-percentage-point advantage for content (SD 5.9 across folds). As the resampled cross-validation folds were not independent, we report this difference without a significance test. Although style features alone performed above the 50% chance baseline, content features provided substantially better discrimination. In the combined model, RF feature importance was 97% content and 3% style. However, because content and style features overlap, this marginal importance likely understates the standalone contribution of style, which is more directly reflected by the ablation analysis.</p>
          <p>The advantage of content features is not attributable to cross-subreddit confounding. The difference in accuracy between content and style features was similar in the cross-subreddit experiments (mean 11.8 percentage points across A1-A3) and the within-subreddit A5 experiment (12.4 percentage points).</p>
          <p>In the cross-subreddit experiments, the content signal included both established diagnostic vocabulary and community-specific terms. In the within-subreddit setting, both content and style signals may reflect community-level discourse norms in addition to trait-relevant variation. Future research could use adversarial debiasing and validation across diverse mental health communities (eg, r/BPD, r/depression, and r/anxiety) to further disentangle trait-relevant markers from community-level discourse norms.</p>
        </sec>
      </sec>
      <sec>
        <title>Comparison With Prior Work</title>
        <p>Sumner et al [<xref ref-type="bibr" rid="ref30">30</xref>] and Preoțiuc-Pietro et al [<xref ref-type="bibr" rid="ref31">31</xref>] used machine learning to detect Dark Triad traits on Twitter, where posts were limited to 140 characters at the time of those studies.</p>
        <p>Rathner et al [<xref ref-type="bibr" rid="ref37">37</xref>] applied linear regression to LIWC scores derived from essays and correlated the results with Narcissistic Personality Inventory (dichotomous-response version) scores. They analyzed linguistic markers to predict narcissism and depression.</p>
        <p>Our study focuses on predicting NPD traits from Reddit posts containing at least 100 characters and, unlike prior work, develops a classification model rather than a regression model.</p>
        <p>In our previous work [<xref ref-type="bibr" rid="ref28">28</xref>], we developed classification models to detect suicidal ideation using sentiment analysis, TF-IDF, and LIWC features on manually annotated Reddit data. In this study, we introduced text embedding models and found that they substantially improved classification performance. We also used multilabel annotations, enabling us to define different classification tasks based on different label distributions across classes.</p>
      </sec>
      <sec>
        <title>Ethical Implications and Limitations</title>
        <p>It is important to acknowledge the ethical concerns and potential for misuse. Such a system could be used for nonclinical purposes, such as targeted advertising, workplace surveillance, or malicious profiling of individuals without their consent. These misuses could lead to discrimination, unfair treatment, or social alienation. To mitigate these risks, we emphasize that such a system should be used only under strict ethical guidelines and in collaboration with qualified mental health professionals.</p>
        <p>Automated detection of symptom signals from social media carries a risk of misclassification: false positives may stigmatize users, whereas false negatives may fail to identify individuals in need. In addition, algorithmic bias may amplify disparities if the model overrepresents or underrepresents particular demographic groups [<xref ref-type="bibr" rid="ref52">52</xref>]. We therefore caution against any standalone clinical deployment without rigorous validation, human oversight, and ongoing monitoring for unintended harms [<xref ref-type="bibr" rid="ref53">53</xref>].</p>
      </sec>
      <sec>
        <title>Conclusions</title>
        <p>This study investigated whether machine learning models could detect linguistic markers of NPD traits in Reddit posts. Using a psychiatrist-annotated corpus of 966 posts, we compared frequency- and embedding-based classifiers across 14 experimental configurations. The embedding models achieved <italic>F</italic><sub>1</sub>-scores ranging from 0.744 to 1.0 across the binary experiments (the multiclass C1 experiment achieved a weighted <italic>F</italic><sub>1</sub>-score of 0.685). The 2 OpenAI embedding models (text-embedding-ada-002 and text-embedding-3-large) performed best overall and were essentially tied, with mean <italic>F</italic><sub>1</sub>-scores of approximately 0.90. The models successfully distinguished both posts authored by individuals exhibiting NPD traits (setup A) and posts in which a person exhibiting NPD traits was either the author or the subject (setup B). After removing explicit NPD-related keywords (six-family test), the mean relative <italic>F</italic><sub>1</sub>-score decreased by 3.6% for the FSA + LR baseline, 1.9% for the all-MiniLM-L6-v2 embedding model, and 0.8% for the text-embedding-3-large embedding model, with no experiment showing a complete performance collapse (the cross-subreddit A1 experiment showed measurable but noncollapsing dependence on keywords; see the “Statistical Power for Per-Experiment Comparisons” section). A companion interpretability analysis (<xref ref-type="supplementary-material" rid="app1">Multimedia Appendix 1</xref>) of the FSA + LR baseline showed that, after diagnostic terms were removed, the highest-ranked predictive features shifted toward emotional, cognitive, and relational cues. These findings demonstrate the feasibility of automated detection of NPD traits in online forum text and provide a foundation for future computational research on personality disorder assessment (see the “Feature Profile and Construct Interpretation” section for the boundaries of construct validity).</p>
      </sec>
    </sec>
  </body>
  <back>
    <app-group>
      <supplementary-material id="app1">
        <label>Multimedia Appendix 1</label>
        <p>Interpretability analysis using Local Interpretable Model-Agnostic Explanations (LIME).</p>
        <media xlink:href="jmir_v28i1e75799_app1.pdf" xlink:title="PDF File  (Adobe PDF File), 815 KB"/>
      </supplementary-material>
      <supplementary-material id="app2">
        <label>Multimedia Appendix 2</label>
        <p>Technical details.</p>
        <media xlink:href="jmir_v28i1e75799_app2.docx" xlink:title="DOCX File , 228 KB"/>
      </supplementary-material>
      <supplementary-material id="app3">
        <label>Multimedia Appendix 3</label>
        <p>Checklist for adherence to guidelines for developing and reporting machine learning predictive models in biomedical research.</p>
        <media xlink:href="jmir_v28i1e75799_app3.docx" xlink:title="DOCX File , 139 KB"/>
      </supplementary-material>
      <supplementary-material id="app4">
        <label>Multimedia Appendix 4</label>
        <p>Details of the experiments.</p>
        <media xlink:href="jmir_v28i1e75799_app4.docx" xlink:title="DOCX File , 11 KB"/>
      </supplementary-material>
      <supplementary-material id="app5">
        <label>Multimedia Appendix 5</label>
        <p>Annotation reliability metrics.</p>
        <media xlink:href="jmir_v28i1e75799_app5.xlsx" xlink:title="XLSX File  (Microsoft Excel File), 8 KB"/>
      </supplementary-material>
      <supplementary-material id="app6">
        <label>Multimedia Appendix 6</label>
        <p>Experiment results.</p>
        <media xlink:href="jmir_v28i1e75799_app6.xlsx" xlink:title="XLSX File  (Microsoft Excel File), 24 KB"/>
      </supplementary-material>
    </app-group>
    <glossary>
      <title>Abbreviations</title>
      <def-list>
        <def-item>
          <term id="abb1">AC1</term>
          <def>
            <p>Gwet first-order agreement coefficient</p>
          </def>
        </def-item>
        <def-item>
          <term id="abb2">AUC</term>
          <def>
            <p>area under the curve</p>
          </def>
        </def-item>
        <def-item>
          <term id="abb3">BERT</term>
          <def>
            <p>Bidirectional Encoder Representations from Transformers</p>
          </def>
        </def-item>
        <def-item>
          <term id="abb4">DSM-5</term>
          <def>
            <p>Diagnostic and Statistical Manual of Mental Disorders, Fifth Edition</p>
          </def>
        </def-item>
        <def-item>
          <term id="abb5">FMINAREK</term>
          <def>
            <p>Fen Bilimleri ve Mühendislik Alanları İnsan Araştırmaları Etik Kurulu</p>
          </def>
        </def-item>
        <def-item>
          <term id="abb6">FPR</term>
          <def>
            <p>false-positive rate</p>
          </def>
        </def-item>
        <def-item>
          <term id="abb7">FSA</term>
          <def>
            <p>frequency- and sentiment-based analysis</p>
          </def>
        </def-item>
        <def-item>
          <term id="abb8">IRB</term>
          <def>
            <p>institutional review board</p>
          </def>
        </def-item>
        <def-item>
          <term id="abb9">LIME</term>
          <def>
            <p>Local Interpretable Model-Agnostic Explanations</p>
          </def>
        </def-item>
        <def-item>
          <term id="abb10">LIWC</term>
          <def>
            <p>linguistic inquiry and word count</p>
          </def>
        </def-item>
        <def-item>
          <term id="abb11">LLaMA3</term>
          <def>
            <p>Large Language Model Meta AI 3</p>
          </def>
        </def-item>
        <def-item>
          <term id="abb12">LR</term>
          <def>
            <p>logistic regression</p>
          </def>
        </def-item>
        <def-item>
          <term id="abb13">NLP</term>
          <def>
            <p>natural language processing</p>
          </def>
        </def-item>
        <def-item>
          <term id="abb14">NPD</term>
          <def>
            <p>narcissistic personality disorder</p>
          </def>
        </def-item>
        <def-item>
          <term id="abb15">RF</term>
          <def>
            <p>random forest</p>
          </def>
        </def-item>
        <def-item>
          <term id="abb16">ROC</term>
          <def>
            <p>receiver operating characteristic</p>
          </def>
        </def-item>
        <def-item>
          <term id="abb17">SMOTE</term>
          <def>
            <p>Synthetic Minority Over-sampling Technique</p>
          </def>
        </def-item>
        <def-item>
          <term id="abb18">SVM</term>
          <def>
            <p>support vector machine</p>
          </def>
        </def-item>
        <def-item>
          <term id="abb19">TF-IDF</term>
          <def>
            <p>term frequency-inverse document frequency</p>
          </def>
        </def-item>
        <def-item>
          <term id="abb20">TPR</term>
          <def>
            <p>true-positive rate</p>
          </def>
        </def-item>
        <def-item>
          <term id="abb21">XGB</term>
          <def>
            <p>Extreme Gradient Boosting</p>
          </def>
        </def-item>
      </def-list>
    </glossary>
    <ack>
      <p>We thank NBA and OZ for annotating the dataset. Generative artificial intelligence tools (ChatGPT [OpenAI] and Claude [Anthropic]) and the grammar correction tool ProWritingAid were used exclusively to paraphrase and refine text written by the authors to improve readability and clarity. In addition, Claude was used to assist with code generation for the model interpretability analysis (Local Interpretable Model-Agnostic Explanations) presented in <xref ref-type="supplementary-material" rid="app1">Multimedia Appendix 1</xref>. The authors take full responsibility for the accuracy and integrity of the manuscript. The sponsors had no role in the study design, data collection, data analysis, decision to publish, or manuscript preparation.</p>
    </ack>
    <notes>
      <sec>
        <title>Funding</title>
        <p>This work was partially supported by TUBITAK BIDEB 2211 and the Turkish Ministry of Development through the TAM Project (grant DPT2007K120610).</p>
      </sec>
      <sec>
        <title>Data Availability</title>
        <p>The annotated dataset generated during this study is not publicly available because of ethical considerations related to the sensitive nature of the mental health–related content and the potential for reidentification of Reddit users discussing personal psychological experiences. As the posts may contain self-disclosures regarding NPD traits, clinical diagnoses, and personal relationships, unrestricted access could pose a risk to the original posters, who did not consent to research use of their content. In addition, the trained classification models could potentially be misused for nonclinical profiling or surveillance if deployed without appropriate oversight.</p>
        <p>The annotated dataset is available from the corresponding author (AEA) upon reasonable request. Requests will be evaluated for legitimate research purposes and should include (1) institutional affiliation, (2) a description of the intended research use, (3) evidence of IRB approval or ethics review for the proposed research, and (4) an agreement to use the data solely for research purposes under appropriate clinical supervision. The code used for model training and evaluation is publicly available at the project’s GitHub repository [<xref ref-type="bibr" rid="ref54">54</xref>].</p>
      </sec>
    </notes>
    <fn-group>
      <fn fn-type="con">
        <p>Conceptualization: AEA</p>
        <p>Data curation: AEA, NBA, OZ</p>
        <p>Formal analysis: AEA</p>
        <p>Investigation: AEA, NBA, OZ</p>
        <p>Methodology: AEA, AÖ</p>
        <p>Software: AEA</p>
        <p>Supervision: HOB</p>
        <p>Visualization: AEA</p>
        <p>Writing – original draft: AEA</p>
        <p>Writing – review &#38; editing: HOB, AÖ</p>
      </fn>
      <fn fn-type="conflict">
        <p>None declared.</p>
      </fn>
    </fn-group>
    <ref-list>
      <ref id="ref1">
        <label>1</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Kosinski</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Stillwell</surname>
              <given-names>D</given-names>
            </name>
            <name name-style="western">
              <surname>Graepel</surname>
              <given-names>T</given-names>
            </name>
          </person-group>
          <article-title>Private traits and attributes are predictable from digital records of human behavior</article-title>
          <source>Proc Natl Acad Sci U S A</source>
          <year>2013</year>
          <month>04</month>
          <day>09</day>
          <volume>110</volume>
          <issue>15</issue>
          <fpage>5802</fpage>
          <lpage>5</lpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://www.pnas.org/doi/10.1073/pnas.1218772110"/>
          </comment>
          <pub-id pub-id-type="doi">10.1073/pnas.1218772110</pub-id>
          <pub-id pub-id-type="medline">23479631</pub-id>
          <pub-id pub-id-type="pii">1218772110</pub-id>
          <pub-id pub-id-type="pmcid">PMC3625324</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref2">
        <label>2</label>
        <nlm-citation citation-type="confproc">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Gratch</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Marsella</surname>
              <given-names>S</given-names>
            </name>
          </person-group>
          <article-title>Evaluating the modeling and use of emotion in virtual humans</article-title>
          <source>AAMAS '04: Proceedings of the Third International Joint Conference on Autonomous Agents and Multiagent Systems - Volume 1</source>
          <year>2004</year>
          <month>07</month>
          <day>23</day>
          <conf-name>AAMAS04: The Third International Joint Conference on Autonomous Agents and Multi-Agent Systems 2004</conf-name>
          <conf-date>July 19-23, 2004</conf-date>
          <conf-loc>New York, NY</conf-loc>
          <publisher-loc>Washington, DC</publisher-loc>
          <publisher-name>IEEE Computer Society</publisher-name>
          <fpage>320</fpage>
          <lpage>327</lpage>
          <pub-id pub-id-type="doi">10.65109/xryc4935</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref3">
        <label>3</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Mohr</surname>
              <given-names>DC</given-names>
            </name>
            <name name-style="western">
              <surname>Weingardt</surname>
              <given-names>KR</given-names>
            </name>
            <name name-style="western">
              <surname>Reddy</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Schueller</surname>
              <given-names>SM</given-names>
            </name>
          </person-group>
          <article-title>Three problems with current digital mental health research . . . and three things we can do about them</article-title>
          <source>Psychiatr Serv</source>
          <year>2017</year>
          <month>05</month>
          <day>01</day>
          <volume>68</volume>
          <issue>5</issue>
          <fpage>427</fpage>
          <lpage>429</lpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://europepmc.org/abstract/MED/28412890"/>
          </comment>
          <pub-id pub-id-type="doi">10.1176/appi.ps.201600541</pub-id>
          <pub-id pub-id-type="medline">28412890</pub-id>
          <pub-id pub-id-type="pmcid">PMC6903906</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref4">
        <label>4</label>
        <nlm-citation citation-type="confproc">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>De Choudhury</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Counts</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Horvitz</surname>
              <given-names>E</given-names>
            </name>
          </person-group>
          <article-title>Social media as a measurement tool of depression in populations</article-title>
          <source>Proceedings of the 5th Annual ACM Web Science Conference</source>
          <year>2013</year>
          <month>05</month>
          <day>02</day>
          <conf-name>WebSci '13: Proceedings of the 5th Annual ACM Web Science Conference</conf-name>
          <conf-date>May 2-4, 2013</conf-date>
          <conf-loc>Paris, France</conf-loc>
          <publisher-loc>New York, NY</publisher-loc>
          <publisher-name>Association for Computing Machinery</publisher-name>
          <fpage>47</fpage>
          <lpage>56</lpage>
          <pub-id pub-id-type="doi">10.1145/2464464.2464480</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref5">
        <label>5</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Kacel</surname>
              <given-names>EL</given-names>
            </name>
            <name name-style="western">
              <surname>Ennis</surname>
              <given-names>N</given-names>
            </name>
            <name name-style="western">
              <surname>Pereira</surname>
              <given-names>DB</given-names>
            </name>
          </person-group>
          <article-title>Narcissistic personality disorder in clinical health psychology practice: case studies of comorbid psychological distress and life-limiting illness</article-title>
          <source>Behav Med</source>
          <year>2017</year>
          <month>08</month>
          <day>02</day>
          <volume>43</volume>
          <issue>3</issue>
          <fpage>156</fpage>
          <lpage>164</lpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://europepmc.org/abstract/MED/28767013"/>
          </comment>
          <pub-id pub-id-type="doi">10.1080/08964289.2017.1301875</pub-id>
          <pub-id pub-id-type="medline">28767013</pub-id>
          <pub-id pub-id-type="pmcid">PMC5819598</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref6">
        <label>6</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Baskin-Sommers</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Krusemark</surname>
              <given-names>E</given-names>
            </name>
            <name name-style="western">
              <surname>Ronningstam</surname>
              <given-names>E</given-names>
            </name>
          </person-group>
          <article-title>Empathy in narcissistic personality disorder: from clinical and empirical perspectives</article-title>
          <source>Personal Disord</source>
          <year>2014</year>
          <month>07</month>
          <volume>5</volume>
          <issue>3</issue>
          <fpage>323</fpage>
          <lpage>33</lpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://content.apa.org/journals/per/5/3/323"/>
          </comment>
          <pub-id pub-id-type="doi">10.1037/per0000061</pub-id>
          <pub-id pub-id-type="medline">24512457</pub-id>
          <pub-id pub-id-type="pii">2014-04665-001</pub-id>
          <pub-id pub-id-type="pmcid">PMC4415495</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref7">
        <label>7</label>
        <nlm-citation citation-type="book">
          <source>Diagnostic and Statistical Manual of Mental Disorders, Fifth Edition</source>
          <year>2013</year>
          <publisher-loc>Washington, DC</publisher-loc>
          <publisher-name>American Psychiatric Association Publishing</publisher-name>
        </nlm-citation>
      </ref>
      <ref id="ref8">
        <label>8</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Russ</surname>
              <given-names>E</given-names>
            </name>
            <name name-style="western">
              <surname>Shedler</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Bradley</surname>
              <given-names>R</given-names>
            </name>
            <name name-style="western">
              <surname>Westen</surname>
              <given-names>D</given-names>
            </name>
          </person-group>
          <article-title>Refining the construct of narcissistic personality disorder: diagnostic criteria and subtypes</article-title>
          <source>Am J Psychiatry</source>
          <year>2008</year>
          <month>11</month>
          <volume>165</volume>
          <issue>11</issue>
          <fpage>1473</fpage>
          <lpage>81</lpage>
          <pub-id pub-id-type="doi">10.1176/appi.ajp.2008.07030376</pub-id>
          <pub-id pub-id-type="medline">18708489</pub-id>
          <pub-id pub-id-type="pii">appi.ajp.2008.07030376</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref9">
        <label>9</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Miller</surname>
              <given-names>JD</given-names>
            </name>
            <name name-style="western">
              <surname>Widiger</surname>
              <given-names>TA</given-names>
            </name>
            <name name-style="western">
              <surname>Campbell</surname>
              <given-names>WK</given-names>
            </name>
          </person-group>
          <article-title>Narcissistic personality disorder and the DSM-V</article-title>
          <source>J Abnorm Psychol</source>
          <year>2010</year>
          <month>11</month>
          <volume>119</volume>
          <issue>4</issue>
          <fpage>640</fpage>
          <lpage>9</lpage>
          <pub-id pub-id-type="doi">10.1037/a0019529</pub-id>
          <pub-id pub-id-type="medline">20853916</pub-id>
          <pub-id pub-id-type="pii">2010-19344-001</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref10">
        <label>10</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Skodol</surname>
              <given-names>AE</given-names>
            </name>
            <name name-style="western">
              <surname>Bender</surname>
              <given-names>DS</given-names>
            </name>
            <name name-style="western">
              <surname>Morey</surname>
              <given-names>LC</given-names>
            </name>
          </person-group>
          <article-title>Narcissistic personality disorder in DSM-5</article-title>
          <source>Personal Disord</source>
          <year>2014</year>
          <month>10</month>
          <volume>5</volume>
          <issue>4</issue>
          <fpage>422</fpage>
          <lpage>7</lpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://content.apa.org/journals/per/5/4/422"/>
          </comment>
          <pub-id pub-id-type="doi">10.1037/per0000023</pub-id>
          <pub-id pub-id-type="medline">23834518</pub-id>
          <pub-id pub-id-type="pii">2013-24395-001</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref11">
        <label>11</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Stinson</surname>
              <given-names>FS</given-names>
            </name>
            <name name-style="western">
              <surname>Dawson</surname>
              <given-names>DA</given-names>
            </name>
            <name name-style="western">
              <surname>Goldstein</surname>
              <given-names>Risë B</given-names>
            </name>
            <name name-style="western">
              <surname>Chou</surname>
              <given-names>P</given-names>
            </name>
            <name name-style="western">
              <surname>Huang</surname>
              <given-names>B</given-names>
            </name>
            <name name-style="western">
              <surname>Smith</surname>
              <given-names>SM</given-names>
            </name>
            <name name-style="western">
              <surname>Ruan</surname>
              <given-names>WJ</given-names>
            </name>
            <name name-style="western">
              <surname>Pulay</surname>
              <given-names>AJ</given-names>
            </name>
            <name name-style="western">
              <surname>Saha</surname>
              <given-names>TD</given-names>
            </name>
            <name name-style="western">
              <surname>Pickering</surname>
              <given-names>RP</given-names>
            </name>
            <name name-style="western">
              <surname>Grant</surname>
              <given-names>BF</given-names>
            </name>
          </person-group>
          <article-title>Prevalence, correlates, disability, and comorbidity of DSM-IV narcissistic personality disorder: results from the wave 2 national epidemiologic survey on alcohol and related conditions</article-title>
          <source>J Clin Psychiatry</source>
          <year>2008</year>
          <month>07</month>
          <day>15</day>
          <volume>69</volume>
          <issue>7</issue>
          <fpage>1033</fpage>
          <lpage>45</lpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://europepmc.org/abstract/MED/18557663"/>
          </comment>
          <pub-id pub-id-type="doi">10.4088/jcp.v69n0701</pub-id>
          <pub-id pub-id-type="medline">18557663</pub-id>
          <pub-id pub-id-type="pii">ej08m04183</pub-id>
          <pub-id pub-id-type="pmcid">PMC2669224</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref12">
        <label>12</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Sekulić</surname>
              <given-names>I</given-names>
            </name>
            <name name-style="western">
              <surname>Gjurković</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Šnajder</surname>
              <given-names>J</given-names>
            </name>
          </person-group>
          <article-title>Not just depressed: bipolar disorder prediction on Reddit</article-title>
          <source>arXiv</source>
          <comment>Preprint posted online March 27, 2019</comment>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://arxiv.org/abs/1811.04655"/>
          </comment>
          <pub-id pub-id-type="doi">10.48550/arXiv.1811.04655</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref13">
        <label>13</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Diamond</surname>
              <given-names>D</given-names>
            </name>
            <name name-style="western">
              <surname>Clarkin</surname>
              <given-names>JF</given-names>
            </name>
            <name name-style="western">
              <surname>Levy</surname>
              <given-names>KN</given-names>
            </name>
            <name name-style="western">
              <surname>Meehan</surname>
              <given-names>KB</given-names>
            </name>
            <name name-style="western">
              <surname>Cain</surname>
              <given-names>NM</given-names>
            </name>
            <name name-style="western">
              <surname>Yeomans</surname>
              <given-names>FE</given-names>
            </name>
            <name name-style="western">
              <surname>Kernberg</surname>
              <given-names>OF</given-names>
            </name>
          </person-group>
          <article-title>Change in attachment and reflective function in borderline patients with and without comorbid narcissistic personality disorder in transference focused psychotherapy</article-title>
          <source>Contemporary Psychoanalysis</source>
          <year>2014</year>
          <month>04</month>
          <day>16</day>
          <volume>50</volume>
          <issue>1-2</issue>
          <fpage>175</fpage>
          <lpage>210</lpage>
          <pub-id pub-id-type="doi">10.1080/00107530.2014.880316</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref14">
        <label>14</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Weinberg</surname>
              <given-names>I</given-names>
            </name>
            <name name-style="western">
              <surname>Ronningstam</surname>
              <given-names>E</given-names>
            </name>
          </person-group>
          <article-title>Dos and don'ts in treatments of patients with narcissistic personality disorder</article-title>
          <source>J Pers Disord</source>
          <year>2020</year>
          <month>03</month>
          <volume>34</volume>
          <issue>Suppl</issue>
          <fpage>122</fpage>
          <lpage>142</lpage>
          <pub-id pub-id-type="doi">10.1521/pedi.2020.34.supp.122</pub-id>
          <pub-id pub-id-type="medline">32186986</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref15">
        <label>15</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Fjermestad-Noll</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Ronningstam</surname>
              <given-names>E</given-names>
            </name>
            <name name-style="western">
              <surname>Bach</surname>
              <given-names>B</given-names>
            </name>
            <name name-style="western">
              <surname>Rosenbaum</surname>
              <given-names>B</given-names>
            </name>
            <name name-style="western">
              <surname>Simonsen</surname>
              <given-names>E</given-names>
            </name>
          </person-group>
          <article-title>Characterological depression in patients with narcissistic personality disorder</article-title>
          <source>Nord J Psychiatry</source>
          <year>2019</year>
          <month>11</month>
          <day>13</day>
          <volume>73</volume>
          <issue>8</issue>
          <fpage>539</fpage>
          <lpage>545</lpage>
          <pub-id pub-id-type="doi">10.1080/08039488.2019.1664630</pub-id>
          <pub-id pub-id-type="medline">31517547</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref16">
        <label>16</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Centonze</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Popolo</surname>
              <given-names>R</given-names>
            </name>
            <name name-style="western">
              <surname>Panagou</surname>
              <given-names>C</given-names>
            </name>
            <name name-style="western">
              <surname>MacBeth</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Dimaggio</surname>
              <given-names>G</given-names>
            </name>
          </person-group>
          <article-title>Experiential techniques and therapeutic relationship in the treatment of narcissistic personality disorder: the case of Laura</article-title>
          <source>J Clin Psychol</source>
          <year>2023</year>
          <month>07</month>
          <day>27</day>
          <volume>79</volume>
          <issue>7</issue>
          <fpage>1656</fpage>
          <lpage>1669</lpage>
          <pub-id pub-id-type="doi">10.1002/jclp.23514</pub-id>
          <pub-id pub-id-type="medline">36970988</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref17">
        <label>17</label>
        <nlm-citation citation-type="book">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Mitra</surname>
              <given-names>P</given-names>
            </name>
            <name name-style="western">
              <surname>Torrico</surname>
              <given-names>TJ</given-names>
            </name>
            <name name-style="western">
              <surname>Fluyau</surname>
              <given-names>D</given-names>
            </name>
          </person-group>
          <source>Narcissistic Personality Disorder</source>
          <year>2025</year>
          <publisher-loc>Treasure Island, FL</publisher-loc>
          <publisher-name>StatPearls Publishing</publisher-name>
        </nlm-citation>
      </ref>
      <ref id="ref18">
        <label>18</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Diamond</surname>
              <given-names>D</given-names>
            </name>
            <name name-style="western">
              <surname>Yeomans</surname>
              <given-names>F</given-names>
            </name>
            <name name-style="western">
              <surname>Keefe</surname>
              <given-names>JR</given-names>
            </name>
          </person-group>
          <article-title>Transference-focused psychotherapy for pathological narcissism and narcissistic personality disorder (TFP-N)</article-title>
          <source>Psychodyn Psychiatry</source>
          <year>2021</year>
          <month>06</month>
          <volume>49</volume>
          <issue>2</issue>
          <fpage>244</fpage>
          <lpage>272</lpage>
          <pub-id pub-id-type="doi">10.1521/pdps.2021.49.2.244</pub-id>
          <pub-id pub-id-type="medline">34061655</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref19">
        <label>19</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Sabir</surname>
              <given-names>I</given-names>
            </name>
            <name name-style="western">
              <surname>Hussain</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Majid</surname>
              <given-names>MB</given-names>
            </name>
            <name name-style="western">
              <surname>Rehman</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Sarwar</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Nawaz</surname>
              <given-names>F</given-names>
            </name>
          </person-group>
          <article-title>Impact of narcissistic personality disorder on cognitive organizational cynicism with mediating role of psychological capital in selected hospitals of Punjab Pakistan</article-title>
          <source>Futur Bus J</source>
          <year>2020</year>
          <month>08</month>
          <day>29</day>
          <volume>6</volume>
          <issue>1</issue>
          <fpage>29</fpage>
          <pub-id pub-id-type="doi">10.1186/s43093-020-00035-8</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref20">
        <label>20</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Roark</surname>
              <given-names>Sybil V</given-names>
            </name>
          </person-group>
          <article-title>Narcissistic personality disorder: effect on relationships</article-title>
          <source>Ala Nurse</source>
          <year>2012</year>
          <volume>39</volume>
          <issue>4</issue>
          <fpage>12</fpage>
          <lpage>3; quiz 14</lpage>
          <pub-id pub-id-type="medline">23472440</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref21">
        <label>21</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Owen</surname>
              <given-names>D</given-names>
            </name>
            <name name-style="western">
              <surname>Lynham</surname>
              <given-names>AJ</given-names>
            </name>
            <name name-style="western">
              <surname>Smart</surname>
              <given-names>SE</given-names>
            </name>
            <name name-style="western">
              <surname>Pardiñas</surname>
              <given-names>Antonio F</given-names>
            </name>
            <name name-style="western">
              <surname>Camacho Collados</surname>
              <given-names>J</given-names>
            </name>
          </person-group>
          <article-title>AI for analyzing mental health disorders among social media users: quarter-century narrative review of progress and challenges</article-title>
          <source>J Med Internet Res</source>
          <year>2024</year>
          <month>11</month>
          <day>15</day>
          <volume>26</volume>
          <fpage>e59225</fpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://www.jmir.org/2024//e59225/"/>
          </comment>
          <pub-id pub-id-type="doi">10.2196/59225</pub-id>
          <pub-id pub-id-type="medline">39546783</pub-id>
          <pub-id pub-id-type="pii">v26i1e59225</pub-id>
          <pub-id pub-id-type="pmcid">PMC11607554</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref22">
        <label>22</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Christensen</surname>
              <given-names>H</given-names>
            </name>
            <name name-style="western">
              <surname>Griffiths</surname>
              <given-names>KM</given-names>
            </name>
            <name name-style="western">
              <surname>Farrer</surname>
              <given-names>L</given-names>
            </name>
          </person-group>
          <article-title>Adherence in internet interventions for anxiety and depression</article-title>
          <source>J Med Internet Res</source>
          <year>2009</year>
          <month>04</month>
          <day>24</day>
          <volume>11</volume>
          <issue>2</issue>
          <fpage>e13</fpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://www.jmir.org/2009/2/e13/"/>
          </comment>
          <pub-id pub-id-type="doi">10.2196/jmir.1194</pub-id>
          <pub-id pub-id-type="medline">19403466</pub-id>
          <pub-id pub-id-type="pii">v11i2e13</pub-id>
          <pub-id pub-id-type="pmcid">PMC2762797</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref23">
        <label>23</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Ayhan</surname>
              <given-names>Y</given-names>
            </name>
          </person-group>
          <article-title>The impact of artificial intelligence on psychiatry: benefits and concerns-an essay from a disputed 'author'</article-title>
          <source>Turk Psikiyatri Derg</source>
          <year>2023</year>
          <volume>34</volume>
          <issue>2</issue>
          <fpage>65</fpage>
          <lpage>67</lpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://europepmc.org/abstract/MED/37357892"/>
          </comment>
          <pub-id pub-id-type="doi">10.5080/u27365</pub-id>
          <pub-id pub-id-type="medline">37357892</pub-id>
          <pub-id pub-id-type="pmcid">PMC10552174</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref24">
        <label>24</label>
        <nlm-citation citation-type="web">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Pennebaker</surname>
              <given-names>JW</given-names>
            </name>
            <name name-style="western">
              <surname>Boyd</surname>
              <given-names>RL</given-names>
            </name>
            <name name-style="western">
              <surname>Jordan</surname>
              <given-names>K</given-names>
            </name>
            <name name-style="western">
              <surname>Blackburn</surname>
              <given-names>K</given-names>
            </name>
          </person-group>
          <article-title>The development and psychometric properties of LIWC2015</article-title>
          <source>The University of Texas at Austin</source>
          <year>2015</year>
          <access-date>2026-07-21</access-date>
          <publisher-loc>Austin, TX</publisher-loc>
          <publisher-name>University of Texas at Austin</publisher-name>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://repositories.lib.utexas.edu/server/api/core/bitstreams/b0d26dcf-2391-4701-88d0-3cf50ebee697/content">https://repositories.lib.utexas.edu/server/api/core/bitstreams/b0d26dcf-2391-4701-88d0-3cf50ebee697/content</ext-link>
          </comment>
        </nlm-citation>
      </ref>
      <ref id="ref25">
        <label>25</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Reece</surname>
              <given-names>AG</given-names>
            </name>
            <name name-style="western">
              <surname>Danforth</surname>
              <given-names>CM</given-names>
            </name>
          </person-group>
          <article-title>Instagram photos reveal predictive markers of depression</article-title>
          <source>EPJ Data Sci</source>
          <year>2017</year>
          <month>8</month>
          <day>8</day>
          <volume>6</volume>
          <issue>1</issue>
          <fpage>15</fpage>
          <pub-id pub-id-type="doi">10.1140/epjds/s13688-017-0110-z</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref26">
        <label>26</label>
        <nlm-citation citation-type="confproc">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Binns</surname>
              <given-names>R</given-names>
            </name>
            <name name-style="western">
              <surname>Van Kleek</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Veale</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Lyngs</surname>
              <given-names>U</given-names>
            </name>
            <name name-style="western">
              <surname>Zhao</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Shadbolt</surname>
              <given-names>N</given-names>
            </name>
          </person-group>
          <article-title>‘It’s reducing a human being to a percentage’: perceptions of justice in algorithmic decisions</article-title>
          <year>2018</year>
          <conf-name>CHI '18 Conference on human factors in computing systems</conf-name>
          <conf-date>April 21-26, 2018</conf-date>
          <conf-loc>Montreal, QC, Canada</conf-loc>
          <fpage>1</fpage>
          <lpage>14</lpage>
          <pub-id pub-id-type="doi">10.1145/3173574.3173951</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref27">
        <label>27</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Horvitz</surname>
              <given-names>E</given-names>
            </name>
            <name name-style="western">
              <surname>Mulligan</surname>
              <given-names>D</given-names>
            </name>
          </person-group>
          <article-title>Policy forum. Data, privacy, and the greater good</article-title>
          <source>Science</source>
          <year>2015</year>
          <month>07</month>
          <day>17</day>
          <volume>349</volume>
          <issue>6245</issue>
          <fpage>253</fpage>
          <lpage>5</lpage>
          <pub-id pub-id-type="doi">10.1126/science.aac4520</pub-id>
          <pub-id pub-id-type="medline">26185242</pub-id>
          <pub-id pub-id-type="pii">349/6245/253</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref28">
        <label>28</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Aladağ</surname>
              <given-names>AE</given-names>
            </name>
            <name name-style="western">
              <surname>Muderrisoglu</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Akbas</surname>
              <given-names>NB</given-names>
            </name>
            <name name-style="western">
              <surname>Zahmacioglu</surname>
              <given-names>O</given-names>
            </name>
            <name name-style="western">
              <surname>Bingol</surname>
              <given-names>HO</given-names>
            </name>
          </person-group>
          <article-title>Detecting suicidal ideation on forums: proof-of-concept study</article-title>
          <source>J Med Internet Res</source>
          <year>2018</year>
          <month>06</month>
          <day>21</day>
          <volume>20</volume>
          <issue>6</issue>
          <fpage>e215</fpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://www.jmir.org/2018/6/e215/"/>
          </comment>
          <pub-id pub-id-type="doi">10.2196/jmir.9840</pub-id>
          <pub-id pub-id-type="medline">29929945</pub-id>
          <pub-id pub-id-type="pii">v20i6e215</pub-id>
          <pub-id pub-id-type="pmcid">PMC6035349</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref29">
        <label>29</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Goldberg</surname>
              <given-names>LR</given-names>
            </name>
          </person-group>
          <article-title>The structure of phenotypic personality traits</article-title>
          <source>American Psychologist</source>
          <year>1993</year>
          <volume>48</volume>
          <issue>1</issue>
          <fpage>26</fpage>
          <lpage>34</lpage>
          <pub-id pub-id-type="doi">10.1037/0003-066x.48.1.26</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref30">
        <label>30</label>
        <nlm-citation citation-type="confproc">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Sumner</surname>
              <given-names>C</given-names>
            </name>
            <name name-style="western">
              <surname>Byers</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Boochever</surname>
              <given-names>R</given-names>
            </name>
            <name name-style="western">
              <surname>Park</surname>
              <given-names>GJ</given-names>
            </name>
          </person-group>
          <article-title>Predicting dark triad personality traits from Twitter usage and linguistic analysis of tweets</article-title>
          <year>2012</year>
          <conf-name>11th International Conference on Machine Learning and Applications</conf-name>
          <conf-date>December 12-15, 2012</conf-date>
          <conf-loc>Boca Raton, FL</conf-loc>
          <publisher-loc>New York, NY</publisher-loc>
          <publisher-name>IEEE</publisher-name>
          <fpage>386</fpage>
          <lpage>393</lpage>
          <pub-id pub-id-type="doi">10.1109/icmla.2012.218</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref31">
        <label>31</label>
        <nlm-citation citation-type="confproc">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Preotiuc-Pietro</surname>
              <given-names>D</given-names>
            </name>
            <name name-style="western">
              <surname>Carpenter</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Giorgi</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Ungar</surname>
              <given-names>L</given-names>
            </name>
          </person-group>
          <article-title>Studying the dark triad of personality through Twitter behavior</article-title>
          <source>CIKM '16: Proceedings of the 25th ACM International on Conference on Information and Knowledge Management</source>
          <year>2016</year>
          <month>10</month>
          <day>24</day>
          <conf-name>CIKM'16: ACM Conference on Information and Knowledge Management</conf-name>
          <conf-date>October 24-28, 2016</conf-date>
          <conf-loc>Indianapolis, IN</conf-loc>
          <publisher-loc>New York, NY</publisher-loc>
          <publisher-name>Association for Computing Machinery</publisher-name>
          <fpage>761</fpage>
          <lpage>770</lpage>
          <pub-id pub-id-type="doi">10.1145/2983323.2983822</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref32">
        <label>32</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Yarkoni</surname>
              <given-names>T</given-names>
            </name>
          </person-group>
          <article-title>Personality in 100,000 Words: a large-scale analysis of personality and word use among bloggers</article-title>
          <source>J Res Pers</source>
          <year>2010</year>
          <month>06</month>
          <day>01</day>
          <volume>44</volume>
          <issue>3</issue>
          <fpage>363</fpage>
          <lpage>373</lpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://europepmc.org/abstract/MED/20563301"/>
          </comment>
          <pub-id pub-id-type="doi">10.1016/j.jrp.2010.04.001</pub-id>
          <pub-id pub-id-type="medline">20563301</pub-id>
          <pub-id pub-id-type="pmcid">PMC2885844</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref33">
        <label>33</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Park</surname>
              <given-names>G</given-names>
            </name>
            <name name-style="western">
              <surname>Schwartz</surname>
              <given-names>HA</given-names>
            </name>
            <name name-style="western">
              <surname>Eichstaedt</surname>
              <given-names>JC</given-names>
            </name>
            <name name-style="western">
              <surname>Kern</surname>
              <given-names>ML</given-names>
            </name>
            <name name-style="western">
              <surname>Kosinski</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Stillwell</surname>
              <given-names>DJ</given-names>
            </name>
            <name name-style="western">
              <surname>Ungar</surname>
              <given-names>LH</given-names>
            </name>
            <name name-style="western">
              <surname>Seligman</surname>
              <given-names>MEP</given-names>
            </name>
          </person-group>
          <article-title>Automatic personality assessment through social media language</article-title>
          <source>J Pers Soc Psychol</source>
          <year>2015</year>
          <month>06</month>
          <volume>108</volume>
          <issue>6</issue>
          <fpage>934</fpage>
          <lpage>52</lpage>
          <pub-id pub-id-type="doi">10.1037/pspp0000020</pub-id>
          <pub-id pub-id-type="medline">25365036</pub-id>
          <pub-id pub-id-type="pii">2014-45458-001</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref34">
        <label>34</label>
        <nlm-citation citation-type="confproc">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Gjurković</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Šnajder</surname>
              <given-names>J</given-names>
            </name>
          </person-group>
          <article-title>Reddit: a gold mine for personality prediction</article-title>
          <year>2018</year>
          <conf-name>Second Workshop on Computational Modeling of People’s Opinions, Personality, and Emotions in Social Media</conf-name>
          <conf-date>June 6, 2018</conf-date>
          <conf-loc>New Orleans, LA</conf-loc>
          <publisher-loc>New York, NY</publisher-loc>
          <publisher-name>Association for Computational Linguistics</publisher-name>
          <fpage>87</fpage>
          <lpage>97</lpage>
          <pub-id pub-id-type="doi">10.18653/v1/w18-1112</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref35">
        <label>35</label>
        <nlm-citation citation-type="confproc">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Gjurković</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Karan</surname>
              <given-names>VM</given-names>
            </name>
            <name name-style="western">
              <surname>Vukojević</surname>
              <given-names>I</given-names>
            </name>
            <name name-style="western">
              <surname>Bošnjak</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Šnajder</surname>
              <given-names>J</given-names>
            </name>
          </person-group>
          <article-title>PANDORA talks: personality and demographics on Reddit</article-title>
          <year>2021</year>
          <month>06</month>
          <conf-name>Ninth International Workshop on Natural Language Processing for Social Media</conf-name>
          <conf-date>June 10, 2021</conf-date>
          <conf-loc>Online</conf-loc>
          <publisher-loc>New York, NY</publisher-loc>
          <publisher-name>Association for Computational Linguistics</publisher-name>
          <fpage>138</fpage>
          <lpage>152</lpage>
          <pub-id pub-id-type="doi">10.18653/v1/2021.socialnlp-1.12</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref36">
        <label>36</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Gjurković</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Vukojević</surname>
              <given-names>I</given-names>
            </name>
            <name name-style="western">
              <surname>Šnajder</surname>
              <given-names>J</given-names>
            </name>
          </person-group>
          <article-title>SIMPA: Statement-to-Item Matching Personality Assessment from text</article-title>
          <source>Future Generation Computer Systems</source>
          <year>2022</year>
          <month>05</month>
          <volume>130</volume>
          <fpage>114</fpage>
          <lpage>127</lpage>
          <pub-id pub-id-type="doi">10.1016/j.future.2021.12.014</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref37">
        <label>37</label>
        <nlm-citation citation-type="confproc">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Rathner</surname>
              <given-names>EM</given-names>
            </name>
            <name name-style="western">
              <surname>Djamali</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Terhorst</surname>
              <given-names>Y</given-names>
            </name>
            <name name-style="western">
              <surname>Schuller</surname>
              <given-names>B</given-names>
            </name>
            <name name-style="western">
              <surname>Cummins</surname>
              <given-names>N</given-names>
            </name>
            <name name-style="western">
              <surname>Salamon</surname>
              <given-names>G</given-names>
            </name>
            <name name-style="western">
              <surname>Hunger-Schoppe</surname>
              <given-names>C</given-names>
            </name>
            <name name-style="western">
              <surname>Baumeister</surname>
              <given-names>H</given-names>
            </name>
          </person-group>
          <article-title>How did you like 2017? Detection of language markers of depression and narcissism in personal narratives</article-title>
          <year>2018</year>
          <month>09</month>
          <day>02</day>
          <conf-name>Interspeech 2018</conf-name>
          <conf-date>September 2-6, 2018</conf-date>
          <conf-loc>Hyderabad, Telangana, India</conf-loc>
          <fpage>3388</fpage>
          <lpage>3392</lpage>
          <pub-id pub-id-type="doi">10.21437/interspeech.2018-2040</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref38">
        <label>38</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Jain</surname>
              <given-names>D</given-names>
            </name>
            <name name-style="western">
              <surname>Arora</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Jha</surname>
              <given-names>CK</given-names>
            </name>
            <name name-style="western">
              <surname>Malik</surname>
              <given-names>G</given-names>
            </name>
          </person-group>
          <article-title>Text classification models for personality disorders identification</article-title>
          <source>Soc Netw Anal Min</source>
          <year>2024</year>
          <month>03</month>
          <day>19</day>
          <volume>14</volume>
          <issue>1</issue>
          <fpage>64</fpage>
          <pub-id pub-id-type="doi">10.1007/s13278-024-01219-8</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref39">
        <label>39</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Zimmer</surname>
              <given-names>M</given-names>
            </name>
          </person-group>
          <article-title>Addressing conceptual gaps in big data research ethics: an application of contextual integrity</article-title>
          <source>Social Media + Society</source>
          <year>2018</year>
          <month>05</month>
          <day>02</day>
          <volume>4</volume>
          <issue>2</issue>
          <fpage>2056305118768300</fpage>
          <pub-id pub-id-type="doi">10.1177/2056305118768300</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref40">
        <label>40</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Eysenbach</surname>
              <given-names>G</given-names>
            </name>
            <name name-style="western">
              <surname>Till</surname>
              <given-names>JE</given-names>
            </name>
          </person-group>
          <article-title>Ethical issues in qualitative research on internet communities</article-title>
          <source>BMJ</source>
          <year>2001</year>
          <month>11</month>
          <day>10</day>
          <volume>323</volume>
          <issue>7321</issue>
          <fpage>1103</fpage>
          <lpage>5</lpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://europepmc.org/abstract/MED/11701577"/>
          </comment>
          <pub-id pub-id-type="doi">10.1136/bmj.323.7321.1103</pub-id>
          <pub-id pub-id-type="medline">11701577</pub-id>
          <pub-id pub-id-type="pmcid">PMC59687</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref41">
        <label>41</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Samuel</surname>
              <given-names>G</given-names>
            </name>
            <name name-style="western">
              <surname>Buchanan</surname>
              <given-names>E</given-names>
            </name>
          </person-group>
          <article-title>Guest Editorial: Ethical issues in social media research</article-title>
          <source>J Empir Res Hum Res Ethics</source>
          <year>2020</year>
          <month>01</month>
          <day>20</day>
          <volume>15</volume>
          <issue>1-2</issue>
          <fpage>3</fpage>
          <lpage>11</lpage>
          <pub-id pub-id-type="doi">10.1177/1556264619901215</pub-id>
          <pub-id pub-id-type="medline">31959061</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref42">
        <label>42</label>
        <nlm-citation citation-type="web">
          <article-title>Publicly available Reddit comment for research</article-title>
          <source>Reddit</source>
          <year>2019</year>
          <month>12</month>
          <day>31</day>
          <access-date>2019-12-31</access-date>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://www.reddit.com/r/datasets/comments/3bxlg7/i_have_every_publicly_available_reddit_comment/">https://www.reddit.com/r/datasets/comments/3bxlg7/i_have_every_publicly_available_reddit_comment/</ext-link>
          </comment>
        </nlm-citation>
      </ref>
      <ref id="ref43">
        <label>43</label>
        <nlm-citation citation-type="web">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Aladağ</surname>
              <given-names>AE</given-names>
            </name>
          </person-group>
          <article-title>Etiketle: multilabel Reddit post annotation tool</article-title>
          <source>GitHub</source>
          <year>2025</year>
          <month>02</month>
          <day>03</day>
          <access-date>2025-02-03</access-date>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://github.com/aladagemre/etiketle">https://github.com/aladagemre/etiketle</ext-link>
          </comment>
        </nlm-citation>
      </ref>
      <ref id="ref44">
        <label>44</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Chawla</surname>
              <given-names>NV</given-names>
            </name>
            <name name-style="western">
              <surname>Bowyer</surname>
              <given-names>KW</given-names>
            </name>
            <name name-style="western">
              <surname>Hall</surname>
              <given-names>LO</given-names>
            </name>
            <name name-style="western">
              <surname>Kegelmeyer</surname>
              <given-names>WP</given-names>
            </name>
          </person-group>
          <article-title>SMOTE: Synthetic Minority Over-sampling Technique</article-title>
          <source>J Artif Intell Res</source>
          <year>2002</year>
          <month>06</month>
          <day>01</day>
          <volume>16</volume>
          <fpage>321</fpage>
          <lpage>357</lpage>
          <pub-id pub-id-type="doi">10.1613/jair.953</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref45">
        <label>45</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <collab>No authors</collab>
          </person-group>
          <article-title>Two modifications of CNN</article-title>
          <source>IEEE Trans Syst Man Cybern</source>
          <year>1976</year>
          <month>11</month>
          <volume>SMC-6</volume>
          <issue>11</issue>
          <fpage>769</fpage>
          <lpage>772</lpage>
          <pub-id pub-id-type="doi">10.1109/tsmc.1976.4309452</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref46">
        <label>46</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Devlin</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Chang</surname>
              <given-names>MW</given-names>
            </name>
            <name name-style="western">
              <surname>Lee</surname>
              <given-names>K</given-names>
            </name>
            <name name-style="western">
              <surname>Toutanova</surname>
              <given-names>K</given-names>
            </name>
          </person-group>
          <article-title>BERT: pre-training of deep bidirectional transformers for language understanding</article-title>
          <source>arXiv</source>
          <comment>Preprint posted online May 24, 2019</comment>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://arxiv.org/abs/1810.04805"/>
          </comment>
          <pub-id pub-id-type="doi">10.48550/arXiv.1810.04805</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref47">
        <label>47</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Touvron</surname>
              <given-names>H</given-names>
            </name>
            <name name-style="western">
              <surname>Lavril</surname>
              <given-names>T</given-names>
            </name>
            <name name-style="western">
              <surname>Izacard</surname>
              <given-names>G</given-names>
            </name>
            <name name-style="western">
              <surname>Martinet</surname>
              <given-names>X</given-names>
            </name>
            <name name-style="western">
              <surname>Lachaux</surname>
              <given-names>M-A</given-names>
            </name>
            <name name-style="western">
              <surname>Lacroix</surname>
              <given-names>T</given-names>
            </name>
            <name name-style="western">
              <surname>Rozière</surname>
              <given-names>B</given-names>
            </name>
            <name name-style="western">
              <surname>Goyal</surname>
              <given-names>N</given-names>
            </name>
            <name name-style="western">
              <surname>Hambro</surname>
              <given-names>E</given-names>
            </name>
            <name name-style="western">
              <surname>Azhar</surname>
              <given-names>F</given-names>
            </name>
            <name name-style="western">
              <surname>Rodriguez</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Joulin</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Grave</surname>
              <given-names>E</given-names>
            </name>
            <name name-style="western">
              <surname>Lample</surname>
              <given-names>G</given-names>
            </name>
          </person-group>
          <article-title>LLaMA: open and efficient foundation language models</article-title>
          <source>arXiv</source>
          <comment>Preprint posted online February 27, 2023</comment>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://arxiv.org/abs/2302.13971"/>
          </comment>
          <pub-id pub-id-type="doi">10.48550/arXiv.2302.13971</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref48">
        <label>48</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Wang</surname>
              <given-names>W</given-names>
            </name>
            <name name-style="western">
              <surname>Wei</surname>
              <given-names>F</given-names>
            </name>
            <name name-style="western">
              <surname>Dong</surname>
              <given-names>L</given-names>
            </name>
            <name name-style="western">
              <surname>Bao</surname>
              <given-names>H</given-names>
            </name>
            <name name-style="western">
              <surname>Yang</surname>
              <given-names>N</given-names>
            </name>
            <name name-style="western">
              <surname>Zhou</surname>
              <given-names>M</given-names>
            </name>
          </person-group>
          <article-title>MiniLM: deep self-attention distillation for task-agnostic compression of pre-trained transformers</article-title>
          <source>arXiv</source>
          <comment>Preprint posted online April 6, 2020</comment>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://arxiv.org/abs/2002.10957"/>
          </comment>
          <pub-id pub-id-type="doi">10.48550/arXiv.2002.10957</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref49">
        <label>49</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Nussbaum</surname>
              <given-names>Z</given-names>
            </name>
            <name name-style="western">
              <surname>Morris</surname>
              <given-names>JX</given-names>
            </name>
            <name name-style="western">
              <surname>Duderstadt</surname>
              <given-names>B</given-names>
            </name>
            <name name-style="western">
              <surname>Mulyar</surname>
              <given-names>A</given-names>
            </name>
          </person-group>
          <article-title>Nomic embed: training a reproducible long context text embedder</article-title>
          <source>arXiv</source>
          <comment>Preprint posted online February 3, 2025</comment>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://arxiv.org/abs/2402.01613"/>
          </comment>
          <pub-id pub-id-type="doi">10.48550/arXiv.2402.01613</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref50">
        <label>50</label>
        <nlm-citation citation-type="book">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Edwards</surname>
              <given-names>AWF</given-names>
            </name>
          </person-group>
          <article-title>R.A. Fisher, Statistical methods for research workers, first edition (1925)</article-title>
          <source>Landmark Writings in Western Mathematics 1640-1940</source>
          <year>2005</year>
          <publisher-loc>Edinburgh, Scotland</publisher-loc>
          <publisher-name>Elsevier</publisher-name>
          <fpage>856</fpage>
          <lpage>870</lpage>
          <pub-id pub-id-type="doi">10.1016/B978-044450871-3/50148-0</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref51">
        <label>51</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Luo</surname>
              <given-names>W</given-names>
            </name>
            <name name-style="western">
              <surname>Phung</surname>
              <given-names>D</given-names>
            </name>
            <name name-style="western">
              <surname>Tran</surname>
              <given-names>T</given-names>
            </name>
            <name name-style="western">
              <surname>Gupta</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Rana</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Karmakar</surname>
              <given-names>C</given-names>
            </name>
            <name name-style="western">
              <surname>Shilton</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Yearwood</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Dimitrova</surname>
              <given-names>N</given-names>
            </name>
            <name name-style="western">
              <surname>Ho</surname>
              <given-names>TB</given-names>
            </name>
            <name name-style="western">
              <surname>Venkatesh</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Berk</surname>
              <given-names>M</given-names>
            </name>
          </person-group>
          <article-title>Guidelines for developing and reporting machine learning predictive models in biomedical research: a multidisciplinary view</article-title>
          <source>J Med Internet Res</source>
          <year>2016</year>
          <month>12</month>
          <day>16</day>
          <volume>18</volume>
          <issue>12</issue>
          <fpage>e323</fpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://www.jmir.org/2016/12/e323/"/>
          </comment>
          <pub-id pub-id-type="doi">10.2196/jmir.5870</pub-id>
          <pub-id pub-id-type="medline">27986644</pub-id>
          <pub-id pub-id-type="pii">v18i12e323</pub-id>
          <pub-id pub-id-type="pmcid">PMC5238707</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref52">
        <label>52</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Obermeyer</surname>
              <given-names>Z</given-names>
            </name>
            <name name-style="western">
              <surname>Powers</surname>
              <given-names>B</given-names>
            </name>
            <name name-style="western">
              <surname>Vogeli</surname>
              <given-names>C</given-names>
            </name>
            <name name-style="western">
              <surname>Mullainathan</surname>
              <given-names>S</given-names>
            </name>
          </person-group>
          <article-title>Dissecting racial bias in an algorithm used to manage the health of populations</article-title>
          <source>Science</source>
          <year>2019</year>
          <month>10</month>
          <day>25</day>
          <volume>366</volume>
          <issue>6464</issue>
          <fpage>447</fpage>
          <lpage>453</lpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://escholarship.org/uc/item/qt6h92v832"/>
          </comment>
          <pub-id pub-id-type="doi">10.1126/science.aax2342</pub-id>
          <pub-id pub-id-type="medline">31649194</pub-id>
          <pub-id pub-id-type="pii">366/6464/447</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref53">
        <label>53</label>
        <nlm-citation citation-type="book">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Witkowski</surname>
              <given-names>T</given-names>
            </name>
          </person-group>
          <article-title>Vikram H. Patel: global mental health</article-title>
          <source>Shaping Psychology: Perspectives on Legacy, Controversy and the Future of the Field</source>
          <year>2020</year>
          <publisher-loc>Cham, Switzerland</publisher-loc>
          <publisher-name>Springer International Publishing</publisher-name>
          <fpage>267</fpage>
          <lpage>288</lpage>
          <pub-id pub-id-type="doi">10.1007/978-3-030-50003-0_14</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref54">
        <label>54</label>
        <nlm-citation citation-type="web">
          <source>GitHub</source>
          <access-date>2026-07-08</access-date>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://github.com/aladagemre/npd-traits">https://github.com/aladagemre/npd-traits</ext-link>
          </comment>
        </nlm-citation>
      </ref>
    </ref-list>
  </back>
</article>
