Vom Text zum Traumjob: Aufbau eines NLP-basierten Job-Empfehlers bei Talent.com mit Amazon SageMaker | Amazon Web Services

Vom Text zum Traumjob: Aufbau eines NLP-basierten Job-Empfehlers bei Talent.com mit Amazon SageMaker | Amazon Web Services

Dieser Beitrag wurde gemeinsam von Anatoly Khomenko, Ingenieur für maschinelles Lernen, und Abdenour Bezzouh, Chief Technology Officer bei Talent.com, verfasst.

Gegründet in 2011, talent.com ist eine der weltweit größten Beschäftigungsquellen. Das Unternehmen kombiniert bezahlte Stellenangebote seiner Kunden mit öffentlichen Stellenangeboten auf einer einzigen durchsuchbaren Plattform. Mit über 30 Millionen gelisteten Stellen in mehr als 75 Ländern bietet Talent.com Stellen in vielen Sprachen, Branchen und Vertriebskanälen an. Das Ergebnis ist eine Plattform, die Millionen von Arbeitssuchenden offene Stellen vermittelt.

Die Mission von Talent.com besteht darin, alle im Internet verfügbaren Stellen zu zentralisieren, um Arbeitssuchenden dabei zu helfen, die beste Übereinstimmung zu finden und ihnen gleichzeitig das beste Sucherlebnis zu bieten. Der Schwerpunkt liegt auf der Relevanz, da die Reihenfolge der empfohlenen Jobs von entscheidender Bedeutung ist, um die Jobs anzuzeigen, die für die Interessen der Benutzer am relevantesten sind. Die Leistung des Matching-Algorithmus von Talent.com ist für den Erfolg des Unternehmens von größter Bedeutung und trägt wesentlich zum Benutzererlebnis bei. Aufgrund der begrenzten Menge an bereitgestellten Informationen, die sich in der Regel auf wenige Schlüsselwörter und einen Standort beschränken, ist es schwierig vorherzusagen, welche Jobs für einen Arbeitssuchenden relevant sind.

Angesichts dieser Mission haben Talent.com und AWS ihre Kräfte gebündelt, um eine Jobempfehlungs-Engine zu entwickeln, die modernste Verarbeitung natürlicher Sprache (NLP) und Deep-Learning-Modelltrainingstechniken nutzt Amazon Sage Maker um Arbeitssuchenden ein unvergleichliches Erlebnis zu bieten. Dieser Beitrag zeigt unseren gemeinsamen Ansatz zum Entwurf eines Stellenempfehlungssystems, einschließlich Feature-Engineering, Deep-Learning-Modellarchitekturentwurf, Hyperparameteroptimierung und Modellbewertung, der die Zuverlässigkeit und Wirksamkeit unserer Lösung sowohl für Arbeitssuchende als auch für Arbeitgeber gewährleistet. Das System wird von einem Team engagierter Wissenschaftler für angewandtes maschinelles Lernen (ML), ML-Ingenieuren und Fachexperten in Zusammenarbeit zwischen AWS und Talent.com entwickelt.

Das Empfehlungssystem hat zu einer Steigerung der Klickrate (CTR) um 8.6 % bei Online-A/B-Tests im Vergleich zu einer früheren XGBoost-basierten Lösung geführt und dabei geholfen, Millionen von Talent.com-Nutzern bessere Jobs zu vermitteln.

Lösungsübersicht

Eine Übersicht über das System ist in der folgenden Abbildung dargestellt. Das System nimmt die Suchanfrage eines Benutzers als Eingabe und gibt eine nach Relevanz geordnete Rangliste der Jobs aus. Die Relevanz eines Jobs wird anhand der Klickwahrscheinlichkeit gemessen (die Wahrscheinlichkeit, dass ein Jobsuchender auf einen Job klickt, um weitere Informationen zu erhalten).

Vom Text zum Traumjob: Aufbau eines NLP-basierten Job-Empfehlers bei Talent.com mit Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Das System umfasst vier Hauptkomponenten:

  • Modellarchitektur – Der Kern dieser Job-Empfehlungsmaschine ist ein Deep-Learning-basiertes Triple Tower Pointwise-Modell, das einen Abfrage-Encoder umfasst, der Benutzersuchanfragen codiert, einen Dokumenten-Encoder, der die Stellenbeschreibungen codiert, und einen Interaktions-Encoder, der den vergangenen Benutzerjob verarbeitet Interaktionsfunktionen. Die Ausgaben der drei Türme werden verkettet und durch einen Klassifizierungskopf geleitet, um die Klickwahrscheinlichkeiten des Jobs vorherzusagen. Durch das Trainieren dieses Modells anhand von Suchanfragen, Jobspezifika und historischen Benutzerinteraktionsdaten von Talent.com bietet dieses System Arbeitssuchenden personalisierte und hochrelevante Jobempfehlungen.
  • Feature Engineering – Wir führen zwei Sätze Feature-Engineering durch, um wertvolle Informationen aus Eingabedaten zu extrahieren und sie in die entsprechenden Türme im Modell einzuspeisen. Bei den beiden Sätzen handelt es sich um Standard-Feature-Engineering und fein abgestimmte Sentence-BERT (SBERT)-Einbettungen. Wir verwenden die standardmäßig entwickelten Funktionen als Eingabe in den Interaktions-Encoder und speisen die von SBERT abgeleitete Einbettung in den Abfrage-Encoder und den Dokument-Encoder ein.
  • Modelloptimierung und -tuning – Wir nutzen fortschrittliche Schulungsmethoden, um das System mit SageMaker zu trainieren, zu testen und bereitzustellen. Dazu gehören SageMaker Distributed Data Parallel (DDP)-Training, SageMaker Automatic Model Tuning (AMT), Lernratenplanung und frühes Anhalten, um die Modellleistung und Trainingsgeschwindigkeit zu verbessern. Die Verwendung des DDP-Trainingsframeworks hat dazu beigetragen, unser Modelltraining auf etwa das Achtfache zu beschleunigen.
  • Modellbewertung – Wir führen sowohl Offline- als auch Online-Bewertungen durch. Wir bewerten die Modellleistung mit der Fläche unter der Kurve (AUC) und der mittleren durchschnittlichen Präzision bei K (mAP@K) in der Offline-Bewertung. Beim Online-A/B-Testing bewerten wir die CTR-Verbesserungen.

In den folgenden Abschnitten stellen wir die Details dieser vier Komponenten vor.

Design der Deep-Learning-Modellarchitektur

Wir entwerfen ein Triple Tower Deep Pointwise (TTDP)-Modell unter Verwendung einer Triple-Tower-Deep-Learning-Architektur und des Pointwise-Paar-Modellierungsansatzes. Die Triple-Tower-Architektur bietet drei parallele tiefe neuronale Netze, wobei jeder Turm eine Reihe von Funktionen unabhängig verarbeitet. Dieses Entwurfsmuster ermöglicht es dem Modell, unterschiedliche Darstellungen aus verschiedenen Informationsquellen zu lernen. Nachdem die Darstellungen aller drei Türme erhalten wurden, werden sie verkettet und durch einen Klassifizierungskopf geleitet, um die endgültige Vorhersage (0–1) für die Klickwahrscheinlichkeit zu treffen (ein punktweiser Modellierungsaufbau).

Die drei Türme werden nach den von ihnen verarbeiteten Informationen benannt: Der Abfrage-Encoder verarbeitet die Suchabfrage des Benutzers, der Dokumenten-Encoder verarbeitet die Dokumentationsinhalte des Kandidatenjobs, einschließlich der Berufsbezeichnung und des Firmennamens, und der Interaktions-Encoder verwendet relevante Merkmale, die aus früheren Benutzerinteraktionen extrahiert wurden und Geschichte (mehr im nächsten Abschnitt besprochen).

Jeder dieser Türme spielt eine entscheidende Rolle beim Lernen, wie man Jobs empfiehlt:

  • Encoder abfragen – Der Abfrageencoder übernimmt die SBERT-Einbettungen, die aus der Jobsuchabfrage des Benutzers abgeleitet wurden. Wir verbessern die Einbettungen durch ein von uns optimiertes SBERT-Modell. Dieser Encoder verarbeitet und versteht die Jobsuchabsicht des Benutzers, einschließlich Details und Nuancen, die von unseren domänenspezifischen Einbettungen erfasst werden.
  • Dokumentenkodierer – Der Dokumentenencoder verarbeitet die Informationen jeder Stellenanzeige. Konkret werden die SBERT-Einbettungen des verketteten Textes aus der Berufsbezeichnung und dem Unternehmen übernommen. Die Intuition ist, dass Benutzer mehr Interesse an Kandidatenjobs haben, die für die Suchanfrage relevanter sind. Durch die Zuordnung der Jobs und Suchanfragen zum gleichen Vektorraum (definiert durch SBERT) kann das Modell lernen, die Wahrscheinlichkeit vorherzusagen, mit der ein Jobsuchender auf potenzielle Jobs klickt.
  • Interaktions-Encoder – Der Interaktionsencoder verarbeitet die vergangenen Interaktionen des Benutzers mit Stellenangeboten. Die Funktionen werden über einen standardmäßigen Feature-Engineering-Schritt erstellt, der die Berechnung von Beliebtheitsmetriken für Jobrollen und Unternehmen, die Festlegung von Kontextähnlichkeitswerten und die Extraktion von Interaktionsparametern aus früheren Benutzerinteraktionen umfasst. Es verarbeitet außerdem die in der Berufsbezeichnung identifizierten benannten Entitäten und Suchanfragen mit einem vorab trainierten NER-Modell (Named Entity Recognition).

Jeder Turm erzeugt parallel einen unabhängigen Ausgang, der dann alle miteinander verkettet wird. Dieser kombinierte Merkmalsvektor wird dann übergeben, um die Klickwahrscheinlichkeit einer Stellenanzeige für eine Benutzeranfrage vorherzusagen. Die Drei-Turm-Architektur bietet Flexibilität bei der Erfassung komplexer Beziehungen zwischen verschiedenen Eingaben oder Merkmalen, sodass das Modell die Stärken jedes Turms nutzen und gleichzeitig ausdrucksstärkere Darstellungen für die gegebene Aufgabe lernen kann.

Die prognostizierten Klickwahrscheinlichkeiten der Stellenangebote werden von hoch nach niedrig eingestuft, wodurch personalisierte Stellenempfehlungen generiert werden. Durch diesen Prozess stellen wir sicher, dass jede Information – sei es die Suchabsicht des Benutzers, Details zur Stellenanzeige oder vergangene Interaktionen – vollständig von einem speziellen, dafür vorgesehenen Tower erfasst wird. Die komplexen Beziehungen zwischen ihnen werden auch durch die Kombination der Turmausgänge erfasst.

Feature Engineering

Wir führen zwei Sätze von Feature-Engineering-Prozessen durch, um wertvolle Informationen aus den Rohdaten zu extrahieren und sie in die entsprechenden Türme im Modell einzuspeisen: Standard-Feature-Engineering und fein abgestimmte SBERT-Einbettungen.

Standard-Feature-Engineering

Unser Datenvorbereitungsprozess beginnt mit dem Standard-Feature-Engineering. Insgesamt definieren wir vier Arten von Funktionen:

  • Popularität – Wir berechnen Beliebtheitswerte auf individueller Jobebene, Berufsebene und Unternehmensebene. Dies ist ein Maß dafür, wie attraktiv ein bestimmter Job oder ein bestimmtes Unternehmen sein könnte.
  • Textliche Ähnlichkeit – Um die kontextuelle Beziehung zwischen verschiedenen Textelementen zu verstehen, berechnen wir Ähnlichkeitswerte, einschließlich der Zeichenfolgenähnlichkeit zwischen der Suchanfrage und der Berufsbezeichnung. Dies hilft uns, die Relevanz einer Stellenausschreibung für die Such- oder Bewerbungshistorie eines Arbeitssuchenden einzuschätzen.
  • Interaktion – Darüber hinaus extrahieren wir Interaktionsfunktionen aus früheren Benutzerinteraktionen mit Stellenangeboten. Ein Paradebeispiel hierfür ist die eingebettete Ähnlichkeit zwischen zuvor angeklickten Berufsbezeichnungen und Bewerberberufsbezeichnungen. Diese Kennzahl hilft uns, die Ähnlichkeit zwischen früheren Jobs, an denen ein Benutzer Interesse gezeigt hat, und bevorstehenden Stellenangeboten zu verstehen. Dies erhöht die Präzision unserer Jobempfehlungsmaschine.
  • Profil – Zuletzt extrahieren wir benutzerdefinierte Informationen zu Jobinteressen aus dem Benutzerprofil und vergleichen sie mit neuen Jobkandidaten. Dies hilft uns zu verstehen, ob ein Stellenbewerber den Interessen eines Benutzers entspricht.

Ein entscheidender Schritt in unserer Datenvorbereitung ist die Anwendung eines vorab trainierten NER-Modells. Durch die Implementierung eines NER-Modells können wir benannte Entitäten in Berufsbezeichnungen und Suchanfragen identifizieren und kennzeichnen. Dadurch können wir Ähnlichkeitswerte zwischen diesen identifizierten Entitäten berechnen und so ein gezielteres und kontextbewussteres Maß für die Verwandtschaft liefern. Diese Methodik reduziert das Rauschen in unseren Daten und bietet uns eine differenziertere, kontextsensitivere Methode zum Vergleichen von Jobs.

Fein abgestimmte SBERT-Einbettungen

Um die Relevanz und Genauigkeit unseres Stellenempfehlungssystems zu verbessern, nutzen wir die Leistungsfähigkeit von SBERT, einem leistungsstarken transformatorbasierten Modell, das für seine Kompetenz bei der Erfassung semantischer Bedeutungen und Kontexte aus Texten bekannt ist. Generische Einbettungen wie SBERT sind zwar effektiv, erfassen jedoch möglicherweise nicht vollständig die einzigartigen Nuancen und Terminologien, die einer bestimmten Domäne wie der unseren innewohnen, in der es um Beschäftigung und Jobsuche geht. Um dieses Problem zu lösen, optimieren wir die SBERT-Einbettungen mithilfe unserer domänenspezifischen Daten. Dieser Feinabstimmungsprozess optimiert das Modell, um die branchenspezifische Sprache, den Jargon und den Kontext besser zu verstehen und zu verarbeiten, sodass die Einbettungen unsere spezifische Domäne besser widerspiegeln. Infolgedessen bieten die verfeinerten Einbettungen eine verbesserte Leistung bei der Erfassung sowohl semantischer als auch kontextueller Informationen in unserem Bereich, was zu genaueren und aussagekräftigeren Jobempfehlungen für unsere Benutzer führt.

Die folgende Abbildung veranschaulicht den SBERT-Feinabstimmungsschritt.

Vom Text zum Traumjob: Aufbau eines NLP-basierten Job-Empfehlers bei Talent.com mit Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Wir optimieren SBERT-Einbettungen mithilfe von TripletLoss mit einer Kosinus-Abstandsmetrik, die das Einbetten von Text lernt, wobei Anker- und positive Texte eine höhere Kosinus-Ähnlichkeit aufweisen als Anker- und negative Texte. Wir nutzen die Suchanfragen der Nutzer als Ankertexte. Wir kombinieren Berufsbezeichnungen und Arbeitgebernamen als Eingaben für die positiven und negativen Texte. Die positiven Texte stammen aus Stellenausschreibungen, auf die der entsprechende Benutzer geklickt hat, während die negativen Texte aus Stellenausschreibungen stammen, auf die der Benutzer nicht geklickt hat. Im Folgenden finden Sie eine Beispielimplementierung des Feinabstimmungsverfahrens:

import math
from datetime import datetime from torch.utils.data import DataLoader
from sentence_transformers import (SentenceTransformer, SentencesDataset, LoggingHandler, losses)
from sentence_transformers.readers import InputExample model_name = 'all-mpnet-base-v2'
train_batch_size = 16
num_epochs = 1
model_save_path = (f'output/{model_name}_'+ datetime.now().strftime("%Y-%m-%d_%H-%M-%S")) ### load pre-trained SBERT model
model = SentenceTransformer(model_name, device="cuda") ### construct training dataset of triplet texts,
### stored in three lists (achors, positives, negatives)
train_examples =[]
for anchor, positive, negative in zip(achors, positives, negatives): train_examples.append(InputExample(texts=(anchor, positive, negative))) train_dataset = SentencesDataset(train_examples, model)
train_dataloader = DataLoader(train_dataset, shuffle=True, batch_size=train_batch_size) ### use TripletLoss with cosine distance metric and margin=0.5
distance_metric=losses.TripletDistanceMetric.COSINE
train_loss = losses.TripletLoss(model=model, distance_metric=distance_metric, triplet_margin=0.5) ### 10% of train data for warm-up
warmup_steps = math.ceil(len(train_dataloader) * num_epochs * 0.1) # Train the model
model.fit(train_objectives=[(train_dataloader, train_loss)], epochs=num_epochs, warmup_steps=warmup_steps, output_path=model_save_path)

Modelltraining mit SageMaker Distributed Data Parallel

Wir verwenden SageMaker Distributed Data Parallel (SMDDP), eine Funktion der SageMaker ML-Plattform, die auf PyTorch DDP aufbaut. Es bietet eine optimierte Umgebung für die Ausführung von PyTorch DDP-Trainingsjobs auf der SageMaker-Plattform. Es wurde entwickelt, um das Training von Deep-Learning-Modellen erheblich zu beschleunigen. Dies wird dadurch erreicht, dass ein großer Datensatz in kleinere Teile aufgeteilt und auf mehrere GPUs verteilt wird. Das Modell wird auf jeder GPU repliziert. Jede GPU verarbeitet die ihr zugewiesenen Daten unabhängig und die Ergebnisse werden über alle GPUs hinweg zusammengestellt und synchronisiert. DDP kümmert sich um die Gradientenkommunikation, um Modellrepliken synchron zu halten, und überlappt sie mit Gradientenberechnungen, um das Training zu beschleunigen. SMDDP nutzt einen optimierten AllReduce-Algorithmus, um die Kommunikation zwischen GPUs zu minimieren, die Synchronisierungszeit zu verkürzen und die allgemeine Trainingsgeschwindigkeit zu verbessern. Der Algorithmus passt sich an unterschiedliche Netzwerkbedingungen an und ist daher sowohl für lokale als auch für cloudbasierte Umgebungen äußerst effizient. In der SMDDP-Architektur (wie in der folgenden Abbildung dargestellt) wird das verteilte Training auch mithilfe eines Clusters aus vielen Knoten skaliert. Dies bedeutet nicht nur mehrere GPUs in einer Recheninstanz, sondern viele Instanzen mit mehreren GPUs, was das Training weiter beschleunigt.

Vom Text zum Traumjob: Aufbau eines NLP-basierten Job-Empfehlers bei Talent.com mit Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Weitere Informationen zu dieser Architektur finden Sie unter Einführung in die Distributed Data Parallel Library von SageMaker.

Mit SMDDP konnten wir die Trainingszeit für unser TTDP-Modell erheblich verkürzen und es damit achtmal schneller machen. Kürzere Trainingszeiten bedeuten, dass wir unsere Modelle schneller iterieren und verbessern können, was zu besseren Jobempfehlungen für unsere Benutzer in kürzerer Zeit führt. Dieser Effizienzgewinn trägt wesentlich dazu bei, die Wettbewerbsfähigkeit unserer Stellenempfehlungsmaschine in einem sich schnell entwickelnden Arbeitsmarkt aufrechtzuerhalten.

Sie können Ihr Trainingsskript mit dem SMDDP mit nur drei Codezeilen anpassen, wie im folgenden Codeblock gezeigt. Am Beispiel von PyTorch müssen Sie lediglich den PyTorch-Client der SMDDP-Bibliothek importieren (smdistributed.dataparallel.torch.torch_smddp). Der Kunde registriert sich smddp als Backend für PyTorch.

import smdistributed.dataparallel.torch.torch_smddp
import torch.distributed as dist dist.init_process_group(backend='smddp')

Sobald Sie über ein funktionierendes PyTorch-Skript verfügen, das für die Verwendung der Parallelbibliothek für verteilte Daten angepasst ist, können Sie dies tun Starten Sie einen verteilten Trainingsjob mit dem SageMaker Python SDK.

Bewertung der Modellleistung

Bei der Bewertung der Leistung eines Empfehlungssystems ist es entscheidend, Metriken auszuwählen, die eng mit den Geschäftszielen übereinstimmen und ein klares Verständnis der Wirksamkeit des Modells vermitteln. In unserem Fall verwenden wir die AUC, um die Job-Klick-Vorhersageleistung unseres TTDP-Modells zu bewerten, und den mAP@K, um die Qualität der endgültig eingestuften Jobliste zu bewerten.

Die AUC bezieht sich auf die Fläche unter der ROC-Kurve (Receiver Operating Characteristic). Es stellt die Wahrscheinlichkeit dar, dass ein zufällig ausgewähltes positives Beispiel höher eingestuft wird als ein zufällig ausgewähltes negatives Beispiel. Er reicht von 0–1, wobei 1 einen idealen Klassifikator und 0.5 eine zufällige Schätzung darstellt. mAP@K ist eine Metrik, die häufig zur Bewertung der Qualität von Informationsabrufsystemen wie unserer Job-Recommender-Engine verwendet wird. Es misst die durchschnittliche Genauigkeit beim Abrufen der K-relevantesten Elemente für eine bestimmte Abfrage oder einen bestimmten Benutzer. Er reicht von 0–1, wobei 1 die optimale Rangfolge und 0 die geringstmögliche Präzision beim gegebenen K-Wert angibt. Wir bewerten die AUC, mAP@1 und mAP@3. Zusammengenommen ermöglichen uns diese Metriken, die Fähigkeit des Modells zu beurteilen, zwischen positiven und negativen Klassen (AUC) zu unterscheiden, und seinen Erfolg bei der Einstufung der relevantesten Elemente an die Spitze (mAP@K).

Basierend auf unserer Offline-Bewertung übertraf das TTDP-Modell das Basismodell – das bestehende XGBoost-basierte Produktionsmodell – um 16.65 % für AUC, 20 % für mAP@1 und 11.82 % für mAP@3.

Vom Text zum Traumjob: Aufbau eines NLP-basierten Job-Empfehlers bei Talent.com mit Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Darüber hinaus haben wir einen Online-A/B-Test entwickelt, um das vorgeschlagene System zu bewerten, und den Test sechs Wochen lang mit einem Prozentsatz der US-amerikanischen E-Mail-Bevölkerung durchgeführt. Insgesamt wurden rund 6 Millionen E-Mails über den vom neuen System empfohlenen Auftrag versendet. Der daraus resultierende Anstieg der Klicks im Vergleich zum vorherigen Serienmodell betrug 22 %. Talent.com erhöht nach und nach den Prozentsatz, um das neue System in seiner gesamten Bevölkerung und seinen Kanälen einzuführen.

Zusammenfassung

Die Erstellung eines Stellenempfehlungssystems ist ein komplexes Unterfangen. Jeder Arbeitssuchende hat einzigartige Bedürfnisse, Vorlieben und berufliche Erfahrungen, die sich nicht aus einer kurzen Suchanfrage ableiten lassen. In diesem Beitrag hat Talent.com mit AWS zusammengearbeitet, um eine durchgängige, auf Deep Learning basierende Job-Empfehlungslösung zu entwickeln, die Listen von Jobs ordnet, die Benutzern empfohlen werden sollen. Dem Talent.com-Team hat die Zusammenarbeit mit dem AWS-Team während des gesamten Prozesses zur Lösung dieses Problems wirklich Spaß gemacht. Dies stellt einen bedeutenden Meilenstein auf dem Weg von Talent.com zur Transformation dar, da das Team die Vorteile von Deep Learning nutzt, um sein Unternehmen zu stärken.

Dieses Projekt wurde mithilfe von SBERT verfeinert, um Texteinbettungen zu generieren. Zum Zeitpunkt des Schreibens stellte AWS vor Amazon Titan-Einbettungen als Teil ihrer Basismodelle (FMs), die über angeboten werden Amazonas Grundgestein, ein vollständig verwalteter Dienst, der eine Auswahl leistungsstarker Basismodelle von führenden KI-Unternehmen bereitstellt. Wir ermutigen die Leser, die in diesem Blogbeitrag vorgestellten Techniken des maschinellen Lernens zu erkunden und die von AWS bereitgestellten Funktionen wie SMDDP zu nutzen, während sie gleichzeitig die grundlegenden Modelle von AWS Bedrock nutzen, um ihre eigenen Suchfunktionen zu erstellen.

Bibliographie


Über die Autoren

Vom Text zum Traumjob: Aufbau eines NLP-basierten Job-Empfehlers bei Talent.com mit Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikale Suche. Ai. Yi Xiang ist Applied Scientist II im Amazon Machine Learning Solutions Lab, wo sie AWS-Kunden aus verschiedenen Branchen dabei hilft, ihre KI- und Cloud-Einführung zu beschleunigen.

Vom Text zum Traumjob: Aufbau eines NLP-basierten Job-Empfehlers bei Talent.com mit Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.Tong Wang ist Senior Applied Scientist im Amazon Machine Learning Solutions Lab, wo er AWS-Kunden aus verschiedenen Branchen hilft, ihre KI- und Cloud-Einführung zu beschleunigen.

Dmitrij BespalowDmitrij Bespalow ist Senior Applied Scientist im Amazon Machine Learning Solutions Lab, wo er AWS-Kunden aus verschiedenen Branchen hilft, ihre KI- und Cloud-Einführung zu beschleunigen.

Vom Text zum Traumjob: Aufbau eines NLP-basierten Job-Empfehlers bei Talent.com mit Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.Anatoli Khomenko ist Senior Machine Learning Engineer bei Talent.com mit einer Leidenschaft für die Verarbeitung natürlicher Sprache, um gute Leute an gute Jobs zu bringen.

Vom Text zum Traumjob: Aufbau eines NLP-basierten Job-Empfehlers bei Talent.com mit Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.Abdenour Bezzouh ist eine Führungskraft mit mehr als 25 Jahren Erfahrung in der Entwicklung und Bereitstellung von Technologielösungen, die für Millionen von Kunden skalierbar sind. Abdenour war Chief Technology Officer (CTO) bei talent.com als das AWS-Team diese spezielle Lösung für entworfen und ausgeführt hat talent.com.

Vom Text zum Traumjob: Aufbau eines NLP-basierten Job-Empfehlers bei Talent.com mit Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.Dale Jacques ist Senior AI Strategist im Generative AI Innovation Center, wo er AWS-Kunden dabei hilft, Geschäftsprobleme in KI-Lösungen zu übersetzen.

Yanjun QiYanjun Qi ist Senior Applied Science Manager im Amazon Machine Learning Solution Lab. Sie ist innovativ und wendet maschinelles Lernen an, um AWS-Kunden dabei zu helfen, ihre KI- und Cloud-Einführung zu beschleunigen.

Zeitstempel:

Mehr von AWS Maschinelles Lernen