Autor Beitrag
danielf
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1012
Erhaltene Danke: 24

Windows XP
C#, Visual Studio
BeitragVerfasst: Di 05.10.10 09:38 
Hallo,

ich habe drei Listen mit Firmennamen. Ich möchte nun verschiedene Listen (Obermenge, Untermenge, ...) davon erstellen. Das Problem ist, dass die Namen nicht "gleich" sind.

Zum Beispiel in einer Liste:
A+B Umweltservice GmbH

und in der anderen
A und B Umweltservice

oder

A+B Umweltservice Gesellschaft mit beschränkter Haftung

oder

A+B Umweltservice Gesellschaft mbH

Gibt es im .NET Framework (von mir aus auch 4.0) eine Möglichkeit einen solchen Vergleich zu machen?

Gruß

Daniel

PS: Ich habe einen Beitrag zu Levenshtein Distance gefunden. Würde mich trotzdem über weitere Vorschläge freuen.
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4795
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Di 05.10.10 10:02 
Die Frage ist, wie ähnlich sind die unterschiedlichen Firmennamen?
Bei der Levenshtein-Distanz wird ja standardmäßig nur buchstabenweise die Abweichung überprüft, evtl. wäre es besser dies wortweise vorzunehmen (vorausgesetzt, es sind keine Rechtschreibfehler drin-).
Und gerade bei deinem Beispiel solltest du dann vllt. eine Erkennung von Alias-Namen vornehmen, d.h. "GmbH", "Gesellschaft" oder "KG", "AG" etc. aussortieren aus dem Vergleich.

Direkt im Framework ist mir keine Methode bekannt, außer eben einen Comparer selbst zu schreiben...
danielf Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1012
Erhaltene Danke: 24

Windows XP
C#, Visual Studio
BeitragVerfasst: Di 05.10.10 10:59 
Hi,

Danke für die schnelle Antwort.

Wie unterschiedlich die Firmennamen sind weiß ich selbst nicht. Die drei Listen sind in PDF und haben je zwischen 400-800 Einträge. Allerdings nicht wirklich gut strukturiert, so dass es vorkommen kann, dass in einem Firmenname auch Inhaber/Sonstiges drin steht. Selber würde ich es nicht implementieren, da der Programmieraufwand für die Aufgabe sehr gering gehalten werden soll. Deshalb frage ich explizit nach einer vorhandenen .NET Framework/Assembly-Methode.

Ich werde heute Abend den Levenshtein Distance testen und schauen was der rausspuckt. Manuelle Abstimmung ist in Ordnung, da die Listen durch die Umstrukturierung nun auch in Excel bzw. nem kleinen Form problemlos sortiert, gefiltert und gesucht werden kann.

Gruß

PS: Ich lass die Frage bis Morgen mal offen, falls noch jemand was hat :)