Eine Art "Forschungs-KI" programmieren



  • Hallo.

    Weiß gar nicht so genau was ich eigentlich will und schon gar nicht, wie man es umsetzen könnte. Aber schon seit einiger Zeit hab ich im Hinterkopf die Idee, sowas wie eine Art Nachschlagewerk wissenschaftlicher Informationen und Fachbegriffe zu machen. Dazu sowas wie ein Programm, dass dabei hilft, die Infos übersichtlich aufzulisten, zu vergleichen, zu erweitern, auszuwerten usw. Im Grunde so eine Art Datenbank, mit ner Software, die dabei hilft, die Einträge gut überschaubar darzustellen und zu nutzen.

    Was weiß ich, z.B. nen Eintrag

    Magnetismus
    ...
      positiv
      negativ
      Magnet
    ...
    

    Wenn man dann im Programm eben eins dieser Wörter sucht, erscheint halt als Stichwort "Magnetismus" oder " Magnetschloss", dann kann man eben weiter nach "Schloss" suchen usw. Wie ne Art Wikipedia, bloss dass man das Internet nicht braucht. Ausser um die "Datenbank" zu erweitern.

    Im Grunde braucht man ja eigentlich nur zu jedem Fachbegriff ne Art include-Datei. In die kann man ja dann einfach hilfreiche Infos aus dem WWW rein kopieren. Oder z.B.

    Einstein
      Wissenschaftler
      Relativitätstheorie
      ...
    

    Von den Suchergebnissen aus kann man wieder die Relativitäts-Theorie aufrufen und so weiter und so fort.

    Der Sinn des ganzen soll halt sein, dass man verschiedenste wissenschaftliche Infos übersichtlich anzeigen und Gemeinsamkeiten, dazu gehörige Begriffe usw. sortiert anzeigen, aufrufen und ergänzen, mit eigenen Einträgen usw. versehen kann.

    Die Beste wäre wohl ne Art KI, die selber die Einträge nach Eigenschaften oder Kombinationen oder Reaktionen verschiedener Stoffe oder so durchsucht, und selber eigene "Erfindungen" oder Erkentnisse machen kann.

    Ich denke mal an Infos aus dem Internet wirds nicht mangeln. Noch besser wärs wohl, wenn die KI selber Letzteres durchsuchen und seine includes und Quelldateien erweitern und ergänzen und vergleichen und sortieren und was weiß ich Alles könnte.



  • Hi,
    kannst du deine Idee ein wenig weiter ausarbeiten. Denn es erschliesst sich mir nicht, wo der Unterschied zu Wikipedia sein soll. Des Weiteren verstehe ich nicht, wobei soll dir eine KI helfen



  • Was ist dein Kenntnisstand, kannst du überhaupt programmieren? Es hört sich alles noch etwas zu abstrakt an. Ich vermute, du hättest ganz andere Ideen/Anforderungen, wenn du mehr Erfahrung hättest.



  • Und vor allem: Wo willst du deine Daten sammeln. Eine Datenbank zu haben ist ja eine Sache, aber sie will auch gefüllt werden.

    @EmQEl sagte in Eine Art "Forschungs-KI" programmieren:

    und seine includes und Quelldateien erweitern und ergänzen und vergleichen und sortieren und was weiß ich Alles könnte.

    Compilezeit vs. Laufzeit?
    Daten sammeln kann ein Programm nur zur Laufzeit. An den Includes und Quelldateien ändert sich im nachhinein gar nichts mehr ( Compilezeit ).

    Alles sehr halbgar. Wie sind denn deine Programmiererfahrungen? Auf einer Skala von 0-10. Wenn du dich unterhalb von 9 einschätzt, such dir lieber ein anderes Projekt, oder bezahle jemanden für die Umsetzung 😉



  • @It0101 ich denke man kann auch an solchen Projekte üben, also seine Erfahrungen machen.
    Aber man sollte schon mal wissen, wo in etwa die Reise hingehen soll. Ansonsten hat die o.g. Beschreibung gerade die Qualität von, ich will eine Maschine bauen mit dem ich mich vielleicht Fortbewegen kann...

    Es fehlt, die Kern Idee!



  • Moin.

    Programmier-Erfahrung? Würd sagen 2-3/10.

    Ungefähre, grobe Vorstellung:

    Allerlei wissenschaftliche Fachbegriffe und Beschreibungen in einer Datenbank haben. Welche sich ohne allzu große Mühe erweitern, ergänzen, ändern, korrigieren usw. lässt. Der Vergleich mit Wiki passt ganz gut. Aber dass das Ding nicht im Internet ist, sondern auf dem Heim-Computer und damit unabhängig vom www.

    Aber includes sind vielleicht nicht so optimal als Datenbank-Dateien. Mit C++ kann man doch auch ohne Weiteres .txt Datein auslesen und bearbeiten, nehm ich an.

    Die Sahne auf der Torte wäre dann wohl ne KI, die selber die DB nutzt, um sozusagen selber zu forschen. Aber das dürfte für mich nun echt zu hoch sein.



  • @EmQEl sagte in Eine Art "Forschungs-KI" programmieren:

    Mit C++ kann man doch auch ohne Weiteres .txt Datein auslesen und bearbeiten, nehm ich an.

    Wenn du das nur annimmst, dann bist du noch nicht 2/10 oder 3/10. Jedenfalls nicht bei C++.
    Mein Tipp: versuch erstmal kleine Brötchen in C++ zu backen, bevor du derart komplexe Projekte angehst, die dann nach 5 Tagen rumprobieren ohnehin nur im Mülleimer der Geschichte landen.

    Aber zu deinem Projekt:

    Wofür soll das gut sein? Was ist die Zielgruppe?


  • Mod

    Möchtest du dies nachprogrammieren?
    https://relatedwords.org/relatedto/magnetism



  • @It0101 Hi was bedeutet eigentlich deine Skale von 1 bis 10😁
    1: Ich habe

    #include <iostream>
    int main(int argc,char **argv){
       std::cout<<"Hallo Welt\n";
       return 0;
    }
    

    kopiert und durch einen compieler gebracht.
    ...
    5: Ich habe OOP verstanden und kann einfache Design implementieren
    ...
    10: Ich verstehe folgenden Code:

    #define DISPATCH() { goto *op_table[*((s)++) - 'a']; }
    static void interp(const char* s) {
     static void* op_table[] = {
     &&op_a, &&op_b, &&op_c, &&op_d, &&op_e
     };
     DISPATCH();
     op_a: printf("Hell"); DISPATCH();
     op_b: printf("o"); DISPATCH();
     op_c: printf(" w"); DISPATCH();
     op_d: printf("rld!\n"); DISPATCH();
     op_e: return;
    }
    
    int main(){
     interp("abcbde");
     return 0;
    }
    

    und weiß, dass dies die beste und einzige Möglichkeit ist Hello World auszugeben. 😃 😃


  • Mod

    @pmqtt sagte in Eine Art "Forschungs-KI" programmieren:

    @It0101 Hi was bedeutet eigentlich deine Skale von 1 bis 10😁
    1: Ich habe

    #include <iostream>
    int main(int argc,char **argv){
       std::cout<<"Hallo Welt\n";
       return 0;
    }
    

    kopiert und durch einen compieler gebracht.
    ...
    5: Ich habe OOP verstanden und kann einfache Design implementieren
    ...
    10: Ich verstehe folgenden Code:

    #define DISPATCH() { goto *op_table[*((s)++) - 'a']; }
    static void interp(const char* s) {
     static void* op_table[] = {
     &&op_a, &&op_b, &&op_c, &&op_d, &&op_e
     };
     DISPATCH();
     op_a: printf("Hell"); DISPATCH();
     op_b: printf("o"); DISPATCH();
     op_c: printf(" w"); DISPATCH();
     op_d: printf("rld!\n"); DISPATCH();
     op_e: return;
    }
    
    int main(){
     interp("abcbde");
     return 0;
    }
    

    und weiß, dass dies die beste und einzige Möglichkeit ist Hello World auszugeben. 😃 😃

    Dein 1 ist eine 0, dein 5 ist 2 oder 3, dein 10 sollte sein "5: Ich programmiere nicht so wie dies".
    Jedenfalls siehst du diese Skala meines Erachtens nach viel zu eng auf die reine Technik beschränkt. Pures Beherrschen der Sprache sollte ca. 4 sein, 5 und 6 dann noch gute best practices. Darüber dann ganz viel Wissen um die wirkliche praktische Nutzung, die man nicht durch reines Erlernen der Sprache erwerben kann. So wie der Unterschied zwischen einem Schriftsteller und jemandem, der eine Sprache flüssig spricht.



  • @SeppJ Eine Interessante Anmerkung Stufe 5 beherrschen der Technik. Die nächsten verbliebenen Stufen, Erfahrung, Kreativität, Talent und Denken.
    Kann mich mit dieser Skala anfreunden.



  • Was der @SeppJ vermutlich ausdrücken will ist:

    Was zählt ist Projekterfahrung! Denn nur dadurch wird man besser, lernt bestimmte Dinge zu tun und andere wiederum nicht zu tun, auch wenn sie theoretisch möglich sind.


Log in to reply