Heim > Artikel > Technologie-Peripheriegeräte > Anwendung von Deep Learning in der Ctrip-Suchwortbedeutungsanalyse
Das Big-Data- und KI-Forschungs- und Entwicklungsteam der Forschungs- und Entwicklungsabteilung von Ctrip Tourism versorgt die Tourismusabteilung mit einer Fülle von KI-Technologieprodukten und technischen Fähigkeiten.
Die Bedeutungsanalyse von Mainstream-Suchwörtern und das Verständnis von Abfragen erfordern Schritte wie Fehlerkorrektur, Synonymersetzung, Wortsegmentierung, Teil-of-Speech-Tagging, Entitätserkennung, Absichtserkennung, Gewichtung der Wortbedeutung und Wortverlust. Nehmen Sie als Beispiel die Suche im Tourismusszenario, wie in Abbildung 1 dargestellt. Wenn der Benutzer „Yunnan Xiangge Lira“ als Suchanfrage in das Suchfeld eingibt, muss die Suchmaschine zunächst den Suchbegriff korrigieren Schritte: Analysieren Sie den Inhalt, nach dem der Benutzer suchen möchte. Bei Bedarf wird eine Synonymersetzung durchgeführt. Führen Sie dann eine Wortsegmentierung und Wortartkennzeichnung der Suchbegriffe durch, um „Yunnan“ als Provinz und „Shangri-La“ als Stadt- oder Hotelmarke zu identifizieren. Anschließend wird eine Entitätserkennung durchgeführt, um die entsprechenden Entitäten abzurufen „Yunnan“ und „Shangri-La“ in der Hintergrunddatenbank.
Zu diesem Zeitpunkt kam es zu Meinungsverschiedenheiten, dass „Shangri-La“ sowohl eine Stadt- als auch eine Hotelmarke sein könnte. Wenn Benutzer suchen, ist es für die genaue Anzeige von Suchergebnissen und die Verbesserung der Benutzererfahrung von großer Bedeutung, ob die richtigen Kategorien und Entitäten vorhergesagt werden können. Daher müssen wir die Kategorie identifizieren, nach der der Benutzer wirklich suchen möchte, und die entsprechende Entität finden. Andernfalls werden möglicherweise Ergebnisse in der ersten Zeile der Suchlistenseite angezeigt, die der Benutzer nicht möchte. Wenn Benutzer nach „Yunnan Shangri-La“ suchen, ist es nach dem Vorwissen der Benutzer sehr wahrscheinlich, dass sie nach einer Stadt suchen möchten. Der Schritt der Absichtsidentifizierung besteht darin, diese Funktion zu realisieren und die wahre Suchabsicht des Benutzers zu identifizieren, die das „Shangri-La“ der Stadt darstellt.
Sie können dann den Recall-Schritt der Suche starten. Der Recall ist hauptsächlich dafür verantwortlich, Produkte oder Inhalte zu finden, die mit der Absicht des Suchbegriffs in Zusammenhang stehen. Nachdem Sie in den vorherigen Schritten die IDs von „Yunnan“ und „Shangri-La“ erhalten haben, können Sie sich problemlos an Produkte oder Inhalte erinnern, die sich sowohl auf „Yunnan“ als auch auf „Shangri-La“ beziehen. Manchmal sind die Rückrufergebnisse jedoch leer oder zu selten und die Benutzererfahrung ist zu diesem Zeitpunkt nicht gut. Wenn die Rückrufergebnisse leer oder zu selten sind, sind daher häufig Wortverluste und sekundäre Rückrufvorgänge erforderlich. Darüber hinaus können einige Wörter, die ausgelassen werden oder die Suche beeinträchtigen, auch durch verlorene Wörter verarbeitet werden.
Die sogenannten verlorenen Wörter bedeuten, relativ unwichtige oder lose zusammenhängende Wörter in den Suchbegriffen zu verlieren und sie wieder abzurufen. Wie messen Sie also die Wichtigkeit oder Nähe jedes Wortes? Hier müssen wir das Term-Weighting-Modul einführen, das jedes Wort als einen Term behandelt und das Gewicht jedes Termes durch Algorithmen oder Regeln berechnet. Das Gewicht jedes Termes bestimmt direkt die Reihenfolge der Term-Wichtigkeit und -Nähe. Angenommen, das Termgewicht von „Yunnan“ beträgt 0,2 und das Termgewicht von „Shangri-La“ 0,8. Wenn Sie Wörter verlieren müssen, sollten Sie zuerst „Yunnan“ verlieren und „Shangri-La“ behalten.
Abbildung 1 Schritte zur Analyse der Suchwortbedeutung und zum Verständnis der Abfrage
Bei der herkömmlichen Identifizierung der Suchabsicht werden Vokabularabgleich, Kategoriewahrscheinlichkeitsstatistiken und künstlich festgelegte Regeln verwendet. Bei der herkömmlichen Begriffsgewichtung werden auch Vokabelabgleiche und statistische Methoden verwendet. Basierend auf den Titeln und Inhalten aller Produkte werden beispielsweise Daten wie TF-IDF, gegenseitige Informationen zwischen vorhergehenden und folgenden Wörtern sowie die Entropie des linken und rechten Nachbarn berechnet und direkt gespeichert in Wörterbüchern und Partituren, die für die Online-Nutzung bereitgestellt werden, kann zur Unterstützung der Beurteilung auf der Grundlage einiger Regeln verwendet werden. Beispielsweise ergeben Eigennamen aus der Industrie direkt höhere Termgewichte und Partikel direkt niedrigere Termgewichte.
Herkömmliche Suchabsichtserkennungs- und Begriffsgewichtungsalgorithmen können jedoch keine hohe Genauigkeit und Rückrufrate erreichen, insbesondere können sie einige seltene Suchbegriffe nicht verarbeiten. Daher sind einige neue Technologien erforderlich, um die Genauigkeit dieser beiden Module und den Rückruf zu verbessern die Fähigkeit, sich an seltene Suchbegriffe anzupassen. Darüber hinaus erfordert die Analyse der Suchwortbedeutung aufgrund der hohen Zugriffshäufigkeit eine sehr schnelle Antwortgeschwindigkeit. Im Reisesuchszenario muss die Antwortgeschwindigkeit häufig den Millisekundenbereich nahe an einstelligen Zahlen erreichen, was eine große Herausforderung darstellt Algorithmus.
2. Problemanalyse
Das Problem beim Deep Learning besteht jedoch darin, dass die Reaktionsgeschwindigkeit aufgrund der hohen Komplexität des Modells und der großen Anzahl neuronaler Netzwerkschichten die hohen Anforderungen der Suche nicht erfüllen kann. Daher verwenden wir Modelldestillation und Modellkomprimierung, um die Komplexität des Modells zu reduzieren und den Zeitverbrauch des Deep-Learning-Modells zu reduzieren, während wir gleichzeitig die Genauigkeit und Rückrufrate leicht reduzieren und so eine schnellere Reaktionsgeschwindigkeit und höhere Leistung gewährleisten.
Kategorieerkennung ist die Hauptkomponente der Absichtserkennung. Die Kategorieerkennung bei der Absichtserkennung ist eine Methode, bei der nach der Segmentierung der Suchwortabfrage das Segmentierungsergebnis mit der Kategorie markiert wird, zu der es gehört, und der entsprechende Wahrscheinlichkeitswert angegeben wird. Die Analyse der Absicht der Suchbegriffe des Benutzers ist hilfreich bei der Analyse der direkten Suchbedürfnisse des Benutzers und trägt so dazu bei, das Benutzererlebnis zu verbessern. Wenn ein Benutzer beispielsweise auf der Reiseseite nach „Yunnan Shangri-La“ sucht, ist die vom Benutzer eingegebene Kategorie, die „Shangri-La“ entspricht, „Stadt“ statt „Hotelmarke“, was die nachfolgenden Suchstrategien leitet Voreingenommen gegenüber städtischen Absichten.
Im Reiseszenario machen von Benutzern eingegebene Suchbegriffe mit mehrdeutigen Kategorien etwa 11 % der Gesamtmenge aus, darunter eine große Anzahl von Suchbegriffen ohne Wortsegmentierung. „Keine Wortsegmentierung“ bedeutet, dass nach der Wortsegmentierungsverarbeitung keine detaillierteren Segmente vorhanden sind, und „Kategoriemehrdeutigkeit“ bedeutet, dass der Suchbegriff selbst mehrere mögliche Kategorien hat. Wenn ein Benutzer beispielsweise „Shangri-La“ eingibt, gibt es keine detailliertere Segmentierung und die entsprechenden Kategoriedaten enthalten mehrere Kategorien wie „Stadt“ und „Hotelmarke“.
Wenn der Suchbegriff selbst eine Kombination aus mehreren Wörtern ist, kann die Kategorie durch den Kontext des Suchbegriffs selbst verdeutlicht werden und der Suchbegriff selbst wird als Identifikationsziel priorisiert. Wenn die Kategorie nicht anhand der Suchbegriffe selbst bestimmt werden kann, fügen wir zunächst die aktuellen historischen Suchbegriffe des Benutzers hinzu, die sich voneinander unterscheiden, sowie aktuelle Produktkategorie-Klickdatensätze. Wenn die oben genannten Informationen nicht verfügbar sind, fügen wir die Positionierung hinzu Stationen als Ergänzungskorpus. Die ursprünglichen Suchbegriffe werden verarbeitet, um die zu identifizierende Abfrage R zu erhalten.
In den letzten Jahren haben vorab trainierte Sprachmodelle bei vielen Aufgaben der Verarbeitung natürlicher Sprache glänzt. Bei der Kategorieerkennung verwenden wir die Trainingsnetzwerkparameter des vorab trainierten Modells, um das Wortmerkmal Outputbert mit kontextueller Semantik zu erhalten. Mithilfe des Wortkonvertierungsmoduls wird das Wortmerkmal mit der Positionscodierung kombiniert:
Erhalten Sie das der Wortsegmentierung entsprechende Zeichenfragment, z. B.:
i ist. Basierend auf dem Zeichenfragment Wi aggregiert das Wortkonvertierungsmodul die Merkmale Hwi jedes Wortes. Aggregationsmethoden können Max-Pooling, Min-Pooling, Mean-Pooling usw. sein. Experimente zeigen, dass Max-Pooling die beste Wirkung hat. Die Ausgabe des Moduls ist das Wortmerkmal OutputR des Suchworts R durch einen parallelen Klassifikator, jedes Fragment des Wortmerkmals OutputR des Suchworts In der Kategoriedatenbank wird die entsprechende Kategorie angegeben, und die Übereinstimmungswahrscheinlichkeit der entsprechenden Kategorie wird angegeben.
Abbildung 2 Schematische Darstellung der Gesamtstruktur der Kategorieerkennung
Die Kategorieerkennung Das Modell basiert auf dem BERT-basierten 12-Schichten-Modell. Da das Modell zu groß ist und die Anforderungen an die Reaktionsgeschwindigkeit für den Online-Betrieb nicht erfüllt, haben wir eine Wissensdestillation für das Modell durchgeführt, um das Netzwerk von einem großen Netzwerk in ein kleines Netzwerk umzuwandeln. Halten Sie die Leistung nahe an der Leistung eines großen Netzwerks und erfüllen Sie gleichzeitig die Latenzanforderungen für Online-Vorgänge. Das ursprünglich trainierte Kategorieerkennungsmodell wird als Lehrernetzwerk verwendet, und das Ausgabeergebnis des Lehrernetzwerks wird als Ziel des Schülernetzwerks verwendet. Das Schülernetzwerk wird so trainiert, dass das Ergebnis p von Das Studentennetzwerk liegt in der Nähe von q. Daher können wir die Verlustfunktion wie folgt schreiben:Abbildung 3 Schematische Darstellung der Wissensdestillation#🎜🎜 #Nach der Destillation von Wissen und der Erkennung von Kategorien können immer noch hohe Genauigkeits- und Rückrufraten erzielt werden, und gleichzeitig kann die Gesamtantwortzeit etwa 5 ms betragen.
Nach der Kategorieidentifizierung sind die Entitätsverknüpfung und andere Schritte erforderlich, um den endgültigen Absichtsidentifizierungsprozess abzuschließen. Der spezifische Inhalt ist im Artikel "Exploration and Practice of Ctrip Entity Link Technology" zu finden, auf den in diesem Artikel nicht näher eingegangen wird.
Für die vom Benutzer eingegebenen Suchbegriffe haben unterschiedliche Begriffe unterschiedliche Bedeutung für die zentrale semantische Attraktivität des Benutzers. Im sekundären Recall-Ranking der Suche müssen Sie sich auf Begriffe mit hoher Wichtigkeit konzentrieren und gleichzeitig Begriffe mit geringer Wichtigkeit ignorieren, wenn Wörter verloren gehen. Durch die Berechnung der Begriffsgewichtung jedes vom Benutzer eingegebenen Suchbegriffs wird das Produkt, das der Absicht des Benutzers am nächsten kommt, zweimal aufgerufen, um das Benutzererlebnis zu verbessern.
Zunächst müssen wir echte Feedbackdaten von Online-Benutzern als Anmerkungsdaten finden. Die Eingaben des Benutzers in das Suchfeld und die Klicks auf zugehörige Wörter spiegeln in gewissem Maße die Betonung des Benutzers auf die Wörter in der Suchphrase wider. Daher wählen wir die Eingabe- und Klickdaten zu zugehörigen Wörtern aus, filtern sie manuell und kommentieren sie sekundär als Anmerkung des Termgewichtungsmodells.
In Bezug auf die Datenvorverarbeitung handelt es sich bei den annotierten Daten, die wir erhalten können, um Phrasen und die entsprechenden Schlüsselwörter. Um die Gewichtsverteilung nicht zu extrem zu machen, wird eine bestimmte Anzahl kleiner Gewichte an Nicht-Gewichte vergeben. Schlüsselwörter und weisen Sie jedem Wort des Schlüsselworts das verbleibende Gewicht zu. Wenn eine bestimmte Phrase mehrmals in den Daten vorkommt und die entsprechenden Schlüsselwörter unterschiedlich sind, werden die Gewichte dieser Schlüsselwörter entsprechend der Häufigkeit des Schlüsselworts zugewiesen Weisen Sie jedem Wort das Gewicht zu.
Der Modellteil versucht hauptsächlich BERT als Merkmalsextraktionsmethode und passt das Gewicht jedes Begriffs weiter an. Konvertieren Sie eine bestimmte Eingabe in eine Form, die BERT akzeptieren kann, komprimieren Sie den Tensor nach BERT durch die vollständig verbundene Schicht, erhalten Sie einen eindimensionalen Vektor, führen Sie eine Softmax-Verarbeitung durch und verwenden Sie diesen Vektor, um den Ergebnisvektor zu gewichten Der spezifische Modellrahmen ist in der folgenden Abbildung dargestellt:
Abbildung 4 Begriffsgewichtungsmodellrahmen
Da das chinesische BERT auf Zeichen basiert, müssen die Gewichte aller Wörter in jedem Begriff summiert werden, um schließlich das Gewicht des Begriffs zu erhalten.
Im gesamten Modellrahmen, mit Ausnahme einiger Trainingshyperparameter, umfassen die anpassbaren Teile hauptsächlich zwei Teile: Erstens können Sie beim Generieren der Einbettung über BERT die letzte Ebene von BERT auswählen, oder es wird eine umfassende BERT-Einbettung generiert In der ersten und letzten Schicht geht es in der zweiten um die Auswahl der Verlustfunktion. Zusätzlich zur Messung der Lücke zwischen dem vorhergesagten Gewicht und dem tatsächlichen Gewicht versuchen wir auch, die Summe der vorhergesagten Gewichte zu verwenden -Wichtige Wörter werden als Verlust berechnet, dieser Verlust eignet sich jedoch besser für die Verwendung mit nur einem einzigen Schlüsselwort.
Das Modell gibt letztendlich jedes Termgewicht in Form einer Dezimalzahl aus. Beispielsweise sind die Termgewichtungsergebnisse von [„Shanghai“, „'s“, „Disney“] [0,3433, 0,1218, 0,5349].
Dieses Modell dient der Suche und hat strenge Anforderungen an die Reaktionsgeschwindigkeit. Da das BERT-Modell insgesamt relativ groß ist, ist es schwierig, die Anforderungen an die Reaktionsgeschwindigkeit im Inferenzteil zu erfüllen. Daher destillieren wir, ähnlich wie beim Kategorieerkennungsmodell, das trainierte BERT-Modell weiter, um die Online-Anforderungen zu erfüllen. In diesem Projekt werden einige Transformatorschichten verwendet, um den Effekt des 12-Schicht-Transformators auf BERT-Basis anzupassen. Letztendlich ist die Gesamtinferenzgeschwindigkeit des Modells bei Verlust eines akzeptablen Teils etwa zehnmal schneller Leistung. Letztendlich können die insgesamt 95 Zeilen des Online-Dienstes Term Weighting etwa 2 ms erreichen.
Durch den Einsatz von Deep Learning hat die Reisesuche ihre Möglichkeiten zur Analyse der Wortbedeutung für seltene Long-Tail-Suchbegriffe erheblich verbessert. In den aktuellen realen Online-Suchszenarien werden Deep-Learning-Methoden im Allgemeinen mit herkömmlichen Methoden zur Analyse der Bedeutung von Suchbegriffen kombiniert, wodurch nicht nur eine stabile Leistung gängiger Suchbegriffe im Kopf sichergestellt, sondern auch die Generalisierungsfähigkeiten verbessert werden können.
In Zukunft soll die Bedeutungsanalyse von Suchbegriffen den Benutzern ein besseres Sucherlebnis bieten. Mit der Modernisierung der Hardwaretechnologie und der KI-Technologie werden Hochleistungsrechnen und intelligentes Rechnen immer ausgereifter , Suchwort-Bedeutungsanalyse, Absichtserkennung und Begriffsgewichtung werden sich in Zukunft in Richtung höherer Leistungsziele entwickeln. Darüber hinaus werden größere Pre-Training-Modelle und Pre-Training-Modelle im Tourismusbereich dazu beitragen, die Genauigkeit und Rückrufrate des Modells weiter zu verbessern. Die Einführung weiterer Benutzerinformationen und -kenntnisse wird dazu beitragen, die Wirkung der Absichtserkennung zu verbessern Das Feedback der Benutzer und die Modelliteration tragen dazu bei, die Wirksamkeit der Termgewichtung zu verbessern. Dies sind die Richtungen, die wir in Zukunft ausprobieren werden.
Zusätzlich zur Absichtserkennung und Begriffsgewichtung können in Zukunft auch andere Suchfunktionen wie Wortart-Tagging, Fehlerkorrektur usw. die Deep-Learning-Technologie nutzen, um aussagekräftigere Ergebnisse zu erzielen bei gleichzeitiger Erfüllung der Anforderungen an die Reaktionsgeschwindigkeit und bessere Effekte.
Das obige ist der detaillierte Inhalt vonAnwendung von Deep Learning in der Ctrip-Suchwortbedeutungsanalyse. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!