Ich habe eine Liste von Produkten, einschließlich Variablen wie dem Produktnamen (wie auf der Quittung angegeben) und dem Händler, bei dem das Produkt gekauft wurde.
Ich habe viele von ihnen manuell in eine feste Gruppe von Kategorien eingeteilt (z. B. alkoholische Getränke, Gemüse, Fleisch usw.).
Die Daten sind wie immer verrauscht. In diesem Fall ist besonders laut, weil es von gescannten Belegen und OCR bei nicht so guten Scans kommt, normalerweise sehr laut.
Ich möchte mit Algorithmen herumspielen, um neue Daten anhand der beiden oben genannten Variablen zu klassifizieren.
Hier gibt es mehrere Hauptvariationsquellen:
- Die OCR, dh ein Produkt (z. B. Huhn), kann mit vielen verschiedenen, aber relativ ähnlichen Schreibweisen gefunden werden (z. B. Chiken, Hicken, Chicen, ...).
- Das gleiche Produkt kann je nach Händler, der das Produkt verkauft hat, unterschiedliche Namen haben. In diesem Fall können die Namen zwischen Händlern entweder ähnlich oder völlig unterschiedlich sein, aber in jedem Händler ziemlich ähnlich.
- Das gleiche Produkt kann innerhalb desselben Händlers sehr unterschiedliche Namen haben (z. B. Markenprodukte, deren Name auf der Quittung der Markenname ist, im Vergleich zu generischen Namen; Erfrischungsgetränk oder Coca Cola).
Ich habe einen (naiven) Klassifikator ausprobiert, der beispielsweise den Abstand zwischen Zeichenfolgen verwendet (der hauptsächlich die erste oben erwähnte Hauptvariationsquelle betrifft), bin aber mit den Ergebnissen nicht sehr zufrieden.
Deshalb wollte ich hier nach Ideen fragen, wie dieses Problem angegangen werden kann. Ich denke, viele Leute haben diese Art von Problem "gelöst" oder zumindest viel länger gearbeitet als ich (ein paar Stunden), daher würde ich mich über jede Anleitung hier sehr freuen.
Übrigens verwende ich hauptsächlich R, daher wären R-basierte Lösungen sehr willkommen.