Disputing Your Roots: A Multi-Platform Computational Analysis of Consumer Reactions to Genetic Ancestry Testing | Research Square window.SnipcartSettings = { analytics: { enabled: false } }; (function() { var accessVector = localStorage.getItem('access_vector') || ''; window.dataLayer = window.dataLayer || []; if (accessVector) { window.dataLayer.push({ user: { profile: { profileInfo: { snid: accessVector } } } }); } })(); (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','GTM-K279D39R'); Browse Preprints In Review Journals COVID-19 Preprints AJE Video Bytes Research Tools Research Promotion AJE Professional Editing AJE Rubriq About Preprint Platform In Review Editorial Policies Our Team Advisory Board Help Center Sign In Submit a Preprint Cite Share Download PDF Research Article Disputing Your Roots: A Multi-Platform Computational Analysis of Consumer Reactions to Genetic Ancestry Testing Sara Behnamian This is a preprint; it has not been peer reviewed by a journal. https://doi.org/ 10.21203/rs.3.rs-8336080/v1 This work is licensed under a CC BY 4.0 License Status: Under Review Version 1 posted 3 You are reading this latest preprint version Abstract Direct-to-consumer (DTC) genetic ancestry testing has grown rapidly, yet computational analysis of consumer reactions remains limited. This study presents a cross-platform computational analysis of consumer reactions to ancestry testing across 58,133 posts from Reddit, YouTube, and Google Play. We developed a six-category reaction taxonomy (acceptance, excitement, dispute, surprise, disappointment, identity crisis) and applied natural language processing methods including sentiment analysis, topic modeling, and predictive modeling. Results revealed that acceptance (9.5%) and excitement (9.4%) were most prevalent, followed by dispute (8.6%). Platform differences emerged: Reddit showed highest dispute rates (10.2%), while Google Play exhibited elevated excitement (29.6%). Dispute rates varied substantially by ancestry, with Turkish (23.5%), Greek (19.7%), and Scandinavian (18.5%) ancestries most frequently contested. Among posts containing both self-reported ethnicity and genetic results, concordance was 61.8%, quantifying the discrepancy between social and genetic definitions of ancestry. A logistic regression model predicting dispute expression achieved AUC = 0.79, identifying text length and negative sentiment as key predictors. These findings advance understanding of how consumers engage with genetic ancestry information online, with implications for DTC companies, genetic counselors, and researchers studying the social dimensions of consumer genomics. direct-to-consumer genetic testing ancestry testing natural language processing sentiment analysis consumer genomics social media analysis Figures Figure 1 Figure 2 Figure 3 Figure 4 Figure 5 Figure 6 1. Introduction Direct-to-consumer (DTC) genetic ancestry testing has experienced remarkable growth over the past decade, with more than 26 million consumers taking an at-home ancestry test by early 2019 (Regalado 2019 ). Companies such as 23andMe, AncestryDNA, and MyHeritage offer affordable autosomal DNA analysis that provides users with estimates of their biogeographical ancestry composition, often expressed as percentages attributed to various geographic regions or ethnic populations (Phillips 2016 ). These services have democratized access to genetic information that was previously available only through clinical or research settings, enabling individuals to explore questions of heritage, identity, and family history without professional intermediation (Harris et al. 2013 ). The proliferation of DTC ancestry testing has generated significant scholarly interest in how consumers interpret, react to, and incorporate genetic ancestry information into their self-understanding. Survey-based research has documented that ancestry results can elicit a range of emotional responses, from excitement and validation to surprise, confusion, and psychological distress (Rubanovich et al. 2021 ; Schuman et al. 2024 ). Approximately 46% of users report experiencing surprise upon receiving their results, while a smaller but significant proportion (21%) indicate that results reshaped their sense of identity (Rubanovich et al. 2021 ). These findings suggest that ancestry information can influence how individuals interpret or revise their understandings of identity. 1.1 Prior Research on Consumer Responses to Ancestry Testing Research examining consumer responses to DTC genetic ancestry testing has employed diverse methodological approaches. Survey-based studies have provided valuable quantitative insights into the prevalence and correlates of various reactions. Roberts et al. ( 2017 ) conducted a longitudinal survey finding that consumers expressed equal interest in ancestry and health information and reported high satisfaction with their testing experience. Rubanovich et al. ( 2021 ) followed a large cohort, documenting that while surprise was common (46%), severe distress was rare (< 1%). Systematic reviews have synthesized findings across multiple studies: Stewart et al. ( 2018 ) found that only a minority (under one quarter) of users reported positive lifestyle changes following DTC testing, and overall levels of psychological distress were low, while Roberts and Ostergren ( 2013 ) concluded that neither the expected benefits nor the feared harms of DTC testing materialized at the population level. Qualitative interview studies have illuminated the deeper psychological and social dimensions of ancestry testing experiences (Table 1 ). Roth and Ivemark ( 2018 ) conducted in-depth interviews revealing that responses to ancestry results varied systematically by racial identity: white respondents often embraced unexpected results as opportunities to adopt new ethnic identities, while nonwhite respondents tended to maintain existing identifications regardless of genetic findings. This work underscored the socially constructed nature of genetic ancestry interpretation. More recent qualitative research has focused specifically on non-paternity events (NPE)—discoveries that one's presumed biological father is not genetically related—documenting profound negative impacts on mental health, identity coherence, and family relationships (Careau et al. 2025 ; Becker et al. 2024 ; Grethel et al. 2022 , 2024 ). Table 1 Qualitative interview studies on consumer responses to DTC genetic ancestry testing. Study Method Population Key Findings Roth & Ivemark ( 2018 ) In-depth interviews Diverse racial groups White respondents adopt new identities; nonwhite maintain existing identities Careau et al. ( 2025 ) Semi-structured interviews NPE individuals Profound negative mental health impact; identity disruption; family rupture Becker et al. ( 2024 ) Thematic analysis NPE individuals Identity impact; grief and loss; strained parent-child relationships Grethel et al. ( 2022 ) Thematic analysis NPE individuals Identity transformation; shifts in race, ethnicity, religion, belonging Grethel et al. ( 2024 ) Thematic analysis NPE individuals Disclosure dilemmas; stigma; emotional challenges Lang & Winkler ( 2021 ) Mixed methods Experts and users Companies and users co-construct ancestry meanings Note. NPE = Non-Paternity Event (discovery that presumed father is not biological father). A notably smaller body of research has applied computational text analysis methods to examine consumer discussions of genetic ancestry testing at scale (Table 2 ). To date, only a small number of NLP studies have examined this domain. Two prominent examples are Yin et al. ( 2020 ) and Toussaint et al. ( 2022 ). Yin et al. ( 2020 ) analyzed posts from Reddit communities (r/23andme and r/AncestryDNA), applying Latent Dirichlet Allocation (LDA) topic modeling and Linguistic Inquiry and Word Count (LIWC) sentiment analysis. They identified "Ancestral Origin" and "Kinship/Feelings" as the most discussed topics, with kinship-related discussions exhibiting the widest emotional range. Toussaint et al. ( 2022 ) examined YouTube comments using structural topic modeling and Bing/NRC sentiment lexicons, finding six primary topics and generally positive to neutral attitudes. Table 2 Computational NLP studies on consumer discussions of DTC genetic ancestry testing. Study Platform Topic Modeling Sentiment Analysis Key Findings Yin et al. ( 2020 ) Reddit LDA LIWC Kinship topics had widest emotional range Toussaint et al. ( 2022 ) YouTube STM Bing/NRC 6 topics; positive-neutral attitudes Note. LDA = Latent Dirichlet Allocation; STM = Structural Topic Modeling; LIWC = Linguistic Inquiry and Word Count. 1.2 Gaps in the Literature Despite growing interest in consumer responses to genetic ancestry testing, several important gaps remain in the computational literature. Both existing NLP studies examined single platforms in isolation—Reddit (Yin et al. 2020 ) or YouTube (Toussaint et al. 2022 )—precluding systematic comparison of how platform affordances shape consumer discourse. Different platforms attract distinct user populations and encourage different forms of expression: Reddit's pseudonymous discussion forums may facilitate candid disclosure of sensitive reactions, while YouTube comment sections attached to "DNA reveal" videos may emphasize performative displays of surprise or excitement, and app store reviews likely reflect selection bias toward users motivated to provide feedback. Furthermore, neither study systematically classified the types of emotional and cognitive reactions consumers express. While sentiment analysis captures overall positive or negative valence, it does not distinguish between qualitatively different responses such as surprise, dispute, acceptance, disappointment, identity disruption, or excitement. These reaction types likely differ in meaning, yet prior computational studies primarily focused on topic modeling and overall sentiment analysis rather than distinguishing discrete reaction categories (Yin et al. 2020 ; Toussaint et al. 2022 ). The relationship between specific ancestry findings and consumer reactions has been examined only in limited qualitative work and remains underexplored computationally. Qualitative research suggests that certain ancestry results—particularly those involving Native American heritage—may be more likely to elicit skepticism or dispute (Walajahi et al. 2019 ). However, no study has extracted reported ancestry percentages from user posts or quantified dispute rates across ancestry categories. Similarly, existing research has not examined the concordance between self-reported ethnicity and genetic ancestry results in naturalistic online discourse, despite genetic anthropologists noting discrepancies between genetic and social definitions of ancestry (Morning 2011 ). Finally, prior computational work has been primarily descriptive, documenting patterns in consumer discourse without developing predictive models. Understanding which post characteristics predict dispute expression could advance theory regarding the psychological and linguistic correlates of ancestry skepticism. 1.3 The Present Study This study addresses these gaps through a comprehensive computational analysis of consumer reactions to DTC genetic ancestry testing across multiple online platforms. We collected 58,133 user-generated posts from Reddit, YouTube, and Google Play, applying natural language processing methods to extract ancestry percentages, classify emotional reactions, analyze sentiment, discover latent topics, and model predictors of dispute expression. Our approach builds on prior computational research in several ways. First, we provide a cross-platform analysis focused on consumer reactions across Reddit, YouTube, and Google Play. Second, we develop a six-category reaction taxonomy (surprise, dispute, acceptance, disappointment, identity crisis, excitement) that moves beyond binary sentiment to capture qualitatively distinct response types. Third, we extract reported ancestry percentages and normalize them into 42 standardized categories, allowing analysis of which ancestries are most frequently contested. Fourth, we compare users' self-reported ethnicities with their genetic results, finding 61.8% concordance. Fifth, we develop a logistic regression model predicting dispute expression (AUC = 0.79), identifying text length and negative sentiment as key predictors. These contributions address fundamental gaps in understanding how consumers discuss and react to genetic ancestry information online. Our analysis addresses five research questions: (1) How prevalent are different reaction types in consumer discussions of ancestry testing, and how do these distributions vary across platforms? (2) Which specific ancestries are most frequently contested, and what patterns emerge in ancestry-specific dispute rates? (3) What is the relationship between reaction type and sentiment, and do different sentiment analysis methods yield convergent results? (4) To what extent do users' self-reported ethnicities align with their genetic ancestry results? (5) Which post characteristics predict expression of dispute? 2. Methods 2.1 Data Collection We collected user-generated content discussing direct-to-consumer (DTC) genetic ancestry testing from three major online platforms: Reddit, YouTube, and Google Play. Reddit. Posts were scraped from four ancestry-related subreddits: r/23andme, r/AncestryDNA, r/ancestry, and r/Genealogy. Data retrieval used the Arctic Shift API ( https://arctic-shift.photon-reddit.com/ ) as the primary source, with Pullpush API ( https://pullpush.io/ ) as fallback. For each subreddit, we collected up to 10,000 posts sorted by creation date in descending order. Data were retrieved in December 2025. Reddit posts were collected using the Arctic Shift API (with Pullpush as fallback). The most recent Reddit posts available through the API at the time of retrieval were dated May 17, 2025, resulting in a dataset spanning August 2020 through May 2025. YouTube comments and Google Play reviews were also retrieved in December 2025 and span December 2016 through December 2025 (YouTube) and September 2024 through December 2025 (Google Play). YouTube. Comments were extracted from ancestry DNA reveal videos using yt-dlp ( https://github.com/yt-dlp/yt-dlp ). We searched for videos using six query terms targeting reaction content. For each query, up to 30 videos were retrieved, and up to 200 comments were extracted per video. Google Play. User reviews were collected using google-play-scraper ( https://github.com/JoMingyu/google-play-scraper ) from three major DTC genetic testing applications: AncestryDNA, 23andMe, and MyHeritage. Up to 1,000 reviews per app were retrieved, sorted by newest first. All data were standardized into a common schema containing: unique identifier, source platform, text content, author, timestamp, and engagement metrics. 2.2 Feature Extraction Ancestry percentage extraction. We developed regular expression patterns to identify reported ancestry percentages from free-text posts. Three pattern variants captured common reporting formats: "[percentage]% [ethnicity]," "[ethnicity]: [percentage]%," and "[ethnicity] [percentage]%." Extracted ethnicities were normalized into 42 standardized categories spanning six geographic regions (Table 3 ). Complete lexicons are available at https://github.com/sarabehnamian/ancestry_nlp Table 3 Ethnicity normalization categories by region. Region Categories (n) Examples of Lexicon Terms European 12 British (British, English, Welsh, Scottish), Scandinavian (Swedish, Norwegian, Danish), Jewish (Ashkenazi, Sephardic) African 7 Nigerian (Yoruba, Igbo, Hausa), West African (Senegalese, Malian), African American (Black American) Asian 9 Chinese (Han), Indian (South Asian, Punjabi, Bengali), Southeast Asian (Thai, Indonesian) Americas 8 Native American (Indigenous, Cherokee, Navajo), Mexican (Mestizo), Caribbean (Jamaican, Haitian) Middle Eastern 3 Middle Eastern (Arab, Levantine, Iraqi, Syrian), Iranian (Persian), Turkish (Anatolian) Oceania 3 Polynesian (Hawaiian, Samoan, Tongan), Melanesian (Fijian, Papua), Australian Aboriginal Reaction classification. User reactions were classified into six categories using keyword-based pattern matching (Table 4). Each post received binary flags indicating presence or absence of each reaction type. Reaction categories were not treated as mutually exclusive. Each post received independent binary indicators for the presence of each reaction type. Consequently, posts expressing multiple or evolving reactions (e.g., initial excitement followed by disappointment) were coded as positive for all applicable categories. This approach reflects the mixed and dynamic nature of online discourse rather than imposing single-label classification. Table 4. Reaction classification keywords. Reaction Keywords Surprise surprised, shocking, shocked, unexpected, never expected, no idea, mind blown, wow, crazy, wild, insane, unbelievable Dispute wrong, incorrect, inaccurate, mistake, error, fake, scam, don't believe, doubt, skeptical, no way, impossible Acceptance makes sense, expected, confirmed, accurate, correct, exactly what, as expected, no surprises, knew it, matches Disappointment disappointed, disappointing, wished, hoped for, wanted to be, thought I was, boring, basic, generic, letdown Identity crisis identity crisis, who am I, don't know who, existential, questioning, lied to me, not my real, NPE, adoption Excitement excited, amazing, awesome, love, cool, fascinating, interesting, incredible, wonderful, thrilled, happy Note. Representative keywords shown; complete lexicons available at https://github.com/sarabehnamian/ancestry_nlp . These reaction categories were developed as operational discourse labels based on recurring lexical patterns in user-generated text rather than derived from established psychometric instruments. Because the study analyzes large-scale naturalistic online discussions, validated self-report scales could not be directly applied. These labels therefore represent text-based indicators of reaction types in discourse and should not be interpreted as validated psychological constructs. Self-reported ethnicity was extracted using six pattern types targeting identity statements: "I'm/I am [ethnicity]," "I identify as [ethnicity]," "my family are/were [ethnicity]," "born/raised in [location]," "my ethnicity/heritage is [ethnicity]," and "I'm [ethnicity] American/Canadian/British." Company detection. Mentions of five DTC genetic testing companies were identified through case-insensitive matching: 23andMe ( https://www.23andme.com/ ), AncestryDNA ( https://www.ancestry.com/dna/ ), MyHeritage ( https://www.myheritage.com/dna ), FamilyTreeDNA ( https://www.familytreedna.com/ ), and LivingDNA ( https://www.livingdna.com/ ). 2.3 Sentiment Analysis Lexicon-based sentiment scoring. We applied two complementary sentiment analysis methods. VADER (Valence Aware Dictionary and sEntiment Reasoner; Hutto and Gilbert 2014 ) computed compound sentiment scores ranging from − 1 (most negative) to + 1 (most positive), along with separate positive, negative, and neutral component scores. TextBlob (Loria 2018 ) provided supplementary polarity (− 1 to + 1) and subjectivity (0 to 1) measures. Posts were categorized as positive (compound > 0.05), neutral (− 0.05 to 0.05), or negative (compound < − 0.05) following VADER's recommended thresholds (Hutto and Gilbert 2014 ). The two tools were applied as a form of methodological triangulation rather than to generate independent inferential claims. VADER is optimized for short, informal social media text and captures intensity and negation patterns effectively, whereas TextBlob provides both polarity and subjectivity estimates. Using both allowed us to assess the robustness of polarity patterns across lexicons and to examine whether subjectivity provided additional interpretive insight beyond valence alone. Polarity estimates from VADER and TextBlob were moderately correlated (r = 0.411, p < 0.001), supporting convergent validity while indicating that the tools capture related but not identical dimensions of sentiment (Fig. 5 ). Topic modeling. Latent Dirichlet Allocation (LDA; Blei et al. 2003 ) was applied to discover latent discussion themes. Text preprocessing included URL removal, non-alphabetic character removal, and lowercasing. Document-term matrices were constructed using scikit-learn (Pedregosa et al. 2011 ) with maximum document frequency of 0.95, minimum document frequency of 10, English stopword removal, and vocabulary limited to 5,000 features. The number of topics (k = 8) was selected based on qualitative interpretability of the resulting themes during exploratory modeling. We inspected top-loading terms and topic assignments to ensure that the solution produced coherent and distinguishable discussion themes without excessive overlap. The model was fit with 15 iterations. Self-reported versus genetic ancestry comparison. For posts containing both self-reported ethnicity and genetic ancestry results, we computed concordance using a binary match variable. A post was coded as concordant (match = 1) if at least one shared normalized ancestry category appeared in both the self-reported and genetic ancestry sets; otherwise, it was coded as discordant (match = 0). Both self-reported and genetic ancestries were stored as comma-separated normalized categories and compared using set intersection. When users reported multiple identities (e.g., “I’m Irish and Italian”), all self-reported categories were compared against all genetic categories, requiring at least one shared category for a match. Fractional ancestry percentages were not incorporated into the concordance calculation; only the presence of normalized ancestry categories was considered. Posts lacking either self-reported ethnicity or genetic ancestry results were excluded from this analysis. 2.4 Statistical Analysis Association tests. Chi-square tests of independence assessed associations between categorical variables: presence of ancestry results and surprise reactions, presence of ancestry results and dispute reactions, and source platform and reaction types. Effect sizes were quantified using Cramér's V. Statistical significance was set at α = 0.05. Platform comparison. One-way analysis of variance (ANOVA) compared mean VADER compound sentiment scores across source platforms (Reddit, YouTube, Google Play). Effect size was quantified using eta-squared (η²). Post-hoc pairwise comparisons were conducted using Tukey's Honestly Significant Difference (HSD) test (Tukey 1949 ). Reaction-sentiment comparison. Independent samples t-tests compared sentiment scores between posts with and without each reaction type. For each reaction category, posts were divided into two groups based on the corresponding binary indicator (1 = reaction present; 0 = reaction absent), and mean VADER compound sentiment scores were compared between these groups. Effect sizes were quantified using Cohen's d (Cohen 1988 ). Non-parametric Mann-Whitney U tests (Mann and Whitney 1947 ) were conducted as sensitivity analyses. Kruskal-Wallis H tests (Kruskal and Wallis 1952 ) compared sentiment distributions across all reaction types simultaneously. Correlation analysis. Pearson correlation coefficients quantified relationships between continuous sentiment measures (VADER compound, TextBlob polarity, TextBlob subjectivity). Dispute rate by ancestry. For each normalized ancestry category with at least 20 mentions, we calculated the proportion of posts containing that ancestry that also expressed dispute. Predictive modeling. Dispute was selected as the target variable because it represents an active evaluative response to ancestry results, and understanding its predictors has practical relevance for DTC companies and genetic counselors seeking to anticipate consumer skepticism. Logistic regression modeled the probability of dispute expression as a function of four predictor variables selected to capture complementary dimensions of post content: text length (structural extent of the post), VADER compound sentiment score (affective tone), number of ancestries mentioned (result complexity), and top ancestry percentage (magnitude of the primary ancestry assignment). These features were chosen because they are extractable at scale from unstructured text and span structural, affective, and content-based properties of posts. Features were standardized using z-score normalization prior to model fitting. Model performance was evaluated using 5-fold cross-validation with area under the receiver operating characteristic curve (AUC) as the primary metric. All statistical analyses were conducted using SciPy (Virtanen et al. 2020) and scikit-learn (Pedregosa et al. 2011 ). 2.5 Validation of Reaction Classification To assess the accuracy of the keyword-based reaction classifier, we conducted a manual validation study on a stratified random subsample. A total of 300 posts were sampled from the corpus using stratified random sampling, with approximately 35 posts flagged positive for each of the six reaction types, 60 posts with no detected reaction, and additional randomly selected posts to reach the target sample size. This oversampling strategy ensured sufficient positive cases per category to compute reliable precision and recall estimates. One author (S.B.) independently annotated each post for all six reaction categories using a binary coding scheme (1 = present, 0 = absent). Annotations were guided by predefined definitions for each reaction type (see Table 4) and were based on the full semantic meaning of the text rather than the presence of individual keywords. One post was excluded due to incomplete annotation, yielding 299 fully coded posts. Classifier performance was evaluated using precision, recall, F1 score, Cohen's κ, and accuracy for each reaction category and across all categories (micro- and macro-averaged). Cohen's κ was selected as the primary agreement measure because it adjusts for chance agreement between the keyword classifier and human judgment. 3. Results 3.1 Dataset Characteristics The final corpus comprised 58,133 user-generated records from three platforms: Reddit (n = 40,000; 68.8%), YouTube (n = 17,133; 29.5%), and Google Play (n = 1,000; 1.7%). Reddit data originated from four subreddits: r/23andme, r/AncestryDNA, r/ancestry, and r/Genealogy. YouTube comments were extracted from ancestry DNA reveal videos. Google Play reviews were collected from three DTC applications: AncestryDNA, 23andMe, and MyHeritage (Table 5 ). Table 5 Dataset composition by source platform. Platform Records Percentage Reddit 40,000 68.8% YouTube 17,133 29.5% Google Play 1,000 1.7% Total 58,133 100% 3.2 Ancestry Percentage Extraction Extractable ancestry percentages were identified in 4,379 posts (7.5% of corpus). Posts containing ancestry results reported a mean of 2.3 ancestry categories (SD = 1.8), with total percentages averaging 94.2% per post. European ancestries predominated: British (n = 621), Scandinavian (n = 356), Italian (n = 300), and Irish (n = 298). Native American ancestry ranked third overall (n = 374), followed by Jewish ancestry (n = 289) (Fig. 1 ). 3.3 Self-Reported Ethnicity Self-reported ethnicity was extracted from 978 posts (1.7%). The lower extraction rate relative to ancestry percentages indicates that users predominantly shared genetic test results rather than explicit self-identification statements. 3.4 Reaction Prevalence Reaction classification identified emotional responses in 14,472 posts (24.9%). Acceptance was the most prevalent reaction (n = 5,546; 9.5%), followed by excitement (n = 5,453; 9.4%) and dispute (n = 4,985; 8.6%). Surprise occurred in 3,098 posts (5.3%), disappointment in 2,077 posts (3.6%), and identity crisis in 1,313 posts (2.3%). Posts exhibited a mean of 0.43 reaction types, indicating co-occurrence of multiple reactions (Table 6 ). Table 6 Reaction prevalence across corpus. Reaction n Percentage Acceptance 5,546 9.5% Excitement 5,453 9.4% Dispute 4,985 8.6% Surprise 3,098 5.3% Disappointment 2,077 3.6% Identity crisis 1,313 2.3% 3.5 Platform Differences Reaction distributions differed across platforms (Fig. 2 ). Reddit exhibited higher dispute rates (10.2%) and acceptance rates (12.8%) compared to YouTube. YouTube comments demonstrated elevated excitement (9.7%). Google Play reviews showed the highest excitement rates (29.6%), consistent with selection bias toward satisfied users providing reviews. 3.6 Company Mentions Company references appeared in 5,343 posts (9.2%). 23andMe was most frequently mentioned (n = 1,835; 3.2%), followed by AncestryDNA (n = 1,804; 3.1%), MyHeritage (n = 781; 1.3%), FamilyTreeDNA (n = 119; 0.2%), and LivingDNA (n = 41; 0.1%). 3.7 Ancestry Dispute Patterns Dispute rates varied substantially across ancestry categories. Among ancestries with ≥ 20 mentions, dispute rates ranged from 4.8% to 23.5% (Table 9 ). European ancestries (British, Scandinavian) showed lower relative dispute rates despite high mention frequency, suggesting greater user acceptance. 3.8 Sentiment Analysis VADER sentiment scores. VADER analysis yielded a mean compound score of 0.206 (SD = 0.495), indicating overall positive sentiment. Classification by VADER thresholds revealed 45.2% positive (compound > 0.05), 42.0% neutral (− 0.05 ≤ compound ≤ 0.05), and 12.8% negative (compound < − 0.05) posts. TextBlob sentiment scores. TextBlob analysis produced a mean polarity of 0.088 (SD = 0.312), confirming positive sentiment. Mean subjectivity was 0.542 (SD = 0.287), indicating moderate to high subjectivity in ancestry discussions. Platform differences. Sentiment scores differed across platforms (Fig. 3 ). Google Play reviews exhibited the highest mean VADER score (M = 0.428, SD = 0.411), consistent with selection bias toward satisfied reviewers. Reddit posts showed moderate positive sentiment (M = 0.211, SD = 0.495). YouTube comments demonstrated slightly lower but positive sentiment (M = 0.181, SD = 0.477). Sentiment by reaction type. Because reaction categories are inherently valence-laden, this comparison serves primarily as construct validation, assessing whether keyword-based reaction labels align with independently measured sentiment intensity rather than testing a novel association (Fig. 4 ; Table 7 ). Excitement posts showed the highest mean VADER score (M = 0.625), followed by acceptance (M = 0.339), confirming alignment between reaction labels and positive discourse. Dispute reactions were associated with lower sentiment (M = 0.185). Notably, identity crisis was the only reaction type not significantly associated with sentiment (t = 0.67, p = 0.505, d = 0.02; see Section 3.12 ), suggesting that identity disruption involves emotionally complex states not reducible to simple positive or negative valence. Table 7 VADER sentiment scores by reaction type. Reaction Mean VADER Excitement 0.625 Acceptance 0.339 Surprise 0.257 Disappointment 0.248 Identity crisis 0.197 Dispute 0.185 3.9 Topic Modeling LDA identified eight topics (Table 8 ). Topic 7 related directly to DNA test results. Topic 6 focused on DNA matches and family connections. Topic 1 centered on family tree research. Topic 3 related to genealogical records. The topic distribution indicates that discussions centered on result interpretation, family connections, and genealogical research. Sentiment by topic. To provide sentiment contrasts independent of valence-laden reaction labels, we examined mean VADER compound scores across LDA topics. Sentiment differed significantly across topics (Kruskal–Wallis H = 1152.04, p < 0.001, η² = 0.020). Family history narratives (Topic 5, M = 0.317, SD = 0.533) and family tree research (Topic 1, M = 0.309, SD = 0.519) showed the highest sentiment, whereas genealogical record discussions (Topic 3, M = 0.077, SD = 0.633) showed the lowest. Because topics are defined by content rather than affect, these differences reflect variation in emotional tone across discussion contexts rather than definitional overlap with reaction categories. Table 8 LDA topic summary. Topic Label Top Terms 0 General discussion help, question, post, comment, thanks 1 Family tree research tree, family, ancestry, data, record 2 App experience app, test, kit, sample, waiting 3 Genealogical records census, married, county, death, marriage 4 Platform content video, like, people, think, know 5 Family history grandfather, grandmother, grandparents, ancestors 6 DNA matches dna, matches, cousin, father, mother 7 Test results results, ancestry, dna, american, african, european 3.10 Ancestry Dispute Rates Among ancestries with ≥ 20 mentions, dispute rates ranged from 4.8% to 23.5% (Table 9 ). Turkish ancestry exhibited the highest dispute rate (23.5%; 20/85), followed by Greek (19.7%; 15/76) and Scandinavian (18.5%; 66/356). British ancestry, despite the highest mention frequency (n = 621), showed a relatively low dispute rate (13.8%), indicating that mention frequency does not predict dispute likelihood. Table 9 Dispute rates by ancestry (≥ 20 mentions). Ancestry Total Disputed Rate (%) Turkish 85 20 23.5 Greek 76 15 19.7 Scandinavian 356 66 18.5 Middle Eastern 149 27 18.1 Irish 298 52 17.4 Italian 300 49 16.3 German 219 33 15.1 British 621 86 13.8 Indian 132 14 10.6 Chinese 107 8 7.5 3.11 Self-Reported Versus Genetic Ancestry Concordance Among 170 posts containing both self-reported ethnicity and genetic ancestry results (0.3% of corpus), concordance — defined as at least one shared normalized ancestry category — was observed in 105 cases (61.8%). In 65 cases (38.2%), self-identified ethnicity did not overlap with any genetic ancestry category. This lenient, binary definition of concordance means that even partial overlap (e.g., one shared category out of several) counted as a match; stricter definitions requiring proportional overlap would likely yield lower concordance rates. 3.12 Inferential Statistics Association between ancestry results and reactions. Chi-square tests revealed significant associations between the presence of extractable ancestry results and emotional reactions. Posts containing ancestry percentages were significantly more likely to express surprise (χ² = 520.67, df = 1, p < 0.001, Cramér's V = 0.095) and dispute (χ² = 201.63, df = 1, p < 0.001, Cramér's V = 0.059). Source platform was significantly associated with dispute expression (χ² = 429.31, df = 2, p < 0.001, Cramér's V = 0.086). All effect sizes were small. Platform differences in reactions. Chi-square tests confirmed significant platform differences across all reaction types (Table 10 ). Acceptance showed the largest platform effect (χ² = 1538.24, Cramér's V = 0.163), followed by excitement (χ² = 503.87, Cramér's V = 0.093). Table 10 Chi-square tests for platform × reaction associations. Reaction χ² df p Cramér's V Acceptance 1538.24 2 < 0.001 0.163 Excitement 503.87 2 < 0.001 0.093 Disappointment 296.75 2 < 0.001 0.071 Surprise 53.74 2 < 0.001 0.030 Identity crisis 51.76 2 < 0.001 0.030 Platform sentiment comparison. One-way ANOVA revealed significant differences in VADER compound scores across platforms (F = 128.94, p < 0.001, η² = 0.004). Despite statistical significance, the small effect size indicates minimal practical difference. Tukey HSD post-hoc tests confirmed all pairwise differences were significant (p < 0.001). Sentiment by reaction type. Because reaction categories are affect-labeled constructs, these comparisons are interpreted as construct validation rather than independent hypothesis tests. Independent samples t-tests compared sentiment scores between posts with and without each reaction type (Table 11). Excitement showed the largest effect (t = − 69.01, p < 0.001, Cohen's d = 0.98), confirming that this keyword-based label aligns with independently measured positive sentiment. Identity crisis was the only reaction not significantly associated with sentiment (t = 0.67, p = 0.505, d = 0.02), indicating that identity disruption reflects emotionally complex discourse not captured by unidimensional sentiment polarity. Table 11. T-tests comparing sentiment scores by reaction presence. Reaction With M (SD) Without M (SD) t p d Excitement 0.625 (0.472) 0.163 (0.470) −69.01 < 0.001 0.98 Acceptance 0.339 (0.598) 0.192 (0.474) −21.30 < 0.001 0.30 Surprise 0.257 (0.628) 0.203 (0.480) 5.91 < 0.001 0.11 Disappointment 0.248 (0.637) 0.204 (0.483) −3.96 < 0.001 0.09 Dispute 0.185 (0.684) 0.208 (0.467) 3.14 0.002 0.05 Identity crisis 0.197 (0.685) 0.206 (0.484) 0.67 0.505 0.02 Non-parametric sensitivity analyses. Kruskal-Wallis H test comparing sentiment across all reaction types was highly significant (H = 1430.53, p < 0.001, η² = 0.063), indicating that reaction type explains approximately 6.3% of variance in sentiment scores. Correlation analysis. Consistent with the methodological triangulation described in Section 2.3 , VADER compound and TextBlob polarity were moderately correlated (r = 0.411, p < 0.001), confirming convergent validity between the two sentiment measures (Fig. 5 ). VADER compound and TextBlob subjectivity showed a weaker association (r = 0.189), while TextBlob polarity and subjectivity were moderately correlated (r = 0.325), indicating that subjectivity captures a related but distinct dimension of discourse. Predictive modeling. Logistic regression predicting dispute achieved good discriminative performance (AUC = 0.789, SD = 0.029, 5-fold CV; n = 4,379) (Fig. 6 ). Text length was the strongest predictor (β = 0.966), indicating that longer posts were more likely to contain dispute. VADER compound sentiment was negatively associated with dispute (β = −0.227). Number of ancestries mentioned showed a small negative effect (β = −0.097), while top ancestry percentage had minimal predictive value (β = 0.010). 3.13 Classifier Validation Manual validation on 299 annotated posts demonstrated strong performance of the keyword-based reaction classifier (Table 12 ). Macro-averaged F1 was 0.897 (precision = 0.829, recall = 0.978), with a mean Cohen's κ of 0.871, indicating near-perfect agreement between the keyword classifier and human judgment (Landis and Koch 1977 ). Surprise achieved the highest performance (F1 = 0.953, κ = 0.943), while dispute (F1 = 0.859, κ = 0.819) and excitement (F1 = 0.862, κ = 0.829) showed the lowest precision due to false positives where reaction-associated keywords appeared in non-reaction contexts. Recall was uniformly high across all categories (≥ 0.962), indicating that the classifier captures the vast majority of true reactions. Disappointment achieved perfect recall (1.000) with no false negatives. Across 1,794 reaction–post evaluations, there were 313 true positives, 66 false positives, 7 false negatives, and 1,408 true negatives, yielding an overall accuracy of 95.9%. Table 12 Manual validation of keyword-based reaction classifier (n = 299). Reaction TP FP FN TN Precision Recall F1 Cohen’s κ Surprise 51 3 2 243 0.944 0.962 0.953 0.943 Dispute 58 17 2 222 0.773 0.967 0.859 0.819 Acceptance 70 13 1 215 0.843 0.986 0.909 0.878 Disappointment 46 10 0 243 0.821 1.000 0.902 0.882 Identity Crisis 38 8 1 252 0.826 0.974 0.894 0.877 Excitement 50 15 1 233 0.769 0.980 0.862 0.829 Micro-average 313 66 7 1408 0.826 0.978 0.896 0.871 Macro-average — — — — 0.829 0.978 0.897 0.871 Note. TP = true positive; FP = false positive; FN = false negative; TN = true negative. κ ≥ 0.81 = near-perfect agreement (Landis and Koch 1977 ). 4. Discussion This study provides a multi-platform computational analysis of consumer reactions to genetic ancestry testing. Analyzing 58,133 user-generated posts from Reddit, YouTube, and Google Play, we developed a six-category reaction taxonomy, quantified ancestry-specific dispute patterns, and built a predictive model for dispute expression. Our findings reveal systematic variation in how consumers discuss ancestry results across platforms and ancestry categories, with implications for understanding the social construction of genetic identity. 4.1 Reaction Patterns and Platform Differences Acceptance (9.5%) and excitement (9.4%) were the most prevalent reactions in our corpus, followed by dispute (8.6%), surprise (5.3%), disappointment (3.6%), and identity crisis (2.3%). This pattern aligns with prior survey research documenting generally positive consumer experiences with DTC ancestry testing. Rubanovich et al. ( 2021 ) reported that fewer than 1% of users experienced distress from ancestry results, consistent with our finding that identity crisis—the most severe reaction category—occurred in only 2.3% of posts. Similarly, Stewart et al. ( 2018 ) concluded that DTC testing produces low levels of psychological distress at the population level, a pattern reflected in the predominance of positive reactions in our data. Platform differences emerged as a significant finding. Reddit exhibited the highest dispute rates (10.2%) and acceptance rates (12.8%), while Google Play showed elevated excitement (29.6%). These patterns likely reflect platform-specific selection biases and affordances. Reddit's pseudonymous discussion forums may encourage candid expression of skepticism and detailed engagement with results, while app store reviews attract users motivated to share strong positive or negative experiences. YouTube comments, attached to "DNA reveal" videos emphasizing dramatic reactions, showed intermediate patterns. These findings extend prior single-platform analyses (Yin et al. 2020 ; Toussaint et al. 2022 ) by demonstrating that platform context systematically shapes how consumers discuss genetic ancestry. 4.2 Ancestry-Specific Dispute Patterns Dispute rates varied substantially across ancestry categories, ranging from 7.5% (Chinese) to 23.5% (Turkish). This finding represents a contribution to the computational literature, which has not previously quantified ancestry-specific dispute patterns. Turkish (23.5%), Greek (19.7%), and Scandinavian (18.5%) ancestries showed the highest dispute rates, while Chinese (7.5%) and Indian (10.6%) ancestries were least frequently contested. Notably, British ancestry—despite being the most frequently mentioned (n = 621)—showed a relatively low dispute rate (13.8%), indicating that mention frequency does not predict dispute likelihood. These patterns may reflect several factors. First, regional ambiguity in genetic reference panels may contribute to higher dispute rates for geographically proximate populations (e.g., Turkish, Greek, Middle Eastern). Users may question results that blur distinctions important to their identity. Second, family narratives that emphasize specific ancestries may conflict with genetic estimates that distribute ancestry across multiple categories. Third, cultural and political dimensions of ethnic identity—particularly in regions with contested histories—may heighten skepticism toward genetic categorization. Walajahi et al. ( 2019 ) documented similar concerns regarding Native American ancestry claims, noting that DTC results can conflict with tribal enrollment criteria and cultural definitions of belonging. Our quantitative findings complement this qualitative work by demonstrating that ancestry-specific dispute patterns are measurable at scale. 4.3 Sentiment and Reaction Types Overall sentiment was positive (M = 0.206), consistent with Toussaint et al.'s ( 2022 ) finding of "neutral-to-positive attitudes" in YouTube comments. Sentiment comparisons across reaction types served primarily as construct validation, confirming that keyword-based labels align with independently measured affective intensity. The large effect size for excitement (Cohen's d = 0.98) confirms that this category captures genuinely positive discourse. The non-significant association between identity crisis and sentiment (p = 0.505, d = 0.02) represents a substantively meaningful exception, indicating that identity disruption involves emotionally complex states not reducible to simple valence. Sentiment differences across LDA topics provided more independent explanatory contrasts. Narrative-oriented topics exhibited higher mean sentiment, whereas record-focused discussions were more neutral in tone. Although effect sizes were modest (η² = 0.020), this pattern indicates that emotional tone varies systematically across content-defined discussion contexts rather than being solely determined by reaction labels. The moderate correlation between VADER and TextBlob polarity (r = 0.411) demonstrates convergent validity while suggesting these methods capture related but distinct aspects of sentiment. This finding supports methodological triangulation in computational text analysis, as different sentiment tools may emphasize different linguistic features. The weak correlation between sentiment valence and subjectivity (r = 0.189) confirms that subjectivity represents a separate construct from polarity. The high mean subjectivity across the corpus (M = 0.542) indicates that ancestry discussions are predominantly framed as personal, experiential narratives rather than factual or informational exchanges. This distinction is substantively relevant for understanding specific reaction types. Identity crisis posts, which showed no significant association with sentiment polarity, may nonetheless reflect highly subjective discourse in which users narrate personal experiences of disruption without expressing clearly positive or negative evaluations. Dispute posts may similarly combine negative polarity with high subjectivity, reflecting personally invested skepticism rather than detached factual criticism. Subjectivity thus provides an interpretive dimension that polarity alone cannot capture, distinguishing between personal identity negotiation and impersonal informational discourse within ancestry discussions. 4.4 Self-Reported Versus Genetic Ancestry Concordance Among posts containing both self-reported ethnicity and genetic ancestry results, concordance was 61.8%, using a lenient definition that counted any overlapping normalized ancestry category as a match. The 38.2% discordance rate should be interpreted with caution given the small sample size (n = 170) and the nature of the measure. This figure reflects divergence between categorical labels extracted through automated text processing rather than direct evidence of experiential identity conflict or negotiation. Nonetheless, the observed discordance is consistent with theoretical perspectives emphasizing the socially constructed nature of ethnic identity (Morning 2011 ) and with qualitative findings that consumers selectively incorporate genetic results into pre-existing identity narratives (Roth and Ivemark 2018 ). Roth and Ivemark ( 2018 ) found that white respondents often embraced unexpected ancestries while nonwhite respondents maintained existing identifications; our concordance analysis provides preliminary, descriptive evidence that genetic results frequently diverge from self-identification in online discourse, though the extent to which this divergence reflects active identity negotiation cannot be determined from text data alone. 4.5 Predictors of Dispute Expression Our logistic regression model achieved good discriminative performance (AUC = 0.79), identifying text length as the dominant predictor of dispute expression (β = 0.966). Text length is a structurally powerful predictor in most text classification tasks, and its dominance here likely reflects in part an opportunity effect: longer posts contain more words and thus more chances to include dispute keywords. However, the strength of the association also suggests a substantive component, as users questioning their results may tend to write longer posts explaining their skepticism, providing family history, or detailing discrepancies across testing companies. These explanations are not mutually exclusive, and the present model cannot distinguish between them. Negative sentiment also predicted dispute (β = −0.227), confirming the intuitive association between skepticism and negative affect. The small negative effect of number of ancestries mentioned (β = −0.097) may indicate that users with more complex results focus on interpretation rather than dispute, or that dispute tends to center on specific contested ancestries rather than overall result complexity. This model is intended primarily for prediction rather than for causal explanation of why users dispute their results. The dominance of text length and the limited feature set constrain the model's utility for understanding underlying motivations for dispute. Nonetheless, the model demonstrates that dispute expression has identifiable textual signatures amenable to computational detection. Any practical application, such as flagging posts for genetic counseling support or monitoring platform discourse, would require validation with richer feature sets and human review.4.6 Theoretical Implications Our findings contribute to theoretical understanding of genetic ancestry as a socially negotiated phenomenon. The substantial variation in dispute rates across ancestry categories demonstrates that genetic results are not passively received but actively evaluated against cultural expectations, family narratives, and identity commitments. This supports constructivist perspectives on genetic identity (Roth and Ivemark 2018 ; Lang and Winkler 2021 ) while providing quantitative evidence that the intensity of identity negotiation varies systematically by ancestry category. Platform differences in reaction patterns highlight the role of communicative context in shaping how genetic information is discussed. The distinct reaction profiles across Reddit, YouTube, and Google Play suggest that platform affordances—anonymity, audience, content format—influence not only whether users share ancestry experiences but how they frame those experiences emotionally and cognitively. This finding extends media studies perspectives to the domain of consumer genomics, suggesting that understanding public engagement with genetic information requires attention to the platforms mediating that engagement. 4.7 Practical Implications Our findings have several practical implications. For DTC genetic testing companies, the ancestry-specific dispute patterns suggest that certain results may benefit from enhanced explanation or contextualization. Ancestries with high dispute rates (Turkish, Greek, Middle Eastern) might warrant additional information about reference panel composition, regional genetic overlap, or the distinction between genetic ancestry and ethnic identity. Companies might also monitor platform-specific discourse to understand how their results are received across different user communities. For genetic counselors, our reaction taxonomy provides a framework for anticipating consumer responses. The predominance of acceptance and excitement suggests that most users have positive experiences, but the meaningful prevalence of dispute (8.6%) and identity crisis (2.3%) indicates that some users require support in interpreting results that conflict with expectations. The 38.2% discordance between self-reported and genetic ancestry highlights the frequency with which users may need guidance in reconciling genetic information with existing identity narratives. For researchers studying public engagement with genomics, our methodology demonstrates the feasibility of large-scale computational analysis of consumer discourse. The combination of reaction taxonomy, ancestry extraction, sentiment analysis, and predictive modeling provides a template for examining how genetic information is discussed in online contexts, with potential applications to health-related genetic testing, pharmacogenomics, and other domains. 4.8 Limitations Several limitations warrant consideration. First, our reaction classification relied on keyword-based pattern matching, which may miss reactions expressed through indirect language, sarcasm, or context-dependent phrasing. Manual validation on a stratified subsample of 299 posts yielded a macro-averaged F1 of 0.897 and mean Cohen's κ of 0.871, indicating that the keyword classifier achieves near-perfect agreement with human judgment. However, precision was lower than recall (0.829 vs. 0.978), indicating a tendency toward false positives, particularly for dispute and excitement where reaction-associated keywords sometimes appeared in non-reaction contexts. This suggests that corpus-level prevalence estimates for these categories may be slightly inflated. Validation was performed by a single annotator; inter-annotator reliability with a second independent coder would further strengthen confidence in the classification scheme. Machine learning classifiers trained on annotated data might improve classification accuracy, though they would require substantial annotation effort. Second, our analysis was limited to English-language content, excluding non-English discussions that may reflect different cultural relationships to genetic ancestry. Third, the cross-sectional design precludes analysis of how reactions evolve over time as users integrate results into their identities or receive updated estimates from companies. Fourth, platform-specific sampling strategies may introduce selection biases. Reddit posts were drawn from ancestry-focused subreddits where engaged users congregate, YouTube comments were attached to videos selected by search queries, and Google Play reviews reflect users motivated to provide feedback. These samples may not represent the broader population of DTC ancestry testing consumers. Fifth, we could not verify the accuracy of self-reported genetic results; users may misremember, misreport, or selectively share their results. Sixth, the ancestry extraction patterns captured only a subset of posts with extractable percentages (7.5%), limiting generalizability of ancestry-specific findings. Seventh, the reaction categories used in this study represent operational discourse labels derived from keyword patterns rather than validated measures of psychological states. As a consequence, some sentiment-reaction analyses are confirmatory by design, as affect-laden labels (e.g., excitement, disappointment) are expected to align with sentiment polarity. While we have framed these comparisons as construct validation throughout the manuscript, this inherent overlap should be considered when interpreting the strength of sentiment-reaction associations. Eighth, the dominance of text length in the predictive model (β = 0.966) suggests that the model's discriminative performance may reflect structural properties of posts, such as the increased opportunity for longer texts to contain dispute keywords, rather than underlying motivations for disputing ancestry results. This limits the explanatory value of the model and suggests that future work incorporating richer linguistic and demographic features would be needed to identify substantive predictors of dispute. 4.9 Future Directions Future research could extend this work in several directions. Longitudinal analysis of user posting histories might reveal how reactions evolve as users engage with ancestry communities over time. Multilingual analysis could examine cultural variation in ancestry interpretation across different national and linguistic contexts. Deep learning approaches to reaction classification might capture more nuanced expressions of skepticism or identity disruption. Integration of demographic data, where available, could examine how user characteristics moderate reactions to different ancestry results. Finally, comparative analysis across different types of DTC genetic testing—ancestry versus health versus traits—might reveal domain-specific patterns in consumer response. 5. Conclusion This study provides a multi-platform computational analysis of consumer reactions to DTC genetic ancestry testing. Analyzing 58,133 posts from Reddit, YouTube, and Google Play, we developed a six-category reaction taxonomy, quantified ancestry-specific dispute patterns, and built a predictive model for dispute expression. Our findings reveal that while most consumers express positive reactions (acceptance, excitement), dispute occurs in 8.6% of posts and varies substantially by ancestry category—with Turkish (23.5%), Greek (19.7%), and Scandinavian (18.5%) ancestries most frequently contested. Platform differences in reaction patterns highlight how communicative context shapes engagement with genetic information. The 38.2% discordance between self-reported and genetic ancestry quantifies the frequency with which genetic results diverge from social identity, while our predictive model (AUC = 0.79) identifies text length and negative sentiment as key predictors of dispute. These findings illustrate how ancestry results are discussed across different online platforms. As genetic ancestry testing continues to grow, computational methods offer valuable tools for understanding public discourse at scale, complementing survey and interview approaches with breadth and ecological validity. Declarations Conflict of Interest: Sara Behnamian declares that she has no conflict of interest. Ethics Statement This article does not contain any studies with human or animal subjects performed by any of the authors. All data were collected from publicly available online platforms (Reddit, YouTube, Google Play) where users voluntarily posted content. No personally identifiable information was collected or analyzed. Funding: This research received no specific grant from any funding agency in the public, commercial, or not-for-profit sectors. Author Contribution Sara Behnamian conceived and designed the study, collected and analyzed the data, and wrote the manuscript. Data Availability Raw text data cannot be redistributed due to the terms of service of the source platforms (Reddit, YouTube, Google Play). Post identifiers enabling independent data re-collection, all analysis code, keyword lexicons for reaction classification, ethnicity normalization mappings, and regular expression patterns are available at [https://github.com/sarabehnamian/ancestry_nlp] . Aggregated results are available from the corresponding author on reasonable request. References Becker J, Abrams LJ, Weil J, Youngblom J (2024) Experiences of individuals receiving "Not Parent Expected" results through direct-to-consumer genetic testing. Journal of Genetic Counseling. Advance online publication. https://doi.org/10.1002/jgc4.1977 Blei DM, Ng AY, Jordan MI (2003) Latent Dirichlet allocation. Journal of Machine Learning Research 3:993-1022 Careau J, Larmuseau MHD, Drumsta R, Whitley R (2025) "I'm trying to figure out who the hell I am": Examining the psychosocial and mental health experience of individuals learning "Not Parent Expected" news from a direct-to-consumer DNA ancestry test. BMC Psychiatry 25(1):9. https://doi.org/10.1186/s12888-024-06380-0 Cohen J (1988) Statistical Power Analysis for the Behavioral Sciences, 2nd ed. Lawrence Erlbaum Associates, Hillsdale, NJ. ISBN: 0-8058-0283-5 Grethel M, Lewis J, Freeman R, Stone C (2022) Discovery of unexpected paternity after direct-to-consumer DNA testing and its impact on identity. Family Relations 72(4):2022-2038. https://doi.org/10.1111/fare.12752 Grethel M, Ross L, Obadia J, Freeman R (2024) Disclosure dilemma: Revealing biological paternity to family and others after unexpected direct-to-consumer genetic results. Family Relations. Advance online publication. https://doi.org/10.1111/fare.13088 Harris A, Wyatt S, Kelly SE (2013) The gift of spit (and the obligation to return it): How consumers of online genetic testing services participate in research. Information, Communication & Society 16(2):236-257. https://doi.org/10.1080/1369118X.2012.701656 Hutto CJ, Gilbert E (2014) VADER: A parsimonious rule-based model for sentiment analysis of social media text. Proceedings of the Eighth International AAAI Conference on Weblogs and Social Media, pp 216-225 Kruskal WH, Wallis WA (1952) Use of ranks in one-criterion variance analysis. Journal of the American Statistical Association 47(260):583-621. https://doi.org/10.2307/2280779 Lang A, Winkler F (2021) Co-constructing ancestry through direct-to-consumer genetic testing: Challenges and implications. TATuP - Zeitschrift für Technikfolgenabschätzung in Theorie und Praxis 30(2):30-35. https://doi.org/10.14512/tatup.30.2.30 Loria S (2018) TextBlob: Simplified Text Processing. Software available at: https://textblob.readthedocs.io/ Mann HB, Whitney DR (1947) On a test of whether one of two random variables is stochastically larger than the other. Annals of Mathematical Statistics 18(1):50-60. https://doi.org/10.1214/aoms/1177730491 Morning A (2011) The Nature of Race: How Scientists Think and Teach about Human Difference. University of California Press, Berkeley. ISBN: 9780520270312 Pedregosa F, Varoquaux G, Gramfort A, Michel V, Thirion B, Grisel O, Blondel M, Prettenhofer P, Weiss R, Dubourg V, Vanderplas J, Passos A, Cournapeau D, Brucher M, Perrot M, Duchesnay E (2011) Scikit-learn: Machine learning in Python. Journal of Machine Learning Research 12:2825-2830 Phillips AM (2016) Only a click away—DTC genetics for ancestry, health, love… and more: A view of the business and regulatory landscape. Applied & Translational Genomics 8:16-22. https://doi.org/10.1016/j.atg.2016.01.008 Regalado A (2019) More than 26 million people have taken an at-home ancestry test. MIT Technology Review, February 11, 2019. https://www.technologyreview.com/2019/02/11/103446/more-than-26-million-people-have-taken-an-at-home-ancestry-test/ Roberts JS, Gornick MC, Carere DA, Uhlmann WR, Ruffin MT, Green RC (2017) Direct-to-consumer genetic testing: User motivations, decision making, and perceived utility of results. Public Health Genomics 20(1):36-45. https://doi.org/10.1159/000455006 Roberts JS, Ostergren J (2013) Direct-to-consumer genetic testing and personal genomics services: A review of recent empirical studies. Current Genetic Medicine Reports 1(3):182-200. https://doi.org/10.1007/s40142-013-0018-2 Roth WD, Ivemark B (2018) Genetic options: The impact of genetic ancestry testing on consumers' racial and ethnic identities. American Journal of Sociology 124(1):150-184. https://doi.org/10.1086/697487 Rubanovich CK, Taitingfong R, Triplett C, Libiger O, Schork NJ, Wagner JK, Bloss CS (2021) Impacts of personal DNA ancestry testing. Journal of Community Genetics 12(1):37-52. https://doi.org/10.1007/s12687-020-00481-5 Schuman O, Beit C, Robinson JO, Bash Brooks W, McGuire AL, Guerrini C (2024) "The truth should not be hidden": Experiences and recommendations of individuals making NPE discoveries through genetic genealogy databases. Genetics in Medicine 26(10):101210. https://doi.org/10.1016/j.gim.2024.101210 Stewart KFJ, Wesselius A, Schreurs MAC, Schols AMWJ, Zeegers MP (2018) Behavioural changes, sharing behaviour and psychological responses after receiving direct-to-consumer genetic test results: A systematic review and meta-analysis. Journal of Community Genetics 9(1):1-18. https://doi.org/10.1007/s12687-017-0310-z Toussaint PA, Renner M, Lins S, Thiebes S, Sunyaev A (2022) Direct-to-consumer genetic testing on social media: Topic modeling and sentiment analysis of YouTube users' comments. JMIR Infodemiology 2(2):e38749. https://doi.org/10.2196/38749 Tukey JW (1949) Comparing individual means in the analysis of variance. Biometrics 5(2):99-114 Virtanen P, Gommers R, Oliphant TE, Haberland M, Reddy T, Cournapeau D, Burovski E, Peterson P, Weckesser W, Bright J, van der Walt SJ, Brett M, Wilson J, Millman KJ, Mayorov N, Nelson ARJ, Jones E, Kern R, Larson E, Carey CJ, Polat İ, Feng Y, Moore EW, VanderPlas J, Laxalde D, Perktold J, Cimrman R, Henriksen I, Quintero EA, Harris CR, Archibald AM, Ribeiro AH, Pedregosa F, van Mulbregt P, SciPy 1.0 Contributors (2020) SciPy 1.0: Fundamental algorithms for scientific computing in Python. Nature Methods 17:261-272. https://doi.org/10.1038/s41592-019-0686-2 Walajahi H, Wilson DR, Hull SC (2019) Constructing identities: The implications of DTC ancestry testing for tribal communities. Genetics in Medicine 21(8):1744-1750. https://doi.org/10.1038/s41436-018-0429-2 Yin Z, Song L, Clayton EW, Malin BA (2020) Health and kinship matter: Learning about direct-to-consumer genetic testing user experiences via online discussions. PLoS ONE 15(9):e0238644. https://doi.org/10.1371/journal.pone.0238644 Landis JR, Koch GG (1977) The measurement of observer agreement for categorical data. Biometrics 33(1):159–174. https://doi.org/10.2307/2529310 Additional Declarations No competing interests reported. Cite Share Download PDF Status: Under Review Version 1 posted Reviewers invited by journal 24 Feb, 2026 Submission checks completed at journal 20 Feb, 2026 First submitted to journal 14 Feb, 2026 You are reading this latest preprint version Research Square lets you share your work early, gain feedback from the community, and start making changes to your manuscript prior to peer review in a journal. As a division of Research Square Company, we’re committed to making research communication faster, fairer, and more useful. We do this by developing innovative software and high quality services for the global research community. Our growing team is made up of researchers and industry professionals working together to solve the most critical problems facing scientific publishing. Also discoverable on Platform About Our Team In Review Editorial Policies Advisory Board Help Center Resources Author Services Accessibility API Access RSS feed Manage Cookie Preferences © Research Square 2026 | ISSN 2693-5015 (online) Privacy Policy Terms of Service Do Not Sell My Personal Information {"props":{"pageProps":{"initialData":{"identity":"rs-8336080","acceptedTermsAndConditions":true,"allowDirectSubmit":false,"archivedVersions":[],"articleType":"Research Article","associatedPublications":[],"authors":[{"id":601983106,"identity":"2c66f69f-d2b8-4d9c-97bd-6a6f0aa22b63","order_by":0,"name":"Sara Behnamian","email":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZAAAAAyAQMAAABI0h/eAAAABlBMVEX///8AAABVwtN+AAAACXBIWXMAAA7EAAAOxAGVKw4bAAABBklEQVRIie2PMUvDQBSA36NQpzpnCf0LBxlUCM1fyRE4FyMFwbkgnEula4Lgb3jFJeOFgIuxXQ/ikqVbwG46iF5W8YxuDvctD4738b4DcDj+K7iAuJ8KIOwnMw+A2S8V8UfFUA0r0+un9gWL8Pzo4JGrt2IbseaKMJfg54vvFVafBh7W4uJkmVJ5Uzecnh/muJYQ3FquMFPvoaw4qZTURDYx02cMWwn8zha22o1eUX5w2nZUvstNNKiAFmNzRXHSKVUTqZB6xYRxa5jejY95nRilo8qXCc+1mJfZxgts35+uxEjvi5kJS+/3nZxFhzpZt8vL0M+UrcwQf30wy94P+w6Hw+EY4hPhV2sf2ZGabwAAAABJRU5ErkJggg==","orcid":"","institution":"University of Copenhagen","correspondingAuthor":true,"prefix":"","firstName":"Sara","middleName":"","lastName":"Behnamian","suffix":""}],"badges":[],"createdAt":"2025-12-11 11:23:11","currentVersionCode":1,"declarations":"","doi":"10.21203/rs.3.rs-8336080/v1","doiUrl":"https://doi.org/10.21203/rs.3.rs-8336080/v1","draftVersion":[],"editorialEvents":[],"editorialNote":"","failedWorkflow":false,"files":[{"id":105832406,"identity":"350ef8cf-9455-44d7-a01f-027cd9ed3f2f","added_by":"auto","created_at":"2026-03-31 14:57:34","extension":"png","order_by":1,"title":"Figure 1","display":"","copyAsset":false,"role":"figure","size":233259,"visible":true,"origin":"","legend":"\u003cp\u003eMost frequently mentioned ancestries across posts containing extractable ancestry percentages. European ancestries predominated, with British (n = 621) and Scandinavian (n = 356) among the most common. Native American ancestry ranked third overall (n = 374), followed by Jewish ancestry (n = 289). Bar heights represent raw mention counts across the corpus\u003c/p\u003e","description":"","filename":"floatimage1.png","url":"https://assets-eu.researchsquare.com/files/rs-8336080/v1/48d972e8bf019a8e342b1a51.png"},{"id":105832407,"identity":"da3e6d2e-039e-4bc1-8f2d-50f90a30b438","added_by":"auto","created_at":"2026-03-31 14:57:34","extension":"png","order_by":2,"title":"Figure 2","display":"","copyAsset":false,"role":"figure","size":275355,"visible":true,"origin":"","legend":"\u003cp\u003eReaction type prevalence by platform. Reddit exhibited the highest dispute (10.2%) and acceptance (12.8%) rates, reflecting the platform's affordance for detailed discussion. Google Play showed elevated excitement (29.6%), consistent with selection bias toward satisfied users providing app reviews. YouTube comments demonstrated intermediate patterns across all reaction types\u003c/p\u003e","description":"","filename":"floatimage2.png","url":"https://assets-eu.researchsquare.com/files/rs-8336080/v1/a4b8af531049be5c5ab68c7f.png"},{"id":105832431,"identity":"9cbbee5e-70d4-4dbd-a9e9-12186a1b291e","added_by":"auto","created_at":"2026-03-31 14:57:42","extension":"png","order_by":3,"title":"Figure 3","display":"","copyAsset":false,"role":"figure","size":385222,"visible":true,"origin":"","legend":"\u003cp\u003eVADER compound sentiment score distribution by platform. Google Play reviews showed positive skew (M = 0.428), reflecting selection bias toward satisfied reviewers. Reddit and YouTube exhibited broader distributions with greater variance. Dashed line indicates neutral sentiment (0). Boxplots show median, interquartile range (IQR), and whiskers extending to 1.5 × IQR\u003c/p\u003e","description":"","filename":"floatimage3.png","url":"https://assets-eu.researchsquare.com/files/rs-8336080/v1/454952d9878b1bd3c5e2b843.png"},{"id":105832420,"identity":"439a2db3-f845-49c0-80a1-c2a903097c60","added_by":"auto","created_at":"2026-03-31 14:57:37","extension":"png","order_by":4,"title":"Figure 4","display":"","copyAsset":false,"role":"figure","size":263496,"visible":true,"origin":"","legend":"\u003cp\u003eVADER compound sentiment score distribution by reaction type. Boxplots show median, interquartile range, and whiskers; green triangles indicate means; points represent outliers. Excitement showed the highest mean sentiment (M = 0.625), while dispute (M = 0.185) and identity crisis (M = 0.197) exhibited the lowest scores with wide variance, reflecting the complex emotional states associated with these reactions\u003c/p\u003e","description":"","filename":"floatimage4.png","url":"https://assets-eu.researchsquare.com/files/rs-8336080/v1/8dc4be3fc04cb97ee93e25cc.png"},{"id":105832480,"identity":"d6731d71-8c14-4121-b05b-23ddc2233987","added_by":"auto","created_at":"2026-03-31 14:57:45","extension":"png","order_by":5,"title":"Figure 5","display":"","copyAsset":false,"role":"figure","size":332605,"visible":true,"origin":"","legend":"\u003cp\u003eCorrelation matrix of sentiment measures. VADER compound and TextBlob polarity showed moderate convergent validity (r = 0.411), indicating these methods capture related but distinct aspects of sentiment and supporting their complementary use. TextBlob subjectivity correlated weakly with VADER compound (r = 0.189) and moderately with TextBlob polarity (r = 0.325), confirming that subjectivity represents a separate construct from sentiment valence. Diagonal shows variable distributions; lower triangle shows scatter plots; upper triangle shows Pearson correlation coefficients\u003c/p\u003e","description":"","filename":"floatimage5.png","url":"https://assets-eu.researchsquare.com/files/rs-8336080/v1/47cf0fea88e4e07a45b632c4.png"},{"id":105832408,"identity":"32d86496-65e8-4120-b72d-2e63c0146bef","added_by":"auto","created_at":"2026-03-31 14:57:34","extension":"jpeg","order_by":6,"title":"Figure 6","display":"","copyAsset":false,"role":"figure","size":153534,"visible":true,"origin":"","legend":"\u003cp\u003eStandardized logistic regression coefficients predicting dispute expression (AUC = 0.789, 5-fold cross-validation). Text length was the dominant predictor (β = 0.966), indicating that longer posts were more likely to contain dispute. Negative VADER compound sentiment predicted dispute (β = −0.227), while number of ancestries mentioned showed a small negative effect (β = −0.097). Top ancestry percentage had minimal predictive value (β = 0.010). Error bars represent 95% confidence intervals\u003c/p\u003e","description":"","filename":"floatimage6.jpeg","url":"https://assets-eu.researchsquare.com/files/rs-8336080/v1/eaaea0508ff1cc68c56b69fc.jpeg"},{"id":105904212,"identity":"d8b0b7e0-8cbe-4911-b162-7af8b978dbef","added_by":"auto","created_at":"2026-04-01 10:06:20","extension":"pdf","order_by":0,"title":"","display":"","copyAsset":false,"role":"manuscript-pdf","size":3710843,"visible":true,"origin":"","legend":"","description":"","filename":"manuscript.pdf","url":"https://assets-eu.researchsquare.com/files/rs-8336080/v1/a2e9c2fb-83f5-43a2-ba70-3b42adbebbaa.pdf"}],"financialInterests":"No competing interests reported.","formattedTitle":"Disputing Your Roots: A Multi-Platform Computational Analysis of Consumer Reactions to Genetic Ancestry Testing","fulltext":[{"header":"1. Introduction","content":"\u003cp\u003eDirect-to-consumer (DTC) genetic ancestry testing has experienced remarkable growth over the past decade, with more than 26\u0026nbsp;million consumers taking an at-home ancestry test by early 2019 (Regalado \u003cspan citationid=\"CR16\" class=\"CitationRef\"\u003e2019\u003c/span\u003e). Companies such as 23andMe, AncestryDNA, and MyHeritage offer affordable autosomal DNA analysis that provides users with estimates of their biogeographical ancestry composition, often expressed as percentages attributed to various geographic regions or ethnic populations (Phillips \u003cspan citationid=\"CR15\" class=\"CitationRef\"\u003e2016\u003c/span\u003e). These services have democratized access to genetic information that was previously available only through clinical or research settings, enabling individuals to explore questions of heritage, identity, and family history without professional intermediation (Harris et al. \u003cspan citationid=\"CR7\" class=\"CitationRef\"\u003e2013\u003c/span\u003e).\u003c/p\u003e \u003cp\u003eThe proliferation of DTC ancestry testing has generated significant scholarly interest in how consumers interpret, react to, and incorporate genetic ancestry information into their self-understanding. Survey-based research has documented that ancestry results can elicit a range of emotional responses, from excitement and validation to surprise, confusion, and psychological distress (Rubanovich et al. \u003cspan citationid=\"CR20\" class=\"CitationRef\"\u003e2021\u003c/span\u003e; Schuman et al. \u003cspan citationid=\"CR21\" class=\"CitationRef\"\u003e2024\u003c/span\u003e). Approximately 46% of users report experiencing surprise upon receiving their results, while a smaller but significant proportion (21%) indicate that results reshaped their sense of identity (Rubanovich et al. \u003cspan citationid=\"CR20\" class=\"CitationRef\"\u003e2021\u003c/span\u003e). These findings suggest that ancestry information can influence how individuals interpret or revise their understandings of identity.\u003c/p\u003e \u003cdiv id=\"Sec2\" class=\"Section2\"\u003e \u003ch2\u003e1.1 Prior Research on Consumer Responses to Ancestry Testing\u003c/h2\u003e \u003cp\u003eResearch examining consumer responses to DTC genetic ancestry testing has employed diverse methodological approaches. Survey-based studies have provided valuable quantitative insights into the prevalence and correlates of various reactions. Roberts et al. (\u003cspan citationid=\"CR17\" class=\"CitationRef\"\u003e2017\u003c/span\u003e) conducted a longitudinal survey finding that consumers expressed equal interest in ancestry and health information and reported high satisfaction with their testing experience. Rubanovich et al. (\u003cspan citationid=\"CR20\" class=\"CitationRef\"\u003e2021\u003c/span\u003e) followed a large cohort, documenting that while surprise was common (46%), severe distress was rare (\u0026lt;\u0026thinsp;1%). Systematic reviews have synthesized findings across multiple studies: Stewart et al. (\u003cspan citationid=\"CR22\" class=\"CitationRef\"\u003e2018\u003c/span\u003e) found that only a minority (under one quarter) of users reported positive lifestyle changes following DTC testing, and overall levels of psychological distress were low, while Roberts and Ostergren (\u003cspan citationid=\"CR18\" class=\"CitationRef\"\u003e2013\u003c/span\u003e) concluded that neither the expected benefits nor the feared harms of DTC testing materialized at the population level.\u003c/p\u003e \u003cp\u003eQualitative interview studies have illuminated the deeper psychological and social dimensions of ancestry testing experiences (Table\u0026nbsp;\u003cspan refid=\"Tab1\" class=\"InternalRef\"\u003e1\u003c/span\u003e). Roth and Ivemark (\u003cspan citationid=\"CR19\" class=\"CitationRef\"\u003e2018\u003c/span\u003e) conducted in-depth interviews revealing that responses to ancestry results varied systematically by racial identity: white respondents often embraced unexpected results as opportunities to adopt new ethnic identities, while nonwhite respondents tended to maintain existing identifications regardless of genetic findings. This work underscored the socially constructed nature of genetic ancestry interpretation. More recent qualitative research has focused specifically on non-paternity events (NPE)\u0026mdash;discoveries that one's presumed biological father is not genetically related\u0026mdash;documenting profound negative impacts on mental health, identity coherence, and family relationships (Careau et al. \u003cspan citationid=\"CR3\" class=\"CitationRef\"\u003e2025\u003c/span\u003e; Becker et al. \u003cspan citationid=\"CR1\" class=\"CitationRef\"\u003e2024\u003c/span\u003e; Grethel et al. \u003cspan citationid=\"CR5\" class=\"CitationRef\"\u003e2022\u003c/span\u003e, \u003cspan citationid=\"CR6\" class=\"CitationRef\"\u003e2024\u003c/span\u003e).\u003c/p\u003e \u003cp\u003e \u003cdiv class=\"gridtable\"\u003e\u003ctable float=\"Yes\" id=\"Tab1\" border=\"1\"\u003e \u003ccaption language=\"En\"\u003e \u003cdiv class=\"CaptionNumber\"\u003eTable 1\u003c/div\u003e \u003cdiv class=\"CaptionContent\"\u003e \u003cp\u003eQualitative interview studies on consumer responses to DTC genetic ancestry testing.\u003c/p\u003e \u003c/div\u003e \u003c/caption\u003e \u003ccolgroup cols=\"4\"\u003e \u003cdiv align=\"left\" class=\"colspec\" colname=\"c1\" colnum=\"1\"\u003e\u003c/div\u003e \u003cdiv align=\"left\" class=\"colspec\" colname=\"c2\" colnum=\"2\"\u003e\u003c/div\u003e \u003cdiv align=\"left\" class=\"colspec\" colname=\"c3\" colnum=\"3\"\u003e\u003c/div\u003e \u003cdiv align=\"left\" class=\"colspec\" colname=\"c4\" colnum=\"4\"\u003e\u003c/div\u003e \u003cthead\u003e \u003ctr\u003e \u003cth align=\"left\" colname=\"c1\"\u003e \u003cp\u003eStudy\u003c/p\u003e \u003c/th\u003e \u003cth align=\"left\" colname=\"c2\"\u003e \u003cp\u003eMethod\u003c/p\u003e \u003c/th\u003e \u003cth align=\"left\" colname=\"c3\"\u003e \u003cp\u003ePopulation\u003c/p\u003e \u003c/th\u003e \u003cth align=\"left\" colname=\"c4\"\u003e \u003cp\u003eKey Findings\u003c/p\u003e \u003c/th\u003e \u003c/tr\u003e \u003c/thead\u003e \u003ctbody\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eRoth \u0026amp; Ivemark (\u003cspan citationid=\"CR19\" class=\"CitationRef\"\u003e2018\u003c/span\u003e)\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c2\"\u003e \u003cp\u003eIn-depth interviews\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c3\"\u003e \u003cp\u003eDiverse racial groups\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c4\"\u003e \u003cp\u003eWhite respondents adopt new identities; nonwhite maintain existing identities\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eCareau et al. (\u003cspan citationid=\"CR3\" class=\"CitationRef\"\u003e2025\u003c/span\u003e)\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c2\"\u003e \u003cp\u003eSemi-structured interviews\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c3\"\u003e \u003cp\u003eNPE individuals\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c4\"\u003e \u003cp\u003eProfound negative mental health impact; identity disruption; family rupture\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eBecker et al. (\u003cspan citationid=\"CR1\" class=\"CitationRef\"\u003e2024\u003c/span\u003e)\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c2\"\u003e \u003cp\u003eThematic analysis\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c3\"\u003e \u003cp\u003eNPE individuals\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c4\"\u003e \u003cp\u003eIdentity impact; grief and loss; strained parent-child relationships\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eGrethel et al. (\u003cspan citationid=\"CR5\" class=\"CitationRef\"\u003e2022\u003c/span\u003e)\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c2\"\u003e \u003cp\u003eThematic analysis\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c3\"\u003e \u003cp\u003eNPE individuals\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c4\"\u003e \u003cp\u003eIdentity transformation; shifts in race, ethnicity, religion, belonging\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eGrethel et al. (\u003cspan citationid=\"CR6\" class=\"CitationRef\"\u003e2024\u003c/span\u003e)\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c2\"\u003e \u003cp\u003eThematic analysis\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c3\"\u003e \u003cp\u003eNPE individuals\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c4\"\u003e \u003cp\u003eDisclosure dilemmas; stigma; emotional challenges\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eLang \u0026amp; Winkler (\u003cspan citationid=\"CR10\" class=\"CitationRef\"\u003e2021\u003c/span\u003e)\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c2\"\u003e \u003cp\u003eMixed methods\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c3\"\u003e \u003cp\u003eExperts and users\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c4\"\u003e \u003cp\u003eCompanies and users co-construct ancestry meanings\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003c/tbody\u003e \u003c/colgroup\u003e \u003ctfoot\u003e \u003ctr\u003e\u003ctd colspan=\"4\"\u003e\u003cem\u003eNote. NPE\u0026thinsp;=\u0026thinsp;Non-Paternity Event (discovery that presumed father is not biological father).\u003c/em\u003e\u003c/td\u003e\u003c/tr\u003e \u003c/tfoot\u003e \u003c/table\u003e\u003c/div\u003e \u003c/p\u003e \u003cp\u003eA notably smaller body of research has applied computational text analysis methods to examine consumer discussions of genetic ancestry testing at scale (Table\u0026nbsp;\u003cspan refid=\"Tab2\" class=\"InternalRef\"\u003e2\u003c/span\u003e). To date, only a small number of NLP studies have examined this domain. Two prominent examples are Yin et al. (\u003cspan citationid=\"CR27\" class=\"CitationRef\"\u003e2020\u003c/span\u003e) and Toussaint et al. (\u003cspan citationid=\"CR23\" class=\"CitationRef\"\u003e2022\u003c/span\u003e). Yin et al. (\u003cspan citationid=\"CR27\" class=\"CitationRef\"\u003e2020\u003c/span\u003e) analyzed posts from Reddit communities (r/23andme and r/AncestryDNA), applying Latent Dirichlet Allocation (LDA) topic modeling and Linguistic Inquiry and Word Count (LIWC) sentiment analysis. They identified \"Ancestral Origin\" and \"Kinship/Feelings\" as the most discussed topics, with kinship-related discussions exhibiting the widest emotional range. Toussaint et al. (\u003cspan citationid=\"CR23\" class=\"CitationRef\"\u003e2022\u003c/span\u003e) examined YouTube comments using structural topic modeling and Bing/NRC sentiment lexicons, finding six primary topics and generally positive to neutral attitudes.\u003c/p\u003e \u003cp\u003e \u003cdiv class=\"gridtable\"\u003e\u003ctable float=\"Yes\" id=\"Tab2\" border=\"1\"\u003e \u003ccaption language=\"En\"\u003e \u003cdiv class=\"CaptionNumber\"\u003eTable 2\u003c/div\u003e \u003cdiv class=\"CaptionContent\"\u003e \u003cp\u003eComputational NLP studies on consumer discussions of DTC genetic ancestry testing.\u003c/p\u003e \u003c/div\u003e \u003c/caption\u003e \u003ccolgroup cols=\"5\"\u003e \u003cdiv align=\"left\" class=\"colspec\" colname=\"c1\" colnum=\"1\"\u003e\u003c/div\u003e \u003cdiv align=\"left\" class=\"colspec\" colname=\"c2\" colnum=\"2\"\u003e\u003c/div\u003e \u003cdiv align=\"left\" class=\"colspec\" colname=\"c3\" colnum=\"3\"\u003e\u003c/div\u003e \u003cdiv align=\"left\" class=\"colspec\" colname=\"c4\" colnum=\"4\"\u003e\u003c/div\u003e \u003cdiv align=\"left\" class=\"colspec\" colname=\"c5\" colnum=\"5\"\u003e\u003c/div\u003e \u003cthead\u003e \u003ctr\u003e \u003cth align=\"left\" colname=\"c1\"\u003e \u003cp\u003eStudy\u003c/p\u003e \u003c/th\u003e \u003cth align=\"left\" colname=\"c2\"\u003e \u003cp\u003ePlatform\u003c/p\u003e \u003c/th\u003e \u003cth align=\"left\" colname=\"c3\"\u003e \u003cp\u003eTopic Modeling\u003c/p\u003e \u003c/th\u003e \u003cth align=\"left\" colname=\"c4\"\u003e \u003cp\u003eSentiment Analysis\u003c/p\u003e \u003c/th\u003e \u003cth align=\"left\" colname=\"c5\"\u003e \u003cp\u003eKey Findings\u003c/p\u003e \u003c/th\u003e \u003c/tr\u003e \u003c/thead\u003e \u003ctbody\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eYin et al. (\u003cspan citationid=\"CR27\" class=\"CitationRef\"\u003e2020\u003c/span\u003e)\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c2\"\u003e \u003cp\u003eReddit\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c3\"\u003e \u003cp\u003eLDA\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c4\"\u003e \u003cp\u003eLIWC\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c5\"\u003e \u003cp\u003eKinship topics had widest emotional range\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eToussaint et al. (\u003cspan citationid=\"CR23\" class=\"CitationRef\"\u003e2022\u003c/span\u003e)\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c2\"\u003e \u003cp\u003eYouTube\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c3\"\u003e \u003cp\u003eSTM\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c4\"\u003e \u003cp\u003eBing/NRC\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c5\"\u003e \u003cp\u003e6 topics; positive-neutral attitudes\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003c/tbody\u003e \u003c/colgroup\u003e \u003ctfoot\u003e \u003ctr\u003e\u003ctd colspan=\"5\"\u003e\u003cem\u003eNote. LDA\u0026thinsp;=\u0026thinsp;Latent Dirichlet Allocation; STM\u0026thinsp;=\u0026thinsp;Structural Topic Modeling; LIWC\u0026thinsp;=\u0026thinsp;Linguistic Inquiry and Word Count.\u003c/em\u003e\u003c/td\u003e\u003c/tr\u003e \u003c/tfoot\u003e \u003c/table\u003e\u003c/div\u003e \u003c/p\u003e \u003c/div\u003e \u003cdiv id=\"Sec3\" class=\"Section2\"\u003e \u003ch2\u003e1.2 Gaps in the Literature\u003c/h2\u003e \u003cp\u003eDespite growing interest in consumer responses to genetic ancestry testing, several important gaps remain in the computational literature. Both existing NLP studies examined single platforms in isolation\u0026mdash;Reddit (Yin et al. \u003cspan citationid=\"CR27\" class=\"CitationRef\"\u003e2020\u003c/span\u003e) or YouTube (Toussaint et al. \u003cspan citationid=\"CR23\" class=\"CitationRef\"\u003e2022\u003c/span\u003e)\u0026mdash;precluding systematic comparison of how platform affordances shape consumer discourse. Different platforms attract distinct user populations and encourage different forms of expression: Reddit's pseudonymous discussion forums may facilitate candid disclosure of sensitive reactions, while YouTube comment sections attached to \"DNA reveal\" videos may emphasize performative displays of surprise or excitement, and app store reviews likely reflect selection bias toward users motivated to provide feedback.\u003c/p\u003e \u003cp\u003eFurthermore, neither study systematically classified the types of emotional and cognitive reactions consumers express. While sentiment analysis captures overall positive or negative valence, it does not distinguish between qualitatively different responses such as surprise, dispute, acceptance, disappointment, identity disruption, or excitement. These reaction types likely differ in meaning, yet prior computational studies primarily focused on topic modeling and overall sentiment analysis rather than distinguishing discrete reaction categories (Yin et al. \u003cspan citationid=\"CR27\" class=\"CitationRef\"\u003e2020\u003c/span\u003e; Toussaint et al. \u003cspan citationid=\"CR23\" class=\"CitationRef\"\u003e2022\u003c/span\u003e).\u003c/p\u003e \u003cp\u003eThe relationship between specific ancestry findings and consumer reactions has been examined only in limited qualitative work and remains underexplored computationally. Qualitative research suggests that certain ancestry results\u0026mdash;particularly those involving Native American heritage\u0026mdash;may be more likely to elicit skepticism or dispute (Walajahi et al. \u003cspan citationid=\"CR26\" class=\"CitationRef\"\u003e2019\u003c/span\u003e). However, no study has extracted reported ancestry percentages from user posts or quantified dispute rates across ancestry categories. Similarly, existing research has not examined the concordance between self-reported ethnicity and genetic ancestry results in naturalistic online discourse, despite genetic anthropologists noting discrepancies between genetic and social definitions of ancestry (Morning \u003cspan citationid=\"CR13\" class=\"CitationRef\"\u003e2011\u003c/span\u003e).\u003c/p\u003e \u003cp\u003eFinally, prior computational work has been primarily descriptive, documenting patterns in consumer discourse without developing predictive models. Understanding which post characteristics predict dispute expression could advance theory regarding the psychological and linguistic correlates of ancestry skepticism.\u003c/p\u003e \u003c/div\u003e \u003cdiv id=\"Sec4\" class=\"Section2\"\u003e \u003ch2\u003e1.3 The Present Study\u003c/h2\u003e \u003cp\u003eThis study addresses these gaps through a comprehensive computational analysis of consumer reactions to DTC genetic ancestry testing across multiple online platforms. We collected 58,133 user-generated posts from Reddit, YouTube, and Google Play, applying natural language processing methods to extract ancestry percentages, classify emotional reactions, analyze sentiment, discover latent topics, and model predictors of dispute expression.\u003c/p\u003e \u003cp\u003eOur approach builds on prior computational research in several ways. First, we provide a cross-platform analysis focused on consumer reactions across Reddit, YouTube, and Google Play. Second, we develop a six-category reaction taxonomy (surprise, dispute, acceptance, disappointment, identity crisis, excitement) that moves beyond binary sentiment to capture qualitatively distinct response types. Third, we extract reported ancestry percentages and normalize them into 42 standardized categories, allowing analysis of which ancestries are most frequently contested. Fourth, we compare users' self-reported ethnicities with their genetic results, finding 61.8% concordance. Fifth, we develop a logistic regression model predicting dispute expression (AUC\u0026thinsp;=\u0026thinsp;0.79), identifying text length and negative sentiment as key predictors. These contributions address fundamental gaps in understanding how consumers discuss and react to genetic ancestry information online.\u003c/p\u003e \u003cp\u003eOur analysis addresses five research questions: (1) How prevalent are different reaction types in consumer discussions of ancestry testing, and how do these distributions vary across platforms? (2) Which specific ancestries are most frequently contested, and what patterns emerge in ancestry-specific dispute rates? (3) What is the relationship between reaction type and sentiment, and do different sentiment analysis methods yield convergent results? (4) To what extent do users' self-reported ethnicities align with their genetic ancestry results? (5) Which post characteristics predict expression of dispute?\u003c/p\u003e \u003c/div\u003e"},{"header":"2. Methods","content":"\u003cdiv id=\"Sec6\" class=\"Section2\"\u003e \u003ch2\u003e2.1 Data Collection\u003c/h2\u003e \u003cp\u003eWe collected user-generated content discussing direct-to-consumer (DTC) genetic ancestry testing from three major online platforms: Reddit, YouTube, and Google Play.\u003c/p\u003e \u003cp\u003e \u003cb\u003eReddit.\u003c/b\u003e Posts were scraped from four ancestry-related subreddits: r/23andme, r/AncestryDNA, r/ancestry, and r/Genealogy. Data retrieval used the Arctic Shift API (\u003cspan class=\"ExternalRef\"\u003e\u003cspan class=\"RefSource\"\u003ehttps://arctic-shift.photon-reddit.com/\u003c/span\u003e\u003cspan address=\"https://arctic-shift.photon-reddit.com/\" targettype=\"URL\" class=\"RefTarget\"\u003e\u003c/span\u003e\u003c/span\u003e) as the primary source, with Pullpush API (\u003cspan class=\"ExternalRef\"\u003e\u003cspan class=\"RefSource\"\u003ehttps://pullpush.io/\u003c/span\u003e\u003cspan address=\"https://pullpush.io/\" targettype=\"URL\" class=\"RefTarget\"\u003e\u003c/span\u003e\u003c/span\u003e) as fallback. For each subreddit, we collected up to 10,000 posts sorted by creation date in descending order. Data were retrieved in December 2025. Reddit posts were collected using the Arctic Shift API (with Pullpush as fallback). The most recent Reddit posts available through the API at the time of retrieval were dated May 17, 2025, resulting in a dataset spanning August 2020 through May 2025. YouTube comments and Google Play reviews were also retrieved in December 2025 and span December 2016 through December 2025 (YouTube) and September 2024 through December 2025 (Google Play).\u003c/p\u003e \u003cp\u003e \u003cb\u003eYouTube.\u003c/b\u003e Comments were extracted from ancestry DNA reveal videos using yt-dlp (\u003cspan class=\"ExternalRef\"\u003e\u003cspan class=\"RefSource\"\u003ehttps://github.com/yt-dlp/yt-dlp\u003c/span\u003e\u003cspan address=\"https://github.com/yt-dlp/yt-dlp\" targettype=\"URL\" class=\"RefTarget\"\u003e\u003c/span\u003e\u003c/span\u003e). We searched for videos using six query terms targeting reaction content. For each query, up to 30 videos were retrieved, and up to 200 comments were extracted per video.\u003c/p\u003e \u003cp\u003e \u003cb\u003eGoogle Play.\u003c/b\u003e User reviews were collected using google-play-scraper (\u003cspan class=\"ExternalRef\"\u003e\u003cspan class=\"RefSource\"\u003ehttps://github.com/JoMingyu/google-play-scraper\u003c/span\u003e\u003cspan address=\"https://github.com/JoMingyu/google-play-scraper\" targettype=\"URL\" class=\"RefTarget\"\u003e\u003c/span\u003e\u003c/span\u003e) from three major DTC genetic testing applications: AncestryDNA, 23andMe, and MyHeritage. Up to 1,000 reviews per app were retrieved, sorted by newest first.\u003c/p\u003e \u003cp\u003eAll data were standardized into a common schema containing: unique identifier, source platform, text content, author, timestamp, and engagement metrics.\u003c/p\u003e \u003c/div\u003e \u003cdiv id=\"Sec7\" class=\"Section2\"\u003e \u003ch2\u003e2.2 Feature Extraction\u003c/h2\u003e \u003cp\u003e \u003cb\u003eAncestry percentage extraction.\u003c/b\u003e We developed regular expression patterns to identify reported ancestry percentages from free-text posts. Three pattern variants captured common reporting formats: \"[percentage]% [ethnicity],\" \"[ethnicity]: [percentage]%,\" and \"[ethnicity] [percentage]%.\" Extracted ethnicities were normalized into 42 standardized categories spanning six geographic regions (Table\u0026nbsp;\u003cspan refid=\"Tab3\" class=\"InternalRef\"\u003e3\u003c/span\u003e). Complete lexicons are available at \u003cspan class=\"ExternalRef\"\u003e\u003cspan class=\"RefSource\"\u003ehttps://github.com/sarabehnamian/ancestry_nlp\u003c/span\u003e\u003cspan address=\"https://github.com/sarabehnamian/ancestry_nlp\" targettype=\"URL\" class=\"RefTarget\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e \u003cp\u003e \u003cdiv class=\"gridtable\"\u003e\u003ctable float=\"Yes\" id=\"Tab3\" border=\"1\"\u003e \u003ccaption language=\"En\"\u003e \u003cdiv class=\"CaptionNumber\"\u003eTable 3\u003c/div\u003e \u003cdiv class=\"CaptionContent\"\u003e \u003cp\u003eEthnicity normalization categories by region.\u003c/p\u003e \u003c/div\u003e \u003c/caption\u003e \u003ccolgroup cols=\"3\"\u003e \u003cdiv align=\"left\" class=\"colspec\" colname=\"c1\" colnum=\"1\"\u003e\u003c/div\u003e \u003cdiv align=\"char\" char=\".\" class=\"colspec\" colname=\"c2\" colnum=\"2\"\u003e\u003c/div\u003e \u003cdiv align=\"left\" class=\"colspec\" colname=\"c3\" colnum=\"3\"\u003e\u003c/div\u003e \u003cthead\u003e \u003ctr\u003e \u003cth align=\"left\" colname=\"c1\"\u003e \u003cp\u003eRegion\u003c/p\u003e \u003c/th\u003e \u003cth align=\"left\" colname=\"c2\"\u003e \u003cp\u003eCategories (n)\u003c/p\u003e \u003c/th\u003e \u003cth align=\"left\" colname=\"c3\"\u003e \u003cp\u003eExamples of Lexicon Terms\u003c/p\u003e \u003c/th\u003e \u003c/tr\u003e \u003c/thead\u003e \u003ctbody\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eEuropean\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c2\"\u003e \u003cp\u003e12\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c3\"\u003e \u003cp\u003eBritish (British, English, Welsh, Scottish), Scandinavian (Swedish, Norwegian, Danish), Jewish (Ashkenazi, Sephardic)\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eAfrican\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c2\"\u003e \u003cp\u003e7\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c3\"\u003e \u003cp\u003eNigerian (Yoruba, Igbo, Hausa), West African (Senegalese, Malian), African American (Black American)\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eAsian\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c2\"\u003e \u003cp\u003e9\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c3\"\u003e \u003cp\u003eChinese (Han), Indian (South Asian, Punjabi, Bengali), Southeast Asian (Thai, Indonesian)\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eAmericas\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c2\"\u003e \u003cp\u003e8\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c3\"\u003e \u003cp\u003eNative American (Indigenous, Cherokee, Navajo), Mexican (Mestizo), Caribbean (Jamaican, Haitian)\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eMiddle Eastern\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c2\"\u003e \u003cp\u003e3\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c3\"\u003e \u003cp\u003eMiddle Eastern (Arab, Levantine, Iraqi, Syrian), Iranian (Persian), Turkish (Anatolian)\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eOceania\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c2\"\u003e \u003cp\u003e3\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c3\"\u003e \u003cp\u003ePolynesian (Hawaiian, Samoan, Tongan), Melanesian (Fijian, Papua), Australian Aboriginal\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003c/tbody\u003e \u003c/colgroup\u003e \u003c/table\u003e\u003c/div\u003e \u003c/p\u003e \u003cp\u003e \u003cb\u003eReaction classification.\u003c/b\u003e User reactions were classified into six categories using keyword-based pattern matching (Table\u0026nbsp;4). Each post received binary flags indicating presence or absence of each reaction type. Reaction categories were not treated as mutually exclusive. Each post received independent binary indicators for the presence of each reaction type. Consequently, posts expressing multiple or evolving reactions (e.g., initial excitement followed by disappointment) were coded as positive for all applicable categories. This approach reflects the mixed and dynamic nature of online discourse rather than imposing single-label classification.\u003cb\u003eTable\u0026nbsp;4.\u003c/b\u003e Reaction classification keywords.\u003c/p\u003e \u003cp\u003e \u003cdiv class=\"gridtable\"\u003e\u003ctable float=\"No\" id=\"Taba\" border=\"1\"\u003e \u003ccolgroup cols=\"2\"\u003e \u003cdiv align=\"left\" class=\"colspec\" colname=\"c1\" colnum=\"1\"\u003e\u003c/div\u003e \u003cdiv align=\"left\" class=\"colspec\" colname=\"c2\" colnum=\"2\"\u003e\u003c/div\u003e \u003cthead\u003e \u003ctr\u003e \u003cth align=\"left\" colname=\"c1\"\u003e \u003cp\u003eReaction\u003c/p\u003e \u003c/th\u003e \u003cth align=\"left\" colname=\"c2\"\u003e \u003cp\u003eKeywords\u003c/p\u003e \u003c/th\u003e \u003c/tr\u003e \u003c/thead\u003e \u003ctbody\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eSurprise\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c2\"\u003e \u003cp\u003esurprised, shocking, shocked, unexpected, never expected, no idea, mind blown, wow, crazy, wild, insane, unbelievable\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eDispute\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c2\"\u003e \u003cp\u003ewrong, incorrect, inaccurate, mistake, error, fake, scam, don't believe, doubt, skeptical, no way, impossible\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eAcceptance\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c2\"\u003e \u003cp\u003emakes sense, expected, confirmed, accurate, correct, exactly what, as expected, no surprises, knew it, matches\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eDisappointment\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c2\"\u003e \u003cp\u003edisappointed, disappointing, wished, hoped for, wanted to be, thought I was, boring, basic, generic, letdown\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eIdentity crisis\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c2\"\u003e \u003cp\u003eidentity crisis, who am I, don't know who, existential, questioning, lied to me, not my real, NPE, adoption\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eExcitement\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c2\"\u003e \u003cp\u003eexcited, amazing, awesome, love, cool, fascinating, interesting, incredible, wonderful, thrilled, happy\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003c/tbody\u003e \u003c/colgroup\u003e \u003ctfoot\u003e \u003ctr\u003e\u003ctd colspan=\"2\"\u003e\u003cem\u003eNote. Representative keywords shown; complete lexicons available at\u003c/em\u003e \u003cspan class=\"ExternalRef\"\u003e\u003cspan class=\"RefSource\"\u003ehttps://github.com/sarabehnamian/ancestry_nlp\u003c/span\u003e\u003cspan address=\"https://github.com/sarabehnamian/ancestry_nlp\" targettype=\"URL\" class=\"RefTarget\"\u003e\u003c/span\u003e\u003c/span\u003e \u003cem\u003e. These reaction categories were developed as operational discourse labels based on recurring lexical patterns in user-generated text rather than derived from established psychometric instruments. Because the study analyzes large-scale naturalistic online discussions, validated self-report scales could not be directly applied. These labels therefore represent text-based indicators of reaction types in discourse and should not be interpreted as validated psychological constructs.\u003c/em\u003e\u003cb\u003eSelf-reported ethnicity\u003c/b\u003e was extracted using six pattern types targeting identity statements: \"I'm/I am [ethnicity],\" \"I identify as [ethnicity],\" \"my family are/were [ethnicity],\" \"born/raised in [location],\" \"my ethnicity/heritage is [ethnicity],\" and \"I'm [ethnicity] American/Canadian/British.\"\u003c/td\u003e\u003c/tr\u003e \u003c/tfoot\u003e \u003c/table\u003e\u003c/div\u003e \u003c/p\u003e \u003cp\u003e \u003cb\u003eCompany detection.\u003c/b\u003e Mentions of five DTC genetic testing companies were identified through case-insensitive matching: 23andMe (\u003cspan class=\"ExternalRef\"\u003e\u003cspan class=\"RefSource\"\u003ehttps://www.23andme.com/\u003c/span\u003e\u003cspan address=\"https://www.23andme.com/\" targettype=\"URL\" class=\"RefTarget\"\u003e\u003c/span\u003e\u003c/span\u003e), AncestryDNA (\u003cspan class=\"ExternalRef\"\u003e\u003cspan class=\"RefSource\"\u003ehttps://www.ancestry.com/dna/\u003c/span\u003e\u003cspan address=\"https://www.ancestry.com/dna/\" targettype=\"URL\" class=\"RefTarget\"\u003e\u003c/span\u003e\u003c/span\u003e), MyHeritage (\u003cspan class=\"ExternalRef\"\u003e\u003cspan class=\"RefSource\"\u003ehttps://www.myheritage.com/dna\u003c/span\u003e\u003cspan address=\"https://www.myheritage.com/dna\" targettype=\"URL\" class=\"RefTarget\"\u003e\u003c/span\u003e\u003c/span\u003e), FamilyTreeDNA (\u003cspan class=\"ExternalRef\"\u003e\u003cspan class=\"RefSource\"\u003ehttps://www.familytreedna.com/\u003c/span\u003e\u003cspan address=\"https://www.familytreedna.com/\" targettype=\"URL\" class=\"RefTarget\"\u003e\u003c/span\u003e\u003c/span\u003e), and LivingDNA (\u003cspan class=\"ExternalRef\"\u003e\u003cspan class=\"RefSource\"\u003ehttps://www.livingdna.com/\u003c/span\u003e\u003cspan address=\"https://www.livingdna.com/\" targettype=\"URL\" class=\"RefTarget\"\u003e\u003c/span\u003e\u003c/span\u003e).\u003c/p\u003e \u003c/div\u003e \u003cdiv id=\"Sec8\" class=\"Section2\"\u003e \u003ch2\u003e2.3 Sentiment Analysis\u003c/h2\u003e \u003cp\u003e \u003cb\u003eLexicon-based sentiment scoring.\u003c/b\u003e We applied two complementary sentiment analysis methods. VADER (Valence Aware Dictionary and sEntiment Reasoner; Hutto and Gilbert \u003cspan citationid=\"CR8\" class=\"CitationRef\"\u003e2014\u003c/span\u003e) computed compound sentiment scores ranging from \u0026minus;\u0026thinsp;1 (most negative) to +\u0026thinsp;1 (most positive), along with separate positive, negative, and neutral component scores. TextBlob (Loria \u003cspan citationid=\"CR11\" class=\"CitationRef\"\u003e2018\u003c/span\u003e) provided supplementary polarity (\u0026minus;\u0026thinsp;1 to +\u0026thinsp;1) and subjectivity (0 to 1) measures. Posts were categorized as positive (compound\u0026thinsp;\u0026gt;\u0026thinsp;0.05), neutral (\u0026minus;\u0026thinsp;0.05 to 0.05), or negative (compound\u0026thinsp;\u0026lt;\u0026thinsp;\u0026minus;\u0026thinsp;0.05) following VADER's recommended thresholds (Hutto and Gilbert \u003cspan citationid=\"CR8\" class=\"CitationRef\"\u003e2014\u003c/span\u003e).\u003c/p\u003e \u003cp\u003eThe two tools were applied as a form of methodological triangulation rather than to generate independent inferential claims. VADER is optimized for short, informal social media text and captures intensity and negation patterns effectively, whereas TextBlob provides both polarity and subjectivity estimates. Using both allowed us to assess the robustness of polarity patterns across lexicons and to examine whether subjectivity provided additional interpretive insight beyond valence alone. Polarity estimates from VADER and TextBlob were moderately correlated (r\u0026thinsp;=\u0026thinsp;0.411, p\u0026thinsp;\u0026lt;\u0026thinsp;0.001), supporting convergent validity while indicating that the tools capture related but not identical dimensions of sentiment (Fig.\u0026nbsp;\u003cspan refid=\"Fig5\" class=\"InternalRef\"\u003e5\u003c/span\u003e).\u003c/p\u003e \u003cp\u003e \u003cb\u003eTopic modeling.\u003c/b\u003e Latent Dirichlet Allocation (LDA; Blei et al. \u003cspan citationid=\"CR2\" class=\"CitationRef\"\u003e2003\u003c/span\u003e) was applied to discover latent discussion themes. Text preprocessing included URL removal, non-alphabetic character removal, and lowercasing. Document-term matrices were constructed using scikit-learn (Pedregosa et al. \u003cspan citationid=\"CR14\" class=\"CitationRef\"\u003e2011\u003c/span\u003e) with maximum document frequency of 0.95, minimum document frequency of 10, English stopword removal, and vocabulary limited to 5,000 features. The number of topics (k\u0026thinsp;=\u0026thinsp;8) was selected based on qualitative interpretability of the resulting themes during exploratory modeling. We inspected top-loading terms and topic assignments to ensure that the solution produced coherent and distinguishable discussion themes without excessive overlap. The model was fit with 15 iterations.\u003c/p\u003e \u003cp\u003e \u003cb\u003eSelf-reported versus genetic ancestry comparison. For posts containing both self-reported ethnicity and genetic ancestry results, we computed concordance using a binary match variable. A post was coded as concordant (match\u0026thinsp;=\u0026thinsp;1) if at least one shared normalized ancestry category appeared in both the self-reported and genetic ancestry sets; otherwise, it was coded as discordant (match\u0026thinsp;=\u0026thinsp;0). Both self-reported and genetic ancestries were stored as comma-separated normalized categories and compared using set intersection. When users reported multiple identities (e.g., \u0026ldquo;I\u0026rsquo;m Irish and Italian\u0026rdquo;), all self-reported categories were compared against all genetic categories, requiring at least one shared category for a match. Fractional ancestry percentages were not incorporated into the concordance calculation; only the presence of normalized ancestry categories was considered. Posts lacking either self-reported ethnicity or genetic ancestry results were excluded from this analysis. 2.4 Statistical Analysis\u003c/b\u003e \u003c/p\u003e \u003cp\u003e \u003cb\u003eAssociation tests.\u003c/b\u003e Chi-square tests of independence assessed associations between categorical variables: presence of ancestry results and surprise reactions, presence of ancestry results and dispute reactions, and source platform and reaction types. Effect sizes were quantified using Cram\u0026eacute;r's V. Statistical significance was set at α\u0026thinsp;=\u0026thinsp;0.05.\u003c/p\u003e \u003cp\u003e \u003cb\u003ePlatform comparison.\u003c/b\u003e One-way analysis of variance (ANOVA) compared mean VADER compound sentiment scores across source platforms (Reddit, YouTube, Google Play). Effect size was quantified using eta-squared (η\u0026sup2;). Post-hoc pairwise comparisons were conducted using Tukey's Honestly Significant Difference (HSD) test (Tukey \u003cspan citationid=\"CR24\" class=\"CitationRef\"\u003e1949\u003c/span\u003e).\u003c/p\u003e \u003cp\u003e \u003cb\u003eReaction-sentiment comparison.\u003c/b\u003e Independent samples t-tests compared sentiment scores between posts with and without each reaction type. For each reaction category, posts were divided into two groups based on the corresponding binary indicator (1\u0026thinsp;=\u0026thinsp;reaction present; 0\u0026thinsp;=\u0026thinsp;reaction absent), and mean VADER compound sentiment scores were compared between these groups. Effect sizes were quantified using Cohen's d (Cohen \u003cspan citationid=\"CR4\" class=\"CitationRef\"\u003e1988\u003c/span\u003e). Non-parametric Mann-Whitney U tests (Mann and Whitney \u003cspan citationid=\"CR12\" class=\"CitationRef\"\u003e1947\u003c/span\u003e) were conducted as sensitivity analyses. Kruskal-Wallis H tests (Kruskal and Wallis \u003cspan citationid=\"CR9\" class=\"CitationRef\"\u003e1952\u003c/span\u003e) compared sentiment distributions across all reaction types simultaneously.\u003c/p\u003e \u003cp\u003e \u003cb\u003eCorrelation analysis.\u003c/b\u003e Pearson correlation coefficients quantified relationships between continuous sentiment measures (VADER compound, TextBlob polarity, TextBlob subjectivity).\u003c/p\u003e \u003cp\u003e \u003cb\u003eDispute rate by ancestry.\u003c/b\u003e For each normalized ancestry category with at least 20 mentions, we calculated the proportion of posts containing that ancestry that also expressed dispute.\u003c/p\u003e \u003cp\u003e \u003cb\u003ePredictive modeling.\u003c/b\u003e Dispute was selected as the target variable because it represents an active evaluative response to ancestry results, and understanding its predictors has practical relevance for DTC companies and genetic counselors seeking to anticipate consumer skepticism. Logistic regression modeled the probability of dispute expression as a function of four predictor variables selected to capture complementary dimensions of post content: text length (structural extent of the post), VADER compound sentiment score (affective tone), number of ancestries mentioned (result complexity), and top ancestry percentage (magnitude of the primary ancestry assignment). These features were chosen because they are extractable at scale from unstructured text and span structural, affective, and content-based properties of posts. Features were standardized using z-score normalization prior to model fitting. Model performance was evaluated using 5-fold cross-validation with area under the receiver operating characteristic curve (AUC) as the primary metric. All statistical analyses were conducted using SciPy (Virtanen et al. 2020) and scikit-learn (Pedregosa et al. \u003cspan citationid=\"CR14\" class=\"CitationRef\"\u003e2011\u003c/span\u003e).\u003c/p\u003e \u003c/div\u003e \u003cdiv id=\"Sec9\" class=\"Section2\"\u003e \u003ch2\u003e2.5 Validation of Reaction Classification\u003c/h2\u003e \u003cp\u003eTo assess the accuracy of the keyword-based reaction classifier, we conducted a manual validation study on a stratified random subsample. A total of 300 posts were sampled from the corpus using stratified random sampling, with approximately 35 posts flagged positive for each of the six reaction types, 60 posts with no detected reaction, and additional randomly selected posts to reach the target sample size. This oversampling strategy ensured sufficient positive cases per category to compute reliable precision and recall estimates. One author (S.B.) independently annotated each post for all six reaction categories using a binary coding scheme (1\u0026thinsp;=\u0026thinsp;present, 0\u0026thinsp;=\u0026thinsp;absent). Annotations were guided by predefined definitions for each reaction type (see Table\u0026nbsp;4) and were based on the full semantic meaning of the text rather than the presence of individual keywords. One post was excluded due to incomplete annotation, yielding 299 fully coded posts. Classifier performance was evaluated using precision, recall, F1 score, Cohen's κ, and accuracy for each reaction category and across all categories (micro- and macro-averaged). Cohen's κ was selected as the primary agreement measure because it adjusts for chance agreement between the keyword classifier and human judgment.\u003c/p\u003e \u003c/div\u003e"},{"header":"3. Results","content":"\u003cdiv id=\"Sec11\" class=\"Section2\"\u003e \u003ch2\u003e3.1 Dataset Characteristics\u003c/h2\u003e \u003cp\u003eThe final corpus comprised 58,133 user-generated records from three platforms: Reddit (n\u0026thinsp;=\u0026thinsp;40,000; 68.8%), YouTube (n\u0026thinsp;=\u0026thinsp;17,133; 29.5%), and Google Play (n\u0026thinsp;=\u0026thinsp;1,000; 1.7%). Reddit data originated from four subreddits: r/23andme, r/AncestryDNA, r/ancestry, and r/Genealogy. YouTube comments were extracted from ancestry DNA reveal videos. Google Play reviews were collected from three DTC applications: AncestryDNA, 23andMe, and MyHeritage (Table\u0026nbsp;\u003cspan refid=\"Tab4\" class=\"InternalRef\"\u003e5\u003c/span\u003e).\u003c/p\u003e \u003cp\u003e \u003cdiv class=\"gridtable\"\u003e\u003ctable float=\"Yes\" id=\"Tab4\" border=\"1\"\u003e \u003ccaption language=\"En\"\u003e \u003cdiv class=\"CaptionNumber\"\u003eTable 5\u003c/div\u003e \u003cdiv class=\"CaptionContent\"\u003e \u003cp\u003eDataset composition by source platform.\u003c/p\u003e \u003c/div\u003e \u003c/caption\u003e \u003ccolgroup cols=\"3\"\u003e \u003cdiv align=\"left\" class=\"colspec\" colname=\"c1\" colnum=\"1\"\u003e\u003c/div\u003e \u003cdiv align=\"char\" char=\".\" class=\"colspec\" colname=\"c2\" colnum=\"2\"\u003e\u003c/div\u003e \u003cdiv align=\"left\" class=\"colspec\" colname=\"c3\" colnum=\"3\"\u003e\u003c/div\u003e \u003cthead\u003e \u003ctr\u003e \u003cth align=\"left\" colname=\"c1\"\u003e \u003cp\u003ePlatform\u003c/p\u003e \u003c/th\u003e \u003cth align=\"left\" colname=\"c2\"\u003e \u003cp\u003eRecords\u003c/p\u003e \u003c/th\u003e \u003cth align=\"left\" colname=\"c3\"\u003e \u003cp\u003ePercentage\u003c/p\u003e \u003c/th\u003e \u003c/tr\u003e \u003c/thead\u003e \u003ctbody\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eReddit\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c2\"\u003e \u003cp\u003e40,000\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c3\"\u003e \u003cp\u003e68.8%\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eYouTube\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c2\"\u003e \u003cp\u003e17,133\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c3\"\u003e \u003cp\u003e29.5%\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eGoogle Play\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c2\"\u003e \u003cp\u003e1,000\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c3\"\u003e \u003cp\u003e1.7%\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eTotal\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c2\"\u003e \u003cp\u003e58,133\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c3\"\u003e \u003cp\u003e100%\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003c/tbody\u003e \u003c/colgroup\u003e \u003c/table\u003e\u003c/div\u003e \u003c/p\u003e \u003c/div\u003e \u003cdiv id=\"Sec12\" class=\"Section2\"\u003e \u003ch2\u003e3.2 Ancestry Percentage Extraction\u003c/h2\u003e \u003cp\u003eExtractable ancestry percentages were identified in 4,379 posts (7.5% of corpus). Posts containing ancestry results reported a mean of 2.3 ancestry categories (SD\u0026thinsp;=\u0026thinsp;1.8), with total percentages averaging 94.2% per post. European ancestries predominated: British (n\u0026thinsp;=\u0026thinsp;621), Scandinavian (n\u0026thinsp;=\u0026thinsp;356), Italian (n\u0026thinsp;=\u0026thinsp;300), and Irish (n\u0026thinsp;=\u0026thinsp;298). Native American ancestry ranked third overall (n\u0026thinsp;=\u0026thinsp;374), followed by Jewish ancestry (n\u0026thinsp;=\u0026thinsp;289) (Fig.\u0026nbsp;\u003cspan refid=\"Fig1\" class=\"InternalRef\"\u003e1\u003c/span\u003e).\u003c/p\u003e \u003cp\u003e \u003c/p\u003e \u003c/div\u003e \u003cdiv id=\"Sec13\" class=\"Section2\"\u003e \u003ch2\u003e3.3 Self-Reported Ethnicity\u003c/h2\u003e \u003cp\u003eSelf-reported ethnicity was extracted from 978 posts (1.7%). The lower extraction rate relative to ancestry percentages indicates that users predominantly shared genetic test results rather than explicit self-identification statements.\u003c/p\u003e \u003c/div\u003e \u003cdiv id=\"Sec14\" class=\"Section2\"\u003e \u003ch2\u003e3.4 Reaction Prevalence\u003c/h2\u003e \u003cp\u003eReaction classification identified emotional responses in 14,472 posts (24.9%). Acceptance was the most prevalent reaction (n\u0026thinsp;=\u0026thinsp;5,546; 9.5%), followed by excitement (n\u0026thinsp;=\u0026thinsp;5,453; 9.4%) and dispute (n\u0026thinsp;=\u0026thinsp;4,985; 8.6%). Surprise occurred in 3,098 posts (5.3%), disappointment in 2,077 posts (3.6%), and identity crisis in 1,313 posts (2.3%). Posts exhibited a mean of 0.43 reaction types, indicating co-occurrence of multiple reactions (Table\u0026nbsp;\u003cspan refid=\"Tab5\" class=\"InternalRef\"\u003e6\u003c/span\u003e).\u003c/p\u003e \u003cp\u003e \u003cdiv class=\"gridtable\"\u003e\u003ctable float=\"Yes\" id=\"Tab5\" border=\"1\"\u003e \u003ccaption language=\"En\"\u003e \u003cdiv class=\"CaptionNumber\"\u003eTable 6\u003c/div\u003e \u003cdiv class=\"CaptionContent\"\u003e \u003cp\u003eReaction prevalence across corpus.\u003c/p\u003e \u003c/div\u003e \u003c/caption\u003e \u003ccolgroup cols=\"3\"\u003e \u003cdiv align=\"left\" class=\"colspec\" colname=\"c1\" colnum=\"1\"\u003e\u003c/div\u003e \u003cdiv align=\"char\" char=\".\" class=\"colspec\" colname=\"c2\" colnum=\"2\"\u003e\u003c/div\u003e \u003cdiv align=\"char\" char=\".\" class=\"colspec\" colname=\"c3\" colnum=\"3\"\u003e\u003c/div\u003e \u003cthead\u003e \u003ctr\u003e \u003cth align=\"left\" colname=\"c1\"\u003e \u003cp\u003eReaction\u003c/p\u003e \u003c/th\u003e \u003cth align=\"left\" colname=\"c2\"\u003e \u003cp\u003en\u003c/p\u003e \u003c/th\u003e \u003cth align=\"left\" colname=\"c3\"\u003e \u003cp\u003ePercentage\u003c/p\u003e \u003c/th\u003e \u003c/tr\u003e \u003c/thead\u003e \u003ctbody\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eAcceptance\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c2\"\u003e \u003cp\u003e5,546\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c3\"\u003e \u003cp\u003e9.5%\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eExcitement\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c2\"\u003e \u003cp\u003e5,453\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c3\"\u003e \u003cp\u003e9.4%\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eDispute\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c2\"\u003e \u003cp\u003e4,985\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c3\"\u003e \u003cp\u003e8.6%\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eSurprise\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c2\"\u003e \u003cp\u003e3,098\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c3\"\u003e \u003cp\u003e5.3%\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eDisappointment\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c2\"\u003e \u003cp\u003e2,077\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c3\"\u003e \u003cp\u003e3.6%\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eIdentity crisis\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c2\"\u003e \u003cp\u003e1,313\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c3\"\u003e \u003cp\u003e2.3%\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003c/tbody\u003e \u003c/colgroup\u003e \u003c/table\u003e\u003c/div\u003e \u003c/p\u003e \u003c/div\u003e \u003cdiv id=\"Sec15\" class=\"Section2\"\u003e \u003ch2\u003e3.5 Platform Differences\u003c/h2\u003e \u003cp\u003eReaction distributions differed across platforms (Fig.\u0026nbsp;\u003cspan refid=\"Fig2\" class=\"InternalRef\"\u003e2\u003c/span\u003e). Reddit exhibited higher dispute rates (10.2%) and acceptance rates (12.8%) compared to YouTube. YouTube comments demonstrated elevated excitement (9.7%). Google Play reviews showed the highest excitement rates (29.6%), consistent with selection bias toward satisfied users providing reviews.\u003c/p\u003e \u003cp\u003e \u003c/p\u003e \u003c/div\u003e \u003cdiv id=\"Sec16\" class=\"Section2\"\u003e \u003ch2\u003e3.6 Company Mentions\u003c/h2\u003e \u003cp\u003eCompany references appeared in 5,343 posts (9.2%). 23andMe was most frequently mentioned (n\u0026thinsp;=\u0026thinsp;1,835; 3.2%), followed by AncestryDNA (n\u0026thinsp;=\u0026thinsp;1,804; 3.1%), MyHeritage (n\u0026thinsp;=\u0026thinsp;781; 1.3%), FamilyTreeDNA (n\u0026thinsp;=\u0026thinsp;119; 0.2%), and LivingDNA (n\u0026thinsp;=\u0026thinsp;41; 0.1%).\u003c/p\u003e \u003c/div\u003e \u003cdiv id=\"Sec17\" class=\"Section2\"\u003e \u003ch2\u003e3.7 Ancestry Dispute Patterns\u003c/h2\u003e \u003cp\u003eDispute rates varied substantially across ancestry categories. Among ancestries with \u0026ge;\u0026thinsp;20 mentions, dispute rates ranged from 4.8% to 23.5% (Table\u0026nbsp;\u003cspan refid=\"Tab8\" class=\"InternalRef\"\u003e9\u003c/span\u003e). European ancestries (British, Scandinavian) showed lower relative dispute rates despite high mention frequency, suggesting greater user acceptance.\u003c/p\u003e \u003c/div\u003e \u003cdiv id=\"Sec18\" class=\"Section2\"\u003e \u003ch2\u003e3.8 Sentiment Analysis\u003c/h2\u003e \u003cp\u003e \u003cb\u003eVADER sentiment scores.\u003c/b\u003e VADER analysis yielded a mean compound score of 0.206 (SD\u0026thinsp;=\u0026thinsp;0.495), indicating overall positive sentiment. Classification by VADER thresholds revealed 45.2% positive (compound\u0026thinsp;\u0026gt;\u0026thinsp;0.05), 42.0% neutral (\u0026minus;\u0026thinsp;0.05\u0026thinsp;\u0026le;\u0026thinsp;compound\u0026thinsp;\u0026le;\u0026thinsp;0.05), and 12.8% negative (compound\u0026thinsp;\u0026lt;\u0026thinsp;\u0026minus;\u0026thinsp;0.05) posts.\u003c/p\u003e \u003cp\u003e \u003cb\u003eTextBlob sentiment scores.\u003c/b\u003e TextBlob analysis produced a mean polarity of 0.088 (SD\u0026thinsp;=\u0026thinsp;0.312), confirming positive sentiment. Mean subjectivity was 0.542 (SD\u0026thinsp;=\u0026thinsp;0.287), indicating moderate to high subjectivity in ancestry discussions.\u003c/p\u003e \u003cp\u003e \u003cb\u003ePlatform differences.\u003c/b\u003e Sentiment scores differed across platforms (Fig.\u0026nbsp;\u003cspan refid=\"Fig3\" class=\"InternalRef\"\u003e3\u003c/span\u003e). Google Play reviews exhibited the highest mean VADER score (M\u0026thinsp;=\u0026thinsp;0.428, SD\u0026thinsp;=\u0026thinsp;0.411), consistent with selection bias toward satisfied reviewers. Reddit posts showed moderate positive sentiment (M\u0026thinsp;=\u0026thinsp;0.211, SD\u0026thinsp;=\u0026thinsp;0.495). YouTube comments demonstrated slightly lower but positive sentiment (M\u0026thinsp;=\u0026thinsp;0.181, SD\u0026thinsp;=\u0026thinsp;0.477).\u003c/p\u003e \u003cp\u003e \u003c/p\u003e \u003cp\u003e \u003cb\u003eSentiment by reaction type.\u003c/b\u003e Because reaction categories are inherently valence-laden, this comparison serves primarily as construct validation, assessing whether keyword-based reaction labels align with independently measured sentiment intensity rather than testing a novel association (Fig.\u0026nbsp;\u003cspan refid=\"Fig4\" class=\"InternalRef\"\u003e4\u003c/span\u003e; Table\u0026nbsp;\u003cspan refid=\"Tab6\" class=\"InternalRef\"\u003e7\u003c/span\u003e). Excitement posts showed the highest mean VADER score (M\u0026thinsp;=\u0026thinsp;0.625), followed by acceptance (M\u0026thinsp;=\u0026thinsp;0.339), confirming alignment between reaction labels and positive discourse. Dispute reactions were associated with lower sentiment (M\u0026thinsp;=\u0026thinsp;0.185). Notably, identity crisis was the only reaction type not significantly associated with sentiment (t\u0026thinsp;=\u0026thinsp;0.67, p\u0026thinsp;=\u0026thinsp;0.505, d\u0026thinsp;=\u0026thinsp;0.02; see Section \u003cspan refid=\"Sec22\" class=\"InternalRef\"\u003e3.12\u003c/span\u003e), suggesting that identity disruption involves emotionally complex states not reducible to simple positive or negative valence.\u003c/p\u003e \u003cp\u003e \u003c/p\u003e \u003cp\u003e \u003cdiv class=\"gridtable\"\u003e\u003ctable float=\"Yes\" id=\"Tab6\" border=\"1\"\u003e \u003ccaption language=\"En\"\u003e \u003cdiv class=\"CaptionNumber\"\u003eTable 7\u003c/div\u003e \u003cdiv class=\"CaptionContent\"\u003e \u003cp\u003eVADER sentiment scores by reaction type.\u003c/p\u003e \u003c/div\u003e \u003c/caption\u003e \u003ccolgroup cols=\"2\"\u003e \u003cdiv align=\"left\" class=\"colspec\" colname=\"c1\" colnum=\"1\"\u003e\u003c/div\u003e \u003cdiv align=\"char\" char=\".\" class=\"colspec\" colname=\"c2\" colnum=\"2\"\u003e\u003c/div\u003e \u003cthead\u003e \u003ctr\u003e \u003cth align=\"left\" colname=\"c1\"\u003e \u003cp\u003eReaction\u003c/p\u003e \u003c/th\u003e \u003cth align=\"left\" colname=\"c2\"\u003e \u003cp\u003eMean VADER\u003c/p\u003e \u003c/th\u003e \u003c/tr\u003e \u003c/thead\u003e \u003ctbody\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eExcitement\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c2\"\u003e \u003cp\u003e0.625\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eAcceptance\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c2\"\u003e \u003cp\u003e0.339\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eSurprise\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c2\"\u003e \u003cp\u003e0.257\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eDisappointment\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c2\"\u003e \u003cp\u003e0.248\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eIdentity crisis\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c2\"\u003e \u003cp\u003e0.197\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eDispute\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c2\"\u003e \u003cp\u003e0.185\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003c/tbody\u003e \u003c/colgroup\u003e \u003c/table\u003e\u003c/div\u003e \u003c/p\u003e \u003c/div\u003e \u003cdiv id=\"Sec19\" class=\"Section2\"\u003e \u003ch2\u003e3.9 Topic Modeling\u003c/h2\u003e \u003cp\u003eLDA identified eight topics (Table\u0026nbsp;\u003cspan refid=\"Tab7\" class=\"InternalRef\"\u003e8\u003c/span\u003e). Topic 7 related directly to DNA test results. Topic 6 focused on DNA matches and family connections. Topic 1 centered on family tree research. Topic 3 related to genealogical records. The topic distribution indicates that discussions centered on result interpretation, family connections, and genealogical research.\u003c/p\u003e \u003cp\u003e \u003cb\u003eSentiment by topic.\u003c/b\u003e To provide sentiment contrasts independent of valence-laden reaction labels, we examined mean VADER compound scores across LDA topics. Sentiment differed significantly across topics (Kruskal\u0026ndash;Wallis H\u0026thinsp;=\u0026thinsp;1152.04, p\u0026thinsp;\u0026lt;\u0026thinsp;0.001, η\u0026sup2; = 0.020). Family history narratives (Topic 5, M\u0026thinsp;=\u0026thinsp;0.317, SD\u0026thinsp;=\u0026thinsp;0.533) and family tree research (Topic 1, M\u0026thinsp;=\u0026thinsp;0.309, SD\u0026thinsp;=\u0026thinsp;0.519) showed the highest sentiment, whereas genealogical record discussions (Topic 3, M\u0026thinsp;=\u0026thinsp;0.077, SD\u0026thinsp;=\u0026thinsp;0.633) showed the lowest. Because topics are defined by content rather than affect, these differences reflect variation in emotional tone across discussion contexts rather than definitional overlap with reaction categories.\u003c/p\u003e \u003cp\u003e \u003cdiv class=\"gridtable\"\u003e\u003ctable float=\"Yes\" id=\"Tab7\" border=\"1\"\u003e \u003ccaption language=\"En\"\u003e \u003cdiv class=\"CaptionNumber\"\u003eTable 8\u003c/div\u003e \u003cdiv class=\"CaptionContent\"\u003e \u003cp\u003eLDA topic summary.\u003c/p\u003e \u003c/div\u003e \u003c/caption\u003e \u003ccolgroup cols=\"3\"\u003e \u003cdiv align=\"left\" class=\"colspec\" colname=\"c1\" colnum=\"1\"\u003e\u003c/div\u003e \u003cdiv align=\"left\" class=\"colspec\" colname=\"c2\" colnum=\"2\"\u003e\u003c/div\u003e \u003cdiv align=\"left\" class=\"colspec\" colname=\"c3\" colnum=\"3\"\u003e\u003c/div\u003e \u003cthead\u003e \u003ctr\u003e \u003cth align=\"left\" colname=\"c1\"\u003e \u003cp\u003eTopic\u003c/p\u003e \u003c/th\u003e \u003cth align=\"left\" colname=\"c2\"\u003e \u003cp\u003eLabel\u003c/p\u003e \u003c/th\u003e \u003cth align=\"left\" colname=\"c3\"\u003e \u003cp\u003eTop Terms\u003c/p\u003e \u003c/th\u003e \u003c/tr\u003e \u003c/thead\u003e \u003ctbody\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003e0\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c2\"\u003e \u003cp\u003eGeneral discussion\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c3\"\u003e \u003cp\u003ehelp, question, post, comment, thanks\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003e1\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c2\"\u003e \u003cp\u003eFamily tree research\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c3\"\u003e \u003cp\u003etree, family, ancestry, data, record\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003e2\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c2\"\u003e \u003cp\u003eApp experience\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c3\"\u003e \u003cp\u003eapp, test, kit, sample, waiting\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003e3\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c2\"\u003e \u003cp\u003eGenealogical records\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c3\"\u003e \u003cp\u003ecensus, married, county, death, marriage\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003e4\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c2\"\u003e \u003cp\u003ePlatform content\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c3\"\u003e \u003cp\u003evideo, like, people, think, know\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003e5\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c2\"\u003e \u003cp\u003eFamily history\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c3\"\u003e \u003cp\u003egrandfather, grandmother, grandparents, ancestors\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003e6\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c2\"\u003e \u003cp\u003eDNA matches\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c3\"\u003e \u003cp\u003edna, matches, cousin, father, mother\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003e7\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c2\"\u003e \u003cp\u003eTest results\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c3\"\u003e \u003cp\u003eresults, ancestry, dna, american, african, european\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003c/tbody\u003e \u003c/colgroup\u003e \u003c/table\u003e\u003c/div\u003e \u003c/p\u003e \u003c/div\u003e \u003cdiv id=\"Sec20\" class=\"Section2\"\u003e \u003ch2\u003e3.10 Ancestry Dispute Rates\u003c/h2\u003e \u003cp\u003eAmong ancestries with \u0026ge;\u0026thinsp;20 mentions, dispute rates ranged from 4.8% to 23.5% (Table\u0026nbsp;\u003cspan refid=\"Tab8\" class=\"InternalRef\"\u003e9\u003c/span\u003e). Turkish ancestry exhibited the highest dispute rate (23.5%; 20/85), followed by Greek (19.7%; 15/76) and Scandinavian (18.5%; 66/356). British ancestry, despite the highest mention frequency (n\u0026thinsp;=\u0026thinsp;621), showed a relatively low dispute rate (13.8%), indicating that mention frequency does not predict dispute likelihood.\u003c/p\u003e \u003cp\u003e \u003cdiv class=\"gridtable\"\u003e\u003ctable float=\"Yes\" id=\"Tab8\" border=\"1\"\u003e \u003ccaption language=\"En\"\u003e \u003cdiv class=\"CaptionNumber\"\u003eTable 9\u003c/div\u003e \u003cdiv class=\"CaptionContent\"\u003e \u003cp\u003eDispute rates by ancestry (\u0026ge;\u0026thinsp;20 mentions).\u003c/p\u003e \u003c/div\u003e \u003c/caption\u003e \u003ccolgroup cols=\"4\"\u003e \u003cdiv align=\"left\" class=\"colspec\" colname=\"c1\" colnum=\"1\"\u003e\u003c/div\u003e \u003cdiv align=\"char\" char=\".\" class=\"colspec\" colname=\"c2\" colnum=\"2\"\u003e\u003c/div\u003e \u003cdiv align=\"char\" char=\".\" class=\"colspec\" colname=\"c3\" colnum=\"3\"\u003e\u003c/div\u003e \u003cdiv align=\"char\" char=\".\" class=\"colspec\" colname=\"c4\" colnum=\"4\"\u003e\u003c/div\u003e \u003cthead\u003e \u003ctr\u003e \u003cth align=\"left\" colname=\"c1\"\u003e \u003cp\u003eAncestry\u003c/p\u003e \u003c/th\u003e \u003cth align=\"left\" colname=\"c2\"\u003e \u003cp\u003eTotal\u003c/p\u003e \u003c/th\u003e \u003cth align=\"left\" colname=\"c3\"\u003e \u003cp\u003eDisputed\u003c/p\u003e \u003c/th\u003e \u003cth align=\"left\" colname=\"c4\"\u003e \u003cp\u003eRate (%)\u003c/p\u003e \u003c/th\u003e \u003c/tr\u003e \u003c/thead\u003e \u003ctbody\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eTurkish\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c2\"\u003e \u003cp\u003e85\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c3\"\u003e \u003cp\u003e20\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c4\"\u003e \u003cp\u003e23.5\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eGreek\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c2\"\u003e \u003cp\u003e76\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c3\"\u003e \u003cp\u003e15\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c4\"\u003e \u003cp\u003e19.7\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eScandinavian\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c2\"\u003e \u003cp\u003e356\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c3\"\u003e \u003cp\u003e66\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c4\"\u003e \u003cp\u003e18.5\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eMiddle Eastern\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c2\"\u003e \u003cp\u003e149\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c3\"\u003e \u003cp\u003e27\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c4\"\u003e \u003cp\u003e18.1\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eIrish\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c2\"\u003e \u003cp\u003e298\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c3\"\u003e \u003cp\u003e52\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c4\"\u003e \u003cp\u003e17.4\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eItalian\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c2\"\u003e \u003cp\u003e300\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c3\"\u003e \u003cp\u003e49\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c4\"\u003e \u003cp\u003e16.3\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eGerman\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c2\"\u003e \u003cp\u003e219\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c3\"\u003e \u003cp\u003e33\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c4\"\u003e \u003cp\u003e15.1\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eBritish\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c2\"\u003e \u003cp\u003e621\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c3\"\u003e \u003cp\u003e86\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c4\"\u003e \u003cp\u003e13.8\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eIndian\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c2\"\u003e \u003cp\u003e132\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c3\"\u003e \u003cp\u003e14\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c4\"\u003e \u003cp\u003e10.6\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eChinese\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c2\"\u003e \u003cp\u003e107\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c3\"\u003e \u003cp\u003e8\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c4\"\u003e \u003cp\u003e7.5\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003c/tbody\u003e \u003c/colgroup\u003e \u003c/table\u003e\u003c/div\u003e \u003c/p\u003e \u003c/div\u003e \u003cdiv id=\"Sec21\" class=\"Section2\"\u003e \u003ch2\u003e3.11 Self-Reported Versus Genetic Ancestry Concordance\u003c/h2\u003e \u003cp\u003eAmong 170 posts containing both self-reported ethnicity and genetic ancestry results (0.3% of corpus), concordance \u0026mdash; defined as at least one shared normalized ancestry category \u0026mdash; was observed in 105 cases (61.8%). In 65 cases (38.2%), self-identified ethnicity did not overlap with any genetic ancestry category. This lenient, binary definition of concordance means that even partial overlap (e.g., one shared category out of several) counted as a match; stricter definitions requiring proportional overlap would likely yield lower concordance rates.\u003c/p\u003e \u003c/div\u003e \u003cdiv id=\"Sec22\" class=\"Section2\"\u003e \u003ch2\u003e3.12 Inferential Statistics\u003c/h2\u003e \u003cp\u003e \u003cb\u003eAssociation between ancestry results and reactions.\u003c/b\u003e Chi-square tests revealed significant associations between the presence of extractable ancestry results and emotional reactions. Posts containing ancestry percentages were significantly more likely to express surprise (χ\u0026sup2; = 520.67, df\u0026thinsp;=\u0026thinsp;1, p\u0026thinsp;\u0026lt;\u0026thinsp;0.001, Cram\u0026eacute;r's V\u0026thinsp;=\u0026thinsp;0.095) and dispute (χ\u0026sup2; = 201.63, df\u0026thinsp;=\u0026thinsp;1, p\u0026thinsp;\u0026lt;\u0026thinsp;0.001, Cram\u0026eacute;r's V\u0026thinsp;=\u0026thinsp;0.059). Source platform was significantly associated with dispute expression (χ\u0026sup2; = 429.31, df\u0026thinsp;=\u0026thinsp;2, p\u0026thinsp;\u0026lt;\u0026thinsp;0.001, Cram\u0026eacute;r's V\u0026thinsp;=\u0026thinsp;0.086). All effect sizes were small.\u003c/p\u003e \u003cp\u003e \u003cb\u003ePlatform differences in reactions.\u003c/b\u003e Chi-square tests confirmed significant platform differences across all reaction types (Table\u0026nbsp;\u003cspan refid=\"Tab9\" class=\"InternalRef\"\u003e10\u003c/span\u003e). Acceptance showed the largest platform effect (χ\u0026sup2; = 1538.24, Cram\u0026eacute;r's V\u0026thinsp;=\u0026thinsp;0.163), followed by excitement (χ\u0026sup2; = 503.87, Cram\u0026eacute;r's V\u0026thinsp;=\u0026thinsp;0.093).\u003c/p\u003e \u003cp\u003e \u003cdiv class=\"gridtable\"\u003e\u003ctable float=\"Yes\" id=\"Tab9\" border=\"1\"\u003e \u003ccaption language=\"En\"\u003e \u003cdiv class=\"CaptionNumber\"\u003eTable 10\u003c/div\u003e \u003cdiv class=\"CaptionContent\"\u003e \u003cp\u003eChi-square tests for platform \u0026times; reaction associations.\u003c/p\u003e \u003c/div\u003e \u003c/caption\u003e \u003ccolgroup cols=\"5\"\u003e \u003cdiv align=\"left\" class=\"colspec\" colname=\"c1\" colnum=\"1\"\u003e\u003c/div\u003e \u003cdiv align=\"char\" char=\".\" class=\"colspec\" colname=\"c2\" colnum=\"2\"\u003e\u003c/div\u003e \u003cdiv align=\"char\" char=\".\" class=\"colspec\" colname=\"c3\" colnum=\"3\"\u003e\u003c/div\u003e \u003cdiv align=\"char\" char=\".\" class=\"colspec\" colname=\"c4\" colnum=\"4\"\u003e\u003c/div\u003e \u003cdiv align=\"char\" char=\".\" class=\"colspec\" colname=\"c5\" colnum=\"5\"\u003e\u003c/div\u003e \u003cthead\u003e \u003ctr\u003e \u003cth align=\"left\" colname=\"c1\"\u003e \u003cp\u003eReaction\u003c/p\u003e \u003c/th\u003e \u003cth align=\"left\" colname=\"c2\"\u003e \u003cp\u003eχ\u0026sup2;\u003c/p\u003e \u003c/th\u003e \u003cth align=\"left\" colname=\"c3\"\u003e \u003cp\u003edf\u003c/p\u003e \u003c/th\u003e \u003cth align=\"left\" colname=\"c4\"\u003e \u003cp\u003ep\u003c/p\u003e \u003c/th\u003e \u003cth align=\"left\" colname=\"c5\"\u003e \u003cp\u003eCram\u0026eacute;r's V\u003c/p\u003e \u003c/th\u003e \u003c/tr\u003e \u003c/thead\u003e \u003ctbody\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eAcceptance\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c2\"\u003e \u003cp\u003e1538.24\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c3\"\u003e \u003cp\u003e2\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c4\"\u003e \u003cp\u003e\u0026lt;\u0026thinsp;0.001\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c5\"\u003e \u003cp\u003e0.163\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eExcitement\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c2\"\u003e \u003cp\u003e503.87\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c3\"\u003e \u003cp\u003e2\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c4\"\u003e \u003cp\u003e\u0026lt;\u0026thinsp;0.001\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c5\"\u003e \u003cp\u003e0.093\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eDisappointment\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c2\"\u003e \u003cp\u003e296.75\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c3\"\u003e \u003cp\u003e2\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c4\"\u003e \u003cp\u003e\u0026lt;\u0026thinsp;0.001\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c5\"\u003e \u003cp\u003e0.071\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eSurprise\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c2\"\u003e \u003cp\u003e53.74\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c3\"\u003e \u003cp\u003e2\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c4\"\u003e \u003cp\u003e\u0026lt;\u0026thinsp;0.001\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c5\"\u003e \u003cp\u003e0.030\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eIdentity crisis\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c2\"\u003e \u003cp\u003e51.76\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c3\"\u003e \u003cp\u003e2\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c4\"\u003e \u003cp\u003e\u0026lt;\u0026thinsp;0.001\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c5\"\u003e \u003cp\u003e0.030\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003c/tbody\u003e \u003c/colgroup\u003e \u003c/table\u003e\u003c/div\u003e \u003c/p\u003e \u003cp\u003e \u003cb\u003ePlatform sentiment comparison.\u003c/b\u003e One-way ANOVA revealed significant differences in VADER compound scores across platforms (F\u0026thinsp;=\u0026thinsp;128.94, p\u0026thinsp;\u0026lt;\u0026thinsp;0.001, η\u0026sup2; = 0.004). Despite statistical significance, the small effect size indicates minimal practical difference. Tukey HSD post-hoc tests confirmed all pairwise differences were significant (p\u0026thinsp;\u0026lt;\u0026thinsp;0.001).\u003c/p\u003e \u003cp\u003e \u003cb\u003eSentiment by reaction type.\u003c/b\u003e Because reaction categories are affect-labeled constructs, these comparisons are interpreted as construct validation rather than independent hypothesis tests. Independent samples t-tests compared sentiment scores between posts with and without each reaction type (Table\u0026nbsp;11). Excitement showed the largest effect (t\u0026thinsp;=\u0026thinsp;\u0026minus;\u0026thinsp;69.01, p\u0026thinsp;\u0026lt;\u0026thinsp;0.001, Cohen's d\u0026thinsp;=\u0026thinsp;0.98), confirming that this keyword-based label aligns with independently measured positive sentiment. Identity crisis was the only reaction not significantly associated with sentiment (t\u0026thinsp;=\u0026thinsp;0.67, p\u0026thinsp;=\u0026thinsp;0.505, d\u0026thinsp;=\u0026thinsp;0.02), indicating that identity disruption reflects emotionally complex discourse not captured by unidimensional sentiment polarity.\u003cbr\u003e\u003cb\u003eTable\u0026nbsp;11.\u003c/b\u003e T-tests comparing sentiment scores by reaction presence.\u003c/p\u003e \u003cp\u003e \u003cdiv class=\"gridtable\"\u003e\u003ctable float=\"No\" id=\"Tabb\" border=\"1\"\u003e \u003ccolgroup cols=\"6\"\u003e \u003cdiv align=\"left\" class=\"colspec\" colname=\"c1\" colnum=\"1\"\u003e\u003c/div\u003e \u003cdiv align=\"char\" char=\".\" class=\"colspec\" colname=\"c2\" colnum=\"2\"\u003e\u003c/div\u003e \u003cdiv align=\"char\" char=\".\" class=\"colspec\" colname=\"c3\" colnum=\"3\"\u003e\u003c/div\u003e \u003cdiv align=\"char\" char=\".\" class=\"colspec\" colname=\"c4\" colnum=\"4\"\u003e\u003c/div\u003e \u003cdiv align=\"char\" char=\".\" class=\"colspec\" colname=\"c5\" colnum=\"5\"\u003e\u003c/div\u003e \u003cdiv align=\"char\" char=\".\" class=\"colspec\" colname=\"c6\" colnum=\"6\"\u003e\u003c/div\u003e \u003cthead\u003e \u003ctr\u003e \u003cth align=\"left\" colname=\"c1\"\u003e \u003cp\u003eReaction\u003c/p\u003e \u003c/th\u003e \u003cth align=\"left\" colname=\"c2\"\u003e \u003cp\u003eWith M (SD)\u003c/p\u003e \u003c/th\u003e \u003cth align=\"left\" colname=\"c3\"\u003e \u003cp\u003eWithout M (SD)\u003c/p\u003e \u003c/th\u003e \u003cth align=\"left\" colname=\"c4\"\u003e \u003cp\u003et\u003c/p\u003e \u003c/th\u003e \u003cth align=\"left\" colname=\"c5\"\u003e \u003cp\u003ep\u003c/p\u003e \u003c/th\u003e \u003cth align=\"left\" colname=\"c6\"\u003e \u003cp\u003ed\u003c/p\u003e \u003c/th\u003e \u003c/tr\u003e \u003c/thead\u003e \u003ctbody\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eExcitement\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c2\"\u003e \u003cp\u003e0.625 (0.472)\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c3\"\u003e \u003cp\u003e0.163 (0.470)\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c4\"\u003e \u003cp\u003e\u0026minus;69.01\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c5\"\u003e \u003cp\u003e\u0026lt;\u0026thinsp;0.001\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c6\"\u003e \u003cp\u003e0.98\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eAcceptance\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c2\"\u003e \u003cp\u003e0.339 (0.598)\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c3\"\u003e \u003cp\u003e0.192 (0.474)\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c4\"\u003e \u003cp\u003e\u0026minus;21.30\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c5\"\u003e \u003cp\u003e\u0026lt;\u0026thinsp;0.001\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c6\"\u003e \u003cp\u003e0.30\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eSurprise\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c2\"\u003e \u003cp\u003e0.257 (0.628)\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c3\"\u003e \u003cp\u003e0.203 (0.480)\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c4\"\u003e \u003cp\u003e5.91\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c5\"\u003e \u003cp\u003e\u0026lt;\u0026thinsp;0.001\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c6\"\u003e \u003cp\u003e0.11\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eDisappointment\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c2\"\u003e \u003cp\u003e0.248 (0.637)\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c3\"\u003e \u003cp\u003e0.204 (0.483)\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c4\"\u003e \u003cp\u003e\u0026minus;3.96\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c5\"\u003e \u003cp\u003e\u0026lt;\u0026thinsp;0.001\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c6\"\u003e \u003cp\u003e0.09\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eDispute\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c2\"\u003e \u003cp\u003e0.185 (0.684)\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c3\"\u003e \u003cp\u003e0.208 (0.467)\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c4\"\u003e \u003cp\u003e3.14\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c5\"\u003e \u003cp\u003e0.002\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c6\"\u003e \u003cp\u003e0.05\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eIdentity crisis\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c2\"\u003e \u003cp\u003e0.197 (0.685)\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c3\"\u003e \u003cp\u003e0.206 (0.484)\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c4\"\u003e \u003cp\u003e0.67\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c5\"\u003e \u003cp\u003e0.505\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"char\" char=\".\" colname=\"c6\"\u003e \u003cp\u003e0.02\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003c/tbody\u003e \u003c/colgroup\u003e \u003c/table\u003e\u003c/div\u003e \u003c/p\u003e \u003cp\u003e \u003cb\u003eNon-parametric sensitivity analyses.\u003c/b\u003e Kruskal-Wallis H test comparing sentiment across all reaction types was highly significant (H\u0026thinsp;=\u0026thinsp;1430.53, p\u0026thinsp;\u0026lt;\u0026thinsp;0.001, η\u0026sup2; = 0.063), indicating that reaction type explains approximately 6.3% of variance in sentiment scores.\u003c/p\u003e \u003cp\u003e \u003cb\u003eCorrelation analysis.\u003c/b\u003e Consistent with the methodological triangulation described in Section \u003cspan refid=\"Sec8\" class=\"InternalRef\"\u003e2.3\u003c/span\u003e, VADER compound and TextBlob polarity were moderately correlated (r\u0026thinsp;=\u0026thinsp;0.411, p\u0026thinsp;\u0026lt;\u0026thinsp;0.001), confirming convergent validity between the two sentiment measures (Fig.\u0026nbsp;\u003cspan refid=\"Fig5\" class=\"InternalRef\"\u003e5\u003c/span\u003e). VADER compound and TextBlob subjectivity showed a weaker association (r\u0026thinsp;=\u0026thinsp;0.189), while TextBlob polarity and subjectivity were moderately correlated (r\u0026thinsp;=\u0026thinsp;0.325), indicating that subjectivity captures a related but distinct dimension of discourse.\u003c/p\u003e \u003cp\u003e \u003c/p\u003e \u003cp\u003e \u003cb\u003ePredictive modeling.\u003c/b\u003e Logistic regression predicting dispute achieved good discriminative performance (AUC\u0026thinsp;=\u0026thinsp;0.789, SD\u0026thinsp;=\u0026thinsp;0.029, 5-fold CV; n\u0026thinsp;=\u0026thinsp;4,379) (Fig.\u0026nbsp;\u003cspan refid=\"Fig6\" class=\"InternalRef\"\u003e6\u003c/span\u003e). Text length was the strongest predictor (β\u0026thinsp;=\u0026thinsp;0.966), indicating that longer posts were more likely to contain dispute. VADER compound sentiment was negatively associated with dispute (β = \u0026minus;0.227). Number of ancestries mentioned showed a small negative effect (β = \u0026minus;0.097), while top ancestry percentage had minimal predictive value (β\u0026thinsp;=\u0026thinsp;0.010).\u003c/p\u003e \u003cp\u003e \u003c/p\u003e \u003c/div\u003e \u003cdiv id=\"Sec23\" class=\"Section2\"\u003e \u003ch2\u003e3.13 Classifier Validation\u003c/h2\u003e \u003cp\u003eManual validation on 299 annotated posts demonstrated strong performance of the keyword-based reaction classifier (Table\u0026nbsp;\u003cspan refid=\"Tab10\" class=\"InternalRef\"\u003e12\u003c/span\u003e). Macro-averaged F1 was 0.897 (precision\u0026thinsp;=\u0026thinsp;0.829, recall\u0026thinsp;=\u0026thinsp;0.978), with a mean Cohen's κ of 0.871, indicating near-perfect agreement between the keyword classifier and human judgment (Landis and Koch \u003cspan citationid=\"CR28\" class=\"CitationRef\"\u003e1977\u003c/span\u003e). Surprise achieved the highest performance (F1\u0026thinsp;=\u0026thinsp;0.953, κ\u0026thinsp;=\u0026thinsp;0.943), while dispute (F1\u0026thinsp;=\u0026thinsp;0.859, κ\u0026thinsp;=\u0026thinsp;0.819) and excitement (F1\u0026thinsp;=\u0026thinsp;0.862, κ\u0026thinsp;=\u0026thinsp;0.829) showed the lowest precision due to false positives where reaction-associated keywords appeared in non-reaction contexts. Recall was uniformly high across all categories (\u0026ge;\u0026thinsp;0.962), indicating that the classifier captures the vast majority of true reactions. Disappointment achieved perfect recall (1.000) with no false negatives. Across 1,794 reaction\u0026ndash;post evaluations, there were 313 true positives, 66 false positives, 7 false negatives, and 1,408 true negatives, yielding an overall accuracy of 95.9%.\u003c/p\u003e \u003cp\u003e \u003cdiv class=\"gridtable\"\u003e\u003ctable float=\"Yes\" id=\"Tab10\" border=\"1\"\u003e \u003ccaption language=\"En\"\u003e \u003cdiv class=\"CaptionNumber\"\u003eTable 12\u003c/div\u003e \u003cdiv class=\"CaptionContent\"\u003e \u003cp\u003eManual validation of keyword-based reaction classifier (n\u0026thinsp;=\u0026thinsp;299).\u003c/p\u003e \u003c/div\u003e \u003c/caption\u003e \u003ccolgroup cols=\"11\"\u003e \u003cdiv align=\"left\" class=\"colspec\" colname=\"c1\" colnum=\"1\"\u003e\u003c/div\u003e \u003cdiv align=\"left\" class=\"colspec\" colname=\"c2\" colnum=\"2\"\u003e\u003c/div\u003e \u003cdiv align=\"left\" class=\"colspec\" colname=\"c3\" colnum=\"3\"\u003e\u003c/div\u003e \u003cdiv align=\"left\" class=\"colspec\" colname=\"c4\" colnum=\"4\"\u003e\u003c/div\u003e \u003cdiv align=\"left\" class=\"colspec\" colname=\"c5\" colnum=\"5\"\u003e\u003c/div\u003e \u003cdiv align=\"left\" class=\"colspec\" colname=\"c6\" colnum=\"6\"\u003e\u003c/div\u003e \u003cdiv align=\"left\" class=\"colspec\" colname=\"c7\" colnum=\"7\"\u003e\u003c/div\u003e \u003cdiv align=\"left\" class=\"colspec\" colname=\"c8\" colnum=\"8\"\u003e\u003c/div\u003e \u003cdiv align=\"left\" class=\"colspec\" colname=\"c9\" colnum=\"9\"\u003e\u003c/div\u003e \u003cdiv align=\"left\" class=\"colspec\" colname=\"c10\" colnum=\"10\"\u003e\u003c/div\u003e \u003cdiv align=\"left\" class=\"colspec\" colname=\"c11\" colnum=\"11\"\u003e\u003c/div\u003e \u003cthead\u003e \u003ctr\u003e \u003cth align=\"left\" colname=\"c1\"\u003e \u003cp\u003eReaction\u003c/p\u003e \u003c/th\u003e \u003cth align=\"left\" colspan=\"2\" nameend=\"c3\" namest=\"c2\"\u003e \u003cp\u003eTP\u003c/p\u003e \u003c/th\u003e \u003cth align=\"left\" colspan=\"2\" nameend=\"c5\" namest=\"c4\"\u003e \u003cp\u003eFP\u003c/p\u003e \u003c/th\u003e \u003cth align=\"left\" colname=\"c6\"\u003e \u003cp\u003eFN\u003c/p\u003e \u003c/th\u003e \u003cth align=\"left\" colname=\"c7\"\u003e \u003cp\u003eTN\u003c/p\u003e \u003c/th\u003e \u003cth align=\"left\" colname=\"c8\"\u003e \u003cp\u003ePrecision\u003c/p\u003e \u003c/th\u003e \u003cth align=\"left\" colname=\"c9\"\u003e \u003cp\u003eRecall\u003c/p\u003e \u003c/th\u003e \u003cth align=\"left\" colname=\"c10\"\u003e \u003cp\u003eF1\u003c/p\u003e \u003c/th\u003e \u003cth align=\"left\" colname=\"c11\"\u003e \u003cp\u003eCohen\u0026rsquo;s κ\u003c/p\u003e \u003c/th\u003e \u003c/tr\u003e \u003c/thead\u003e \u003ctbody\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eSurprise\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colspan=\"2\" nameend=\"c3\" namest=\"c2\"\u003e \u003cp\u003e51\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colspan=\"2\" nameend=\"c5\" namest=\"c4\"\u003e \u003cp\u003e3\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c6\"\u003e \u003cp\u003e2\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c7\"\u003e \u003cp\u003e243\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c8\"\u003e \u003cp\u003e0.944\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c9\"\u003e \u003cp\u003e0.962\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c10\"\u003e \u003cp\u003e0.953\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c11\"\u003e \u003cp\u003e0.943\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eDispute\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colspan=\"2\" nameend=\"c3\" namest=\"c2\"\u003e \u003cp\u003e58\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colspan=\"2\" nameend=\"c5\" namest=\"c4\"\u003e \u003cp\u003e17\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c6\"\u003e \u003cp\u003e2\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c7\"\u003e \u003cp\u003e222\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c8\"\u003e \u003cp\u003e0.773\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c9\"\u003e \u003cp\u003e0.967\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c10\"\u003e \u003cp\u003e0.859\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c11\"\u003e \u003cp\u003e0.819\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eAcceptance\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colspan=\"2\" nameend=\"c3\" namest=\"c2\"\u003e \u003cp\u003e70\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colspan=\"2\" nameend=\"c5\" namest=\"c4\"\u003e \u003cp\u003e13\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c6\"\u003e \u003cp\u003e1\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c7\"\u003e \u003cp\u003e215\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c8\"\u003e \u003cp\u003e0.843\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c9\"\u003e \u003cp\u003e0.986\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c10\"\u003e \u003cp\u003e0.909\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c11\"\u003e \u003cp\u003e0.878\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eDisappointment\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colspan=\"2\" nameend=\"c3\" namest=\"c2\"\u003e \u003cp\u003e46\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colspan=\"2\" nameend=\"c5\" namest=\"c4\"\u003e \u003cp\u003e10\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c6\"\u003e \u003cp\u003e0\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c7\"\u003e \u003cp\u003e243\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c8\"\u003e \u003cp\u003e0.821\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c9\"\u003e \u003cp\u003e1.000\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c10\"\u003e \u003cp\u003e0.902\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c11\"\u003e \u003cp\u003e0.882\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eIdentity Crisis\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colspan=\"2\" nameend=\"c3\" namest=\"c2\"\u003e \u003cp\u003e38\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colspan=\"2\" nameend=\"c5\" namest=\"c4\"\u003e \u003cp\u003e8\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c6\"\u003e \u003cp\u003e1\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c7\"\u003e \u003cp\u003e252\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c8\"\u003e \u003cp\u003e0.826\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c9\"\u003e \u003cp\u003e0.974\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c10\"\u003e \u003cp\u003e0.894\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c11\"\u003e \u003cp\u003e0.877\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003eExcitement\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colspan=\"2\" nameend=\"c3\" namest=\"c2\"\u003e \u003cp\u003e50\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colspan=\"2\" nameend=\"c5\" namest=\"c4\"\u003e \u003cp\u003e15\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c6\"\u003e \u003cp\u003e1\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c7\"\u003e \u003cp\u003e233\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c8\"\u003e \u003cp\u003e0.769\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c9\"\u003e \u003cp\u003e0.980\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c10\"\u003e \u003cp\u003e0.862\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c11\"\u003e \u003cp\u003e0.829\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003e\u003cb\u003eMicro-average\u003c/b\u003e\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colspan=\"2\" nameend=\"c3\" namest=\"c2\"\u003e \u003cp\u003e\u003cb\u003e313\u003c/b\u003e\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colspan=\"2\" nameend=\"c5\" namest=\"c4\"\u003e \u003cp\u003e\u003cb\u003e66\u003c/b\u003e\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c6\"\u003e \u003cp\u003e\u003cb\u003e7\u003c/b\u003e\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c7\"\u003e \u003cp\u003e\u003cb\u003e1408\u003c/b\u003e\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c8\"\u003e \u003cp\u003e\u003cb\u003e0.826\u003c/b\u003e\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c9\"\u003e \u003cp\u003e\u003cb\u003e0.978\u003c/b\u003e\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c10\"\u003e \u003cp\u003e\u003cb\u003e0.896\u003c/b\u003e\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c11\"\u003e \u003cp\u003e\u003cb\u003e0.871\u003c/b\u003e\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd align=\"left\" colname=\"c1\"\u003e \u003cp\u003e\u003cb\u003eMacro-average\u003c/b\u003e\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colspan=\"2\" nameend=\"c3\" namest=\"c2\"\u003e \u003cp\u003e\u0026mdash;\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colspan=\"2\" nameend=\"c5\" namest=\"c4\"\u003e \u003cp\u003e\u0026mdash;\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c6\"\u003e \u003cp\u003e\u0026mdash;\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c7\"\u003e \u003cp\u003e\u0026mdash;\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c8\"\u003e \u003cp\u003e\u003cb\u003e0.829\u003c/b\u003e\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c9\"\u003e \u003cp\u003e\u003cb\u003e0.978\u003c/b\u003e\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c10\"\u003e \u003cp\u003e\u003cb\u003e0.897\u003c/b\u003e\u003c/p\u003e \u003c/td\u003e \u003ctd align=\"left\" colname=\"c11\"\u003e \u003cp\u003e\u003cb\u003e0.871\u003c/b\u003e\u003c/p\u003e \u003c/td\u003e \u003c/tr\u003e \u003c/tbody\u003e \u003c/colgroup\u003e \u003ctfoot\u003e \u003ctr\u003e\u003ctd colspan=\"11\"\u003e\u003cem\u003eNote.\u003c/em\u003e TP\u0026thinsp;=\u0026thinsp;true positive; FP\u0026thinsp;=\u0026thinsp;false positive; FN\u0026thinsp;=\u0026thinsp;false negative; TN\u0026thinsp;=\u0026thinsp;true negative. κ\u0026thinsp;\u0026ge;\u0026thinsp;0.81\u0026thinsp;=\u0026thinsp;near-perfect agreement (Landis and Koch \u003cspan citationid=\"CR28\" class=\"CitationRef\"\u003e1977\u003c/span\u003e).\u003c/td\u003e\u003c/tr\u003e \u003c/tfoot\u003e \u003c/table\u003e\u003c/div\u003e \u003c/p\u003e \u003c/div\u003e"},{"header":"4. Discussion","content":"\u003cp\u003eThis study provides a multi-platform computational analysis of consumer reactions to genetic ancestry testing. Analyzing 58,133 user-generated posts from Reddit, YouTube, and Google Play, we developed a six-category reaction taxonomy, quantified ancestry-specific dispute patterns, and built a predictive model for dispute expression. Our findings reveal systematic variation in how consumers discuss ancestry results across platforms and ancestry categories, with implications for understanding the social construction of genetic identity.\u003c/p\u003e \u003cdiv id=\"Sec25\" class=\"Section2\"\u003e \u003ch2\u003e4.1 Reaction Patterns and Platform Differences\u003c/h2\u003e \u003cp\u003eAcceptance (9.5%) and excitement (9.4%) were the most prevalent reactions in our corpus, followed by dispute (8.6%), surprise (5.3%), disappointment (3.6%), and identity crisis (2.3%). This pattern aligns with prior survey research documenting generally positive consumer experiences with DTC ancestry testing. Rubanovich et al. (\u003cspan citationid=\"CR20\" class=\"CitationRef\"\u003e2021\u003c/span\u003e) reported that fewer than 1% of users experienced distress from ancestry results, consistent with our finding that identity crisis\u0026mdash;the most severe reaction category\u0026mdash;occurred in only 2.3% of posts. Similarly, Stewart et al. (\u003cspan citationid=\"CR22\" class=\"CitationRef\"\u003e2018\u003c/span\u003e) concluded that DTC testing produces low levels of psychological distress at the population level, a pattern reflected in the predominance of positive reactions in our data.\u003c/p\u003e \u003cp\u003ePlatform differences emerged as a significant finding. Reddit exhibited the highest dispute rates (10.2%) and acceptance rates (12.8%), while Google Play showed elevated excitement (29.6%). These patterns likely reflect platform-specific selection biases and affordances. Reddit's pseudonymous discussion forums may encourage candid expression of skepticism and detailed engagement with results, while app store reviews attract users motivated to share strong positive or negative experiences. YouTube comments, attached to \"DNA reveal\" videos emphasizing dramatic reactions, showed intermediate patterns. These findings extend prior single-platform analyses (Yin et al. \u003cspan citationid=\"CR27\" class=\"CitationRef\"\u003e2020\u003c/span\u003e; Toussaint et al. \u003cspan citationid=\"CR23\" class=\"CitationRef\"\u003e2022\u003c/span\u003e) by demonstrating that platform context systematically shapes how consumers discuss genetic ancestry.\u003c/p\u003e \u003c/div\u003e \u003cdiv id=\"Sec26\" class=\"Section2\"\u003e \u003ch2\u003e4.2 Ancestry-Specific Dispute Patterns\u003c/h2\u003e \u003cp\u003eDispute rates varied substantially across ancestry categories, ranging from 7.5% (Chinese) to 23.5% (Turkish). This finding represents a contribution to the computational literature, which has not previously quantified ancestry-specific dispute patterns. Turkish (23.5%), Greek (19.7%), and Scandinavian (18.5%) ancestries showed the highest dispute rates, while Chinese (7.5%) and Indian (10.6%) ancestries were least frequently contested. Notably, British ancestry\u0026mdash;despite being the most frequently mentioned (n\u0026thinsp;=\u0026thinsp;621)\u0026mdash;showed a relatively low dispute rate (13.8%), indicating that mention frequency does not predict dispute likelihood.\u003c/p\u003e \u003cp\u003eThese patterns may reflect several factors. First, regional ambiguity in genetic reference panels may contribute to higher dispute rates for geographically proximate populations (e.g., Turkish, Greek, Middle Eastern). Users may question results that blur distinctions important to their identity. Second, family narratives that emphasize specific ancestries may conflict with genetic estimates that distribute ancestry across multiple categories. Third, cultural and political dimensions of ethnic identity\u0026mdash;particularly in regions with contested histories\u0026mdash;may heighten skepticism toward genetic categorization. Walajahi et al. (\u003cspan citationid=\"CR26\" class=\"CitationRef\"\u003e2019\u003c/span\u003e) documented similar concerns regarding Native American ancestry claims, noting that DTC results can conflict with tribal enrollment criteria and cultural definitions of belonging. Our quantitative findings complement this qualitative work by demonstrating that ancestry-specific dispute patterns are measurable at scale.\u003c/p\u003e \u003c/div\u003e \u003cdiv id=\"Sec27\" class=\"Section2\"\u003e \u003ch2\u003e4.3 Sentiment and Reaction Types\u003c/h2\u003e \u003cp\u003eOverall sentiment was positive (M\u0026thinsp;=\u0026thinsp;0.206), consistent with Toussaint et al.'s (\u003cspan citationid=\"CR23\" class=\"CitationRef\"\u003e2022\u003c/span\u003e) finding of \"neutral-to-positive attitudes\" in YouTube comments. Sentiment comparisons across reaction types served primarily as construct validation, confirming that keyword-based labels align with independently measured affective intensity. The large effect size for excitement (Cohen's d\u0026thinsp;=\u0026thinsp;0.98) confirms that this category captures genuinely positive discourse. The non-significant association between identity crisis and sentiment (p\u0026thinsp;=\u0026thinsp;0.505, d\u0026thinsp;=\u0026thinsp;0.02) represents a substantively meaningful exception, indicating that identity disruption involves emotionally complex states not reducible to simple valence.\u003c/p\u003e \u003cp\u003eSentiment differences across LDA topics provided more independent explanatory contrasts. Narrative-oriented topics exhibited higher mean sentiment, whereas record-focused discussions were more neutral in tone. Although effect sizes were modest (η\u0026sup2; = 0.020), this pattern indicates that emotional tone varies systematically across content-defined discussion contexts rather than being solely determined by reaction labels.\u003c/p\u003e \u003cp\u003eThe moderate correlation between VADER and TextBlob polarity (r\u0026thinsp;=\u0026thinsp;0.411) demonstrates convergent validity while suggesting these methods capture related but distinct aspects of sentiment. This finding supports methodological triangulation in computational text analysis, as different sentiment tools may emphasize different linguistic features. The weak correlation between sentiment valence and subjectivity (r\u0026thinsp;=\u0026thinsp;0.189) confirms that subjectivity represents a separate construct from polarity. The high mean subjectivity across the corpus (M\u0026thinsp;=\u0026thinsp;0.542) indicates that ancestry discussions are predominantly framed as personal, experiential narratives rather than factual or informational exchanges. This distinction is substantively relevant for understanding specific reaction types. Identity crisis posts, which showed no significant association with sentiment polarity, may nonetheless reflect highly subjective discourse in which users narrate personal experiences of disruption without expressing clearly positive or negative evaluations. Dispute posts may similarly combine negative polarity with high subjectivity, reflecting personally invested skepticism rather than detached factual criticism. Subjectivity thus provides an interpretive dimension that polarity alone cannot capture, distinguishing between personal identity negotiation and impersonal informational discourse within ancestry discussions.\u003c/p\u003e \u003c/div\u003e \u003cdiv id=\"Sec28\" class=\"Section2\"\u003e \u003ch2\u003e4.4 Self-Reported Versus Genetic Ancestry Concordance\u003c/h2\u003e \u003cp\u003eAmong posts containing both self-reported ethnicity and genetic ancestry results, concordance was 61.8%, using a lenient definition that counted any overlapping normalized ancestry category as a match. The 38.2% discordance rate should be interpreted with caution given the small sample size (n\u0026thinsp;=\u0026thinsp;170) and the nature of the measure. This figure reflects divergence between categorical labels extracted through automated text processing rather than direct evidence of experiential identity conflict or negotiation. Nonetheless, the observed discordance is consistent with theoretical perspectives emphasizing the socially constructed nature of ethnic identity (Morning \u003cspan citationid=\"CR13\" class=\"CitationRef\"\u003e2011\u003c/span\u003e) and with qualitative findings that consumers selectively incorporate genetic results into pre-existing identity narratives (Roth and Ivemark \u003cspan citationid=\"CR19\" class=\"CitationRef\"\u003e2018\u003c/span\u003e). Roth and Ivemark (\u003cspan citationid=\"CR19\" class=\"CitationRef\"\u003e2018\u003c/span\u003e) found that white respondents often embraced unexpected ancestries while nonwhite respondents maintained existing identifications; our concordance analysis provides preliminary, descriptive evidence that genetic results frequently diverge from self-identification in online discourse, though the extent to which this divergence reflects active identity negotiation cannot be determined from text data alone.\u003c/p\u003e \u003c/div\u003e \u003cdiv id=\"Sec29\" class=\"Section2\"\u003e \u003ch2\u003e4.5 Predictors of Dispute Expression\u003c/h2\u003e \u003cp\u003eOur logistic regression model achieved good discriminative performance (AUC\u0026thinsp;=\u0026thinsp;0.79), identifying text length as the dominant predictor of dispute expression (β\u0026thinsp;=\u0026thinsp;0.966). Text length is a structurally powerful predictor in most text classification tasks, and its dominance here likely reflects in part an opportunity effect: longer posts contain more words and thus more chances to include dispute keywords. However, the strength of the association also suggests a substantive component, as users questioning their results may tend to write longer posts explaining their skepticism, providing family history, or detailing discrepancies across testing companies. These explanations are not mutually exclusive, and the present model cannot distinguish between them. Negative sentiment also predicted dispute (β = \u0026minus;0.227), confirming the intuitive association between skepticism and negative affect. The small negative effect of number of ancestries mentioned (β = \u0026minus;0.097) may indicate that users with more complex results focus on interpretation rather than dispute, or that dispute tends to center on specific contested ancestries rather than overall result complexity.\u003c/p\u003e \u003cp\u003e \u003cb\u003eThis model is intended primarily for prediction rather than for causal explanation of why users dispute their results. The dominance of text length and the limited feature set constrain the model's utility for understanding underlying motivations for dispute. Nonetheless, the model demonstrates that dispute expression has identifiable textual signatures amenable to computational detection. Any practical application, such as flagging posts for genetic counseling support or monitoring platform discourse, would require validation with richer feature sets and human review.4.6 Theoretical Implications\u003c/b\u003e \u003c/p\u003e \u003cp\u003eOur findings contribute to theoretical understanding of genetic ancestry as a socially negotiated phenomenon. The substantial variation in dispute rates across ancestry categories demonstrates that genetic results are not passively received but actively evaluated against cultural expectations, family narratives, and identity commitments. This supports constructivist perspectives on genetic identity (Roth and Ivemark \u003cspan citationid=\"CR19\" class=\"CitationRef\"\u003e2018\u003c/span\u003e; Lang and Winkler \u003cspan citationid=\"CR10\" class=\"CitationRef\"\u003e2021\u003c/span\u003e) while providing quantitative evidence that the intensity of identity negotiation varies systematically by ancestry category.\u003c/p\u003e \u003cp\u003ePlatform differences in reaction patterns highlight the role of communicative context in shaping how genetic information is discussed. The distinct reaction profiles across Reddit, YouTube, and Google Play suggest that platform affordances\u0026mdash;anonymity, audience, content format\u0026mdash;influence not only whether users share ancestry experiences but how they frame those experiences emotionally and cognitively. This finding extends media studies perspectives to the domain of consumer genomics, suggesting that understanding public engagement with genetic information requires attention to the platforms mediating that engagement.\u003c/p\u003e \u003c/div\u003e \u003cdiv id=\"Sec30\" class=\"Section2\"\u003e \u003ch2\u003e4.7 Practical Implications\u003c/h2\u003e \u003cp\u003eOur findings have several practical implications. For DTC genetic testing companies, the ancestry-specific dispute patterns suggest that certain results may benefit from enhanced explanation or contextualization. Ancestries with high dispute rates (Turkish, Greek, Middle Eastern) might warrant additional information about reference panel composition, regional genetic overlap, or the distinction between genetic ancestry and ethnic identity. Companies might also monitor platform-specific discourse to understand how their results are received across different user communities.\u003c/p\u003e \u003cp\u003eFor genetic counselors, our reaction taxonomy provides a framework for anticipating consumer responses. The predominance of acceptance and excitement suggests that most users have positive experiences, but the meaningful prevalence of dispute (8.6%) and identity crisis (2.3%) indicates that some users require support in interpreting results that conflict with expectations. The 38.2% discordance between self-reported and genetic ancestry highlights the frequency with which users may need guidance in reconciling genetic information with existing identity narratives.\u003c/p\u003e \u003cp\u003eFor researchers studying public engagement with genomics, our methodology demonstrates the feasibility of large-scale computational analysis of consumer discourse. The combination of reaction taxonomy, ancestry extraction, sentiment analysis, and predictive modeling provides a template for examining how genetic information is discussed in online contexts, with potential applications to health-related genetic testing, pharmacogenomics, and other domains.\u003c/p\u003e \u003c/div\u003e \u003cdiv id=\"Sec31\" class=\"Section2\"\u003e \u003ch2\u003e4.8 Limitations\u003c/h2\u003e \u003cp\u003eSeveral limitations warrant consideration. First, our reaction classification relied on keyword-based pattern matching, which may miss reactions expressed through indirect language, sarcasm, or context-dependent phrasing. Manual validation on a stratified subsample of 299 posts yielded a macro-averaged F1 of 0.897 and mean Cohen's κ of 0.871, indicating that the keyword classifier achieves near-perfect agreement with human judgment. However, precision was lower than recall (0.829 vs. 0.978), indicating a tendency toward false positives, particularly for dispute and excitement where reaction-associated keywords sometimes appeared in non-reaction contexts. This suggests that corpus-level prevalence estimates for these categories may be slightly inflated. Validation was performed by a single annotator; inter-annotator reliability with a second independent coder would further strengthen confidence in the classification scheme. Machine learning classifiers trained on annotated data might improve classification accuracy, though they would require substantial annotation effort. Second, our analysis was limited to English-language content, excluding non-English discussions that may reflect different cultural relationships to genetic ancestry. Third, the cross-sectional design precludes analysis of how reactions evolve over time as users integrate results into their identities or receive updated estimates from companies.\u003c/p\u003e \u003cp\u003eFourth, platform-specific sampling strategies may introduce selection biases. Reddit posts were drawn from ancestry-focused subreddits where engaged users congregate, YouTube comments were attached to videos selected by search queries, and Google Play reviews reflect users motivated to provide feedback. These samples may not represent the broader population of DTC ancestry testing consumers. Fifth, we could not verify the accuracy of self-reported genetic results; users may misremember, misreport, or selectively share their results. Sixth, the ancestry extraction patterns captured only a subset of posts with extractable percentages (7.5%), limiting generalizability of ancestry-specific findings. Seventh, the reaction categories used in this study represent operational discourse labels derived from keyword patterns rather than validated measures of psychological states. As a consequence, some sentiment-reaction analyses are confirmatory by design, as affect-laden labels (e.g., excitement, disappointment) are expected to align with sentiment polarity. While we have framed these comparisons as construct validation throughout the manuscript, this inherent overlap should be considered when interpreting the strength of sentiment-reaction associations. Eighth, the dominance of text length in the predictive model (β\u0026thinsp;=\u0026thinsp;0.966) suggests that the model's discriminative performance may reflect structural properties of posts, such as the increased opportunity for longer texts to contain dispute keywords, rather than underlying motivations for disputing ancestry results. This limits the explanatory value of the model and suggests that future work incorporating richer linguistic and demographic features would be needed to identify substantive predictors of dispute.\u003c/p\u003e \u003c/div\u003e \u003cdiv id=\"Sec32\" class=\"Section2\"\u003e \u003ch2\u003e4.9 Future Directions\u003c/h2\u003e \u003cp\u003eFuture research could extend this work in several directions. Longitudinal analysis of user posting histories might reveal how reactions evolve as users engage with ancestry communities over time. Multilingual analysis could examine cultural variation in ancestry interpretation across different national and linguistic contexts. Deep learning approaches to reaction classification might capture more nuanced expressions of skepticism or identity disruption. Integration of demographic data, where available, could examine how user characteristics moderate reactions to different ancestry results. Finally, comparative analysis across different types of DTC genetic testing\u0026mdash;ancestry versus health versus traits\u0026mdash;might reveal domain-specific patterns in consumer response.\u003c/p\u003e \u003c/div\u003e"},{"header":"5. Conclusion","content":"\u003cp\u003eThis study provides a multi-platform computational analysis of consumer reactions to DTC genetic ancestry testing. Analyzing 58,133 posts from Reddit, YouTube, and Google Play, we developed a six-category reaction taxonomy, quantified ancestry-specific dispute patterns, and built a predictive model for dispute expression. Our findings reveal that while most consumers express positive reactions (acceptance, excitement), dispute occurs in 8.6% of posts and varies substantially by ancestry category\u0026mdash;with Turkish (23.5%), Greek (19.7%), and Scandinavian (18.5%) ancestries most frequently contested. Platform differences in reaction patterns highlight how communicative context shapes engagement with genetic information. The 38.2% discordance between self-reported and genetic ancestry quantifies the frequency with which genetic results diverge from social identity, while our predictive model (AUC\u0026thinsp;=\u0026thinsp;0.79) identifies text length and negative sentiment as key predictors of dispute.\u003c/p\u003e \u003cp\u003eThese findings illustrate how ancestry results are discussed across different online platforms. As genetic ancestry testing continues to grow, computational methods offer valuable tools for understanding public discourse at scale, complementing survey and interview approaches with breadth and ecological validity.\u003c/p\u003e "},{"header":"Declarations","content":"\u003ch2\u003eConflict of Interest:\u003c/h2\u003e\n\u003cp\u003eSara Behnamian declares that she has no conflict of interest.\u003c/p\u003e\n\u003ch2\u003eEthics Statement\u003c/h2\u003e\n\u003cp\u003eThis article does not contain any studies with human or animal subjects performed by any of the authors. All data were collected from publicly available online platforms (Reddit, YouTube, Google Play) where users voluntarily posted content. No personally identifiable information was collected or analyzed.\u003c/p\u003e\n\u003ch2\u003eFunding:\u003c/h2\u003e\n\u003cp\u003eThis research received no specific grant from any funding agency in the public, commercial, or not-for-profit sectors.\u003c/p\u003e\n\u003ch2\u003eAuthor Contribution\u003c/h2\u003e\n\u003cp\u003eSara Behnamian conceived and designed the study, collected and analyzed the data, and wrote the manuscript.\u003c/p\u003e\n\u003ch2\u003eData Availability\u003c/h2\u003e\n\u003cp\u003eRaw text data cannot be redistributed due to the terms of service of the source platforms (Reddit, YouTube, Google Play). Post identifiers enabling independent data re-collection, all analysis code, keyword lexicons for reaction classification, ethnicity normalization mappings, and regular expression patterns are available at [https://github.com/sarabehnamian/ancestry_nlp] . Aggregated results are available from the corresponding author on reasonable request.\u003c/p\u003e"},{"header":"References","content":"\u003col\u003e\n\u003cli\u003eBecker J, Abrams LJ, Weil J, Youngblom J (2024) Experiences of individuals receiving \u0026quot;Not Parent Expected\u0026quot; results through direct-to-consumer genetic testing. Journal of Genetic Counseling. Advance online publication. https://doi.org/10.1002/jgc4.1977\u003c/li\u003e\n\u003cli\u003eBlei DM, Ng AY, Jordan MI (2003) Latent Dirichlet allocation. Journal of Machine Learning Research 3:993-1022\u003c/li\u003e\n\u003cli\u003eCareau J, Larmuseau MHD, Drumsta R, Whitley R (2025) \u0026quot;I\u0026apos;m trying to figure out who the hell I am\u0026quot;: Examining the psychosocial and mental health experience of individuals learning \u0026quot;Not Parent Expected\u0026quot; news from a direct-to-consumer DNA ancestry test. BMC Psychiatry 25(1):9. https://doi.org/10.1186/s12888-024-06380-0\u003c/li\u003e\n\u003cli\u003eCohen J (1988) Statistical Power Analysis for the Behavioral Sciences, 2nd ed. Lawrence Erlbaum Associates, Hillsdale, NJ. ISBN: 0-8058-0283-5\u003c/li\u003e\n\u003cli\u003eGrethel M, Lewis J, Freeman R, Stone C (2022) Discovery of unexpected paternity after direct-to-consumer DNA testing and its impact on identity. Family Relations 72(4):2022-2038. https://doi.org/10.1111/fare.12752\u003c/li\u003e\n\u003cli\u003eGrethel M, Ross L, Obadia J, Freeman R (2024) Disclosure dilemma: Revealing biological paternity to family and others after unexpected direct-to-consumer genetic results. Family Relations. Advance online publication. https://doi.org/10.1111/fare.13088\u003c/li\u003e\n\u003cli\u003eHarris A, Wyatt S, Kelly SE (2013) The gift of spit (and the obligation to return it): How consumers of online genetic testing services participate in research. Information, Communication \u0026amp; Society 16(2):236-257. https://doi.org/10.1080/1369118X.2012.701656\u003c/li\u003e\n\u003cli\u003eHutto CJ, Gilbert E (2014) VADER: A parsimonious rule-based model for sentiment analysis of social media text. Proceedings of the Eighth International AAAI Conference on Weblogs and Social Media, pp 216-225\u003c/li\u003e\n\u003cli\u003eKruskal WH, Wallis WA (1952) Use of ranks in one-criterion variance analysis. Journal of the American Statistical Association 47(260):583-621. https://doi.org/10.2307/2280779\u003c/li\u003e\n\u003cli\u003eLang A, Winkler F (2021) Co-constructing ancestry through direct-to-consumer genetic testing: Challenges and implications. TATuP - Zeitschrift f\u0026uuml;r Technikfolgenabsch\u0026auml;tzung in Theorie und Praxis 30(2):30-35. https://doi.org/10.14512/tatup.30.2.30\u003c/li\u003e\n\u003cli\u003eLoria S (2018) TextBlob: Simplified Text Processing. Software available at: https://textblob.readthedocs.io/\u003c/li\u003e\n\u003cli\u003eMann HB, Whitney DR (1947) On a test of whether one of two random variables is stochastically larger than the other. Annals of Mathematical Statistics 18(1):50-60. https://doi.org/10.1214/aoms/1177730491\u003c/li\u003e\n\u003cli\u003eMorning A (2011) The Nature of Race: How Scientists Think and Teach about Human Difference. University of California Press, Berkeley. ISBN: 9780520270312\u003c/li\u003e\n\u003cli\u003ePedregosa F, Varoquaux G, Gramfort A, Michel V, Thirion B, Grisel O, Blondel M, Prettenhofer P, Weiss R, Dubourg V, Vanderplas J, Passos A, Cournapeau D, Brucher M, Perrot M, Duchesnay E (2011) Scikit-learn: Machine learning in Python. Journal of Machine Learning Research 12:2825-2830\u003c/li\u003e\n\u003cli\u003ePhillips AM (2016) Only a click away\u0026mdash;DTC genetics for ancestry, health, love\u0026hellip; and more: A view of the business and regulatory landscape. Applied \u0026amp; Translational Genomics 8:16-22. https://doi.org/10.1016/j.atg.2016.01.008\u003c/li\u003e\n\u003cli\u003eRegalado A (2019) More than 26 million people have taken an at-home ancestry test. MIT Technology Review, February 11, 2019. https://www.technologyreview.com/2019/02/11/103446/more-than-26-million-people-have-taken-an-at-home-ancestry-test/\u003c/li\u003e\n\u003cli\u003eRoberts JS, Gornick MC, Carere DA, Uhlmann WR, Ruffin MT, Green RC (2017) Direct-to-consumer genetic testing: User motivations, decision making, and perceived utility of results. Public Health Genomics 20(1):36-45. https://doi.org/10.1159/000455006\u003c/li\u003e\n\u003cli\u003eRoberts JS, Ostergren J (2013) Direct-to-consumer genetic testing and personal genomics services: A review of recent empirical studies. Current Genetic Medicine Reports 1(3):182-200. https://doi.org/10.1007/s40142-013-0018-2\u003c/li\u003e\n\u003cli\u003eRoth WD, Ivemark B (2018) Genetic options: The impact of genetic ancestry testing on consumers\u0026apos; racial and ethnic identities. American Journal of Sociology 124(1):150-184. https://doi.org/10.1086/697487\u003c/li\u003e\n\u003cli\u003eRubanovich CK, Taitingfong R, Triplett C, Libiger O, Schork NJ, Wagner JK, Bloss CS (2021) Impacts of personal DNA ancestry testing. Journal of Community Genetics 12(1):37-52. https://doi.org/10.1007/s12687-020-00481-5\u003c/li\u003e\n\u003cli\u003eSchuman O, Beit C, Robinson JO, Bash Brooks W, McGuire AL, Guerrini C (2024) \u0026quot;The truth should not be hidden\u0026quot;: Experiences and recommendations of individuals making NPE discoveries through genetic genealogy databases. Genetics in Medicine 26(10):101210. https://doi.org/10.1016/j.gim.2024.101210\u003c/li\u003e\n\u003cli\u003eStewart KFJ, Wesselius A, Schreurs MAC, Schols AMWJ, Zeegers MP (2018) Behavioural changes, sharing behaviour and psychological responses after receiving direct-to-consumer genetic test results: A systematic review and meta-analysis. Journal of Community Genetics 9(1):1-18. https://doi.org/10.1007/s12687-017-0310-z\u003c/li\u003e\n\u003cli\u003eToussaint PA, Renner M, Lins S, Thiebes S, Sunyaev A (2022) Direct-to-consumer genetic testing on social media: Topic modeling and sentiment analysis of YouTube users\u0026apos; comments. JMIR Infodemiology 2(2):e38749. https://doi.org/10.2196/38749\u003c/li\u003e\n\u003cli\u003eTukey JW (1949) Comparing individual means in the analysis of variance. Biometrics 5(2):99-114\u003c/li\u003e\n\u003cli\u003eVirtanen P, Gommers R, Oliphant TE, Haberland M, Reddy T, Cournapeau D, Burovski E, Peterson P, Weckesser W, Bright J, van der Walt SJ, Brett M, Wilson J, Millman KJ, Mayorov N, Nelson ARJ, Jones E, Kern R, Larson E, Carey CJ, Polat İ, Feng Y, Moore EW, VanderPlas J, Laxalde D, Perktold J, Cimrman R, Henriksen I, Quintero EA, Harris CR, Archibald AM, Ribeiro AH, Pedregosa F, van Mulbregt P, SciPy 1.0 Contributors (2020) SciPy 1.0: Fundamental algorithms for scientific computing in Python. Nature Methods 17:261-272. https://doi.org/10.1038/s41592-019-0686-2\u003c/li\u003e\n\u003cli\u003eWalajahi H, Wilson DR, Hull SC (2019) Constructing identities: The implications of DTC ancestry testing for tribal communities. Genetics in Medicine 21(8):1744-1750. https://doi.org/10.1038/s41436-018-0429-2\u003c/li\u003e\n\u003cli\u003eYin Z, Song L, Clayton EW, Malin BA (2020) Health and kinship matter: Learning about direct-to-consumer genetic testing user experiences via online discussions. PLoS ONE 15(9):e0238644. https://doi.org/10.1371/journal.pone.0238644\u003c/li\u003e\n\u003cli\u003eLandis JR, Koch GG (1977) The measurement of observer agreement for categorical data. Biometrics 33(1):159\u0026ndash;174. https://doi.org/10.2307/2529310 \u003c/li\u003e\n\u003c/ol\u003e"}],"fulltextSource":"","fullText":"","funders":[],"hasAdminPriorityOnWorkflow":false,"hasManuscriptDocX":true,"hasOptedInToPreprint":true,"hasPassedJournalQc":"","hasAnyPriority":false,"hideJournal":false,"highlight":"","institution":"","isAcceptedByJournal":false,"isAuthorSuppliedPdf":false,"isDeskRejected":"","isHiddenFromSearch":false,"isInQc":false,"isInWorkflow":false,"isPdf":false,"isPdfUpToDate":true,"isWithdrawnOrRetracted":false,"journal":{"display":true,"email":"
[email protected]","identity":"journal-of-community-genetics","isNatureJournal":false,"hasQc":true,"allowDirectSubmit":false,"externalIdentity":"jocg","sideBox":"Learn more about [Journal of Community Genetics](http://link.springer.com/journal/12685)","snPcode":"12687","submissionUrl":"https://submission.nature.com/new-submission/12687/3","title":"Journal of Community Genetics","twitterHandle":"","acdcEnabled":true,"dfaEnabled":true,"editorialSystem":"em","reportingPortfolio":"Springer Hybrid","inReviewEnabled":true,"inReviewRevisionsEnabled":false},"keywords":"direct-to-consumer genetic testing, ancestry testing, natural language processing, sentiment analysis, consumer genomics, social media analysis","lastPublishedDoi":"10.21203/rs.3.rs-8336080/v1","lastPublishedDoiUrl":"https://doi.org/10.21203/rs.3.rs-8336080/v1","license":{"name":"CC BY 4.0","url":"https://creativecommons.org/licenses/by/4.0/"},"manuscriptAbstract":"\u003cp\u003eDirect-to-consumer (DTC) genetic ancestry testing has grown rapidly, yet computational analysis of consumer reactions remains limited. This study presents a cross-platform computational analysis of consumer reactions to ancestry testing across 58,133 posts from Reddit, YouTube, and Google Play. We developed a six-category reaction taxonomy (acceptance, excitement, dispute, surprise, disappointment, identity crisis) and applied natural language processing methods including sentiment analysis, topic modeling, and predictive modeling. Results revealed that acceptance (9.5%) and excitement (9.4%) were most prevalent, followed by dispute (8.6%). Platform differences emerged: Reddit showed highest dispute rates (10.2%), while Google Play exhibited elevated excitement (29.6%). Dispute rates varied substantially by ancestry, with Turkish (23.5%), Greek (19.7%), and Scandinavian (18.5%) ancestries most frequently contested. Among posts containing both self-reported ethnicity and genetic results, concordance was 61.8%, quantifying the discrepancy between social and genetic definitions of ancestry. A logistic regression model predicting dispute expression achieved AUC\u0026thinsp;=\u0026thinsp;0.79, identifying text length and negative sentiment as key predictors. These findings advance understanding of how consumers engage with genetic ancestry information online, with implications for DTC companies, genetic counselors, and researchers studying the social dimensions of consumer genomics.\u003c/p\u003e","manuscriptTitle":"Disputing Your Roots: A Multi-Platform Computational Analysis of Consumer Reactions to Genetic Ancestry Testing","msid":"","msnumber":"","nonDraftVersions":[{"code":1,"date":"2026-03-31 14:57:04","doi":"10.21203/rs.3.rs-8336080/v1","editorialEvents":[{"type":"communityComments","content":0},{"type":"reviewersInvited","content":"","date":"2026-02-24T15:21:57+00:00","index":"","fulltext":""},{"type":"checksComplete","content":"","date":"2026-02-20T12:27:11+00:00","index":"","fulltext":""},{"type":"submitted","content":"Journal of Community Genetics","date":"2026-02-14T22:10:24+00:00","index":"","fulltext":""}],"status":"published","journal":{"display":true,"email":"
[email protected]","identity":"journal-of-community-genetics","isNatureJournal":false,"hasQc":true,"allowDirectSubmit":false,"externalIdentity":"jocg","sideBox":"Learn more about [Journal of Community Genetics](http://link.springer.com/journal/12685)","snPcode":"12687","submissionUrl":"https://submission.nature.com/new-submission/12687/3","title":"Journal of Community Genetics","twitterHandle":"","acdcEnabled":true,"dfaEnabled":true,"editorialSystem":"em","reportingPortfolio":"Springer Hybrid","inReviewEnabled":true,"inReviewRevisionsEnabled":false}}],"origin":"","ownerIdentity":"ded164aa-5db3-456c-957a-65c384caaa98","owner":[],"postedDate":"March 31st, 2026","published":true,"recentEditorialEvents":[],"rejectedJournal":[],"revision":"","amendment":"","status":"under-review","subjectAreas":[],"tags":[],"updatedAt":"2026-03-31T14:57:04+00:00","versionOfRecord":[],"versionCreatedAt":"2026-03-31 14:57:04","video":"","vorDoi":"","vorDoiUrl":"","workflowStages":[]},"version":"v1","identity":"rs-8336080","journalConfig":"researchsquare"},"__N_SSP":true},"page":"/article/[identity]/[[...version]]","query":{"redirect":"/article/rs-8336080","identity":"rs-8336080","version":["v1"]},"buildId":"XKTyCvWXoU3ODBz1xrDgd","isFallback":false,"isExperimentalCompile":false,"dynamicIds":[84888],"gssp":true,"scriptLoader":[]}
Text is read by the "Ask this paper" AI Q&A widget below.
Extraction quality varies by source — PMC NXML preserves structure
cleanly, OA-HTML may include some navigation residue, and OA-PDF can
have broken hyphenation. The publisher copy
(via DOI)
is the canonical version.