chatgpt ist schon seit geraumer Zeit ein Diskussionsthema und es gibt unendlich viel Material zu diesem Thema im Internet. Es ist jedoch so schön und vielfältig, dass Sie immer noch mindestens ein weiteres Material schreiben und eine weitere Diskussion anstoßen können, was wir jetzt tun werden. Ich beschäftige mich mit Datenanalyse und Softwareentwicklung und seit Anfang dieses Jahres ist ChatGPT mein treuer Assistent. Früher bin ich irgendwie nie dazu gekommen, das brillante neuronale Netzwerk auf seine Fähigkeit hin zu testen, alltägliche Programmierprobleme zu lösen, aber als ich dazu kam, machte das Leben sofort mehr Spaß. Der Zweck dieses Beitrags besteht darin, einige der Fähigkeiten von ChatGPT im Bereich der Arbeit mit Code zu zeigen und Ihre erfolgreichen Eingabeaufforderungen zu teilen (und natürlich etwas über Ihre erfolgreichen Eingabeaufforderungen und Erfahrungen zu erfahren). Hier beschreiben wir ein kleines und eher „Spielzeug“-Projekt, das nicht sehr groß angelegt und komplex sein musste, uns aber ermöglichte, die folgenden wichtigen Aufgaben abzudecken: • Debugging (Fehler im Code korrigieren); • Code gemäß den Anweisungen schreiben; • Erstellen einer Textzusammenfassung der geleisteten Arbeit (in geringerem Umfang). Sie können den vollständigen Chat lesen Hierund ein Notizblock mit dem Code ist zu finden Hier (Krokodile.ipynb).
Auf der Suche nach Krokodilen
Wir haben also ein Ziel: in Wikipedia alle Informationen über Krokodile zu finden, die es gibt (vom Lebensraum bis zu den Kochmethoden). Diese Aufgabe gehört im Großen und Ganzen zum Bereich der Verarbeitung natürlicher Sprache. Es umfasst folgende Aufgaben: • Datenerhebung (Links auf Wikipedia folgen, Artikel lesen und bearbeiten); • Bestimmung der Relevanz (Übereinstimmung des Texts des Artikels mit dem angegebenen Thema); • Speichern von Artikeln zum Suchthema. Und noch eine wichtige Einschränkung: Ich schreibe selbst keine einzige Codezeile, sondern weise nur GhatGPT an. Gehen.
Schritt 1. Problemstellung
Beschreiben wir zunächst die Rolle, die GhatGPT spielt, und den allgemeinen Überblick über die Aufgabe (etwas später werde ich jeden Schritt einzeln beschreiben, daher könnte die Beschreibung der Aufgabe ganz am Anfang möglicherweise weggelassen werden).
Rolle von GhatGPT – Spezialist für die Verarbeitung natürlicher Sprache (arbeitet in seinem Fachgebiet). Formale Beschreibung der Aufgabe: Wir beginnen mit der Seite „Krokodile” und gehen Sie nacheinander alle darin enthaltenen Links durch. Wenn der verlinkte Artikel relevant ist (über Krokodile), speichern wir ihn und sammeln Links von dieser Seite. Wenn der Artikel irrelevant ist, überspringen Sie die Seite und fahren Sie fort. Und so weiter, bis wir die gesamte Wikipedia ausgelöscht haben (oder eine vorgegebene Grenze erreicht haben, aber dazu später mehr).
Schritt 2. Bestimmung der Relevanz
Relevanz ist der Grad, in dem der Artikeltext mit der Suchanfrage übereinstimmt. Es wird auf unterschiedliche Weise gemessen, aber in unserem Fall ist es binär: Der Artikel entspricht entweder der Anforderung oder nicht, ohne Halbtöne. Um unsere Arbeit zu vereinfachen (und diesen Beitrag nicht in eine dreibändige Aufsatzsammlung zu verwandeln), werden wir die Relevanz außerdem anhand des Vorhandenseins oder Fehlens bestimmter krokodilbezogener Begriffe im Artikel bestimmen. Wir werden GhatGPT bitten, eine Reihe von Begriffen zu generieren. Der erste Ansatz zur Erstellung einer Wortliste verlief mittelmäßig: Der Assistent nahm die zuvor geäußerte Aussage zu wörtlich und fügte neben den Begriffen „Krokodil“, „Alligator“ und „Gharial“ („Krokodil“, „Alligator“) „Gharial“) schlug „Flüsse“ und „Wilderei“ („Flüsse“, „Wilderei“) vor, also Begriffe, für die eine Abfrage Artikel über andere Tiere zurückgeben könnte, die wir nicht benötigen. Darüber hinaus schlug er viele doppelte Begriffe vor, zum Beispiel „Krokodilleder“ und „Krokodilanatomie“ – „Krokodilhaut“ und „Anatomie der Krokodile“. Es ist leicht zu verstehen, dass die Ergebnisse für beide Phrasen vollständig in den Ergebnissen für das Wort „Krokodil“ enthalten sind.
GhatGPT verstand die Aufforderung zur Entfernung doppelter Begriffe und Begriffe, die sich möglicherweise nicht nur auf Krokodile beziehen, nicht und entschied sich daher für eine einfachere Sprache.
Am Ende haben wir uns für die folgende Liste entschieden: • „Krokodil“, • „Crocodylidae“, • „Crocodylus“, • „Alligator“, • „Kaiman“, • „Gavial“, • „Krokodil“. Im Allgemeinen wird es funktionieren, Sie können weitermachen.
Als Relevanzmetrik schlägt GhatGPT vor TF-IDF. Es ist nicht das neueste oder effizienteste verfügbare Tool, aber es funktioniert gut für uns. Ohne auf Anfragen zu warten, bietet der fleißige Assistent sofort den Code an:
Schritt 3. Schreiben Sie den Code (wir erklären ChatGPT, wie man Code schreibt)
Im ersten Schritt (Textvorbereitung) empfiehlt es sich lediglich, Satzzeichen zu entfernen und den Text Wort für Wort aufzuteilen. Da es sich um Wikipedia-Artikel, also Webseiten, handelt, müssen wir die HTML-Tags entfernen. Dann ist es notwendig, Stoppwörter zu entfernen (die häufig vorkommen, aber keine große Bedeutung haben, zum Beispiel Präpositionen) und alle Wörter in eine einzige Form zu bringen (zum Beispiel die Wörter „Krokodile“ und „Krokodil“) Form „Krokodil“) – für Englischsprachige reicht der Text aus entstammen. Derselbe Satz von Transformationen muss auf unsere Liste von Schlüsselwörtern angewendet werden (in diesem Fall nur die Wortstammbildung und die Umwandlung aller Wörter in Kleinbuchstaben). Wir beschreiben alle diese Transformationen im Text und erhalten eine verbesserte Funktion:
Der nächste Schritt besteht darin, TF-IDF endgültig zu implementieren, da er es vorgeschlagen und dann beschlossen hat, die Anzahl der Vorkommen von Begriffen zu zählen, was völlig primitiv ist. Die Anfrage ist in diesem Fall einfach: „Ersetzen Sie Ihre Relevanzmetrik durch TF-IDF.“
Zusätzlich zu den Funktionen bietet ChatGPT freundlicherweise ein Beispiel zum Testen der Funktionsweise an:
Nutzen wir es und erhalten das Ergebnis „Der Artikel ist nicht relevant“, was offensichtlich nicht wahr ist. Na toll, wir wollen das Debuggen regeln!
Die Korrektur erfolgt in mehreren Schritten (genau wie beim Menschen). Bei jedem Schritt schlägt ChatGPT vor, was möglicherweise schief gelaufen ist, und fügt dem Code Befehle hinzu, um die Ergebnisse auszudrucken. Das Mitbringen von Screenshots unserer Korrespondenz, in denen alles einzeln funktioniert, aber nicht zusammen funktioniert, wird diesen Beitrag zu lang machen, deshalb werden wir sie weglassen. Sie können zum Chat gehen und den Debugging-Teil selbst lesen. Es beginnt hier:
Kurz gesagt bestand die Lösung darin, der TF-IDF-Berechnungsfunktion einen „token_pattern“-Parameter hinzuzufügen. Dadurch war es schließlich möglich, den Text des Artikels mit Schlüsselwörtern aus der Liste zu kombinieren und das erwartete Ergebnis zu erhalten (der generierte Artikel ist für die Anfrage relevant). Der letzte Schritt besteht darin, eine Funktion zum Crawlen von Wikipedia zu schreiben.
Der erste Versuch geriet in eine Endlosschleife, weil ChatGPT vergessen hatte, die Links zu markieren, denen es bereits gefolgt war. Darüber hinaus begann er, Links zu umgehen, die sich nicht auf Artikel, sondern auf Navigationselemente beziehen. Nur noch zwei Schritte, um die Mängel aufzuzeigen – und schon haben wir fertige Funktionen in der Tasche.
Das Ergebnis ist die folgende Liste mit zehn Artikeln: • „https://en.wikipedia.org/wiki/Krokodil“; • „https://en.wikipedia.org/wiki/Crocodile_(Begriffsklärung)“; • „https://en.wikipedia.org/wiki/Eozän“; • „https://en.wikipedia.org/wiki/Holocene“; • „https://en.wikipedia.org/wiki/Triassic“; • „https://en.wikipedia.org/wiki/Jurassic“; • „https://en.wikipedia.org/wiki/Kreide“; • „https://en.wikipedia.org/wiki/Neogene“; • „https://en.wikipedia.org/wiki/Nilkrokodil“; • „https://en.wikipedia.org/wiki/Salzwasserkrokodil“. Meiner Meinung nach gar nicht so schlecht für ein paar Stunden Arbeit. Wenn Sie mit etwas anderem als Krokodilen experimentieren möchten, wissen Sie, was zu tun ist.
Schritt 4. Zusammenfassung
Am Ende stellte ChatGPT seine Fähigkeit unter Beweis, die geleistete Arbeit zu beschreiben.
Manchmal gebe ich ihm meinen Code, damit er mir eine solche Schlussfolgerung schreiben kann, denn das Experimentieren und Schreiben von Funktionen macht mir Spaß, das Beschreiben dann aber nicht. Ehrlich gesagt erweisen sich diese Beschreibungen immer noch als oberflächlich und unvollkommen, aber die Korrektur des fertigen Textes ist immer noch einfacher, als einen eigenen Text von Grund auf zu schreiben (ich schreibe diesen Beitrag ehrlich gesagt von Grund auf mit meinen eigenen Händen!).
Abschluss
Moderne Probleme erfordern moderne Lösungen. ChatGPT ist nur eines der Tools, mit denen Programmierer (und andere) schneller arbeiten können. Um alle verfügbaren Tools zu beschreiben, müsste man ein ganzes Buch schreiben. Im Vorgriff auf die Frage „Was werden Sie tun, wenn Ihnen die KI Ihren Job wegnimmt?“ – natürlich einen Blog schreiben! Teilen Sie Ihre Erfahrungen mit der Verwendung von ChatGPT für Arbeitsaufgaben in den Kommentaren. Haben Sie besonders gute Anregungen oder Beobachtungen, wie man sie am besten schreibt? (Übrigens schreibe ich auch einen Beitrag über Empfehlungen, wie man eine gute Aufforderung schreibt, und wenn jemand seine Erfahrungen teilt, wird es mir helfen.)
704 zeigte
57 Entdeckungen
{„entityType“:“post“,“entityId“:1221173,“Auszeichnungen“:[]}