Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Wie bringe ich einem Computerprogramm die Sprache bei?
Xerepp
myCSharp.de - Member



Dabei seit:
Beiträge: 2

Themenstarter:

Wie bringe ich einem Computerprogramm die Sprache bei?

beantworten | zitieren | melden

Hallo, ich bin neu in diesem Forum,

ich habe ein leichtes Verständnisproblem, wie bringe ich einem Computerprogramm die Sprache bei?

Es gibt hier verschiedene Ansätze, der einfachste, man erstellt vorgefertigte Antworten auf X Fragen.
Dies ist aber keine elegante Lösung wie ich finde, da man hier schnell an die Grenzen stößt.

Eine andere Möglichkeit ist es, die Sprache zu zerlegen, Satzbau, Wortarten etc. aber dann stoße
ich auf ein Problem:
Wie bringe ich dem Computer bei, was z.B. ein Auto ist? Man könnte eine Definition schreiben aber
das für jedes Nomen ausgenommen Namen?

Wir Menschen lernen ja z.B. was ein Auto ist über Definition und über visuales aber wie bringt man
es am besten einem Computer bei?

Das nächste Problem wäre, der Computer müsste die Texte, die man eingibt, egal ob über voice
oder Text, er müsse diese analysieren und daraufhin seine Antworten geben. Example:

Hallo Computer.
Er registriert, dass es eine Begrüßung ist und erwidert diese mit vorgefertigten Begrüßungen.
Also müsste ich sagen, analysiere den Text, kommt ein Hallo drin vor, ist es eine Begrüßung und
erwidere es. Aber wie verhält es sich dann mit dem Spruch: "Aber Hallo"? dies ist keine
Begrüßung und dem entsprechend nicht mit einer Begrüßung zu beantworten.

Mir ist klar, das dies ein sehr aufwändiges Project ist und wir noch Jahrzehnte von einer richtigen
KI entfernt sind, zumindest, wie ich sie Definiere aber es muss doch möglich sein, einem
Computerprogramm die Sprache beizubringen.

Wenn ich ihm sage:"Rechne 10 + 13", das kann man über vorgefertigte Antworten und Funktionen machen.
Aber wenn ich sage :"Ich habe beim heute beim streichen der Tapeten viel Farbe aufn Teppich bekommen."
möchte ich keine Antwort ala: "Ich möchte diesen Teppich nicht kaufen." (Paulaner Bier) XD

Ich hoffe ihr versteht was ich meine, eine analyse des Eingabetextes ist zwingend erforderlich
um die richtigen Antworten zu erstellen, das Problem, was ich habe ist in den Definitionen.
Wie bringe ich einem Computer bei, was ein Auto ist, wie bringe ich ihm bei, wenn ich mich mit
ihm uber jemanden anderes Unterhalte, dass er die dritte Person Singular m/w nutzen soll.
Example:
"Stefan hat gestern so gesoffen, das er bis heute noch gekotzt hat."
Example Antwort: "Wieso macht er so'n Scheiß, er weiß dass es nicht gut für den Körper ist."

Ich weiß, dieses Thema ist Komplex, Fragen wie:"Wozu,Warum,Wieso" sind irrelevant.
Und Nein, Cortana von Win10 benutzt auch nur vorgefertigte Antworten, wie jeder Assistent
aber die Sprache können diese auch nicht, auch wenn es manchmal so rüber kommt.

Liebe Grüße Xerepp
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15.502

beantworten | zitieren | melden

Sorry, wenn ich Dir da die Luft aus den Segeln nehmen werde, aber eine wirkliche Antwort wirst Du kaum finden.
An dem Thema sitzen tausende bestbezahlter Entwickler und Wissenschaftler. Und selbst die haben nicht "die" Lösung gefunden.
private Nachricht | Beiträge des Benutzers
Xerepp
myCSharp.de - Member



Dabei seit:
Beiträge: 2

Themenstarter:

beantworten | zitieren | melden

Du nimmst mir nicht den Wind aus den Segeln, du zeigst mir, dass ich Interesse an
etwas habe, woran die "Bestbezahltesten" Leute sitzen.

Vielleicht muss man erst die Vorstufe gehen, also vorgefertigte Fragen Antworten
aber KI, wie ich sie definiere wird es in den 30 Jahren nicht geben.
Aber man könnte ja mal Anfangen und wenn es "nur" die Sprache ist, was ich für
elementar halte.
Rechne mir dies und jenes, dies kann jedes Kind nach ein paar Sunden Recherche.
Mir geht es im Allgemeinen um den Bezug Sprache.

Nehmen wir ein Kind und einen Computer, dem Kind muss ich mehrmals sagen und zeigen,
was ein LKW ist, damit es begreift, dem Computer an sich nur einmal, da er sich alle Merkmale in
Schritt eins speichern kann.

Problem zwei, ein Computer lernt nicht aus seinen Fehlern, alles was er macht ist Korrekt, da
das Wissen Programmiert wird.

Zum Thema Visual, ein Computer könnte nie ein Auto erkennen, ein Auto hat vier Reifen, welch
ein Bild(Fotografie) zeigt ein Foto mit vier Reifen?, Maximal drei in der Isometrie.

d.h. Man muss eine Definition geben, "Ein Auto hat mind. zwei Reifen" (Seitenansicht) könnte auch ein Moped sein.
private Nachricht | Beiträge des Benutzers
Lenny
myCSharp.de - Member



Dabei seit:
Beiträge: 95

beantworten | zitieren | melden

Ich denke mal nicht, dass du hier im Forum die Unterstützung erhalten wirst die du dir erhoffst.
Es mag zwar einige Leute geben die sich mit der Thematik befasst haben, letztendlich ist es aber ein Themenkomplex der von dir intensive Einarbeitung erfordert, nicht was man mal schnell in einem Post klären kann. Das Forum ist wohl eher die richtige Anlaufstelle wenn es um Implementierungsdetails geht.

Du hast im Moment sehr toll Probleme formuliert, dir aber anscheinend noch keine wirklichen Gedanken zur Lösung gemacht. Es gibt gute Gründe warum nicht jeder mal Schnell eine KI oder eine Spracheingabe programmiert. Selbst mal für "einfache" Spiele ist eine KI alles andere als trivial.

Wenn dich das Thema wirklich interessiert wirf mal einen Blick in dieses Buch:
Künstliche Intelligenz (Pearson Studium - IT)

Zu deinem Autobeispiel. Es gibt bereit Computerprogramme die ziemlich zuverlässig Autos erkennen können, aber das als KI zu bezeichnen, darüber kann man sich streiten. Letztendlich überlegt man sich einen Haufen Merkmale und schaut wie viele man davon im Bild finden kann. So ähnlich macht ein neuronales Netz zu Bilderkennung das auch.
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15.502

beantworten | zitieren | melden

Zitat von Xerepp
Nehmen wir ein Kind und einen Computer, dem Kind muss ich mehrmals sagen und zeigen,
was ein LKW ist, damit es begreift, dem Computer an sich nur einmal, da er sich alle Merkmale in
Schritt eins speichern kann..
Da merkt man, dass Du Dir da noch keine wirklichen Gedanken gemacht hast.

Wie nahezu jedes reale Objekt hat ein LKW nicht immer die gleichen Merkmale:
  • Maße (Länge, Höhe, Breite)
  • Aufbau (Auflieger, Sattelzug, Anhänger)
  • Räder

Von daher reicht es gewiss nicht einem Computer anhand eines LKWs zu sagen, was ein LKW ist.
Die Merkmale sind bei allen Typen anders. Alle.

Er mag zwar ein Actros MP4 Sattelaufbau wieder und wieder erkennen. Aber das hat dann noch lange nichts mit einem Scania zutun. Und selbst ein Actros MP4 kann je nach Spezialisierung völlig anders aussehen und Merkmale liefern. Und dann eben noch der Vergleich mit Actros MP3. Ich hoff Du erkennst, worauf ich hinaus will.

Wie gesagt; KI ist kein Einstiegsthema und in der Gaming-Szene der Bereich, der zur Königsklasse gehört.
Ehrlich gesagt reicht es aber nicht, dass man sich dafür nur Interessiert. Ich halte es auch - persönlich, ohne Dir da die Motivation nehmen zu wollen - als nicht realistisch an, das als Einzelperson anzugehen, da hier wissenschaftliche Bereiche benötigt werden, die keine Person alleine decken kann.
private Nachricht | Beiträge des Benutzers
gfoidl
myCSharp.de - Team

Avatar #avatar-2894.jpg


Dabei seit:
Beiträge: 6.779
Herkunft: Waidring

beantworten | zitieren | melden

Hallo Xerepp,

dass das Thema sehr komplex ist wurde dir schon mitgeteilt, daher kann ich mich hier kurz halten.

Cleverbot und dessen Vorgänger bzw. Verwandten kannst du dir anschauen um ein Grundverständnis für künstliche Unterhaltungen zu erlangen. Anhand deren Literaturverzeichnisse kannst du dich auch entlanghanteln um so tiefer in die Materie einzutauchen.
Zitat
Wie bringe ich dem Computer bei, was z.B. ein Auto ist? Man könnte eine Definition schreiben aber
das für jedes Nomen ausgenommen Namen?
Rein vom Wort her ist der einfachste allgemeinere Weg via eines Thesaurus.
Darauf basierend könnten z.B. vorgefertigte Antworten folgen und so aus dieser Konversation gelernt werden.
Zitat
dem Computer an sich nur einmal, da er sich alle Merkmale in
Schritt eins speichern kann.
In der KI geht es selten bis gar nicht ums Auswendiglernen, sondern um die Fähigkeit der Generalisierung und dazu sind verschiedenste Test- und Lernmuster nötig. Bis zum Erreichen einer "statistischen Stabilität" sind mitunter mehrere Millionen Lernschritte nötig.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"
private Nachricht | Beiträge des Benutzers
schnelleHelga
myCSharp.de - Member

Avatar #avatar-3513.gif


Dabei seit:
Beiträge: 82
Herkunft: Erzgebirge

beantworten | zitieren | melden

Hallo,

ich möchte nur noch dazu erwähnen, dass es mit der Sprache allein nicht getan ist. Das Verständnis der Sprache hängt immer mit dem Verständnis der Situation zusammen. Viele Wörter und Sätze haben in einem anderen Zusammenhang auch eine andere Bedeutung.

schnelleHelga
private Nachricht | Beiträge des Benutzers
MarsStein
myCSharp.de - Experte

Avatar #avatar-3191.gif


Dabei seit:
Beiträge: 3.163
Herkunft: Trier -> München

beantworten | zitieren | melden

Hallo,

das hat mich gerade an einen alten Thread erinnert, den wir hier mal hatten, und dessen Thema in dem Zusammenhang auch interessant sein könnte:

Was ist ein Wort?

Viele Grüße
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von MarsStein am .
Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca
private Nachricht | Beiträge des Benutzers
MrSparkle
myCSharp.de - Team

Avatar #avatar-2159.gif


Dabei seit:
Beiträge: 5.649
Herkunft: Leipzig

beantworten | zitieren | melden

Hi Xerepp,

im Grunde stellst du zwei Fragen, die erstmal nichts miteinander zu tun haben:
Zitat von Xerepp
Wie bringe ich einem Computerprogramm die Sprache bei?
Zitat von Xerepp
Wie bringe ich dem Computer bei, was z.B. ein Auto ist?

Mit der ersten Frage beschäftigt sich ein eigenes Fachgebiet, das heißt Computerlinguistik. Da geht es um Fragen wie Morphologie (die Struktur von Wörtern), Syntax (die Struktur von Sätzen) und Semantik (die Bedeutung der Zeichen). Zitat aus dem Wikipedia-Artikel: "Computerlinguistik erforscht die maschinelle Verarbeitung natürlicher Sprachen. Sie erarbeitet die theoretischen Grundlagen der Darstellung, Erkennung und Erzeugung gesprochener und geschriebener Sprache durch Maschinen."

Für die Erkennung von Text oder Sprache gibt es Algorithmen der Texterkennung bzw. Spracherkennung.

Eine Maschine, mit der du dich über Autos unterhalten kannst, gibt es trotz der intensiven Forschung noch nicht. Am nächsten dran wäre wahrscheinlich ein Expertensystem, das du vorher mit den entsprechenden Informationen gefüttert hast.

Bei deiner zweiten Frage ist nicht so klar, worauf du dich damit beziehst. Eine Software hat keine "Vorstellung" von einem Auto, sondern nur ein Datenmodell. Je nachdem, welchen Anwendungsfall du hast, sieht dieses Modell völlig anders aus. Wenn deine Anwendung z.B. wissen muß, wo sich ein Fahrzeug befindet, dann besteht dein Datenmodell aus den Standort-Koordinaten. Wenn deine Software den Zündzeitpunkt des Motors optimieren soll, besteht dein Datenmodell z.B. aus einer Strömungssimulation der Brennkammer. Bei einem Autorennspiel ist es ein 3D-Modell usw.

Falls dein Anwendungsfall wäre, daß die Software Autos auf Bildern oder in Videos erkennen soll, gibt es Algorithmen der Bilderkennung.

Ganz allgemein gesagt geht es hier nicht um eine philosophische Frage, sondern im Wesentlichen um Anwendungsgebiete der Mustererkennung bzw. Künstlichen neuronalen Netze und anderer Teilgebiete der Künstlichen Intelligenz.

Christian
Weeks of programming can save you hours of planning
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 49.486
Herkunft: Berlin

beantworten | zitieren | melden

Hallo Xerepp,

wenn du das Problem trotz aller Schwierigkeiten zumindest soweit angehen willst, wie es heute für Laien möglich ist, solltest du mal einen Blick in "Taming Text: How to Find, Organize, and Manipulate It" werfen, siehe auch Suche Quellen über statistische String/Text Auswertung.

herbivore
private Nachricht | Beiträge des Benutzers
Runshak
myCSharp.de - Member



Dabei seit:
Beiträge: 71

beantworten | zitieren | melden

schonmal was von Watson gehört?

Wiki_Link_zu_Watson

Es gibt meines Wissens nach auch eine Schnittstelle für Entwickler zum Testen...

und einem Computer Sprache beizubringen oder was ein Auto ist läuft ähnlich ab wie bei einem Kind...
private Nachricht | Beiträge des Benutzers
der-schlingel
myCSharp.de - Member

Avatar #avatar-3239.jpg


Dabei seit:
Beiträge: 799
Herkunft: Österreich/Wien

beantworten | zitieren | melden

Taming Text kann ich nur empfehlen! Ein sehr guter Einstieg in die Materie und zwar für Programmierer und nicht nur für Computerwissenschaftler.
As a man thinketh in his heart, so he is.
- Jun Fan
Es gibt nichts Gutes, außer man tut es.
- Erich Kästner
Krawutzi-Kaputzi
- Kasperl
private Nachricht | Beiträge des Benutzers
no1gizmo
myCSharp.de - Member



Dabei seit:
Beiträge: 161

beantworten | zitieren | melden

Zitat von Xerepp
Aber wenn ich sage :"Ich habe beim heute beim streichen der Tapeten viel Farbe aufn Teppich bekommen."
möchte ich keine Antwort ala: "Ich möchte diesen Teppich nicht kaufen." (Paulaner Bier) XD

Warum sollte es eine Antwort geben, wenn der Satz keine Frage war? Zwischen den Zeilen lesen kann nicht mal das "Wunderkind" IBM Watson.

Ansonsten ist Deep Learning (naja, Modebegriff. Ist ein etwas intensiveres Machine Learning) wohl das richtige Stichwort, um den Computer Texte "verstehen" lassen zu können.

Bei Englisch und vor allem Chinesisch funktioniert das schon sehr gut, bei Deutsch und Französisch sorgt die umfrangreiche Grammatik für Schwierigkeiten.

Ein kleiner Einstieg (um eine Idee zu erhalten): http://ronan.collobert.com/pub/matos/2009_tutorial_nips.pdf
private Nachricht | Beiträge des Benutzers
Palin
myCSharp.de - Member



Dabei seit:
Beiträge: 1.090

beantworten | zitieren | melden

In dem Rahmen vielleicht ganz Interessant.
Cognitive Computing: IBM öffnet neue Watson-APIs
Sollte man mal gelesen haben:

Clean Code Developer
Entwurfsmuster
Anti-Pattern
private Nachricht | Beiträge des Benutzers