Unterstützung eines automatisierten Kündigungsprozesses mit Kofax KTM

Keine Kommentare

Die Eingangsdokumente (Brief, Fax oder Email) bei einem unserer Versicherungskunden werden mit Kofax Capture erfasst und durch Kofax Transformation Modules (KTM) klassifiziert und die gewünschten Geschäftsdaten werden dann ebenfalls mit KTM extrahiert.

Durch die frühzeitige Klassifizierung der Dokumente in KTM als Kündigung, kann die Versicherung zeitnah Aktionen starten, um den Kunden eventuell doch noch zu halten. Die dennoch verbleibenden durchzuführenden Kündigungsprozesse sollen dann möglichst automatisiert durchgeführt werden. Dazu musste mit KTM das im Schreiben angegebene Kündigungsdatum extrahiert werden, um damit die nachfolgenden Prozesse starten zu können.

Bei der Realisierung mit KTM Formatlokatoren und regulären Ausdrücken gab es Probleme mit der Datumsextraktion sobald Zeilenumbrüche innerhalb der zu suchenden Kündigungsformulierungen vorkamen. Im Folgenden wird erläutert wie wir diese Probleme mit KTM-Bordmitteln lösen konnten.

Bei Kündigungsschreiben existieren grundsätzlich zwei Arten, wie das Kündigungsdatum angegeben wird:

1. Explizite Angabe des Datums: … kündige ich zum 31.12.2016 meinen

2. Indirekt Datumsangabe: … kündige ich den Vertrag zum nächstmöglichen Termin

Beide Varianten kann man recht einfach mit KTM-Format-Lokatoren und regulären Ausdrücken verarbeiten.

 

1. Bei explizit angegebenem Datum kann man z.B. wie folgt vorgehen:

01

02

03

Der Lokator liefert dann, wie zu erwarten, das gewünschte Datum:

04

Werden allerdings die Worte aus den Evaluierungseinstellungen (zum, dem, usw.) vom eigentlichen Datum nicht durch Leerstellen, sondern durch einen Zeilenumbruch getrennt, versagt der Formatlokator:

05

Abhilfe schafft hier z.B. eine Kombination aus Formatlokatoren und einem Geometrieevaluator:

Ein Formatlokator sucht die Worte (zum, dem, usw.) am Zeilenende:

06

Das $-Zeichen sorgt dafür, dass nur die Worte an einem Zeilenende gefunden werden.

Ein weiterer Formatlokator sucht nur nach Datumsangaben, die zu Beginn einer Zeile stehen:

07

Das ^-Zeichen zu Beginn des regulären Ausdrucks sorgt dafür, dass nur Datumsangaben an einem Zeilenanfang gefunden werden.

Nun kann mit einem Geometrieevaluator nach allen Datumsangaben unterhalb des Wort-Formatlokators gesucht werden:

08

09

Anhand der entfernungsabhängigen Konfidenz kann man nun das Ergebnis des Geometrieevaluators akzeptieren.

Alternativ zum Geometrieevaluator könnte per Skript überprüft werden, ob das Resultat des Datums-Formatlokators eine Zeile unterhalb des Ergebnisses des Wortlokators liegt.

2. Bei den indirekten Datumsangaben bietet sich eine ähnliche Vorgehensweise an:

Liegt eine der indirekten Datumsangaben vor (zum nächstmöglichen Zeitpunkt, zum nächstmöglichen Termin, zum nächsten zulässigen Termin, usw.), war für die weitere Verarbeitung der Kündigung die Weitergabe eines Dummy-Datums gewünscht.
In diesen Fällen wird dann der 01.01.1970 weitergegeben.

Eine einfache Möglichkeit dies mit Formatlokatoren durchzuführen, wäre die folgende:

10

In der Praxis haben wir vom Fachbereich eine lange Liste mit möglichen Formulierungen bekommen. Der Umfang dieser Liste wird im weiteren Verlauf noch eine Rolle spielen.

Der Lokator liefert einen Treffer, sobald eine der Formulierungen im Dokument vorkommt:

11

Wird durch den Formatlokator eine der Formulierungen gefunden, muss das Datum per Skript nur noch auf den 01.01.1970 gesetzt werden.

Allerdings versagt auch hier der Formatlokator sobald die Worte einer der gesuchten Formulierungen durch einen Zeilenumbruch getrennt werden:

12

Aufgrund der Vielzahl der möglichen Wort-/Zeilenumbruchskombinationen ist hier keine einfache Lösung mit einem Geometrieevaluator möglich bzw. sinnvoll. Eine Lösungsmöglichkeit wäre die Suche nach den Formulierungen im von der OCR-Engine gelieferten Volltext des Dokuments.

Dabei wäre es natürlich vorteilhaft, wenn man im Skript die bereits im Formatlokator ‚DatumIndirekt‘ als RegEx definierten Formulierungen auslesen und benutzen könnte. Dadurch müssten die – in der Praxis sehr umfangreichen – Formulierungen nur in dem Formatlokator ‚DatumIndirekt‘ gepflegt werden.

Dazu muss das Skript zunächst einmal die im Formatlokator definierten Begriffe auslesen. Hierzu wird zunächst die zu KTM gehörende ‚Kofax Cascade Regular Expressions Locator‘-DLL in der Skript-Umgebung referenziert:

ktm-referenz

Im Skript können dann mit der folgenden Funktion die RegEx-Einträge (also die gewünschten Formulierungen) des Lokators ausgelesen und nach ihnen im OCR-Volltext gesucht werden:

Function TermFound(ByVal pXDoc As CASCADELib.CscXDocument) As Boolean

   'Returns True, if the terms from locator 'DatumIndirekt' are found within the OCR fulltext

   Dim oLocator As CscRegExpLib.CscRegExpLocator
   Dim i As Integer
   Dim Terms() As String
   Dim Fulltext As String

   'Init Returncode with False
   TermFound=False

   'get Format Locator 'DatumIndirekt'
   Set oLocator = Project.ClassByName("YourClass").Locators.ItemByName("DatumIndirekt").LocatorMethod

   ReDim Terms(oLocator.RegularExpressions.Count-1)

   'Put the RegEx-Expressions from Format Locator 'DatumIndirekt' into the array Terms()
   For i=0 To oLocator.RegularExpressions.Count-1
      Terms(i)= oLocator.RegularExpressions.ItemByIndex(i).RegularExpression
   Next

   'Now get the OCR fulltext from page 1
   Fulltext=pXDoc.Pages.ItemByIndex(0).Text

   'Remove empty spaces, CR and LF
   Fulltext=Replace(Fulltext,Chr(9),"") 'Tab
   Fulltext=Replace(Fulltext," ","") 'blank
   Fulltext=Replace(Fulltext,Chr(13),"") 'CR
   Fulltext=Replace(Fulltext,Chr(10),"") 'LF
   '...

   'Search for Terms() in Fulltext
   For i=0 To oLocator.RegularExpressions.Count-1
      If InStr(Fulltext,Terms(i))>0 Then
         'Bingo! Return True
         TermFound=True
         Exit For
      End If
   Next

End Function

Mit diesem Konstrukt muss man dann nur noch die Formulierungen im Lokator ‚DatumIndirekt‘ pflegen. Es werden dann alle Formulierungen sowohl mit als auch ohne ’störenden‘ Zeilenumbruch gefunden.

Will man die Formulierungen nicht direkt im Formatlokator pflegen, sondern eventuell in einer externen Textdatei, kann man eine ähnliche Technik verwenden, um die regulären Ausdrücke eines Formatlokators während der Laufzeit zu verändern. Siehe dazu:

Kofax Transformation Modules – Formatlokatoren und dynamische reguläre Ausdrücke

Kofax Transformation Modules – Formatlokatoren und dynamische reguläre Ausdrücke – Teil 2

 

 

Jürgen Voss

Jürgen Voss unterstützt unsere Kunden bei der Erfassung von Eingangsdokumenten, deren Klassifikation samt Datenextraktion und anschließendem Starten der Geschäftsprozesse.

Die erfassten Dokumente werden dabei in Dokumentenmanagement-systemen wie CenterDevice oder Archivsystemen sicher abgelegt. Dazu zählt auch die E-Mail-Archivierung und die Ablage über die SAP-Archivierungsschnittstelle ArchiveLink.

Share on FacebookGoogle+Share on LinkedInTweet about this on TwitterShare on RedditDigg thisShare on StumbleUpon

Kommentieren

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.