Back to the blog
RetrievalMultilingual

What breaks retrieval quality on Vietnamese documents

12 Jun 2026·6 min read

A retrieval stack tuned on English corpora tends to lose noticeable recall the first time it meets a Vietnamese document set. The causes are mundane.

Normalise diacritics once, at ingestion

The same word appears with composed and decomposed Unicode forms depending on which editor produced the file. Normalise to a single form before embedding and before indexing keywords, or the two forms become two different tokens.

Vietnamese words are not whitespace-delimited concepts

Keyword search that splits on spaces treats "cơ sở dữ liệu" as three unrelated tokens. A segmenter, or a bigram index alongside the unigram one, recovers most of that loss for BM25. The vector side is less sensitive but still benefits.

Expect mixed-language documents

Internal documentation is rarely monolingual — Vietnamese prose with English product names, error strings and code identifiers. A multilingual embedding model that places both languages in one vector space avoids maintaining a separate index per language and lets an English question retrieve a Vietnamese passage.

Keep the query in the user's language

Translating the question before retrieval loses named entities and adds a failure point. If your embedding model is genuinely multilingual, retrieve in the language asked and let the generation step handle the language of the reply.

Try Ragenta on your own documents.

Connect a source, ask a question, and see the passages behind the answer.

Book a demo