2017-01-02 1 views
3

Ich habe an einem kleinen, persönlichen Projekt gearbeitet, das die beruflichen Fähigkeiten eines Benutzers berücksichtigt und basierend auf diesen Fähigkeiten die ideale Karriere für sie vorschlägt. Ich benutze eine Datenbank von Stellenangeboten, um dies zu erreichen. Im Moment funktioniert der Code wie folgt:Alternativen zu TF-IDF und Cosine Similarity (Vergleichen von Dokumenten mit verschiedenen Formaten)

1) -Prozess den Wortlaut der Stellenanzeige Fähigkeiten zu extrahieren, die in der Auflistung

2) Für jede Karriere (zB „Data Analyst“) genannt werden, kombinieren der verarbeitete Text der Joblisten für die Karriere in ein Dokument

3) Berechnen Sie den TF-IDF jeder Fertigkeit innerhalb der Karriere Dokumente

Danach, ich bin nicht sicher, welche Methode ich Rang verwenden soll Karrieren basierend auf einer Liste der Fähigkeiten eines Benutzers. Die beliebteste Methode, die ich gesehen habe, wäre, die Fähigkeiten des Benutzers auch als Dokument zu behandeln, dann die TF-IDF für das Fertigkeitsdokument zu berechnen und so etwas wie Kosinusähnlichkeit zu verwenden, um die Ähnlichkeit zwischen dem Fertigkeitsdokument und jedem zu berechnen Karrieredokument.

Dies scheint nicht die ideale Lösung für mich, da Cosinus-Ähnlichkeit am besten verwendet wird, wenn Sie zwei Dokumente des gleichen Formats vergleichen. Aus diesem Grund scheint TF-IDF nicht der geeignete Maßstab zu sein, der überhaupt auf die Skill-Liste des Benutzers angewendet werden kann. Wenn ein Benutzer beispielsweise zusätzliche Fähigkeiten zu seiner Liste hinzufügt, wird der TF für jede Fähigkeit fallen gelassen. In Wirklichkeit ist es mir egal, wie häufig die Fähigkeiten in der Liste der Fähigkeiten des Benutzers sind - ich sorge mich nur darum, dass sie diese Fähigkeiten haben (und vielleicht, wie gut sie diese Fähigkeiten kennen).

Es scheint wie eine bessere Metrik folgendes zu tun wäre:

1) Für jede Fähigkeit, die der Benutzer hat, die Berechnung der TF-IDF dieser Fähigkeit in den Karriere Dokumente

2) Für jede Karriere, fassen die TF-IDF Ergebnisse für alle die Fähigkeit des Benutzers

3) Rang Karriere auf der Grundlage der oben genannten Summe

Bin ich hier in die richtige Richtung zu denken? Wenn ja, gibt es Algorithmen, die in diese Richtung gehen, aber ausgeklügelter sind als eine einfache Summe? Danke für die Hilfe!

Antwort

1

Der zweite Ansatz, den Sie erläutert haben, funktioniert. Aber es gibt bessere Wege, um diese Art von Problem zu lösen. Zuerst sollten Sie ein wenig über Sprachmodelle wissen und das Vektorraummodell verlassen. Im zweiten Schritt basierend auf Ihrer Art von Problem, das dem Finden/Profilieren von Experten ähnlich ist, sollten Sie ein Basismodell für das Basissprachenmodell lernen, um eine Lösung zu implementieren. Sie können A language modeling framework for expert finding mit ein wenig Änderungen implementieren, so dass die Formeln an Ihr Problem angepasst werden können. Auch lesen On the assessment of expertise profiles wird Ihnen ein besseres Verständnis von Experte Profiling mit dem oben genannten Rahmen. Sie können einige gute Ideen, Ressourcen und Projekte auf Experten finden/Profiling bei Balog's blog finden.

+0

Vielen Dank für die Links - kurz über sie scheinen sie zu sein, was ich suchte. Ich habe Ihre Lösung aufgewertet, aber ich habe nicht genug Reputation dafür, dass sie auftaucht. Danke noch einmal! –

+0

Gern geschehen;) – Alikbar

Verwandte Themen