Hopp til hovedinnhold
Matchingspipelinen løser opp fritekstnavn på entiteter til Credit Benchmark identifikatorer i tre trinn: gjenfinning av kandidater, feature engineering og ML-scoring. Hver inngang returnerer rangerte treff med en tillitsscore mellom 0 og 1.
Enhet
entity_name
land (opt)
industri (opt)
lEI (opt)
1 - Gjenfinning av kandidat-entiteter
Søker i CB Entity-databasen etter sannsynlige kandidater
2 - Feature Engineering
Måler navnelikhet og metadatatilpasning per kandidat
3 - ML-scoring
Vurderer hver kandidat som en match-sannsynlighet
Toppresultat
CBId
CBEntityName
tillit
rang
Denne flyten viser arbeidsflyten for matchingen fra inndatafelt til rangerte kandidatresultater.

Pipeline

Gjenfinning av kandidat-entiteter

CB Entity Database støtter tilnærmet tekstsøk, og returnerer en kortliste med plausible kandidater. Gjenfinning bruker BM25-rangering - og normaliserer inndatateksten for å håndtere tegnsetting, aksenter, juridiske suffikser og vanlige navnevarianter. Rundt 20 kandidater hentes ut per navn. I denne fasen prioriteres tilbakekalling over presisjon: Det sanne samsvaret må vises i kandidatsettet før poengberegningen kan begynne.

Feature Engineering

For hver kandidat opprettes en funksjonsvektor x\mathbf{x} er bygget opp av dusinvis av individuelle signaler, gruppert i fire kategorier:
KategoriEksempler
String similarityJaccard symbolsk overlapping, Levenshtein avstand, n-gram likhet
SøkerelevansBM25 poengsum og rangering fra gjenfinningsfasen
Normalisering av tekstSammenligning etter fjerning av tegnsetting, aksenter, lovlige suffikser og navnevarianter
Justering av metadataLand, sektor og identifikator (LEI) konsistens mellom input og kandidat

Maskinlæring (ML) scoring

En maskinlæringsklassifiserer tildeler en match-sannsynlighet til hver kandidat uavhengig av hverandre: p^=P(matchx)\hat{p} = P(\text{match} \mid \mathbf{x}) Kandidatene rangeres etter p^\hat{p} og de beste resultatene som returneres i svaret.

Opplæring

Modellen er trent opp på et internt datasett med titusenvis av merkede entitetsmatcher - hver av dem et sant eller falskt matchpar. Dette skiller seg fra selve CB Entity Database, som inneholder millioner av poster som tilsvarer observerte entiteter fra bankinnleveringer. Modellen trenes på nytt hver uke etter hvert som både CB-entitetsdatabasen og matchingsuniverset vokser.

Testing

Ytelsen evalueres ved hjelp av k-fold kryssvalidering, noe som sikrer at beregningene gjenspeiler generalisering på tvers av hele det merkede datasettet i stedet for en enkelt oppdeling av trening/test. Etter hvert som modellen trenes på nytt på nye data, evalueres ytelsen på nytt for hver syklus. Klassifiseringsberegninger rapporteres på Nøyaktighet og dekning side.

Konfidensscore

Hver kandidat returneres med en poengsum p^[0,1]\hat{p} \in [0, 1] som gjenspeiler modellens visshet om at det er riktig match. Internt bruker vi følgende intervaller som veiledning, basert på resultater målt på våre testdata:
RekkeviddeSignalMatchfrekvensBegrunnelse
p^0.60\hat{p} \geq 0.60Sterk kamp94.4%Høy nok tillit til å behandle som en match uten manuell gjennomgang
0.30p^<0.600.30 \leq \hat{p} < 0.60Sannsynlig match~65%Modellen anser en match som sannsynlig, men ikke sikker - poengsummer i dette området bør vurderes før de aksepteres
p^<0.30\hat{p} < 0.30Svak~35%Det er mindre sannsynlig at kandidaten er det riktige matchet - vanligvis dukker den bare opp for å bekrefte at det ikke finnes noe match
Disse tallene gjenspeiler per-kandidat. Når flere kandidater returneres (limit > 1) ved lavere poengsummer, kan det sanne samsvaret likevel finnes et sted i resultatsettet - ved å gjennomgå de beste kandidatene samlet øker sjansen for en korrekt oppløsning, selv når ingen enkeltkandidat har høy poengsum. Se Nøyaktighet og dekning for en fullstendig terskelavveiningsanalyse.