Volltext - an der Universität Duisburg
Transcrição
Volltext - an der Universität Duisburg
KI-Methoden zur Email-Archivierung Technologische Studie zum „Inbox-Szenario“ Ingo Frommholz und Norbert Fuhr 8. November 2006 UNIVERSITÄT D U I S B U R G E S S E N Fakultät für Ingenieurwissenschaften Universität Duisburg-Essen 47048 Duisburg Zusammenfassung Thema dieser Studie ist das so genannte „Inbox-Szenario“, bei dem es um die Bearbeitung und Archivierung eingehender Emails geht. Um die in der Regel große Menge solcher Emails zu bearbeiten, bedarf es der Unterstützung eines persönlichen Email-Assistenten. Wir beschreiben mögliche Use Cases im Inbox-Szenario und konzentrieren uns dann auf die Kategorisierung hinsichtlich verschiedener Facetten und der Extraktion von relevanten Informationen aus Emails. Als Beispielkollektion dient uns dabei der vor einigen Jahren freigegebene Enron-Korpus, der insgesamt aus 619.446 Nachrichten von 158 Benutzern enthält und somit sehr repräsentativ für das Benutzerverhalten bei der EmailKategorisierung ist. Die Email-Klassifikation unterscheidet sich von der Textklassifikation, da wir es hier mit sehr heterogenen Kriterien beim Anlegen eines Kategorienschemas zu tun haben, und das Ablegen von Emails in diese Struktur ein äußerst dynamischer Prozess ist. Das Folderschema sowie deren Inhalt sind ständigen Veränderungen unterzogen, die ein Kategorisierungsverfahren zu berücksichtigen im Stande sein sollte. Folgende Schlüsse können dabei aus der Literatur gezogen werden: • Support Vector Machines erzielen, wie schon in der Textklassifikation, die zumeist besten Kategorisierungsergebnisse; • andere Klassifizierer sind interessant, wenn es z.B. um die Effizienz der Kategorisierung geht oder wenn der Klassifizierer im Stande sein soll, inkrementell zu arbeiten; • regelbasierte Ansätze sind eine interessante Alternative zu den anderen Verfahren, da sich hier die Kategorisierungsentscheidung besser erklären lässt und Regeln auch manuell verändert bzw. neu angelegt werden können. Der Benutzer selbst bekommt also mehr Kontrolle über das Geschehen. Wir betrachten neben den Machine-Learning-Verfahren, für die uns die Ergebnisse von Experimenten aus der Email-Domäne vorliegen, auch andere Verfahren, die bisher hauptsächlich zur Textklassifikation eingesetzt wurden: • Mittel probabilistischer, entscheidungsorientierter Ansätze ist es möglich, verschiedene Term- und Dokumenteigenschaften (z.B., ob ein Term im Betreff einer Email auftaucht) zu berücksichtigen. Regressionsfunktionen können nun eine Indexierungsfunktion berechnen, mit der Terme sowohl der vorhandenen Kategorien als auch neu einzusortierender Emails gewichtet werden können. • Unterschiedliche Kategorisierungsstrategien wie k-Nearest-Neighbour oder der Megadokumenten-Ansatz können auf dermaßen indexierte Dokumente bzw. Folder angewendet werden. 4 • Ein Ranking absteigend nach der berechneten Wahrscheinlichkeit P(d → C ), dass ein Dokument eine Kategorie impliziert, kann potentiell zu minimalem Benutzeraufwand führen. • Dr. Holthausen-Netzwerke stellen eine weitere Möglichkeit der EmailKategorisierung dar, wobei diese mit den entscheidungsorientierten Ansätzen kombiniert werden können. • Verfahren zum Lernen probabilistischer Regeln verknüpfen die Vorteile der regelbasierten Verfahren mit Methoden der Wahrscheinlichkeitstheorie. Neben der Email-Klassifikation stellt die Informationsextraktion einen weiteren Schwerpunkt dieser Studie dar. Bei der Informationsextraktion geht es darum, zu vorgegebenen Templates oder Frames geeignete Instanzen aus Emails zu extrahieren. Wir zeigen, dass sowohl die Bearbeitung als auch die Archivierung von Emails von der Informationsextraktion profitieren kann. Ein beispielhaftes Szenario ist das eines Kontaktcenters, bei dem mittels Informationsextraktion Emails automatisch beantwortet werden, indem die relevante Information aus eingehenden Emails extrahiert und mit vorherigen Anwendungsfällen verglichen wird. Wir stellen danach einige Informationsextraktionsverfahren vor. Es bestätigt sich, dass die Informationsextraktion aus Texten eine sehr große Herausforderung darstellt. • Einfache Verfahren wie die Named Entity Recognition liefern gute Ergebnisse, die wir ebenso bekommen, wenn sehr strukturierte Daten vorliegen. • Je weniger Struktur die Texte haben, desto schlechter ist die Informationsextraktion. • Verfahren, die die Informationsextraktion mit Hilfe einer Kategorisierung von Textfragmenten (Einteilung in „enthält eine gesuchte Instanz“ oder „enthält keine gesuchte Instanz“) durchführen, liefern recht brauchbare Resultate, wobei wir noch davon entfernt sind, alle Informationen 100% genau zu extrahieren. • In Anwendungsfällen wie dem Indexieren von Emails gegen eine Ontologie oder dem Bereitstellen von Hintergrundinformationen ist ein perfektes Extraktionsergebnis gar nicht erforderlich, sondern wir können hier mit den auftretenden Unsicherheiten umgehen. Den Abschluss der Studie bildet ein Ausblick, in dem wir das Email-Szenario als Teil eines größeres Workflows sehen wollen. Emails können hier zweierlei Rolle spielen: 1. Eine eingehende Email kann bestimmten Problemklassen zur Weiterverarbeitung vorgelegt werden. Beispielsweise könnte eine eingehende Rechnung als solche erkannt und aus ihr die relevanten Daten extrahiert werden, die dann gemäß des vorliegenden Workflows weiter bearbeitet werden. 2. Das Email-Archiv kann so genannten wissensintensiven Aufgaben als wertvolle Informationsquelle dienen. Solche wissensintensiven Aufgaben produzieren in der kiib 5 Regel unterschiedliche Informationsbedürfnisse, die mit verschiedenen Methoden aus dem Information Retrieval (wie z.B. der Suche nach relevanten Emails oder auch nach Experten) gesättigt werden können. KI-Methoden zur Email-Archivierung Inhaltsverzeichnis 1 Einleitung 8 2 Anwendungsfälle und Problemstellungen im Inbox-Szenario 2.1 Das Inbox-Szenario . . . . . . . . . . . . . . . . . . . . . . . . 2.1.1 Beschreibung . . . . . . . . . . . . . . . . . . . . . . . 2.1.2 Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.3 Erweitertes Szenario: Ontologien und Annotationen 2.2 Problemstellung . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.1 Information Retrieval . . . . . . . . . . . . . . . . . . 2.2.2 Datenbanken . . . . . . . . . . . . . . . . . . . . . . . 2.2.3 Summarization . . . . . . . . . . . . . . . . . . . . . . 2.2.4 Informationsextraktion . . . . . . . . . . . . . . . . . 2.2.5 Kategorisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 10 10 10 13 15 15 16 16 16 17 3 Analyse der Datenbasis 18 3.1 Der Enron-Korpus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.2 Multifacettenklassifikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 4 Email-Kategorisierung 4.1 Bisherige Erfahrungen . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.1 Evaluierungsmaße . . . . . . . . . . . . . . . . . . . . . . . . 4.1.2 Verfahren aus der Textklassifikation . . . . . . . . . . . . . . 4.1.3 Regelbasierte Ansätze . . . . . . . . . . . . . . . . . . . . . . 4.1.4 Zusammenfassung der bisherigen Klassifikationsverfahren 4.2 Mögliche neue Ansätze . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.1 Probabilistische, entscheidungsorientierte Verfahren . . . . 4.2.2 Dr. Holthausen-Netzwerke . . . . . . . . . . . . . . . . . . . 4.2.3 Lernen probabilistischer Regeln . . . . . . . . . . . . . . . . 4.2.4 Andere Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . 5 Informationsextraktion 5.1 Überblick . . . . . . . . . . . . . . . . 5.2 Beispiel: Beantworten von Emails . . 5.3 Ansätze zur Informationsextraktion 5.3.1 WHISK . . . . . . . . . . . . . 5.3.2 SRV / Kategorisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 23 24 25 33 34 35 35 44 45 51 . . . . . 52 52 54 55 56 58 Inhaltsverzeichnis 5.4 5.5 7 5.3.3 ELIE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Beurteilung der Verfahren zur Informationsextraktion . . . . . . . . . . . . . Anwendung der Informationsextraktion im Inbox-Szenario . . . . . . . . . 62 63 64 6 Knowledge Intensive Tasks 65 6.1 Knowledge Intensive Tasks in Workflows . . . . . . . . . . . . . . . . . . . . 65 6.2 Emails und Knowledge Intensive Tasks . . . . . . . . . . . . . . . . . . . . . 66 7 Zusammenfassung und Ausblick 68 KI-Methoden zur Email-Archivierung 1 Einleitung Heutzutage sind Emails in der betrieblichen sowie privaten Kommunikation nicht mehr wegzudenken. Viele Benutzer erhalten täglich dutzende Emails, die auf eine passende Bearbeitung warten. Eine maschinelle Unterstützung bei der Verwaltung solcher EmailKollektionen kann dabei von großem Wert sein. So sorgen Spam-Erkennungsprogramme dafür, dass viel unerwünschte Email (so genannter Spam) erst gar nicht dem Benutzer präsentiert wird. Allerdings erfordert auch die Bearbeitung und Archivierung der erwünschten Email einen hohen kognitiven Aufwand vom Benutzer. Abhilfe kann hier mit der Bereitstellung eines persönlichen Email-Assistenten geschaffen werden, der den Benutzer bei den anfallenden Aufgaben im Zusammenhang mit der Email-Bearbeitung und Archivierung unterstützt. Dieser operiert auf der zu Grunde liegenden Email-Kollektion, wobei die Reichweite dieses Begriffes in sechs verschiedene Regionen eingeteilt werden kann, wie Tabelle 1.1 zeigt. Wir unterscheiden hier zunächst zwischen den gegenwärtigen und archivierten Emails. Erstere sind neu ankommende Mails, die einer Bearbeitung bedürfen. Letztere sind alte Emails, die in der Regel bereits bearbeitet wurden, aber eine wichtige Quelle für Hintergrundinformationen zur Bearbeitung neuerer Emails darstellen. Eine andere Dimension teilt die Email-Kollektion in den individuellen, organisatorischen und sozialen Bereich ein. Bei der individuellen Kollektion handelt es sich um die persönliche Mailbox des Benutzers. Im organisatorischen Bereich befinden sich die Emails, die einer gesamten Organisation zugänglich sind. Der soziale Bereich umfasst öffentliche Mailinglisten und Archive. Wir gehen im Folgenden davon aus, dass alle gegenwärtigen Emails aus den Regionen A-C in der Inbox des Benutzers befinden und dort auf weitere Bearbeitung warten. Die zu den Regionen D-F gehörenden Emails liegen in der persönlichen Mailbox des Benutzers. Die Individuell Region A: Individuelle Gegenwärtig Inbox des Benutzers Region D: Individuelle Archiviert Mailbox des Benutzers Organisatorisch Region B: Email innerhalb einer Organisation Region E: Email-Archiv der Organisation Sozial Region C: Öffentliche Diskussion Region F: Öffentliche Email-Archive Tabelle 1.1: Interaktionstypen mit Email-Kollektionen (Perer u. a. 2005) 9 Inbox ist dabei als Teil der Mailbox anzusehen. Das Inbox-Szenario umfasst die Regionen A-C. Eine neue Email wird empfangen und in den Eingangskorb (Inbox) der Mailzugangs des Benutzers gelegt. Von dort aus soll nun der Benutzer bei der Weiterbearbeitung der Email unterstützt werden, sei es, indem das System ihm relevante Kontextinformationen zum Inhalt der Email berichtet, oder aber hilft, die Email und die möglichen Reaktionen darauf korrekt einzuordnen und zu archivieren. Dies umfasst insbesondere die Klassifikation von Emails, d.h. die Einsortierung in bestimmte Kategorien nach bestimmten Facetten, sowie die Informations- und Attributextraktion. Wir werden sehen, dass auch bereits archivierte Emails, also die Bereich D bis F, für uns relevant sind. Das Email-Archiv besteht dabei aus einer (hierarchischen) Ordneroder Folderstruktur, die vom jeweiligen Benutzer angelegt wurde. Im weiteren Verlauf dieser Studie werden wir zunächst einmal konkrete Problemstellungen ansprechen, bevor wir eine repräsentative Datenbasis, den Enron-Korpus, in Kapitel 3 analysieren. In den darauf folgenden Kapiteln 4 und 5 werden Methoden zur Klassifikation und Attributextraktion besprochen. Da das Inbox-Szenario häufig Ausgangspunkt für weitere Aktionen ist, werden wir die so genannten Knowledge Intensive Tasks besprechen, die das Inbox-Szenario im größeren Workflow-Kontext sehen. Dies geschieht in Kap. 6. Kapitel 7 schließlich fasst die Ergebnisse zusammen und gibt einen Ausblick auf zukünftige Aktivitäten. Diese Studie wurde von der EUREGIO im Rahmen eines von der Gemeinschaftsinitiative INTERREG IIIA unterstützten Projektes im Bereich „Künstliche Intelligenz im Betrieb“ (kiib) gefördert und von der d.velop AG in Gescher in Auftrag gegeben. KI-Methoden zur Email-Archivierung 2 Anwendungsfälle und Problemstellungen im Inbox-Szenario 2.1 Das Inbox-Szenario Es soll nun zunächst mal auf das zu Grunde liegende Szenario eingegangen werden. Dieser wird zuerst informell beschrieben; anschließend werden konkrete Anwendungsfälle diskutiert. 2.1.1 Beschreibung Ausgangspunkt unserer Problemstellung ist das so genannte Inbox-Szenario. In diesem Szenario gehen wir davon aus, dass der Benutzer einen Email-Zugang hat und neue Email in dem speziellen Mailordner „Inbox“ landet, wovon diese Mail dann weiter verarbeitet wird. Eine Email kann dabei in der Regel eine Fülle von möglichen Aktionen nach sich ziehen; auch können sich nach einer Zeit eine Menge Emails in der Inbox ansammeln, so dass der Benutzer vor dem Problem steht, aus der Fülle Emails die relevanten und wichtigen auszusuchen. Es geht also darum, den Benutzer beim Verwalten der einkommenden Emails zu unterstützen und ggf. bestimmte Aktionen im Zusammenhang mit einer Email anzustoßen und zu unterstützen. Benutzer verwalten Emails i.d.R. indem sie eine, typischerweise hierarchische, Ordnerstruktur anlegen. Einkommenden Emails können zur Archivierung in geeignete Ordner verschoben werden und sind durch Browsing dieser Ordnerstruktur relativ einfach wieder aufzufinden. Idealerweise sollte ein System dabei Ordner automatisch vorschlagen, in denen sich eine Email geeignet einsortieren lässt. Neben dem Verwalten von Emails kann sollen diese natürlich auch bearbeitet werden. In diesem Sinne kann man das InboxSzenario als ein Element eines größeren Workflows ansehen – die Ankunft einer Email stößt i.d.R. weitere Aktionen an. Welche Aktion durchzuführen ist, hängt dabei von Art, Metadaten und Inhalt der Email ab. Ist es z.B. eine unerwünschte Email, so ist die einzige Aktion, diese ungelesen zu löschen. Andere Emails brauchen u.U. nur zur Kenntnis genommen werden. Emails die von bestimmten Personen (wie Vorgesetzten) kommen, sollten evtl. bevorzugt behandelt werden. 2.1.2 Use Cases Abbildung 2.1 zeigt mögliche Anwendungsfälle des Inbox-Szenarios (die allerdings nicht weiter spezifiziert werden sollen). Hat der Benutzer seinen Inbox-Ordner geöffnet, sieht 2.1 DAS INBOX-SZENARIO 11 Known-Item-Suche Recherchieren Diskussionssuche 0..* Email-Suche Suchagent Relevante Emails zeigen Personensuche Selektieren Kontext zeigen 0..* <<extend>> <<extend>> <<extend>> Öffnen Kontakt- und Termininfo anzeigen <<extend>> Benutzer <<extend>> Datenbankagent Zusammenfassen <<extend>> 0..* Extrahieren Manuell kategorisieren Extraktionsagent <<extend>> Autom. Priorisieren Kategorisieren Automatisch vorkategorisieren Kategorisierungsagent Priorisieren 0..* Benachrichtigungsagent Benachrichtigen Abbildung 2.1: Use Cases des Inbox-Szenarios er alle sich dort befindlichen Emails. Hier hat er nun mehrere Aktionsmöglichkeiten. Der Benutzer kann zunächst mal über die Menge der Emails recherchieren1 . Mögliche Recherchen beinhalten, neben anderen, die Known-Item-Suche, bei der der Benutzer ein schon einmal gesehenes Dokument wiederfinden möchte. Die Email-Suche dient dem Wiederauffinden von bereits archivierten Emails; der Benutzer kann dabei eine Anfrage formulieren und das System erstellt eine Rangliste von Emails, die zu dieser Anfrage passen. Die Diskussionssuche ist ähnlich der Email-Suche, allerdings sollen hier relevante Beiträge aus Diskussionen gefunden, etwa um eine Entscheidungsgrundlage zu bekommen. Dementsprechend kann versucht werden, gezielt nach Pro- oder Kontra-Argumenten zu einem Thema zu suchen, und es wird i.d.R. die Thread-Struktur als struktureller Kontext aus1 Streng genommen beziehen sich die Recherchemöglichkeiten nicht auf die Inbox allein, sondern auf den gesamten Mailkorpus des Benutzers KI-Methoden zur Email-Archivierung 12 2 ANWENDUNGSFÄLLE UND PROBLEMSTELLUNGEN IM INBOX-SZENARIO genutzt. Bei der Personensuche sollen zu einer gewissen Aufgabe relevante Personen, z.B. Experten, gefunden werden. Eine weitere vom Benutzer ausführbare Aktion ist die automatische Priorisierung. Diese bezieht sich direkt auf die Inbox und veranlasst, dass Emails, die einer schnellen Behandlung bedürfen, hervorgehoben dargestellt werden. Dies ist insbesondere wichtig, wenn Benutzer nach einer Zeit lang (z.B. am nächsten Morgen oder nach einer Sitzung) die neu angekommenen Emails lesen wollen. Wie eine Studie zeigt, lesen Anwender gerne Emails in der Reihenfolge ihrer Priorität (Venolia u. a. 2001). Neben den vorher genannten Aktionen kann der Benutzer eine Email selektieren. Die Auswahl einer Email führt in der Regel zu weiteren Aktionen; der Benutzer kann die selektiere Email nun öffnen und sie sich ansehen. Um angemessen auf den Inhalt zu reagieren, muss der Benutzer in der Regel Kontextinformationen einholen. So kann es nützlich sein, relevante Emails anzuzeigen (wobei das angewandte Relevanzkriterium hier unberücksichtigt gelassen werden soll), um wertvolle Hintergrundinformationen für einen Vorgang zu bekommen. Werden Personen in der Email erwähnt, können die zugehörigen Kontaktinformationen angezeigt werden. Werden Termine in der Email vorgeschlagen, können alle eigenen Termine, die in den angesprochenen Zeitraum fallen, aus dem persönlichen Terminkalender extrahiert und angezeigt werden. Bevor der Benutzer eine selektierte Email liest, möchte er sich evtl. vorher ein Bild über den Inhalt machen. Dazu wäre es sinnvoll, eine automatische Zusammenfassung des Email-Inhalts erstellen zu lassen. Der Benutzer kann danach entscheiden, ob er den gesamten Inhalt liest oder ob ihm die Zusammenfassung reicht. Ferner wäre es interessant, die je nach Dokumenttyp relevanten Informationen zu extrahieren. Handelt es sich bei einer Email um einen Auftrag, so können die Auftragsdaten extrahiert und ggf. automatisch weiterverarbeitet werden. Sobald Emails bearbeitet wurden, sollten sie archiviert werden. Benutzer bevorzugen dabei die Möglichkeit, eine hierarchische Orderstruktur zu nutzen (Venolia u. a. 2001). Emails können in die einzelnen Ordner kategorisiert werden. Die Kategorisierung kann manuell vorgenommen werden. Es kann aber auch eine automatische Vorkategorisierung stattfinden, in denen relevante Kategorien aus der gegebenen Ordnerstruktur des Benutzers automatisch ausgewählt und dem Benutzer vorgeschlagen werden. Basierend auf diesem Vorschlag kann dann letztendlich eine manuelle Kategorisierung stattfinden. Schließlich sollte es dem Benutzer möglich sein, eine ausgewählte Email manuell zu priorisieren, etwa, um eine vorherige automatische Priorisierung zu korrigieren oder aber geänderte Prioritäten zu vergeben, wenn etwa die dringendsten Aktivitäten schon veranlasst wurden und eine Email erst später wieder vorgelegt werden muss. Ein spezieller Use Case ist Benachrichtigen. Hier geht die Aktion vom System aus, das den Benutzer über den Eingang neuer Emails informiert. Dabei ist von Nachteil, dass diese Benachrichtigung bei jeder eingehenden Email geschieht (Venolia u. a. 2001); besser wäre es, wenn der Benutzer entscheiden könnte, nur bei eingehenden Emails ab einer gewissen Wichtigkeit oder Priorität von seiner aktuellen Tätigkeit abgelenkt zu werden. Die oben spezifizieren Use Cases sollen mit Hilfe von spezielle Agenten realisiert werden, die im Diagramm als gesonderte Akteure auftreten. So kann ein Suchagent herange- kiib 2.1 DAS INBOX-SZENARIO 13 zogen werden, wenn es um die einzelnen Rechercheaufgaben geht oder nach relevanten (z.B. ähnlichen) Emails gesucht wird. Ein Extraktionsagent wiederum hat die Aufgabe, relevante Informationen aus der Email zu ziehen, die dann Datenbankagenten genutzt wird, um zugehörige Kontextinformation zu bereitzustellen. Wurde z.B. der Name einer Person extrahiert, kann nun in der Datenbank die jeweilige Kontaktinformation nachgefragt werden. Schließlich kann die automatische Vorkategorisierung von einem bestimmten Kategorisierungsagenten vorgenommen werden; ein derartiger Agent kann auch zur Priorisierung benutzt werden, da eine Priorisierung eine Einteilung in verschiedene Klassen wie „dringend“ und „nicht dringend“ ist. Ein spezieller Benachrichtigungsagent sorgt für die Benachrichtigung des Benutzers nach Eingang einer neuen Email. Um eine eingehende Email nach Wichtigkeit und Priorität beurteilen zu können, kann der Benachrichtigungsagent hierbei vom Kategorisierungsagenten gebrauch machen. 2.1.3 Erweitertes Szenario: Ontologien und Annotationen Heutige Mailprogramme lassen es zu, dass der Benutzer seine Emails in einer hierarchischen Ordnerstruktur ablegen kann. Eine solche Hierarchie hat aber gewisse Nachteile, da zwischen den einzelnen Ordnern nur eine hierarchische Beziehung hergestellt werden kann. Eine Email können aber hinsichtlich verschiedener Facetten betrachtet werden, wie das in Abb.2.2 skizzierte Beispiel darlegen soll. Hier haben wir es mit einer Reisebestätigung einer Fluggesellschaft zu tun, auf der die Daten für eine Dienstreise zu finden sind. Dienstreisen sind häufig an Projekte gebunden, also wäre der naheliegendste Weg, die Email in den Ordner, in dem sich alle dieses Projekt betreffende Emails befinden, einzusortieren (eventuell in einen Unterordner, der nur Dienstreisen betrifft). Auf diese Weise lassen sich zwar die Emails zu Dienstreisen, die ein bestimmtes Projekt betreffen, schnell auffinden, aber das Problem fängt schon an, wenn wir nach allen Dienstreisen, unabhängig vom Projekt, suchen wollen – hier müssten wir alle . Folder, die Dienstreisen enthalten, besuchen, oder aber hoffen, mit einer Volltextsuche über die Mailbox alle relevanten Emails zu finden. Es wäre also sinnvoll, Emails in eine komplexere Datenstruktur zu indexieren, die ein schnelles Auffinden hinsichtlich verschiedener Facetten und Informationsbedürfnisse ermöglichen. Unser Vorschlag wäre hier, Emails mit den Instanzen einer Ontologie zu annotieren. Ontologien sind ein formal definiertes System von Konzepten (oder auch Klassen) und Relationen, die zudem noch aus Inferenz- und Integritätsregeln bestehen können. Konzepte enthalten dabei bestimmte Attribute, die die jeweilige Klasse beschreiben. Instanzen eines Konzepts (oder einer Klasse) sind die Objekte der Ontologie. Mit Ontologien lassen sich recht komplexe Wissenstrukturen modellieren, die sich zur Recherche in einem Email-Archiv ausnutzen lassen. So könnte es in unserem obigen Beispiel sinnvoll sein, die Konzepte „Reise“ und „Projekt“ mit entsprechenden Attributen anzulegen. Für jede Dienstreise könnte nun eine neue Instanz angelegt und mit einer Projekt-Instanz verknüpft werden. Ferner könnten alle Instanzen Referenzen zu relevanten Email enthalten. Somit wäre die Bearbeitung komplexerer Suchanfragen möglich. Wird beispielsweise nach den Emails eines bestimmtem Projekts gesucht, könnten dem Benutzer die Email- KI-Methoden zur Email-Archivierung 14 2 ANWENDUNGSFÄLLE UND PROBLEMSTELLUNGEN IM INBOX-SZENARIO Verweise der entsprechenden “Projekt“-Instanz präsentiert werden. Benötigt der Benutzer die Emails über die im Rahmen eines Projektes getätigten Dienstreisen, so könnte das System eine Schnittmenge der Emails der Projektinstanz mit denen aller Reiseinstanzen, die mit diesem Projekt verknüpft sind, ausgeben. Abbildung 2.2: Beispielemail mit Ontologie und Annotation Natürlich sollten auch weitere relevante Konzepte in der Ontologie modelliert werden, wobei auch externe Quellen herangezogen werden können. Man könnte sich z.B. vorstellen, Personen aus dem eigenen Adressbuch in die Ontologie einzufügen, oder Informationen über Orte, Städte und Länder. Es ist weiterhin heutzutage möglich, einer Email ein Flag mitzugeben, das z.B. anzeigt, ob eine Mail wichtig ist oder es zu einer ToDo-Liste zuzuweisen ist. Allerdings kann es vorkommen, dass man eine Email erst nach einiger Zeit bearbeitet und Ideen, Gedanken oder auch Direktiven zur weiteren Bearbeitung, die man beim erstmaligen Öffnen der Email bekommen hat, wieder vergessen sind. Evtl. fragt man sich sogar, warum man eine Email einst als „wichtig“ eingestuft hat. Hier können Annotationen im Sinne von Textkommentaren weiterhelfen, wie man sie in Abbildung 2.2 sieht. kiib 2.2 PROBLEMSTELLUNG 15 2.2 Problemstellung Aus dem im letzten Abschnitt diskutierten Use Cases ergeben sich einige Problemstellungen, die in dieser Studie hinsichtlich möglicher Lösungen untersucht werden sollen. Wir beschäftigen uns, mehr oder weniger ausführlich, mit den folgenden Fachgebieten: Information Retrieval, Datenbanken, Informationsextraktion, Summarization und Kategorisierung. 2.2.1 Information Retrieval Hier geht es vornehmlich um Lösungen, die für die Implementierung des Suchagenten nötig sind. Für die einzelnen Use Cases ergeben sich dabei folgende Problemstellungen: Known-Item-Suche Ziel hierbei ist es, aus bisher gelesenen Emails eine bestimmte, wichtige Email wiederzufinden. Ein typisches Anwendungsbeispiel hier ist die Suche nach Ankündigungen für Projekttreffen, die auch Zeit und Ort dieses Treffens beinhalten. Andere Beispiele sind das Wiederfinden von Protokollen oder anderen wichtigen Informationen. Es wird klar, dass es sich bei der Known-Item-Suche nicht um ein ausschließliches Suchproblem handelt, da auch andere Techniken wie die Dokumentklassifikation und Informationsextraktion hier gewinnbringend eingesetzt werden können. Email-Suche Hier geht es darum, thematisch relevante, bereits archivierte Emails zu finden. Der Benutzer stellt dabei eine Anfrage; Emails sind die Dokumente, über denen gesucht wird. Das System berechnet eine Rangordnung der Emails gemäß ihrem Retrievalgewicht. Diskussionssuche Ähnlich wie bei der Email-Suche geht es bei der Diskussionsuche darum, aus Email-Diskussionen thematisch relevante Emails zu finden. Als weiterer Schritt kann versucht werden, zusätzlich noch diejenigen Emails zu finden, die ein Pro oder Kontra zu einem gegebenen Thema enthalten. Dies kann z.B. wichtig für die Entscheidungsfindung sein. Diskussionsbeiträge sind dabei in so genannte Threads organisiert, die sich durch die Beziehungen der Emails als Antworten auf andere Emails ergeben. Verfahren zur Diskussionssuche können diese Threadstruktur zum Retrieval ausnutzen. Personensuche Hier geht es darum, relevante Personen zu finden. Ein Beispiel hierfür ist die Expertensuche. Hier sollen anhand von Emails Experten zu einem bestimmten Thema identifiziert werden. Ein Anwendungsbeispiel ist, einen geeigneten Kontakt für ein Problem zu finden. Das System würde dann anhand der Emails eine Liste von geeigneten Personen ausmachen und dem Benutzer diese präsentieren. Relevante Emails zeigen Welche Emails als „relevant“ einzuschätzen sind, ist ein breit gefächertes Thema. Eine Definition von „Relevanz“ wäre „Ähnlichkeit“ – relevante KI-Methoden zur Email-Archivierung 16 2 ANWENDUNGSFÄLLE UND PROBLEMSTELLUNGEN IM INBOX-SZENARIO Emails wären in diesem Fall thematisch ähnliche Emails, so dass wir es hier mit einem typischen Suchproblem zu tun haben. Die aktuelle Email kann dabei als eine Anfrage an den Email-Korpus gesehen werden, wobei das System dann eine Rangordnung von Emails gemäß deren Ähnlichkeit zur Ursprungsmail erstellt. Die o.g. Problemstellungen sollen in dieser Studie nicht weiter betrachtet werden. Für die Known-Item-Suche, die Personensuche und die Diskussionssuche sei an dieser Stelle auf die Ergebnisse des letztjährigen TREC Enterprise-Track (siehe Voorhees u. Buckland 2005) verwiesen; hier wurden Verfahren erprobt, die auf die o.g. Problemstellung hinzielen. 2.2.2 Datenbanken Zur Implementierung des Datenbank-Agenten sind klassische Datenbank-Anfragen nötig, deshalb soll diese Thematik hier nicht mehr weiter behandelt werden. 2.2.3 Summarization Bei der Summarization geht es darum, aus einem gegebenen Dokument oder aber aus einer Menge von Dokumenten eine geeignete Zusammenfassung zu erstellen. Dementsprechend sind diese Methoden für den Zusammenfassen Use Case interessant. Allerdings wollen wir in dieser Studie auf die Summarization nicht weiter eingehen. Zur Übersicht sei daher auf (Mani u. Maybury 1999) verwiesen. 2.2.4 Informationsextraktion Hierbei geht es darum, semantische Informationen aus dem Text zu extrahieren. Typische Beispiele sind das Erkennen von Personen, Orten und Terminen. Von Lösungen aus dem Gebiet der Informationsextraktion können dabei folgende Use Cases profitieren: Kontakt- und Termininfo zeigen Aus Sicht der Informationsextraktion ist hier die Aufgabe, aus dem Text Namen und Termine zu extrahieren. Mittels einer Datenbankabfrage kann dann z.B. aus dem persönlichen Adressbuch die Kontaktdaten der extrahierten Personen angezeigt werden. Für extrahierte Termine könnte eine Anzeige aus dem persönlichen Kalender die Information liefern, ob der Benutzer zu dem genannten Termin Zeit hat oder nicht. Wir stehen hier also vor der unmittelbaren Problemstellung, dass zunächst einmal Personen und Termine erkannt und mit entsprechenden Einträgen in der Datenbank assoziiert werden müssen. Das Erkennen von Personen und Terminen kann u.U. mit regulären Ausdrücken geschehen, wobei sich hier das Problem ergibt, wie mit unvollständigen Angaben (z.B. wurde nur ein Vorname erkannt) umgegangen wird. Relevante Emails zeigen Wir haben gesehen, dass dieser Anwendungsfall zunächst eine Problemstellung des Information Retrieval darstellt. Die Informationsextraktion kiib 2.2 PROBLEMSTELLUNG 17 kann aber auch hier Hilfestellung leisten, wie wir in Abschnitt 5.5 diskutieren werden. Extrahieren Hier geht es darum, aus einer Email relevante Daten zu extrahieren. Handelt es sich beispielsweise um eine Auftragsbestätigung, so sind die entsprechenden Posten wie Auftragsnummer, Lieferdatum etc. zu extrahieren. Wir suchen also nach Verfahren, die vorgegebene Daten aus einer Email extrahieren können. 2.2.5 Kategorisierung Ein großer Teil der Problemstellungen fällt in den Bereich der Email-Kategorisierung. Kategorisierungsmethoden können dabei auf mehreren Ebenen hilfreich sein: • Im Kategorisierungs-Use-Case geht es darum, dass Benutzer eine Email in ein oder mehrere Ordner einsortieren wollen. Hierbei haben wir mit einer hierarchischen Kategorisierung zu tun, da in gängigen Emailsystemen die Möglichkeit besteht, ein hierarchische Ordnerschema anzulegen. Aufgabe der Email-Folder-Kategorisierung ist es, für eine automatische Vorkategorisierung der Daten die passenden Ordner innerhalb der Ordnerstruktur zu finden. • Auch zur Priorisierung können Kategorisierungsverfahren angewendet werden, wenn man die Aufgabe der Priorisierung als Kategorisierung in verschiedene Prioritätsklassen ansieht. Ferner kann die Kategorisierung eine Schlüsseltechnologie bei der Entscheidungsfindung des Benachrichtigungsagenten sein, um herauszufinden, ob eine neu angekommene Email die benötigte Wichtigkeit und Priorität hat, um den Benutzer damit bei seiner primären Tätigkeit zu stören. Die bisherige Diskussion über die Anwendungsmöglichkeiten der Kategorisierung im Inbox-Szenario macht deutlich, dass den einzelnen Kategorisierungsaufgaben unterschiedliche Kategorienschemata zu Grunde zu legen sind. Global betrachtet ergibt sich daraus eine Multifacetten-Klassifikation, bei der die einzelnen Facetten unterschiedliche Kategorisierungsverfahren erfordern, bei denen unterschiedliche Features von Emails und deren Inhalten zum Tragen kommen können. Die sinnvolle Definition der Facetten und dazugehörigen Kategorienschema sollten dabei auf einer Analyse der vorhandenen Datenbasis basieren, wie sie im nächsten Kapitel durchgeführt wird. Gesucht sind also Kategorisierungsverfahren, die mit unterschiedlichen Facetten klar kommen. KI-Methoden zur Email-Archivierung 3 Analyse der Datenbasis Wir werden nun die für unsere weiteren Betrachtungen zu Grunde liegende Datenbasis, den Enron-Korpus beschreiben. Auf Basis dieser Kollektion haben wir eine MultifacettenKlassifikation zusammengestellt, die in Abschnitt 3.2 diskutiert wird. 3.1 Der Enron-Korpus Beim Enron-Korpus1 handelt es sich um eine große Menge von Email-Nachrichten der US-amerikanischen Firma Enron. Der Korpus wurde während des Verfahrens gegen Enron freigegeben. Es handelt sich dabei um Emails, die in den Mailboxen der ehemaligen Enron-Mitarbeitern zu finden sind. Wie eine Analyse von Klimt und Yang (Klimt u. Yang 2004) zeigt, enthält der Enron-Korpus 619.446 Nachrichten von 158 Benutzern. Klimt und Yang haben dabei eine Säuberung des Korpus vorgenommen und einige Ordner, die in den Mailboxen der meisten Benutzer auftraten, entweder als automatisch generiert („discussion_thread“ und „notes_inbox“) oder als Sammelbecken für Duplikate („all_documents“) identifiziert. Diese Ordner sind nicht geeignet für eine weitere Betrachtung, da für eine Kategorisierung in Ordner von einer vom Benutzer selbst angelegten Ordnerstruktur ausgegangen wird, die keine automatisch generierten Ordner enthalten soll. Der von diesen Ordnern bereinigte Korpus enthält noch 200.399 Nachrichten der 158 Benutzer mit einem Durchschnitt von 757 Emails pro Benutzer. Dabei stellt sich heraus, dass die Anzahl Nachrichten pro Benutzer grundsätzlich exponentiell anwächst; die meisten Emails verteilen sich auf eine geringe Anzahl Benutzer. Die meisten Benutzer haben tatsächlich ihre Emails in Ordner einsortiert. Die Betrachtungen von Klimt und Yang zeigen, dass Benutzer nicht mehr Ordner als Emails haben; die obere Grenze für die Anzahl Ordner, die ein Benutzer hat, scheint dabei der Logarithmus der Anzahl Emails des Benutzers zu sein. Alles in allem stellt sich der Enron-Korpus als durchaus repräsentativer Korpus für die anfallenden Aufgaben hinsichtlich der im letzten Kapitel vorgestellten Szenarien dar. Im Bereich der Email-Klassifikation sind in der Literatur mehrere Artikel zu finden, wo Experimente mit diesem Korpus beschrieben sind. Allerdings hat der Korpus für uns den Nachteil, dass sich hier nur englischsprachliche Emails befinden; um für den hiesigen Markt erfolgreich zu sein, müssten Verfahren zur Email-Kategorisierung und Informationsextraktion mit deutschsprachlichen oder sogar multilingualen Korpora umgehen können. Da sich beim Enron-Korpus aber inzwischen um einen Standardkorpus zumindest 1 Zu beziehen unter http://www.cs.cmu.edu/~enron/ 3.2 MULTIFACETTENKLASSIFIKATION 19 für die Kategorisierung handelt, wollen wir das Problem der Mutlilingualität auf einen späteren Zeitpunkt verschieben und an dieser Stelle nicht behandeln. 3.2 Multifacettenklassifikation In Abschnitt 2.2.5 wurde die Email-Kategorisierung als ein zentrales Problem sowohl für die Priorisierung von Emails und natürlich die automatische Einordnung von Emails in die persönliche Ordnerstruktur eines Benutzers identifiziert. Grundlegend für jede Kategorisierungsaufgabe ist dabei ein zu Grunde liegendes Kategorienschema. Wir schlagen an dieser Stelle eine Multifacettenklassifikation vor, durch die alle eine Email betreffenden Facetten erfasst werden können. Diese Schema kann dabei als Vorstufe einer komplexeren Wissensbasis, etwa durch eine Ontologie ausgedrückt, betrachtet werden. Es wird hier versucht, ein Schema für eine Multifacettenklassifikation von Emails zu definieren. Dabei wurde Wert darauf, möglichst objektive und generische Kategorien und Dimensionen zu erzeugen. Die einzelnen Dimensionen können natürlich vom Benutzer entsprechend verfeinert werden. Grundlage für die einzelnen Facetten war eine Betrachtung des Enron-Korpus und ein bereits vorhandenes Multifacettenschema, welches unter http://bailando.sims.berkeley.edu/enron/enron_Categories.txt zu beziehen ist. Automatische Verfahren können versuchen, Emails bezüglich der einzelnen Facetten einzuordnen. Dabei ist zu beachten, dass pro Facette unterschiedliche Features und Terme relevant sein können. So ist z.B. die Termhäufigkeit entscheidend, um die Topikalität eines Textes zu ermitteln, aber nicht unbedingt relevant für andere Facetten wie z.B. Scope oder den Dokumenttyp. Hier müssen sich im einzelnen andere Features überlegt werden. Die vorgeschlagenen Facetten und ihre Kategorien sind im Einzelnen: 1. Document Type Diese Facette gibt den Dokumenttyp einer Email an. Mögliche Kategorien sind: 1.1 Schedule, meetings Einladungen zu Treffen, Termine 1.2 Technical Support, Requests Verschiedene Anfragen, z.B. um technische Unterstützung 1.3 Collaboration Emails zum Organisieren kollaborativer Tätigkeiten 1.4 Business letters and documents Geschäftsdokumente 1.5 News Nachrichten aller Art, Newsletter 1.6 Press release Pressemitteilungen 1.7 Legal documents Verträge, Non-Disclosure-Agreements, alles was rechtlich bindend ist KI-Methoden zur Email-Archivierung 20 3 ANALYSE DER DATENBASIS 1.8 Announcement Zum Beispiel Ankündigungen neuer Produkte oder von Veranstaltungen 1.9 Minutes Protokolle von Treffen 1.10 Discussion and comments Diskussionsbeiträge und Kommentare 1.11 Invoice/bills Rechnungen 1.12 Bookmarks and references Bookmarks, Hinweise auf relevantes Material 1.13 Jokes Humor 1.14 Attachment Hinweise auf eine angehängte Datei 1.15 SPAM/Unwanted Unerwünschte Mail, die sofort wieder gelöscht werden sollte 2. Scope In welchen Bereich eine Email einzuordnen ist. Bereiche können dabei noch in Unterbereiche gegliedert werden, z.B: 2.1 Business Geschäftsmails 2.1.1 Project 1 Zugehörig zu Projekt 1 2.1.2 Project 2 Zugehörig zu Projekt 2 2.2 Private Private Emails 3. Personal, Topics Unter diese Facette fällt die klassische persönliche Folderstruktur, die ein Benutzer unter seinem Mailaccount anlegt. Diese Folderstruktur ist in der Regel hierarchisch und kann Kategorien anderer Facetten beinhalten (z.B. kann ein Benutzer hier zwischen privater und geschäftlicher Email unterscheiden). Wir gehen aber vereinfachend davon aus, dass die vom Benutzer angelegten Folder disjunkt zu den Kategorien anderer Facetten und zunehmend topikalischer Natur sind. Da eine derartige Folderstruktur i.A. sehr stark vom eigentlichen Anwender und seinem Umfeld abhängig und sehr dynamisch ist, wird hier auf eine weitere Aufgliederung verzichtet. 4. Priority Die Dringlichkeit, mit der eine Email bearbeitet werden sollte. Emails, die als hoch priorisiert klassifiziert werden, können so dem Benutzer direkt angezeigt werden bzw. kann der Benutzer über deren Eingang direkt benachrichtigt werden. kiib 3.2 MULTIFACETTENKLASSIFIKATION 21 4.1 High priority Sofort zu erledigen 4.2 Medium priority Kann noch etwas warten 4.3 Low priority Spätere Wiedervorlage 5. Importance Bestimmung der Wichtigkeit einer Email. Eine Benachrichtigungsstrategie kann z.B. sein, Benutzer nur über sehr wichtige Emails direkt zu benachrichtigen. 5.1 Very important Sehr wichtige Emails 5.2 Important Wichtige Emails 5.3 Less important Unwichtige Emails 6. Email Act Eine interessante weitere mögliche Facette von Emails ist deren Einteilung in verschiedene Sprechakte (Cohen u. a. 2004; de Carvalho u. Cohen 2005). Solche Email Acts bestehen aus einem Verb und einem Substantiv (z.B. „deliver data“)2 und beschreiben die Absicht des Autors. Dabei ist zu beachten, dass in einer Email natürlich mehrere Sprechakte vorkommen können. Die Identifikation eines bestimmten Email Acts kann verschiedene Aktionen zur Folge haben; ein ausgehendes Folgende Email Acts werden in (Cohen u. a. 2004; de Carvalho u. Cohen 2005) vorgeschlagen3 : 6.1 Verb i. Propose ii. Request iii. Amend iv. Conclude v. Commit vi. Refuse vii. Greet viii. Deliver ix. Remind x. Other 6.2 Noun i. Information 2 Basierend 3 Hier auf der Analyse englischsprachiger Emails nicht in der vollen Hierarchie dargestellt KI-Methoden zur Email-Archivierung 22 3 ANALYSE DER DATENBASIS ii. iii. iv. v. vi. Data Meeting Logistics Opinion Meeting Die Identifikation eines bestimmten Email Acts kann verschiedene Aktionen zur Folge haben; ein ausgehendes Commitment kann beispielsweise einen Eintrag in einer To-Do-Liste zur Folge haben. Oder aber es könnte ein Request eine Höherstufung der Email in der Priorität nach sich ziehen. 7. Emotional Tone Emotional Tone könnte z.B. interessant sein, um die Stimmung über ein Thema, Projekt oder eine Maßnahme rauszufinden (evtl. in Kombination mit anderen Facetten wie Discussion/Comments). 7.1 Jubilant Jubilierend, triumphierend, sich freuend 7.2 Angry Wütender, aggressiver Ton 7.3 Businesslike Geschäftsmäßiger, sachlicher Ton 7.4 Frustrated Frustrierter, unzufriedener Ton, z.B. bei wenig befriedigem Projektverlauf 7.5 Promotional Anpreisend, werbend, wenn in der Email z.B. für ein neues Produkt geworben wird 7.6 Neutral Kein besonderer emotionaler Ton, evtl. ähnlich wie „businesslike“ Eine Email könnte so z.B. in die Multifacetten-Kategorie (’Press Release’, ’Business/Project_1’, ’Product XY’, ’Medium priority’, ’Less important’, ’Deliver Information’, ’Jubilant’) eingeordnet werden. kiib 4 Email-Kategorisierung Bei der Email-Kategorisierung geht es nun darum, Emails in die verschiedenen Kategorien der Multifacetten-Klassifikation, wie sie im Abschnitt 3.2 vorgestellt wurde, einzuordnen. Emails selbst sind als semi-strukturelle Texte zu betrachten, die aus einer Menge von strukturierten Feldern (dem Header) und aus dem zumeist unstrukturierten Body, in dem der eigentliche Inhalt der Email, bestehen. Die betrachteten Ansätze ignorieren dabei meist mögliche Dateianhänge (Attachments) und gehen davon aus, dass die Kernaussage einer Email im Body steckt. Bevor wir uns nun mit den einzelnen Kategorisierungsmöglichkeiten beschäftigen, müssen zunächst zwei Begriffe geklärt werden. Während wir uns in dieser Studie mit der Kategorisierung oder Klassifizierung befassen, wird in der Literatur häufig der Begriff des Email Filtering verwendet. Die Filterung und die Kategorisierung sind aus Prozesssicht sehr stark miteinander verwandt; der Hauptunterschied ist der, dass bei der Filterung von eher dynamischen Profilen ausgegangen wird, nach denen Dokumente einsortiert werden, während Kategorien eine eher statische Natur haben (Belkin u. Croft 1992). Bei dynamischen Kategorien wie denen, die unter der Facette Personal, Topics zu erwarten sind, hat man es also streng genommen mit einem Filterungsprozeß zu tun, wie in einiger Literatur auch erwähnt wird. Wir verzichten an dieser Stelle allerings auf eine genaue Unterscheidung und sehen alle Verfahren als Kategorisierungsverfahren an. Im folgenden Abschnitt werden wir den State-of-the-Art in der Email-Kategorisierung beleuchten. Hierbei handelt es sich hauptsächlich um Verfahren, die ein (semi-)automatisches Einsortieren in eine gegebene Folderstruktur vornehmen. Die Verfahren sind somit besonders für die Personal, Topics-Facette interessant, sollten aber in veränderter Form auch auf andere Facetten anwendbar sein. Wir berichten von Resultaten der durchgeführten Experimente; diese zeigen die Effektivität und (teilweise) die Effizienz der Verfahren und bilden somit eine wertvolle Entscheidungsgrundlage für die praktische industrielle Einsetzbarkeit derselben. Abschnitt 4.2 beschäftigt sich nun mit möglichen neuen Ansätzen, die auf dem Gebiet der Email-Kategorisierung bisher ungeprüft sind, deren praktische Einsetzbarkeit also erst noch gezeigt werden muss. Die dort vorgestellten Verfahren sollen die Kategorisierung hinsichtlich aller Facetten ermöglichen. 4.1 Bisherige Erfahrungen In diesem Abschnitt sollen bisherige Verfahren zur Email-Klassifikation vorgestellt werden, die experimentell evaluiert wurden und somit einen Eindruck über deren Anwendbarkeit gewinnen lassen. Die Techniken aus dem Bereich des maschinellen Lernens lassen 24 4 EMAIL-KATEGORISIERUNG sich grob in zwei Klassen einteilen: 1. Verfahren aus der Textklassifikation, die für die gegebene Aufgabe angewendet werden und 2. regelbasierte Verfahren, bei denen aus einer gegebenen Stichprobe eine Menge von Regeln gelernt werden. Wir werden nun beide Klassen und repräsentative Verfahren aus diesen vorstellen. Vorher aber wollen wir kurz auf die in der Literatur üblichen Evaluierungsmaße eingehen. 4.1.1 Evaluierungsmaße Für die Evaluation der Effektivität eines Kategorisierungsansatzes wird häufig das so genannte F1 -Maß benutzt, das auf den traditionellen Maßen Recall r und Precision p basiert und diese kombiniert. Diese sind für die Kategorisierung wie folgt definiert (Yang u. Liu 1999): #richtig vorgenommene Zuweisungen (4.1) r= #richtige Zuweisungen und p= #richtig vorgenommene Zuweisungen . #vorgenommene Zuweisungen (4.2) Das F1 -Maß definiert sich dann als (Fuhr 1996, Kap. 3, in der Fassung von 2005) F1 (r, p) = 2pr . p+r (4.3) Die Werte können dabei entweder für jede binäre Entscheidung auf jeder Kategorie ermittelt und dann über die Kategorien gemittelt werden. Dies bezeichnet man dann als macro-averaging. Oder aber man berechnet sie global über alle n · m Entscheidungen (mit n als der Anzahl Textdokumente und m als der Anzahl Kategorien); in diesem Falle spricht man von micro-averaging. In der Literatur findet man häufig auch den Begriff der Accuracy. Diese ist in der Regel definiert der Anteil der korrekt klassifizierten Emails zu der Anzahl der Instanzen im Testset. Ist letzteres gleich der Anzahl der vorgenommenen Zuweisungen, so entspricht es der Precision. Die Definition einer „richtigen Zuweisung“ hängt vom jeweiligen Verfahren ab; wollen wir exakt eine Kategorie zuweisen, so wird nur geschaut, ob das System diese richtig erkennt. Manche Systeme bieten dem Benutzer aber mehrere Kategorien zu Auswahl an; in diesem Sinne bedeutet „richtige Zuweisung“, dass sich die korrekte Kategorie unter den vom System gefunden befindet. kiib 4.1 BISHERIGE ERFAHRUNGEN 25 4.1.2 Verfahren aus der Textklassifikation tf × idf -Klassifizierer tf × idf -Klassifizierer werden auch Information Retrieval-Klassifizierer genannt, weil sie auf einem im IR typischen Prinzip, der Kombination der Termhäufigkeit (term frequency, tf ) mit der inversen Dokumenthäufigkeit (inverse document frequency, idf ) beruhen. Der hier besprochene Ansatz wurde von Segal u. Kephart (1999) vorgestellt und ähnelt dem Megadokumenten-Ansatz von Klas u. Fuhr (2000), wobei letzterer noch nicht auf eine Email-Kollektion angewendet wurde. Man geht beim tf × idf -Klassifizierer von einem vektorbasierten Modell aus; der Vektorraum wird durch die Menge T aller in der Kollektion C vorhanden Terme ti (mit 1 ≤ i ≤ |T |) aufgespannt. Jede Email m wird dementsprechend als Vektor ~x (m) repräsentiert; die Komponente xi (m) ergibt sich aus der Vorkommenshäufigkeit des Terms ti in der Nachricht. Jeder Folder f wird durch den Vektor ~ ( f ) repräsentiert, dessen Komponenten gewichtete Wordhäufigkeiten darstellen. w ~ bew rechnet sich dabei aus den im Folder enthaltenen Emails bzw. deren Termen als wi ( f ) = tf ( f , ti ) · idf (ti ) mit idf (ti ) = und df (ti ) = 1 df (ti )2 #Folder, die ti enthalten #Folder sowie tf ( f , ti ) = ff ( f , ti ) ff ( A, ti ) wobei A die Menge aller in der Kollektion vorhandenen Emails ist. ff wiederum ist die anteilige Frequenz (fractional frequency) und berechnet sich als ff ( f , ti ) = und ci ( f ) = ci ( f ) ∑ ti ∈ f c i ( f ) ∑ xi ( m ) m∈ f mit m als in f enthaltene Email. Nachdem auf diese Weise Emails und Folder jeweils als Vektoren repräsentiert werden, wird nun die Ähnlichkeit zwischen einer zu kategorisierenden Nachricht m und einem Folder f berechnet (Segal u. Kephart 1999): SIM4(m, f ) = ∑ ti ∈ m x i ( m ) · wi ( f ) min ∑ti ∈m xi (m), ∑ti ∈m wi ( f ) Auf diese Weise erhält man nun ein Ranking der Folder absteigend nach ihrer Ähnlichkeit zur kategorisierenden Email. In dem von Segal u. Kephart beschriebenen MailCat-System KI-Methoden zur Email-Archivierung 26 4 EMAIL-KATEGORISIERUNG wird diese Rangordnung benutzt, um dem Benutzer die drei höchstrangigen Folder für eine Email anzubieten. Ein Vorteil des tf × idf -Klassifizierers ist, dass er vollständig inkrementell arbeitet und sich dementsprechend hervorragend für eine dynamische Umgebung, wie wir sie z.B. in der Personal, Topic-Facette vorliegen haben – es werden ständig Emails einer Kategorie neu hinzugefügt oder dieser wieder entnommen. Das System speichert nun den zentroiden Vektor ~c( f ) = (c1 ( f ), . . . , c|T | ( f )) eines jeden Folders f in einem invertierten Index. Wenn eine Email m kategorisiert werden soll, so werden für alle in m vorkommenden Terme aus den Komponenten des zentroiden Vektors von f mit Hilfe obiger Formeln die jeweiligen für die Berechnung von SIM4(m, f ) nötigen Komponenten ermittelt (siehe dazu Segal u. Kephart 1999). Der Index der zentroiden Vektoren kann effizient aktualisiert werden, wenn eine Email zu einem Folder hinzugefügt oder aus diesem entfernt wird; es ist dann ci ( f ) ← ci ( f ) + xi ( m ) für alle ti ∈ m, wenn eine Email m dem Folder f hinzugefügt wurde. Entsprechend wird xi (m) subtrahiert, wenn m aus f entfernt wurde. Der Index wird also inkrementell angepasst, sobald sich hinsichtlich der kategorisierten Emails eine Veränderung vollzogen hat. Es ist dabei kein aufwändiger neuer Lernschritt notwendig, wie bei anderen Methoden des maschinellen Lernens. Experimente Wie oben erwähnt wird das Verfahren im MailCat-System eingesetzt, um dem Benutzer drei mögliche Kategorien zur Auswahl zu geben, in die er eine Email einsortieren kann. In diesem Sinne sollte die korrekte Kategorie unter den ersten dreien im Ranking zu finden sein. Für die Evaluation der Effektivität des Ansatzes wurde die Accuracy gemessen. Experimente wurden über 6 verschiedenen Mailboxen durchgeführt. Sie zeigen eine Accuracy von 80% bis 90% für die mögliche Auswahl von drei Kategorien (Segal u. Kephart 1999). Brutlag u. Meek (2000) führen weitere Experimente mit der tf × idf Methode durch, wobei hier 5 Kategorien präsentiert werden (statt 3). Die Experimente zeigen eine Accuracy zwischen 65% und 90%, gemessen auf 5 verschiedenen Mailboxen. Interessant bei den Ergebnissen ist, dass der tf × idf -Ansatz auch bei Foldern mit wenigen Emails („karge Folder“) gute Resultate zeigt, während die Accuracy bei Foldern mit mehreren Emails (>100) sogar teilweise abnahm. Ferner zeigt sich, dass der tf × idf -Ansatz selbst dann noch akzeptable Ergebnisse liefert, wenn statt der gesamten Email (Header und Body) nur der Header berücksichtigt wird (was einen Performanzgewinn hinsichtlich der Anzahl der verwendeten Features mit sich bringt). Eine Erklärung kann sein, dass bei der Berechnung der anteiligen Frequenz ff nur der relative Anteil eines Terms innerhalb eines Folders berücksichtigt wird, der auch bei kargen Foldern groß sein kann. Support Vector Machines Bei Support Vector Machines (SVM) handelt es sich um ein maschinelles Lernverfahren, das sehr gute Ergebnisse in der Textkategorisierung gegenüber anderen Verfahren erzielt kiib 4.1 BISHERIGE ERFAHRUNGEN 27 hat (Yang u. Liu 1999; Joachims 1998). Support Vector Machines basieren auf dem Prinzip Abbildung 4.1: Support Vector Machines der Structural Risk Minimation; die Idee ist, eine Hyperebene zu ermitteln, die die Datenpunkte zweier Klassen möglichst sauber trennt. Solch eine Hyperebene ist im zweidimensionalen Fall eine Gerade, wie in Abbildung 4.1 illustriert. Das Verfahren sucht dabei eine Hyperebene mit einem maximalen Rand; innerhalb des Randes (in Abb. 4.1 durch die schmalen Linien repräsentiert) befinden sich keine Datenpunkte aus den beiden Klassen. Die Hyperebene kann beschrieben werden als ~ · ~x − b w (4.4) wobei ~x der zu klassifizierende Datenpunkt ist. Dieser kann als Featurevektor beschrieben werden, wobei jedes Element einen Term repräsentiert und dazu dessen kombiniertes tf × idf -Gewicht genommen wird (Joachims 1998). Sobald die Hyperebene gegeben ist, berechnet die Funktion ( sign(~ w · ~x − b) = ~ · ~x − b > 0 +1, wenn w −1, sonst die positive (+1) oder negative (−1) Zugehörigkeit des zu klassifizierenden Datenpunktes ~x zur überprüften Klasse. (4.4) kann auch umgeschrieben werden als ~ · ~x − b = w ~ ~ α K d, d i +b ∑ i i KI-Methoden zur Email-Archivierung 28 4 EMAIL-KATEGORISIERUNG wobei K eine so genannte Kernelfunktion darstellt. Man unterscheidet zwischen linearen und nicht-linearen Kernelfunktionen; es sind ~ ~di ) = d~ · ~di Klin (d, d ~ ~di ) = d~ · ~di + 1 K poly (d, 2 ~ ~ ~ ~ Krb f (d, di ) = exp γ d − di ~ ~ ~ ~ Ksigmoid (d, di ) = tanh s d · di + c lineare, polynominale, radialbasierte und sigmoide Kernelfunktionen, die im nichtlinearen Fall neue Parameter (d,γ,s,c) einführen. Die Wahl der Kernelfunktion kann das Klassifikationsergebnis beeinflussen (Joachims 1998). Die di sind die so genannten Supportvektoren; dies sind die Vektoren, die genau auf dem Rand um die Hyperebene liegen und von dieser exakt den Abstand 1/||~ w|| haben (in Abb. 4.1 fett umrandet). Die Supportvektoren sind deshalb bemerkenswert, weil sie die einzigen effektiven Datenpunkte in der Trainingsmenge sind; entfernt man alle anderen Datenpunkte aus der Trainingsmenge, so würde sich die ermittelte Hyperebene nicht ändern. SVM bietet die Möglichkeit zu entscheiden, ob ein Dokument zu einer Kategorie gehört oder nicht. Für jede zu überprüfende Kategorie muss also eine Partitionierung des Kategorienraumes in die zu überprüfende Kategorie und alle restlichen Kategorien vorgenommen werden. Platt (2000) berichtet zudem noch von Möglichkeiten, die Wahrscheinlichkeit einer Zuweisung (statt einer binären ja/nein-Entscheidung) zu berechnen. Mittels einer derartigen Erweiterung ist es auch mit SVM möglich, ein Ranking von Kategorien bezüglich des einzusortierenden Dokumentes zu erzeugen. Experimente Der Erfolg des SVM-Verfahrens bei der Textklassifikation hat dafür gesorgt, dass die Support Vector Machines in vielen Experimenten zur Email-Klassifikation berücksichtigt und neu evaluiert wurden. Brutlag u. Meek (2000) erzielen dabei in ihren Experimenten, bei denen 5 Kategorien zu Auswahl gegeben wurden, eine Accuracy bis zu 98%, sofern Folder mehr als 100 Nachrichten aufweisen. Bei Foldern mit weniger Nachrichten geht die Accuracy stetig zurück. Klimt u. Yang (2004) führen u.A. Experimente mit dem Enron-Korpus durch (siehe Abschnitt 3.1) durch. Dabei sehen sie eine Email als Bag-of-Words, basieren Features aber auf unterschiedliche, in einer Email anzutreffende Felder wie „From“, „Subject“, „Body“ und „To, CC“ oder auf die gesamte Email. Dabei stellt sich heraus, dass der Email-Body am brauchbarsten für die Klassifikationsentscheidung ist (micro-averaged F1 ≈ 0, 59, macro-averaged F1 ≈ 0, 46). Die besten Ergebnisse wurden jedoch bei einer Linearkombination aller Features erzielt, bei der deren Werte kombiniert wurden (micro-averaged F1 ≈ 0, 69, macro-averaged F1 ≈ 0, 54). Dies weist darauf hin, dass die Benutzer des Enron-Korpus mehrere Email-Felder für ihre EmailOrganisation benutzen. Interessant ist hierbei auch die Beobachtung, dass für Benutzer mit vielen Emails pro Folder schlechtere Ergebnisse erzielt wurden, was im Widerspruch kiib 4.1 BISHERIGE ERFAHRUNGEN 29 zu den in Brutlag u. Meek (2000) gefundenen Ergebnissen steht. Klimt und Yang schließen daraus, dass sie wichtige Features nicht modelliert haben. Die bisherigen Experimente haben den Nachteil, dass sie eine entscheidende Eigenart von Email-Inboxen unberücksichtigt lassen: ein System kann natürlich nur von Nachrichten lernen, die älter sind als die einzusortierenden Nachrichten, und eine Email-Inbox entwickelt sich mit der Zeit von einem fast leeren zu einem immer mehr gefüllten Zustand. Man sollte also auch wissen, wie sich ein automatischer Klassifizierer im Laufe der Zeit verhält. Aus diesem Grund haben Bekkerman u. a. (2004) eigene Experimente mit SVM auf dem Enron-Korpus durchgeführt. Dabei nutzen sie eine inkrementelle, zeitbasierte Aufteilung in Trainings- und Testdokumente (incremental time-based split). Emails werden dabei zunächst nach ihrem Zeitstempel sortiert und die Kollektion dann in k gleichgroße Teile der Größe n aufgeteilt. Zunächst wird der Klassifizierer mit den ersten n Testdokumenten trainiert und auf den folgenden n Emails getestet. Danach wird der Klassifizierer mit den ersten 2n Email trainiert und auf den darauf folgenden n-Nachrichten getestet, bis zum Schluss auf den ersten (k − 1)n Dokumenten trainiert und den letzten n Dokumenten getestet wird. Auf diese Weise wird das stetige Wachstum der Inbox simuliert und auf verschiedenen Entwicklungsstufen getestet. In den Experimenten hat SVM am besten abgeschnitten, mit einer durchschnittlichen (gemittelt über alle zeitbasierten Aufteilung) Accuracy zwischen 56.4% und 94.6%, je nach Mailbox. Allerdings sind die Werte überraschenderweise niedrig (die 94.6% wurden auf einer besonderen Mailbox erzielt, über die wir noch diskutieren werden). Die meisten Werte sind zwischen besagten 56.4% und 82.7%, was niedriger ist, als man sonst bei SVM in der Textklassifikation erwarten könnte. Bekkerman, McCallum, u. Huang sehen darin einen Effekt ihrer (realistischeren) Aufteilung in Test- und Trainingsmenge die anzeigt, dass die Email-Klassifikation ein komplexeres Problem als die Standard-Testklassifikation darstellt. Ein großes Problem stellen dabei neu angelegte Folder dar, die inital noch leer sind. Die ist besonders deutlich zu sehen in der williams-w3-Mailbox, wo sich zwei sehr große Folder (mehr als 1000 Nachrichten) und einige kleinere (zumeist deutlich unter 100 Nachrichten) befinden, wobei einer der größeren Folder ältere Nachrichten und der andere nur jüngere Nachrichten enthält. Sobald das Testverfahren den neuen großen Folder anlegt, minimiert sich hier die Accuracy signifikant und erholt sich danach wieder. Eine weitere interessante Beobachtung bei den Experimenten von Bekkerman u. a. ist auch, dass sich die Accuracy meistens nicht signifikant mit der Anzahl Trainingsdokumente erhöht, sondern eine Stagnation aufweist. Dies wird damit erklärt, dass große Folder ältere Emails beinhalten, die bei der Einsortierung neuerer Emails keine Rolle mehr spielen. Die o.g. Experimente beziehen sich auf das Kategorisieren in ein persönliches FolderSchema des Benutzers, behandelt also unsere Facette Personal, Topics. Es sind aber in der Literatur auch Experimente mit nicht-topikalischen Kategorien vermerkt, die mit SVM durchgeführt wurden. Nenkova u. Bagga (2003) kategorisieren Emails in so genannte Root Messages und Single Messages. Das zu Grunde liegende Szenario ist das eines Kontaktcenters, bei denen eingehende Kundenemails bezüglich ihrer Priorität (sofort zu beantworten oder nicht) klassifiziert werden. Root Messages bestehen dabei aus Fragen oder Hilfegesu- KI-Methoden zur Email-Archivierung 30 4 EMAIL-KATEGORISIERUNG chen, die in einem Kontaktcenter sofort beantwortet werden sollten. Single Messages sind solche, die z.B. Anregungen zur Verbesserung von Produkten, Vorschläge für zusätzliche Produkteigenschaften, etc. enthalten und somit nicht ganz dringlicher Natur sind. Support Vector Machines vermögen es, mit einer Accuracy von annähernd 80% zwischen Root und Single Messages zu unterscheiden. Emails wurden dabei durch verschiedene Features wie nicht-inflektierte Wörtern, Phrasen (Substantive, Verben), Interpunktion, Länge der Email und das Vorkommen eines Terms in einem speziellen Wörterbuch repräsentiert. Auch wenn sich die Ergebnisse nicht vollständig auf die Kategorisierung mit der PriorityFacette übertragen lassen, so geben sie doch einen ersten Eindruck der Anwendbarkeit von SVM in dieser Facette. Cohen u. a. (2004) benutzen Support Vector Machines für die Einteilung von Emails in Sprechakte (siehe auch Facette Email Act). Das Problem der Einordnung in Sprechakte stellt sich (erwartungsgemäß) als komplexer als die herkömmliche Textklassifikation heraus, auch wenn für bestimmte Sprechakte ein F1 -Wert von über 0,8 erzielt wird. Weiterhin stellt sich heraus, dass Features wie tf × idf bei der Einteilung in Sprechakte eine eher negative Wirkung haben. Bigramme und Part-of-Speech-Tags scheinen hier angebrachter zu sein. Naïve Bayes Auch mit dem Naïve-Bayes-Ansatz wurden einige interessante Experimente zur EmailKlassifikation durchgeführt, deshalb soll er hier auch kurz vorgestellt werden. Bei Naïve Bayes (NB) geht es darum, die Kategorie c für ein Dokument d herauszufinden als c = arg max P(ci |d) = arg max P(d|ci ) P(ci ) i =1,...,m i =1,...,m mit m als der Anzahl Kategorien. Es wird üblicherweise vereinfachend die Unabhängikeitsannahme P ( d | ci ) = P ( f 1 | ci ) · . . . · P ( f n | ci ) gemacht, wobei f 1 , . . . , f n verschiedene Dokumenteigenschaften beschreiben. P( f j |ci ) mit 1 ≤ j ≤ n und 1 ≤ i ≤ m und P(ci ) werden dabei aus der Lernstichprobe ermittelt. Experimente Provost (1999) führt Email-Klassifikations-Experimente mit NB aus und erreicht eine Accuracy von bis zu 87%, getestet auf seiner eigenen Mailbox (über 4 Monate gesammelt). Dabei wurde NB benutzt, um eine Kategorie pro Email auszuwählen. Die von Bekkerman u. a. (2004) durchgeführten Experimente mit NB, die auf einer realistischeren Konfiguration beruhen (siehe letzter Abschnitt), zeigen aber, dass NB bei der Einteilung von Emails in ein vom Benutzer vorgegebenes Folderschema schlechter ist als vergleichbare Verfahren. NB liefert auf dem Enron-Korpus signifikant schlechtere Ergebnisse als SVM, auch wenn auf verschiedenen Mailboxen eine Accuracy bis zu 92.2% (williams-w3, siehe dazu Anmerkungen im letzten Abschnitt) erreicht wird. kiib 4.1 BISHERIGE ERFAHRUNGEN 31 Diao u. a. (2000) führen Experimente mit NB aus, in dem sie Emails in die nichttopikalischen Kategorien „interessant“ und „nicht interessant“ einsortieren. Der implementierte NB-Algorithmus stuft dabei eine Email d als „nicht interessant“ ein , wenn die Wahrscheinlichkeit P(„nicht interessant“|d) größer als ein gegebener Schwellwert α ≥ 0, 5 ist. Der Hintergrund ist der, dass die Klassifikation einer interessanten Nachricht als nichtinteressant zu höheren Kosten führt als umgekehrt; α = 0, 5 bedeutet, dass wir diese Überlegungen nicht berücksichtigen. Diao u. a. führen verschiedenen Experimente mit 0, 5 ≤ α ≤ 0.99 durch. Hierbei ergaben sich sowohl beim Recall als auch bei der Precision Werte größer als 0,9. Die Experimente fanden auf fünf Datensätzen statt, bei denen die Personen, die die Email-Daten zur Verfügung stellten, diese sehr subjektiv in die Kategorien „interessant“ und „nicht interessant“ einsortierten. Was die Experimente allerdings nicht beachten ist die Tatsache, dass diese Kategorien sehr dynamisch sein können; die Beurteilung, was interessant ist und was nicht, kann sich sich mit der Zeit schnell ändern und theoretisch wäre jedesmal die Erstellung einer neuen Lernmenge notwendig, was sehr aufwändig ist. Wide-Margin-Winnow Der in Bekkerman u. a. (2004) vorgeschlagene Wide-Margin-Winnow-Algorithmus berechnet für jede Klasse einen Gewichtsvektor über die gegebenen Features. Dabei bezeichne c die Anzahl der Klassen und m die Größe des Eigenschaftsraumes. Jede Klasse ci wird da~ i (1 ≤ i ≤ c) repräsentiert. Genauso werden Emails bei durch einen Eigenschaftsvektor w als Eigenschaftsvektor repräsentiert. Ist nun ein neues Trainingsbeispiel (~x, y) gegeben (y bezeichnet hierbei den Index der korrekten Klasse), so schätzt der Algorithmus nun zunächst mittels j = arg maxi=1,...,c {~ wi · ~x } den Index einer Klasse. Ist j 6= y, die Abschätzung ~ y und w ~ j an den Koordinaten, an denen ~x nicht 0 ist, entsprechend also falsch, so werden w angepasst. Bekkerman u. a. erweitern diesen klassischen Winnow-Algorithmus um eine Heuristik, nach der das Gewicht der Vektoren auch dann angepasst wird, wenn der Algorithmus zwar die richtige Kategorie erkannt hat, aber zwischen der ersten und zweiten Wahl nur ein marginaler Unterschied besteht. Es wird dann versucht, den Abstand dieser Kategorien zu vergrößern (daher der Name „wide-margin“), wenn das Verhältnis zwischen bester und zweitbester Kategorie unter einem Wert δ liegt. Algorithmus 1 zeigt den Pseudocode für den Wide-Margin-Winnow-Algorithmus Experimente Bekkerman u. a. (2004) berichten von Experimenten mit dem WideMargin-Winnow-Algorithmus auf dem Enron-Korpus. Sie gehen dabei wie in Abschnitt 4.1.2 beschrieben vor, benutzen also wieder die zeitbasierte Aufteilung in Trainings- und Testdokumente. Auch wenn der Wide-Margin-Winnow-Algorithmus hier von der Effektivität her etwas schlechter abschnitt als Support Vector Machines, wurde er doch als bei weitem schnellster Lernalgorithmus erkannt. Während SVM bei den in den Experimenten herrschenden Bedingungen bis zu einer halben Stunde zum Lernen auf einer größeren Testmenge benötigt, kommt der Wide-Margin-Winnow-Algorithmus KI-Methoden zur Email-Archivierung 32 4 EMAIL-KATEGORISIERUNG Eingabe: Trainingsmenge {(~xk , yk )|k = 1, . . . , n} Gewichtsjustierung e Kühlungsrate α Konfidenzmaß δ ~ 1, . . . , w ~ c , (m + 1)-dimensionale Vektoren von Gewichten jeder Kategorie Ausgabe: w ~ 1, . . . , w ~ c zu 1-Vektoren 1: Initialisiere Vektoren w 2: for p ← 1 to t do 3: for k ← 1 to n do 4: j ← arg maxi=1,...,c {~ wi · x~k } 0 5: j ← arg secondmaxi=1,...,c {~ wi · x~k } 6: if j 6= y then 7: wy, f ← wy, f (1 − eα p ) an Koordinaten f wo x~k nicht 0 8: w j, f ← w j, f (1 − eα p ) an Koordinaten f wo x~k nicht 0 ~ j0 · x~k < δwy · xk then {es ist y = j} 9: else if w 10: wy, f ← wy, f (1 − eα p ) an Koordinaten f wo x~k nicht 0 11: w j0 , f ← w j0 , f (1 − eα p ) an Koordinaten f wo x~k nicht 0 12: end if 13: end for 14: end for Algorithmus 1: Wide-Margin-Winnow-Algorithmus nach (Bekkerman u. a. 2004). Zeilen 9 und 11 wurden gegenüber der Originalpublikation geändert, da sie dort wahrscheinlich fehlerhaft sind. mit ca. 1,5 Minuten aus. Bei den erwähnten Experimenten wurden als Parameter t = 5 und e = α = δ = 0, 5 gewählt. Andere Verfahren Boone (1998) benutzt neuronale Netze und ein k-Nearest-Neighbour-Verfahren (kNN), um Emails in die Kategorie Work und Other mit einer Accuracy um die 96%–97% einzusortieren. Diese Einteilung ist interessant für die Scope-Facette. In einem weiteren Experiment wurden Emails in die 4 Kategorien Research, Interest, School und Fun einsortiert; hier erbrachte ein kNN-Verfahren eine Accuracy von 87%. In ihren Experimenten benutzen Brutlag u. Meek (2000) auch einen auf Language Models basierten Unigram-Klassifizierer. Damit erreichen sie teilweise eine Accuracy von über 90%. Diao u. a. (2000) wenden einen Entscheidungsbaumalgorithmus (C4.5) zur EmailKlassifikation an und erreichen damit ähnliche Werte wie mit tf × idf . kiib 4.1 BISHERIGE ERFAHRUNGEN 33 4.1.3 Regelbasierte Ansätze Eine andere Klasse von maschinellen Lernverfahren, die für die Email-Klassifikation interessant sind, sind regelbasierte Ansätze. Dabei wird aus einer Lernstichprobe eine Theorie von Regeln gelernt, die dann zur Kategorisierung angewendet werden. Regeln haben dabei die Form cfp95 ← subject("cfp") ∧ subject("1995"); die obige Regel könnte z.B. bedeuten, dass alle Emails, bei denen in der Subject-Kopfzeile die Terme „cfp“ (für „Call for Paper“) und „1995“ vorkommt, automatisch in die Klasse cfp95 (für „Call for Paper aus dem Jahre 1995“) einsortiert werden. Regelbasierte Ansätze haben gegenüber den bisher behandelten maschinellen Lernansätzen den Vorteil, dass sie (je nach deren Repräsentation) relativ einfach nachzuvollziehen und auch zu modifizieren sind. Wie wir bereits festgestellt haben, ist die Aufgabe der Email-Klassifikation eine sehr dynamische; Benutzerinteressen und Verteilung der Nachrichten können sich mit der Zeit ändern, so dass eine Mischung aus automatisch erstellten und manuell modifizierten Regeln hier sinnvoll wäre (Cohen 1996). Ein bei der Email-Klassifikation häufig anzufindener Regellerner ist RIPPER (Cohen 1995). Sind aus der Lernstichprobe eine Menge von positiven und negativen Beispielen für eine Klasse gegeben, so lernt RIPPER dazugehörige Regeln in zwei Phasen (siehe auch Cohen 1995): 1. In der Growing-Phase wird zunächst eine Regel aufgebaut, die möglichst viele positive Beispiele abdeckt. Beginnend mit einer leeren Konjunktion von Bedingungen, wird eine Konjunktion der Form a1 ∧ . . . ∧ an aufgebaut. 2. In der Pruning-Phase wird nun versucht, die Regel zu generalisieren (um Überadaption vermeiden) und redundante Elemente zu entfernen. Bleibt die gelernte Regel unter einer bestimmten Fehlerrate, wird sie der Regelmenge für die Kategorie hinzugefügt und die von der Regel abgedeckten positiven Beispiele werden aus der Lernmenge für diese Klasse entfernt. Der Algorithmus beginnt nun von neuem. Ansonsten bricht der Algorithmus ab, wenn eine Regel mit zu hoher Fehlerrate gelernt wurde oder keine positiven Beispiele für die zu lernende Klasse mehr vorhanden sind. Sind alle Regeln gelernt, werden in einem Nachprozessierungsschritt noch weitere Optimierungen vollzogen. Experimente Cohen (1996) wendet RIPPER zur Email-Klassifikation an. Dabei werden mehrere unterschiedliche Szenarien betrachtet. In einem Experiment sollen Vortragsankündigungen gefunden werden (ein interessantes Experiment hinsichtlich der Document Type-Facette). In einem weiteren Experiment soll eine Einordnung in eine gegebene Folderstruktur vorgenommen werden, wobei die Folder teilweise mit dem jeweiligen Autoren korreliert oder semantisch definiert sind. Zu guter Letzt ging es darum, KI-Methoden zur Email-Archivierung 34 4 EMAIL-KATEGORISIERUNG eine Filterungsaufgabe zu lösen, um ungelesene Email zu priorisieren. In allen Experimenten zeigte sich sich RIPPER gegenüber dem in Abschnitt 4.1.2 beschriebenen tf × idf Verfahren zumindest gleichwertig, wenn nicht sogar besser1 . Dabei ist eine signifikante Verminderung der Fehlerrate schon bei (realistischen) 100 Trainingsbeispielen zu beobachtet, und es reichen anscheinend 200 Beispiele, um RIPPER geeignet lernen zu lassen. Die Resultate bezüglich der Fehlerraten werden indirekt auch durch Crawford u. a. (2001) unterstützt. Dort wird zwar nicht RIPPER benutzt, aber durch den RIPPER-ähnlichen FOIL-Klassifizierer eine Accuracy von 72% erreicht, verglichen mit 68% bei tf × idf . Allerdings wendet Provost (1999) das RIPPER-Verfahren im Vergleich mit Naïve Bayes an und kommt dabei auf das Ergebnis, dass NB effektiver ist (RIPPER: 78% Accuracy nach 400 Trainingsbeispielen (NB: 87%), 67% Accuracy nach 175 Beispielen (NB: 80%)). Dieses Resultat ist aber vor dem Hintergrund des generell eher schlechten Abschneidens von NB überraschend. 4.1.4 Zusammenfassung der bisherigen Klassifikationsverfahren Bei der abschließenden Bewertung der bisher vorgestellten Email-KategorisierungsVerfahren aus der klassischen Textkategorisierung bzw. aus den regelbasierten Ansätzen muss man die jeweils zu Grunde liegenden Testkollektionen mit berücksichtigen. So hat die Freigabe des Enron-Korpus für einen Schub neuer Experimente gesorgt, da nun eine repräsentative Kollektion vorliegt, die hinsichtlich der Menge der zur Verfügung stehenden Mailboxen weit über die persönlichen Mailboxen oder Diskussionslisten, auf denen sonst Experimente durchgeführt wurden, hinausgeht. Dadurch ist eine große Fülle unterschiedlicher Mailboxtypen abgebildet, die die subjektiven Kriterien der Benutzer beim Anlegen einer persönlichen Folderstruktur reflektieren. Die Experimente von Bekkerman u. a. (2004) gehen dabei vom bisher realistischsten Szenario aus, indem sie auch die temporären Aspekte in der Entwicklung einer Mailbox in Betracht ziehen. In vielen Experimenten wird auch versucht, die eine beste Kategorie für eine Email zu finden. Bei einer semi-automatischen Klassifikation macht es aber Sinn, dem Benutzer mehrere Folder zur Auswahl zu stellen, wie dies im MailCat-System geschieht (Segal u. Kephart 1999). Mehr Experimente auf dem Enron-Korpus, gerade auch der regelbasierten Verfahren, sind aber nötig. Folgende (vorläufige) Schlüsse kann man aber dennoch ziehen: • Die Email-Klassifikation unterscheidet sich von der Textklassifikation, da wir es hier mit sehr heterogenen Kriterien beim Anlegen eines Kategorienschemas zu tun haben, und das Ablegen von Emails in diese Struktur ein äußerst dynamischer Prozess ist. Das Folderschema sowie deren Inhalt sind ständigen Veränderungen unterzogen, die das Kategorisierungsverfahren zu berücksichtigen im Stande sein sollte. Auch die Füllmenge der Folder ist sehr unterschiedlich; einige können annähernd leer sein, während andere mit eventuell tausenden Emails gefüllt sind. • Es kristallisiert sich heraus, dass Support Vector Machines, wie schon in der Textklassifikation, die zumeist besten Kategorisierungsergebnisse erzielen. Dennoch 1 Es kiib werden in (Cohen 1996) keine Accuracy oder f 1 -Maße angegeben, sondern nur allgemein die Fehlerrate 35 4.2 MÖGLICHE NEUE ANSÄTZE sind unter anderen Aspekten auch andere Klassifizierer interessant. tf × idf arbeitet inkrementell, d.h. sobald eine neue Email in einen Folder einsortiert wird, kann tf × idf sich an die neue Situation schnell anpassen. Auch der Wide-Margin-WinnowKlassifizierer liefert gute Ergebnisse und ist dabei SVM geschwindigkeitsmäßig voraus. Die jeweilige Anwendung entscheidet dabei, welchen der Kriterien das größte Gewicht zu geben ist. • Regelbasierte Ansätze liefern eine interessante Alternative zu den anderen Verfahren, da sich hier die Kategorisierungsentscheidung besser erklären lässt und Regeln auch manuell verändert bzw. neu angelegt werden können. Der Benutzer selbst bekommt also die Kontrolle über das Geschehen. Die bisherigen Experimente legen nahe, dass eventuelle Einbußen (wenn vorhanden) in der Kategorisierungsqualität minimal sind, auch wenn diese Aussage noch einiger Untersuchung bedarf. 4.2 Mögliche neue Ansätze Die in Abschnitt 4.1 angesprochenen Verfahren sind alle schon einmal in verschiedenen Email-Klassifizierungs-Szenarios angewendet worden. An dieser Stelle wollen wir nun Verfahren beschreiben, von denen wir glauben, dass sie zur Email-Kategorisierung geeignet sind, die aber noch nicht für diese Aufgabe benutzt oder evaluiert wurden. Wir legen dabei unser Hauptaugenmerk auf probabilistische, entscheidungsorientierte Verfahren und Methoden zum automatischen Lernen probabilistischer Regeln. 4.2.1 Probabilistische, entscheidungsorientierte Verfahren Probabilistische, entscheidungsorientierte Ansätze wurden ursprünglich zur Indexierung im Information Retrieval eingesetzt (Fuhr u. Buckley 1991). Dabei geht man hier von Dokument-Term-Paaren (t, d) aus. Im klassischen probabilistischen Retrieval wird nun die Wahrscheinlichkeit P( R|t, d), dass ein mit Term t indexiertes Dokument d relevant (R) ist, berechnet. Diese Vorgehensweise basiert aber nur auf das Vorkommen und NichtVorkommen eines Terms im Dokument und eventuell noch auf dessen Häufigkeit. Gerade für semi-strukturierte Daten, wie wir sie bei Emails vorliegen haben, ist es interessant, auch die Eigenschaften (Features) eines Terms zu berücksichtigen, wie ja auch in einigen der oben erwähnten Klassifikationsverfahren schon geschehen ist. Solche Eigenschaften können z.B. das Vorkommen eines Terms in der Betreffzeile der Email sein, aber auch dessen Häufigkeit im Email-Body. Auch können dokumentspezifische Eigenschaften definiert werden, wie z.B. das wiederholte Auftreten gewisser Satzzeichen (z.B. „!!!!!“). Man sieht also, dass solche Eigenschaften eine komplexere Beschreibung einer Email ermöglichen. Es wird also zunächst mal aus dem Dokument-Term-Paar (t, d) in der Beschreibungsphase eine Relevanzbeschreibung erzeugt, die aus einem Eigenschaftvektor ~x (t, d) besteht. Jede Koordinate dieses Vektors kodiert eine Eigenschaft des Terms im Dokument oder eine Dokumenteigenschaft. Beispielsweise könnte für ~x (t, d) = ( x1 , x2 , x3 ) dann x1 ∈ {0, 1} das Vorkommen von t im Email-Subject kodieren, x2 ∈ [0, 1] könnte KI-Methoden zur Email-Archivierung 36 4 EMAIL-KATEGORISIERUNG Term-Dokument-Paar Prob. Indexierungsgewicht (t, d) P( R|t, d) - P( R|~x (t, d)) ≈ idx (~x (t, d)) @ @ @ Beschreibung @ R @ * Entscheidung ~x (t, d) Relevanzbeschreibung Abbildung 4.2: Indexierung beim beschreibungsorientierten Ansatz die normierte Häufigkeit von t im Dokument und x3 ∈ [0, 1] die normierte Dokumentlänge darstellen. In einem nächsten Schritt wird mittels eines Regressionsverfahrens in der Entscheidungsphase die Wahrscheinlichkeit P( R|~x (t, d)) durch eine Indexierungsfunktion idx (~x (t, d)) abgeschätzt. Um welche Art Funktion (Polynom, logistische Funktion) es sich bei idx handelt, hängt dabei vom verwendeten Regressionstyp ab. Wurde idx nun aus der Lernstichprobe ermittelt, so berechnet idx (~x (t, d)) ∈ R das Termgewicht des Terms t in Dokument d. Dokumente (und wie wir später sehen werden auch Kategorien bzw. Folder) werden letztendlich also als Vektoren von Termgewichten repräsentiert. Der Prozess ist noch einmal in Abbildung 4.2 illustriert. Wir wollen nun einige Möglichkeiten zur Bestimmung von idx mittels Regression betrachten. Dazu betrachten wir zunächst den Aufbau der Lernstichprobe. Dieser liegt ein spezieller Begriff der Relevanz zwischen zwei Dokumenten zu Grunde: Definition. Bezeichne D die Menge der Dokumente. d ∈ D ist relevant (R) zu d0 ∈ D , wenn sich d und d0 in derselben Kategorie befinden, und nicht-relevant (R) sonst. Die Funktion r : D × D −→ { R, R} bestimmt dabei die Relevanz zwischen zwei Dokumenten. Mit diesem Begriff der Relevanz können wir nun unsere Lernstichprobe definieren. Zunächst mal sei L= d, d0 , r d, d0 |d, d0 ∈ D . Die Lernstichprobe selbst ist eine Multimenge von Relevanzbeschreibungen mit Relevanzurteilen: L x = [(~x (t, d), r (d, d0 ))|t ∈ d T ∩ d0T ∧ (d, d0 , r (d, d0 ) ∈ L] wobei d T die Menge der in d vorkommenden Terme ist. kiib 37 4.2 MÖGLICHE NEUE ANSÄTZE Beispiel. Legt man folgende Relevanzbeschreibung für Emails zu Grunde x1 (t, d) = normierte Termhäufigkeit (nt f ) des Terms t in d ( 1 wenn t im Subject-Header von d enthalten ist, x2 (t, d) = 0 sonst. und hat man die drei Emails d1 , d2 und d3 , die aus den Termen {t1 , t2 }, {t2 , t3 , t4 } und {t1 , t4 } bestehen, bekommt man beispielsweise die in Tabelle 4.1 dargestellte Stichprobe. Man erhält in diesem Fall also ! ! ! ! ! ! ! ! ! !# " ! ! 1 2 1 2 1 1 ,R , ,R , ,R , ,R , ,R . Lx = ,R , 1 0 1 0 0 1 In diesem simplen Beispiel kann man die Schätzung für P( R|~x (t, d)) für einige Ausprägungen von ~x (t, d) sehr leicht ablesen: P( R|(2, 0)) = 1/2, P( R|(1, 1)) = 1/3. d d0 t ∈ d T ∩ d0T d1 d2 d1 d3 d2 d3 d2 d1 d3 d1 d3 d2 t2 t2 t1 t1 t4 t4 ~x (1,1) (1,1) (2,0) (1,1) (2,0) (1,0) r (d, d0 ) R R R R R R Tabelle 4.1: Beispiel einer Stichprobe Lineare Regression Um aus der Lernstichprobe nun die Indexierungsfunktion zu berechnen, wird in z.B. in Gövert u. a. (1999) eine lineare Regression nach der Methode der kleinsten Quadrate vorgenommen. Sei dabei zunächst mal ( 1 wenn r (d, d0 ) = R, y = y(d, d0 ) = 0 sonst. die Klassenvariable y. Es soll nun der mittlere quadratische Schätzfehler minimiert werden; Optimierungskriterium ist also ! E((y − idx (~x ))2 = min . KI-Methoden zur Email-Archivierung 38 4 EMAIL-KATEGORISIERUNG (E ist der Erwartungswert). i wird mit Hilfe einer Polynomstruktur ~v(~x ) und eines Koeffizientenvektors ~a als Polynom ausgedrückt: idx (~x ) = ~a T · ~v(~x ) Für ~v(~x ) = (1, x1 , x2 )T und ~a = ( a1 , a2 , a3 )T würde man z.B. das Polynom a1 + a2 x1 + a3 x2 als Schätzfunktion bekommen. Berücksichtigt man das o.g. Optimierungskriterium, so kann man mittels des linearen Gleichungssystems E(~v · ~v T ) ·~a = E(~v · y) ~a berechnen. Siehe auch (Frommholz 2001, Kapitel 4.1) für eine ausführlichere Beschreibung der Methode. Im vorliegenden Beispiel würde man als Indexierungsfunktion 1 1 1 idx (~x ) = − + x1 + x2 2 2 3 bekommen. Logistische Regression Bei der logistischen Regression erfolgt die Abschätzung von P( R|~x ) nicht mittels eines Polynoms, sondern durch die Formel ~ T~x P( R|~x ) ≈ idx (~x ) = eb 1 + e~b T~ x = eb0 +b1 x1 +...+bn xn 1 + eb0 +b1 x1 +...+bn xn Dabei ist ~b = (b0 , b1 , . . . , bn )T der gesuchte Parametervektor und ~x = (1, x1 , . . . , xn )T ein Eigenschaftsvektor. Die logistische Funktion nimmt einen S-förmigen Verlauf an durch den man sich eine bessere Approximation der Klassenvariable y erhofft als durch die lineare Regression, zumal die logistische Funktion sehr flexibel ist. Zur leichteren maschinellen Berechnung der Wahrscheinlichkeitsabschätzung kann man obige Formel umwandeln, indem man den Begriff der Odds einführt. Mit O( A) = P( A)/P( A) für ein Ereignis A bekommt man O( R|~x ) = eb0 +b1 x1 +...+bn xn . Dies kann man nun logarithmieren und erhält die so genannten Logodds: log O( R|~x ) = b0 + b1 x1 + . . . + bn xn . Es reicht völlig aus, die Logodds zu berechnen. Bei Bedarf können die so erhaltenen Werte in die tatsächlichen Wahrscheinlichkeitsabschätzungen überführt werden. Zur Ermittlung von idx wird nun zunächst ~b als Argument der Indexierungsfunktion hinzugefügt, so dass wir idx (~x,~b) bekommen. Sei nun L x eine solche Lernstichprobe und t = | L x |, d.h. t beschreibt die Anzahl der vorhandenen Stichprobenelemente. X = {~ x1 , . . . , ~ xt } ist die Menge der Relevanzbeschreibungen und Y = {y1 , . . . , yt } die Menge der dazugehörigen Relevanzurteile in der Stichprobe. Es gibt nun zwei Möglichkeiten, den gesuchten Parametervektor ~b zu finden: eine Maximum-Likelihood- und eine Least-Square-Regression. Beide basieren dabei auf unterschiedlichen Optimierungskriterien, wie wir im Folgenden beschreiben. kiib 39 4.2 MÖGLICHE NEUE ANSÄTZE Logistische Maximum-Likelihood-Regression Hier geht es darum, die so genannte Likelihood-Funktion (Fuhr u. Pfeifer 1991) L(~b) = ∏ idx(~xi ,~b) · ∏ (1 − idx(~xi ,~b)) y i =0 y i =1 t = ∏ idx(~xi ,~b)y i · (1 − idx (~xi ,~b))1−yi i =1 zu maximieren. Das Optimierungskriterium für die optimale logistische Regressionsfunktion ist daher ! L(~b) = max . Im weiteren Verlauf wird die logarithmische Likelihood-Funktion l (~b) = log L(~b) betrachtet. Es ergibt sich l (~b) = t ∑ yi · log idx(~xi ,~b) + (1 − yi ) · log(1 − idx(~xi ,~b)). i =1 Das Optimierungskriterium hat als notwendige Bedingung, dass die Ableitungen von l nach den Komponenten b j aus ~b gleich 0 sind, d.h. t ∂l = ∑ (yi − idx (~xi ,~b)) xi j = 0. ∂b j i =1 Da diese Gleichung normalerweise nicht direkt gelöst werden kann, wird das iterative Newton-Raphson-Verfahren zu dessen Lösung benutzt (Fuhr u. Pfeifer 1991; Pfeifer 1990; Pollmann 1993). Siehe auch (Frommholz 2001, Kap. 5.1.2) für weitere Details. Logistische Least-Square-Regression Hier wird das gleiche Optimierungskriterium verwendet wie bei der linearen Regression. Als Ziel kann also formuliert werden: R(~b) = t ∑ (idx(~xi ,~b) − yi )2 = min . ! i =1 Auch hier muss wieder die Ableitung von R(~b) nach den Komponenten von ~b gleich 0 sein. Es ist ((Pollmann 1993, Kap. 3.2.3)) t ∂R = 2 · ∑ (idx (~xi ,~b) − y · idx (~xi ,~b) − idx (~xi ,~b)3 + y · idx (~xi ,~b)2 ) · xi j = 0 ∂b j i =1 Es wird wiederum das Newton-Raphson-Verfahren benutzt, um die Gleichung zu lösen (Frommholz 2001, Kap. 5.1.2). KI-Methoden zur Email-Archivierung 40 4 EMAIL-KATEGORISIERUNG Klassifizierungsfunktionen Hat man die Indexierungsfunktion idx mittels linearer oder logistischer Regression aus der Lernstichprobe ermittelt, wird diese nun benutzt, um Dokumente zu indexieren, wobei dann jedes als Vektor d~ = (wt1 , . . . , wtn ) von Termgewichten dargestellt wird (mit n als Anzahl der in der Kollektion vorhandenen Termen und wti = 0 wenn ti im Dokument nicht vorkommt). Dies bedeutet, dass für jedes neu zu kategorisierenden Dokument (Email) d~ die Features zu extrahieren, der Eigenschaftsvektor ~x (t, d) für jedes DokumentTerm-Paar aufzubauen und daraus mittels idx dann das jeweilige Termgewicht zu berechnen ist, um d~ zu erhalten. Wie aber können wir nun die indexierten Dokumente benutzen, um an eine Klassifikationsentscheidung zu kommen? k-Nearest-Neighbour Gövert u. a. (1999) wenden eine probabilistische Variante von kNearest-Neighbour (kNN) (Yang 1994) an. Es wird die Wahrscheinlichkeit P(d → C ), dass das zu klassifizierende Dokument d die Kategorie C impliziert, ermittelt2 . Dazu wird zunächst einmal die Wahrscheinlichkeit P(d → d0 ) = ∑ t P(d|t) P(t) P ( d 0 | t ). P(d) berechnet, die ein Ähnlichkeitsmaß für die beiden Dokumente d und d0 darstellt. Die Menge NN definiert sich dann als die Menge der k Dokumente d0 , die den höchsten Wert für P(d → d0 ) aufweisen. P(t) wird durch die inverse Dokumentenhäufigkeit (idf ) des Terms t approximiert3 , P(d) ist ein Normalisierungsfaktor (mit ∑t P(t|d) = 1). P(d|t) und P(d0 |t) sind die mit idx ermittelten Termgewichte. Darauf aufbauend berechnet man nun P(d → C ) ≈ ∑ P(d0 | NN ) · P(d → d0 ) · P(d0 → C ), (4.5) d0 ∈ NN wobei P(d0 | NN ) ein Normalisierungsfaktor ist (mit ∑d0 ∈ NN P(d0 | NN ) = 1)). P(d0 → C ) ist 1, wenn d0 in Kategorie C ist, und 0 sonst. Megadokumente Ein anderer möglicher Klassifizierer ist in (Frommholz 2001, Kap. 8.3) beschrieben. Hierbei kommt der in (Klas u. Fuhr 2000) erwähnte Megadokumenten-Ansatz (der ja dem in Abschnitt 4.1.2 geschildertem tf × idf -Klassifizierer ähnlich ist) in Kombination mit Regressionsalgorithmen zum Einsatz. Jede Kategorie (jeder Folder) C wird dabei als einzelnes Megadokument MC aufgefasst, das sich aus dem Verschmelzen der in dem Folder befindlichen Emails ergibt. Es ist nun P ( d → C ) = P ( d → MC ) = ∑ t P(d|t) P(t) P ( Mc | t ) . P(d) Bei diesem Ansatz ist zu beachten, dass wir die Lernstichprobe zum Erlernen von idx etwas anders aufbauen müssen. Zunächst mal haben wir es mit einem leicht veränderten 2 Zur Erläuterung des Implikationsbegriffes siehe auch van Rijsbergen (1986) fallen Terme, die nur in wenigen Dokumenten vorkommen, stärker ins Gewicht 3 Dadurch kiib 41 4.2 MÖGLICHE NEUE ANSÄTZE Relevanzbegriff zu tun – ein Dokument d ist relevant zu einem Megadokument MC wenn es zu der von M repräsentierten Klasse C gehört. Die Lernstichprobe ist nun aufzuteilen in die Menge M der Lern-Megadokumente und die Menge D der Lerndokumente. Daraus ergibt sich als neue Lernmenge L = {( M, d), r ( M, d))| M ∈ M, ∈ D} . Daraus kann man nun die eigentliche Lernstichprobe bilden. Mit L xM = [(~x (t, M), r ( M, d))|t ∈ M T ∩ d T ∧ ( M, d, r ( M, d)) ∈ L] und Ldx = [(~x (t, d), r ( M, d))|t ∈ M T ∩ d T ∧ ( M, d, r ( M, d)) ∈ L] ist L x = L xM ∪ Ldx . L xM beinhaltet die Features von Termen in Megadokumenten, während Ldx jene von Termen in Einzeldokumenten enthält. Man beachte hierbei, dass ein Megadokument und ein Dokument wahrscheinlich unterschiedliche Größen haben, was u.U. die Vergleichbarkeit der jeweiligen Eigenschaftswerte verschlechtert (man denke nur an das Feature „Dokumentlänge“, das für Dokumente und Megadokumente sehr unterschiedlich ausfallen dürfte). Von daher kann es sinnvoll sein, statt einer Indexierungsfunktion idx, die auf L x basiert, zwei Indexierungsfunktionen idx M und idxd für Megadokumente und Einzeldokumente zu lernen, die dann auf L xM und Ldx basieren. Es ist eine offene Frage, inwiefern solch eine Unterscheidung zu veränderten Ergebnissen bei der Kategorisierung führt. Das Probability-Ranking-Prinzip zur Email-Kategorisierung Die hier vorgestellten probabilistischen, entscheidungsorientierten Verfahren erstellen für eine neue Email d ein Ranking von Kategorien C absteigend nach ihrer Implikationswahrscheinlichkeit P(d → C ). Inwiefern produziert diese Vorgehensweise nun ein optimales Ranking? Aus dem Information Retrieval kennen wir die von Robertson (1977) vorgestellte entscheidungstheoretische Rechtfertigung des Probability-Ranking-Prinzips; dieses besagt, dass für eine Anfrage q ein Ranking nach absteigendem P( R|q, d) für ein Dokument d optimal ist. Wir definieren nun den Begriff der Relevanz für die Kategorisierungsaufgabe derart, dass ein Dokument zu einer Kategorie genau dann relevant ist, wenn es unter dieser einzuordnen ist. Probabilistische Kategorisierungsverfahren berechnen dann die Wahrscheinlichkeit P( R|C, d), dass eine Kategorie C zu einem Dokument d relevant ist. Um zu zeigen, dass ein nach dieser Wahrscheinlichkeit sortiertes Ranking optimal ist, definieren wir zunächst einmal einige Kostenmaße. Wir gehen dabei davon aus, dass die Kategorisierung von Emails auf Basis der vom System mittels des erstellten Rankings angebotenen Kategorien zu einer Email dem Benutzer Kosten in Form des benötigten Auf- KI-Methoden zur Email-Archivierung 42 4 EMAIL-KATEGORISIERUNG wands verursacht. Daraus ergeben sich nun folgende Kostenmaße: cr := Kosten des Anbietens einer relevanten Kategorie c̄r := Kosten des Anbietens einer nicht-relevanten Kategorie co := Kosten des Auslassens einer relevanten Kategorie c̄o := Kosten des Auslassens einer nicht-relevanten Kategorie Weiter definieren wir die erwarteten Kosten für das Anbieten einer Kategorie als ECr (C, d) = P( R|C, d) · cr + (1 − P( R|C, d)) · c̄r und für das Auslassen ECo (C, d) = P( R|C, d) · co + (1 − P( R|C, d)) · c̄o . Dabei kann man prinzipiell mit Kategorie-spezifischen Kosten arbeiten; wir gehen an dieser Stelle aber davon aus, dass die Kosten für das Anbieten und Auslassen für jede Kategorie gleich sind, da ansonsten die Vereinfachung auf die reine Betrachtung der Wahrscheinlichkeit wegfällt. cr , c̄r , co und c̄o sind in unserem Fall also konstant. Grundsätzlich geht es darum, die erwarteten Kosten für den Benutzer zu minimieren. Dies kann dazu führen, dass wir die Anzahl der Kategorien, die dem Benutzer zur EmailKlassifikation vom System angeboten werden, dynamisch halten (im Gegensatz z.B. zu den in Abschnitt 4.1.2 beschriebenen Experimenten, wo dem Benutzer eine, drei oder fünf Kategorien angeboten wurden, dieser Wert aber a priori festgelegt wurde). Aus Kostensicht ist das Kriterium, wieviele und welche Kategorien angeboten werden, definiert durch ECr (C, d) < ECo (C, d), d.h. wir bieten nur jene Kategorien an, für die es erwartungsgemäß teurer wäre, sie nicht anzubieten. Wir gehen dabei davon aus, dass cr , c̄r , co und c̄o unabhängig von der Anzahl der vorgeschlagenen Kategorien sind. Ferner gehen wir davon aus, dass cr < c̄r < co sowie c̄o = 0 ist. Wird eine nicht-relevante Kategorie ausgelassen, so entstehen dem Benutzer dadurch keine Kosten. Auf der anderen Seite ist der erwartete Aufwand am geringsten, wenn dem Benutzer eine relevante Kategorie präsentiert wird und er diese z.B. mittels eines einfachen Mausklicks zuweisen kann. Der Aufwand für nicht-relevante Kategorien ist höher, da der Benutzer an diesen nicht interessiert ist4 . Am höchsten sind die Kosten für das Auslassen relevanter Kategorien, da der Benutzer diese mühsam auf anderem Wege suchen muss. Wegen des obigen Kostenkriteriums ist es sinnvoll, die Kategorien nach aufsteigendem ECr (C, d) zu ranken. Wir bekommen somit eine Rangordnung 4 Das Anbieten einer nicht-relevanten Kategorie mag für dein Benutzer an sich sehr wenig Aufwand bedeuten, aber auf der anderen Seite hat er davon auch keinen Ertrag – ansonsten wäre es am billigsten, dem Benutzer nur nicht-relevante Kategorien vorzuführen, was die vorliegende Problematik ad absurdum führen würde. kiib 43 4.2 MÖGLICHE NEUE ANSÄTZE von l Kategorien C1 , . . . , Cl mit ECr (Ci , d) ≤ ECr (Ci+1 , d) für i = 1, . . . , l − 1. Wegen cr < c̄r gilt: ECr (Ci , d) ≤ ECr (Ci+1 , d) ⇔ P( R|Ci , d) · cr + (1 − P( R|Ci , d)) · c̄r ≤ P( R|Ci+1 , d) · cr + (1 − P( R|Ci+1 , d)) · c̄r ⇔ P( R|Ci , d) (cr − c̄r ) < P( R|Ci+1 , d) (cr − c̄r ) | {z } | {z } <1 ⇔ <1 P( R|Ci , d) ≥ P( R|Ci+1 , d). Die von den Kategorisierungsverfahren ermittelte Wahrscheinlichkeit P(d → C ) lässt sich frei nach van Rijsbergen (1992) auf P( R|C, d) abbilden: P( R|C, d) = P( R|d → C ) · P(d → C ) + P( R|¬(d → C )) · P(¬(d → C )) = f ( P(d → C )). f wird dabei als monoton steigend angenommen. Nottelmann u. Fuhr (2003) ermitteln mögliche Abbildungsfunktionen f mittels linearer und logistischer Regressionsverfahren. Beurteilung der entscheidungsorientierten Verfahren Die probabilistischen, entscheidungsorientierten Verfahren ermitteln die Wahrscheinlichkeit P(d → C ). Wir haben gezeigt, dass ein auf diesen Wahrscheinlichkeiten aufbauendes Ranking potentiell den Kategorisierungsaufwand des Benutzers minimieren kann. Wird eine Email nun vom Benutzer in einen Folder geschoben, kann diese im kNNAnsatz sofort dem Index hinzugefügt werden, zusammen mit Informationen über deren Klassenzugehörigkeit. Die so hinzugefügte Email wird damit sofort zur Klassifizierung einer nachfolgenden Email berücksichtigt. Im Megadokumenten-Ansatz müsste zunächst mal das Megadokument für den jeweiligen Folder aktualisiert und neu indexiert werden werden. Wie aufwändig dieser Prozess ist, hängt in beiden Fällen von den zu wählenden Features ab – sind sie leicht zu extrahieren, wird eine inkrementelle Indexierung effizient durchzuführen sein. Da die Indexierungsfunktion im Grunde genommen die Wichtigkeit eines Features beim Klassifizierungsprozess ermittelt, ist damit zu rechnen, dass diese nicht sehr häufig neu berechnet werden muss. Es wird vermutlich ausreichen, sie periodisch neu zu berechnen. Dies ist erfreulich im Hinblick auf die Tatsache, dass die Berechnung der Indexierungsfunktion durch Regression höchst wahrscheinlich einige Rechenzeit kosten wird. Die probabilistischen, entscheidungsorientierten Verfahren können potentiell für alle in Abschnitt 3.2 vorgestellten Facetten eingesetzt werden. Die Möglichkeit, für jede Facette unterschiedliche Features zu bestimmen, machen die Verfahren zu einem universellen Werkzeug. Welche Features dabei bei welcher Facette Sinn machen, bedarf einer genaueren Analyse der Email-Kollektion hinsichtlich der einzelnen Facetten. KI-Methoden zur Email-Archivierung 44 4 EMAIL-KATEGORISIERUNG 4.2.2 Dr. Holthausen-Netzwerke Das in der Offenlegungsschrift (Holthausen u. a. 2000) beschriebene Verfahren, das wir hier Dr. Holthausen-Netzwerke nennen, ist ein Retrieval-Verfahren, das die semantische Ähnlichkeit von Dokumenten benutzt, um dem Benutzer ein erweitertes Suchergebnis zu liefern. Dabei ist bisher nicht bekannt, dass die Offenlegungsschrift auch tatsächlich zum Patent angemeldet wurde. Das Verfahren soll hier zunächst erläutert werden. Danach diskutieren wir die Anwendung des Verfahrens auf die Email-Klassifikation und die mögliche Kombination mit probabilistischen, entscheidungsorientierten Verfahren. Beschreibung des Verfahrens Dr. Holthausen-Netzwerke wurden ursprünglich zur Dokumentsuche eingesetzt. Die Idee hierbei ist, nicht nur Dokumente zu präsentieren, die die benötigten Suchbegriffe enthalten, sondern auch dazu ähnliche Dokumente. Dadurch können dem Benutzer potentiell relevante Dokumente präsentiert werden, ohne dass diese die Suchbegriffe enthalten. Wir gehen nun davon aus, dass eine boolesche Suche eine Anzahl K von Dokumenten gefunden hat, die die vom Benutzer gegebenen Suchbegriffe enthalten. Das System erzeugt nun eine Rangordnung der gefundenen Dokumente nach ihrem relativen Informationsgehalt (s.u.). Zusätzlich dazu werden Dokumente ermittelt, die ähnlich zu denen in der Rangordnung sind; diese werden nach ihrer Ähnlichkeit zu den im Ursprungsranking vorkommenden Dokumenten sortiert. Sei D = {d j |1 ≤ j ≤ K } die Menge der K zurückgelieferten Dokumente. Die Menge T = {ti |1 ≤ i ≤ n} ist die Menge der n in der D vorkommenden Terme. Ferner sei die relative Häufigkeit des Terms ti in d j wird berechnet als normierte Termfrequenz F ( ti , d j ) = N ( ti , d j ) , N (d j ) wobei N (ti , d j ) angibt, wie oft ti in d j vorkommt, und N (d j ) die Anzahl Terme in d j ist. Zudem sei noch F ( t i ) = ∑ F ( t i , d j ). j Dann ergibt sich das Informationsmaß I (t j ) als I (ti ) = ln(K ) + ∑ j F ( ai , d j ) F ( ai , d j ) · ln( ). F ( ti ) F ( ti ) Für einen seltenen Term würde I einen Maximalwert annehmen; für Stoppwörter würde I gegen 0 gehen. Als nächstes berechnen wir den relativen Informationsgehalt G (ti , d j ) eines Dokuments d j bezüglich eines Terms ti wie folgt: G ( t i , d j ) = I ( t i ) F ( t i , d j ). kiib 45 4.2 MÖGLICHE NEUE ANSÄTZE Daraus bekommen wir den gemeinsamen relativen Informationsgehalt GI (d j , dk ) = I (ti ) F (ti , d j ) F (ti , dk ) welcher die Ähnlichkeit zweier Dokumente bezüglich eines Terms ti angibt. Durch Aufsummierung aller Begriffe ti in der Kollektion erhalten wir S ( d j , d k )2 = ∑ I ( a i ) F ( t i , d j ) F ( t i , d k ), i das Ähnlichkeitsmaß S zweier Dokumente d j und dk . F kann dabei zum Indexierungszeitpunkt berechnet werden, während wir I effizient aus der Anzahl K der im ersten Schritt gefundenen Dokumente ermitteln können. Das obige Verfahren kann auf der Basis neuronaler Netzwerke implementiert werden, daher auch sein Name. Das Dr. Holthausen-Netzwerk kann nun auf verschiedene Art und Weise zum Retrieval genutzt werden. Zunächst können mittels einer booleschen Anfrage alle Dokumente, die alle Suchterme enthalten gefunden werden; K ist dann die Anzahl dieser Dokumente. Über das Informationsmaß I kann ein Ranking dieser Dokumente erzeugt werden. Ferner können über das Ähnlichkeitsmaß S dem Benutzer zur Trefferliste semantisch ähnliche Dokumente präsentiert werden. Es besteht aber auch die Möglichkeit, zu einem Referenzdokument ähnliche Dokumente zu suchen, indem man alle im Referenzdokument enthaltenen Terme als Suchterme ansieht. Email-Kategorisierung mit Dr. Holthausen-Netzwerken Um die Dr. Holthausen-Netzwerke zur Email-Kategorisierung zu nutzen, kann man sich den in Abschnitt 4.2.1 beschriebenen kNN-Ansatz nutzbar machen. Das zu kategorisierende Dokument wird als Anfrage gesehen. Daraus wird nun ein Ranking von Dokumenten erzeugt, aus dem die ersten k Dokumente die Menge NN der nächsten Nachbarn bilden. Aus diesen kann analog zu Gleichung (4.5) und den gegebenen Kategoriezuordnungen der Dokumente eine Rangordnung der Kategorien zum zu klassifizierenden Dokument erzeugt werden. Des Weiteren besteht die Möglichkeit, die im letzten Abschnitt besprochenen probabilistischen, entscheidungsorientierten Ansätze mit Dr. Holthausen-Netzwerken zu verknüpfen. Anstatt F (ti , d j ) als relative Häufigkeit von ti in d j anzusehen, können wir hier die gelernte Indexierungsfunktion nehmen und setzen F (ti , d j ) = idx (~x (ti , d j )). 4.2.3 Lernen probabilistischer Regeln Wie schon in Abschnitt 4.1.3 besprochen, sind regelbasierte Ansätze hilfreich, dem Benutzer die Kategorisierung transparent zu machen und ihn dazu selbst Regeln anlegen oder modifizieren zu lassen. Wir haben es bei RIPPER und ähnlichen Verfahren jedoch mit einer binären Entscheidung zu tun: entweder die Zugehörigkeit zu einem Folder wird inferiert, KI-Methoden zur Email-Archivierung 46 4 EMAIL-KATEGORISIERUNG oder nicht. Schön wäre es jedoch, auch hier eine Wahrscheinlichkeit, dass eine Email zu einem Folder/einer Kategorie gehört, zu berechnen. Dadurch wäre es dem System möglich, ein Ranking von Foldern zu erstellen und die besten k Folder dem Benutzer zur Auswahl zu stellen. Hier können Inferenzsysteme wie probabilistisches Datalog (pDatalog) (Fuhr 2000) hilfreich sein, die unsicheres Wissen verarbeiten können. Datalog ist eine Variante der Prädikatenlogik, die auf funktionsfreien Horn-Klauseln basiert. Horn-Klauseln haben die Form {h, ¬b1 , . . . , ¬bn }, die in Datalog als Regel h ← b1 ∧ . . . ∧ bn dargestellt werden. h ist dabei der Kopf der Regel und b1 ∧ . . . ∧ bn stellt den Regelrumpf dar. h ist das Zielprädikat; jedes Prädikat aus {b1 , . . . , bn } ist ein so genanntes Subziel. Prädikate können dabei Variablen und Konstanten enthalten; dabei werden Variablen durch Großbuchstaben ausgedrückt. Besitzt eine Regel weder Rumpf noch Variablen, so ist es ein Fakt. In pDatalog kann nun jedem Fakt und jeder Regel eine Wahrscheinlichkeit zugewiesen werden, die bei der Auswertung einer Regel berücksichtigt werden. Beispielsweise könnten die Regeln 0.9 cfp95(D) ← subject(D,"cfp") ∧ subject(D,"1995") (4.6) 0.6 cfp95(D) ← author(D,"mccoy") ∧ year(D,"1995") (4.7) besagen, dass eine Email (ausgedrückt durch die Variable D) mit einer Wahrscheinlichkeit von 90% dem Ordner cfp95 zuzuordnen ist, wenn im Subject die Terme „cfp“ und „1995“ auftauchen. Die Email ist mit einer Wahrscheinlichkeit von 60% dem Ordner cfp95 zuzuordnen, wenn ein gewisser McCoy der Autor der Email ist und diese 1995 abgeschickt wurde. Eine Email von McCoy aus dem Jahre 1995, die „cfp“ und „1995“ im Betreff hat, würde mit einer Wahrscheinlichkeit größer als 90% in den Ordner cfp95 einsortiert werden. Durch den probabilistischen Charakter der Regeln hat der Benutzer die Möglichkeit, weiteren Einfluss zu nehmen, etwa wenn klar ist, dass 95% der Emails von McCoy aus 1995 Calls for Papers sind; hier könnte der Benutzer die Wahrscheinlichkeit von 60% auf 95% anheben. Man sieht an diesem simplen Beispiel die Möglichkeiten, die probabilistische Regeln in Datalog hinsichtlich einer personalisierten Regelbasis bieten. Mit HySpirit5 existiert eine Implementierung von pDatalog (Fuhr u. Rölleke 1998). Lernen von Regelgewichten Ein probabilistisches Lernverfahren würde nun sowohl obige Regeln als auch deren Wahrscheinlichkeiten aus der Lernstichprobe lernen. Dabei ergibt sich ein zusätzliches Problem, wenn für ein Regelkopf p mehr als eine Regel formuliert wurde. Hat man z.B. die Regeln p ← r1 und p ← r2 , so genügen uns nicht die Wahrscheinlichkeiten P( p|r1 ) und P( p|r2 ), denn aus ihnen können wir immer noch nicht die Wahrscheinlichkeit P( p|r1 ∧ r2 ) ermitteln. Um also die korrekten Wahrscheinlichkeiten der Regel abschätzen zu können, 5 Eine nichtkommerzielle Variante von HySpirit ist an der Queen Mary University of London zu beziehen (siehe auch http://qmir.dcs.qmul.ac.uk/hyspirit.php). Die Firma Apriorie Ltd. bietet eine kostenpflichtige, aber in vielerlei Hinsicht effizientere kommerzielle Version. Eine alternative freie Implementierung von pDatalog ist das an der Universität Duisburg-Essen entwickelte PIRE (Nottelmann 2005). kiib 47 4.2 MÖGLICHE NEUE ANSÄTZE benötigen wir die Einzelwahrscheinlichkeiten P( p|¬r1 ∧ ¬r2 ) P( p|r1 ∧ ¬r2 ), P( p|¬r1 ∧ r2 ) und P( p|r1 ∧ r2 ). Dabei macht die erste Wahrscheinlichkeit P( p|¬r1 ∧ ¬r2 ) wenig Sinn und wird ignoriert. Allgemein formuliert: haben wir n Regeln mit dem Zielprädikat p gegeben, so sind 2n − 1 bedingte Wahrscheinlichkeiten zu berechnen (Nottelmann u. Fuhr 2001; Nottelmann 2001). Das System liefert also für die n Regeln mit Zielprädikat p 2n − 1 neue Regeln mit deren Wahrscheinlichkeiten zurück. Generell haben wir es also mit dem Fall zu tun, dass es mehrere Regeln mit dem Zielprädikat p geben kann. In Datalog können diese Regeln die Form p( ~ X ) ← pi ( ~ X ) annehmen, ~ wobei X die sich in der Regel befindlichen Variablen bezeichnet. In dieser Notation wären beispielsweise unsere obigen Regeln (4.6) und (4.7) dargestellt als cfp95(D) ← cfp95_1(D) cfp95(D) ← cfp95_2(D) mit cfp95_1(D) ← subject(D,"cfp") ∧ subject(D,"1995") cfp95_2(D) ← author(D,"mccoy") ∧ year(D,"1995") (hier wäre also ~ X = (D)). Für Zielprädikat p gibt es also eine Menge Φ = { p1 , . . . , pn }. Wir definieren nun eine Funktion γ p : 2Φ → [0, 1] als γ p ( A) := P( p( ~ X )| ^ a∈ A a( ~ X) ∧ ^ ¬ a( ~X )) a∈Φ\ A und γ(∅) = 0. γ berechnet also für jede beliebige Kombination der pi die jeweilige Wahrscheinlichkeit, z.B. γc f p95 ({cfp95_1}) = P(cfp95(D)|cfp95_1(D) ∧ ¬cfp95_2(D)). Eine Hypothese h sei nun eine nichtleere Menge P von Regeln mit dem Zielprädikat p und den dazugehörigen Werten γ p . Der Hypothesenraum H ist die Menge aller Hypothesen h p . KB ist unsere zu Grunde liegende Wissensbasis, bestehend aus Regeln und Fakten. EXAMPLES sei eine Routine, die vom Lernalgorithmus aufgerufen werden kann und ein willkürliches Beispiel ~c und ein Label y ∈ {0, 1}, welches ein Beispiel als positiv (y = 1) oder negativ (y = 0) markiert, aus der Lernstichprobe zurückliefert. Ferner sei EX = {(~ci , yi )} die Menge der von EXAMPLES gelieferten positiven und negativen Beispiele. Wir wollen nun anhand eines Beispiels die Abschätzung der γ-Gewichte verdeutlichen. Beispiel. Angenommen, wir haben folgende Wissensbasis KB: subject(d1,"cfp") subject(d1,"1995") subject(d2,"cfp") KI-Methoden zur Email-Archivierung 48 4 EMAIL-KATEGORISIERUNG subject(d2,"1995") author(d3,"mccoy") year(d3,"1995") author(d4,"mccoy") year(d4,"1995") author(d5,"mccoy") year(d5,"1995") und bekommen von EXAMPLES die Menge EX mit folgenden positiven Beispielen: cfp95(d1) cfp95(d3) cfp95(d5) und folgenden negativen Beispielen: cfp95(d2) cfp95(d4) cfp95_1 ist in 2 Fällen enthalten, nämlich für d1 und d2, da cfp95_1(d1) ← subject(d1,"cfp") ∧ subject(d1,"1995") cfp95_1(d2) ← subject(d2,"cfp") ∧ subject(d2,"1995"). Analog ist cfp95_2 in 3 Fällen enthalten; cfp95_1 ∧ cfp95_2 ist in keinem Fall enthalten. Wir schätzen nun γc f p95 ab, indem wir zunächst für alle Teilmengen A ⊆ P = {cfp95_1, cfp95_2} die Menge EX A ermitteln, in denen A und nur A vorkommt, also V V EX A = {(~ci , yi )| a∈ A a(~c) ∧ a∈ P\ A ¬ a(~c)}. Im Fall A = {cfp95_1} wären das alle beiden Testfälle, in denen cfp95_1 enthalten ist, da in ihnen cfp95_2 nicht enthalten ist. Als Approximation von γc f p95 nehmen wir nun den Anteil positiver Beispiele in EX A am Anteil Beispiele in EX A , also |{(~ci , yi ) ∈ EX A |yi = 1}| . | EX A | Wir bekommen dann γc f p95 (cfp95_1) = 1/2 und γc f p95 (cfp95_2) = 2/3. Aus der Menge EX können wir auch den empirischen quadratischen Verlust aus der errechneten Hypothese h p ermitteln als 1 Ê = | EX | | EX | ∑ ( P(h p (~ci )) − yi )2 i =1 wobei P(h p (~ci )) z.B. mit HySpirit berechnet werden kann (Nottelmann u. Fuhr 2001). Algorithmus 2 zeigt die generische Struktur des Algorithmus learnOptimum, der ähnlich wie oben gezeigt aus einer gegebenen Regelmenge die benötigten Gewichte γ berechnet. kiib 49 4.2 MÖGLICHE NEUE ANSÄTZE Eingabe: Zielprädikat p Wissensbasis KB Lernbeispiele EXAMPLES Hypothesenraum H Ausgabe: Optimale Hypothese h ∈ H mit minimalem Verlust Ê = l l←∞ 2: for all h0 ∈ H do 3: h00 ← learnGammas( p, h0 , KB, EXAMPLES) 4: l 0 ← computeLoss(h00 , KB, EXAMPLES) 5: if l 0 < l then 6: l ← l0 7: h ← h00 8: if l = 0 then 9: stop 10: end if 11: end if 12: end for Algorithmus 2: Generische Struktur des Algorithmus learnOptimum (Nottelmann u. Fuhr 2001) 1: Lernen von probabilistischen Regeln Wir haben skizziert, wie man aus einer gegebenen Menge Regeln deren Wahrscheinlichkeiten errechnen kann. Werden solche Regeln manuell angelegt, ist dies somit ausreichend. Aber wir wollen ja aus einer gegebenen Lernstichprobe neue probabilistische Regeln zur Email-Kategorisierung lernen. In (Nottelmann u. Fuhr 2001) wird dazu ein Ansatz aus der induktiven logischen Programmierung vorgeschlagen, den wir nun kurz vorstellen wollen. Der Kern des Verfahren besteht darin, zu einer Regel die direkte Spezialisierung zu generieren. In unserem Beispiel wäre cfp95_1(D) ← subject(D,"cfp") ∧ subject(D,"1995") eine direkte Spezialisierung von cfp95_1(D) ← subject(D,"cfp"), was wiederum eine direkte Spezialisierung von cfp95_1(D) ist. Eine (wenn auch nicht die einzige) Möglichkeit, eine direkte Spezialisierung zu generieren, ist also das Hinzufügen neuer Literale. Algorithmus 3 beschreibt nun grob den Algorithmus zum Lernen probabilistischer Regeln. Dieser ruft Algorithmus 2 auf, nachdem durch Spezialisierung KI-Methoden zur Email-Archivierung 50 4 EMAIL-KATEGORISIERUNG Eingabe: Zielprädikat p Wissensbasis KB Lernbeispiele EXAMPLES Anzahl zu lernender Regeln n Ausgabe: Regelsatz R, Verlustrate l 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: R←∅ l←0 for i ← l; i ≤ n; i ← i + 1 do l←∞ r ← leere Regel für p while better rule found do H = { R ∪ {r 0 }| R0 direkte Spezialisierung vonr } (hr , l ) ← learnOptimum( p, KB, EXAMPLES, H) h ← h00 end while R ← hr end for Algorithmus 3: Algorithmus zum Lernen von Regeln (Nottelmann u. Fuhr 2001) neue Regeln generiert wurden. Für weitere Details verweisen wir auf (Nottelmann u. Fuhr 2001) und (Nottelmann 2001). Algorithmus 3 geht von einer leeren Regelmenge R für das gesuchte Zielprädikat p aus. Daraus ergeben sich exponentiell viele Möglichkeiten, eine direkte Spezialisierung zu finden, von denen die meisten unsinnig sind. Es sollte also in Betracht gezogen werden, den Benutzer geeignete Startregeln definieren zu lassen. Beurteilung der Regellern-Verfahren Die Möglichkeit, Kategorisierungsregeln zu lernen und diese dann vom Benutzer nach seinen Bedürfnissen anpassen zu lassen, ist sehr attraktiv für die Email-Klassifikation. Es stellt sich aber die Frage, welche Ergebnisse vom Lernsystem zu erwarten sind. Zwar wurde der Ansatz in (Nottelmann 2001) mit gemischten Ergebnissen in der Textklassifikation und Spamerkennung hinsichtlich der Effektivität getestet, doch steht eine Evaluierung mit einer realistischen Email-Kollektion wie dem Enron-Korpus noch aus. Es wäre interessant, in Zukunft solch eine Evaluierung durchzuführen und die Ergebnisse zu untersuchen. Wie oben erwähnt wäre es sinnvoll, wenn Algorithmus 3 nicht mit einer leeren Regelmenge starten müsste, sondern der Benutzer ein paar Startregeln spezifizieren könnte. Wie dies allerdings geschehen soll und wie solche Startregeln aussehen sollten, muss noch untersucht werden. kiib 51 4.2 MÖGLICHE NEUE ANSÄTZE 4.2.4 Andere Verfahren Pang u. a. (2002) benutzen Support Vector Machines zur Sentiment Classification. Dabei geht es darum, aus einer Menge von Dokumenten herauszufinden, wie die jeweiligen Autoren über ein gewisses Thema oder Produkt denken. Die hier gemachten Erfahrungen sind für die Emotional Tone-Facette interessant. Die Arbeiten im Bereich der Genre Classification bzw. Document Type Classification sind interessant im Hinblick auf die Document Type-Facette. Beispiele hierfür werden u.A. in (Semeraro u. a. 2001) und (Kim u. Ross 2006) gegeben. Sebastiani (2002) gibt einen Überblick über weitere Textklassifizierungsverfahren. KI-Methoden zur Email-Archivierung 5 Informationsextraktion 5.1 Überblick Die Informationsextraktion (IE) kann grob als das Füllen von strukturierten Vorlagen (so genannten Templates oder auch Frames) angesehen werden. Benutzer sind interessiert an bestimmten Fakten eines bestimmten Bereichs, die vom System extrahiert werden sollen, und die in den Frames als Slots dargestellt ist. Slot bestehen in der Regel aus AttributWerte-Paaren. Grob besteht die Informationsextraktion aus zwei Schritten: der Definition des Templates durch den Benutzer, und dem Füllen des Templates durch das System (Abolhassani u. a. 2003). Grundsätzlich gibt es zwei Strategien bei IE-Ansätzen: im Knowledge Engineering-Ansatz werden Regeln zur Extraktion der gesuchten Information manuell durch einen Knowledge-Engineer angelegt. In der Regel erfolgt dies iterativ, indem man mit simplen Regeln startet und diese dann verbessert. Dadurch können sehr effektive Regelsätze definiert werden, was aber sehr arbeitsintensiv ist. Der Machine Learning-Ansatz benötigt einen annotierten Korpus, der als Trainingsmenge gilt und aus der dann die benötigten Regeln automatisch gelernt werden. Das Lernen kann dabei auch interaktiv geschehen, indem ein Benutzer die gelernten Regeln bestätigt oder ablehnt und daraufhin im nächsten Iterationsschritt vom System neue Regeln gelernt werden. Ein typisches IE-System besteht aus den folgenden 4 Blöcken (Abolhassani u. a. 2003; Appelt u. Israel 1999): 1. In der Tokenisierung wird zunächst eine Wortsegmentierung durchgeführt. 2. Die morphologische und lexikalische Prozessierung erkennt nun inflektierte Wortformen und führt ein Part-of-Speech-Tagging durch. Zusätzlich dazu kann eine NamedEntity-Recognition (s.u.) durchgeführt werden. Auch können hier strukturierte Einheiten wie Datum und Uhrzeit erkannt werden; meist genügen hier entsprechende reguläre Ausdrücke. 3. Die syntaktische Analyse benutzt die Ausgabe der vorherigen Phase, um z.B. Gruppen von Verben und Substantiven zu identifizieren. Meistens benutzt man hier einen so genannten Shallow Parser. 4. Die Domänenanalyse beschäftigt sich mit dem eigentlichen Extrahieren der Fakten. Hier gibt es generell zwei Probleme. Zunächst einmal müssen Koreferenzen aufgelöst werden (Coreference Resolution), die dieselbe Entität oder Person beschreiben (z.B. „IBM“, „International Business Machines, „Big Blue“ oder auch „William H. Gates“, 53 5.1 ÜBERBLICK „Bill Gates“, „Mr. Gates“, usw). Ein anderes Problem besteht in der Auflösung von Anaphern. Cunningham (1999) unterscheidet zwischen fünf Typen der Informationsextraktion: • Die Named Entity Recognition findet und klassifiziert Personen, Orte, Produkte oder Firmen. Hierzu werden entsprechende Tools wie GATE1 eingesetzt, die eine Accuracy bis zu 95% erreichen. • Bei der Coreference Resolution werden Beziehungen zwischen Entitäten erkannt. Beispielsweise würde bei der Anaphernauflösung in dem Satz Alas, poor Yorick, I knew him well. „Yorick“ mit „him“ verknüpft werden. • Die Template Element Reconstruction assoziiert nun deskriptive Informationen mit den in den vorherigen Schritten gefundenen Elementen. Hier werden die vorher definierten Templates zunächst mit Daten gefüllt. • Bei der Template Relation Reconstruction werden auf den obigen Schritten aufbauend Relationen zwischen den einzelnen Elementen der Templates erkannt, z.B. ein Angestelltenverhältnis zwischen einer Firma und einer Person. • Die Scenario Template Extraction stellt den finalen Schritt bei der Informationsextraktion dar. Alle in den bisherigen Schritten ermittelten Informationen werden hier zusammengefügt. Ein Szenario-Template kann in einem Management-Szenario z.B. erkennen welche Person, von welcher Firma kommend, den bisherigen Manager einer anderen Firma abgelöst hat. Die Template Element Reconstruction ist eine sehr komplexe Aufgabe, bei der der automatische Systeme eine Accuracy von rund 60% erreichen. Der klassische Ansatz, Informationen aus Datenquellen zu extrahieren, ist der Einsatz so genannter Wrapper. Laender u. a. (2002) geben einen Überblick über verschiedene Typen von Wrappern und Ansätzen der Wrappergenerierung. Diese lassen sich in folgende Kategorien einteilen: Sprachen zu Wrappergenerierung Hierbei handelt es sich um Sprachen, die den Benutzer bei der manuellen Konstruktion von Wrappern unterstützen. Diese werden als Alternativen und benutzerfreundlichere Varianten zu Programmiersprachen wie Perl und Java angesehen. HTML-basierte Tools Diese Tools sind für die Generierung von Wrappern für HTMLDokumente geeignet. Hierbei wird das Dokument durch seinen DOM-Tree repräsentiert. Tools operieren semi-automatisch oder automatisch. 1 http://gate.ac.uk/ KI-Methoden zur Email-Archivierung 54 5 INFORMATIONSEXTRAKTION NLP-basierte Tools Hier werden Techniken aus dem Natural Language Processing (NLP) verwendet, um Extraktionsregeln zu lernen. Wrapper-Induktions-Tools Diese Tools generieren Wrapper für Daten, die so genannte Feldtrenner besitzen. Die drunterliegenden Daten müssen also gewisse Formatierungseigenschaften besitzen, die die enthaltenen Daten strukturieren. Modellbasierte Tools Diese Tools operieren auf semistrukturierten Daten. Dabei muss man eine Struktur für die relevanten Objekte angeben; es wird dann probiert, diese Struktur in den Daten wiederzufinden. Ontologiebasierte Tools Hier muss zunächst sorgfältig eine Ontologie, die die Daten beschreibt, manuell erstellt werden; ist diese repräsentativ genug, kann die Informationsextraktion vollautomatisch erfolgen. Man kann weiterhin noch zwischen Single-Slot- und Multi-Slot-Extraktion unterscheiden (Soderland 1999). Bei der Single-Slot-Extraktion wird ein einziges Frame gefüllt, während die Multi-Slot-Extraktion mehrere Templates gleichzeitig füllen kann. Ein Text, der z.B. von einem Produkt handelt, könnte Grundlage einer Single-Slot-Extraktion sein, wenn es darum geht, die Produktdaten aus dem Text zu ermitteln; umgekehrt hätten wir es mit einer Multi-Slot-Extraktion zu tun, wenn der Text von mehreren Produkten handelt, deren Daten alle zu extrahieren sind. Wie schon erwähnt bestehen Emails aus strukturierten Daten (dem Header) und zumeist unstrukturiertem Volltext (dem Body). Dementsprechend sollte bei der Informationsextraktion aus Emails zunächst einmal NLP-basierte Verfahren angewendet werden. Besteht die Möglichkeit, eine entsprechende Ontologie sorgfältig zu erstellen, könnten hier auch ontologiebasierte Tools interessant sein. Mit Abstrichen wären auch WrapperInduktions-Systeme geeignet, wenn die gesuchte Information in strukturierter Form (z.B. Tabellen) vorliegt. An dieser Stelle werden wir uns deshalb primär mit NLP-basierten Verfahren beschäftigen, die auf Volltexten basieren. Dazu zählen wir auch Verfahren, die ein gegebenes Textfragment dahingegen kategorisieren, ob es eine gesuchte Instanz enthält oder nicht. Vorab aber wollen wir ein Beispiel geben, wie mit Hilfe von Informationsextraktion ein System zur automatischen Beantwortung von Emails aufgebaut werden kann. 5.2 Beispiel: Beantworten von Emails Wir wollen an dieser Stelle ein Szenario vorstellen, bei dem Informationsextraktion für Emails genutzt wird. Bei dem in (Kosseim u. a. 2001) vorgestellten Beispiel geht es darum, Anfragen, die per Email gestellt werden, automatisch zu beantworten. Die Emails behandeln Fragen und Probleme zu in einer Firma eingesetzten Druckern. Dazu wurden u.A. die Templates Print Event, Printer, User und File definiert. Diese werden nun mittels Informationsextraktionsverfahren gefüllt und anhand dieser Daten wird ein passendes Antwortformular gesucht. kiib 55 5.3 ANSÄTZE ZUR INFORMATIONSEXTRAKTION Abbildung 5.1 zeigt ein Beispiel für gefüllte Templates nach der Informationsextraktion. Wie wir hier sehen, wurden nicht nur die Templates gefüllt, sondern auch Relationen zwischen den Templates ermittelt, um somit letztendlich das Print Event zu beschreiben. Um die Templates zu füllen, wurden im vorliegenden Fall ein Lexikon aufgebaut, das Namen bekannter Benutzer, Labore, Software und Drucker enthält. Für Named Entities wurden Grammatiken wie reguläre Ausdrücke gebildet. Ferner wurden lexiko-syntakische Patterns definiert. So erlaubt das Aufkommen des Musters printer::name in room X die Tatsache zu inferieren, dass der Drucker printer::name im Raum X steht. Field Print Event 1 Template Value Sender Destination Source File to print Action tried User 1 Template Printer 1 Template File 1 Template File 1 Template Value Field Name Current format Source Desired format Owner Job number single sided Printer 1 Template Field Name Room Status File printing Value hp2248 X-234 Field User 1 Template Value Name Email Laboratory John Smith [email protected] Abbildung 5.1: Gefüllte Templates Neben der eigentlichen Informationsextraktion sieht der von Kosseim u. a. (2001) beschrieben Ansatz auch eine Validierung der extrahierten Daten unter Einbeziehung externer Quellen vor. So kann für das Beispiel in Abb. 5.1 überprüft werden, ob in X-234 tatsächlich ein Drucker mit Namen hp2248 steht. Das hier gegebene Beispiel ist in gewisser Weise simpel, da die Domäne doch sehr stark eingeschränkt ist. Dadurch ist es möglich, auch Beziehungen zwischen Templates zu extrahieren. Kann man eine solche Einschränkung der Domäne nicht vornehmen, wird die Informationsextraktion entsprechend anspruchsvoller. 5.3 Ansätze zur Informationsextraktion Nachdem wir im letzten Abschnitt eine Beispiel gebracht haben, bei dem Informationsextraktion bei Emails angewendet wurde, wollen wir nun einige prominente Verfahren zur Informationsextraktion vorstellen, die sowohl auf strukturierten Texten (wie HTMLDokumenten) als auch auf Freitexten, wie wir sie ja im Email-Body vorfinden. Diese Systeme sind WHISK, eine Kombination aus Kategorisierer und Regellerner, und ELIE. KI-Methoden zur Email-Archivierung 56 5 INFORMATIONSEXTRAKTION @S[ {SUBJ @PN[ C. Vincent Protho ]PN , @PS[chairman and chief executive officer ]PS of this maker of semiconductors, } {VB @Passive was named @nam } {PP to the additional post of @PS[ president ]PS , } {REL_V succeeding @succeed @PN[ John W. Smith ]PN , who resigned @resign to pursue @pursu other interests. } ]@S 8910130051-1 Abbildung 5.2: Syntaktisch analysierter Text (entnommen aus Soderland (1999)) 5.3.1 WHISK WHISK wird in (Soderland 1999) vorgestellt. Wie schon erwähnt kann das System sowohl mit semi-strukturierten als auch mit Freitexten umgehen. Freitexte werden zunächst mal einer syntaktischen Analyse unterzogen. Eine mögliches Resultat der syntaktischen Analyse eines Textes ist in Abb. 5.2 dargestellt. Eine solche Analyse markiert Worte als Subjekt, Personalpronomen, usw., aber auch Personennamen (@PN), Stellen (@PS, engl. „posts“) oder auch Firmennamen. Des Weiteren wurden hier auch Passivformen (@Passive) und Stammformen (z.B. @nam) erkannt. Das abgebildete Beispiel bildet eine Instanz; dabei handelt es sich in der Regel um einen Satz oder eine Klausel, welche durch die syntaktische Analyse determiniert wird. Wie wir weiter unten erläutern werden, wendet WHISK auf solche Instanzen maschinell erlernte Regeln an. Unser Beispiel ist entnommen aus der Management Succession-Domäne2 ; hier galt es herauszufinden, welche Person eine Management-Position in einer Firma verlässt und mit wem die Position neu besetzt wird. WHISK würde nun anhand des syntaktisch analysierten Textes entsprechende Slots eines solchen Succession Events füllen, z.B. PersonIn=C. Vincent Protho, PersonOut=John W. Smith, Post=President. Wie oben erwähnt, lernt WHISK Regeln der Form Pattern:: * ( Person ) * ’@Passive’ *F ’named’ * {PP *F ( Position )} * ’@succeed ’ ( Person ) Output:: Succession {PersonIn $1} {Post $2} {PersonOut $3} aus einer Testmenge und wendet diese auf die Instanzen an. Die Pattern sorgen dabei für eine Perl-ähnliche Bindung an die Variablen. Die in der ersten Umklammerung gefundene Person wird an die Variable $1 gebunden, während die Position $2 und die zweite Person $3 bindet. Das erste * ist eine Wildcard und bedeutet, dass alle Eingabezeichen ignoriert werden, bis eine Person gefunden wird (Person bezeichnet dabei eine Liste mit Personennamen). $1 wird mit der gefunden Person gebunden. Danach werden wieder alle Zeichen bis zum Auftauchen des Tokens @Passive ignoriert. Die nächste Wildcard ist 2 Dieses Thema war eine Vorgabe bei der sechsten Message Understanding Conference (MUC-6); siehe auch http://cs.nyu.edu/cs/faculty/grishman/muc6.html kiib 57 5.3 ANSÄTZE ZUR INFORMATIONSEXTRAKTION *F und bedeutet, dass das Wort „named“ im selben Feld sein muss wie der „Passive“-Tag. Weiter sucht der Ausdruck nach einer Präpositionalphrase, die eine Position (wie Person ein Platzhalter für eine Liste, wird an $2 gebunden) und die Stammform @succeed enthält, gefolgt von einer weiteren Person (die an $3 gebunden wird). Algorithmus 4 beschreibt die oberste Ebene des WHISK-Lernalgorithmus. Beim Ablauf des Algorithmus wird der Benutzer involviert. Der Algorithmus startet mit einem Reservoir von unmarkierten Lernbeispielen (dabei handelt es sich um eine Menge von Instanzen wie in Abb. 5.2). Bei jeder Iteration wird nun eine Menge von unmarkierten Instanzen ausgewählt. Diese Instanzen werden dem Benutzer vorgeführt, der nun die zum Frame passenden Slotinstanzen im Text identifiziert und markiert. Ein solches vom Benutzer erstelltes Tag für unser Beispiel hätte die Form @@TAGS Succession {PersonIn C. Vincent Protho } {Post president} {PersonOut John W. Smith} Im nächsten Schritt werden nun alle bisher gelernten Regeln, die auf der neuen, markierten Trainingsmenge Fehler produzieren, entfernt3 . Die Trainingsmenge wird aktualisiert und es wird nun für alle Trainingsinstanzen und deren Tags überprüft, ob das Tag von dem bisherigen Regelsatz abgedeckt ist. Dabei ist ein Tag von einer Regel abgedeckt, wenn diese erfolgreich auf die Instanz angewendet werden kann und die richtigen Daten des Tags extrahiert. Ist ein Tag nicht abgedeckt, dann dient es, zusammen mit der Trainingsmenge, als Eingabe der grow_rule-Funktion, die nun mittels eines Top-Down-Verfahrens eine Regel lernt, die dieses Tag abdeckt (für eine genaue Beschreibung der grow_ruleRoutine sei auf (Soderland 1999) verwiesen). Ist das Training abgeschlossen, findet ein Pruning der Regeln statt. Experimente Soderland beschreibt Experimente mit strukturierten, semi-strukturierten und Freitexten. Ein Versuch wurde auf Wettervorhersagen von CNN durchgeführt. Diese Daten wurden aus einer Datenbank extrahiert und in HTML konvertiert. Sie liegen also in sehr strukturierter Form vor; WHISK versucht quasi, das ursprüngliche Datenbankschema zu erlernen. Dabei wird eine Precision4 und ein Recall5 von annähernd 100% erreicht. Etwas gemischter sieht der Fall bei semi-strukturierten Daten aus. So wurden auf einem Datensatz bestehend aus Wohnungsanzeigen, bei denen Ort, Anzahl Schlafzimmer und Preis extrahiert wurden, 70% Recall und 97% Precision erreicht. Es wurden hier also nicht alle möglichen Datensätze erkannt, aber die Fehlerrate bei den erkannten Daten war doch noch recht niedrig. Ein interessantes Experiment wurde auf Seminarankündigungen durchgeführt. Diese Ankündigungen können dabei in unterschiedlicher Form vorliegen, mehr oder weniger strukturiert in tabellarischer Form, aber auch relativ unstrukturiert als quasi freier Text. Aufgabe hier war es, Start- und Endzeit, Ort und Sprecher zu ermitteln. Hier zeigt sich interessanterweise, dass verschiedene Slots unterschiedliche Güte bei 3 wenn z.B. eine Instanz ein Gegenbeispiel zu einer bereits gelernten Regel darstellt richtig extrahierter Slots durch die Anzahl extrahierter Slots 5 Anzahl richtig extrahierter Slots durch die Anzahl aller möglichen zu extrahierenden Slots 4 Anzahl KI-Methoden zur Email-Archivierung 58 5 INFORMATIONSEXTRAKTION Eingabe: Reservoir R Ausgabe: Regelsatz R 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: R←∅ Training ← ∅ while User wants to continue do select NewInst ⊂ R NewInst ← tag( NewInst) NewInst ← discard_rules_with_errors( NewInst) Training ← Training ∪ NewInst for all inst ∈ Training do for all tag of inst do if tag is not covered by RuleSet then rule ← grow_rule(inst, tag, Training) R ← RuleSet ∪ rule end if end for end for end while prune( R) Algorithmus 4: Hauptebene des WHISK-Algorithmus der Extraktion haben können. Start- und Endzeit konnten mit 100% Recall bei 96% Precision (F1 ≈ 0, 98) bzw. 87% Recall bei 89% Precision (F1 ≈ 0, 88) ermittelt werden. Beim Ermitteln des Ortes aber werden geringere Werte erreicht (Recall 36% bei 94% Precision, F1 ≈ 0, 52) und beim Sprecher werden noch schlechtere Werte berichtet. Ein weiteres Experiment befasste sich mit der Datenextraktion auf freien, unstrukturierten Texten. Dabei ging es um das bereits erwähnte Management-Succession-Szenario. Hier besteht das gesonderte Problem, dass viele Informationen eher implizit im Text vorhanden ist; aus linguistischer Sicht haben wir es also mit einer höchst anspruchsvollen Aufgabe zu tun. Die höchste hier gemessene Rate is 46% Recall bei 69% Precision (F1 = 0, 552, ohne Pruning) bzw. 61% Recall bei 48% Precision (F1 ≈ 0, 54, mit Pruning); allerdings wurden diese Werte mit einer immens hohen Trainingsmenge von 6915 Instanzen ermittelt. Bei einer Trainingsmenge von 400 Instanzen ließ sich ein Recall von 54% bei einer Precision von 36% erreichen (F1 = 0, 432). 5.3.2 SRV / Kategorisierung Als nächstes wollen wir den von Freitag (2000) vorgestellten Ansatz zur Informationsextraktion betrachten. Streng genommen handelt es sich hier um mehrere Ansätze, die kiib 59 5.3 ANSÄTZE ZUR INFORMATIONSEXTRAKTION miteinander kombiniert werden. Es handelt sich auf der einen Seite um Kategorisierungsansätze und auf der anderen Seite um ein regelbasiertes System (SRV). Kategorisierungsansätze Sind ein Template und Slots gegeben, so soll die Kategorisierung die Frage beantworten, ob ein gegebenes Textfragment eine Instanz des gesuchten Slot enthält oder nicht. Präziser formuliert, soll eine reele Zahl ausgegeben werden die besagt, zu welchem Grade das Textfragment eine gesuchte Instanz enthält. Dabei kommen zwei Klassifikationsverfahren zum Einsatz, die wir hier kurz vorstellen wollen: ROTE und BAYES. ROTE Hierbei handelt es sich um ein sehr simples Kategorisierungsverfahren. Auf Basis einer Lernstichprobe, in der die relevanten Instanzen vom Benutzer markiert wurden, lernt das System relevante Einträge „auswendig“. Es wird somit ein Lexikon relevanter Einträge erzeugt. Wird ein neues Dokument untersucht, wird ein Matching auf die Einträge im Lexikon durchgeführt; wurde ein Eintrag gefunden, wird der entsprechende Slot gefüllt. Ein Konfidenzmaß kann folgendermaßen errechnet werden. Für jedes Textfragment im Lexikon wird die Anzahl p ermittelt, in der dieses Textfragment tatsächlich als Instanz eines Slots markiert wurde. Ferner zählt man noch die Gesamtvorkommenshäufigkeit t in der Testkollektion. Das Konfidenzmaß ergibt sich dann als ( p + 1)/(t + 2). Es ist offensichtlich, dass dieses Verfahren sich nur für spezielle Aufgaben eignet. Der Nachteil ist ganz klar, dass nur bereits im Lexikon vorhandene Instanzen wiedererkannt werden. In diesem Fall aber ist tatsächlich mit einem guten Ergebnis zu rechnen. BAYES Diese Ansatz wird auch „Term-Space-Lerner“ genannt. Möchte man in einer Seminarankündigung z.B. den Sprecher ermitteln, so wird die Hypothese formuliert, dass das Textfragment, welches beim Token i beginnt und k Token lang ist, den Sprecher enthält. Diese Hypothese bezeichnen wir mit Hi,k . Si ist H309,2 die Hypothese, dass das mit dem 309. Token beginnende Textfragment, das 2 Token groß ist, den Sprecher (bzw. allgemeiner die gesuchte Instanz für den Slot) enthält. Der Algorithmus berechnet nun für ein Dokument d die Wahrscheinlichkeiten P( Hi,k |d) für den zu extrahierenden Slot. Mittels der Bayes’schen Regel erhalten wir P( Hi,k |d) = P(d|hi,k ) · P( Hi,k ) . P(d) Dabei gilt P( Hi,k ) = P(position = i ) · P(length = k). Zu den Abschätzungen von P(position = i ) und P(length = k) siehe auch (Freitag 2000, S. 176). Die Abschätzung von P(d|hi,k ) besteht aus drei Komponenten: P(d| Hi,k ) = P(before| Hi,k ) · P(in| Hi,k ) · P(after| Hi,k ) KI-Methoden zur Email-Archivierung 60 5 INFORMATIONSEXTRAKTION wobei „before“, „in“ und „after“ das Ereignis beschreiben, dass wir ein Token vor, in oder nach einer Instanz vorfinden. Es sei nun w B (t j (i − j ) ) P(before| Hi,k ) = ∏ , G ( t (i − j ) ) j =1 wobei Bi (t) angibt, wie häufig der Term t i Token vor einer erkannten Instanz aufgefunden wurde, und G (t) angibt, wie häufig t irgendwo in der Trainingskollektion auftauchte. w ist eine vorgegebene Fenstergröße. Die Berechnungen für P(in| Hi,k ) und P(after| Hi,k ) erfolgen analog. Ein Beispiel soll das Prinzip verdeutlichen. Beispiel. Angenommen, wir haben folgende, aus den Enron-Daten entnommene Tokensequenz gegeben: Our meeting will be in the new Enron building , Room 6104 . | {z } | {z } | {z } |{z} B4 (’new’) B3 (’enron’) B2 (’building’) B1 (’,’) Hierbei ist nun „Room 6104“ die markierte Instanz des Slots „Ort“. Für die Berechnung von P(before| Hi,k ) und einer angenommenen Fenstergröße von w = 4 betrachten wir nun die 4 (eingerahmten) Token vor der erkannten Instanz. Wir berechnen nun B1 (’,’), d.h. wie häufig ein Komma vor einer markierten Instanz aufgefunden wurde, und analog B2 , B3 und B4 . Durch die Berechnung von P( Hi,k |d) bekommen wir eine Abschätzung für jedes Fragment. Hier gilt es nun Fragmente abzulehnen, die keine Instanz eines Slot enthalten. Dies kann über einen Konfidenzschwellwert gesteuert werdem, der sich als vom Benutzer gegeben Parameter γ multipliziert mit dem niedrigsten aus den Trainingsdaten bekannten Konfidenzwert6 . Ist γ = 1, dann extrahiert BAYES nur Fragmente, für die mindestens eine auch mit den Trainingsdaten erreichte Konfidenz ermittelt wird. Der bisher dargestellte BAYES-Algorithmus hat den Vorteil, dass er auch Instanzen erkennen kann, die nicht in Trainingsbeispielen vorhanden sind. Ein Nachteil ist aber, dass die Instanzgrenzen mitunter nicht erkannt werden – der Algorithmus könnte ein Textfragment zurück liefern, das neben der Instanz auch noch weitere Token enthält. Abhilfe soll hier die so genannte Grammatikalische Inferenz schaffen, für die wir auf (Freitag 2000, S. 177ff) verweisen. SRV Zusätzlich zu ROTE und BAYES schlägt Freitag den Einsatz von SRV, einem Top-DownRegellerner, der nach der induktiven logischen Programmierung funktioniert, vor. SRV 6 Über kiib diesen Wert werden in (Freitag 2000) leider keine näheren Angaben gemacht 61 5.3 ANSÄTZE ZUR INFORMATIONSEXTRAKTION beginnt also mit einer Nullregel, die die ganze Menge von Trainingsbeispielen abdeckt, und fügt dabei gierig („greedily“) neue Literale hinzu. Dabei kommen folgenden fünf Prädikate zum Einsatz: length(Relop,N) Die Anzahl Token im Fragment ist größer, kleiner oder gleich einem Integer-Wert. Beispiel: length(>,2). some(Var, Path, Feature, Value) Bei einem Token wird getestet, ob er eine bestimmte Eigenschaft hat. some(?A, [], captializedp, true) bedeutet „das Fragment hat Token, die großgeschrieben sind“. Die entsprechenden Token würden dann an die Variable A gebunden. some(?A, [prev_token prev_token], captializedp, true) bedeutet: „es existiert ein Token im Fragment, das ein großgeschriebenenes Token zwei Stellen vorher hat“. Ein Feature kann dabei eine Texteigenschaft sein, aber bei strukturierten Texten z.B. auch aus dem HTML-Code extrahierte Features beinhalten. every(Feature, Value) Jedes Token im Fragment muss die gegebene Eigenschaft haben. every(numericp, false) bedeutet „jedes Token im Fragment ist nichtnumerisch“. position(Var, From, Relop, N) Ein Token in der gegenwärtigen Regel muß sich im spezifizierten Abstand vom Anfang oder Ende der Sequenz befinden. Beispielsweise heißt position(?A,fromfirst,<,2) „das an Variable ?A gebundene Token ist das erste oder zweite Token im Fragment“. relpos(Var2, Var2, Relop, N) Zwei Token kommen in der gegebenen Reihenfolge mit dem gegebenen Abstand vor. relpos(?A, ?B, =, 1) bedeutet beispielsweise „das an ?A gebundenen Token folgt sofort dem an ?B gebundenen Token“. Multistrategy-Ansatz Es hat sich bei der Evaluation gezeigt, dass SRV sowohl bei semistrukturierten als auch Freitexten die besten Ergebnisse erzielt. Dennoch stellt sich heraus, dass das eine Verfahren gut auf einem Slot operiert, bei dem andere Verfahren eher schlechter abschneiden. Man kann also nicht mit letzter Sicherheit sagen, ob das eine oder andere Verfahren weniger oder mehr geeignet ist. Freitag schlägt daher eine Kombination der Verfahren vor, um die Schwächen des einen mit den Stärken des anderen Verfahrens zu kombinieren. Tatsächlich zeigen Versuche mit diesem so genannten Multistrategy-Ansatz in Experimenten die besten Ergebnisse. Bei den schon für die WHISK-Evaluation benutzen Seminarankündigungen erreichte das Multistrategy-Verfahren beim Sprecher einen F1 -Wert von 0,662, beim Ort 0,797, bei der Startzeit 0,993 und bei der Endzeit 0,943. Damit werden bei dieser Aufgabe bessere Werte als mit dem WHISK-Ansatz erreicht. Bei einem anderen Test wurde die Reuters „Acquisition“-Klasse herangezogen, um Slots wie “Was erworben“ und „Käufer“ usw. zu füllen. Es handelt sich hier um unstrukturierte Dokumente. Hierbei erreichte der kombinierte Ansatz für die einzelnen Slots F1 - KI-Methoden zur Email-Archivierung 62 5 INFORMATIONSEXTRAKTION Werte zwischen 0,431 und 0,643. Schließlich wurden in einem weiteren Experiment, in dem aus den Webseiten einer Universität Kurs- und Projektinformationen extrahiert wurden, F1 -Werte zwischen 0,341 (beim Projekttitel) und 0,889 (bei der Kursnummer) ermittelt. Problematisch an dieser Aufgabenstellung war, dass eine Web-Seite Informationen über mehrere Kurse oder Projekte enthalten kann, wodurch die Extraktionsaufgabe erschwert wird. 5.3.3 ELIE Die in ROPE und BAYES aufgekommene Idee, die Informationsextraktion als Klassifizierungsaufgabe anzusehen, wird auch von Finn u. Kushmerick (2004) aufgegriffen. Hier wird auch jede Position im Dokument als mögliche Start- oder Endposition oder als irrelevant bezüglich einer gesuchten Slot-Instanz kategorisiert. Beim vorgeschlagenen ELIEAlgorithmus handelt es sich dabei um ein zweistufiges Verfahren, bei dem die einzelnen Token durch Features repräsentiert sind. Zum Einsatz kommt dabei eine Variante der Support Vector Machines. Die in ELIE benutzten Features sind im Einzelnen: Token Das aktuelle Token. POS Der Part-of-Speech des Tokens, ermittelt durch einen Part-of-Speech-Tagger (Brill 1994). GAZ Assoziation mit einem benutzerdefinierten Lexikon (Gazetteer). Hier können Namen, Städte usw. aufgelistet sein. Orthographie Orthographische Information über das Token, wie z.B. Groß- und Kleinschreibung, Punktuation, alphabetisch oder numerisch, etc. Weiterhin können noch Beziehungsinformationen zwischen Token in Features dargestellt werden. Zu einem Token werden für eine bestimmte Fenstergröße w die Features der vorherigen w und nachfolgenden w Token mit repräsentiert. Lernen in ELIE besteht wie erwähnt aus zwei Phasen, L1 (level one) und L2 (level two). Der L1-Lerner arbeitet dabei auf der gesamten Trainingsmenge. Die Eigenschaften jedes Tokens werden in Featurevektoren repräsentiert. Jedes Token kann dabei als positives oder negatives Beispiel für Start- bzw. Endpositionen gelten. Die Trainingstoken bzw. deren Featurerepräsentationen werden nun analog zu der Beschreibung in Abschnitt 4.1.2 benutzt, um eine Hyperebenenfunktion zu berechnen. Wir bekommen dabei eine Funktion zur Ermittlung der Startposition und eine zur Ermittlung der Endposition. Da wir beim L1-Lerner alle Token in der Trainingsmenge berücksichtigen, haben wir dort viele negative Beispiele. Dies sorgt dafür, dass der L1-Lerner eine hohe Precision, aber niedrigen Recall ermöglicht. Beim L2-Lerner nehmen wir nun eine eingeschränkte Trainingsmenge. Zur Ermittlung der Funktion für Starttoken werden die Token genommen, die sich eine fixe Anzahl von kiib 5.4 BEURTEILUNG DER VERFAHREN ZUR INFORMATIONSEXTRAKTION 63 Token vor einem Endtoken befinden. Zur Bestimmung der Funktion für Endtoken werden die Token genommen, die eine fixe Anzahl von Token nach einem Starttoken auftauchen. Dadurch wird L2 nur auf einer sehr eingeschränkte Teilmenge der Trainingsmenge trainiert. Die daraus resultierenden Funktionen für Start- und Endtoken verursachen einen hohen Recall, aber eine niedrige Precision. L1 und L2 werden nun kombiniert angewendet. Die L2-Funktion für Endtoken wird dabei auf die Token angewendet, die von L1 als Startknoten erkannt hat, plus den drei darauf folgenden Token. Analog wird die L2-Funktion für Starttoken auf die Token angewendet, die L1 als Endtoken erkannt hat, plus deren drei vorherigen Token. Die Annahme ist, dass L2 Start-oder Endtoken identifizieren kann, die L1 entgangen sind. Man erhofft sich im Endeffekt eine gute Precision (durch L1) und einen guten Recall (durch L2). Durch die hohe Precision aber niedrigen Recall von L1 kann es nämlich häufig vorkommen, dass L1 ein Starttoken erkennt, aber den dazugehörigen Endtoken nicht (und umgekehrt). Das fehlende Start- oder Endtoken würde dann durch L2 erkannt. Evaluierung von ELIE Bei der Evaluierung wurde ELIE u.A. auf die Reuters „Acquisition“-Klasse und den Seminarankündigungen getestet. Interessant hierbei ist, dass bei den Seminarankündigungen auf das Sprecher-Feld, das bei anderen Verfahren noch Probleme bereitet hat, ein f 1 -Wert von 0,885 erreicht wurde. Dies lässt sich unter Anderem auf den Einsatz des benutzerdefinierten Lexikons zurückführen, indem in diesem Fall Vor-und Nachnamen gespeichert wurden. Generell werden die Werte der anderen vorgestellten IE-Verfahren übertroffen. 5.4 Beurteilung der Verfahren zur Informationsextraktion Es bestätigt sich, dass die Informationsextraktion aus Texten eine sehr große Herausforderung darstellt. Einfache Verfahren wie die Named Entity Recognition liefern gute Ergebnisse, ebenso, wenn sehr strukturierte Daten vorliegen, wie im Fall der CNNWettervorhersage, wo wir es einerseits mit strukturierten Texten (HTML) und andererseits mit einer inhärenten Datenbankstruktur zu tun haben. Daraus resultierende Regelmäßigkeiten in der Darstellung lassen einen Recall und eine Precision von annähernd 100% zu. Grundsätzlich kann man sagen: je weniger Struktur die Texte haben, desto schlechter ist die Informationsextraktion. Dies legen die bisherigen Experimente nahe. Auch sollte die Domäne recht eingeschränkt sein, d.h. bei der Erstellung eines Templates sollte man sich wie in den vorgestellten Experimenten auf ein bestimmtes Thema (wie z.B. Seminarankündigungen) konzentrieren. Inwieweit die Effektivität der vorgestellten Verfahren dann akzeptabel ist, hängt natürlich von der jeweiligen Anwendung ab. Dabei sind der Multistrategy- und der ELIE-Ansatz vielversprechend, allerdings brauchen diese Verfahren eine bereits vollständig aufbereitete Lernemenge, in denen die relevanten Instanzen schon markiert sind. Beim WHISK-Ansatz ist es hingegen möglich, dem Benutzer in jedem Iterationsschritt eine neue Menge von Instanzen aus dem Reservoir vorzulegen, die er dann markiert; dieser Prozess wiederholt sich so lange, bis ein befriedigendes Ergeb- KI-Methoden zur Email-Archivierung 64 5 INFORMATIONSEXTRAKTION nis erreicht wird. Auch hier hängt wieder von der jeweiligen Anwendung ab, ob welche Vorgehensweise zu bevorzugen ist. 5.5 Anwendung der Informationsextraktion im Inbox-Szenario Wir haben bisher einige repräsentative Verfahren zur Informationsextraktion kennen gelernt, die in Form eines Wrappers oder von Kategorisierungsfunktionen im Stande sind, Daten aus einem gegebenen Text zu extrahieren. Wie können wir nun diese Techniken gewinnbringend im Inbox-Szenario einbringen? In Abschnitt 2.1 haben wir uns mit verschiedenen Anwendungsfällen für das InboxSzenario beschäftigt, sowie ein erweitertes Szenario, das auf Ontologien beruht, beschrieben. Wir wollen diese Gedanken hier wieder aufgreifen und einige Einsatzmöglichkeiten von IE-Verfahren diskutieren. Methoden der Informationsextraktion können beim Indexieren der Emails, im Ontologie-Szenario also beim Erstellen neuer Instanzen, behilflich sein. Jedes Konzept einer Ontologie definiert dabei ein Template. Wird eine neue Email empfangen, so kann mit IE-Methoden versucht werden, ein solches Template zu füllen. Ist dies erfolgreich geschehen, kann nun abgeglichen werden, ob eine entsprechende Instanz schon vorliegt. Im Reise-Beispiel könnte dies z.B. geschehen, indem man das Hin- und Rückflugsdatum mit bestehenden Reisedaten abgleicht. Ergibt sich ein Matching, so wird die Email zu den Email-Referenzen der gefundenen Instanz hinzugefügt. Ergibt sich kein Matching, wird nach Rücksprache mit dem Benutzer eine neue Instanz erzeugt. Ein anderes Anwendungsbeispiel ist das Bereitstellen von Hintergrundinformationen. Wird eine Email geöffnet, beschafft das System automatisch Hintergrundinformationen, die dem Benutzer auf Anfrage präsentiert werden können. Hier können IE-Methoden benutzt werden, um Entitäten aus dem Text zu extrahieren und dazu relevante Emails oder andere Informationen zu finden. Werden z.B. eine Person und ein Projekt erkannt, so kann das System alle Emails, in denen diese Person im Zusammenhang mit dem Projekt erwähnt wird, auswählen. Oder es können für Termine ein Start- und Endtermin extrahiert und mit Einträgen im Kalender abgeglichen werden, z.B. um festzustellen, ob der betreffende Termin noch frei ist. Zusätzlich zu den extrahierten Daten ist es ferner noch möglich, die Beziehungen zwischen den Objekten der zu Grunde liegenden Ontologie auszunutzen. pDatalogImplementierungen ermöglichen es, ein solches Wissensnetz mit Hilfe von DatalogRegeln zu modellieren. Diese Regeln können dann im Retrievalprozess mit eingebunden werden. Aus der Sicht des Information Retrieval wäre es sicherlich interessant, inwiefern ein ontologiebasierter Ansatz kombiniert mit IE-Methoden das Beschaffen relevanter Hintergrundinformation fördern kann. kiib 6 Knowledge Intensive Tasks Bisher haben wir in unserer Studie dargelegt, wie Methoden der Kategorisierung und Informationsextraktion im Inbox-Szenario eingesetzt werden können. Beide Methoden dienen letztendlich dazu, in einem Email-Archiv die gesuchte Information wieder aufzufinden. Wir wollen an dieser Stelle nun den Horizont ein wenig weiten und das Inbox-Szenario bzw. die Email-Archivierung als Teil eines größeren Workflows betrachten. Generell können Emails verschiedene Rollen im Zusammenhang mit Prozessen und Workflows einnehmen: • Eingehende Emails können bestimmten Problemklassen zur (automatischen oder manuellen) Weiterverarbeitung vorgelegt werden. Hier bieten sich sowohl Kategorisierungs- als auch IE-Methoden an. Ein Beispiel wäre das in Abschnitt 4.1.2 erwähnte Kontaktcenter-Szenario, bei dem Emails danach kategorisiert werden, ob sie einer sofortigen oder späteren Bearbeitung bedürfen. Oder aber es können die relevanten Informationen aus einer eingehenden Rechnung extrahiert und zur Weiterverarbeitung aufbereitet werden. • Das Email-Archiv kann für so genannte wissensintensive Aufgaben (Knowledge Intensive Tasks) als Informationsquelle abgerufen werden. Dieses Szenario wollen wir im Folgenden diskutieren. Wir folgen dabei den Ausführungen in (Abecker u. a. 2000). 6.1 Knowledge Intensive Tasks in Workflows In einem Workflow gibt es häufig Prozesse und Aufgaben, deren Bearbeitung ein reiches Hintergrundwissen erfordern. Diese sind in der Literatur als Knowledge Intensive Tasks (KIT) bekannt. KITs sind dabei aus technischer Sicht gewöhnliche Workflowaktivitäten, die um die zusätzliche Spezifikation von Informationsbedürfnissen und zugehörigen Prozessierungsanweisungen erweitert wurden. Um das Ziel der jeweiligen Aufgabe zu erreichen, müssen diese Informationsbedürfnisse befriedigt werden, wobei es von gewissen Vorbedingungen abhängt, welche Informationsbedürfnisse konkret anfallen. Zur Erfüllung werden pro spezifiziertem Informationsbedürfnis Informationsagenten eingesetzt. Diese erhalten als Eingabe eine Anfrage und zusätzliche Kontextinformationen. Die Kontextinformationen enthalten dabei Variablen, die bei der bisherigen Abarbeitung des Workflows gesetzt wurden und das Retrievalergebnis u.U. beeinflussen können. Zur Abarbeitung der Anfragen beziehen die Informationsagenten Wissen aus dem Organizational Memory. Hierbei handelt es sich in der Regel um drei Ontologien: 66 6 KNOWLEDGE INTENSIVE TASKS • die Informationsontologie beinhaltet Meta-Aspekte der einzelnen Informationsquellen, d.h. hier werden keine Inhalte, aber deren Charakteristika beschrieben; • die Domänenontologie beschreibt das Gebiet, über welches die Dokumente berichten. Eine Dokumentindexierung kann Dokumente und Konzepte in Verbindung bringen. Für Retrievalzwecke kann der Recall erhöht werden, indem man im Falle einer Resultatliste mit Hilfe der Ontologie Anfragen reformuliert. Die Precision wird durch die Auflösung von Polysemen erhöht; • die Enterprise-Ontologie enthält das Wissen, um Kontexte zu modellieren. In dieser Ontologie können z.B. die betriebliche Struktur des Unternehmens als auch Personen-, Projekt- und Kontaktdaten abgelegt sein. Abbildung 6.1 fasst noch einmal die wichtigsten Elemente im Zusammenhang mit Knowledge Intensive Tasks zusammen. Methoden des Information Retrieval können hierbei helfen, die anfallenden Informationsbedürfnisse zu decken. Abbildung 6.1: Knowledge Intensive Tasks 6.2 Emails und Knowledge Intensive Tasks Das Email-Archiv kann in vielerlei Hinsicht eine sehr wichtige Informationsquelle für wissensintensive Aufgaben sein. In (Abecker u. a. 2000) wird das Beispiel einer Bestellung von Grafikkarten gebracht, bei der es nötig sein kann Personen zu finden, die mit dieser Karte schon Erfahrungen gemacht haben. Wir haben es hier mit dem in Abschnitt 2.2.1 kurz diskutierten Problem der Expertensuche zu tun, für die Email-Diskussionen die Grundlage bieten können. Allerdings können uns hier auch Verfahren der Informationsextraktion weiterhelfen. So können erkannte Named Entities Emails mit Objekten aus der Enterprise-Ontologie verknüpft werden. Ferner können IE-Methoden angewendet werden um Emails mit Objekten der Domänenontologie zu verknüpfen; wie in Abschnitt 5.5 kiib 6.2 EMAILS UND KNOWLEDGE INTENSIVE TASKS 67 erwähnt, können die Konzepte der Ontologie als Grundlagen für entsprechende zu füllende Templates dienen. Wiederum können pDatalog-Implementierungen das Ontologiewissen benutzen, um geeignete kontextbasierte Retrievalfunktionen zu definieren. KI-Methoden zur Email-Archivierung 7 Zusammenfassung und Ausblick Wir haben in dieser Studie das so genannte „Inbox-Szenario“ betrachtet, in dem es um die Weiterverarbeitung und Archivierung in einer Mailbox eingehender Emails geht. Dazu haben wir verschiedene Use Cases erstellt und dargelegt, dass im vorleigenden Szenario Problemlösungen aus den Bereichen Information Retrieval, Datenbanken, Summarization, Kategorisierung und Informationsextraktion relevant sind. Das erweiterte InboxSzenario fügt der Folderstruktur einer Mailbox noch ontologisches Wissen hinzu, das besonders für die Informationsextraktion interessant ist. Als Beispieldaten haben wir den Enron-Korpus untersucht, der einen repräsentativen Querschnitt verschiedener Mailboxen und unterschiedlicher Benutzer mit unterschiedlichen Präferenzen bei der Wahl der Folderhierarchie darstellt. Wir haben festgestellt, dass sich Emails hinsichtlich unterschiedlicher Facetten kategorisieren lassen. Dazu haben wir im weiteren Verlauf verschiedenen Machine Learning-Verfahren betrachtet, die entweder schon einmal auf einem Email-Korpus getestet wurden oder für die Emails eine neuartige Anwendung darstellen. Neben klassischen Verfahren aus der Textkategorisierung haben wir uns dazu auch regelbasierte Ansätze angeschaut. Es stellt sich heraus, dass diese Kategorisierungsverfahren durchaus das Potential haben, Emails hinsichtlich verschiedener Facetten zu klassifizieren. Allerdings sind manche Verfahren erneut zu evaluieren, da sie entweder auf dem Enron-Korpus oder aber auf die Email-Domäne allgemein noch nicht getestet wurden. Im weiteren Verlauf der Studie haben wir Informationsextraktionsverfahren kennen gelernt, die bei präzise definierter Problemstellung in der Lage sind, die benötigte Information aus den Emails heraus zu extrahieren. Wie gut solche Verfahren dabei sind, ist durch weitere Experimente zu zeigen. Zu guter Letzt haben wir unseren Blick erweitert und das Inbox-Szenario und die Email-Archivierung im Kontext eines größeren Workflows gesehen; hierbei kann das Email-Archiv als Teil eines Organizational Memory angesehen werden, welches für die Bearbeitung wissensintensiver Aufgaben benötigt wird. Es stellt sich heraus, dass es sowohl bei der Kategorisierung als auch bei der Informationsextraktion kein Verfahren gibt, dass man generell empfehlen kann. Letztendlich hängt die Auswahl eines geeigneten Verfahrens von der eigentlichen Anwendung und auch von Fragen der Usability ab. Ziel unserer Studie war es aber, eine solide Grundlage für eine Entscheidung zu geben. In zukünftigen Schritten sollte zunächst einmal ein Szenario definiert werden, bei denen Kategorisierungs- oder Extraktionsansätze potentiell gewinnbringend zum Einsatz kommen können. Die Kapitel 5 und 6 enthalten schon grobe Beschreibungen möglicher nächster Schritte. Neben der Einsatzfähigkeit der in Abschnitt 4.2 beschriebenen probabilistischen, beschreibungsorientierten bzw. regelbasierten Verfahren zur Email-Klassifikation sollte auch erforscht werden, inwieweit Methoden der Informationsextraktion im Stande sind, gute Ergebnisse bei der Beschaffung von Hinter- 69 grundinformationen zu liefern. KI-Methoden zur Email-Archivierung Literaturverzeichnis Abecker u. a. 2000 A BECKER, Andreas ; B ERNARDI, Ansgar ; H INKELMANN, Knut ; K HN, Otto ; S INTEK, Michael: Context-Aware, Proactive Delivery of Task-Specific Knowledge: The KnowMore Project. In: International Journal on Information System Frontiers (ISF) 2 (2000), Nr. (3/4), S. 139–162 Abolhassani u. a. 2003 A BOLHASSANI, M. ; F UHR, N. ; G ÖVERT, N.: Information Extraction and Automatic Markup for XML documents. In: B LANKEN, Henk M. (Hrsg.) ; G RABS, Torsten (Hrsg.) ; S CHEK, Hans-Jörg (Hrsg.) ; S CHENKEL, Ralf (Hrsg.) ; W EIKUM, Gerhard (Hrsg.): Intelligent Search on XML Data. Applications, Languages, Models, Implementations, and Benchmarks Bd. 2818. Heidelberg et al. : Springer, 2003, S. 159–174 Appelt u. Israel 1999 A PPELT, E. ; I SRAEL, D. J.: Introduction to Information Extraction Technology. A Tutorial Prepared for IJCAI 1999. 1999. – http://www.ai.mit.edu/people/jimmylin/ papers/intro-to-ie.pdf Bekkerman u. a. 2004 B EKKERMAN, Ron ; M C C ALLUM, Andrew ; H UANG, Gary: Automatic Categorization of Email into Folders: Benchmark Experiments on Enron and SRI Corpora / University of Massachusetts, CIIR. 2004 (IR-418). – Forschungsbericht Belkin u. Croft 1992 B ELKIN, Nicholas J. ; C ROFT, W. B.: Information Filtering and Information Retrieval: Two Sides of the Same Coin? In: Communications of the ACM 35 (1992), Nr. 12, S. 29 Boone 1998 B OONE, Gary: Concept features in Re:Agent, an intelligent Email agent. In: AGENTS ’98: Proceedings of the second international conference on Autonomous agents. New York, NY, USA : ACM Press, 1998. – ISBN 0–89791–983–1, S. 141–148 Brill 1994 B RILL, Eric: Some Advances in Transformation-Based Part of Speech Tagging. In: National Conference on Artificial Intelligence, 1994, 722–727 Brutlag u. Meek 2000 B RUTLAG, Jake D. ; M EEK, Christopher: Challenges of the Email Domain for Text Clas- Literaturverzeichnis 71 sification. In: L ANGLEY, Pat (Hrsg.): Proceedings of the Seventeenth International Conference on Machine Learning (ICML 2000), Morgan Kaufmann, 2000. – ISBN 1–55860– 707–2, S. 103–110 de Carvalho u. Cohen 2005 C ARVALHO, Vitor R. ; C OHEN, William W.: On the collective classification of email „speech acts“. In: M ARCHIONINI, Gary (Hrsg.) ; M OFFAT, Alistair (Hrsg.) ; TAIT, John (Hrsg.): Proceedings of the 28th Annual International ACM SIGIR Conference on Research and Development in Information Retrieval. New York : ACM, 2005, S. 345–352 Cohen 1995 C OHEN, William W.: Fast Effective Rule Induction. In: P RIEDITIS, Armand (Hrsg.) ; R USSELL, Stuart J. (Hrsg.): Proceedings of the Twelfth International Conference on Machine Learning (ICML 1995), Morgan Kaufmann, July 1995. – ISBN 1–55860–377–8, S. 115– 123 Cohen 1996 C OHEN, William W.: Learning rules that classify e-mail. In: Papers from the AAAI Spring Symposium on Machine Learning in Information Access, 1996, 18–25 Cohen u. a. 2004 C OHEN, William W. ; C ARVALHO, Vitor R. ; M ITCHELL, Tom M.: Learning to Classify Email into „Speech Acts“. In: L IN, Dekang (Hrsg.) ; W U, Dekai (Hrsg.): Proceedings of the 2004 Conference on Empirical Methods in Natural Language Processing (EMNLP). Barcelona, Spain : Association for Computational Linguistics, July 2004, S. 309–316 Crawford u. a. 2001 C RAWFORD, Elisabeth ; K AY, Judy ; M C C REATH, Eric: Automatic Induction of Rules for e-mail Classification. In: Proceedings of the Sixth Australasian Document Computing Symposium (ADCS2001). Coffs Harbour, Australia, December 2001, S. 13–20 Cunningham 1999 C UNNINGHAM, H.: Information Extraction: a User Guide (Revised Version) / University of Sheffield. 1999. – Technical Report Diao u. a. 2000 D IAO, Yanlei ; L U, Hongjun ; W U, Dekai: A comparative study of classification-based personal e-mail filtering. In: T ERANO, Takao (Hrsg.) ; L IU, Huan (Hrsg.) ; C HEN, Arbee L. P. (Hrsg.): Proceedings of PAKDD-00, 4th Pacific-Asia Conference on Knowledge Discovery and Data Mining. Kyoto, JP : Springer Verlag, Heidelberg, DE, 2000, 408–419 Finn u. Kushmerick 2004 F INN, Aidan ; K USHMERICK, Nicholas: Multi-level Boundary Classification for Information Extraction. In: B OULICAUT, Jean-François (Hrsg.) ; E SPOSITO, Floriana (Hrsg.) ; G IANNOTTI, Fosca (Hrsg.) ; P EDRESCHI, Dino (Hrsg.): ECML Bd. 3201, Springer, 2004 (Lecture Notes in Computer Science). – ISBN 3–540–23105–6, S. 111–122 KI-Methoden zur Email-Archivierung 72 Literaturverzeichnis Freitag 2000 F REITAG, Dayne: Machine Learning for Information Extraction in Informal Domains. In: Machine Learning 39 (2000), Nr. 2/3, S. 169–202 Frommholz 2001 F ROMMHOLZ, Ingo: Automatische Kategorisierung von Web-Dokumenten, Universität Dortmund, FB Informatik, Diplomarbeit, 2001 Fuhr u. Buckley 1991 F UHR, N. ; B UCKLEY, C.: A Probabilistic Learning Approach for Document Indexing. In: ACM Transactions on Information Systems 9 (1991), Nr. 3, S. 223–248 Fuhr u. Pfeifer 1991 F UHR, N. ; P FEIFER, U.: Combining Model-Oriented and Description-Oriented Approaches for Probabilistic Indexing. In: Proceedings of the Fourteenth Annual International ACM SIGIR Conference on Research and Development in Information Retrieval. New York : ACM, 1991, S. 46–56 Fuhr u. Rölleke 1998 F UHR, N. ; R ÖLLEKE, T.: HySpirit – a Probabilistic Inference Engine for Hypermedia Retrieval in Large Databases. In: Proceedings of the 6th International Conference on Extending Database Technology (EDBT). Heidelberg et al. : Springer, 1998, S. 24–38 Fuhr 1996 F UHR, Norbert: Information Retrieval. Skriptum zur Vorlesung / Universität Dortmund, Fachbereich Informatik. 1996. – Forschungsbericht Fuhr 2000 F UHR, Norbert: Probabilistic Datalog: Implementing Logical Information Retrieval for Advanced Applications. In: Journal of the American Society for Information Science 51 (2000), Nr. 2, S. 95–110 Gövert u. a. 1999 G ÖVERT, Norbert ; L ALMAS, Mounia ; F UHR, Norbert: A probabilistic descriptionoriented approach for categorising Web documents. In: G AUCH, Susan (Hrsg.) ; S OONG, Il-Yeol (Hrsg.): Proceedings of the Eighth International Conference on Information and Knowledge Management. New York : ACM, 1999, S. 475–482 Holthausen u. a. 2000 Schutzrecht DE 19859838 A1 – Offenlegungsschrift ( Juni 2000). H OLTHAUSEN, Klaus ; B REIDBACH, Olaf ; K HAIKINE, Maxim ; F LIGUIL, Oleg (Erfinder). Joachims 1998 J OACHIMS, Thorsten: Text categorization with support vector machines: learning with many relevant features. In: N ÉDELLEC, Claire (Hrsg.) ; R OUVEIROL, Céline (Hrsg.): Proceedings of ECML-98, 10th European Conference on Machine Learning. Heidelberg et al. : Springer, 1998, 137–142 kiib Literaturverzeichnis 73 Kim u. Ross 2006 K IM, Yunhyong ; R OSS, Seamus: Genre Classification in Automated Ingest and Appraisal Metadata. In: G ONZALO, Julio (Hrsg.) ; T HANOS, Costantino (Hrsg.) ; V ERDE JO , M. F. (Hrsg.) ; C ARRASCO, Rafael C. (Hrsg.): Research and Advanced Technology for Digital Libraries. Proc. of the 10th European Conference on Digital Libraries (ECDL 2006). Heidelberg et al. : Springer, September 2006 (Lecture Notes in Computer Science), S. 63–74 Klas u. Fuhr 2000 K LAS, Claus-Peter ; F UHR, Norbert: A new Effective Approach for Categorizing Web Documents. In: Proceedings of the 22th BCS-IRSG Colloquium on IR Research, 2000 Klimt u. Yang 2004 K LIMT, Bryan ; YANG, Yiming: The Enron Corpus: A New Dataset for Email Classification Research. In: C ARBONELL, J. G. (Hrsg.) ; S IEKMANN, J. (Hrsg.): Proc. of the 15th European Conference on Machine Learning (ECML 2004) Bd. 3201/2004. Pisa, Italy : Springer, September 2004 (Lecture Notes in Artificial Intelligence), S. 217–226 Kosseim u. a. 2001 K OSSEIM, Leila ; B EAUREGARD, Stéphane ; L APALME, Guy: Using Information Extraction and Natural Language Generation to Answer E-Mail. In: NLDB ’00: Proceedings of the 5th International Conference on Applications of Natural Language to Information Systems – Revised Papers. London, UK : Springer-Verlag, 2001. – ISBN 3–540–41943–8, S. 152–163 Laender u. a. 2002 L AENDER, Alberto H. F. ; R IBEIRO -N ETO, Berthier A. ; S ILVA, Altigran S. ; T EIXEIRA, Juliana S.: A brief survey of web data extraction tools. In: SIGMOD Rec. 31 (2002), Nr. 2, S. 84–93. – ISSN 0163–5808 Mani u. Maybury 1999 M ANI, Inderjeet (Hrsg.) ; M AYBURY, Mark T. (Hrsg.): Advances in automatic text summarization. MIT Press, 1999. – ISBN 0262133598 Nenkova u. Bagga 2003 N ENKOVA, Ani ; B AGGA, Amit: Email classification for contact centers. In: SAC ’03: Proceedings of the 2003 ACM symposium on Applied computing. New York, NY, USA : ACM Press, 2003. – ISBN 1–58113–624–2, S. 789–792 Nottelmann 2005 N OTTELMANN, H.: PIRE: An extensible IR engine based on probabilistic Datalog. In: L OSADA, David E. (Hrsg.) ; L UNA, Juan M. F. (Hrsg.): 27th European Conference on Information Retrieval Research (ECIR 2005), 2005 Nottelmann u. Fuhr 2001 N OTTELMANN, H. ; F UHR, N.: Learning probabilistic Datalog rules for information KI-Methoden zur Email-Archivierung 74 Literaturverzeichnis classification and transformation. In: PAQUES, Henrique (Hrsg.) ; L IU, Ling (Hrsg.) ; G ROSSMAN, David (Hrsg.): Proceedings of the 10th International Conference on Information and Knowledge Management. New York : ACM, 2001, S. 387–394 Nottelmann u. Fuhr 2003 N OTTELMANN, H. ; F UHR, N.: From uncertain inference to probability of relevance for advanced IR applications. In: S EBASTIANI, Fabrizio (Hrsg.): 25th European Conference on Information Retrieval Research (ECIR 2003). Heidelberg et al. : Springer, 2003, S. 235– 250 Nottelmann 2001 N OTTELMANN, Henrik: Lernen unsicherer Regeln für HySpirit, Universität Dortmund, Fachbereich Informatik, Diplomarbeit, April 2001 Pang u. a. 2002 PANG, Bo ; L EE, Lillian ; VAITHYANATHAN, Shivakumar: Thumbs up? Sentiment Classification using Machine Learning Techniques. In: Proc. of the 2002 Conference on Empirical Methods in Natural Language Processing (EMNLP), 2002, S. 79–86 Perer u. a. 2005 P ERER, Adam ; S HNEIDERMAN, Ben ; O ARD, Douglas: Using Rhythms of Relationships to Understand Email Archives / University of Maryland. 2005 (HCIL-2005-08). – Forschungsbericht. – To appear in the Journal of the American Society for Information Science and Technology Pfeifer 1990 P FEIFER, U.: Development of Log-Linear and Linear-Iterative Indexing Functions (in German), TH Darmstadt, FB Informatik, Datenverwaltungssysteme II, Diplomarbeit, 1990 Platt 2000 P LATT, J.: Probabilistic outputs for support vector machines and comparison to regularize likelihood methods. In: S MOLA, A.J. (Hrsg.) ; B ARTLETT, P. (Hrsg.) ; S CHOEL KOPF , B. (Hrsg.) ; S CHUURMANS , D. (Hrsg.): Advances in Large Margin Classifiers, 2000, 61–74 Pollmann 1993 P OLLMANN, Michael: Entwicklung und Untersuchung von verbesserten probabilistischen Indexierungsfunktionen für Freitext-Indexierung (in German), Universität Dortmund, Fachbereich Informatik, Diplomarbeit, 1993 Provost 1999 P ROVOST, Jefferson: Naive-Bayes vs. Rule-Learning in Classification of Email / The University of Texas at Austin, Department of Computer Sciences. 1999 (AI-TR-99-284). – Forschungsbericht kiib Literaturverzeichnis 75 van Rijsbergen 1986 R IJSBERGEN, C. J.: A Non-Classical Logic for Information Retrieval. In: The Computer Journal 29 (1986), Nr. 6, S. 481–485 van Rijsbergen 1992 R IJSBERGEN, C. J.: Probabilistic Retrieval Revisited. In: The Computer Journal 35 (1992), Nr. 3, S. 291–298 Robertson 1977 R OBERTSON, S. E.: The Probability Ranking Principle in IR. In: Journal of Documentation 33 (1977), S. 294–304 Sebastiani 2002 S EBASTIANI, Fabrizio: Machine learning in automated text categorization. In: ACM Computing Surveys 34 (2002), Nr. 1, S. 1–47 Segal u. Kephart 1999 S EGAL, Richard B. ; K EPHART, Jeffrey O.: MailCat: an intelligent assistant for organizing e-mail. In: AGENTS ’99: Proceedings of the third annual conference on Autonomous Agents. New York, NY, USA : ACM Press, 1999. – ISBN 1–58113–066–X, S. 276–282 Semeraro u. a. 2001 S EMERARO, Giovanni ; F ERILLI, Stefano ; FANIZZI, Nicola ; E SPOSITO, Floriana: Document Classification and Interpretation through the Inference of Logic-Based Models. In: C ONSTANTOPOULOS, Panos (Hrsg.) ; S ØLVBERG, Ingeborg T. (Hrsg.): Research and Advanced Technology for Digital Libraries. Proc. European Conference on Digital Libraries (ECDL 2001) Bd. 2163. Heidelberg et al. : Springer, 2001 (Lecture Notes in Computer Science), S. 59–70 Soderland 1999 S ODERLAND, Stephen: Learning Information Extraction Rules for Semi-Structured and Free Text. In: Machine Learning 34 (1999), Nr. 1-3, S. 233–272. – citeseer.ist. psu.edu/soderland99learning.html Venolia u. a. 2001 V ENOLIA, G. ; D ABBISH, L. ; C ADIZ, J. ; G UPTA, A.: Supporting email workflow / Microsoft Research, Collaboration & Multimedia Group. Version: 2001. http:// citeseer.ist.psu.edu/venolia01supporting.html. 2001 (MSR-TR-200188). – Forschungsbericht Voorhees u. Buckland 2005 V OORHEES, E. M. (Hrsg.) ; B UCKLAND, Lori P. (Hrsg.): The Fourteenth Text REtrieval Conference (TREC 2005). Gaithersburg, MD, USA : NIST, 2005 Yang 1994 YANG, Yiming: Expert Network: Effective and Efficent Learning from Human Decisions in Text Categorisation and Retrieval. In: C ROFT, Bruce W. (Hrsg.) ; R IJSBERGEN, KI-Methoden zur Email-Archivierung 76 Literaturverzeichnis C. J. (Hrsg.): Proceedings of the Seventeenth Annual International ACM SIGIR Conference on Research and Development in Information Retrieval. London, et al. : Springer-Verlag, 1994, S. 13–22 Yang u. Liu 1999 YANG, Yiming ; L IU, Xin: A re-examination of text categorization methods. In: Proceedings of the 22nd International Conference on Research and Development in Information Retrieval. New York : ACM, 1999, S. 42–49 kiib