02. november 2002 - 23:41Der er
13 kommentarer og 4 løsninger
Kunstig Intelligens - Hvordan?
Jeg har stillet dette spørgsmål før, men fik ikke helt det svar, jeg søgte..
Jeg skal lave en applikation, som skal fungrer som en virkelighedstro person - ligesom Eliza og A.L.I.C.E - men hvordan kan jeg stille det op teoretisk?
Det kræver en database som vil noget... en måde ville være at have en database med 2 kolloner... en med spørgsmål en anden med svar... så hvis dit spørgsmål er i databasen, udskriver den svaret dertil... det kræver vist pææææænt meget kode hvis du skal side og analysere hvert et ord og derefter sætte noget sammen som passer til det....
Jeg havde tænkt på det, som webben skriver, men med mulighed for at bruger joker-tegn, så den analysrer en afvignings-procent, og derefter vælger et tilfældigt output
Som jeg ser det kan du nedbryde processen "at analysere en tekst og give relevant respons" i følgende punkter:
Gramatisk analyse af brugerinput: Her skal din kode analysere den gramatiske "syntax" for brugerens input. Ud fra dette gramatiske mønster kan man fastslå om brugeren kommer med et spørgsmål eller konstatering - eller om brugerens input er uforståeligt.
Dernæst er der to muligheder: 1. Brugerens input var en konstatering. - Informationerne i brugerens input skal så lagres i databasen og der skal oprettes relationer fra disse nye info, til eksisterende, relevante informationer. 2. Brugerens input var et spørgsmål. - I dette tilfælde skal der søges i databasen for informationer der relaterer til brugerens input. Det mest relevante match bliver brugt som svar.
Hvis der blev fundet relevante/supplerende informationer i databasen, skal de væsentligste af disse opstilles i et gramatisk korrekt format og præsenteres for brugeren - enten som et svar, eller evt. som et uddybende spørgsmål.
Disse tre trin burde kunne skabe et forholdsvist realistisk person, med en simpel grad af indlæring. For "dybere" samtaler kunne man udvide ovenstående med en process der er i stand til at uddybe informationer, stille mere relevante, uddybende spørgsmål og - måske vigtigst af alt, for realismens skyld - tilføje en kronologisk hukommelse, så den kunstige intelligens kan spørge ind til input der er forekommet i tidligere samtaler.
Eks.:
"Igår spurgte du om bla. bla. Hvad mente du med det?"
eller:
"Hvordan går det forresten med bla. bla. Var det ikke idag du skulle ordne det?"
Altså en slags "vend tilbage til tidligere uddybende spørgsmål, som ikke er blevet besvaret" funktion.
lemon: jeg kan godt følge dig, men hvis jeg skulle lagre nye informationer i en database, hvordan kunne man så f.eks. stille det op (på en, til start, simpel måde) i databasen, så det er til at finde rundt i?
Teorien er ret simpel - men i praksis bliver det komplekst, hvilket sikkert skyldes at der ikke er nogen der til fulde har forstået koncepterne "intelligens", "indlæring" osv. til fulde, endnu.
Nu er jeg ikke ekspert i gramatik, men du laver en database med en tabel til "symboler". Et symbol er betydningen af et ord og ikke selve ordet. Eks. kan ordet "is" optræde mange gange. Is (det man spiser), is (den kemiske deffinition), is (det man putter i drinks) m.v.
Hvert symbol skal så relatere til de andre symboler som har noget med symbolet at gøre. Eks. Is (det man spiser) relaterer til fløde, dessert, lækkert, smelter ved + grader etc. etc.
Så skal du bruge en tabel til den gramatiske deffinition af hvert ord. Er det navne-, udsagns- eller tillægsord. Hvilke typer ord kan stå før, og efter og i hvilke sammenhænge. Det er her jeg selv mister overblikket, for jeg ved ikke nok om gramatik, men man kunne vel slå sig sammen med en der har en cand. eller doktor grad i sprog, IT eller noget lignende.
Yderligere skal du bruge en masse kode. Dels en gramatisk "syntax" validering, der fortæller dig hvilken betydning sætningen har (er det et spørgsmål eller en konstatering/et svar) samt hvilke ord der er vigtige (er det et spørgsmål om Is og er det i relation til dessert eller til en skøjtehal). Yderligere skal der nok præ-deffineres en række ord (eks. "Hvordan, hvornår m.v.) så systemet kan "aflæse" om der spørges til "mængden af is", "smagen af is", "frysepunktet for is", "hvad man kan bruge is til" etc. etc.
Hvis du har et par millioner eller 10 skal jeg nok udvikle systemet til dig og så må du selv om, om du vil sælge det til pornobranchen eller sælge det som en del af et intranet der kan lave advancerede resumeer af tekster, samt research og generel dokumentbehandling. ;o)
undersøg hvordan knowledge based systems virker - der er et dansk fima der har lavet et desideret sprog (Prolog) til at programmere dette i. Deres hjemmeside er www.pdc.dk - held og lykke :)
ohh jo, jeg glemte lige... Hvis det er sådan at du vil lære den grundlæggende teori for hvordan A.L.I.C.E og Eliza fungerer så kan jeg varmt anbefalde: 1. Køb og læs bogen "Artificial Intelligence a Modern Approach" eller/og 2. Følg kurset Kunstig Intelligens på DTU (selvfølgelig forbeholdt at du læser på universitetet og bor i Københavnsområdet ;-)
prolog og lisp er de mest anvendte programmeringssprog til AI, men der er mange flere...prøv at sætte dig ind i 1 af sprogene, så kan du vist nok se meningen...
--> thjal nej, prolog er IKKE Dansk! Men der er en Dansk firma der har lavet en Dansk udgave, ja...
Det helt grundlæggende problem ved kunstig intelligens er at der kun sidder een processor i en computer, imens man har ligeså mange processorer som der er hjerneceller. I en computer må man derfor processere een ting ad gangen - og det er det egentlige problem når man når op i et neuron-mønster der kræver simultan processering som en menneskehjerne gør.. Det er ellers et møjspændende emne.. Mht. databasen til dether tror jeg ik det er nok med to kolonner *g* men jeg sidder og piller med noget xml som kan konstrueres herakisk fuldstændig som man vil, og det har jeg på fornemmelsen er den vej man skal.. :)
der er rigtig, at hjerner er en paralell processor og ikke linear. Men idag finders der også programmeringsprøg til parallel processor, bl.a. c og c++, lisp og prolog...har du testet ALICE, ELIZA, osv?
Nej det har jeg ik.. Jeg har alet ingen praktisk erfaring med programmering af AI men jeg har læst en del om neurale algoritmer, og følt på mig selv hvordan jeg sådan egentlig tænker - og prøver lissom at sætte det op i et indre billede af hvordan det vil kunne lade sig gøre.. Men hvordan kan man programmere sig fra det hardware-faktum at en fysisk processor kun regner sig frem til een ting ad gangen? Mit umiddelbare bud på at løse dette problem ville være at benytte en P2P-teknologi så man har mulighed for at processere via flere processorer på een gang via internettet.. Iøvrigt, hvis der er nogen her der har lyst til at starte et projekt angående dether, så har jeg leget med tanken om at starte en community hvor man kan "fodre" en delvis fælles og delvis personlig kunstig intelligens. Jeg har købt et domæne; VR2L.net (ideen var at det skulle udtales [virtuel]) hvor det skulle være muligt at sætte et projekt op der er en blanding af en vidensdelings-platform og en intelligens der væver de forskellige brugeres viden sammen.. Problemet er bare at jeg er grafiker og tænker og er ikke spor god til at programmere, så for at det skal kunne blive til noget må vi jo nok rotte os sammen.. *s*
De fleste af bøgerne er aldrig brugte, og alle (bortset fra én enkelt) er købt hos Amazon.com i vinter 2000/2001 til fire gange prisen, dvs. (samlet: 5000-6000kr)
”Bots – the origin of new species” (brugt) 269 sider af Andrew Leonard 50 kr
”Artificial Minds” (ubrugt) 447 sider af Stan Franklin 150 kr
”The Age Of Spiritual Machines” (lettere brugt, men ser stort set ud som ny). 388 sider af Ray Kurzweil 150 kr
”Fluid Concepts and Creative Analogies” (ubrugt) 518 sider af Douglas Hofstadter 150 kr / ”Beyond Humanity: CyberEvolution and Future Minds” (ubrugt) 487 sider af Gregory S. Paul & Earl D. Cox 150 kr
“Mind Design II – Philosophy, Psychology, Artificial Intelligence” (ubrugt) 475 sider edited by John Haugeland 150 kr
“Digitale Agenter – Praktiske assistenter til Internet” (brugt) 143 sider af Karim Pedersen 50 kr
”Robot – Mere Machine to Transcendent Mind” (ubrugt) 227 sider af Hans Moravec 100 kr
”Darwin among the Machines – the evolution of global intelligence” (ubrugt) 286 sider af George B. Dyson 100 kr
”Mind Children – The Future of Robot and Human Intelligence” (ubrugt) 214 sider af Hans Moravec 75 kr
”Mapping Great Debates – Can Computers Think? – An Issue Map Publication” Syv forskellige Maps/Plakater/Diagrammer over tankeprocesser. Ikke en bog, men meget værdifuld illustreret sammenfatning af hvad der står i alle de andre bøger. 250 kr
Du kan købe alle bøgerne samlet til extra discountpris: 1000kr
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.