Frage

Ich würde mich sehr über Ihre Meinung zum besten Ansatz für das folgende Problem freuen.Um eine Vorstellung zu vermitteln, nutze ich ein Beispiel für eine Auto-Kleinanzeige, das in seiner Art ähnlich ist.

Problem:Extrahieren Sie ein Datentupel aus dem angegebenen Text.

Hier sind einige Merkmale der Daten.

  1. Der Wortschatz (die Wörter) im Text ist auf einen bestimmten Bereich beschränkt.Gehen wir von höchstens 100-200 Wörtern aus.

  2. Der Text, der analysiert werden muss, ist eine Überschrift wie die unten gezeigten Daten einer Autoanzeige.Jeder Datensatz entspricht also einem Tupel (Zeile).

  3. In einigen Fällen fehlen möglicherweise einige Attribute.So fehlt beispielsweise in der Rohdatenzeile Nr. 5 unten das Jahr.

  4. Einige Wörter gehören zusammen (Bigramme).Wie „Low Miles“.

  5. Verfügbare historische Daten = 10.000 Datensätze

  6. Eingehendes neues Datenvolumen = 1000–1500 Datensätze/Woche

Die erwartete Ausgabe sollte in der Form (Jahr, Marke, Modell, Merkmal) vorliegen.So sollte die Ausgabe aussehen

1 -> (2009, Ford, Fusion, SE)
2 -> (1997, Ford, Taurus, Wagon)
3 -> (2000, Mitsubishi, Mirage, DE)
4 -> (2007, Ford, Expedition, EL Limited)
5 -> ( , Honda, Accord, EX)
....
....

Rohe Schlagzeilendaten:


1 -> 2009 Ford Fusion SE – 7000 $
2 -> 1997 Ford Taurus Wagon – 800 $ (San Jose East)
3 -> '00 Mitsubishi Mirage DE – 2499 $ (Saratoga) Bild
4 -> 2007 Ford Expedition EL Limited – 7800 $ (x)
5 -> Honda Accord ohne geringe Meilen – 2800 $ (Dublin / Pleasanton / Livermore) Bild
6 -> 2004 HONDA ODASSEY LX 68K MILES – 10.800 $ (Danville / San Ramon)
7 -> 93 LINCOLN MARK – 2000 $ (Oakland East) Bild
8 -> #######2006 LEXUS GS 430 SCHWARZ AUF SCHWARZ 114KMI ####### - $19700 (San Rafael) Bild
9 -> 2004 Audi A4 1.8T FWD – 8900 $ (Sacramento) Bild
10 -> #######2003 GMC C2500 HD EX-CAB 6.0 V8 EFI WHITE 4X4 ####### - $10575 (San Rafael) Bild
11 -> 1990 Toyota Corolla LÄUFT GUT!GAS-SPARER!5-GANG-REINIGUNG!REG 2011 O.B.O – 1600 $ (Hayward / Castro Valley) Bild img
12 -> HONDA ACCORD EX 2000 – 4900 $ (Dublin / Niceon / Livermore) Bild
13 -> 2009 Chevy Silverado LT Crew Cab – 23.900 $ (Dublin / Niceon / Livermore) Bild
14 -> 2010 Acura TSX – V6 – TECH – 29900 $ (Dublin / Niceon / Livermore) Bild
15 -> 2003 Nissan Altima – 1830 $ (SF) Bild


Mögliche Auswahl:

  1. Ein maschinell lernender Textklassifikator (Naive Bayes usw.)
  2. Regex

Ich versuche herauszufinden, ob RegEx für den Job zu kompliziert ist und ein Textklassifikator zu viel des Guten ist.

Wenn Sie sich für einen Textklassifikator entscheiden, welcher ist Ihrer Meinung nach am einfachsten zu implementieren?

Vielen Dank im Voraus für Ihre freundliche Hilfe.

War es hilfreich?

Lösung

Dies ist ein gut untersuchtes Problem genannt Informationsextraktion. Es ist nicht einfach, das zu tun, was Sie tun möchten, und es ist nicht so einfach, wie Sie es klingen lassen (dh maschinelles Lernen ist kein Overkill). Es gibt verschiedene Techniken, Sie sollten einen Überblick über den Forschungsbereich lesen.

Andere Tipps

Prüfen Dies IE Bibliothek zum Schreiben von Extraktionsregel <Ich denke, es wird am besten für Ihr Problem funktionieren. Es gibt auch Beispiele zum Erstellen Schnelles Wörterbuch Matching.

ich glaube, dass der ARX ​​oder Phoebus Systeme könnten Ihren Anforderungen entsprechen, wenn Sie bereits über annotierte Daten und eine Liste von Wörtern verfügen, die jedem Feld zugeordnet sind.Ihr Ansatz ist eine Mischung aus Informationsextraktion und Informationsintegration.

Es gibt einige Bibliotheken zur Erkennungsbibliotheken für gute Unternehmen. Hast du einen Blick auf Apache OpenNLP?

Als Benutzer sucht ein bestimmtes Autododell für das Auto, die Aufgabe ist einfacher. Ich bin mir ziemlich sicher, dass ich beispielsweise die meisten Ford Rangers klassifizieren kann, seit ich weiß, wonach ich mit Regexp suchen soll.

Ich denke, Ihre beste Wahl ist es, eine Funktion für jedes Automodell mit Typ String -> vielleicht Tuple zu schreiben. Führen Sie dann alle diese auf jeden Eingang aus und werfen Sie diese Eingänge weg, was zu Null oder zu vielen Tupeln führt.

Sie sollten ein Tool wie Amazon Mechanical Turk dafür verwenden. Menschliches Mikrotasking. Eine weitere Alternative besteht darin, einen Dateneintrag freiberuflerschaftlich zu verwenden. Upwork ist ein großartiger Ort zum Aussehen. Sie können hervorragende Ergebnisse erzielt und die Kosten für jeweils sehr angemessen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top