Project Hyperion Part I
His future doom which is but to awake.
-Keats, On Death
Dedication: To an individual differences psychologist who lectured and tutored me all those years ago and who has remained a beloved friend [he had no knowledge of these experiments and may well disapprove. I can just about guarantee he’ll be cranky I didn’t use Eysenck’s PEN model.]. And to Nikolai Fedorovich Fedorov, you sad beautiful man.
I’ve been playing around with reconstructing a person through their textual output.
My plan is to put a modest floor on a question that has always fascinated me. In principle how much of a person is recoverable from their writing? In Dan Simmons’s Hyperion one of the characters is John Keats- psychologically cloned from his writing by advanced superintelligences. The conceit is that through unbelievably subtle features of his writing, even things like childhood memories leak through. Obviously, this is not achievable with current language classifiers or large language models, but it would be fascinating to see how much of the soul is on the page. I don’t know, obviously. My guess is that for someone with a substantial corpus of writing, and a DNA code available, at technological maximum we could probably reconstruct their psyche to a high degree of accuracy in most domains except memory. The jury is still out on whether specific memories leak through accurately enough to be detected by an unimaginably sophisticated psychological model.
Because I don’t have a matrioshka brain running a reconstruction on billions of converging sources of evidence against a human and period prior, I’ll have to make do with simpler methodologies. As I said, my goal is merely to put the crudest floor imaginable on the question how much of the person is in the text. The ceiling is currently unknowable.
Methodology
Consider a set of one hundred thousand authors on Reddit that a language classifier called LUAR is being trained on. It’s given some new writing by one of the authors and asked to identify who wrote it. 65% of the time the true author will be in its top eight guesses. Writing, even on benign topics, contains vast information about who someone is.
But maybe it’s boring information. If I have a picture of your fingerprint I have vast identifying information about you. Barring some forms of quackery, your fingerprint tells me approximately zero about who you are as a person.
But if I could use the information output by LUAR to guess something about you, say what subreddits you post on, even when the text I used to guess is gathered from your activity outside of that subreddit, I know something about who you are. I know something that reflects on your personality, affiliations and/or history. Exactly what it is telling us is a bit of a mystery, but something about you is revealed.
LUAR works by scoring authors on 512 “dimensions” (unfortunately without straightforward human interpretations) in a vast high dimensional style space. LUAR was used in all studies, including the Reddit studies below, it generally focuses on style. There’s also a semantic embedder called all-MiniLM-L6-v2 which outputs a more semantic, rather than style based, set of 384 dimensions. The semantic embedder was used for the Gutenberg study of Victorian authors, but not for Reddit, since topic concern was more of a leakage here (“I was raised by narcissists”, “I obsessively wash my hands” etc.)
Reconstructing personality using Project Gutenburg
- The final temptation is the highest treason, to do the right thing but for the wrong reason, T.S. Eliot, Murder in the Cathedral
I tried to reconstruct personality in a corpus of N=199 born1830-1880 English authors, targeted to have 12 books each on Gutenberg press (a few had less due to duplicates, but we only realised after we’d locked in). 15 passages from each book were picked at random. Our instruments here were not just LUAR, but SEM as well. Now there are numerous datasets that contain reconstructed information about the personality psychology and mental illnesses of dead authors but none of them are public. I really do hope we can leave this sort of thing in the 20th century. If you have an extremely valuable dataset like a richly labelled set of historical figures rated by numerous experts, you should make it public. but I’ll get off my soapbox. Anyway, I used an instance of Opus 4.8 with no knowledge of our project to assign estimated HEXACO scores for these authors. Reliability was sky high (~0.98, reliability doesn’t mean right it means the estimate is stable over runs). Face validity was good; all of the scores were eminently defensible in relation to the authors I know a thing or two about. The one exception I spotted was Phillpotts, given a HH score of the 59th percentile; Phillpotts allegedly abused his daughter. Why the miss? I suspect it’s because this information came out late, after the biographical consensus had formed.
Personally, I think language models are likely to be quite good at a wisdom of the crowds’ style assessment of someone’s personality based on surviving information. You’re basically summing over the consensus view since it was in their training data. That’s what we ideally wanted here, to match the estimate a typical literary historian filled in on the relevant psychological concepts would give. That doesn’t mean the consensus view is right, but I don’t expect an LLM’s view would be all that different from a typical person who has read a biography or two of the subjects. If you disagree, view this as purely exploratory.
The obvious objection- if your criterion measure is biographic consensus distilled by an LLM, then we already have the damn biographies, what are you even proving by trying to match those scores with features from the prose? Firstly, we don’t have biographies for everyone. Secondly and more importantly the motivating theory of this study is that if crude methods can recover a lot, the unimaginably powerful methods of the future can probably capture much more. LLM ratings v our crude methods is intended to support a promissory note that there’s probably a lot about the author within each text.
We achieved strong results with LUAR and SEM, using ridge regression on ten held out folds:
You’ll notice two things in that table. The first is “obs” v “true” %. This represents disattenuation for measurement unreliability, effectively (obs%)/(joint rel). This is a statistical correction which adjusts for the fact that we have measured with a limited amount of data. There’s some instability in our Claude author ratings, but what is really unstable is our mean embeddings- even after 100+ passages. This is because the embeddings of individual passages don’t correlate strongly. If I’d taken the time to include more works and passages there would have been a notable improvement, but I am limited in my access to compute.
The second is facet mean target v domain mean target. Notice that our scores get a lot better for a weakly measured traits (H, A, C) when we target the mean of the facets rather than the domain score, what does this mean? Well, HEXACO is calculated as the mean of facets- each of the 6 traits has four subfacets. In the mainline experiment, I had our regression model target trait scores, generated by having Claude rate the trait. In a secondary experiment with better results, I got scores for each facet generated through Claude and then defined the target of the regression as the mean of facets. This led to substantially better results for some traits. It’s unsurprising frankly- there is already a literature suggesting that this kind of aggregation of subscores out performs first order results, although we did slip somewhat for emotionality. See Appendix I for our performance predicting every individual trait rating from Claude using writing alone. There’s a clear pattern- the more you would expect something to be manifest in writing, the better we predict it.
Our results generally survived a genre control, although with some losses, here’s what we have after a genre control using incremental validity (not disattenuated):
Whether or not genre control is legitimate, or overcontrolling for a mediator is debatable. Control for genre was by a five-component model of genre inferred from Gutenberg tags. For technical reasons our genre control may well over state the power of genre, due to steps I took to avoid leakage exaggerating the strength of our results. On the other hand, it may understate the influence of genre due to our reduction of genre to a five-component model. Frankly I wasn’t delighted by how I handled genre- it’s difficult to balance how much information to include on both philosophical and statistical grounds, and if I had unlimited time before publication, it’s probably what I would have worked on more. On one hand, Gutenberg’s own labels aren’t ideal and a better set of labels would capture even more variance. On the other hand chosen genre itself is arguably a legitimate window into the psyche, and if you include unlimited information on micro-genre you’re undercutting the variance of the writing in a way that arguably amounts to statistical overcontrol. A later investigation of the moral traits suggested that there was a strong involvement of genre, but in a subtle way Gutenburg tags would likely miss. However, at a certain point, subtle genre features just are writing. There is, I think, no clean, philosophically and psychologically innocent set of control variables here.
Date of birth was our control variable. We predicted it well (36.9% with disattenuation for author centroid uncertainty), but worse than most of our personality traits.
In the interests of completeness, I must disclose that there were some weak results investigating the same topic using Reddit samples [there’s a cruel, very 2026 internet joke here: we couldn’t detect personality on Reddit]. Why? I don’t know. My guess is that this might be something you need enormous volumes of high-quality text for (12x15x99 words, almost 20,000 in total, per 19th century author). Average for redditors was almost 2500 words, but more damning, the median comment was 21 words long- perhaps not enough space for the self to shine. Also, frankly, I think self-labelled MBTI personality on a subreddit is worse than our measure, although I know many will recoil at the idea of trusting an LLM’s personality assessments. It certainly doesn’t help that MBTI traits are ill conceived, wrongly categorical rather than dimensional, and that even the real one, extroversion-introversion is poorly measured in comparison to a proper HEXACO or OCEAN instrument. MBTI is the classic case of people seeking to be unique and marketable by having a type. But what makes us unique is that we don’t have types.
The danger is that we’re matching the author scores for the wrong reason- viz that the author’s output is overweighted by the model in scoring their personality. I don’t think the bias is unique to LLMs, it rather reflects a bias in how everyone thinks about the personality of writers. There’s a public database where people assign personality traits to authors and other celebrities, when I inspected it, absurdities included a claim that H.G. Wells and Bram Stoker were introverts, simply unsustainable against their biography, but all too explicable against the false prior writing with psychological depth and interiority=introvert [the conflation of introversion with what is fundamentally openness to experience is common and bizarre]. Notably Claude did not make these errors.
The LLM that gave trait ratings has read all these works at some point. So have the human biographers informing its assessments. So, we have a tendency to rewrite our assessments of people’s personalities based on their production. And vice-versa, we rewrite our understanding of art to match what we learn about people from their behaviour. The 68% of disattenuated variance in emotionality explained is especially suspicious. It corresponds to ρ = 0.82 I just don’t buy that our LLM psychometrician is good enough to pick up 68% of the real variance in emotionality. I guess it’s just possible but it’s pushing it. That suggests some of what we are capturing must be unreal variance. Hence, I worry a lot of this is about a convergence between LUAR and SEM’s map of writing, and the public’s stereotype of what sort of character is revealed in each author’s prose. However, my hunch is there is something quite major here, even despite this.
I briefly tested this by asking for reasoning about honesty-humility scores and emotionality. Emotionality reasoning statements were much more likely to refer to the text than honesty-humility reasoning statements. Also, our LUAR and SEM dimensions caught less of the variance of the reasoned scores in emotionality by almost a quarter than unreasoned scores (no change for honesty-humility). I don’t know for sure why this is, but I have a dark suspicion- I think reasoning implicitly makes the model think more about autobiography than prose stereotype. This reduces performance because our method is better suited to capture the personality stereotype in the text than the person. Still, this doesn’t mean we are capturing nothing of actual personality.
How is our model classifying personality? The beautiful, terrible thing about machine learning is we don’t know. The answer may not even have a meaningful translation into human language. However, using interpretable machine learning we can maybe, just maybe, get a glimpse of what was motivating it. LISA is a model that classifies writing based on interpretable features. Unsurprisingly it did a bit worse for our task, interpretable models are less powerful precisely because they have to reduce high dimensional intangible observations into something expressible. However, if you would like to see the top characteristics for predicting each trait according to LISA, see Appendix II. I would emphasise- that it is a different model that we used for our mainline analysis, and that it is important not to overestimate how accurate the assigned labels are for what the machine is ‘really’ capturing. Interpretable machine learning is famously difficult.
Even the lowest scores we achieved- for agreeableness and honesty humility- were very strong results; among the best achieved for those traits, excluding experiments with obvious leakage problems (*). Overall, our strong results are, to say the least, both reason to be interested and reason to be sceptical. I go through Kapoor et al.’s (2024) leakage checklist in Appendix III, and we do appear to have avoided at least the obvious and dramatic forms of leakage. So why were the results so strong? A meta-analysis by Koutsoumpis et al. (2022) shows that our results, while strong, may be less spectacular than they appear. They found that text analysed by the LIWC software was far, far better at predicting personality rated by others. Hence our results, while very strong, maybe closer to incremental for third party ratings specifically.
Recovering affiliation from text on Reddit
You can interpret AUC as follows. Give a classifier two people, one from group A and one from group B. Ask it the probability that each person is from group A. AUC is the probability it will think the person from group A is more likely to be from group A than the person from group B. An AUC=0.5 is equivalent to chance, so in many ways that’s the real floor, not zero, although technically you can do worse.
For our main comparisons I took 300 people from a bunch of subreddits (plus 295 only from casual conversation and 501 from multiple tissue donation subreddits) and looked at how well I could distinguish them. For some comparisons of secondary importance I used samples as small as N=100. As I discuss below this may have suppressed certain effect sizes. Here’s the learning curve for one comparison:
All AUCs are estimates made using held out portions of the sample, using logistic regression. We split the data into fifths, trained the logistic regression on four-fifths of the data, tested it on one fifth. We then repeated the process for every fifth and worked out the AUC of the classifier. Each author’s data was a LUAR embedding, standardised and subjected to a PCA (20 dimensions). The PCA and standardisation was only calculated for the training data to prevent leakage and memorisation. The entire 5-fold procedure was repeated across multiple random splits (10 seeds) and averaged.
LUAR outputs too many dimensions relative to our sample size, threatening overfitting, a solution was needed. In the 19th century authors study I used ridge regression. In the Reddit studies instead, I took those 512 output dimensions and using PCA (Principal Component Analysis) I then reduced the number of dimensions down to 20 and built a classifier using these dimensions. The aim was to get a good AUC (area under the curve) in guessing which of two subreddits people post on.
After I’d conducted all the experiments, I realised that I was throwing away information unnecessarily. Ridge regression to deal with overfitting rather than PCA increased most contrasts by an average of 0.025. About 10% of the gap between our score and perfection in the typical case, nothing to sneeze at. However, I chose not to rerun everything 1. Because of the forking paths issue and 2. Because it would be computationally expensive. This was trivial to find. Think about this when I say the government or a well-funded corpo could beat me by a lot.
All AUC’s are with the text and sample we had available, no disattenuation.
Identifying kidney and bone marrow donors
I have a long-standing interest in altruism prediction. There are subreddits for kidney and bone marrow donors. I could distinguish r/casualconversation users from all tissue donor subreddit users in the sample AUC=0.83. This was in their posts on other subreddits only, of course. If we told these users apart based on their posts on donor subs and Casual Conversation we’d only be detecting differences in how people write on those subreddits themselves- the conventions, special vocabularies etc of those subs. I also scrubbed all posts on medical related subreddits to be sure.
Can our method tell kidney donors apart from bone marrow donors? No, not really. AUC=0.57. This low separability, in my view, justified treating these subs as part of one complex. Note that marrow had a small sample so the error bars on this comparision are relatively wide, though not enormous- about 0.06.
It may well be that part of the signal is general altruism, but it’s not all of it. Our donor sample was quite distinguishable from r/volunteer (AUC=0.81).
I was concerned about the temporal footprints for donors- that their posts may be older than the comparison, and that might telling them apart artificially easy. However, making a smaller group with only recent posters did not change the results. In general, temporal confounding does not appear to be a major issue in our data- most stuff is fairly recent.
Identifying r/raisedbynarcissists users
Can we tell the difference between r/raisedbynarcissist users and r/offmychest posters? This measure would hint, only hint, at tracking biographical information in text. RBN is of course the ‘target’ here, with OMC acting as a control with highish neuroticism and willingness to disclose. Now is this really giving us biography per se? Is it really giving us a unique “this person was, or believes they were, raised by narcissists” signal? Almost certainly not. Posting on RBN and OMC chest is as much about your broader psychology as what has happened to you, or even what you think happened to you. Even allowing that OMC is a relatively good control for RBN, this is likely much more about who the poster is than what happened to them. Still, it’s a cute comparison.
Our classifier results worked but were not strong at distinguishing light posters in each subreddit. When we used the full sample, including merely light users of RBN and OMC we got only AUC=0.64 distinguishability (using off-subreddit posts, as always).
However, LUAR could well tell the difference between heavy Off My Chest (OMC) posters on Reddit, and heavy Raised by Narcissists (RBN) posters (defined as more than 8 posts in the relevant forum) reasonably well. We achieved AUC=0.76 here.
Against the subreddit casual conversation, we were able to achieve somewhat better discrimination, All RBN users in our sample v all CC users in our sample- came out at AUC=0.78. If we used only heavy posters in each (at least eight posts per person) the gap is larger, AUC=0.81.
Identifying r/Socialism users
Now, could the same methods be applied to political surveillance? I am afraid quite possibly.
I aimed to see whether we could distinguish r/socialism users to r/casualconversation users. I was very concerned about the possibility of leakage of political statements driving the results, since I was interested in exploring a particular danger: could these methods be used for political surveillance even when someone isn’t talking about politics? Thus, I applied a heavy scrub of all politically affiliated subreddits before running the analysis. Only posts from users who frequent r/socialism or r/casualconversation posting on apolitical subs were used. I cannot guarantee there was no leakage, of course. AUC in distinguishing r/casualconversation from r/socialism users was 0.88. Light v heavy users of r/socialism didn’t matter much here, interestingly. Now I hurry to add that a lot of this is going to be demographics and subculture leaking through. However, it is an interesting and worrying result.
The distinguishability of r/socialism is not purely a political subs effect; we can split it from r/Conservative quite well at AUC=0.85.
Identifying r/OCD users, and differential diagnosis against Anxiety and Depression
We could distinguish r/OCD users from casual conversation users AUC=0.85. Is this just a generic internalising disorder subreddit signal though? Not entirely, no. OCD v depression gives AUC=0.70. OCD v anxiety gives AUC=0.68.
Good news! At some point in the future there’s probably going to be an annoying fucking nudge that pops up on your screen asking if you need help because a LUAR classifier identified that you’re high on dimensions 12, 201 and 442.
I added a small sample of r/ASPD (anti-social personality disorder) users- the arch externalising disorder (N=104). AUC here was AUC=0.63 for ASPD v depression, AUC=0.67 for ASPD v OCD, AUC=0.72 for ASPD v anxiety, AUC=0.77 for ASPD v casual conversation and AUC=0.89 for ASPD v donors. As many people post on r/ASPD without having the disorder we took steps to include only users apparently claiming to have the disorder. The strong internalising disorder signal makes sense to me. The world wants villains. It’s tempting to think of ASPD sufferers as cool-headed and cruel psychopaths, but people with ASPD are generally quite unhappy and often substance abusers. In the literature, depression and anxiety are extremely comorbid with ASPD.
A passing thought. We build walls to tell us that the suffering of destructive people doesn’t count or shouldn’t disturb us. Ultimately, though, it’s all just agony, mud and injured people injuring people. People will raise two seemingly reasonable defences of writing off people A) Compatibilist free will and B) the dismal results of rehabilitation experiments. But against A I have always responded that the issue is somewhat orthogonal to free will. If you are flagging for opprobrium disproportionately the most injured people something has gone wrong regardless of your metaphysics. Against B I have always thought that we are far from throwing our full biopsychosocial apparatus against the problem, especially as technology advances.
We can’t tell the difference between r/Melbourne and r/Sydney posters
Sydney and Melbourne are the two actual cities of Australia. They both have more than 5 million people, but the population isn’t the key thing, they both have a certain je ne sais quoi. They’re both extremely similar, though Melbourne has a certain insufferable woke vibe and Sydney has a certain insufferable yuppie prick vibe. They, of course, have pretensions to a grave rivalry. I love them both dearly.
This comparison comes up AUC=0.54, with a heavy scrub removing Australian related subs.
Whatever our model is good at, it’s not inferring very specific geography from microlinguistic quirks.
We recover gender very well
Out of curiosity, I decided to replicate the classic results on age and gender classification by language. Our results here were quite typical, AUC=0.84 with a classic corpus of bloggers. Amongst our Victorian writers we recovered it AUC=0.89.
Overall AUC matrix
Below I give the comparision of every sub for which we gathered a decent sized sample, and didn’t use too unusual a methodology for:
Note something important about our methodology here in the above table. We’ve compared people from two communities without overlap but overlap is defined here as have they posted in the other community in their last 100 comments. Thus, a Raised by Narcissists posting Redditor who posted in r/OCD but not within their last 100 posts wouldn’t be picked up. This is likely very slightly decreasing the AUCs and reducing somewhat the power of our experiment.
It is interesting and frankly concerning that OMC has an AUC with r/Depression of 0.54. A depression prevalence study on that sub would be interesting.
These results are already strong, but when you consider that these labels are noisy- that often times whether or not someone posts somewhere depends just as much as whether they stumble upon it as to whether it truly suits them- the underlying effect is likely stronger.
How much of this is just demographics? What are we really recovering?
I would just about guarantee that most of these effects would survive after controlling for age and gender if I had them. Gender and age will vary across these subreddits but not by enough to explain these results. Could sophisticated demographics explain the whole difference? Age, gender, nationality, region, race, education, major, religion, religious participation, occupation and so on? Maybe? I suspect not- having run a lot of logistic regressions in my life. The gaps just seem too big. Even the best attempts to explain personality using demographics explain a fraction of what we got in our author study. However, I can’t rule demography out as the primary cause and I certainly wouldn’t ask you to rely on my judgment, so we will have to content ourselves with saying that the extremely specific behaviour of participating on a particular subreddit is shockingly predictable from writing. That could be for profound psychological reasons, demographic leakage or a combination. Also, even if this is just all going through demography, that’s still terrifying because it suggests that the model is implicitly capturing demography.
But I do think a lot of it is demography. Take r/Coffee and r/Tea. The subs can be distingushed at AUC=0.76. There’s a psychological signal to be sure- going with what is popular in your own culture or making your own way? Likewise, bitter taste preference is [modulo usual replication worries] thought to be linked to things like dark triad traits, openness to experience, extroversion and low-autism like traits. Also, the demography of tea v coffee correlates with psychologically deep features. The model could still be finding the difference by detecting psychology even if those psychological differences casually arise from demography. Overall, though, I would chalk up our relatively good discrimination between these subs as at least consistent with the hypothesis that these results are demography driven. Coffee v tea does not seem to me to be intrinsically deep down in the soul of a person.
Outside our personality results which come with their own complexities, how much of the signal is what it looks like in the maximalist interpretation? That a person was raised by narcissists, is a socialist, is the sort of person who donates tissue or has OCD? That depends on the construct. Almost everyone who posts on those forums has OCD or at least adjacent illness or is a socialist of some sort respectively. However, I suspect the signal is more confounded for the other two. For example, I suspect most people who post on raised by narcissists had bad parents, but that a lot of other machinery is necessary to make you end up there in addition to bad parents, and their parents probably range from the notably imperfect to the staggeringly dreadful. but that is just a guess. Likewise, I suspect the majority of tissue donors might look nothing like those who post on those forums, even though almost everyone who posts on those forums is probably a tissue donor. Even for the strong categories, there are doubtless, e.g., people with OCD who do not show it in their writing and would never in a million-years post on r/OCD.
So: P(posts to subreddit) = (f ( underlying characteristic, self-conception, subreddit discovery, subcultural fit)) + (noise)
With the shape of f radically unknown.
For our 19th century anglophone authors our results are some function of:
True information given by style and content in concordance with our judge,
True information given by inferred genre in concordance with our judge,
False but LLM stereotype tracking information given by style and content,
False but LLM stereotype tracking information given by inferred genre,
True but not concurring information given by our model from both the genre and style domains. [This one will reduce the relationship]
I cannot help but emphasise that I did all of this with a modest expenditure of thought. Surely optimisation by a team of professionals- or use of a model that is built to do this rather than jerry-rigged from one only intended to fingerprint authors- would greatly improve on these results.
Or find out that I’ve accidentally committed some egregious leakage error….
How bad is this?
I’d say it’s really bad in our current situation. I mean, its great news, if very preliminary, for my desire to resurrect or behaviourally clone John Keats. However, right now, in the year 2026 you might be able to use these techniques to give some clues:
1. As to whether someone had or thinks they had abusive parents
2. As to whether someone is a socialist
3. As to whether someone is, or is likely to, donate tissue
4. As to whether someone has OCD.
The employment discrimination, privacy, legal and political crackdown risks here are staggering.
The civil liberties implications of banning private individuals from doing this are likewise staggering, I cannot in good conscience support that. Yet I cannot help but concede that the implications of leaving this on the table are terrifying. Deidentifying authors is bad enough; this may go far beyond “merely” sticking a name on a pseudonymous author to revealing the character of an author and their entanglements. The compromise is probably restrictions on doing this in a variety of contexts commercially, e.g. hiring, but that only limits the problem. I don’t know what the exact solution is. There is a movement demanding a right to cognitive privacy- e.g. the right not to have your thoughts or personality read via neurotechnology without your informed and fully uncoerced consent. Thus far it basically amounts to a call to regulate who gets put in an fMRI machine. In the limiting case what you have written on the internet, however cautious and risk averse you have been, becomes a threat to your cognitive privacy, no fMRI machine needed. Old data, subject to new analytical methods might reveal far more involuntary specificity than any contemporary brain scan could.
We artificially set prevalence rates in each comparison to 50/50. That certainly makes identifying possible OCD cases or socialists easier than in the real world where these things are rare (lower base rates makes identification harder). I guess there’s some privacy protection there. However, an employer doesn’t need to know you’re on the internalising spectrum to reject your application, they just need to be told “this guy has five times the population risk of having an internalising disorder”. Likewise, the state doesn’t need to know you have a radical belief system to knock at your door and ask some questions. These results are probably already good enough to work with for many purposes, but again if you think a hiring consultant startup, or for that matter Washington or Beijing couldn’t improve on my results massively I have a bridge to sell you.
You will probably not be surprised to learn that I used a language model to help me do this, to gather up the text, fit the model, advise on statistics etc. etc. It would have taken me, conservatively, many months to do this without an LLM, and I probably wouldn’t have bothered because I would not have thought the results would be so strong. That, I think, is what has changed. This has gone from months to a solid afternoon.
I haven’t abused this technology; I’ve just given you a warning. No private data has been published, and the US government didn’t need me to tell it this is possible. I suppose there’s a small risk that I’ve tipped off someone who is now going to work on a startup as a result of reading this blog, but I think the warning is worth the risk. However, I could have abused this technology. I could have picked, say, a living author and told you where she or he fits in this space, giving clues that go far beyond mere HEXACO scores. If I’d picked an author not many people liked, I might have even gotten away with it.
The truth is, I suspect, that a great many terrifying things have been possible for a long time, but have been held back largely because only a tenth of a percent of the population has the technical capacity to do them. Those people mostly have a lot to lose, and some broad sense of humanistic ethics. Every year the intelligence and effort required to, say, maliciously infer that some closeted celebrity is gay from their writings and plaster it over the internet falls.
What the best scientific form of this looks like:
First, of course, pre-registered analyses, using LUAR and other classifiers, with results broken down by classifier type, by comparison and by degree and method of scrubbing (obviously not necessarily trying to exhaust the combination space, that would be resource consuming).
Second, the approach would be modified not to predict sub memberships but answers to questions. “How good a job did your parents do?” “Are you an anxious person?” “Where do you sit on a 0-10 political scale?” “How much do you give to charity a year?” “Where do you live?” and so on.
How badly does non-preregistration affect us? It’s hard to know exactly where to draw the line, but there is not a secret mound of negative results. The negative results are generally reported- e.g. Sydney v Melbourne. Including SEM in the Reddit experiments was not negative per se, but I removed it because the discrimination it added wasn’t worth the complexification of the design and the leakage risk. However, my say-so is not a replacement for doing it properly.
Standing reminder: Our classifier was made to identify who authored a piece of writing, not their attributes. We have jerryrigged it to identify attributes of people, not people. This makes me suspect it could be a lot better.
While these results are strong, I would emphasise that is not the same as them being dependable. I am working alone, save but for an assistant infamous for hallucinating. This project, done with many checks but relatively quickly, spans stylometry, psychology, computer science, digital humanities, statistics and in the section below philosophy and information theory. Work in the computer science of classifiers is notorious for neglected leakages not caught by the design. I think there’s something big here, but then I would think that, wouldn’t I? Caveat lector.
Concluding thoughts
But Philosophy Bear, this is not what you’re about. What’s your real game here? What’s the insane scheme hiding behind your respectable results?
When I was younger, I read:
I weep for Adonais—he is dead!
O, weep for Adonais! though our tears
Thaw not the frost which binds so dear a head!
And I took that personally. It was the granite finality of death, and the separation of the living and the dead which always shocked me. In that shock was the first beginnings of rejection, though I did not yet know it. That rejection blossomed once I realised that information theoretic death is less certain than it appears. That compounded with a straight-line mindset I’ve always had. It always seemed unfair that Keats died at 25 in the papal states. What do we do when something is unfair? We fix it. The angel of history is trying to open his wings and resurrect the dead but a storm is blowing in from paradise? We should help angel-bro out.
If the psychological continuity theory of personal identity over time is correct, and I believe it is out best theory, it is in principle possible to resurrect the dead if you can recover the necessary information. There’s another requirement here which is that the psychological continuity through causal connection be of the right sort. However I am inclined to be permissive in this regard. I think that a teletransportation device doesn’t kill you, or rather I agree with Parfit that metaphysics aside it does not undermine what matters. Recreation in a particular way because that’s what you were like and the information has carried over seems like survival in the sense that matters ethically to me(*).
I wanted to play this One Weird Trick on evil, I wanted to turn it into good, an idea with an ancient provenance. Consider Julian of Norwich. The best gloss I can give, regarding Julian of Norwich, is that she does not seem to have been, exactly speaking, a universalist- someone who believes all will be saved. However, she also didn’t believe that anything evil was going to stand permanently, and her heart told her that anyone being in hell permanently was evil. Hence, she thought, based on a vision she had, that God was going to play some unimaginable trick, choose some possibly incomprehensible third option, which he had not yet revealed. She writes: “Sin is behovely, but all shall be well, and all shall be well, and all manner of thing shall be well.” Sin is ultimately for the best for everyone- merely an apparent evil that would be swallowed up, proven an illusion. Evil, then, is much like a Gargoyle makes a church ultimately prettier.
So, the insane dream is to, in an apparently godless universe, play a similar trick. The retrospective annihilation of evil through incorporation. The transformation of adverse experiences into the enabling condition of a future existence in a human made paradise. If John Keats hadn’t died of tuberculosis, then the John Keats we recreate in an unimaginable future wouldn’t be the same guy. Hence the evils that happened to him would not merely be outweighed but turned to his own good. To be fair I do not think this would be in the strictest sense a defeat of evil- it would only be a defeat of evil in the very limited sense that it is defeated for the exact persons living in utopia (hopefully, all persons who have ever lived, technology at technological maximum permitting). From a person independent perspective, a utopia reached with no suffering would be overall better. Thus, it is more subversion than defeat- but a subversion is something.
The truth of what a vast intelligence at technological maximum could bring about is unknown. However, I suspect if primitive methods can uncover as much information as we can, the ceiling on what can be recovered re: Keats is high (high enough? Very unclear). The greatest problem is the horrific inequity. Even if you could recreate John Keats, what about the anonymous farmers who made him his bread or the midwife who delivered him? Still, it would be nice to correct the injustices that happened to that poor fellow, even if recovery the butcher the baker and the candlestick maker from the same era is a pipe dream. And it may not be a pipe dream, the question of how much is recoverable about each person who ever lived at technological maximum is, while not encouraging, unknown. Perhaps there is a way to get at John Keat’s midwife, or Lucy on her savannah. Secret traces. If there isn’t, we must do what we can with what we have.
How difficult is the inverse problem? Consider the genuinely non-redundant information about a person of the sort that has some moral weight in deciding whether someone is really you- the core that cannot be compressed. It does include memories you muse over sometimes. It doesn’t include the sorts of things that change flippantly from day to day. Imagine it as a great string of ordered ones and zeros. Compression means no combination of 1s or 0s predicts any other, no matter how much you know about how humans work in general. The minimum description length of a soul. Various back of the envelope calculations I’ve done- doubly confounded by both normative and positive uncertainty- have suggested a figure of about 1 million bits (with limited forms of survival possible with far less than that). However, I won’t try to defend that here.
There’s about 350,000 surviving words by Keats. This amounts to about 6 million plus bits to encode. But there’s vast information also contained within his genome, accounts of him by others, his historical context [this is very very useful- it smashes the required information, gives us strong priors for his memories etc.] There are probably tens of millions of bits of useful directly relevant information available. Perhaps even hundreds. The total is going to depend on what we designate as the threshold of direct relevancy as much as anything. But alas, tens of millions of bits of information useful for reconstructing a person does not equal tens of millions of bits of non-redundant and relevant information about what a person was like. For one thing, our countless bits from JK are not compressed, 6 million bits is merely the length the corpus is currently encoded at. That information could be expressed without loss more succinctly so there’s far less there than appears. More troubling though is the fact that some facts about a person have such a faint and confounded effect on a corpus of writing that they might not show up. Some psychological bits, including ones of trivial importance, will be attested again and again, others might not traceably influence writing even if you wrote a trillion words.
But there’s a bit of good news here we might call Keats’s correlation:
The more causally central something is to someone’s behaviour, the easier it is to detect in writing, and the more central it is to whether a putative psychological continuer counts as survival.
People often respond with the reasonable objection that there could be some part of your psyche that you meditate on constantly, that shapes your identity, but that you essentially never express in behaviour, however subtly. I simply do not find this plausible. If something is guiding you or eating away at you, you will show it.
What about memory, the most difficult of our reconstructive targets? McAdams et al. (2006) ask people for ten critical memories three times, three years apart. On average 1.72 memories overlap from each set of 10 during the first and last measurement. Using standard capture/recapture techniques from biology this suggests 58 core memories per person. Chapman corrected this is 44. But the populations probably aren’t stable – their results partly reflect people reinventing their own story. Moreover, their methodology artificially restricts the number of memories that can be recalled (5 categories, max 2 per category). Also, the subjects were in their early twenties. Finally, there is likely a population of important memories which are below the top tier invoked by the study but that you’d strongly prefer not to lose. So let’s add on an order of magnitude. 500 is probably a safe cap for the average person’s total genuinely important autobiographical memories; the ones you’d cry tears of terror (or joy) to lose.
Now let’s say memories, or their genuinely autobiographically important bits anyway, are coded at a luxurious 200 compressed bits per memory. This is a magnanimous estimate given just how good compression can be and how hazy memory is. That’s 100,000 bits in total for important autobiographical memories, using figures that I don’t think anyone could call stingy. But alas, a relatively small size doesn’t guarantee recoverability.
At the end we’re faced with a sequence of great unanswerable questions:
A) How much information do you need to replicate a person? Or, if we sensibly refuse to treat this as falsely categorical, what’s the incredibly complex function from all the various types of information about a person to their degree of survival? This is a normative question in slender disguise, not a factual one. I’ve already given my guess, about a million bits with really good compression, with limited forms of survival possible with far less than that. I would put an absolute maximum bound on it though; the bits of psychology that are typically stable over a night’s sleep. We don’t die every morning.
B) What portion of the various types of information about a person- from memory to personality- are contained within the surviving information, and in what ratio between types?
C) Even if the information is in there in some sense, is it possible that the inverse problem is just too hard?
So in lieu of the vast webs of data we could construct through the unknown reasoning engines and unknown scanners of an unimaginable future, trying to solve the unimaginably difficult inverse problem of the reconstruction of the soul in the skull, I poke around at what one can achieve with a desktop computer, Gutenburg press and a Reddit comment history.
But I can at least propose the idea, make you imagine it, seed it into your dreams. Consider my proposition: if someone is, however surprisingly, not yet lost beyond saving, then we should try.
Footnotes
(*)- While writing this, I read one study which I won’t name that trained and tested on comments by the same authors. The model was effectively able to guess ‘personality’ then by reconstructing authorship. This was published in 2025 in a reasonably prestigious journal. This should not be happening.
(*)- “But what if we make ten John Keats, which one is really him”. The literature has a perfectly good answer to this in my view. If this happens there are ten people, all called John Keats which share a temporal part in 19th century John Keats. All of them are survivors from the 19th century. It’s the temporal equivalent of conjoined twins who share part but not all of a body, with some parts clearly “theirs” and other parts “shared”.
Appendix I: Facet scores for Victorian authors study
Note that no confidence intervals cross zero, better than I would have possibly hoped for. Median disattenuated variance captured per facet is 42.3%, mean 41.5%.
There is a strong negative correlation between how well we estimate trait scores from prose, and how much aggregation helps that trait, we are less good our initial measurement, the more it helps (r=-0.9, due to the effect size significant even with N=6, p=0.016)
This provides modest additional evidence for the claim that our emotionality score might be inflated by invalidity (perhaps focused on writing stereotypes) because measuring it more validly reduces the score.
How our ridge regression captured facet scores:
Appendix II
Top LISA dimensions for each trait (interpretable). Note that the LISA dimensions were run full sample. However, test train leakage is irrelevant here. We’re not trying to optimise classification or fit a regression- we’re just trying to show the descriptive lay of the land by listing first order correlates.
Honesty-Humility — no indicators of power (−0.32), not committed (−0.28), not able to think strategically (−0.28), not determined (−0.26), no strong and aggressive language (−0.25), conveys no sense of authority and confidence (−0.25), indicates no level of commitment (−0.24), not able to act with authority (−0.24).
Emotionality — elongated words (+0.60), whimsical (+0.56), expressing hope (+0.56), filler words (+0.55), metaphor to express feelings (+0.54), words expressing fulfilment (+0.54), not emphasising the importance of the information conveyed (−0.53), suggestive language (+0.52).
Extraversion — not describing the subject of the passage (−0.36), not providing detailed explanations (−0.36), not terse (−0.35), tone of exasperation (+0.34), not open to further discussion (−0.32), could not restructure sentences (−0.32), not painting a vivid picture (−0.32), strong and aggressive language (+0.31).
Agreeableness — creates a vivid image (+0.31), mindful of environment (+0.30), could improve grammar and punctuation (+0.29), expressing joy and enthusiasm (+0.29), referring to a male person or animal (+0.28), paying attention to surroundings (+0.28), words creating a vivid and engaging atmosphere (+0.28), focused on enjoyment and relaxation (+0.28).
Conscientiousness — no swear words (−0.46), no uncommon phrases (−0.46), not unable to control anger (−0.45), no cold tones (−0.40), no derogatory language (−0.40), no slang (−0.40), no distinct and memorable style (−0.40), not insensitive (−0.40).
Openness to Experience — not taking appropriate action (−0.54), words related to allure (+0.52), magnetising readers (+0.50), not focusing on the positive aspects (−0.49), does not show respect (−0.49), expresses interest (+0.49), interested in the topic (+0.48), no good understanding of the situation (−0.48).
Appendix III: Kapoor et al. (2024) machine learning checklist, leakage section:
This is for the Victorian author’s study.
6a) Train-test separation is maintained: Met. We used ridge regression on held out folds. Steps taken in sample include feature standardisation, target rank transform (training ranks, test mapped by interpolation), genre PCA, ridge alpha selection. Steps that were taken full sample include picking the 60 most common genre terms and then handpicking the terms that were actually genre terms and not, e.g. “British Author”. However, neither of these could be vicious in effect and regardless, only applied to the genre incremental validity study. Everything else was, as far as I can tell, done within fold. Technically the disattenuation constants were also calculated outside of fold, but this is harmless.
6b) Dependencies or duplicates between datasets handled appropriately: Met, our held out folds were of authors and all their passages; not passages scattered across authors.
6c) Feature legitimacy: Met, the only features used were text. There is perhaps a very faint worry here that specifically autobiographical text- a very small portion of our dataset, might have leaked through into the regression content about what happened to the person. For example quarrelsome words in an autobiography reflecting lots of fights in a life. But I consider this a fairly remote risk. For most authors we did not have an autobiography, and even if we did, it would form a small part of each author’s centroid.
Appendix IV
A final thought in the spirit of Susan Haack’s work. We set out to validate a regression from classifier features to personality, using Claude as a criterion, but several features of the experiment provide some validation for Claude in the foundherentist model of a crossword- initial plausibility followed by cross-support. First the fact that we were able to converge on the scores given by our regression so well. Second the extremely good correlation (0.9 for the lowest facet) between facet score means and the overall domain rating.
One next step would be to see how well Claude’s scores converge with literary scholars and biographers. The accuracy of Claude’s ratings is independently interesting.
Notes found after study
There’s a mechanical upward bias in the disattenuation figures for the Victorian authors study- the disattenuation is based on the centroid of the authors but ridge regression downweights unreliable components leading to moderately lower disattenuated figures for openness and emotionality. Also my disattenuation model is wrong. I treated it as a traditional: (true score+error) model from classical test theory but much of the variance is between texts, of which there is a very finite population for each author. Our disattenuation estimates are, after all is said and done, substantially overestimated for most traits.
Running in the other direction, I underestimated just how limited by sample size we are. The ridge regression results continue rising in N quite rapidly up to N=199, suggesting that if we had, say, 800 authors, our results would likely be much better.








Your formulation of P(posts to subreddit) made me wonder what happens when time is added to the function. For coffee and tea, it may change little. For r/depression, the state can remit while the writing remains.
You tested whether older posts made donors artificially easy to separate. I found myself wondering about the reverse direction. Someone whose heavy posting occurred during an episode four years ago still sits in the positive class today. The classifier may read the text accurately while allowing a past state to persist as a standing attribute.
In acute surgical practice, I learned not to trust my first reading of a stranger, because I often met people in one of the worst hours of their lives.
Your proposed next step, predicting answers to questions rather than subreddit membership, may help because an answer carries a date. I wonder whether that temporal advantage could become part of the design.
Substack tells me that your article is a 39-minute read. You will forgive me then (I hope) for commenting before having read this entire article. In truth, this is an article for which there is a higher-than-usual probability that I start without ever finishing.
Anyway, isn’t your problem already anticipated by those at the Cluny institute, who have rushed in (where angels dared to tread so to speak) and purported to have a conference with an AI-reconstructed Rene Girard as guest speaker?