Forum: PC-Programmierung Begriffe vergleichen - KI zu kleinkariert?


von Frank E. (Firma: Q3) (qualidat)


Angehängte Dateien:

Lesenswert?

Schon mal jemand etwas mit KI gemacht?

Ich versuche mich im Auftrage eines befreundeten Dozenten an einem Tool, 
welches von Studenten erstellte sog. "Concept Maps" automatisiert mit 
einer Vorgabe vergleichen und bewerten soll. Die ConceptMaps werden 
einheitlich mit der Freeware CMapTools erstellt und liegen als XML vor.

Wem das nichts sagt: ConceptMaps sehen ähnlich aus wie Status-Diagramme 
oder Aktionsdiagramme. Sie bestehen aus "Knoten" (Zustände, Objekte) und 
dazwischen verlaufenden "Kanten" (Vorgänge, Beziehungen), siehe Bild.

Rein "mechanisch" lassen sich die Bestandteile dank XML gut isolieren in 
"concepts" (die Knoten), in "labels" (die Beschriftung/Benennung der 
Verbindungen) und "connections", mit welcher Verbindung welche Knoten 
verbunden sind.

Das Problem: Während die Beschriftung der Knoten in der Aufgabenstellung 
vorgegeben wird und damit auch bei den Studenten immer gleich ist, 
werden die Verbindungen von diesen frei benannt. Um nun festzustellen, 
dass z.B. die Beschriftung "umwandeln" und "konvertieren" in einem Falle 
als synonym (und damit richtig) gewertet werden sollen, will ich ein 
lokales LLM (z.B. gemma3 oder llama3.2) unter der Ausführung von Ollama 
benutzen.

Langer Rede kurzer Sinn: Trotz vielfältiger Bemühungen bei der 
Formulierung des Prompt, sind alle getesteten Modelle (die auf meinem 
Laptop M2 16GB laufen), extrem kleinkariert, geradezu Krümel kackend. 
Beispiel:

Frage: "Sind die Begriffe „umwandeln“ und „konvertieren“ 
umgangssprachlich auf dem Niveau von Grundschülern als gleichwertig zu 
betrachten? Antworte mit Ja“ oder „Nein“ und einer kurzen Begründung."

Antwort: "Nein. 'Konvertieren' impliziert oft eine explizite Umwandlung 
von einer Darstellung in eine andere, beispielsweise von einer 
Zahlensystem in ein anderes. 'Umwandeln' ist allgemeiner und kann sich 
auf eine Veränderung in Form, Struktur oder Funktion beziehen."

Wie bekomme ich das LLM "milder"?

: Bearbeitet durch User
von Michael D. (nospam2000)


Lesenswert?

Frank E. schrieb:
> Wie bekomme ich das LLM "milder"?

Nimm ein anderes, ggf. größeres Modell. Möglicherweise ist deine 
Hardware zu klein um bessere Antworten zu bekommen.

Oder verwende chatgpt et.al. um den Prompt zu optimieren.

Test bei  https://gemma3.cc/chat mit Gemma 3n
System: Du bist ein Sprachassistent für Grundschüler.
Du darfst ausschließlich mit “Ja” oder “Nein” antworten und musst immer 
eine kurze,
einfache Begründung geben.
Keine anderen Antworten sind erlaubt.

User: Sind die Begriffe „umwandeln“ und „konvertieren“ umgangssprachlich
auf dem Niveau von Grundschülern als gleichwertig zu betrachten?
=========
Antwort:
Ja, weil beide Wörter bedeuten, etwas in eine andere Form zu bringen.

Gemma 3 12B : Nein, weil “konvertieren” ein schwieriges Wort ist
Gemma 3 27B : Nein, weil “konvertieren” nicht jeder kennt.
manchmal passen die Antworten von 27b auch

  Michael

: Bearbeitet durch User
von Michael D. (nospam2000)


Lesenswert?

Probier es mal so

System: Du bist ein Sprachassistent
Du darfst ausschließlich mit “Ja” oder “Nein” antworten und musst immer 
eine kurze,
einfache Begründung geben.
Keine anderen Antworten sind erlaubt.

User: Ist die Bedeutung der Begriffe „umwandeln“ und „konvertieren“ 
umgangssprachlich als gleichwertig zu betrachten? Es geht um eine 
ungefähre Aussage.

: Bearbeitet durch User
von Yalu X. (yalu) (Moderator)


Lesenswert?

Wer als Werkzeug nur einen Hammer hat, für den ist jedes Problem ein
Nagel ;-)

Oder etwas konkreter: Verabschiede sich von der Vorstellung, dass KI die
optimale (oder gar einzige) Lösung für sämtliche Probleme dieser Welt 
ist.

Was du suchst, ist keine KI, sondern ein Thesaurus (Synonymwörterbuch),
wie bspw.

  https://www.openthesaurus.de/

  https://www.openthesaurus.de/synonyme/umwandeln

Die Daten kannst du von dort sogar herunterladen und lokal verarbeiten.

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Michael D. schrieb:
> System: Du bist ein Sprachassistent
> Du darfst ausschließlich mit “Ja” oder “Nein” antworten und musst immer
> eine kurze,
> einfache Begründung geben.
> Keine anderen Antworten sind erlaubt.
>
> User: Ist die Bedeutung der Begriffe „umwandeln“ und „konvertieren“
> umgangssprachlich als gleichwertig zu betrachten? Es geht um eine
> ungefähre Aussage.

Danke für den Versuch. Das Ergebnis:

Nein.
Es gibt subtile Unterschiede in der Bedeutung.

(Gemma3)

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Yalu X. schrieb:
> Wer als Werkzeug nur einen Hammer hat, für den ist jedes Problem
> ein Nagel ;-)

> Was du suchst, ist keine KI, sondern ein Thesaurus (Synonymwörterbuch),
> wie bspw.
>
>   https://www.openthesaurus.de/
>   https://www.openthesaurus.de/synonyme/umwandeln


Ja und Nein.

Für ein einzelnes Wort sind die Ergebnisse tatsächlich beeindruckend.

In den ConceptMaps kommen für die Connections aber auch Ausdrücke wie 
"lesen von", "gehen zu", "kann nicht" usw. vor - da bleibt Openthesaurus 
stumm. Das ist dann doch wohl eher für eine KI ...

Manchmal sind zunächst sehr einfach aussehende Dinge deutlich 
komplizierter als erwartet.

von Michael D. (nospam2000)


Lesenswert?

Frank E. schrieb:
> Danke für den Versuch. Das Ergebnis:
>
> Nein.
> Es gibt subtile Unterschiede in der Bedeutung.
> (Gemma3)

Welches genaue Gemma3 Untermodell?

Mit Gemma 3 12B auf https://gemma3.cc/chat passt es einigermaßen.

Nächster Versuch, verschieben der Randbedingungen in den System Prompt
=================
System: Du bist ein Sprachassistent
Du darfst ausschließlich mit “Ja” oder “Nein” antworten und musst immer
eine kurze,
einfache Begründung geben.
Keine anderen Antworten sind erlaubt. Es geht um eine ungefähre Aussage, 
subtile Unterschiede sollen ignoriert werden.

User: Ist die Bedeutung der Begriffe „umwandeln“ und „konvertieren“
umgangssprachlich als gleichwertig zu betrachten?
=================
Antwort
Ja, weil beide Wörter eine Veränderung von etwas in etwas anderes 
beschreiben.
=================

Mit dem System Prompt kommt sogar sowas raus:
User: Ist die Bedeutung der Begriffe „laufen“ und „gehen“
umgangssprachlich als gleichwertig zu betrachten?
Antwort: Ja, weil beide Wörter eine Fortbewegung beschreiben.


Yalu X. schrieb:
> Wer als Werkzeug nur einen Hammer hat, für den ist jedes Problem ein
> Nagel ;-)

Jetzt lass es uns doch erstmal mit dem Hammer probieren, notfalls mit 
dem Vorschlaghammer :-)

Es geht ja nicht unbedingt darum dieses konkrete Problem zu lösen 
sondern um den Umgang mit dem Hammer zu erlernen.

  Michael

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Michael D. schrieb:

> Mit Gemma 3 12B auf https://gemma3.cc/chat passt es einigermaßen.
>

Einfach nur "gemma3:latest", von dieser Seite: 
https://ollama.com/library/gemma3

Ich versuchh mal, ob 12B auf meinem Macbook läuft ... melde mich wieder, 
dauert etwas.

: Bearbeitet durch User
von Yalu X. (yalu) (Moderator)


Lesenswert?

Frank E. schrieb:
> In den ConceptMaps kommen für die Connections aber auch Ausdrücke wie
> "lesen von", "gehen zu", "kann nicht" usw. vor - da bleibt Openthesaurus
> stumm. Das ist dann doch wohl eher für eine KI ...

Ok, das war mir nicht bewusst. Deswegen ein neuer Ansatz (diesmal mit KI
;-)).

Frank E. schrieb:
> Antwort: "Nein. 'Konvertieren' impliziert oft eine explizite Umwandlung
> von einer Darstellung in eine andere, beispielsweise von einer
> Zahlensystem in ein anderes. 'Umwandeln' ist allgemeiner und kann sich
> auf eine Veränderung in Form, Struktur oder Funktion beziehen."

Da hat die KI ja völlig recht.

Ob zwei Ausdrücke synonym sind oder nicht, hängt sehr oft vom Kontext
ab. Du musst also in dem Prompt neben den beiden auf Synonymität
abzufragenden Labels auch irgendwie den Kontext mitliefern.

Bei der Concept Map steckt der Kontext eines Labels im Start- und
Endknoten des zugehörigen Pfeils.
1
          Label
2
Cstart ----------> Cend

Aus Cstart, L und Cend lässt sich (zumindest in deinen Beispielen)
leicht eine Aussage bilden, die sowohl das Label als auch den Kontext
enthält, nämlich

  <Cstart> <Label> <Cend>

Um zwei Labels Label1 und Label2 zu vergleichen, setzt du sie in den
gleichen Kontext (also entweder in den Kontext von Label1 oder den von
Label2) und fragst die KI nach der Übereinstimmung der beiden Aussagen

  <Cstart> <Label1> <Cend>

  <Cstart> <Label2> <Cend>

Um die Antwort leichter auswerten zu können, bittest du die KI, ihre
Entscheidung zu quantifizieren.

Beispiel:

Die Cocept Map enthält die beiden folgenden Beziehungen:
1
          frisst
2
Katze ------------> Maus
3
4
         verzehrt
5
Wolf --------------> Schaf

Um zu ermitteln, ob "frisst" und "verzehrt" in diesem Zusammenhang
synonym sind, generierst du die Anfrage
1
Bewerte die Übereinstimmung der beiden folgenden Aussagen auf einer
2
Skala von 0 (keine Übereinstimmung) bis 10 (perfekte Übereinstimmung):
3
4
"Katze frisst Maus"
5
6
"Katze verzehrt Maus"

oder (mit dem anderen Kontext):
1
Bewerte die Übereinstimmung der beiden folgenden Aussagen auf einer
2
Skala von 0 (keine Übereinstimmung) bis 10 (perfekte Übereinstimmung):
3
4
"Wolf frisst Schaf"
5
6
"Wolf verzehrt Schaf"

Du kannst auch beide Anfragen stellen und von den Antworten den
Mittelwert bilden. Das ist insbesondere dann sinnvoll, wenn die beiden
Kontexte sehr unterschiedlich sind.

ChatGPT liefert in beiden Fällen die Bewertung 9 von 10 und eine
nachvollziehbare Begründung. Tatsächlich hat "frisst" und "verzehrt" in
diesem Kontext fast die gleiche Bedeutung.

Nun behalten wir das "frisst" bei und ersetzen "verzehrt" nacheinander
durch andere Texte:

- "ernährt sich von" -> 7 von 10
- "jagt" -> 4 von 10
- "spielt mit" -> 2 von 10
- "hat längeren Schwanz als" -> 0 von 10

Auch diese Ergebnisse sind sehr gut nachvollziehbar.

Du musst jetzt durch Tests mit anderen Beispielen einen geeigneten
Schwellwert für die Bewertung finden. Er wird vermutlich irgendwo im
Bereich von 6 bis 8 liegen.

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

@ Yaslu.X:

Vielen Dank für die umfangreichen und gehaltvollen Ausführungen, werde 
ich versuchen umzusetzen.
Ich bin aber jetzt erstmal für einige Stunden unterwegs, melde mich 
wieder.

Frage für später: Ist es sinnvoll die "temperature" auf Null zu setzen, 
um auf die gleiceh Frage auch möglichst immer die gleiche Antwort zu 
bekommen?

von J. H. (neanderthaler)


Lesenswert?

Die KI von DuckDuckGo reagiert auf geschickteres Prompting mit einer 
geschickteren Antwort:
1
Du bist ein Sprachassistent für Grundschüler. Du darfst ausschließlich mit “Ja” oder “Nein” antworten und musst immer eine kurze, einfache Begründung auf dem Niveau von Grundschülern geben.
2
3
Sind die Begriffe „umwandeln“ und „konvertieren“ umgangssprachlich als gleichwertig zu betrachten?
4
.
5
Mistral Small 3
6
7
Ja, weil man mit beiden Wörtern sagen kann, dass man etwas in etwas anderes verändert.

Tipp: Mal mit Prompt-Engineering auseinandersetzen.

: Bearbeitet durch User
von Michael D. (nospam2000)


Lesenswert?

ich habe jetzt mal folgendes verwendet:
# ollama run gemma3:4b-it-qat
/set system "Du bist ein Sprachassistent der Begriffe vergleicht. Du 
musst immer mit 'Ja' oder 'Nein' sowie einer Wahrscheinlichkeit und 
einer ganz kurzen, einfachen Begründung antworten. Es geht um eine 
ungefähre Aussage, subtile Unterschiede sollen ignoriert werden. Es geht 
um umgangssprachliche Vergleiche zwischen Begriffen, d.h. ob diese eine 
gleichwertige Bedeutung haben"
/set parameter temperature 0
vergleiche „umwandeln“ und „konvertieren“

Antwort:
Ja, Wahrscheinlichkeit: 95%. Beide bedeuten eine Veränderung, aber 
“unwandeln” klingt, als würde man etwas komplett neu erschaffen, während 
“konvertieren” eher das Umwandeln in ein anderes Format bedeutet.

von Harald K. (kirnbichler)


Lesenswert?

Michael D. schrieb:
> aber “unwandeln” klingt, als würde man etwas komplett neu erschaffen,

Aha. KI-Slop.

von Johnny B. (johnnyb)


Lesenswert?

Michael D. schrieb:
> ich habe jetzt mal folgendes verwendet:
> # ollama run gemma3:4b-it-qat

Kimi K2 antwortet beim selben Prompt so:
Ja, 90 % – beide bedeuten „etwas in etwas anderes umändern“.

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Man lernt ja (hoffentlich) nie aus. Also bin ich bei meinen Recherchen 
auf eine ähnliche, aber doch deutlich effektivere Art der KI-Nutzung zur 
Ermittlung der semantischen Abstände (bzw. Nähe) von Begriffen 
gestossen.

Die Stichworte dazu lauten "embedding" und "vektoren". Man kann mit 
einem geeigneten Prompt ein allgemeines LLM oder besser noch, ein darauf 
spezialisiertes Modell (mxbai-embed-large, nomic-embed-text ...) dazu 
bringen, diese Daten herauszurücken.

Dieses "Vektorisieren" macht grundsätzlich jedes LLM, um überhaupt zu 
verstehen, was man von ihm will. Die darauf spezialisierten Modelle sind 
aber auf das Notwendigste abgespeckt für "normale" Dialoge garnicht zu 
gebrauchen. Dafür sind sie rel. klein, schnell und genau dafür 
optimiert.

Ich bin gerade dabei, mir das Thema zu erschließen und in meinem 
Programmcode einzubauen. Bei ersten Tests erhalte ich Ergebnisse nach 
diesem Prinzip:

{
  "Master": "Auto",
  "Ähnlichkeiten":
  {
    "Fahrzeug": 0.94,
    "Bus": 0.88,
    "Tisch": 0.12,
    "Computer": 0.21,
    "PKW": 0.96,
    "Zug": 0.76
  }
}

: Bearbeitet durch User
von Helmut H. (helmuth)


Angehängte Dateien:

Lesenswert?

Habe kürzlich mit drei deutschsprachigen SBERT Modellen probiert. Sehr 
leicht in Python einzubinden, aber Ergebnisse nicht wirklich 
trennscharf:

Vergleich mit  Katze frisst Maus
1
 T-Systems-onsite/german-roberta-sentence-transformer-v2
2
Katze verspeist Maus   0.876
3
Katze liebt Maus       0.787
4
Katze verzehrt Maus    0.953
5
Katze verehrt Maus     0.804
6
7
 deepset/gbert-base
8
Katze verspeist Maus   0.718
9
Katze liebt Maus       0.860
10
Katze verzehrt Maus    0.706
11
Katze verehrt Maus     0.792
12
13
 aari1995/German_Semantic_STS_V2
14
Katze verspeist Maus   0.976
15
Katze liebt Maus       0.864
16
Katze verzehrt Maus    0.980
17
Katze verehrt Maus     0.779

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.