Frage

Ich habe eine große (~ 2,5 M Aufzeichnungen) Datenbank von Bild-Metadaten. Jeder Datensatz stellt ein Bild dar und hat eine eindeutige ID, ein Beschreibungsfeld, eine durch Kommata getrennte Liste von Schlüsselwörtern (zB 20-30 Keywords pro Bild), und einige andere Felder. Es gibt kein wirkliches Datenbank-Schema, und ich habe keine Möglichkeit zu wissen, welche jedes Bild ohne iterieren und Zählen sie in der Datenbank Schlüsselwörter vorhanden ist. Auch kommt die Metadaten aus verschiedenen Lieferanten, die jeweils ihre eigenen Ideen, wie die verschiedenen Felder auszufüllen.

Es gibt einige Dinge, Ich mag würde mit diesen Metadaten zu tun, aber da ich auf diese Art von Algorithmen völlig neu bin, weiß ich nicht einmal, wo zu beginnen suchen.

  1. Einige dieser Bilder haben bestimmte Nutzungsbeschränkungen auf sie (in Text angegeben ist), aber jeder Lieferant Phrase sich anders, und es gibt keine Möglichkeit, die Konsistenz zu gewährleisten. Ich mag einen einfachen Test haben, ich auf ein Bild anwenden könnte, die einen Hinweis gibt, wenn das Bild frei von Beschränkungen ist oder nicht. Es muss nicht perfekt sein, nur ‚gut genug‘. Ich vermute, ich könnte eine Art Bayes-Filter für diese, nicht wahr? Ich kann den Filter mit einem Korpus von Bildern trainieren, die ich kenne, sind entweder eingeschränkt oder Einschränkung frei, und dann würden die Filter in der Lage sein, die Prognosen für den Rest der Bilder zu machen? Oder gibt es bessere Möglichkeiten?
  2. Ich würde auch diese Bilder nach ‚Keyword Ähnlichkeit‘ zu indizieren können, mögen, so dass, wenn ich ein Bild haben, habe ich schnell mit, welche anderen Bilder teilt sich die Schlüsselwörter sagen konnte. Idealerweise würde der Algorithmus auch berücksichtigen, dass einige Keywords als andere Bedeutung sind und sie anders wiegen. Ich weiß nicht einmal, hier wo zu Beginn der Suche, und wäre sehr froh, für alle Hinweise:)

Ich arbeite in erster Linie in Java, aber die Sprache Wahl ist hier irrelevant. Ich bin mehr daran interessiert, zu lernen, was für mich am besten wäre, nähert sich auf das Lesen zu starten. Vielen Dank im Voraus:)

War es hilfreich?

Lösung

(1) Sieht aus wie ein Klassifikationsproblem mit Worten im Text als Merkmale und „Eingeschränkt“ und als Etikett „Not Restricted“. Bayes-Filter oder ein Klassifikationsalgorithmus soll es tun.

(2) Sieht aus wie ein Clustering-Problem. Zuerst wollen Sie mit einem guten Ähnlichkeitsfunktion zu entwickeln, die eine Ähnlichkeitsbewertung für zwei Bilder basiert auf ihren Schlüsselwörtern zurückgibt. Kosinusähnlichkeit könnte ein guter Ausgangspunkt sein, da Sie Keywords zu vergleichen. Von dort können Sie eine Ähnlichkeitsmatrix berechnen und nur für jedes Bild in ihrem Datensatz eine Liste der ‚nächsten Nachbarn‘ erinnern, oder Sie können weiter gehen und einen Cluster-Algorithmus mit den tatsächlichen Cluster von Bildern zu kommen verwenden.

Da Sie so viele Datensätze haben, könnten Sie die gesamte Ähnlichkeitsmatrix überspringen wollen Berechnung und nur berechnen Cluster für eine kleine, zufällige Stichprobe von Datasets. Sie können dann die anderen Datenpunkte an die entsprechenden Cluster hinzufügen. Wenn Sie mehr Ähnlichkeit Informationen erhalten möchten, können Sie weichen Clustering suchen.

Hoffentlich werden Sie den Start.

Andere Tipps

auf jeden Fall müssen Sie, indem Sie Ihre Liste von Schlüsselwörtern 'Feld zu einem echten Tagging Schema starten. die einfachste ist eine Tabelle von Variablen, und A ‚Viele-zu-Vielen‘ Beziehung mit der Bildtabelle (das heißt, eine dritte Tabelle, in der jeder Datensatz einen Fremdschlüssel zu einem Bild und einen anderen Fremdschlüssel ein Schlüsselwort hat). es wirklich schnell macht alle Bilder mit einem bestimmten Satz von Schlüsselwörtern zu finden.

die Bayes-Filter Einschränkung Phrasierung zu erfassen, ist interessant. Ich würde sagen, gehen für sie, es sei denn, Sie unter Zeitdruck stehen. wenn das der Fall ist, ein paar einfacher Musterabgleich sollte mehr als 90-95% der Fälle holen, und der Rest schnell von Hand von ein paar Betreibern abgeschlossen werden konnte.

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