Theme matching rules and accuracy

Nobody hand-picks companies here. A script counts words by the rules below, and every rule is on this page.

What we read

The most recent annual report of each KOSPI and KOSDAQ company. Blank-check SPACs are left out.

Only Section II, Business Description. Inside it we skip the risk management and derivatives subsection.

We count words in paragraphs and table cells. Quotes come from paragraphs only.

Latin-letter words such as AI and SMR count only when no other letter or digit touches them.

Words and thresholds by theme

ThemeWords we countThreshold
Semiconductors반도체, 파운드리, 웨이퍼, HBM, D램, DRAM, 낸드, NAND8+ in total
Rechargeable batteries2차전지, 이차전지, 리튬이온, 양극재, 음극재, 전해액, 분리막5+ in total
Defense방위산업, 방산, 방위사업청, 국방부, 무기체계, 유도무기, 군수5+ in total
AI (artificial intelligence)인공지능, AI, 생성형, 머신러닝, 딥러닝, LLM, 거대언어모델8+ in total
Nuclear power원자력, 원전, 원자로, SMR, 소형모듈원자로, 핵연료5+ in total
Travel and airlines여행, 항공운송, 항공권, 여객, 면세점, 호텔8+ in total

Why two groups

Business Overview and Main Products and Services are where a company introduces itself. Three or more theme words there puts it in group 1.

Companies that pass the threshold but mention the words only in other parts are group 2. On theme pages that group starts folded.

Groups are not a ranking. They only say where the words were written.

Where we do not count

The defense word (방산) is not counted inside words that merely contain it, such as upstream industry (전방산업) or fatty acid (지방산). The nuclear word (원전) is not counted inside clinic-only (병의원전용) or a company name (유원전자). We found these while reading samples.

How we pick the quoted sentence

We look for a sentence with a theme word in Business Overview first, then Main Products, then the rest.

Sentences with a word from the skip list below are passed over when another sentence exists.

Over 220 characters, we keep the part around the word and mark the cut with an ellipsis. Words are never changed.

Skip list

수혜, 유망, 급등, 호재, 악재, 대장주, 저평가, 목표가, 매수

Accuracy measured on samples

For each group we sampled companies, read their reports, and marked by hand whether they really run that business. Every verdict and its reason is in docs/accuracy-judgments.json in our repository.

ThemeGroup 1 companies that run the businessGroup 2 companies that run the businessCompanies left out that run the business
Semiconductors22/24 (92%)3/10 (30%)1/28 (4%)
Rechargeable batteries21/22 (95%)10/12 (83%)2/19 (11%)
Defense11/11 (100%)3/5 (60%)0/5 (0%)
AI (artificial intelligence)7/10 (70%)2/7 (29%)0/8 (0%)
Nuclear power9/11 (82%)2/4 (50%)0/9 (0%)
Travel and airlines10/11 (91%)0/6 (0%)0/7 (0%)

There are two judges. The second judge read the same sample separately without seeing the first verdicts. On the 235 companies where both gave true or false, they agreed on 88.9% (Cohen's kappa 0.779). The numbers above count only companies both judges marked the same way. Split verdicts are left out of the counts, and the reasons per company are in docs/accuracy.md in our repository.

Measured 2026-10-11. Samples are small, so the error is wide.

What these rules cannot do

Pick a theme