$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
Diese Studie wurde in Übereinstimmung mit den Richtlinien der Forschungsethikkommission der National University of Malaysia (UKM) durchgeführt und unter der Zulassungsnummer UKM FST/2025-AI/023 genehmigt. Vor der Erfassung von Chatbot-Anfragen wurde von allen Teilnehmern eine schriftliche Einverständniserklärung eingeholt. Alle Daten wurden anonymisiert, um die Vertraulichkeit und Privatsphäre der Teilnehmer zu gewährleisten
Überblick über die Studie
Der Überblick über das vorgeschlagene intelligente Catering-System, das mit KI-Technologien unterstützt wird, ist in Abbildung 1 dargestellt. Wie dargestellt, wird die Kundeneingabe mit den NLP-Techniken wie Worteinbettungen, Lemmatisierung und Tokenisierung vorverarbeitet, um die Tags zu extrahieren. Dann wurde das ML-Modell namens LDA auf die Modellierung von Kundenetiketten angewendet, um ihnen einen kontaktlosen Service zu bieten. Der Futtervorschlag erfolgt anhand eines Conv-RNN-Modells. Basierend auf der erfassten Ablauffolge aus den Auswahlmöglichkeiten des Vorkunden wird dem Kunden das Lebensmittel intelligent vorgeschlagen. Schließlich wird die Kundenzufriedenheit unter Verwendung eines optimierten Conv-LSTM-Modells vorhergesagt, um den Service des Restaurants weiter zu verbessern. Die Leistung der vorgeschlagenen KI-Modelle wird unter den verschiedenen Bewertungsmetriken bewertet.

Abbildung 1: Vorgeschlagenes Systemmodell für intelligente Catering-Services (IKS). Die Architektur integriert Benutzerinteraktion, Datenvorverarbeitung, Absichtserkennung, Lebensmittelempfehlung und Feedback-Mechanismen. Bitte klicken Sie hier, um eine größere Version dieser Abbildung anzuzeigen.
Verwendeter Datensatz
Um das intelligente Catering-System zu erstellen, haben wir mit einem Chatbot 283 Anfragen von einem nahe gelegenen Restaurant gesammelt. Diese Fragen, die eine Vielzahl von Kundenanfragen von Menüdetails bis hin zu Betriebszeiten umfassten, wurden manuell in 15 verschiedene Intent-Gruppen unterteilt. Dies garantiert eine lückenlose Abdeckung aller möglichen Benutzerinteraktionen mit dem System. Anrede, Verabschiedung, Wertschätzung, Catering, Öffnungszeiten, Umgebung, Kontaktinformationen, Fragen zu Zahlungen, heutiges Menü, Lieferalternativen, Menüfragen, Bestellvorgänge, Sonderangebote, Buchungen, Getränkeoptionen und Zugänglichkeit für Sitzgelegenheiten im Freien sind nur einige der spezifischen Aspekte von Kundenanfragen, die in den Intent-Klassen erfasst werden sollten. Tabelle 1 zeigt die Häufigkeit der Fragen in den einzelnen Zweckgruppen und die Einordnung nach dem thematischen Inhalt der Fragen. Zum Beispiel hatte die Kategorie Kontaktinformationen die meisten Abfragen, was darauf hindeutet, dass die Gäste sehr daran interessiert sind, herauszufinden, wie sie mit dem Restaurant in Kontakt treten können. Auf der anderen Seite erhielten die Kategorien Sitzgelegenheiten und Getränke die wenigsten Anfragen, was darauf hindeuten könnte, dass das Interesse der Verbraucher an diesen Themen geringer ist oder dass es bereits mehr Klarheit darüber gibt.
Kontaktloser Service durch NLP mit LDA
Die Benutzereingabe, mit der die Aktivität des Frameworks gestartet wird, wird zunächst vorverarbeitet, um den Text zu standardisieren und Rauschen zu eliminieren. Tokenisierung, Stoppworteliminierung und Lemmatisierung sind Beispiele für diese Vorbereitung, die die Daten für die weitere Analyse vorbereitet. Nach der Vorbearbeitung werden die Nutzeranfragen in numerische Darstellungen umgewandelt. Semantische Verknüpfungen und kontextuelle Relevanz gehören zu den sprachlichen Merkmalen, die von diesen Repräsentationen erfasst werden. Mehrere Machine-Learning-Klassifikatoren wurden verwendet, um diese Vektorrepräsentationen von Benutzerabfragen für die Klassifizierung von 16 vordefinierten Klassen (Intents/Tags) zu trainieren. Das Modell ruft die vorgegebene zugehörige Antwort ab und gibt sie an den Benutzer zurück, nachdem es die Abfrageabsichten des Benutzers genau vorhergesagt hat.
Vorverarbeitung
Die Zuverlässigkeit unserer Analyse wird durch die vorverarbeiteten Abfragen erheblich erhöht, die überprüfen, ob die eingehenden Daten konsistent formatiert und für das folgende Klassifizierungsverfahren relevant sind. Die Absichtsmuster (z. B. Begrüßungen wie Hallo, Hallo, Hey) wurden gesammelt und vorverarbeitet, indem Text in Kleinbuchstaben umgewandelt, Stoppwörter entfernt und Tokenisierung mit dem NLTK-Toolkit33 angewendet wurden. Tabelle 2 zeigt die Vorverarbeitungsschritte, die in dieser Studie befolgt wurden.
LDA-basierte Tag-Modellierung
Das System klassifiziert die Tags des Benutzers mit Hilfe der Support Vector Regression (SVR), so dass die Begrüßung des Benutzers vom System erkannt wird. Um die Fähigkeit des Systems zu verbessern, die Absicht der Nutzer zu antizipieren, haben wir neben Machine Learning (ML) und Deep Learning (DL)-Modellen auch konventionelle und moderne Textverarbeitungsmethoden gründlich untersucht. Unser Ziel war es, einen hochpräzisen Algorithmus zu entwickeln, der eine breite Palette von Benutzerfragen erfassen kann. In dieser Studie wurden die grundlegenden Strategien von Bag of Words (BoW) und TF-IDF aufgrund ihrer Benutzerfreundlichkeit und Wirksamkeit bei der Betonung der Worthäufigkeit und der Bedeutung von Wörtern im Text verwendet. Die Fähigkeit von Glove und Word2Vec, gemeinsam Worteinbettungen entsprechend dem Wortgebrauch zu erstellen, ermöglichte es ihnen, Wissen über Wortbedeutungen und Kontext zu vermitteln22.
Sobald die Daten vorbereitet sind, werden die Absichtsabfragen mithilfe der LDA-Methode (Latent Dirichlet Allocation) klassifiziert. Ziel ist es, mittels Text Mining mit der LDA-Methode die Zusammenhänge zwischen Begriffen zu analysieren und Muster in ihren Strukturen zu erkennen34,35. Da LDA unbeaufsichtigt und probabilistischer Natur ist, geht es davon aus, dass jedes Dokument in einem Korpus aus einer vorgegebenen Anzahl manuell definierter Themen besteht. Jedes Dokument in LDA hat das gleiche Gewicht und enthält einen Sack voller Wörter. Es wird davon ausgegangen, dass die Wörter jedes Dokuments ungeordnet sind. Ein Thema wird auch mit Hilfe einer Wahrscheinlichkeitsmassenfunktion von Wörtern beschrieben. Jedes Dokument verwendet eine Wahrscheinlichkeitsmassenfunktion, um Themen auszuwählen. Für die Absichtsklassifizierung wurde die latente Dirichlet-Allokation (LDA) unter Verwendung der GensimPython-Bibliothek34 angewendet.
In LDA werden die Absichten als die Verteilung über das Latente angesehen, die durch die LDA-Verteilungsluft bezeichnet wird, die als
bezeichnet wird. Basierend auf der Absichtsverteilung, die als θ(multinomial) bezeichnet wird, wird ein Muster ausgewählt, das die gegebene Absicht definiert, die Wahrscheinlichkeit von I gehört zur gegebenen Klasse C. Eine Dirichlet-Verteilung bezieht sich auf β, die das Muster in einen Beutel mit Wörtern kodiert. Unter Berücksichtigung der α und β ist sie definiert als die multivariate Verteilung mit N Wörtern, die sich auf M-Muster mit z-Absichten beziehen. Die Gruppe der N Terme wird als W bezeichnet, die als36 angegeben wird:
(1)
Durch die Integration über θ wird die Summation als Z deklariert, und das Produkt wird aus den Wahrscheinlichkeiten des Randes der einzelnen Absichten genommen, und die gesamte Absichtswahrscheinlichkeit wird berechnet als:
(2)
Die Muster, einschließlich der Intent-Variationen für Begrüßungen, sind Hallo, Hallo, Hey, Guten Morgen/Mittag/Vorabend und Hola. Während das System diese Muster erhält, findet es die Absicht des Benutzers als Begrüßung und antwortet darauf konsequent mit dem definierten Satz, wie z.B . Was kann ich Ihnen helfen? oder Wie kann ich Ihnen helfen? Wenn die Abfrage mit den vordefinierten 15 Klassen vom System nicht erkannt wird, stellt das System Restaurantinformationen bereit und schlägt dem Benutzer vor, mit dem Kundendienst zu kommunizieren. Das Ergebnis der LDA-basierten Tagmodellierung von Benutzerabfragen im Zusammenhang mit Begrüßungen ist in Abbildung 2 dargestellt. In ähnlicher Weise werden die Antworten für alle 15 Klassen ausgeführt, die sich auf die Benutzerabsichten (Queries) beziehen. Das Modell LDA verfügt über die folgenden Parameter. Die Anzahl der Themen (k) wird als 40 deklariert, Alpha ist auf 0,05 festgelegt, der Beta-Wert beträgt 0,04 und die Anzahl der Iterationen wird als 100 deklariert.
Lebensmittelvorschlag mit Bi-NN für ICS
Im Intelligent Catering System (ICS) werden Lebensmittel systematisch kategorisiert, um genaue Empfehlungen zu unterstützen. Jeder Menüeintrag kann entweder einen einzelnen Artikel (z. B. Burger, Snack, Getränk) oder eine Kombination von Elementen wie ein Mahlzeitenset (z. B. gebratenes Hähnchen mit einem kalten Getränk) darstellen. Diese Artikel sind in sechs Hauptkategorien unterteilt: Huhn, Burger, Snack, Getränk, Anzug und Tiffin. Zur Klarstellung: Anzug bezieht sich auf verpackte Mahlzeitensets, während Tiffin für traditionelle Mahlzeiten mit mehreren Artikeln steht. Jedes Lebensmittel wird durch drei Hauptmerkmale definiert: seinen Preis, seine Kategorie und einen Inhaltsvektor, der seine Zusammensetzung beschreibt. Diese strukturierte Kategorisierung ermöglicht es dem Empfehlungsmodell, die Kaufhistorie der Kunden sowohl auf Artikel- als auch auf Kategorieebene zu analysieren, wodurch die Fähigkeit des Systems verbessert wird, relevante Mahlzeiten und Kombinationen vorzuschlagen, die den Benutzerpräferenzen entsprechen. Alle Lebensmittel im ICS sind ein Satz, der als bezeichnet wird,
wobei N die Gesamtzahl der Lebensmittel im ICS bezeichnet. Für jedes Lebensmittel
in F
besteht es aus Angaben zu den Merkmalen des Lebensmittels und wird wie folgt bezeichnet:
(3)
wobei die Preise von Lebensmitteln die Kategorie der Lebensmittel bezeichnet,
wobei
C die Kategorien bezeichnet.
bezeichnet die Anzahl der Menüs, wobei
M die Menüs
bezeichnet und den Inhaltsvektor von Lebensmitteln bezeichnet, wobei
wobei
das Element des Inhaltsvektors ist und jeweils Hühnchen, Burger, Snack, Getränk, Anzug und Tiffin darstellt.
Die Benutzerdaten bestehen aus Details über den Benutzer, um die Funktionen des Benutzers zu kennzeichnen, die über die App oder den Nutzungsfluss abgerufen werden können. Für jeden Benutzer
werden die Funktionen wie folgt bezeichnet:
(4)
wobei
, gibt die Details über den Benutzer an, z. B. Alter und Geschlecht.
bezeichnet das Klickereignis des Benutzers, bei dem es sich um einen Vektor mit variabler Länge handelt, wobei
und t den Zeitpunkt des letzten Klickereignisses deklariert,
die positive Zahl ist und
die gesamte Flusssequenz bezeichnet, die den gesamten vom Benutzer getätigten Kauf angibt.
Bezeichnet die Liste der vom Kunden gekauften Lebensmittel, wobei
, k die Gesamtmenge der vom Benutzer gekauften Lebensmittel angibt.
Mit der Verwendung von F und U, die Lebensmittel bzw. Benutzerdaten bezeichnen, wird das Empfehlungssystem in ICS eingebettet. Das Ziel dieses Systems ist es, die Genauigkeit zu verbessern, um die Kaufabsicht des Benutzers zu verbessern. Das Problem des ICS wird wie folgt formuliert:
(5)
Gleichung (5) bezeichnet das Ziel des Problems, verbesserte Genauigkeitsergebnisse für das ICS-Problem zu finden, indem die Verlustfunktion reduziert wird, die in Gleichung (6) bezeichnet wird.
(6)
Dabei ist das vorhergesagte Ergebnis und
das tatsächliche Ergebnis. Das Modell schneidet besser ab, wenn der Wert der Verlustfunktion kleiner ist. Die Verlustfunktion wird verwendet, um die Diskrepanz zwischen dem vorhergesagten Wert des Modells und dem wahren Wert Y zu bestimmen. In diesem
(7)
wo
(8)
(9)
Dabei bezeichnet r die Trainingsdaten in X, und s ist die Nummer des gekauften Lebensmittelartikels eines Trainingsdaten. Das entwickelte ICS verwendete die Kreuzentropie als Verlustfunktion, die im folgenden Abschnitt beschrieben wird.
Conv-RNN-basierte Lebensmittelempfehlung
Durch die Analyse der Produktattribute, Benutzerbewertungen und Benutzerprofile bietet ein Conv-RNN-basiertes Empfehlungssystem den Benutzern Empfehlungen, die auf ihren Interessen basieren. Abbildung 3 zeigt das vorgeschlagene CRNN-Design. Die Conv-RNN-Modelle berücksichtigen häufig spezifische Informationen über den zeitlichen Kontext des Benutzers oder fügen sie automatisch hinzu, wenn sie Vorschläge machen. Wie gut ein Empfehlungssystem jedoch den Kontext der Vorschlagsanfragen versteht und nutzt, entscheidet oft darüber, wie effektiv es ist. Conv-RNN berechnet Vorhersagebewertungen basierend auf den dynamischen Merkmalen und Attributen des Elements und dem aktuellen Zeitkontext des Benutzers, um geeignete Empfehlungen für einen bestimmten Benutzer zu geben. Es ist unvermeidlich, dass Menschen, die ähnliche Dinge zur gleichen Zeit durchmachen, ähnliche Vorlieben haben. Die Wirksamkeit eines CNN-basierten zeitbewussten Systems für Empfehlungen hängt von seiner Fähigkeit ab, Benutzer zu finden, die am ehesten mit dem beabsichtigten Empfänger vergleichbar sind und denselben zeitlichen Kontext haben. So zeichnet CNN den zeitlichen Kontext auf, d. h. die zeitkritischen Informationen über die Aktivität des Benutzers. Die Eingabeschicht des CNN wurde dann mit den Benutzerattributen, Elementmerkmalen und Zeitinformationen gefüttert, um die ursprüngliche Matrix neu zu erstellen. Eine Methode zur Berechnung der endgültigen Ausgabe wird angegeben, sobald die Faltungsschicht zum Extrahieren von Features aus der Matrix verwendet wurde.
Aus den Faltungsschichten werden die Food-Click-Ereignisse mit Eqn (10) extrahiert
(10)
Dabei ist O die Ausgabegröße, X ist die Größe der Eingabedaten, F ist die Größe des Convolutional Kernels, a dient zum Füllen der Eingabedaten und S ist mehr als 1 und S ist der Kernel-Schritt. Das neuronale Netz kann komplexere Modelle modellieren, als wenn es auf die Simulation von Berechnungen zwischen benachbarten Schichten des Netzwerks beschränkt wäre, was es mit Uniformität, aber nur linearer Operation tut, da die Aktivierungsfunktion innerhalb der Stimulationsschicht verwendet wird, um nichtlineare Operationen durchzuführen. In einem neuronalen Netzwerk ist die Kommunikation von Schicht zu Schicht streng sequentiell. In Conv-RNN waren Aktivierungsfunktionen am weitesten verbreitet. Den herkömmlichen Tanh-, Sigmoid- und anderen Arten von Aktivierungsfunktionen fehlt ein Gradient und sie haben kleine, praktische Intervallbereiche. Wenn auch ein ressourceneffizienter nichtlinearer Betrieb verwendet wird, werden die Funktionen der gleichgerichteten linearen Einheit (ReLU) zum primären Instrument zur Überwindung dieser beiden Probleme.
Um die Recheneffizienz zu erhöhen, werden Merkmalsdaten von der Pooling-Schicht heruntergesampelt und nur spärlich verarbeitet. Die maximalen und durchschnittlichen Pooling-Methoden sind zwei bekannte Beispiele für Pooling-Algorithmen. MaxPooling bietet bessere Ergebnisse bei der Featureauswahl. MaxPooling hat die folgenden Funktionen ausgewählt:
(11)
Das Conv-RNN verwendet dann die vollständig verbundene Schicht unter Verwendung von zwei dichten Ansätzen, um den Conv-RNN-Schwanz mit weniger Merkmalsinformationsverlust neu zu trainieren. Rekurrente Schichten werden in neuronalen Netzen häufig für die Analyse sequenzieller Daten verwendet. Aufgrund von Verbindungen, die es ihnen ermöglichen, einen internen Speicher früherer Eingaben zu verwalten, behandeln rekurrente Schichten im Gegensatz zu herkömmlichen Feedforward-Schichten jede Eingabe separat. Dadurch eignen sich wiederkehrende Schichten besonders gut für Aufgaben mit Sequenzen, Zeitreihendaten oder anderen Arten von Informationen, bei denen die Reihenfolge der Eingaben eine Rolle spielt. Die Grundeinheit einer rekurrenten Schicht ist das rekurrente Neuron, das oft als RNN-Zelle bezeichnet wird. Wenn RNN-Zellen Eingaben nacheinander verarbeiten, behalten sie einen internen Zustand bei, der Daten aus vorherigen Eingaben enthält. Sein interner Zustand ändert sich in jedem Zeitschritt, was die Verarbeitung nachfolgender Eingaben beeinflusst. Die Ausgabeschicht zeigt dem Benutzer die Ergebnisse nach der Verwendung des SoftMax-Klassifikators an. Bevor die Felder, deren Merkmale als Index der eingebetteten Matrix kategorisiert sind, verwendet werden können, müssen diese zunächst in Ganzzahlen umgewandelt werden.
Die kategoriale Kreuzentropie-Verlustfunktion, die die Differenz zwischen den wahren Klassenbeschriftungen y und der projizierten Wahrscheinlichkeitsverteilung y' quantifiziert, wurde verwendet, um das Conv-RNN-Empfehlungsmodell zu trainieren. Der stochastische Gradientenabstieg (SGD) mit adaptiver Momentenschätzung (Adam) wurde verwendet, um die Modellparameter θ (Gewichte und Verzerrungen) zu verbessern. Die Parameter wurden bei jeder Trainingsiteration t wie folgt geändert:
(12)
wobei η die Lernrate ist,
der Gradient der Verlustfunktion in Bezug auf θ ist.
Die folgenden Taktiken wurden angewendet, um eine Überanpassung zu vermeiden. Während des Trainings wird die Dropout-Regularisierung (ρ=0,3) auf vollständig verknüpften Schichten verwendet, um Neuronen nach dem Zufallsprinzip zu deaktivieren. Wenn in 15 aufeinanderfolgenden Epochen keine Verbesserung zu beobachten war, wurde das Training aufgrund eines Validierungsverlusts vorzeitig abgebrochen.
Fünffache geteilte Kreuzvalidierung zur Bestätigung der Verallgemeinerungsleistung
Mit Hilfe einer Rastersuche auf dem Validierungssatz wurde eine Hyperparameter-Optimierung durchgeführt. Im Suchbereich waren die Anzahl der Filter für die Faltungsschicht 64, die Kernelgröße 3 x 3, die Anzahl der wiederkehrenden Schichten 100, die Batch-Größe, die Dropout-Rate 0,2 und die Lernrate 0,002 enthalten. Der verwendete Optimierer ist ADAM. Schließlich gibt die Ausgabeschicht die Ergebnisse der empfohlenen Lebensmittel als One-Hot-Codierungsvektor zurück, wobei vorgeschlagene Lebensmittel mit eins gekennzeichnet sind und andere Ausgaben mit 0 gekennzeichnet werden.
Vorhersage der Kundenzufriedenheit mit Conv-LSTM
In dieser Studie wurde das Convolution Long Short-Term Memory (Conv-LSTM) verwendet, um die Kundenzufriedenheit nach Beendigung des Caterings zu prognostizieren. Die Struktur von Conv-LSTM ist in Abbildung 4 dargestellt. Die Architektur von CNN umfasst Eingabeneuronen, eine Reihe von Faltungsschichten, Pooling, vollständig verbundene Schichten und Normalisierungsschichten37. Die Nervenzellen der Faltungsschicht sind durch einen schmalen Bereich mit der darüber liegenden Schicht verbunden, während die Aktivierungsneuronen der vollständig verknüpften Schichten vollständig mit den darunter liegenden Schichten verbunden sind. Conv-LSTM-Eingaben definieren explizit die Tensorformen und die zeitliche Granularität. Jede Eingabesequenz ist pro Kundenauftragssitzung (Zeitschritt = pro Bestellung) strukturiert, wobei die Einkaufsliste als Multi-Hot-Vektor kodiert und das zugehörige Zufriedenheitsniveau als numerischer Score dargestellt wird. Der resultierende Tensor hat die Form (Losgröße × Sequenzlänge × Merkmalsdimension).
Die Vorwärts- und Rückwärtsübertragung einer Funktion in CNN unterteilt Faktoren im Allgemeinen basierend auf ihrer Eingabe in verschiedene Gruppen. Zahlreiche CNN-Designs sind als Ergebnis der jüngsten Forschungsfortschritte entstanden. Wie in Gleichung (15) gezeigt, bezeichnen die drei Gewichte iw, rw und b die Eingabegewichtung, die wiederkehrende Gewichtung bzw. die Bias und die Bias , die in jedem LSTM-Block verwendet wurden.
(13)
Im Folgenden finden Sie eine Deklaration des Zellenzustands zum Zeitpunkt Schritt t:
(14)
wobei das Hadamard-Erzeugnis mit bezeichnet wird. Der Code für den verborgenen Zustand Ht von t lautet:
(15)
Die Hyperparameter und ihre Werte von Conv-LSTM werden wie folgt deklariert: Die Anzahl der Filter für die Faltungsschicht beträgt 64, die Kernelgröße beträgt 3 x 3, die LSTM-Einheiten sind 100 mit einer Dropout-Rate von 0,2, die Batchgröße beträgt 64, die Lernrate beträgt 0,002 und die Anzahl der Zeitschritte beträgt 50 mit dem Adam-Optimierer.
UML-Diagramm und Pseudo-Code für die Kundeninteraktion
Der dynamische Fluss der Wechselwirkungen im vorgeschlagenen System ist im UML-Sequenzdiagramm dargestellt (Abbildung 5). Das NLP-LDA-Modul verarbeitet die Anforderung des Benutzers (z. B. eine Essensbestellung oder eine Abfrage) für die Themenmodellierung und die Extraktion von Absichten. Nach der Verarbeitung erhält die Empfehlungs-Engine (Conv-RNN) die Anfrage und erstellt eine benutzerdefinierte Empfehlung. Zuletzt erhält der Benutzer eine Echtzeit-Antwort vom System. Diese Abfolge garantiert Transparenz bei der Umsetzung von Benutzereingaben in intelligente Service-Ausgaben und unterstreicht das modulare Zusammenspiel der Komponenten.
Der Conv-RNN-Empfehlungsalgorithmus wurde mit Pseudocode versehen, um die Reproduzierbarkeit zu verbessern. Es bietet einen Überblick über die sequentielle Berechnungslogik, die die Vorverarbeitung der Benutzeranforderung, die Verwendung von Faltungs- und rekurrenten Schichten für die Sequenzmodellierung und die Merkmalsextraktion, die Regularisierung und eine Softmax-Ausgabeschicht zur Generierung eines Vorschlags umfasst. Dieser Pseudocode bietet eine klare Sicht auf den Modell-Workflow auf Implementierungsebene, was mathematische Formulierungen verbessert.
Pseudo-Code: Conv-RNN-Empfehlungsalgorithmus
Eingabe: Benutzeranforderung U, historische Interaktionssequenz H
Ausgabe: Empfohlenes Lebensmittel R
- Vorverarbeitung von U → Tokenisierung, Einbettung mit Word2Vec
- Eingabesequenz S = [H, U] konstruieren
- Faltungsschicht anwenden:
S_conv = Conv1D(S, Filter, kernel_size)
- Durchlaufen Sie die rekurrente Schicht (RNN/GRU):
S_RNN = RNN(S_conv, hidden_units)
- Dropout für die Regularisierung anwenden
- Dichte Schicht mit Softmax-Aktivierung:
P = Softmax(W xS_rnn + b)
- Empfehlung auswählen:
R = argmax(P)
- Zurückgeben von R an den Benutzer