• Keine Ergebnisse gefunden

Text Mining auf nicht-grammatischen Daten

N/A
N/A
Protected

Academic year: 2022

Aktie "Text Mining auf nicht-grammatischen Daten"

Copied!
68
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)Tobias Aagard. Text Mining auf nicht-grammatischen Daten. Verfahrensansätze zur Identifikation inhaltlich ähnlicher Leistungspositionen.

(2) Hochschule Wismar. Fakultät für Wirtschaftswissenschaften Bachelorthesis. Text Mining auf nicht-grammatischen Daten Verfahrensansätze zur Identifikation inhaltlich ähnlicher Leistungspositionen Bachelorthesis zur Erlangung des Grades. Bachelor of Science (FH) der Hochschule Wismar. eingereicht von:. Tobias Aagard geboren am 27. August 1989 in Kühlungsborn Studiengang Wirtschaftsinformatik binational Matrikel Nr. : 113716. Betreuer:. Prof. Dr. rer. nat. J. Cleve Prof. Dr.-Ing. U. Lämmel. Wismar, den 25. Oktober 2012.

(3) Inhaltsverzeichnis Abbildungsverzeichnis. II. Tabellenverzeichnis. II. Symbolverzeichnis. III. Glossar. IV. 1 Einleitung. 1. 2 Projekt conTEXT. 4. 3 Grundlagen 3.1 Vorverarbeitung . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Begriffe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 5 5 7. 4 Gleiche Terme 4.1 Ähnlichkeitsmaß 4.2 Algorithmus . . . 4.3 Test . . . . . . . 4.4 Ergebnisse . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. 10 10 14 15 16. 5 Ähnliche Terme 17 5.1 Gewichtungsfunktionen . . . . . . . . . . . . . . . . . . . . . . 18 5.2 Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 5.3 Testergebnisse . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 6 Identische Attribute 6.1 Identifikation . . . . . . . . . . . . . . . . . 6.1.1 Maßzahl . . . . . . . . . . . . . . . . 6.1.2 Ergebnisse . . . . . . . . . . . . . . 6.2 Vergleich . . . . . . . . . . . . . . . . . . . 6.2.1 Übereinstimmung in Attributen . . 6.2.2 Bewertungsfunktionen . . . . . . . 6.2.3 Bewertungsfunktion Addition . . . 6.2.4 Bewertungsfunktion Subtraktion . 6.2.5 Bewertungsfunktion Multiplikation. . . . . . . . . .. . . . . . . . . .. . . . . . . . . .. . . . . . . . . .. . . . . . . . . .. . . . . . . . . .. . . . . . . . . .. . . . . . . . . .. . . . . . . . . .. . . . . . . . . .. . . . . . . . . .. 22 22 23 24 30 31 32 32 33 34. 7 Fazit und Potentiale. 36. A Anhang. A1. B Ehrenwörtliche Erklärung. A25. Literatur. A26. I.

(4) Abbildungsverzeichnis 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33. Verteilung der Terme in doppellogarithmischer Darstellung Vergleich der Ähnlichkeitsmaße mit Teilmenge . . . . . . . Trefferquote gleiche Terme . . . . . . . . . . . . . . . . . . . Vergleich der Gewichtungsfunktionen . . . . . . . . . . . . Trefferquote ähnliche Terme Wurzel . . . . . . . . . . . . . Lokalisierung der Terme in Raum . . . . . . . . . . . . . . . Oktanten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Trefferquote Attribute Addition Delta 0 . . . . . . . . . . . . Trefferquote Attribute Subtraktion Delta 0 . . . . . . . . . . Trefferquote Attribute Multiplikation Delta 0 . . . . . . . . Verteilung der Terme in logarithmischer Darstellung . . . . Konzentration der Termklassen . . . . . . . . . . . . . . . . Termklassen der Terme, die mehrfach vorkommen . . . . . Vergleich verschiedener Ähnlichkeitsmaße . . . . . . . . . . Beispiel für den GV-Algorithmus . . . . . . . . . . . . . . . Trefferquote ähnliche Terme Mittel . . . . . . . . . . . . . . Trefferquote ähnliche Terme Vereinigung . . . . . . . . . . Lokalisierung der Terme nach Wörtern und Zahlen . . . . . Lokalisierung der Terme nach Wörtern und Zahlen . . . . . Lokalisierung der Terme nach Zahlen und Sonstigen . . . . Lokalisierung der Terme nach Zahlen und Sonstigen . . . . Lokalisierung der Terme nach Sonstigen und Wörtern . . . Lokalisierung der Terme nach Sonstigen und Wörtern . . . Korrelation linksseitiger Attribute . . . . . . . . . . . . . . . Trefferquote Attribute Addition Delta 1 . . . . . . . . . . . . Trefferquote Attribute Addition Delta 2 . . . . . . . . . . . . Trefferquote Attribute Addition Delta 3 . . . . . . . . . . . . Trefferquote Attribute Subtraktion Delta 1 . . . . . . . . . . Trefferquote Attribute Subtraktion Delta 2 . . . . . . . . . . Trefferquote Attribute Subtraktion Delta 3 . . . . . . . . . . Trefferquote Attribute Multiplikation Delta 1 . . . . . . . . Trefferquote Attribute Multiplikation Delta 2 . . . . . . . . Trefferquote Attribute Multiplikation Delta 3 . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 6 14 16 19 21 25 26 33 34 35 A2 A4 A4 A5 A6 A7 A7 A9 A10 A11 A12 A13 A14 A15 A20 A20 A21 A21 A22 A22 A23 A23 A24. . . . . . . .. 5 7 17 A3 A16 A17 A18. Tabellenverzeichnis 1 2 3 4 5 6 7. Beispiele für Wörter aus den Rohdaten . . . . . . . . . . . Verteilung der Termklassen nach Typ und Token . . . . . Ergebnisse GV . . . . . . . . . . . . . . . . . . . . . . . . . Ausgewählte Ränge der Häufigkeitsverteilung der Terme Die fünfzig signifikantesten linken Attribute . . . . . . . . Die fünfzig signifikantesten rechten Attribute (Forts.) . . Die fünfzig signifikantesten rechten Attribute . . . . . . .. II. . . . . . . ..

(5) 8. Die fünfzig signifikantesten rechten Attribute (Forts.) . . . . A19. Symbolverzeichnis qat (P1 , P2 ) Ähnlichkeitsmaß Attribute qgt (P1 , P2 ) Ähnlichkeitsmaß gleiche Terme qst (P1 , P2 ) Ähnlichkeitsmaß ähnliche Terme P T. eine beliebige Position der eigentliche Text einer Position. t?. Rang eines Terms. t. ein beliebiger Term. V. Vokabular eines definierten Kontexts. III.

(6) Glossar Attribut Spezieller Term, der die Klasse des zweiten Terms fordert“. Beispiele ” sind physikalische Einheiten, Typbezeichnungen oder produktspezifische Terme Klasse Jeder Term wird einer und nur einer der drei Termklassen zugeordnet. Die sind Wörter, Zahlen und Sonstige. Sie werden in Kapitel 3.1 eingeführt. Konfiguration Konfiguration bezeichnet die Lage verschiedener Terme zueinander in einem definierten Kontext. So zum Beispiel die Abstände der Ränge. identische Positionen Positionen, die nicht nur das gleiche Produkt beschreiben, sondern darüber hinaus in sämtlichen Termen und Attributen identisch sind. unterschiedliche Positionen Positionen, die unterschiedliche Produkte beschreiben. Über die einzelnen Terme und Attribute wird keine Aussage gemacht: Sie können, müssen aber nicht unterschiedlich sein. Rang Position eines Elements in einer geordneten Liste. Die Sortierung der Liste ergibt sich aus dem Kontext. Relevanz qualitative Wichtigkeit“ – als subjektiver Vergleich zwischen Termen ” o. Ä. zu verstehen Vgl. Signifikanz Signifikanz quantitaive Wichtigkeit“ - durch eine Maßzahl objektiv vergleichbar ” Vgl. Relevanz Term Endliche Zeichenkette, lässt sich den Klassen Wort, Zahl oder Sonstiges zuordnen.. IV.

(7) 1. Einleitung. Was ist der Unterschied zwischen Badewanne und Heizkörper? Der gleiche wie zwischen Feld- und Hallenhockey – Eins ist oben offen, eins nicht1 .. Wie aus der beispielhaften Antwort hervorgeht, beantworten die meisten Menschen diese Frage auf der semantischen Ebene. Die beiden Begriffe werden unbewusst sofort interpretiert, und aus dem vorhandenen Weltwissen unterschiedliche Merkmale gewonnen. Eine nicht minder korrekte Antwort wäre 1“, der Unterschied in den ” Zeichenkettenlängen2 . Da hierbei nur die syntaktische Ebene betrachtet wird, ist diese Art von Reaktion typisch für den Rechner. Algorithmisch einfach umzusetzen, bildet diese Art von Vorgehen die Grundlage dieser Arbeit. Text Mining auf nicht-grammatischen Daten – Verfahrensansätze zur ” Identifikation inhaltlich ähnlicher Leistungspositionen.“ Hinter diesem, recht sperrigen Titel verbirgt sich ein einfaches Anliegen: Automatisch Positionen abzugleichen, die in Form eines Auftrags, Lieferscheins, oder einer Rechnung vorkommen. Große Unternehmen und deren Zulieferer können auf Industriestandards für Datenaustauschformate3 zurückgreifen oder diese durch ihre Marktmacht setzen. Mittelständische Unternehmen im Projektgeschäft steht jedoch kein allgemein etablierter Standard zur Verfügung. Daher geschieht der Abgleich der Dokumente, die im Verlauf eines Projektes entstehen, manuell und ist dementsprechend zeit- und kostenintensiv4 . Notwendig ist er, da Bezeichnungen identischer Produkte zwischen Produzenten, Lieferanten und Endverbrauchern divergieren. Motiviert durch diesen Bedarf, wurde das Forschungsprojekt conTEXT konzipiert. Ziel ist [e]in Verfahren für den automatischen Abgleich von ” Leistungspositionen in ERP-Systemen“5 . 1. Ergebnis einer unrepräsentativen Umfrage des Autors auf Facebook.com, 13. Oktober 2012 2 Selbstverständlich ist die einzig ultimativ korrekte Antwort 42: die Levenshteindistanz unter der Annahme, das Einfügen Kosten von 4, Ersetzen 5 und Löschen 4 verursacht. 3 Datanorm, EDIFACT, RosettaNet 4 IAI11, S. 6. 5 IAI11.. 1.

(8) Innerhalb des Projektes ergab sich die Fragestellung, welche Verfahren für den eigentlichen inhaltlichen Abgleich geeignet sind. Aufgrund der Natur der Daten, kurze, nicht-grammatische Texte, mussten dafür neue Methoden und Algorithmen entwickelt und getestet werden. Im Rahmen dieser Arbeit sollen verschiedene Ansätze vorgestellt, und mittels prototypischer Umsetzung evaluiert werden. Es soll die algorithmische Grundlage für einen Implementierung geschaffen werden, die für den produktiven Einsatz geeignet ist. Die zu entwickelnden Verfahren sind dem Text Mining zuordnen, wenn auch einige nichttriviale Unterschiede zur üblichen Anwendung bestehen. Nach [HQW08, S.4] umfasst Text Mining ein Gruppe methodische Ansätze, ” um Texte zu strukturieren und damit neue und relevante Informationen zu extrahieren“. So werden zum Beispiel aus großen Textbeständen Fachausdrücke extrahiert, Definitionen und Referenzen gefunden, oder ähnliche Dokumente identifiziert. Im Projektkontext sind die relevanten In” formationen“ Aussagen über die inhaltliche Ähnlichkeit der Positionen. Weiterhin liegt der Schwerpunkt der Forschung dabei auf grammatischen Texten, also natürlichsprachlichen Fließtexten. Die dem Projekt zugrunde liegenden Daten sind allerdings nicht-grammatische Texte. Dies hat zur Folge, dass sich der Fokus der Analysen verschiebt: Bei natürlichsprachlichen Texten werden neben statistischen auch linguistische Ansätze verfolgt. So sind zum Beispiel morphologische Aspekte wie Numerus von Substantiven oder Zeitform und Person von Verben wichtiger Bestandteil der Satzanalyse. In der vorliegenden Untersuchung sind die Merkmale der nicht-grammatischen Texte fundamentaler“: Was sind die Termgrenzen? Zu welcher ” Klasse gehört der Term? Kann, rudimentär, auf die Bedeutung des Terms geschlossen werden: Stellt er beispielsweise eine physikalische Einheit dar? Wie fügt sich nun diese Arbeit in die Wirtschaftsinformatik ein? Der allgemein akzeptierte6 Gegenstand der Wirtschaftsinformatik sind Informationssysteme in Wirtschaft [und] Verwaltung“7 . Diese soziotechni” ” schen Systeme“8 sollen, in dem sie ihre Nutzer bei der Bewältigung seiner Aufgabe unterstützen, betriebswirtschaftliches Handeln verbessern“9 . ” Dabei ist eines der Hauptziel der Wirtschaftsinformatik der Erkenntnisgewinn durch Analyse dieser Systeme und Systementwürfe. Aber auch 6. Wir11. Wir11, S. 1. 8 Wir11, S. 1. 9 Myr08, S. 100. 7. 2.

(9) die gestaltungsorientierte Konstruktion von IS und dafür notwendige Ent” wicklung von Konzepten, [. . . ] Modellen, Methoden“10 ist Aufgabe der WI. Die leitende Vision hierfür ist die sinnhafte Vollautomation“11 . Aufgaben, ” die von einer Maschine effizienter bewältigt werden können, sollen dieser auch übertragen werden. Im Fokus der WI steht dabei die sogenannte white collar automation“12 – die (semi-) automatische Manipulation von ” Informationen – zu. Gegenstand und Ziel conTEXTs finden sich somit in der Wirtschaftsinformatik wieder. Da die vorliegende Arbeit die theoretischen Grundlagen des Projektes zum Thema hat, ist sie der der Informatik zugewandten Seite der WI zuzuordnen. Doch auch die Vorgehensweise ist typisch für die Wirtschaftsinformatik. Der Aufbau der Arbeit folgt der, für die WI charakteristischen konstrukti” ven Methoden, wie bspw. dem Erstellen und Evaluieren von Prototypen“13 . Gestaltung und Evaluation“14 ist der Leitsatz. ” In Kapitel 2 werden Problemstellung und Restriktionen des Projektes erläutert. Danach folgt ein Überblick über die Vorverarbeitung der Daten und wesentliche Begriffe werden definiert. Die nächsten drei Kapitel stellen dann die einzelnen Verfahrensansätze vor. Zuerst wird die Idee der gleichen Terme“ in Kapitel 4 erläutert. Dabei ” wird nach der Vorstellung des Ähnlichkeitsmaßes auf den Algorithmus zur Berechnung eben dieser eingegangen. Es folgt der Aufbau der Evaluierung des Verfahrens. Das Kapitel schließt mit der Auswertung der Ergebnisse der Implementierung. In Kapitel 5 wird das vorherige Verfahren um eine Unschärfe erweitert. Die sich daraus ergebenden Änderungen werden erläutert und wiederum die Testresultate evaluiert. Das Kapitel 6 widmet sich dem Versuch, fundamentale semantische Relationen aus den Daten zu extrahieren. Es wird das Verfahren zur Identifikation der Attribute vorgestellt und selbige klassifiziert. Der eigentliche Vergleich der Positionen folgt in der zweiten Hälfte und wird in drei Varianten betrachtet. Die Arbeit schließt mit der Zusammenfassung der Verfahren und zeigt Potentiale für die Weiterentwicklung auf.. 10. Wir11, S. 2. Mer+05, S. 4. 12 Myr08, S. 106. 13 WH06, S. 1. 14 GR09, S. 196. 11. 3.

(10) Projekt conTEXT. 2. Mittelständische Unternehmen stehen vor dem Problem, dass im Verlauf eines Projektes verschieden Dokumente mit potentiell gleichem Inhalt entstehen. So sollen Auftrag, Lieferschein und Rechnung die gleichen Posten ausweisen. Um dies zu gewährleisten, müssen die Dokumente miteinander abgeglichen werden. Dies findet bisher per Hand statt, ist dementsprechend zeitaufwendig und fehleranfällig15 und in Konsequenz kostenintensiv. conTEXT zielt darauf ab, diesen Prozess zu teilautomatisieren: dem Anwender sollen zu einer gegebenen Position Korrespondierende vorgeschlagen werden. Dafür ist eine Softwarekomponente zu entwickelt, die in ERP-Systeme integriert wird. Den Kern dieser Komponente bildet das zu entwickelnde Vergleichsverfahren. Die Herausforderung dabei besteht darin, dass die Leistungspositionen nicht immer im exakt gleichen Wortlaut vorkommen. So kann zum Beispiel, aufgrund von Lieferschwierigkeiten, ein äquivalentes Produkt geliefert, aber das angebotene in Rechnung gestellt werden. Zwischen den dadurch variierenden Bezeichnungen muss somit eine Ähnlichkeit angegeben werden, um die zu einer gegebenen Position die wohl Gleiche bestimmen zu können. Da das Verfahren ein möglichst breites Anwendungsfeld finden soll, stellen sich in der Entwicklung einige Restriktionen. So ist ohne Vor- bzw. Fachwissen zu arbeiten, um Domänenunabhängikeit zu gewährleisten. Einige Werkzeuge, wie externe Wörterbücher oder Wortlisten, können daher nicht benutzt werden. Sollen sie Anwendung finden, müssen sie aus den Daten generiert werden. Physikalische Einheiten beispielsweise, sind über ihren Kontext als solche zu erkennen, wie in Kapitel 6 gezeigt wird. Um die Verfahren zu testen, stehen die Kataloge vierer Lieferanten für Heizungs-, Lüftungs- und Sanitärbedarf zur Verfügung. Weiterhin ist eine Liste gegeben, die identische Positionen zwischen den Lieferanten ausweist. Anhand einer Stichprobe aus den Katalogen wurde deutlich, das eine Vorverarbeitung notwendig war. Diese ist Gegenstand des nächsten Kapitels.. 15. IAI11, S. 6.. 4.

(11) 3. Grundlagen. 3.1. Vorverarbeitung16. Die erste, explorative Untersuchung der Daten war eine einfach Häufigkeitsanalyse: Welche Wörter kommen wie oft vor? Um offensichtliche Dopplungen zu vermeiden, wurden alle Buchstaben klein geschrieben und Umlaute ersetzt. Die Positionen wurden anschließend an den Leerzeichen in einzelne Wörter getrennt und diese gezählt. Bei der Durchsicht der Ergebnisse fiel auf, dass 1. viele Wörter abgekürzt, 2. aus mehreren zusammengesetzt oder 3. mit Interpunktion versehen waren. tuer re.Uebergroesse matt chrom rauchrohrbogen 130mm pulverbesch.b.650grad. m.f.seg.m.sw cosima tg rund esg pflegepx gr.b vigour sur schwarz 2mm gesch.45grad m.tuer typ175-7/275-7 dn25. Tabelle 1: Beispiele für Wörter aus den Rohdaten. Das erste Problem lässt sich auch mit größerem Aufwand nur unvollständig lösen, das Zweite unter bestimmten Bedingungen. Das dritte Problem kann zufriedenstellend mit einfachen Mitteln gelöst werden. Die bisher als Wörter“ bezeichneten Terme wurden in drei Klassen auf” geteilt: Wörter bestehen einzig aus einer nichtleeren Folge von Buchstaben. Es wird nicht gefordert, dass sie auch tatsächlich lexikalische Wörter sind. Zahlen können mit einem Vorzeichen beginnen, danach eine nichtleere Folge von Ziffern. Falls ein Dezimaltrennzeichen vorhanden ist, muss sich eine weitere, nichtleere Folge von Ziffern anschließen. Sonstige sind alle Terme, die weder Wörter noch Ziffern sind. Mit regulären Ausdrücken wurden nun versucht, Terme von Interpunktion zu befreien, und Zahlen und Wörter voneinander zu trennen. Ein Überblick über die verwendeten Ausdrücke findet sich im Anhang auf Seite A1. 16. basiert auf [Aag12, Kap. 4]. 5.

(12) Nachdem die Positionen in einzelne Terme zerlegt worden sind, wurden nochmal die Häufigkeiten analysiert. Absteigend sortiert, ergaben sie Abbildung 1.. Abbildung 1: Verteilung der Terme in doppellogarithmischer Darstellung. Die Verteilung folgt dabei dem Zipfschen Gesetz, welches typisch für natürlich-sprachliche Texte17 ist. Die charakteristischen Eigenschaften dabei sind, dass nur wenige Terme sehr häufig vorkommen. Der Hauptteil hingegen ist vergleichsweise selten18 . In den meisten Text Mining-Anwendungen werden die häufigsten Wörter vor der Weiterverarbeitung aussortiert. Man geht davon aus, dass sie eben aufgrund ihres hohen Vorkommens wenig zur Differenzierung der Inhalte beitragen. Daher kommt auch die Bezeichnung Stoppwörter“19 . ” Die häufigsten Terme und einige weitere Ränge sind in Tabelle 4 aufgeführt. Dies sind gerade die Einheiten und Größen, die zuvor von den Zahlen getrennt wurden. Deshalb werden sie auch weiterhin in die Analysen einbezogen. Eine weitere wichtige Verteilung ist die der Termklassen. Hierbei ist zu unterscheiden zwischen Typen und Token. Mit Typ“ wird im Folgenden ” immer das abstrakte Wort20 bezeichnet. Token“ hingegen beschreibt das ” tatsächliche Auftreten. 17. HQW08, S. 87. Eine andere Darstellung, aus diese Tatsache deutlicher hervorgeht, findet sich als Abb. 11 auf Seite A2 19 HQW08, S. 96. 20 Wet11. 18. 6.

(13) Die Anzahl der Typen ist somit die Zahl unterschiedlicher Terme. Die der Token ist die Anzahl aller Terme in sämtlichen Positionen. Klasse Anteil an Typen Anteil an Token Wörter Zahlen Sonstige Absolut. 15,870% 40,782% 43,348% 547.238. 63,962% 21,625% 14,413% 14.951.435. Token Typen. 110 14,5 9 27. Tabelle 2: Verteilung der Termklassen nach Typ und Token. In diesen Zahlen findet sich die Aufteilung in die Termklassen bestätigt: Es sind zwar viele der Typen als Sonstige klassifiziert, und deuten demzufolge auf eine nicht triviale Interpretation. Allerdings machen sie nur einen kleinen Teil der Token aus. Wie aus Abbildung 13 hervorgeht, besteht der Großteil der mehrfach vorkommenden Terme aus Wörtern“. ” Die sind zumeist lexikalische Wörter, und daher von Menschen leicht zu interpretieren. Auf der Tatsache, dass die meisten Terme für den Menschen unmittelbar verständlich sind, soll das erste Verfahren aufbauen. Der manuelle Abgleich wird simuliert, in dem zwei Positionen dann ähnlich sind, wenn sie viele gleiche Terme enthalten. Ein weiteres Argument dafür findet sich in der Beilage A. Auf der Abszisse sind die alphabetisch sortierten Terme angeordnet und entlang der Ordinate wurden die Positionen abgetragen. Somit sind die Positionen als Menge von Typen dargestellt. Auffällig ist, dass in der Klasse Wörter“ zwi” schen den Lieferanten keine großen Abweichungen bestehen. Es werden also die gleichen Worte zur Beschreibung genutzt. Bevor die Vergleichsverfahren betrachtet werden können, sind die grundlegenden Begriffe zu definieren.. 3.2. Begriffe. Das kleinste Element in diesem Modell ist der Term. Ein Term t ist eine nichtleere, endliche Zeichenkette. Das Alphabet besteht aus Kleinbuchstaben, Ziffern und Sonderzeichen. Buchstabe = "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" | "i" | "j" | "k" | "l" | "m" | "n" | "o" | "p" | "q" | "r" | "s" | "t" | "u" | "v" | "w" | "x" | "y" | "z" ; Ziffer = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" ; 7.

(14) Sonderzeichen = "." | "," | "-" | "+" | "#" | "*" | "%" | "?" | "!" | "/" | "<" | ">" | ... ; Zeichen = Buchstabe | Ziffer | Sonderzeichen ; Term = Zeichen {Zeichen} ; Die Terme werden in die Klassen Wort, Zahl und Sonstige unterteilt. Wort und Zahl lehnen sich dabei an die natürlichsprachlichen Begriffe an. Wort = Buchstabe {Buchstabe} ; Zahl = ["+" | "-"] Ziffer {Ziffer} [("." | ",") Ziffer {Ziffer}] ; Sonstige sind alle Terme, die weder Wort noch Zahl sind. Eine Tupel von Termen bildet den Positionstext T : T = (t1 , t2 , . . . , tn ). n∈N. bzw. Positionstext = Term {Term} ; Ein Beispiel für eine konkreten Positionstext ist: comfortline unit heizkessel cnu 17 14-17kw stahl m oelbrenner premio. Die Terme eines Positionstextes können mehrfach in einer Position vorkommen und werden als Token bezeichnet. Die Länge des Positionstextes als |T | entspricht der Anzahl der Token im Tupel. Die komplette Position P wird dargestellt durch das geordnete Paar (ID, T ). T ist der Positionstext und die ID eine nichtleere, endliche Zeichenkette. Der Katalog eines Lieferanten besteht aus einer Menge von Positionen, mit eindeutigen IDs. Er ist somit die Menge K = {(ID1 , T1 ), (ID2 , T2 ), . . . , (IDn , Tn )}. n ∈ N und IDi 6= IDj ⇔ i 6= j.. Eine Menge von Termen wird als Vokabular V bezeichnet: V = {t1 , t2 , . . . , tn }. ti 6= tj ⇔ i 6= j, n ∈ N.. Durch die übliche Definition des Mengenbegriffs bildet die Menge der Token die Termtypen. Ein Typ ist also der, vom konkreten Vorkommen gelöste Term. Das Vokabular kann auf einem beliebigen Kontext definiert werden, so zum Beispiel als Vokabular einer Position, oder eines Katalogs. Wird das Vokabular sortiert und durchnummeriert, kann jedem Typ ein Rang zugewiesen werden, der als t? gekennzeichnet ist. Dies entspricht der eindeutigen Abbildung f (t) : V 7→ N, t 7→ t? 8.

(15) Im Kontext dieser Arbeit wird für den Rang durchweg die alphabetische Sortierung verwandt. Mittels Rang lassen sich Terme als natürliche Zahlen ausdrücken. Ein Positionstext kann daher als Folge von Zahlen ausgedrückt werden. Ohne den Verfahren zu weit vorzugreifen: Bei einigen Ansätzen ist die ursprüngliche Reihenfolge der Terme im Positionstext irrelevant. Stattdessen ist es für die algorithmische Verarbeitung sogar einfacher, die Terme in Form ihrer Ränge aufsteigend zu sortieren. Wenn darüber hinaus gleiche Token mit einem zweiten Alphabet durchnummeriert werden, lässt sich der Tupel als Menge mit innerer Ordnung darstellen. Ein Beispiel: Sei der Positionstext (bravo, charlie, alpha, bravo, delta). Das Vokabular ist somit {bravo, charlie, alpha, delta}. Die Ränge nach alphabetischer Sortierung sind dann: alpha → 1 bravo → 2 charlie → 3 delta → 4 In Konsequenz ist dann die Menge {1, 2a, 2b, 3, 4} äquivalent zur Ausgangsposition. Auf den so erzeugten Mengen können die klassischen Mengenoperationen wie Schnitt, Teilmenge und Vereinigung angewendet werden. Der Um” weg“ über Ränge und ein zweites Alphabet dient dabei einem einfachen Ziel: Terme, die im Positionstext mehrmals vorkommen, sollen auch in der Mengendarstellung in korrekter Anzahl vorhanden sein. Würde auf die Indizierung gleicher Token verzichtet werden, würden diese nach der üblichen Definition des Mengenbegriffs zusammengefasst.. 9.

(16) 4. Gleiche Terme. Der erste Verfahren basiert auf der naiven Annahme, das gleiche Positionen aus gleichen Termen bestehen. Wie in Abschnitt 3.1 angeführt, ist dies eine erste Annäherung an den menschlichen Abgleich. Die Terme einer Positionen werden mit denen einer Zweiten verglichen, und je mehr Terme übereinstimmen, als desto ähnlicher gelten sie. Um nun die ähnlichste Position zu einer Gegebenen zu finden, muss ein Ähnlichkeitsmaß qgt (P1 , P2 ) definiert werden.. 4.1 Ähnlichkeitsmaß Aus der Problemstellung ergeben sich drei Größen: die Länge des ersten Positionstextes als |Ti | = m, korrespondierend |Tj | = n und k als die Anzahl der gleichen Token in beiden Positionstexten. Dabei ist zu beachten, dass ein Token aus Pi nur einem aus Pj zugeordnet werden kann. Kommt ein Token in der zweiten Position doppelt vor, in der ersten aber nur einmal, so wird es auch nur einmal gezählt. Sind die Positionstexte in die Mengendarstellung überführt worden, wie in Abschnitt 3.2 beschrieben, so ist k die Mächtigkeit des Schnitts der beiden Positionen. Daraus folgt 0 ≤ k ≤ min(m, n). Bei identischen Positionen ist k = m = n. Nun läge es nahe, qgt (Pi , Pj ) = k zu setzen, denn bei einem Abgleich, wie im Projekt vorgesehen, ist Ti = const. Die erste Position ist fest, und aus der Menge der Kandidaten soll mit qgt (Pi , Pj ) die ähnlichste dazu gefunden werden. Somit würde dann mit steigendem k auch unmittelbar die Ähnlichkeit steigen. Allerdings haben die potentiell passenden Positionen unterschiedliche Längen: n ist nicht konstant. Es stellt sich die Frage: was relevanter ist? Pja mit na = 5 und ka = 1 oder Pjb mit nb = 10 und kb = 2? Um diese Frage zu beantworten muss k normalisiert werden, in dem es ins Verhältnis zu m und n gesetzt wird. Dabei werden drei Anforderungen an die Normalisierung gestellt. Zum einen soll sie monoton steigend in k sein. Umso mehr gleiche Token vorhanden sind, umso ähnlicher sind sich die beiden Positionen: nja = njb ∧ kja ≤ kjb → qgt (Pi , Pja ) ≤ qgt (Pi , Pjb ) Zum anderen soll sie in n monoton fallen. Je länger die Positionstexte sind, desto unähnlicher sind sie bei konstantem k: kja = kjb ∧ nja ≤ njb → qgt (Pi , Pja ) ≥ qgt (Pi , Pjb ) 10.

(17) Darüber hinaus ist ein abgeschlossenes Intervall als sinnvoller“ Werte” bereich wünschenswert, wenn auch nicht zwingend erforderlich. Dieser ermöglicht eine inhaltliche Interpretation der Werte. So kann zum Beispiel die Untergrenze 0 als komplett unterschiedliche, und die Obergrenze 1 als identische Positionen gedeutet werden. Gefordert wird demnach, dass qgt (Pi , Pj ) ∼ k und qgt (Pi , Pj ) ∼ Ähnlichkseitsmaß hat also die Gestalt qgt (Pi , Pj ) =. 1 . f (m,n). Das. k , f (m, n). wobei f (m, n) eine Funktion ist, die m und n miteinander verknüpft und Proportional zu beiden ist. Mehrere Funktionen bieten sich an: 1. Summe. k m+n Dieser Entwurf setzt k ins Verhältnis zur Summe der Längen der Positionen. Der Wertebereich ergibt sich als qgt (Pi , Pj ) =. qgt (Pi , Pj ) ∈ [0; 0, 5], qgt (Pi , Pj ) ∈ Q+ Identische Positionen haben dabei den Wert 0, 5. 2. Mittelwert qgt (Pi , Pj ) =. k m+n 2. =. 2k m+n. Dieser Ausdruck stellt k in Relation zur gemittelten Positionstextlänge. qgt (Pi , Pj ) ∈ [0; 1], qgt (Pi , Pj ) ∈ Q+ ist der resultierende Wertebereich. 1 als Wert für identische Positionen scheint einleuchtender, als die 0, 5 bei der Summe. Tatsächlich ist der Mittelwertansatz ja nur eine lineare Transformation der Vorigen. Somit ändert sich zwar nichts in der Reihenfolge der zugeordneten Positionen, aber es erleichtert die inhaltliche Interpretation der Normalisierung. 3. Produkt. k m∗n k geteilt durch das Produkt der Positionstextlängen, liegt im Wertebereich   1 qgt (Pi , Pj ) ∈ 0; , qgt (Pi , Pj ) ∈ Q+ . max(m, n) qgt (Pi , Pj ) =. 11.

(18) Der Wert identischer Positionen wäre m1 . Dies ist auch der Nachteil dieser Variante: die gleiche Aussage, zwei Positionen sind identisch, resultiert, je nach Länge der Positionstexte, in unterschiedlichen Werten. Dies widerspricht der Zweck des beschränkten Wertebereichs, was diese Variante ungeeignet macht. 4. Wurzel. k qgt (Pi , Pj ) = √ m∗n Der Versuch, den Nachteil der Produktvariante auszugleichen, mündete in diesen Ausdruck. Als Wertebreich folgt daraus qgt (Pi , Pj ) ∈ [0; 1] , qgt (Pi , Pj ) ∈ R+ .. Identische Positionen führen zu dem Wert 1. Der wesentliche Unterschied zum Mittelwert besteht darin, wie ungleiche Positionslängen beurteilt werden. Die Wurzel gewichtet tendenziell höher, und ein große Differenz der Längen führt zu einem signifikant höheren Wert. 5. Maximum. k max(m, n) Die Anzahl gleicher Terme ins Verhältnis zur maximalen Positionstextlänge gesetzt, resultiert in dem Wertebereich qgt (Pi , Pj ) =. qgt (Pi , Pj ) ∈ [0; 1], qgt (Pi , Pj ) ∈ Q+ . Auch hier erhalten identische Positionen den Wert 1. Diese Methode hat den Vorteil, algorithmisch leicht umsetzbar zu sein: die Berechnung wird durch einen simplen Vergleich ersetzt. Jedoch ist dies auch gleichzeitig der Nachteil, da die kleinere Länge keinen Beitrag zur Bewertung liefert. Die Intention hinter der Verwendung der Maximumsfunktion, die Anzahl gleicher Terme ins Verhältnis zur maximal möglichen Anzahl zu setzen, wird in der nächsten Variante deutlicher. 6. Vereinigung k m+n−k Wenn die Positionstexte in Mengen umgeformt worden sind, entspricht dieser Ausdruck dem Quotienten aus dem Schnitt zweier Mengen und derer Vereinigungsmenge. Der Wertebereich ist qgt (Pi , Pj ) =. qgt (Pi , Pj ) ∈ [0; 1], qgt (Pi , Pj ) ∈ Q+ . Wiederum ist die Obergrenze 1 der Wert für identische Positionen. Der Ansatz bewertet die Zahl der gleichen Terme anhand der Zahl der Terme in beiden Positionen, was der Absicht des Ähnlichkeitsmaßes am nächsten kommt. Im Gegensatz zu Summe werden hier die gleichen Terme, als Teilmenge der beiden Positionstexte, nur einmal in den Nenner eingerechnet. 12.

(19) In Abbildung 14 werden die verschiedene Funktionen miteinander verglichen. Es stellt sich die Frage, welche Funktion die Richtige“ ist. Wie bereits ” weiter oben vorgebracht, sind Summe und Mittelwert äquivalent. Aufgrund des sinnigeren Wertebereichs ist deshalb dem Mittelwert der Vorzug zu geben. Das Produkt ist ungeeignet, wie auch aus der Abbildung 14 hervorgeht. Die berechneten Werte nähern sich sehr schnell 0 an, auch wenn k relativ groß ist. Das sie den Einfluss unterschiedlicher Längen dämpft, macht die Wurzel interessant. Da sie allerdings das gleiche geforderte Monotonieverhalten besitzt, dürfte sie in diesem einfachen Vergleich noch keinen größeren Unterschied zu den anderen Funktionen verursachen. Hiervon ausgenommen ist das Maximum. Dadurch, dass die Länge des kürzeren Positionstextes komplett ignoriert wird, treten Situationen ein, die dem intendierten Verhalten widersprechen. So werden (m = 10, n = 4, k = 4) und (m = 10, n = 9, k = 4) gleich bewertet. Allerdings stimmen im ersten Beispiel sämtliche Terme der zweiten Position mit denen der ersten Position überein, im zweiten Beispiel aber weniger als die Hälfte. Dementsprechend sollte die Ähnlichkeit des ersten Beispiels höher als die des zweiten ausfallen. Die vermutlich beste Wahl ist die Vereinigung. Hierbei werden die gemeinsamen Token den insgesamt vorhanden gegenübergestellt. Der inhaltliche Unterschied zwischen den geeigneten Funktionen wird in dem Fall deutlich, dass die eine Position Teilmenge der anderen ist. In Abbildung 2 ist die erste Position mit Länge 10 Teilmenge der zweiten. Dargestellt sind verschiedene Ähnlichkeitsmaße, abhängig von der Länge der zweiten Position. Die ausschlaggebende Frage ist, wann der Wert 0, 5 betragen soll: Wenn die zweite Position doppelt, dreimal oder viermal so viele Terme wie die erste hat, was der Vereinigung, respektive Mittelwert bzw. Wurzel entspricht. Die tatsächlich zu verwendende Funktion ist dem jeweiligen Untersuchungsziel entsprechend auszuwählen. Da die relevanten Funktionen21 alle das gleiche gewünschte Monotonieverhalten besitzen, dürften zwischen ihnen keine signifikanten Differenzen in den Ergebnissen auftreten. Denn nicht die absoluten Werte sind im Vergleich ausschlaggebend, sondern nur die Reihenfolge der zugeordneten Positionen, nach absteigendem Ähnlichkeitswert sortiert. Ob die Vermutung zutrifft, ist einem Test zu festzustellen. 21. Vereinigung, Wurzel, Mittelwert. 13.

(20) Abbildung 2: Vergleich der Ähnlichkeitsmaße mit Teilmenge. 4.2. Algorithmus. Wiewohl k, als Menge der identischen Token, theoretisch aus der Problemstellung folgt, ist die praktische Berechnung ein wenig aufwendiger. Der erste Schritt ersetzt die Terme durch den jeweiligen Rang (T ⇒ T ? ). Zur Umwandlung in eine Menge müssten nun gleiche Token mit einem zweiten Alphabet durchnummeriert werden. Allerdings gehen dadurch erreicht Performancevorteile verloren. Während der Vergleich der Ränge auf einen Integervergleich hinausläuft, müsste bei den konkatenierten Token ein Zeichenkettenvergleich verwandt werden. Die projektentsprechend Implementierung des Schnitts ist keine Standardfunktion, da die umgewandelten Positionstexte noch keine Mengen, sondern Tupel darstellen. Deshalb ist ein eigener Algorithmus erforderlich. Eine erste Möglichkeit wäre, durch beide Tupel eine Matrix aufzuspannen, und für jede Zelle zu bestimmen, ob die beiden Token identisch sind. Jedoch hat dieses Vorgehen zwei Nachteile: Zum einen ist die Komplexität O(mn), was der versprochenen Leistungssteigerung zuwider läuft. Zum anderen ist das Ergebnis falsch, wenn ein Term in einer Position mehrfach vorkommt. Kommt, zum Beispiel, ein Term in beiden Positionen doppelt vor, werden nicht, wie erwartet, zwei, sondern gleich vier Treffer gezählt. Es müsste also weiterer Aufwand betrieben werden, um 14.

(21) dies zu vermeiden. Die Tatsache, dass die Reihenfolge der Token in diesem Verfahren irrelevant ist, lässt sich im Entwurf des Algorithmus nutzen. Darauf aufbauend, wird das folgende Verfahren eingesetzt: Zuerst werden die Token der Positionstexte, wie bereits auf Seite 9 beschrieben, durch ihre Ränge ersetzt, und dann der Größe nach aufsteigend sortiert. t?i ∈ T1? , t?j ∈ T2? i1 ≤ i2 → t?i1 ≤ t?i2 j1 ≤ j2 → t?j1 ≤ t?j2 Nun werden je zwei Terme miteinander verglichen (v(t?i , t?j )), wobei die beiden Indexvariabeln (i, j) und die Anzahl gleicher Terme k nach folgendem Schema erhöht werden:  ? ?  ti < tj ⇒ i++ v(t?i , t?j ) = t?i = t?j ⇒ i++, j++, k++  ? ti > t?j ⇒ j++ Ein Beispiel findet sich in Abbildung 15 auf Seite A6. Dieses Vorgehen ermittelt nicht nur die korrekte Anzahl gleicher Terme, sondern senkt die Komplexität auf O(m + n) im Worst Case und O(min(m, n)) im Best Case.. 4.3. Test. Nachdem der Algorithmus für den Vergleich zweier Positionen aufgestellt worden ist, gilt es nun, das Verfahren zu evaluieren. Dafür werden zwei Mengen A, B mit jeweils korrespondierenden Positionen verwandt. Zuerst wird jede Position aus A mit jeder Position aus B verglichen und die Reihenfolge der Kandidaten nach Ähnlichkeitswert sotiert ausgegeben. Im zweiten Schritt wird die tatsächlich gleiche Position aus den Ergebnissen gesucht, und ihrem Platz entsprechend bewertet. Umso weiter vorne sie in den Ergebnisse zu finden ist, desto besser ist das Verfahren. Aus den verfügbaren Daten ergaben sich 8000 Paare gleicher Positionen. Diese wurden eingeteilt in acht Testmengen von je 1.000. Dabei bestand Liste A aus besagten 1.000 Positionen, Liste B aus den korrespondierenden 1.000 und weiteren, zufälligen 1.000 Positionen, um Zufallstreffer zu minimieren. Bei zufälliger Anordnung der Kandidaten ist die Wahrscheinlichkeit, dass der Treffer auf Platz x liegt 1 P (P latztref f = x) = = 0, 0005. 2000 15.

(22) Daraus folgt, dass die Wahrscheinlichkeit, dass der Treffer unter den ersten x zugeordneten Positionen liegt, P (P latztref f ≤ x) = 0, 0005x beträgt. Bei dem vorliegenden Testaufbau, sind also durchschnittlich schon 50 Zufallstreffer unter den ersten einhundert Plätzen zu erwarten.. 4.4. Ergebnisse. In Abbildung 3 sind ist die kumulierte Trefferquoten verschiedener Funktionen nach Platz dargestellt. Es fällt auf, das alle eine überraschend gute Annäherung bilden. Allerdings ist das Maximum nicht so performant wie die Wurzel, der Mittelwert oder die Vereinigung. Trotzdem sind alle Funktionen signifikant besser als die zufällige Anordnung. In Tabelle 3 sind die numerischen Werte noch einmal aufgeführt. Die aus den verschiedenen Normalisierungsfunktionen resultierenden Trefferquoten der acht Testmengen wurden gemittelt. Die Werte der Tabelle sind die kumulierten Trefferquoten der erste x Plätze.. Abbildung 3: Trefferquote gleiche Terme. 16.

(23) Platz Maximum Mittelwert Wurzel Vereinigung 1 487 519,25 523,125 519,25 2 584,5 620,25 622 620,25 3 635,75 669,125 672,625 669,125 4 672,625 704,875 708,125 704,875 5 696,625 730,75 735,25 730,75 10 766 798,375 804,75 798,375 Tabelle 3: Ergebnisse GV. 5 Ähnliche Terme Im vorigen Verfahren wurden Token immer dann als gleich gewertet, wenn sie den selben Rang besitzen. Da aber durch die regulären Ausdrücke nur eine rein syntaktische, aber nicht semantisch Verarbeitung der Terme vorgenommen worden ist, können prinzipiell gleiche Wörter in verschiedenen Typen resultieren. So finden sich die Typen abstellt, abstelltas, abstelltast, abstelltaste und abstelltaster; oder feuerbestaen, feuerbestaend und feuerbestaendig in aufeinanderfolgenden Rängen. Die Idee dieses Verfahrens ist nun, nicht mehr nur identische Ränge als gleich zu bewerten, sondern eine Unschärfe zuzulassen. Token somit gelten auch dann als gleich, wenn ihre Differenz kleiner als ein zuvor bestimmtes Delta ist. Die Gefahren bei diesem Ansatz sind Fehlbewertung und Verzerrung. Als Fehlbewertung wird der Fall bezeichnet, dass falsche Position eine höhere Wertung als die richtige Position erhalten, da sie mehr ähnliche Terme“ ” enthalten. Der Fehler liegt somit in der Auswirkung auf die Reihenfolge der Kandidaten, nicht in dem Vergleich an sich. Mit Verzerrung ist die Problematik gemeint, dass Position mit mehr Termen tendenziell höher bewertert werden, da sie schlicht mehr potentiell ähnliche Terme enthalten. Diesen beiden Problemen steht jedoch die Annahme gegenüber, dass unterschiedliche Positionen auch in ihrer Konfigurationen so voneinander verschieden sind, dass sie nicht als gleich zugeordnet werden. Wie auch im vorigen Verfahren, müssen die Treffer, als Zahl ähnlicher Terme, normalisiert werden. Daher wird die gleiche Ähnlichkeitsfunktion angewandt, nur werden nicht gleiche, sondern ähnliche Token gezählt. Wie schon weiter oben beschreiben, sind zwei Terme ähnlich, wenn der Abstand ihrer Ränge kleiner als ein definiertes Delta d ist. ti =t ˆ j ⇔ |t?i − t?j | ≤ d. 17. d∈N.

(24) Das entsprechende Ähnlichkeitsmaß qst (P1 , P2 ) ergibt sich als qst (P1 , P2 ) =. k=ˆ f (m, n). mit den bereits bekannten Funktionen Mittelwert, Wurzel und Vereinigung. Die Ähnlichkeit zweier Terme ist reflexiv, symmetrisch und intransitiv: t?1 = 100. t?2 = 102. t1 =t ˆ 2. t2 =t ˆ 3. t?3 = 104 ˆ t3 t1 6=. d=3. Auch hier gilt die Voraussetzung, dass ein Term höchstens einem anderen zugeordnet werden kann. Bei konkurrierender Zuordnung, ein Term ist zweien der anderen Position ähnlich, muss entschieden werden. Dieses Problem wird unter Punkt 5.2 ausgeführt.. 5.1. Gewichtungsfunktionen. Im ersten Verfahren entsprach k der Anzahl gleicher Terme. Dass in diesem Ansatz eine Unschärfe zugelassen wird, kann sich auch in der Berechnung von k wiederfinden. Je nach Abstand kann man die Treffer, als zugeordnete Terme, gewichten. Je größer der Abstand der Ränge, desto geringer der Beitrag zu k. Allgemein gilt, dass das Gewicht der Ähnlichkeit der Terme zwischen 0 und 1 liegen soll. g(t?i , t?j ) ∈ [0, 1] Auch hier sind wieder verschiedene Varianten möglich: 1. linear g(t?i , t?j ) = max(−α|t?i − t?j | + 1; 0) Diese Funktion ist eine einfache lineare Gleichung. Der Gewichtungsfaktor α ∈ [0; 0, 5] bestimmt dabei das Dekrement zwischen zwei aufeinanderfolgenden Abständen und demzufolge auch den Schwellwert α1 . Darüber hinaus gehende Abstände verursachen einen Wert unter 0, wem durch die Maximumsfunktion vorgebeugt wird. Sobald der Abstand zweier Ränge größer als der Schwellwert ist, soll der Beitrag zu k 0 betragen, und nicht negativ werden. 2. exponentiell. ?. ?. g(t?i , t?j ) = e−α|ti −tj | In der exponentiellen Variante liegt der Gewichtungsfaktor α ∈ [0; 1]. Die Verwendung der Maximumsfunktion ist in diesem Fall nicht nötig, denn es gilt: lim g(t?i , t?j ) = 0 ? ? |ti −tj |→∞. 18.

(25) Der Ähnlichkeitswert strebt für große Abstände gegen 0. Das bedeutet aber auch, dass kein definitiver Schwellwert angegeben werden kann, aber ab einem gewissen Abstand ist g(t?i , t?j ) ≤ ε. Das ε kann so gewählt werden, dass zu große Unterschiede ignoriert werden. 3. konstant. ( 1 wenn |t?i − t?j | ≤ d g(t?i , t?j ) = 0 sonst. Die Gleichgewichtung der Treffer entspricht der ursprünglichen Vorgehen. Das Delta d ∈ N ist der Schwellwert, und k wieder die ungewichtete Anzahl ähnlicher Terme. Ein Verglich der ersten beiden Gewichtungsfunktionen und verschiedener Faktoren α ist in Abbildung 4 dargestellt.. Abbildung 4: Vergleich der Gewichtungsfunktionen. 5.2. Algorithmus. Das prinzipiell Vorgehen gleicht dem im ersten Verfahren. Zuerst werden die Terme der Positionstexte durch ihre Ränge ersetzt und aufsteigend sortiert. Danach wird k als Zahl ähnlicher Terme berechnet.. 19.

(26) Hier allerdings stellt sich das Problem der konkurrierende Zuordnung: Terme werden Ähnlichen zugeordnet, dabei existieren möglicherweise identische Terme im Tupel. Sei T1? = (15, 16, 20) und T2? = (14, 15, 16). Dann würde, bei d = 3 die jeweils ersten beiden Terme einander zugeordnet. Werden die Treffer gewichtet, ergibt sich daraus ein falscher Wert. Anstatt zwei identischer Terme, werden zwei Paare mit jeweils einem Abstand von 1 erkannt. Eine Möglichkeit dieses Defizit auszugleichen wäre, die von beiden Termtupeln aufgespannte Matrix berechnen. Diese bildet dann die Grundlage eines Zuordnungsproblems, welches mit bekannten Methoden der Operations Research gelöst werden kann. Die sich ergebenden Nachteile in Bezug auf die Performance sind gravierend. Eine andere Option ist die Vorausschau. Unter der Bedingung, dass die Tupel der Termränge sortiert sind, also ∀ti , tj . i < j → t?i ≤ t?j gilt, kann folgendes Vorgehen genutzt werden: Wenn g(t?i , t?j ) < g(t?i , t?j+1 ) dann g(t?i , t?j+1 ) sonst g(t?i , t?j ). Wenn der aktuelle Term der ersten Position, mit dem folgenden Term der zweiten Position eine höhere Bewertung erzielt, so sind diese beiden Terme als Treffer zu zählen. Im implementierten Test soll aber zuerst nur die konstante Bewertung eingesetzt werden. Die resultierende Anzahl an Treffern ist korrekt. Somit bietet die Verwendung einer Gewichtungsfunktion noch Potential für eine spätere Umsetzung im Projekt conTEXT.. 5.3. Testergebnisse. Die Trefferquote für verschiedene Delta und der Normalisierungsfunktion Wurzel ist in Abbildung 5 dargestellt. Dabei entspricht ein Delta von 0 dem Ansatz der gleichen Terme. Insgesamt ist eine geringe Zunahme der Trefferquote bei steigendem Delta festzustellen. Gleiches gilt für die beiden anderen Normalisierungsfunktionen in den Abbildungen 16 und 17. Ob diese lediglich geringe Erhöhung der Trefferquote nur aus den gegebenen Daten folgt, oder ob sie dem Verfahren inhärent, müsste durch eine weitere Untersuchung geklärt werden. Es ist fraglich, ob die Zunahme den höheren Rechenaufwand rechtfertigt.. 20.

(27) Abbildung 5: Trefferquote ähnliche Terme Wurzel. 21.

(28) 6. Identische Attribute. Die beiden ersten Verfahren betrachten die Positionen als Bag of Words“22 . ” Die innere Struktur der Texte wird ignoriert: nicht die Reihenfolge der Terme war relevant, sondern nur Rang und Anzahl. Dieser Ansatz versucht nun, erste semantische Beziehungen zwischen den Termen zu rekonstruieren. Es sollen die Terme gefunden werden, die die Termklasse ihres Kookkurrenten fordern“. So finden sich links ” von physikalischen Einheiten häufig Zahlen. Da einerseits aufgrund der Restriktionen des Projekts, andererseits aus unvollständigem Wissen über den Dateninhalt, keine Listen mit diesen Termen verfügbar sind, müssen diese über ihren Kontext als solche identifiziert werden. Diese Terme, die syntaktische Ansprüche an die links oder rechts von ihnen stehenden Terme stellen, sollen als Attribut bezeichnet werden. Beispiele dafür sind die bereits erwähnten physikalischen Einheiten, aber auch Norm- und Typbezeichnung. Der Nutzen im Verfahren soll sich daraus ergeben, dass ähnliche Positionen mit identischen Maßen, etc. aufgewertet werden.. 6.1. Identifikation. Da im Verfahren keine externen Wortlisten benutzt werden können, müssen Attribute über ihr Umfeld erkannt werden. Dabei sind belastbare Aussagen nur möglich, wenn der gesamte Datenbestand in Betracht gezogen wird. Es wird nicht gelingen, diese Attribute nur durch Analyse einzelner Positionen zu erkennen. Wie kann man nun Attribute bestimmen? Analog zur Motivation der signifikanten Kookkurrenzen in [HQW08, vgl. S. 135ff] basiert das Identifikationsverfahren auf statistischen Abweichungen. Wenn ein Term und sein Kookkurrent semantisch abhängig voneinander sind, sollten sie häufiger zusammen vorkommen, als es bei einer zufälligen Verteilung erwartet worden wäre. Anders formuliert: Wenn ein Term und sein Kookkurrent signifikant häufiger miteinander auftreten, als dies rein statistisch zu erwarten wäre, deutet dies auf einen semantischen Zusammenhang hin. In diesem Verfahren wird nur die Termklasse, nicht der Typ des Kookkurrenten betrachtet. Daher sollte bei Unabhängigkeit die lokale, auf einen Term bezogene Verteilung der Termklassen der Kookkurrenten, der globalen Verteilung folgen. 22. MS99, S. 237.. 22.

(29) Es ist somit ein Maß zu entwickeln, das die Abweichung der lokalen Verteilung von der globalen quantifizert und so vergleichbar macht. 6.1.1. Maßzahl. Da das Anliegen dem der signifikanten Kookkurrenzen ähnelt, sollte zuerst auch das dort angewendete Signifikanzmaß in Betracht gezogen werden. Es wird definiert als:  − log 1 − e. −λ. k−1 P i=0. sig(A, B) =. 1 i λ i!. . log n. Dabei ist k die Anzahl gemeinsamer Vorkommen der beiden zu untersuchenden Terme, und λ der Quotient aus dem Produkt der einzelnen Vorkommen der beiden Terme (a · b), geteilt durch die Gesamtzahl der Sätze (n). ab λ= n Das Signifikanzmaß basiert auf der Poissonverteilung, der Verteilung der ” seltenen Ereignisse“23 . Darin liegt auch der Grund, warum das Maß für die Identifikation der Attribute ungeeignet ist. Zum einen soll nicht die Signifikanz einzelner Termpaare bestimmt werden, sondern die Signifikanz eines Terms in Bezug auf die gesamten Termklasse. Die Häufigkeit dieser ist aber trivialerweise sehr hoch. Hinzukommt, dass auch die Terme, die potentiell Attribute sind, auf den vorderen Rängen liegen. Sie sind somit vergleichsweise häufig vertreten. Diese beiden Tatsachen haben zur Folge, dass das Signifikanzmaß unzweckmäßige Werte als Ergebnis hat. Deswegen ist die Konstruktion eines eigenen Maßes w(K, ti ) erforderlich. Es sollte algorithmisch einfach sein, und das Auseinanderfallen von erwartetem und tatsächlichem Auftreten der Kookkurrentenklasse ausdrücken. Dies führt zu zwei Anforderungen: Zum einen soll es in |P (K|ti ) − P (K)| monoton steigen. Eine größere Differenz zwischen globaler relativer Häufigkeit P (K) der Termklasse K und lokaler P (K|ti ), als relative Häufigkeit der Klasse des Kookkurrenten von ti , soll auch in einem höheren Wert resultieren. Zum anderen soll es in |ti |, der absoluten Häufigkeit des Terms, ebenfalls monoton steigen. Je häufiger der Term ti vorkommt, desto höher ist er zu 23. Sch90, S. 188.. 23.

(30) bewerten. Die Abweichung in der Verteilung wird relevanter, je öfter der Term auftritt. Da das Maß w(K, ti ) proportional zu den beiden Faktoren ist, ergibt es sich als: w(K, ti ) = (P (K|ti ) − P (K)) × log |ti |. K ∈ {W, Z, S}. Der erste Faktor ist die Differenz zwischen lokaler und globaler relativer Häufigkeit der Termklassen. Der Vorteil, von der lokalen die globale Häufigkeit zu subtrahieren besteht darin, dass weniger tatsächliche Vorkommen als erwartet, also ein Fehlen“, zu einem negativen Wert führt. ” Demgegenüber bewirkt eine größere lokale Häufigkeit einen positiven Wert, was der intuitiven Interpretation entgegenkommt. Der zweite Faktor ist die logarithmisierte absolute Häufigkeit des Terms. Der Logarithmus wird hier zur Skalierung genutzt. Es findet sich die Annahme, dass sich die Relevanz nicht linear zur Häufigkeit eines Terms verhält24 . Nur weil ein Term doppelt so oft vorkommt, ist er nicht auch gleich doppelt so signifikant wie ein anderer. Daher wird der Einfluss der p Frequenz meist gedämpft, etwa durch |ti | oder eben den Logarithmus. Zudem erhalten Terme, die nur einmal in Korpus vorkommen den Wert 0. Da sie nur einmal auftreten, haben sie gleichzeitig die größtmögliche Abweichung in der relativen Häufigkeit der Termklassen. Durch Multiplikation mit 0 wird eine ungerechtfertigte Aussage über sie verhindert. So lässt sich für jeden Term die Abweichung pro Klasse der Kookkurrenten berechnen. Im Projekt werden Terme in drei Klassen eingeteilt, so dass für jeden Term insgesamt sechs Werte zu berechnen sind: drei für die linken Kookkurrenzen und drei für die rechten, die aber getrennt voneinander ausgewertet werden. 6.1.2. Ergebnisse. Die drei Termklassen, die im Projekt verwendet werden, sind Wörter, Zahlen und Sonstige. Für jeden Term wird die Abweichung in allen drei Klassen berechnet, die als drei Dimensionen aufgefasst werden können. So lässt sich jeder Term mit einem Vektor im kartesischen Koordinatensystem darstellen. Dabei bilden die Daten aus den gegebenen Katalogen eine Punktwolke25 , die vier Äste in die verschiedenen Oktanten26 ausbildet. In den Enden dieser Äste finden sich die gesuchten, semantisch ähnlichen Terme. Sortiert nach Oktant, lassen sie sich wie folgt klassifizieren: 24. MS99, S. 542. vgl. Abb. 6 26 vgl. Abbildung 7 25. 24.

(31) Abbildung 6: Lokalisierung der Terme im Raum; die Farbe zeigt die logarithmisierte Häufigkeit des Terms. 25.

(32) Sonstige. III IV. II. I Zahlen. r. W. te ör. VI. VIII. V. Abbildung 7: Oktanten – nach Wikipedia: Oktant. 26.

(33) Linke Kookkurrenzen Verschiedene Perspektiven auf die Punktwolke sind in den Abbildungen 18—23 dargestellt. III Hier sind Terme vertreten, die links von ihnen überdurchschnittlich viele Sonstige besitzen. Beispiele sind sihg, simg, qn, trommmel, waermet oder 6h400v. Wie erkennbar, bilden sie keine bekannte Gruppe von Attributen. Sie deuten vielmehr auf Regelmäßigkeiten in der Gestaltung der Positionstexte hin. So findet sich trommel häufig in der Beschreibung von Kabeln, und deutet so auf die Lieferform hin. Links davon stehen Terme wie 30064606-01 oder 40610701-01, die nicht das Schema einer Zahl erfüllen, und daher als Sonstige klassifiziert worden sind. Die beiden Terme sihg und simg sind Abkürzungen von Silber-Hochglanz und Silber-Mattglanz. Sie kommen oft in der Beschreibung von Duschkabinen vor und haben Vorgänger wie 865-890/2000, welche Abmaße anzeigen. waermet als Abkürzung für Wärmetauscher ist regelmäßig nach der Programmbezeichenung low h20 zu finden, welche einen besonders energiesparenden Heizkörperaufbau verspricht. Zusammenfassend lässt sich festhalten, dass Terme, die viele Sonstige als linke Kookkurrenten besitzen, keine semantisch homogene Gruppe bilden. Sie zeigen vielmehr produktspezifische Regelmäßigkeiten der Positionen an. VI Terme in diesem Oktanten haben sehr viele Zahlen als linke Kookkurrenten. Hier sind die oft erwähnten physikalischen Einheiten wie mm, cm, bar, grad oder watt, aber auch Terme wie tlg, fach und polig. Einheiten werden klar als solche erkannt, da sie kaum in einem anderen Kontext verwendet werden. Es ist eben gerade charakteristisch für sie, dass links davon Zahlen stehen. Eine prominente Ausnahme davon ist der Term m. Von den 185.655 gezählten Vorkommen sind 58.883 nach einer Zahl und 116.032 nach einem Wort. Die Ursache hierfür ist, dass m eine Homonym ist. In den Daten finden sich zwei Bedeutung: zum einen als Zeichen für die Einheit Meter, zum anderen als Abkürzung für das Wort mit. Diese Doppelbedeutung kann das Verfahren nicht entdecken, und stellt daher keine signifikante Abweichung von der globalen Verteilung fest. In diesem Oktanten finden sich somit vor allem physikalische Einheiten und andere nummerische Größen. VIII Diese Terme zeichnen sich dadurch aus, dass sie mehr Wörter als erwartet in den Positionen vor ihnen haben. Beispiele sind 9016, h2o, modell, nennstrom, sonderfarben und farbkarte. 27.

(34) Auch diese deuten zumeist auf typische Kookkurrenzen in den Positionstexten hin. So folgt 9016 fast ausschließlich auf ral, und ist somit die Farbbezeichnung für Verkehrsweiß; modell ist überwiegend nach acova, ein Hersteller für Heizkörper, zu finden. Weiterhin erklären typische Wendungen wie in sondernfarben oder nach farbkarte diese Terme. Da sie also den vorhergehenden Term nicht besonders auszeichnen, sind sie nur eingeschränkt dem Verfahrensziel zweckdienlich. VII Terme in diesem Oktanten werden dadurch charakterisiert, dass alle Termklassen seltener als erwartet vorkommen. Auf den erstem Blick irritierend, erklärt es sich dadurch, dass diese Terme sehr häufig als erster Term auftreten. Sehr oft sind dies Herstellerbezeichnungen wie eat (Eaton), acova, km (Kampmann), pdw (Präzision, die Wärme schafft), ze (zehnder), hag (HAG-Gretener), va (Vaillant) oder obo (OBO International). Wie die Terme aus dem Oktanten VIII, werden auch diese kaum der Intention des Verfahrens gerecht. Diametral gegenüber dem letzten Oktanten liegt Nummer I. Dieser Oktant ist leer, denn dort platzierte Terme müssten mehr als direkte Kookkurrenten als eigene Vorkommen besitzen. Rechte Kookkurrenzen III Diesen Termen folgen in den Positionstexten sehr viele Sonstige. Beispiele sind low, standardfarben, klinik, trockenlaeuferpumpe, bv oder normbau. Das low stammt aus dem bereits bekannte Ausdruck low h2o, und ist fast nur in dieser Kombination anzutreffen. Wie auch bei den linken Kookkurrenzen deuten diese Attribute auf eine große Regelmäßigkeit in den Positionstexten hin. So folgen auf den Term standardfarben Ausdrücke wie 201/233/001, bv (Breitenverstellmaße) deklariert den nächsten Term als Maße der Duschkabine, so zum Beispiel 770-792/1850, die trockenlaeuferpumpe wird von Typbezeichnungen wie tp150-240/4 begleitet, und rechts von normbau ist fast nur das Zeichen # zu finden. Diese Terme sind somit ebenfalls produktabhängig, und zeigen einen weiterführenden semantischen Zusammenhang an. VI Korrespondierend zu den Physikalischen Einheiten sind hier Terme, die Größen und Typen qualifizieren. Dazu zählen die Terme dn, ral, pn, sdr, nr und nennstrom. Die Nennweite dn und der Nenndruck pn werden zur Klassifikation von 28.

(35) Rohren und Armaturen benutzt. Wie oben bereits erwähnt, ist ral die Bezeichnung für ein Farbstandard27 . Der Term sdr steht für Standard Dimension Ratio, ebenfalls eine Größe zur Klassifizierung von Rohren. Ein besonderer Term ist x. Dieser wird zur Trennung von Maßen verwendet. Da sich dieser Zusammenhang schon in der Vorverarbeitung zeigte, wurde er auch in der Trennung in einzelne Terme aufgenommen. Zahl-Zahl-Kombinationen wurden an Interpunktion und eben x in die einzelnen Zahlen gegliedert. Daher finden sich vor und nach dem x überwiegend Zahlen. Zusammenfassen lassen sich diese Terme als Größen, Normen und Typen. VIII Diese Terme, denen unerwartet viele Worte folgen, sind bereits mehrfach vorgekommen. Hierzu gehören acova, h20, nach, km, eat oder auch ohne. Sie bilden die andere Hälfte der typischen Wendungen und Ausdrücke. VII Wie auch bei den linken Kookkurrenzen existieren Terme, die insgesamt weniger Kookkurenten als erwartet haben. Während es zuvor die linken Nachbarn, also Terme davor betraf, sind es hier die rechten Nachbarn. Daher sind Terme, die in diesem Oktanten liegen, häufig der letzte Term eines Positionstextes. Beispiele sind vigour, 001/301/333, ob, farbkarte und 1.4571. Auch hier sind keine Terme in Oktant I, da sie mehr nachfolgende Terme besitzen müssten, als sie selber vorkommen. Wie sind nun die richtigen“ Attribute zu erkennen? Da die Terme keine ” Cluster, sondern ein Kontinuum bilden, sind keine absoluten Aussagen möglich. Deshalb wird in dieser Arbeit folgende Vorgehensweise vorgeschlagen: Es wird die Länge lat (ti ) des Abweichungsvektors jedes Terms berechnet und die längsten x Vektoren werden als Attribute im Vergleichsverfahren benutzt. p lat (ti ) = w(W, ti )2 + w(Z, ti )2 + w(S, ti )2 Da die längsten Vektoren vorzugsweise in die Enden der Äste der Punktwolke zeigen, sind dies auch die prägnantesten Attribute. Es stellt sich allerdings die Frage, inwieweit die Länge des Vektors nur durch die absolute Häufigkeit eines Terms bedingt wird. Da diese direkt als log |ti | in die drei Maße eingeht, ist eine große Korrelation zwischen der Häufigkeit und der Länge des Vektor zu erwarten. Der Beitrag der eigentlichen Abweichung könnte nur unzureichend ursächlich sein. 27. RAL12.. 29.

(36) Durch genauere Betrachtung der Ergebnisse kann dieser Verdacht als unbegründet zurückgewiesen werden. Wiewohl eine einfache OLS-Schätzung einen hohen Korrelationswert um 0,828 ergibt, ist dieser bei Betrachtung der Daten als inadäquat abzulehnen. Aus der graphischen Darstellung 24 ergibt sich kein unzweifelhafter direkter Zusammenhang zwischen der logarithmisierten Häufigkeit und der Länge des Vektors. Die Längen der Vektoren, und somit in Schlussfolgerung auch die Relevanz der Terme als Attribute, sind, wie beabsichtigt, sowohl von der absoluten Häufigkeit, als auch den Abweichungen in den relativen Häufigkeiten der Kookkurrentenklassen abhängig. Größere Längen sind somit bedingt durch entweder ein sehr häufiges Vorkommen, bei mindestens durchschnittlicher Abweichung, oder aber eine sehr große Abweichung in den Klassen, bei moderat häufigem Vorkommen. Das folgt aus den Wertebereiche der beiden Faktoren, die in das Identifikationsmaß eingehen. Die Abweichung der Kookkurrentenklassen liegt je nach Klasse zwischen [0, 377; −0, 623] bei Wörtern, [0, 777; −0, 223] bei Zahlen und [0, 846; −0, 154] bei Sonstigen. Die logarithmisierte absolute Häufigkeit der Terme liegt im Intervall [0; 5, 577] Die nach dem Kriterium der Vektorenlänge relevantesten Attribute sind in den Tabellen 5—8 aufgeführt. Ein mögliches Problem ist nun, dass die relevanten Attribute zu den ungeeignet Gruppen gehören; dass es typische Kookkurrenzen29 sind. Diese würden der Intention des Verfahrens, den Termen vor bzw. nach dem Attribut besonders zu gewichten, nur unzureichend entsprechen. Jedoch gestattet die Größe der Liste der relevanten Attribute eine manuelle Qualitätskontrolle.. 6.2. Vergleich. Nachdem unter den Termen Attribute identifiziert worden sind, soll diese Erkenntnis im Positionsvergleich Verwendung finden. Dafür muss, wie in den vorigen Verfahren ein Maß qat (P1 , P2 ) gefunden werden, mit dem der Grad der Übereinstimmung der beiden Position in Bezug auf vorhandene Attribute quantifiziert werden kann. Dieser soll dann mit dem bereits erarbeiten Wert der Termähnlichkeit qsv verknüpft werden, um eine einzige nummerische Größe für den Vergleich zweier Positionen zu ermitteln. 28 29. vgl Auswertung auf S. A8 Beispiel low h20. 30.

(37) 6.2.1 Übereinstimmung in Attributen An das Ähnlichkeitsmaß qat werden, analog zu den beiden anderen, drei Anforderungen gestellt. Zuerst soll es in der Anzahl der Übereinstimmung der Attributwerte monoton steigen. Finden sich gegenüber anderen Positionen mehr identische Paare von Attribut und Attributwert als Kookkurrenten, so ist dies höher zu bewerten Weiterhin soll es in der Anzahl der in beiden Positionen vorhanden Attribute monoton fallen. Von zwei Vergleichen, die die selbe Anzahl an Übereinstimmungen besitzen, ist der mit der höheren Anzahl an Attributen überhaupt schlechter zu bewerten. Schließlich ist ein abgeschlossener Wertebereich zur inhaltlichen Interpretation wünschenswert. Anstelle der bloßen Anzahl an Übereinstimmungen könnten diese mit der Länge des Vektors des Attributs gewichtet werden. Jedoch ist fraglich, ob dies reale Unterschiede in der Relevanz der Attribute widerspiegelt. Daher wird in dieser Arbeit auf die Gewichtung verzichtet. Da in den Ähnlichkeitswert nur die Attribute und jeweiligen Attributwerte eingehen, können die Positionen auf die Menge eben dieser Paare reduziert werden. Die Menge aller als relevante Attribut identifizierten Terme mit linksseitigem Attributwert sei durch ATL beschrieben. Korrespondierend dazu sei ATR die Menge aller relevanten Attribute, denen der Attributwert folgt. Wie bereits bekannt, sind P1 , P2 die beiden Positionen und T1 , T2 die entsprechenden Positionstexte. Dann ergibt sich die attributorientierte Mengendarstellung der Positionen für linksseitige Attribute als ∀ti ∈ T1 . (ti ∈ ATL ∧ ∃ti−1 ∈ T1 ) → (ti−1 , ti ) ∈ AT1l , und korrespondierend für rechtsseitige Attribute als ∀ti ∈ T1 . (ti ∈ ATR ∧ ∃ti+1 ∈ T1 ) → (ti+1 , ti ) ∈ AT1r . AT1l = {(ti−1 , ti ), (tj−1 , tj ), . . . , (tn−1 , tn )} ist also die Menge aus Attribut-WertPaaren aus P1 mit ti ∈ ATL ∧ ti ∈ T1 . Es findet keine explizite semantische Prüfung der Attributwerte statt. Somit kann, auch wenn das Attribut eigentlich im VI. Oktanten liegt und somit überwiegend Zahlen als Kookkurrenten besitzt, ein sonstiger Term als Attributwert vorkommen. Sollte das Attribut eine zweite, nicht erkannte Bedeutung besitzen, oder unter bestimmten Bedingungen eine 31.

(38) andere Syntax des Attributwerts fordern, würden durch die Ablehnung Merkmale ignoriert werden, die die Identifikation fördern. Stattdessen wird nur die syntaktische Gleichheit der Attributwerte geprüft, die Termklasse dieser bleibt unbeachtet. Die Menge der linksseitigen Attribut-Wert-Paare AT1l der ersten Position bildet zusammen mit der Menge der rechtseitigen AT1r die Menge AT1 . Da die beiden Positionen so als Mengen dargestellt werden können, entspricht das Ähnlichkeitsmaß dem Verhältnis aus Schnitt und Vereinigung dieser beiden Mengen. Es wird definiert als T |AT1 AT2 | S qat = |AT1 AT2 | 6.2.2. Bewertungsfunktionen. Nachdem qat bestimmt worden ist, muss nun eine Verknüpfung der beiden Ähnlichkeitsmaße bestimmt werden. Dabei sollten hohe Einzelwerte auch in proportional hohen Gesamtbewertungen resultieren. Die Verknüpfung f (qst , qat ) hat verschiedene Formen, basiert aber immer auf den gleichen Werten. Um Rechenaufwand für die folgenden verschiedenen Funktionen zu reduzieren, wurden deshalb erst qst und qat berechnet und gespeichert. In einem zweiten Teilschritt wurden sie dann miteinander verknüpft und die Positionen absteigend sortiert. In diesem Zusammenhang wird auch die Funktion zur Berechnung der Termähnlichkeit relevant. Während die beiden ersten Verfahren nur die Reihenfolge der Ähnlichkeitswerte berücksichtigen, ist in der Verknüpfung der absolute nummerische Wert relevant. Im Rahmen dieser Arbeit soll es jedoch nur exemplarisch mit der Maximumsfunktion umgesetzt werden. Die anderen Funktionen sind, unter Einsatz entsprechender Rechentechnik, ebenfalls zu evaluieren. 6.2.3. Bewertungsfunktion Addition. Die erste Funktion ist die gewichtete Addition der beiden Ähnlichkeitswerte. sim(P1 , P2 ) = (1 − α) ∗ qst (P1 , P2 ) + α ∗ qat (P1 , P2 ) Dabei ist α ein Gewichtungsfaktor, und wird für den Test inkrementell um 0, 1 von 0 auf 1 erhöht. Dieser wird verwandt, um das Verhältnis von Termzu Attributähnlichkeit experimentell ermitteln zukönnen. Da gleichzeitig 32.

(39) Abbildung 8: Trefferquote Attribute Addition Delta 0. der erste Summand mit der Differenz von 1 und α multipliziert wird, wird so eine große Spanne an Relationen abgedeckt. Die Kurve für α = 0 entspricht dem Ansatz der ähnlichen Terme“. Wie ” zu erkennen, ist eine geringer Einfluss der Attribute noch förderlich, ab α = 0, 2 verschlechtert sich aber die Trefferquote. Dies mag darauf zurückzuführen sein, dass die Attributwerte, die Grundlage des zweiten Summanden sind, bereits Teilmenge des ersten Summanden sind. Daher ist die im Verfahren intendierte Übergewichtung dieser Terme nur in engen Grenzen effektiv. In den Abbildungen 25—27 sind die Trefferquoten für verschiedene Delta dargestellt. 6.2.4. Bewertungsfunktion Subtraktion. Die zweite Funktion setzt die Idee um, nicht gleiche Attributwerte positiv, sondern unterschiedliche Attributwerte negativ zu bewerten. Dafür wird die Differenz von qat zu 1 benutzt, da dies den unterschiedlichen Attributwerten entspricht. sim(P1 , P2 ) = (1 − α) ∗ qst (P1 , P2 ) − α ∗ (1 − qat (P1 , P2 )) Auch hier werden die Summanden wieder mit α gewichtet. 33.

(40) Abbildung 9: Trefferquote Attribute Subtraktion Delta 0. Das Bemerkenswerte an diesem Ergebnis ist, dass im Gegensatz zu den anderen Verfahren hier die Trefferquoten nicht so stark konvergieren, sondern anscheinend divergieren. Dies ist darauf zurückzuführen, dass die unterschiedlichen Attributwerte für einen Teil der Positionen gar keine Aussage treffen. Daher werden diese komplett zufällig zugeordnet, was im Ausbleiben von Treffern resultiert. Die Kurven für verschiedene Delta finden sich in den Abbildungen 28—30. 6.2.5. Bewertungsfunktion Multiplikation. Diese Funktion nutzt zur Verknüpfungen der beiden Ähnlichkeitswerte die Multiplikation. Dabei sollen Positionen, die in viele Attributwerten übereinstimmen, noch einmal stark übergewichtet werden. sim(P1 , P2 ) = qst (P1 , P2 ) ∗ (1 + qat (P1 , P2 ) ∗ α) Im Gegensatz zur vorigen Funktion sind die Trefferquoten der Multiplikation sehr dicht beieinander. Dies rührt daher, dass der Beitrag der Termähnlichkeit stets komplett in den Wert eingeht, und die Attributähnlichkeit fast unabhängig von Faktor α diesen nur skaliert. Die Verhältnisse der Werte der potentiell passenden Positionen bleiben so nahezu konstant. Die weiteren Ergebnisse sind in den Abbildungen 31—33 wiedergegeben. 34.

(41) Abbildung 10: Trefferquote Attribute Multiplikation Delta 0. 35.

(42) 7. Fazit und Potentiale. In der vorliegenden Arbeit wurden drei Ansätze vorgestellt, um Leistungspositionen, wie sie im Projektgeschäft mittelständischer Unternehmen vorkommen, zu vergleichen. Das erste Verfahren betrachtete die einzelnen Terme der Positionstexte. Dieses naive Vorgehen, die Anzahl gleicher Terme zu bestimmen und ins Verhältnis zur Gesamtzahl der Terme zu setzen, erreichte eine überraschend hohe Qualität der Ergebnisse. Die Erweiterung dieses Ansatzes, nicht nur identische, sondern ähnliche Terme zu betrachten, stellt eine nur marginale Verbesserung dar. Im dritten Ansatz wurden zuerst semantisch besondere Terme, sogenannte Attribute, identifiziert, um dann besondere Aufmerksamkeit auf deren Attributwerte zu legen. Dieser Ansatz brachte zwar in der exemplarischen Umsetzung zwar auch nur geringe Zuwächse, birgt aber noch die größten Potentiale. So ist die beste Kombination aus Normalisierungsfunktion der Termähnlichkeit, Bewertungsfunkton und Gewichtungsfaktor durch entsprechende Testläufe zu ermitteln. Außerdem könnte der Ansatz der ähnlichen Terme durch Verwendung einer Gewichtungsfunktion verbessert werden. Schließlich können auf den Erkenntnissen der Arbeit aufbauende Verfahren die syntaktische Ähnlichkeit der Terme genauer betrachten. Werkzeuge hierfür sind Metriken wie die Levenshteindistanz zur Ermittlung des Zeichenabstands zweier Zeichenketten.. 36.

(43) A. Anhang. Wort mit Termgrenzen sed ’s/\( \|ˆ\)\([a-z]\+\)\( \|$\)/ \2 /g’ Interpunktion sed ’s/\(ˆ\| \)[[:punct:]]\?\([a-z]\+\)[[:punct:]]\? \( \|$\)/ \2 /g’ Interpunktion zwischen Buchstaben entfernen, um im zweiten Schritt Wörter zu identifizieren sed ’s/\([a-z]\)[[:punct:]]\([a-z]\)/\1 \2/g’ sed ’s/\(ˆ\| \)[[:punct:]]\?\([a-z]\+\)[[:punct:]]\? \( \|$\)/ \2 /g’. natürliche Zahlen sed ’s/\( \|ˆ\)\([0-9]\+\)\( \|$\)/ \2 /g’ Dezimaltrennzeichen mit Nachkommastellen sed ’s/\( \|ˆ\)\([0-9]\+\)\([.,][0-9]\+\)\?\( \|$\) / \1\2 /g’ Vorzeichen sed ’s/\( \|ˆ\)\([+-]\?[0-9]\+\)\([.,][0-9]\+\)\?\( \|$\) / \2\3 /g’ Interpunktionszeichen nach Zahlen sed ’s/\(ˆ\| \)\([+-]\?[0-9]\+\)\([.,][0-9]\+\)\? [[:punct:]]\?\( \|$\)/ \2\3 /g’. Wort-Zahl-Kombinationen (Bsp.: Normen oder Typbezeichnungen) sed ’s/\(ˆ\| \)\([a-z]\+\)\([[:punct:]]\)\? \([+-]\?[0-9]\+\)\([.,][0-9]\+\)\?\([[:punct:]]\?\) \( \|$\)/ \2 \4\5 /g’ Zahl-Wort-Kombinationen (Bsp.: physikalische Einheiten) sed ’s/\(ˆ\| \)\([+-]\?[0-9]\+\)\([.,][0-9]\+\)\? \([[:punct:]]\?\)\([a-z]\+\)\([[:punct:]]\?\)\( \|$\) / \2\3 \5 /g’ Zwei Zahlen, getrennt durch Interpunktion oder x (Bsp.: Maße, Bereiche) sed ’s/\(ˆ\| \)\([+-]\?[0-9]\+\)\([.,][0-9]\+\)\?. A1.

(44) \([[:punct:]x]\) \([+-]\?[0-9]\+\)\([.,][0-9]\+\)\? [[:punct:]]\?\( \|$\) / \2\3 \5\6 /g’. Abbildung 11: Verteilung der Terme in logarithmischer Darstellung. A2.

(45) Rang Term Häufigkeit 1 mm 377.908 2 m 185.655 3 1 145.932 4 2 140.835 5 x 125.578 6 f 111.569 7 dn 106.450 8 cm 104.430 9 3 92.327 10 typ 91.553 11 # 91.418 12 mit 90.930 13 weiss 89.992 14 l 88.242 15 h 87.953 50 esg 33.144 100 aus 18.381 200 viega 9.914 500 vcw 3.540 1000 super 1.636 5000 nichtsteig 208 10.000 elastisch 81 50.000 110-78t80l 8 100.000 115265 3 500.000 124118 1 Tabelle 4: Ausgewählte Ränge der Häufigkeitsverteilung der Terme. A3.

(46) Abbildung 12: Konzentration der Termklassen. Abbildung 13: Termklassen der Terme, die mehrfach vorkommen. A4.

(47) Abbildung 14: Dargestellt sind die Werte verschiedener Ähnlichkeitsmaße für das größtmögliche k. Das ist dann der Fall, wenn der eine Positionstext Teilmenge des andere ist. Die dritte Reihe veranschaulicht die Werte, die sich ergeben, wenn die Vereinigungsmenge um Differenz Terme größer als der Schnitt der beiden Positionstexte ist.. A5.

(48) T2?. T1?. 41.405. 51.560. 37.998 41.405 51.560 89.568 132.595 143.577 207.728 221.416 221.929. t?1.1 > t?2.1. ˆ t?1.1 = ? t2.2 t?1.2 = ˆ t?2.3. 56.370. t?1.3 < t?2.4. 89.568. ˆ t?1.4 = ? t2.4 ˆ t?1.5 = t?2.5. 132.595. t?1.6 > t?2.6. 169.364. t?1.6 < t?2.7 t?1.7 = ˆ t?2.7. 207.728. t?1.8 > t?2.8. 224.118. t?1.8 > t?2.9. 224.118. 249.277. Abbildung 15: Algorithmus zur Identifikation gleicher Terme – die roten Pfeilen symbolisieren das Inkrementieren der Zählvariablen für die gemeinsamen Terme k. A6.

(49) Abbildung 16: Trefferquote ähnliche Terme Mittel. Abbildung 17: Trefferquote ähnliche Terme Vereinigung. A7.

(50) Model: OLS, using observations 1–539155 Dependent variable: Laenge. const Anzahl. Coefficient. Std. Error. 0.0107426 0.181508. 0.000154948 0.000125562. Mean dependent var 0.107609 Sum squared resid 5673.771 R2 0.794905 F (1, 539153) 2089637 Log-likelihood 462668.3 Schwarz criterion −925310.3. A8. t-ratio. p-value. 69.3307 0.0000 1445.5577 0.0000. S.D. dependent var 0.226517 S.E. of regression 0.102584 Adjusted R2 0.794904 P-value(F ) 0.000000 Akaike criterion −925332.7 Hannan–Quinn −925326.3.

(51) Abbildung 18: Lokalisierung der Terme nach Wörtern und Zahlen, w(S, ti ) < 0. A9.

(52) Abbildung 19: Lokalisierung der Terme nach Wörtern und Zahlen, w(S, ti ) ≥ 0. A10.

(53) Abbildung 20: Lokalisierung der Terme nach Zahlen und Sonstigen, w(W, ti ) < 0. A11.

(54) Abbildung 21: Lokalisierung der Terme nach Zahlen und Sonstigen, w(W, ti ) ≥ 0. A12.

(55) Abbildung 22: Lokalisierung der Terme nach Sonstigen und Wörtern, w(S, ti ) < 0. A13.

(56) Abbildung 23: Lokalisierung der Terme nach Sonstigen und Wörtern, w(S, ti ) ≥ 0. A14.

(57) Abbildung 24: Korrelation linksseitiger Attribute. A15.

(58) A16. Tabelle 5: Die fünfzig signifikantesten linken Attribute. lat (ti ) Term ti |ti | |W |ti | w(W, ti ) |Z|ti | w(Z, ti ) |S|ti | w(S, ti ) 5.41916 mm 377908 572 -3.4662696227 363004 4.1136670872 13767 -0.6557360632 4.6676 cm 104430 158 -3.11913479 95199 3.4559924987 9069 -0.3370499456 4.37334 grad 33791 2 -2.8211750029 32205 3.3063165324 1584 -0.4851415295 4.03712 tlg 10325 6 -2.4983209807 10306 3.1114062417 13 -0.613085261 3.93103 bar 15988 124 -2.5863598915 14744 2.9392577344 1120 -0.3528978429 3.92853 fach 8516 23 -2.4379220371 8452 3.0242563383 41 -0.5863343011 3.8939 polig 7500 5 -2.4115797929 7479 3.0000724301 16 -0.5884926372 3.86712 glieder 7904 83 -2.3874273004 7811 2.9827642414 4 -0.5982958329 3.84735 kw 15189 466 -2.4768029577 13933 2.9032715827 565 -0.4884110877 3.83836 watt 8646 196 -2.3633904825 8438 2.9641960236 12 -0.6008055411 3.78398 designo 6744 94 -2.3320469797 6649 2.9211325325 1 -0.5890855528 3.72112 x 125578 24534 -2.1804554659 99971 2.9221205371 1015 -0.7440200775 3.69244 bv 6040 133 -2.2723280802 5903 2.8521037707 4 -0.5797756906 3.6843 sihg 2781 3 -2.1420217889 8 -0.7581490147 2770 2.9001708036 3.58456 qmm 5324 11 -2.3137474642 5058 2.7091150389 255 -0.3953675747 3.54234 ab223/443 3274 0 -2.1898940146 3274 2.7312161305 0 -0.541322116 3.53805 teilig 3242 0 -2.1872365055 3242 2.7279017092 0 -0.5406652036 3.50832 qn 10982 1133 -2.1004721937 719 -0.6365254344 9130 2.7369976281 3.47708 trommel 2728 15 -2.1216389339 151 -0.5760127587 2559 2.6938732714 3.47184 liter 3174 14 -2.1660560916 3125 2.6666910049 35 -0.5006349133 3.46625 1950 4243 149 -2.1326485284 4078 2.6776305221 16 -0.5449819937 3.42901 stf 2774 23 -2.1165075762 2750 2.6455047641 1 -0.528997188 3.37365 waermet 1469 8 -1.9558073532 2 -0.7019340541 1459 2.6577414073 3.34896 6,5 7682 802 -2.0150073781 6870 2.6083125265 10 -0.5933051485 3.34137 kreis 4223 253 -2.0415509146 3955 2.5870184375 8 -0.5514773139.

Referenzen

ÄHNLICHE DOKUMENTE

Thought: Nur Paula kennt den Inhalt der Kisten, aber sie darf nicht mit Hans darüber sprechen. Sie denkt darüber nach, wie gerne sie die Schokolade hätte und hofft jetzt, dass Hans

Verantwortlich für die Verarbeitung der Daten ist das Landratsamt / Erdingdie Stadt _____,, Fachbereich 11, Frau Eva Haas, [Name undAlois-Schießl-Platz 2, 85435

Vor dem Hauptquartier der zwölften Brigade der Peschmerga haben sich fast 40 kurdische Kämpfer versammelt, um ihre neuen Waffen aus Deutsch- land zu präsentieren.. Die G36-

Bilde die zugehörigen Rechenausdrücke und

Humidity = normal, windy = false, play = yes Kanidaten für Assoziationsregeln: confidence. If humidity = normal and windy = false then play = yes 4/4 If humidity = normal and play =

Kinder sind besonders anfäl- lig für Warzen, da ihre Immunab- wehr noch nicht vollständig ausge- bildet ist und sie sich schneller Verletzungen zuziehen, die den.. Viren

Vom Haarspray im Badezimmer bis hin zum Rasen- dünger im Garten werden die Eintei- lungen und Kennzeichnungen nun für alles verwendet, was eine Gefahr für Mensch und

• Oft zusaetzlich: Sortierung des Retrievals nach unterschiedlichen Kriterien - am bedeutendsten: Relevanz fuer die Anfrage. - man erhaelt eine Rangliste