Um eine erweiterte Anpassungsstufe zu erreichen, können Sie die REST-API IBM Match 360 verwenden, um Ihren Abgleichalgorithmus zu konfigurieren und zu optimieren.
Beim Arbeiten mit der API müssen Sie den Algorithmus explizit bereitstellen, bevor Sie Ihre übereinstimmenden Jobs ausführen. In der api-model
-Mikroservice-API generiert die Methode POST /mdm/v1/algorithms/{record_type}
einen Abgleichalgorithmus auf der Basis der bereitgestellten Attribute und Felder.
Sie können den Abgleichalgorithmus weiter anpassen, indem Sie die Methode PUT /mdm/v1/algorithms/{record_type}
verwenden, mit der Sie einen vollständig definierten Abgleichalgorithmus in den Nutzdaten der Methode angeben können.
Das folgende Beispiel zeigt Nutzdaten für POST /mdm/v1/algorithms/{record_type}
, die den Schwellenwert für Autolink und eine Gruppe übereinstimmender Attribute und Felder definieren:
{"person_entity":{"auto_link_threshold":0.4,"matching_attributes":[{"attributes":["legal_name"]},{"attributes":["primary_residence"]}, {"attributes":["mobile_telephone"]},
{"attributes":["birth_date"]}, {"attributes":["gender"]}, {"attributes":["personal_email"]}]}}
Weitere Informationen über die IBM Match 360 REST API und die entsprechenden SDKs, einschließlich Authentifizierungsanweisungen und vollständiger Dokumentation der einzelnen Methoden, finden Sie in der IBM Match 360 API-Referenz.
Inhalt dieses Themas:
Mehrdimensionale Vergleichsfilter konfigurieren
Optimieren Sie Ihren Abgleichalgorithmus noch weiter, indem Sie mehrdimensionale Vergleichsfilter definieren. Mehrdimensionale Filter können Attribute datensatzübergreifend vergleichen und Abgleichscores und Gewichtungen basierend auf den von Ihnen definierten Kriterien nach oben oder unten anpassen. Mehrdimensionale Vergleichsfilter können die Anzahl falsch-positiver oder falsch-negativer Übereinstimmungen in Ihren Abgleichsergebnissen reduzieren.
Sie können auch mehrdimensionale Vergleichsfilter verwenden, um eigene deterministische Abgleichsregeln einzuschließen, die die auf maschinellem Lernen basierenden Abgleichsergebnisse überschreiben.
Mehrdimensionalen Vergleichsfilter generieren
Um einen mehrdimensionalen Vergleichsfilter in Ihrem Abgleichalgorithmus zu generieren, aktualisieren Sie die Konfiguration der Abgleichengine mithilfe von REST-API-Befehlen:
Greifen Sie auf die API-Schnittstelle IBM Match 360 zu und authentifizieren Sie sich.
Geben Sie wie im folgenden Beispiel dargestellt
POST /mdm/v1/algorithms/{record_type}
-Nutzdaten an, die einen Filter definieren:{"person_entity":{"auto_link_threshold":0.4,"matching_attributes":[{"attributes":["legal_name"], "post_filter_methods": ["false_positive_filter"]},{"attributes":["primary_residence"], "post_filter_methods": ["false_positive_filter"]}, {"attributes":["mobile_telephone"]}, {"attributes":["birth_date"], "post_filter_methods": ["false_positive_filter"]}, {"attributes":["gender"]}, {"attributes":["personal_email"]}]}}
In den Beispielnutzdaten ist
false_positive_filter
der Name des angepassten Filters. Sie gilt für alle Attribute in den Nutzdaten, die den Filternamen enthalten.
Die Beispiel-API-Nutzdaten generieren einen Algorithmus, der ein false_positive_filter
enthält, in dem die Gewichtungen und Strafen der Standardwert 0 sind.
Optional können Sie die Gewichtungen und Strafen an die Anforderungen Ihres Unternehmens anpassen und anschließend Ihren aktualisierten Algorithmus mithilfe der PUT /mdm/v1/algorithms/{record_type}
-API bereitstellen.
Informationen zu den Parametern, die Filter definieren
Um die Konfigurationsparameter zu verstehen, die mehrdimensionale Vergleichsfilter definieren, sehen Sie sich das Beispiel false_positive_filter
an, das im vorherigen Abschnitt erstellt wurde.
Rufen Sie den aktuellen Algorithmus mit dem API-Befehl GET /mdm/v1/algorithms/{record_type}
ab.
Nachdem Sie die POST-Anforderung im vorherigen Abschnitt mit den entsprechenden Beispielnutzdaten übergeben haben, wurde der folgende Abschnitt in der Algorithmuskonfiguration generiert:
{
"false_positive_filter": {
"filter_recipe": [
{
"method": "FilterMethod.MultiDimFilter",
"inputs": [1,2,3],
"label": "Multi-Dim filter",
"weights": [
{
"distances": [0,0],
"values": [0,0,0,0,0,0]
}
]
}
],
"inputs": [
{"compare_method": "address_compare"},
{"compare_method": "date_compare"},
{"compare_method": "pername_compare"}
],
"label": "false_positive_filter"
}
}
Der Beispielabschnitt false_positive_filter
enthält die Standardparameter, die mehrdimensionale Vergleichsfilter definieren:
filter_recipe
-Dieser Abschnitt enthält ein Array von Parametern, die die erforderliche Anleitung zum Definieren übereinstimmender Gewichtungen für jede Eingabe bereitstellen.inputs
Der Abschnittfilter_recipe.inputs
enthält einen Index der Eingaben, für die dieses Filterrezept gilt. Dies sind Zahlenwerte, die der Reihenfolge der im Abschnittinputs
aufgelisteten Vergleichsmethoden entsprechen. Im Beispiel entspricht1
der Methodeaddress_compare
,2
der Methodedate_compare
und3
der Methodepername_compare
.weights
-Der Abschnittweights
ist ein Array von Elementen, die definieren, wie die einzelnen Eingaben für den dreidimensionalen Vergleich gewichtet werden. Der Abschnittweights
enthältdistances
-undvalues
-Definitionen für die Eingaben. Die Standardgewichtung ist0
für jede Eingabe, die nicht definiert ist.
inputs
-Dieser Abschnitt enthält die Vergleichsmethoden für die übereinstimmenden Attribute. Diese Methoden verwenden die Abstände und Gewichtungen, die Sie im Abschnittfilter_recipe
definieren.max_distance
-Optional (nicht gezeigt) Dieser Parameter definiert den maximalen Abstand. Der maximale Standardabstand ist 5, d. h., der Parameterfilter_recipe.weights.values
kann 6 Elemente enthalten ("values":[0,1,2,3,4,5]
).
Angepasste Filter konfigurieren
So passen Sie vorhandene Vergleichsmethoden für die Verwendung mit einem mehrdimensionalen Vergleichsfilter an:
Aktuellen Algorithmus abrufen:
GET /mdm/v1/algorithms/{record_type}
Aktualisieren Sie den Algorithmus nach Bedarf. Sie können die Daten beispielsweise wie folgt nutzen:
- Fügen Sie im Abschnitt
weights
Elemente hinzu bzw. aktualisieren Sie sie, um die Gewichtungen für die aufgelisteten Eingaben anzupassen. - Definieren Sie den maximalen Abstand, indem Sie einen Parameter
max_distance
hinzufügen. - Fügen Sie Vergleichsmethoden als Eingaben hinzu, die diesen Filter anstelle der standardmäßigen übereinstimmenden Gewichtungen verwenden.
- Fügen Sie im Abschnitt
Überschreiben Sie den übereinstimmenden Algorithmus mit Ihrer aktualisierten Version:
PUT /mdm/v1/algorithms/{record_type}
Beispiel 1: Verwenden Sie die folgenden Beispielnutzdaten, um den maximalen Abstand auf 9 festzulegen und angepasste Gewichtungen und Strafen für verschiedene Kombinationen von Eingaben und Distanzen wie folgt anzugeben: -input1 distance=0, input2 distance=0, input3 distance = [0,1,2,3,4,5,6,7,8, 9]. In diesem Fall ergibt die Distanzkombination [0,0, 3] eine Punktzahl von 15.
- input1 distance=1, input2 distance=0, input3 distance = [0,1,2,3,4,5,6,7,8, 9]. In diesem Fall ergibt die Distanzkombination [1,0, 9] einen penalisierten Score von -30.
{
"false_positive_filter": {
"filter_recipe": [
{
"method": "FilterMethod.MultiDimFilter",
"max_distance": 9,
"inputs": [1,2,3],
"label": "Multi-Dim filter",
"weights": [
{
"distances": [0,0],
"values": [0,-5,-10,-15,-20,-25,-30,-30,-30,-30]
},
{
"distances": [1,0],
"values": [0,-5,-10,-15,-20,-25,-30,-30,-30,-30]
}
]
}
],
"inputs": [
{"compare_method": "address_compare"},
{"compare_method": "date_compare"},
{"compare_method": "pername_compare"}
],
"label": "false_positive_filter"
}
}
Beispiel 2: Sie können Ihre eigenen angepassten Vergleichsmethoden hinzufügen und so konfigurieren, dass sie nicht zur Gesamtübereinstimmungsquote beitragen, wie in den folgenden Beispielnutzdaten dargestellt. In diesem Fall werden die benutzerdefinierten Methoden nur vom mehrdimensionalen Vergleichsfilter verwendet.
Im folgenden Beispiel setzt der Filter given_name_only_compare
overall_score_contribution
auf false
.
{
"given_name_only_compare": {
"methods": [
{
"inputs": [
{
"attributes": [
"legal_name"
],
"fields": [
"given_name"
]
}
],
"compare_recipe": [
{
"comparison_resource": "person_person_entity_person_compare_spec_name",
"method": "CompareMethod.NameCompare",
"inputs": [
1
],
"label": "Given Name Only Match",
"fields": [
"given_name"
]
}
]
}
],
"overall_score_contribution" : false,
"label": "Given Name Only Compare",
"weights": [1,0,0,0,0,0,0,0,0,0,0]
}
}
Funktion für Bearbeitungsabstand wechseln
Die IBM Match 360 -Abgleichsfunktion berechnet den Bearbeitungsabstand als eine der internen Funktionen beim Vergleichen und Abgleichen verschiedener Attribute. Der Bearbeitungsabstand ist ein Maß dafür, wie unähnlich zwei Zeichenfolgen voneinander sind. Beim Berechnen dieses Werts wird ermittelt, wie viele Änderungen erforderlich sind, um eine Zeichenfolge in die andere umzuwandeln.
Sie können zwischen der Standardfunktion zum Bearbeiten des Abstands oder einer spezialisierten Funktion wählen. Der Standardbearbeitungsabstand ist die Standardkonfiguration, um eine schnellere Leistung beim Abgleich zu gewährleisten. Weitere Informationen zur Bearbeitungsdistanz finden Sie unter IBM Match 360 -Abgleichalgorithmen.
Aktualisieren Sie zum Ändern der aktiven Funktion zum Bearbeiten der Entfernung die Konfiguration der übereinstimmenden Engine mithilfe von REST-API-Befehlen:
Greifen Sie auf die API-Schnittstelle IBM Match 360 zu und authentifizieren Sie sich.
Rufen Sie die vorhandene JSON-Konfigurationsdatei für die Vergleichsfunktion (
compare_spec_resource
) ab:GET /mdm/v1/compare_spec_resources/{resource_name}
Bearbeiten Sie die JSON-Datei auf Ihrer lokalen Maschine und fügen Sie die Zeile
"similar_characters_enabled": true
hinzu (oder entfernen Sie die Zeile, um wieder die Standardeinstellung für den Bearbeitungsabstand zu verwenden).Aktualisieren Sie die Konfiguration für IBM Match 360 durch Hochladen der bearbeiteten JSON-Datei:
PUT /mdm/v1/compare_spec_resources/{resource_name}
Schwellenwert für Glue-Datensätze konfigurieren
Sie können einen Schwellenwert für einen Glue-Datensatz mithilfe von API-Befehlen definieren, um den Abgleichalgorithmus IBM Match 360 zu aktualisieren.
Wenn IBM Match 360 -Formularentitäten durch Abgleich übereinstimmen, können einige Datensätze mit niedriger Qualität als Glue-Datensätze fungieren. Kleber Aufzeichnungen erhalten ihren Namen, weil sie an vielen anderen Platten wie Kleber haften. Da Glue-Datensätze wenige oder keine detaillierten Attributwerte enthalten, können sie mit vielen verschiedenen Datensätzen übereinstimmen. Das Abgleichverhalten eines Glue-Datensatzes kann versehentlich und falsch sehr große Entitäten erstellen, die nur einen einzigen Klebe-Datensatz mit niedriger Qualität gemeinsam haben.
Betrachten Sie als vereinfachtes Beispiel einen Datensatz mit niedriger Qualität, der keine anderen Attribute als einen Namen hat, wie z. B. "John Smith". Ein solcher Datensatz kann ohne großen Aufwand mit einem beliebigen anderen "John Smith" im Dataset übereinstimmen, sodass andere Datensätze, die andernfalls nicht abgeglichen würden, in eine einzelne "John Smith" -Entität eingeschlossen werden.
Durch Festlegen eines Grenzwerts für Glue-Datensätze im Abgleichsalgorithmus für jeden Entitätstyp können Datenentwickler verhindern, dass Glue-Datensätze die Bildung großer, schlecht übereinstimmender Entitäten verursachen.
Wenn ein Schwellenwert für Glue-Datensätze konfiguriert ist, ermittelt IBM Match 360 Glue-Datensätze anhand ihrer Selbstübereinstimmungsquote. Eine Selbstübereinstimmungsquote ist die Übereinstimmungsquote, die durch Vergleich eines Datensatzes mit sich selbst erzielt wird. Eine hohe Selbstübereinstimmungsquote gibt an, dass der Datensatz eine gute Anzahl von übereinstimmenden Attributen mit hoher Qualität aufweist.
IBM Match 360 identifiziert Glue-Datensätze, indem geprüft wird, ob ihre Selbstübereinstimmungsquote plus der Wert des Schwellenwerts für Glue-Datensätze kleiner als die Selbstübereinstimmungsquote des mittleren Datensatzes in der Entität ist. Wenn sie kleiner ist, wird der Datensatz als Glue-Datensatz betrachtet und nicht in die Entität eingeschlossen.
Die Schwellenwerte für Glue-Datensätze sind optional und werden nicht standardmäßig festgelegt. Der Leimdatensatzschwellenwert jedes Entitätstyps muss separat definiert werden.
So legen Sie einen Schwellenwert für einen Glue-Datensatz fest:
Greifen Sie auf die API-Schnittstelle IBM Match 360 zu und authentifizieren Sie sich.
Rufen Sie die JSON-Datei des vorhandenen Konfigurationsabgleichalgorithmus für den angegebenen Datensatztyp ab:
GET /mdm/v1/algorithms/{record_type}
Bearbeiten Sie auf Ihrer lokalen Maschine die JSON, um den Parameter
glue_threshold
unter dem entsprechenden Entitätstyp hinzuzufügen. Geben Sie einen numerischen Schwellenwert ein. (Löschen Sie den Parameter, wenn Sie einen vorhandenen Glue-Datensatzschwellenwert entfernen möchten.) Beispiel:locale: {...} encryption: {...} standardizers: {...} entity_types: person_entity: bucket_generators: {...} auto_link_threshold: 65 clerical_review_threshold: 55 glue_threshold: 20 compare_methods: {...}
Aktualisieren Sie den Abgleichalgorithmus IBM Match 360 :
PUT /mdm/v1/algorithms/{record_type}
Quellenspezifische Übereinstimmungsschwellenwerte konfigurieren
Datenentwickler können Schwellenwerte für manuelle Überprüfung und Schwellenwerte für autolink innerhalb des übereinstimmenden Algorithmus definieren, die für verschiedene Datensatzquellen spezifisch sind. Auf diese Weise kann Ihre Organisation den Abgleich unterschiedlich handhaben, je nachdem, wie vertrauenswürdig die Quelle ist.
Ihre Organisation verfügt möglicherweise über Datensätze aus verschiedenen Quellen, die jeweils unterschiedliche Attribute und unterschiedliche Qualitätsstufen verwenden. Durch die Konfiguration von Schwellenwerten für den Abgleich auf Datensatzquellenebene können Sie die Daten aus vertrauenswürdigen Quellen stärker abwägen als Daten aus weniger vertrauenswürdigen Quellen oder sogar einige Quellen von der Teilnahme am Abgleich ausschließen. Quellen, die vom Abgleich ausgeschlossen sind, können weiterhin als Referenzquellen im System verwendet werden.
Schwellenwerte auf Quellenebene sind optional und werden nicht standardmäßig festgelegt.
Schwellenwerte auf Quellenebene müssen für jeden Entitätstyp in Ihrem Datenmodell separat definiert werden. Zur Erinnerung: Jeder Entitätstyp hat eine eigene übereinstimmende Algorithmusdefinition.
Gehen Sie wie folgt vor, um übereinstimmende Schwellenwerte auf Quellenebene einzurichten:
Zugriff und Authentifizierung für die API-Schnittstelle IBM Match 360 .
Rufen Sie die vorhandene Konfigurationsdatei für übereinstimmende Algorithmen (im JSON-Format) für den Entitätstyp ab, den Sie konfigurieren wollen.
GET /v1/algorithms/{record_type}
On your local machine, edit the JSON to add the
source_level_thresholds
object under the appropriate entity type (such asperson_entity
). Beispiel:"person_entity":{ "auto_link_threshold":150, "clerical_review_threshold":120, "source_level_thresholds": { "src0": { "default":[165, 150], “srcxsrc” : { "src0": [null, null], "src1": [160, 130], "src2": [123, 111], "src3": [null, null] } }, "src1": { “srcxsrc” : { "src1": [160, 130], "src2": [123, 111], "src3": [136, 120], "src4": [120, null] } } } }
Weitere Informationen zu diesem Beispiel und Anleitungen zum Definieren des JSON-Objekts für den Schwellenwert auf Quellenebene finden Sie unter Beispiel für ein JSON-Objekt, das Schwellenwerte auf Quellenebene definiert.
Aktualisieren Sie den Abgleichalgorithmus IBM Match 360 :
PUT /v1/algorithms/{record_type}
Weitere Informationen zu Schwellenwerten auf Quellenebene finden Sie in den folgenden Unterabschnitten:
- JSON-Beispielobjekt für Schwellenwerte auf Quellenebene
- Schwellenwertergebnisse auf Quellenebene bewerten
- Schwellenwerte auf Quellenebene und Bewertungen von Paaren
JSON-Beispielobjekt für Schwellenwerte auf Quellenebene
Im folgenden JSON-Beispiel sehen Sie ein Snippet der Konfigurationsdatei für übereinstimmende Algorithmen, die Schwellenwerte auf Quellenebene für die Personenentität definiert.
"person_entity":{
"auto_link_threshold":150,
"clerical_review_threshold":120,
"source_level_thresholds": {
"src0": {
"default":[165, 150],
“srcxsrc” : {
"src0": [null, null],
"src1": [160, 130],
"src2": [123, 111],
"src3": [null, null]
}
},
"src1": {
“srcxsrc” : {
"src1": [160, 130],
"src2": [123, 111],
"src3": [136, 120],
"src4": [120, null]
}
}
}
}
Erläuterungen zum vorherigen Beispiel:
- Der standardmäßige globale Autolink-Schwellenwert ist 150.
- Der Standardschwellenwert für globale manuelle Überprüfung ist 120.
- src0, src1, src2, src3und src4 sind Beispiele für Quellennamen.
- Innerhalb des Objekts
source_level_thresholds
sind Quellenschwellenwerte für zwei Quellen definiert: src0 und src1.
Allgemeine Anleitung:
- Unter jeder Quelle im Objekt
source_level_thresholds
können Sie optional die standardmäßigen globalen Übereinstimmungsschwellenwerte für diese Quelle überschreiben, indem Sie den Parameterdefault
verwenden. - Unter jeder Quelle können Sie ein Array von Quellen-zu-Quelle-übereinstimmenden Schwellenwerten unter der Eigenschaft
srcxsrc
definieren. Diese Schwellenwerte werden beim Vergleichen von Datensätzen aus den aufgelisteten Quellen verwendet. - Innerhalb des Arrays haben die Werte in eckigen Klammern das folgende Format:
[autolink-threshold, clerical-threshold]
.[136, 120]
gibt also an, dass für den angegebenen Vergleich von Quelle zu Quelle der Schwellenwert für Autolink 136 und der Schwellenwert für die manuelle Überprüfung 120 beträgt. - Wenn beide Werte angegeben werden, sollte der Schwellenwert für autolink immer höher sein als der Schwellenwert für die manuelle Überprüfung.
- Wenn der Wert
null
angegeben wird, wird dieser Schwellenwert inaktiviert. - Wenn beide Werte in einem Paar als
null
angegeben werden, ist der Abgleich und die Verknüpfung zwischen den beiden Quellen inaktiviert. - Wenn beide Werte
null
sind und die beiden angegebenen Quellen identisch sind, wird die Quelle nur als Referenzquelle betrachtet. Beispiel:src0
ist die Referenzquelle fürsrc0
im vorherigen JSON-Beispiel. Jede Entität, die nur Datensätze aus Referenzquellen enthält, ist nicht funktionsfähig.
Schwellenwertergebnisse auf Quellenebene bewerten
Wenn Sie Schwellenwerte auf Quellenebene in Ihrem angepassten Abgleichalgorithmus konfiguriert haben, verwenden Sie die folgende REST-API-Methode, um Scoring-Details abzurufen.
POST /v1/compare/?details=debug&crn={CRN}&entity_type={entity_type}&record_type={record_type}
Verwenden Sie die von dieser Methode zurückgegebenen Informationen, um die Ergebnisse zu bewerten und, falls erforderlich, die Schwellenwertkonfiguration auf Quellenebene zu optimieren.
Schwellenwerte auf Quellenebene und Paarprüfungen
Schwellenwerte auf Quellenebene können überschrieben werden, wenn Sie die Optimierungsempfehlungen akzeptieren, die durch Paarprüfungen generiert wurden. Wenn Ihr Unternehmen die Paarprüfungsfunktion IBM Match 360 zum Generieren intelligenter Optimierungsempfehlungen verwendet oder verwenden will, ist es am besten, die Paarprüfungsaufgaben abzuschließen, bevor Sie Ihre Schwellenwerte auf Quellenebene definieren.
Wenn Sie bereits Schwellenwerte auf Quellenebene in angepassten Abgleichalgorithmen definiert haben, inaktivieren Sie die Funktion für Schwellenwerte auf Quellenebene, indem Sie die CR IBM Match 360 (mdm-cr
) bearbeiten. Verwenden Sie den folgenden Befehl, um Schwellenwerte auf Quellenebene in der CR zu inaktivieren:
oc patch mdm mdm-cr --type=merge -p '{"spec": {"mdm_matching": {"features": {"source_level_thresholds": {"enabled": false}}}}}'
Es kann 20-30 Minuten dauern, bis sich die Änderungsanforderung nach einer Änderung abgleicht. Die Pods des mdm-matching
-Service müssen ebenfalls erneut gestartet werden, um die aktualisierte Konfiguration anzuwenden. Bei Bedarf müssen diese Pods manuell neu gestartet werden.
Führen Sie den folgenden Befehl aus, um Schwellenwerte auf Quellenebene erneut zu aktivieren:
oc patch mdm mdm-cr --type=merge -p '{"spec": {"mdm_matching": {"features": {"source_level_thresholds": {"enabled": true}}}}}'
Nächste Schritte
Weitere Informationen
- IBM Match 360 with Watson-Abgleichalgorithmen
- In IBM Match 360
- Stammdaten erkunden
- Stammdaten konfigurieren
- Verwaltung von Stammdaten
Übergeordnetes Thema: Abgleichalgorithmus anpassen und stärken