Labeling
In diesem Projekt haben wir einen manuell erstellten Datensatz mit einem Trainingsdatensatz ergänzt, der aus den Annotationen des regelbasierten Algorithmus von idealo erstellt wurde. Auf diese Weise erhielten wir zwei Arten von beschrifteten Daten: starke und schwache Beschriftungen.
Um die starken Labels zu erhalten, haben wir relevante Informationen (so genannte Attributwerte, z.B. "1 cm") innerhalb einer Produktbeschreibung im Katalog eines Händlers (ein so genannter Angebotstext) manuell dem jeweiligen Attribut (z.B. "Länge") zugeordnet.
Da im idealo-Produktkatalog bereits verschiedene Produkte enthalten sind, konnten wir diese Informationen nutzen, um automatisch Millionen von zusätzlichen Labels zu erstellen. Diese automatisch generierten Labels werden als zusätzliche Trainingsdaten für unsere Modelle verwendet. Trotz des enormen Zuwachses an gelabelten Daten bezeichnen wir diese Labels als schwach, da sie nicht von menschlichen Lablern erstellt werden und daher anfällig für Unvollständigkeit sind und auch Fehler enthalten können, wie z.B. False Positives.
Models
Unsere beiden leistungsstärksten Modelle folgen jeweils einer bekannten Problemstellung aus der natürlichen Sprachverarbeitung (NLP): Während das erste Modell darauf abzielt, eine semantische Segmentierung in Bezug auf alle Klassen (alle Attribute plus eine Nicht-Attribut-Hintergrundklasse) auf einmal durchzuführen, geht das zweite Modell im Stil einer Frage-Antwort-Situation vor, um nach jedem einzelnen Attribut zu "fragen". Beide Modelle verwenden den modernsten Ansatz im Bereich des NLP: Bidirektionale Encoder-Repräsentationen von Transformatoren (BERT) (Blog-Artikel, Paper).
BERTseg model