Korean homonym analysis: comparing resources and tools
"There are plenty of morphological analyzers, so why don't they tell you the meaning?" To answer this question, you need to look at what resources homonym disambiguation (using context to pick the right meaning for the same spelling with different meanings) has been built on in Korean, and how it has been handled.
This is not a new problem. The UTagger family from a lab at the University of Ulsan has built sense-annotated resources and tools for a long time, and ETRI's public language analysis API has also offered homonym and polysemy disambiguation as a lexical semantic analysis item. However, the standard output of widely used commercial and open-source morphological analyzers has no dictionary sense number, which made it hard to adopt directly in practice.
This page summarizes, from a user's point of view, the survey of domestic resources and tools that the Bareun team did before building this feature. For how Bareun implements it, see How homonyms are distinguished; for usage, see Homonym sense API.
This Bareun feature is in beta
Bareun's homonym sense disambiguation has been available since 3.1.0 but is still in beta. The comparison below focuses on "what is provided." A public benchmark that measures accuracy across systems under the same conditions will be published together with the official release.
First: dictionaries and corpora are split
A sense number (superscript number, "eokkaebeonho" in Korean) has a different value depending on which dictionary is the reference. There are two widely used references in Korean.
| Dictionary | Nature | Scale | Superscript number |
|---|---|---|---|
| Standard Korean Language Dictionary | Prescriptive dictionary (centered on standard Korean) | Relatively fewer headwords | 2-digit notation convention |
| Urimalsaem (Open Korean Dictionary) | Open, descriptive dictionary that includes neologisms, dialects, and technical terms | Far more headwords and senses | 3-digit notation convention |
The two dictionaries draw the boundaries between senses differently. So you cannot carry numbers from one over to the other as they are. This is the first wall you hit in Korean homonym processing.
Sense-annotated corpora also differ in their reference.
| Corpus | Sense annotation | Reference dictionary |
|---|---|---|
| Sejong Corpus (written and spoken) | Superscript numbers attached to major words | Standard Korean Language Dictionary |
| Modu Corpus (news, etc.) | No sense numbers in the original | n/a |
| NIKL lexical semantic analysis data | Sense numbers attached by humans | Urimalsaem |
| Ulsan University homonym annotation resources (UTagger family) | Sense numbers attached by humans | Own dictionary / Standard Korean Language Dictionary family |
Bareun's choice
Bareun unified all of its training data into a single Urimalsaem-based space. Urimalsaem has the most headwords and senses, so it captures real-world text, and public data lets us link senses to their definitions. More background is in How homonyms are distinguished.
Morphological analyzers do not return sense numbers
Most widely used Korean morphological analyzers tell you the form and part of speech. The ability to pick between homonyms with different meanings and return a dictionary sense number is not part of their standard output.
| Tool | Form and POS | Dictionary sense number (superscript number) |
|---|---|---|
| Mecab-ko / KoNLPy family | Yes | Not provided |
| Khaiii | Yes | Not provided |
| Kiwi | Yes | Not provided (the result has no sense number field) |
| Bareun 3.1.0 (beta) | Yes | Yes: superscript number + definition + selection probability |
'Homonym disambiguation' is used in two senses
When analyzers say they "distinguish homonyms," they usually mean a form- and POS-level distinction.
For example, choosing for 가는 among 가늘다 (adjective), 가다 (verb), and 갈다 (verb).
Bareun has worked on this for a long time (ambiguity dataset).
The homonym disambiguation discussed on this page is the next step: cases where the POS is the same but the meaning differs
(다리 (bridge) / 다리 (leg), both NNG), told apart at the dictionary-entry level. Read the two layers separately
to make an accurate comparison.
Tools that actually do homonym disambiguation
| Category | Approach | Characteristics |
|---|---|---|
| Ulsan University UTagger family | Dictionary- and statistics-based, plus its own homonym annotation resources | The family that has dealt with this problem the longest in Korea. It distributes sense-annotated resources (such as UTagger-HG) together with tools, and has been widely used as a foundation resource in this field. Check the distributor's notes for terms of use and current accuracy. |
| ETRI public language analysis API | Public API bundling morphological analysis, lexical semantic analysis (homonyms and polysemy), and more | Has offered homonym and polysemy disambiguation as a lexical semantic analysis item. It is a public API for research and public-sector purposes; application and terms of use follow the ETRI public API guide. |
| Open-source statistics-based tools | Per-sense co-occurrence (words that appear together) statistics, falling back to the most frequent sense | Based on dictionaries and frequency tables rather than a trained classifier, so they are lightweight and their results are easy to explain. They are weak on context outside the window, long-distance cues, and unseen co-occurring words, and rare senses fall back to the most frequent sense. Some are licensed for non-commercial (research) use only, so check before commercial use. |
| Dictionary matching + rules | Choose among headword candidates by rules and priority | Simple to implement and fast. Because they do not read context with a model, they behave much like the most-frequent-sense baseline. |
| Querying a large language model (LLM) directly | Prompt such as "What does this word mean in this sentence?" | Easy to adopt and good at explaining. However, call cost and latency are high, answers can vary for the same sentence, and it is hard to match dictionary sense numbers exactly. |
| Bareun (beta) | A dedicated context model separate from morphological analysis + restriction to dictionary candidates | The morphological analysis response carries the superscript number, definition, and probability together. It chooses only among dictionary candidates, so unrelated senses are never attached. It is still weak when the same spelling repeats within one sentence. |
What prior research has shown
These are the prior studies Bareun used as a basis when deciding its direction. Since this is user documentation, only the key points are given.
| Study | Key point |
|---|---|
| Sejong sense annotation + fine-tuning a pretrained language model (2025) | Resolving tokenization mismatches improved accuracy by 3 to 5% over the baseline. Human-annotated senses are still the strongest material. |
| Encoding glosses (definitions) together | Using dictionary definitions as sense representations helps with rare senses. Bareun set up the link to definitions first, which keeps this extension open. |
| Word sense vector (definition embedding) research | Reported a high F1 on the Sejong sense corpus. However, the evaluation targets and sense granularity differ, so figures are hard to compare directly across systems. |
| "Is WSD dead in the LLM era?" (2025) | A smaller model trained for this task was more accurate than zero-shot disambiguation by a large model. The gap is largest for rare senses. |
Do not compare published accuracy figures as they are
Korean homonym accuracy varies greatly with the conditions.
- Depending on the reference dictionary (Standard Korean Language Dictionary vs Urimalsaem), the number of senses to distinguish differs several times over.
- Depending on whether the evaluation target is "all words" or "only words that are homonyms," the figures differ widely.
- A rule that simply picks the most frequent sense already scores high. How much better a system is than that baseline is its real ability.
Bareun judges quality with an independent test set that was never used in training (freshly collected from a web corpus) and with human-reviewed gold sentences. Measuring on sentences of the same nature as the training corpus gives higher values than you can expect on real sentences, so we use the independent test set as the reference even when the value is lower. Our measurement conditions differ from figures published elsewhere, so they cannot be placed in the same table for comparison.
How Bareun differs
As seen above, Bareun is not the first to attempt homonym disambiguation. What sets Bareun apart is less "what percent accuracy" than where the result appears.
- It is included in the morphological analysis response as is. No separate service, separate call, or separate alignment step.
You just turn on one option (
with_sense) in the API you already use. - The definition comes with it. The response contains a human-readable meaning without installing or looking up a dictionary separately. This holds even in an environment where only morphological analysis is installed.
- Candidates are limited to dictionary entries. It chooses only among the dictionary candidates for that headword and POS, so the mistake of attaching another word's meaning cannot happen by design.
- Probabilities are interpretable. They are probabilities within the candidate set, so you can set a threshold to split automatic and review flows.
- There are no restrictions on commercial use. In an area where some resources and tools are hard to put into a commercial service because of license terms, Bareun is offered as a commercial product.
One more point should be stated honestly. Bareun's sense disambiguation is not yet at a finished level. When the same spelling appears several times in one sentence, the results tend to collapse to the same sense, and errors remain for short sentences with almost no contextual cues. Measured examples are laid out in Accuracy and limitations.
Which choice fits
| Situation | Recommendation |
|---|---|
| You already use Bareun for morphological analysis | Turning on with_sense is the cheapest option. There is no change to your pipeline. |
| Search, indexing, keyword analysis | Even Bareun's beta quality gives a clear benefit. The difference shows especially where the most frequent sense alone cannot decide. |
| You need to show dictionary definitions to users | Use the definition and Urimalsaem number in the response as they are. |
| You need very precise judgments on a small number of sentences | Use Bareun's result first, and check only low-probability cases by a person or an LLM in a two-stage setup. |
| You need to compare several systems for research | Fix the reference dictionary and the evaluation target first. Otherwise the figures are not comparable. |
Frequently asked questions
Q. Do other Korean morphological analyzers also tell me the meaning of homonyms?
A. Widely used open-source analyzers (Mecab-ko, the KoNLPy family, Khaiii, Kiwi) give form and POS, and their results have no field for a dictionary sense number. Handling dictionary sense numbers is done by resources and tools that specialize in this problem, such as the Ulsan University UTagger family and the lexical semantic analysis of ETRI's public language analysis API, and by Bareun (3.1.0 beta).
Q. Can't I just ask an LLM?
A. You can, but cost and latency are high, answers can vary, and it is hard to match dictionary sense numbers exactly. A 2025 study also found that a model trained for this task was more accurate than a zero-shot large model, with a large gap especially for rare senses. A trained model suits bulk processing, and LLM checking suits a small number of hard cases.
Q. Can I convert Bareun's superscript numbers to Standard Korean Language Dictionary numbers?
A. The two dictionaries have different sense boundaries, so numbers cannot be mapped 1:1. Bareun is based on Urimalsaem, and you can check the dictionary page directly with the Urimalsaem headword number in the response.
Q. When will an accuracy comparison table with other systems be published?
A. We have no plan to publish one. For a comparison on the same reference dictionary and the same evaluation target to hold, the compared systems must actually run under the same conditions, but Korean homonym disambiguation resources and tools differ in reference dictionary and in distribution and usage terms, so those conditions are hard to match. Placing figures measured under different conditions side by side is misleading, so Bareun chose to track its own changes against its own criteria.