Meertalige verrijking - Entity Enricher-documentatie

Meertalige verrijking

Entity Enricher kan verrijkingsresultaten in maximaal 40 talen tegelijk produceren. Meertalige velden worden opgeslagen als JSON-objecten met taalcodes als sleutel — een formaat dat overdraagbaar en doorzoekbaar is en compatibel met elke grote database.

Schema-editor: meertaligheidsschakelaar

In de schema-editor schakel je de vlag 'meertalig' in voor elke string- of array-van-strings-eigenschap. Wanneer ingeschakeld, retourneert de LLM waarden verpakt in een object met taalsleutels in plaats van een gewone waarde.

Hoe het werkt

1
Markeer velden als meertalig
Vink in de schema-editor het selectievakje 'meertalig' aan bij string- of array-eigenschappen. De vlag wordt opgeslagen als multilingual: true in het JSON-schema.
2
Doeltalen selecteren
Kies in de zijbalkopties een of meer talen uit de 40 ondersteunde talen. De enrichment-prompt instrueert de LLM om waarden te produceren in elke geselecteerde taal. De eerste geselecteerde taal is de primaire taal: deze wordt gemarkeerd met een “Primair”-badge en wordt gebruikt voor alle niet-meertalige tekstvelden (beschrijvingen, namen, enz. die niet zijn gemarkeerd als multilingual: true). Gebruik de -knop op een andere chip om deze tot primair te promoveren. De backend filtert ook eventuele losse taalsleutels weg die de LLM zou kunnen produceren en die niet in je selectie staan.
3
LLM retourneert output met taal als sleutel
Het dynamische Pydantic-model verpakt meertalige velden als dict[str, T], waarbij de sleutels ISO 639-1-taalcodes zijn en de waarden overeenkomen met het veldtype.

Dataformaat

Meertalige waarden worden opgeslagen als JSON-objecten met taalcodes als sleutels. Dit formaat is boven alternatieven gekozen vanwege de overdraagbaarheid, doorzoekbaarheid en opslagefficiëntie.

Meertalige string
Schema-eigenschap
"description": {
"type": "string",
"multilingual": true
}
Verrijkingsuitvoer
"description": {
"en": "A global pharma company",
"fr": "Une entreprise pharma mondiale",
"ar": "شركة أدوية عالمية"
}
Meertalige array
Schema-eigenschap
"indications": {
"type": "array",
"items": { "type": "string" },
"multilingual": true
}
Verrijkingsuitvoer
"indications": {
"en": ["pain relief", "fever"],
"fr": ["anti-douleur", "fièvre"],
"ar": ["تخفيف الألم", "حمى"]
}
Niet-meertalige velden

Velden zonder multilingual: true worden als platte waarden geretourneerd. Identifiers, codes, URL's, datums en getallen blijven doorgaans niet-meertalig.

"atc_code": "N02BE01",
"founded_year": 1973,
"website": "https://example.com"

Waarom dit formaat?

Er bestaan twee benaderingen voor meertalige arrays. Entity Enricher gebruikt Format A (object met taal als sleutel), omdat dit het enige formaat is dat zonder transformatie direct werkt in alle grote databases.

CriteriaA Object met taalsleutelsB Array met gelokaliseerde items
Structuur{"en": [...], "fr": [...]}[{"en": "x", "fr": "y"}, ...]
Bevraag één taalDirecte toegang
data -> 'field' -> 'en'
Vereist iteratie
jsonb_array_elements + extract
Een taal toevoegenVoeg één sleutel toe aan het objectElk item bijwerken in de array
Consistent met scalairenJa — hetzelfde {"en": "...", "fr": "..."}-patroonNee — andere vorm voor strings dan voor arrays
Overdraagbaarheid van databaseAlle grote databasesAlle grote databases

Voorbeelden van databasequery's

Het op taal gesleutelde formaat is native queryable in alle grote databases die JSON-kolommen ondersteunen.

PostgreSQL
-- Get English description
SELECT structured_output -> 'description' -> 'en' FROM enrichment_records;
-- Search within a multilingual array
SELECT * FROM enrichment_records
WHERE structured_output -> 'indications' -> 'en' ? 'pain relief';
MySQL 8+
-- Get French description
SELECT JSON_EXTRACT(structured_output, '$.description.fr') FROM enrichment_records;
MongoDB
// Project only Arabic values
db.records.find({}, { "description.ar": 1, "indications.ar": 1 })
SQL Server
-- Get German description
SELECT JSON_VALUE(structured_output, '$.description.de') FROM enrichment_records;

Ondersteunde talen

Er zijn 40 talen beschikbaar. Selecteer een willekeurige combinatie bij het uitvoeren van een verrijking.

Globale talen
enEnglish
zhChinese
hiHindi
esSpanish
arArabic
frFrench
bnBengali
ptPortuguese
ruRussian
jaJapanese
deGerman
urUrdu
viVietnamese
trTurkish
koKorean
taTamil
mrMarathi
teTelugu
paPunjabi
yueCantonese
itItalian
Europese talen
plPolish
ukUkrainian
roRomanian
nlDutch
elGreek
csCzech
huHungarian
svSwedish
srSerbian
bgBulgarian
hrCroatian
skSlovak
daDanish
fiFinnish
noNorwegian
ltLithuanian
slSlovenian
lvLatvian
etEstonian

Welke velden moeten meertalig zijn?

Markeer als meertalig
  • Namen (bedrijf, product, stad, land)
  • Beschrijvingen en samenvattingen
  • Medische/wetenschappelijke termen
  • Statuslabels (“Goedgekeurd”, “Actief”)
  • Categorielabels en tags
  • Instructies en aanbevelingen
Niet-meertalig houden
  • Technische identifiers (UUID's, ID's)
  • Gestandaardiseerde codes (ATC, CAS, ISO)
  • Acroniemen (FDA, EMA, WHO)
  • Getallen, datums, percentages
  • URL's, e-mails, telefoonnummers
  • Boolean-vlaggen

Geldige veldtypen

De meertalige vlag is alleen geldig op bepaalde eigenschapstypes. De schema-editor dwingt dit automatisch af.

Type eigenschapMeertalig?Uitvoerformaat
stringJadict[str, str]
number / integerJadict[str, float]
booleanJadict[str, bool]
array met primitievenJadict[str, list[str]]
objectNeeMarkeer in plaats daarvan afzonderlijke velden binnen het object
array met objectenNeeMarkeer in plaats daarvan afzonderlijke velden binnen items
$refNeeMarkeer in plaats daarvan velden binnen de gerefereerde entiteit

Integratie van verrijkingspipeline

Meertalige ondersteuning is verweven in elke fase van de verrijkingspijplijn.

Schema
multilingual: true
op geselecteerde velden
Promptbouwer
Injecteert taal
instructies + voorbeelden
Dynamisch model
str → dict[str, str]
Pydantic-validatie
JSONB-opslag
Objecten met taalsleutels
in de uitvoer
Multi-expertise: Bij de multi-expertisestrategie krijgt elk expertisegebied de meertalige instructies in zijn eigen prompt. Velden worden per expertise onafhankelijk vertaald en vervolgens samengevoegd tot de uiteindelijke output.

Meertalige velden in fusie

Bij het fuseren van resultaten van meerdere modellen worden meertalige velden per taal vergeleken.

ScenarioResolutie
Modellen zijn het eens over Engels maar verschillen over FransEngels gaat er direct doorheen; Frans wordt per taal opgelost via meerderheidsstemming of arbitrage
Het ene model heeft Arabisch, het andere nietVoorkeur voor de niet-null-waarde (Arabisch blijft behouden)
Meertalige arrays verschillen in lengte per modelUnie van alle items per taal