Samouczenie się

2003-07-20 19:01
0

Kolejny temat o botach, tym razem o samouczneniu się.
Wiec tak - piszę swojego bota juz od jakiegos czasu. Samouczenie się w formie zapamietywania textów wpisanych przez usera a następnie używania ich na oślep, a <font color="red">nóż</span> się uda, jest nieteges... Przpuśćmy że schamet bota wyglada następująco

             Odebranie danych wejściowych
                            |
                            |
                     Obróbka   /dzielenie na wyrazy itd...
                            |
                            |
                     Interpretacja
                            |
                            |
                     Generowanie danych wejściowych

Więc tak - Wiem mniej więcej jak zrobić żeby bot uczył się w miarę sensownie, i później używał tego czego sie nauczył też w miarę sensownie. Ale mam problem z tym że kiepsko mi idzie wymyslanie jak zrobić żeby bot uczył sie interpretować coraz to nowe wyrazy, czyli żeby nie powiększał tylko swojej bazy danych, która służy do generownia wypowiedzi i składania zdania, ale także uczył się "rozumienia" coraz to nowych wypowiedzi. Z góry dzięki.

PS proszę moderów o wstawienie tego tematu do działu, w którym powinien sie znajdować, bo mi jakoś nigdzie nie pasował, a poza tym nie jest na tyle gorący...

Pozostało 580 znaków

2003-07-20 20:47
0

Też miałem z tym problemy przy moim bocie. Ja to zrobiłem na plikach INI. Dwie sekcje: "standard" oraz "Nauczone". W sekcji standard były odzywki przeze mnie wymyślone. W sekcji "nauczone" - wiadomo. Zatem:

  • odbiór danych wejściowych
  • obróbka tekstu (usuwanie ogonków oraz LowerCase)
  • sprawdzanie czy w sekcji [standard] istanieje odpowiedź - jeśli tak to odpowiedz i zakończ
  • sprawdzanie czy w sekcji [nauczone] istnieje odpowiedź - jeśli tak to odpowiedz i zakończ
  • jeśli żaden z powyższych warunków nie został spełniony, to:

    • otwórz plik ini
    • jako parametr wpisz ostatnią wypowiedź bota
    • jako wartość wpisz ostatnią wypowiedź usera

Można dodatkowo opatrzeć ostatni myślnik w warunek, np. jeżeli dane wejściowe są dłuższe niż ileś tam znaków, żeby się nie uczył bzdur.

Przykład: Bot ma wpisane:

[standard]
co=g**** wiadomo o co chodzi :)

Teraz ktoś napisze:

  • co?
    Bot odpowie:
  • g****
    Teraz ktoś napisze
  • zjedz je równo

To bot nauczy się tego jak odpowiedź na g. Następnym razem, gdy ktoś wpisze g, bot odpowie:

  • zjedz je równo.

:)


Pozostało 580 znaków

2003-07-21 00:45
0

"Continual & Complete Intelligence:
The 2C Intelligence Approach"
Mogę podesłać. Ale AI (bo jakby nie patrzeć to coś takiego to już jest) to baaardzo trudne zagadnienie.


Jest jeszcze jeden błąd :)
Unix is user friendly. It's just very particular about who it's friends are.

Pozostało 580 znaków

2003-07-21 09:13
0

ja mialem robic swego bota do gg, ale nawet kurna sie nie dalo polaczyc z serwerem gg wiec zaniechalem robote: ale funkcje nauki robilem na zasadzie

sam poczatek: wlasne dozywki i szczegolowe interpretowanie tekstu: czyli mnostwo kodu, ktory sam pisalem zeby tylko odpowiedzial na pytania dobrze, umial odpowiadac na temat milosci :P, moich przyjaciol, medycynie [; oraz normalne takie to zapoznawcze czyli czesc kim jests jak leci jak sie czujesz i wiele wiele innych :U

Pozniej powstal problem nauki wiec zapamietywalem wyraz od klienta, przy uprzednim juz mialem 100% pewnosc zebot odpowie to co ja chcialem zeby odpowiedzial (mial na dodatek losowo wybierane odzywki pasujace jako odpowiedz - brane z tablic :X)

na pdostawie pdozielenia tekstu ktory dostal od klienta i swoj zapisywal go w rekordzie na odpowiedzi oraz przyjete itam ble ble, zrobielm edytor tych dziwact zeby go bardziej "uludzkowic" :D ale bylo minale i usunalem te debilstwo bo i tak pozytk uby z tego nie bylu :/

Pozostało 580 znaków

2003-07-21 13:17
0

ja chcę zrobic to samouczenie sie bo mi się nie chce robić słowników. Mozna by też zrobić żeby bot wiedział np. Co to krzesło
Mozna by to zapisać binarnie (czy na tym sie siedzi, czy to się je, czy to lata itd..), wtedy by mu na pewno było ławtiej to zrozmieć. Jeszcze łatwiej by było zeby zrobić że (dłuuuuugie przemyslenia) miałby np. słowo hamburger, i wiedziałby ze to np. jest nieduze, a gdyby user dał texta:
-idę zjeść hamburgera
To bot by już wiedział że to się je. Tylko to wszytsko to by było uczenie się rzeczy, które on by później używał w generowaniu wypowiedzi a mi chodzi o to żeby rozwijać jego bazę danych, którą on porównuje wypowiedzi usera z bazą danych, przeszukuje kroi itd...

Też zastanawiałem się nas tym czy taki bot może byc świadomy. Po jakimś czasie doszedłem do wniosku że czemu nie??? <ort>przecieŻ </ort>człowiek jest jednostką działającą algorytmicznie, przyczynowo skutkowo, jest maszyną tylko że organiczną i bardziej złożoną. Pierwszy problem zaczyna sie juz przy samej definicji świadomości. U człowieka swiadomość to obiekt (lub zbiór obiektów) generujacych dane wyjściowe - czyli to co on zrobi. Dlaczgo u bota by nie zrobic tego samego. Można by to zdefiniować.'

Świadomośc jako system generujący odpowiedzi stosownie do interpretacji danych wejściowych oraz jego aktualnego stanu psychicznego. Czyli jako te procedury, które składaja zdanie.

Pozostało 580 znaków

2003-07-21 14:22
0

a mi
chodzi o to żeby rozwijać jego bazę danych, którą on porównuje wypowiedzi
usera z bazą danych, przeszukuje kroi itd...

milego robienia, za 100 lat powiedz mi jak ci dziala bocik

Pozostało 580 znaków

2003-07-21 14:30
0

Jak na razie mam prototyp, ale jeszcze nie ma zaimplementowanego uczenia się. A jak się juz tego będzie uczył, mam juz pomysł i kilka blokowych, to ci podeślę execa :)
Na pomysł uczenia się wpadłem jak przeczytałem post kapusty, to samo da się zrobić w drugą stronę- czli nie z bazy tylko do bazy

Pozostało 580 znaków

2003-07-23 22:37
0

No wiec ja bym to zrobil tak:
Musisz wprowadzic znaczenia niektorych slow takich jak:
'jest', 'to' itd.
Nastepnie gdy bot bedzie sie uczyl, to zapamietuje slowa jak leci. Jesli napotka zdanie "Jablko to owoc" wowczas zapamieta w swojej bazie slowa jablko i owoc oraz polaczu je jako synonimy (a bedzie wiedzial o tym, ze trzeba je polaczyc, jesli zaprogramujesz mu obsluge slowa 'to').
No, reszty mozesz sie domyslic. Tylko, ze wyjatkow to jest tyle w tym wszystkim, ze i tak nie sadze, by bocik odpowiadal logicznie na chociazby polowe swych zdan. Bo jakbys np. obsluzyl takie cos:
"Nie jablko to owoc" Czy w tym przypadku bot powinien zapamietac, ze jablko nie jest owocem? A moze jest, bo w rozmowie ktos chcial zaprzeczyc, jakoby jablko bylo warzywem i chcial napisac: "Nie, jablko to owoc" (z przecinkiem) no ale przecinka zapomnial.
Tak wiec dam Ci dobra rade - odpusc sobie tak skomplikowany tryb nauki bota :)
A co do swiadomosci itp. to nie takie proste. Fakt ze czlowiek jest wlasnie tak skomplikowana maszyna uniemozliwia symulacje jego czesci na komputerze :)
A co do tego, zeby najpierw zrobic LowerCase, to oczywiscie oprocz tego dobrze by bylo usunac polskie litery, podwojne spacje i literowki, bledy ortograficzne itp.. itd...


Wszystko co robisz, rób najprościej jak to możliwe, ale nie prościej.

Pozostało 580 znaków

2003-07-24 00:27
0

Tak wiec dam Ci dobra rade - odpusc sobie tak skomplikowany tryb nauki bota
A co do swiadomosci itp. to nie takie proste. Fakt ze czlowiek jest wlasnie tak skomplikowana maszyna uniemozliwia symulacje jego czesci na komputerze
A co do tego, zeby najpierw zrobic LowerCase, to oczywiscie oprocz tego dobrze by bylo usunac polskie litery, podwojne spacje i literowki, bledy ortograficzne itp.. itd...

1) Im wiecej osób da mi takie dobre rady, tym więcej sie będę nad tym meczył

2) wg. mnie usuwanie polskich fontów jest bardzo złym pomysłem poniważ słowa taie jak jeżyk i język będą wyglądały tak samo

3) Śiadomość to BARDZo względne i FILOZOFICZNE pojęcie

Pozostało 580 znaków

2003-08-02 16:14
0

Im wiecej osób da mi takie dobre rady, tym więcej sie będę nad tym meczył

No coz, moze rzeczywiscie to nie byla dobra rada, ale lepiej zaczac najpierw od czegos malego, a potem rozbudowywac.

2) wg. mnie usuwanie polskich fontów jest bardzo złym pomysłem poniważ słowa taie jak jeżyk i język będą wyglądały tak samo

Tylko ze bardzo wiele osob pisze bez polskich fontow. Pewnie nie raz sie zdarze, ze ktos napisze cos przekreci albo napisze niegramatycznie. Czlowiek po kontekscie pozna o co chodzi, ale jak chcesz nauczyc tego bota?
Przeciez sa nawet takie slowa jak "pierze". Jesli ktos powie "Z koldry wyleciało pierze", to pierze jest synonimem piór. A w zdaniu "Mama pierze skarpetki" pierze to juz inne slowo.

Mozesz jednak zrobic inaczej. Czyli nie pozbawiac z automatu liter ogonkow, a jesli ktos napisze "jezyk", to bot moze sie domysli, ze to nie jakies nowe slowo, ale blednie napisane slowo ktore juz zna (język, albo jeżyk). Gorzej jesli pierwszy rozmowca napisze jezyk i bot doda to slowo do swojego slownika. Potem ktos napisze "jezyk", a bot bedzie myslal, ze to "jezyk" jest slowem prawidlowym, a "język" jego blednym wpianiem.


Wszystko co robisz, rób najprościej jak to możliwe, ale nie prościej.

Pozostało 580 znaków

2003-08-04 01:52
0

2) wg. mnie usuwanie polskich fontów jest bardzo złym pomysłem poniważ słowa taie jak jeżyk i język będą wyglądały tak samo

[-CD-]
Tylko ze bardzo wiele osob pisze bez polskich fontow. Pewnie nie raz sie zdarze, ze ktos napisze cos przekreci albo napisze niegramatycznie

No tylko że jeżeli się usunie ogonki to będzie jeszcze gorzej

Pozostało 580 znaków

Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0