Dieses Projekt beschäftigt sich mit der Erkennung von gefälschten Bewertungen (Fake-Reviews) auf Online-Plattformen. Hierbei wird ein multimodaler Ansatz verfolgt, der auf den verschiedenen Datenmodalitäten Text, Bild und tabellarische Metadaten basiert.
-
nb_generate_dataset.ipynb: In diesem Notebook werden relevante Informationen aus den Daten extrahiert, verarbeiten, Daten herausgefiltert. Als Resultat wird der Basissätzereal_base_sent_reduced.csvgeneriert. -
nb_generate_deepfakes.ipynb: Auf Basis der Kategorie aus Notebook 1 werden hier auf allen Modalitäten Fake-Reviews generiert. Hier werden der echte Datensatzbase_....csvund der gefälschte Datensatzfake_base_gpt_3_...zusammengeführt zumerged_fake_real.csv. Dieser Datensatz dient als neue Ausgangsbasis für die Detektion. -
nb_feature_extraction.ipynb: Hier werden die Features für alle Modalitäten extrahiert und im Datensatzfeatures_enrichted[..].csvgespeichert. Dieser Datensatz wird für die Detektion herangezogen. -
nb_fake_detection.ipnyb: Zuerst wird der Datensatz in Trainings-, Validierungs- und Testdatensatz aufgeteilt (detection_train.csv,detection_val.csvunddetection_test.csv). Anschließend werden XGBoost, Random Forest und TabNet trainiert und die Hyperparameter anhand des Validierungsdatensatzes optimiert. Abschließend wird das Modell evaluiert. -
nb_generated_gpt3_finetune_datasets.ipynb: In diesem Notebook werden verschiedene GPT3 Finetunes vorbereitet und dafür benötigte Datensätze erzeugt. -
nb_frontend_showcase.ipynb: Hier für die Präsentation anhand einer prototypischen Frontend das Artefakt vorgestellt. Durch Auführen aller Zellen, kann die Frontendanwendung gestartet werden. Zum einen besteht diese aus einem Quiz: "Fake oder Echt", worin man testen kann ob man selbst erkennt ob es sich um eine Deepfake oder um eine echte Review handelt. Der zweite Teil der Frontend-Anwendung "Generierung mulitmodaler Deepfakes" verdeutlicht wie einfach multimodale Deepfakes mittels generativer KI erstellt werden können. Dies verdeutlich die (zukünftige) Relevanz von multimodalen Detektionsmethoden.
Die bedeutenden Datensätze sind im Order abgelegt 01_Data/data_cleaned_processed/ abgelegt. Die rohe (und leicht vorverarbeitete) Datensätz unter 01_Data/raw_data/. Für die Finetunes verwendeten Datensätze sind in 01_Data/gpt3_finetunes abgelegt.
-
real_base_sent_reduced.csv: enthält Informationen von 704 echten multimodalen (Text, Bild, Metainformationen) echten Google Maps Reviews, zufällig ausgewählt aus über ca. 9000 multimodalen Reviews vonl.01_Data\raw_data\dataset_weitere_forschung_relCols.csvDer Datensatz wurde schon auf wesentliche Spalten reduziert und wird im Notebooknb_generate_dataset.ipynbgeneriert. -
fake_gpt3_all_finetunes_sent__dalle_tab.csv: bildet die Fake-Reviews ab, alle Modalitäten mit unterschiedlichen Technologien erzeugt und als Spalte angehängt (GPT3 Finetune, DALL-E-2, CTGAN und Faker genutzt). Wird in Notebooknb_generate_deepfakes.ipynberzeugt. Darüber lässt sich auch auf die künstliche genierten Bilder zugreifen. Hier sind auch die Ergebnisse der verschiendeenen Finetune-Varianten enthalten. -
base_for_feature_extraction.csv: bildet den zusammengesetzten Datensatz aus 704 multimodalen Fakes und 704 Echten Reviews ab, mit URL zu den echten und gefakten Bildern. Ist Grundlage für Feature Extraction und Detektion. Darüber lässt sich auch auf die künstliche genierten Bilder zugreifen. Als Text wird dazu die Finetune-Variante FT v4 verwendet. -
features_enriched_tab_img_text.csv: ist mit den extrahierten Features aller Modalitäten angereichert. Wird im Notebooknb_feature_extraction.ipynberstellt. Nach einigen kleineren preprocessing Schritten nochmals in Form vonfeatures_enriched_tab_img_text_preproc.csvabgespeichert. Bildet die Basis für den Data Split bzw. die Detektion. -
Datensätze für den Data Split:
detection_train.csvdetection_test.csvdetection_val.csv
Es ist wichtig, dass alle Modelle und alle Modalitäten immer auf den gleichen Daten trainiert, getuned und evaluiert werden. Deshalb werden Datensätze mit 80:20 Split Train_Val:Test und nochmals 80:20 Split Train:Val erzeugt. Zu Beginn von Notebook nb_fake_detection.ipnyb werden diese abgespeichert.
results_image_classifier.csv: Dort ist die separate Auswertung des alternativen "abgeschlossenen Bildklassifikator-Ansatzes" ist unter aus dem Notebooknb_generated_gpt3_finetune_datasets.ipynbabgespeichert
- Die künstlich generierten Bilder von DALL-E-2 können über die Datensätze
base_for_feature_extraction.csvsowiefake_gpt3_all_finetunes_sent__dalle_tab.csvabgerufen werden. Um das zu ermöglichen sind die Bilder im Ordner 02_Images/ gehostet. - Die rohe Daten mit den unverarbeiteten Google Maps Reviews finden sich im Ordner 01_Data/raw_data. Je nach Kategorie (Restaurant,Hotel und Aktivität) findet sich auch eine Auflistung alle potenziell verfügbaren Spalten, z.B. Hier alle Spalten der gescrapten Aktivitäten.
- Es wurden mehrere Varianten von GPT3 Finetunes entwickelt und auf den Datensatz angewendet. Die hierfür benötigte Datensätze (inkl. Prompt und Prompt-Completions) sind unter 01_Data/finetuning/ abgespeichert.
- Die SHAP Graphiken sind im Ordner 02_Images/graphics abgelegt,
- Visualisierungen des Bild-Features (durch Aktive Maximierung-Technologie) in 02_Images/visualizations_image_features
- Einige nicht direkt verwendete Dateien, die evtl. für zukünftige Untersuchungen relevant bleiben könnten, sind im Ordner 09_outdated_archived_or_rejected_approaches abgelegt. Darunter fallen auch Ansätze mit anderen Technologien (Stable Diffusion, GPT-2, GPT-3.5 Turbo, AutoTrain), die letztendlich nicht verwendet wurden. Außerdem ist dort ein gescrapter Datensatz multimodaler Amazon-Reviews abgelegt. Ergebnisse von Zwischenschritte sind teilweise ebenfalls dort abgelegt.
- comparison_finetune_variations_50sample.xlsx stellt einen übersichtlich für den Vergleich der Finetunes FT2-4dar (Anmerkung: FT3 in zwei Versionen, 3.2 auf Basis von 3.1 weitertrainiert)
Die Ergebnisse der vergleichenden Untersuchung in Abhängigkeit der Modalitäten und der drei verwendeten ML-Methoden XGBoost, Random Forest und TabNet:
Zum Starten der Demoanwendung: Alle Zellen des Notebooks nb_frontend_showcase.ipynb ausführen. Für den "Ein-Klick-Deepfake-Generator" noch den eigenen OpenAI-Key reinladen.
demo_one_click_deepfake_generator.mp4
Demo-Anwendung zeigt nicht das finegetunte Modell, welches tatsächlich für die Textgenerieung des Datensatzes verwendet wurde, sondern ein abgewandelter, weniger trainierter Finetune davon.
demo_quiz.mp4
Für eine detaillierte Analyse wurden die Features für jede Modalität und Modalitätskombination mittels SHAP am Beispiel des XGBoost-Verfahren analysiert. Einige Plots sind hier aufgelistet:







