Laden...

Wie bringe ich einem Computerprogramm die Sprache bei?

Erstellt von Xerepp vor 8 Jahren Letzter Beitrag vor 8 Jahren 7.558 Views
X
Xerepp Themenstarter:in
2 Beiträge seit 2015
vor 8 Jahren
Wie bringe ich einem Computerprogramm die Sprache bei?

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

16.806 Beiträge seit 2008
vor 8 Jahren

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.

X
Xerepp Themenstarter:in
2 Beiträge seit 2015
vor 8 Jahren

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.

L
95 Beiträge seit 2009
vor 8 Jahren

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.

16.806 Beiträge seit 2008
vor 8 Jahren

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.

6.911 Beiträge seit 2009
vor 8 Jahren

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.

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.

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!"

82 Beiträge seit 2014
vor 8 Jahren

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

3.170 Beiträge seit 2006
vor 8 Jahren

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

Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca

5.657 Beiträge seit 2006
vor 8 Jahren

Hi Xerepp,

im Grunde stellst du zwei Fragen, die erstmal nichts miteinander zu tun haben:

Wie bringe ich einem Computerprogramm die Sprache bei?

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

49.485 Beiträge seit 2005
vor 8 Jahren

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

R
71 Beiträge seit 2014
vor 8 Jahren

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...

799 Beiträge seit 2007
vor 8 Jahren

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
N
161 Beiträge seit 2006
vor 8 Jahren

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

P
1.090 Beiträge seit 2011
vor 8 Jahren

In dem Rahmen vielleicht ganz Interessant.
Cognitive Computing: IBM öffnet neue Watson-APIs

Sollte man mal gelesen haben:

Clean Code Developer
Entwurfsmuster
Anti-Pattern