2017-08-28 4 views
1

Ich arbeite an einer Dokumentenvergleichsmaschine/Suchmaschine. Ich verwende es derzeit wie folgt ...Mehrdimensionale Dokumente mit Gensim

search_doc = ["test search"] 
documents = ["doc 1 text", "doc 2 text", "doc 3 text", "..."] 

und dann die Ergebnisse zu vergleichen.

Was würde ich (in der einfachsten Form möglich) zu tun ist haben mehrdimensionale Dokumente (ein Dokument, das mehrere Dimensionen, und nicht nur das „Dokument“ hat) ... zum Beispiel ..

documents = { 
       { "doc 1 title", "doc 1 body", "doc 1 tags" }, 
       { "doc 2 title", "doc 2 body", "doc 2 tags" }, 
       { "doc 3 title", "doc 3 body", "doc 3 tags" } 
       { ... } 
      } 

Und auch in der Lage sein, die Ergebnisse zu gewichten (zum Beispiel ist Titel 0.6, Körper ist 0.4, etc).

Meine Frage ist ... gibt es eine Möglichkeit, dies innerhalb Gensim zu tun, oder muss ich ein separates Dokument für jedes Meta-Element des Dokuments erstellen (zum Beispiel im Vergleich zu jedem Meta-Element (Titel, Körper, Tags) als ein separates Dokument, und dann Gewichte nach der Tat mit dem Dokument Schlüssel/ID kombinieren?

Ich bin mir nicht sicher, ob ich eine gute Arbeit, dies zu erklären, aber lassen Sie mich bitte wissen, wenn ich verbessern kann meine Frage.

Danke.

Antwort

1

GENSIM wichtigsten Algorithmen (wie LDA oder Doc2Vec) sind aus verschiedenen einzelnen Dokumenten trainiert, ohne i dea über Unterfelder oder zusammensetzbare Unterteile. Also musst du das selbst modellieren.

Sie sollten ein separates Dokument pro Feld erstellen, wenn Ihre Endziele das separate Scoring pro Feld erfordern.

Sie können auch weiterhin ein vollständiges Dokument erstellen, das aus allen Feldern besteht.

Sie können dann ein Modell für alle vollständigen Dokumente und Felder kombiniert oder ein separates Modell pro Dokumenttyp trainieren.

Wie Sie die Scores von Feldern und Dokumenten vergleichen, deduplizieren oder kombinieren möchten, hängt stark von Ihren Daten und Projektzielen sowie Ihren eigenen Experimenten und benutzerdefinierten Bewertungen ab. (Zum Beispiel sind Ihre Benutzer vielleicht mit Body-Matches am zufriedensten, so dass alle Ähnlichkeiten in diesem Feld ein zusätzliches Gewicht in Ihrem Display haben sollten - und so weiter.)

+1

Vielen Dank! Das habe ich generell erwartet, ich schätze die Übersichtlichkeit sehr! –