» »

Človeški jezik

Človeški jezik

1
2
»

kuall ::

Meni postaja čedalje bolj jasno, da je učenje implikacij (pravil sklepanja, if then stavkov) glavni problem pri jeziku/umetni inteligenci, ki ga je treba rešit. Tudi v znanosti se gre v bistvu samo za if then stavke, npr enačbe so to, kaj pa je drugega tole:
1+1=2 kot if-then stavek:
if you add 1 apple to 1 apple then you get 2 apples.
seveda si za računanje ne shraniš za vsako specifično kombinacijo število novo specifično pravilo ampak narediš poslošitev pravila, to pa spet s pomočjo sklepanja (s pomočjo if then stavkov). tako tudi znanost deluje, združevanje specifičnih pravil v bolj splošna.

smacker ::

To kar omenjaš že meji na pravo umetno inteligenco. Stroj bi se moral naučit povedano in nato pridobljeno znanje izrazit s svojimi besedami v drugem jeziku. Taka logika bi morala bit precej kompleksnejša kot if-then stavki. Če razviješ model "text to knowledge" in "knowledge to text", potem lahko razviješ tud "knowledge to anything" in imaš pravi AI, ki se uči in uporablja pridobljeno znanje za poljubne taske.
Več področij v računalništvu se že ukvarja z zapisom znanja. Razne nevronske mreže in drugi principi strojnega učenja so uporabni bolj za neke vrste odločitveni model, ki vrši izbiro najbolj primernega kandidata. Ne moremo pa iz njih pouporabiti nekega znanja. Za te namene se uporabljajo ontologije - neke vrste napredne podatkovne baze, ki poleg relacij vključujejo pravila sklepanja. Npr. "Oseba A je brat osebe B.". Tu imamo dve osebi A in B ter relacijo med njima, "je brat". Iz tega lahko sklepamo, da je A moški (drugače bi bila relacija "je sestra". Kolkor vem se pri ontologijah uporabljajo samo človeško zapisana pravila sklepanja, njihov nivo uporabe pa je na stopnji združevanja podatkov. Recimo da se dve podjetji združita in moraš poenotit njihov podatkovni model, lahko vse podatke shraniš v ontologijo in tvoriš novo podatkovno bazo. Nabor relacij in pravil sklepanj je pri tem precej omejen, saj je področje navadno zelo ozko.
Sem malo pobrskal in zgleda da so se že lotili priprave ontologije, ki bi bila uporabna za strojno prevajanje, ampak izgleda da dalje od ideje in poskusov še niso prišli
Branje:
http://mt-archive.info/LREC-1998-Hovy.p...
http://citeseerx.ist.psu.edu/viewdoc/do...

Irbis ::

En tak velik projekt je CYC: Cyc @ Wikipedia

smacker ::

Naši južni sosedi so se že nekaj igrali z cyc in strojnim prevajanjem: http://www.xlike.org/wp-content/uploads...

xmetallic ::

kuall je izjavil:

seveda si za računanje ne shraniš za vsako specifično kombinacijo število novo specifično pravilo ampak narediš poslošitev pravila, to pa spet s pomočjo sklepanja (s pomočjo if then stavkov). tako tudi znanost deluje, združevanje specifičnih pravil v bolj splošna.

Seveda rabiš pravila. Ampak point umetne inteligence je da ta pravila najde algoritem sam. Če mu ti poveš vse pol je to navadno nizanje if else stavkov. Algoritem mora sam najti pravila in jih potem tudi pravilno uporabljati.

Irbis ::

En zanimiv članek o tem, kako se otroci učijo jezika: http://www.scientificamerican.com/artic...
Glede na to ni nobene univerzalne slovnice in je vse stvar splošnega učenja in generalizacije.
Kar je po eni strani dobro za računalniško učenje jezika (ker nam ni treba prebrati univerzalne slovnice iz človeških možganov), po drugi strani pa pomeni, da potrebuješ zadaj UI - strojno prevajanje je torej UI-poln problem (AI-complete) @ Wikipedia.

Okapi ::

AI-complete je precej prevzeten, domišljav pojem. Predpostavlja namreč, da ni nič, kar bi bilo nad njim, se pravi še bolj "complete".
Z drugimi besedami - ali obstajajo stvari, ki jih ljudje nikakor ne moremo razumeti (dovolj napreden računalnik pa bi jih lahko). Stvari, ki bi bile za ljudi to, kar so integrali za šimpanze.

smacker ::

Narobe razumeš pojem. AI-complete pomeni da problem ne more bit rešen s klasičnim algoritmom, ampak da je napisat program za problem ekvivalentno težko kot ustvarit umetno inteligenco - program/stroj, ki bo enako zmogljiv kot človek. Pojem nakazuje, da se problema ne da rešit z enim splošnim algoritmom in nima veze s človeško inteligenco. Človeški možgani super rešujejo AI-complete probleme (vid, prevajanje,...)

Okapi ::

Se mi zdi, da kar dobro razumem pojem.

English pronunciation: /??/In the field of artificial intelligence, the most difficult problems are informally known as AI-complete or AI-hard, implying that the difficulty of these computational problems is equivalent to that of solving the central artificial intelligence problem--making computers as intelligent as people, or strong AI.[1] To call a problem AI-complete reflects an attitude that it would not be solved by a simple specific algorithm.

Popolna umetna inteligenca, za razliko od nepopolne, delne.

Kar hočem povedati, je to, da tudi če je umetna inteligenca enako pametna kot človek, morda še vedno ni "popolna", ker (če) obstajajo problemi, ki jih človek ne samo, da ne zmore rešiti oziroma vsaj razumeti, ampak se jih ne more niti zavedati.

Ali obstajajo stvari, ki so za človeka to, kar je za šimpanza integral? Za šimpanza je integral popolnoma nedoumljiv problem - sploh ne more vedeti, da obstaja, kaj šele, da bi ga razumel ali rešil.

Očitno je, da ljudje ne moremo vedeti za stvari, ki jih ne moremo poznati oziroma se jih zavedati. Vprašanje je, ali lahko teoretično vemo (ugibamo), ali takšne stvari sploh lahko obstajajo.

Zgodovina sprememb…

  • spremenil: Okapi ()

smacker ::

Ne, ne razumeš pojma. AI-complete problem pomeni, da je najt rešitev problema podobno težko, kot izdelat pravi AI, ki bi bil inteligenten kot je človek in ne da je problem tak, da ga človek ne zna rešit. Ni govora o popolni umetni inteligenci, ampak o problemu, ki je UI-poln (oznaka za težavnost problema, ki pomeni da je rešit problem enako težko kot načrtovat UI). Terminilogija je rahlo specifična v računalništvu. Izhaja iz analogije NP-polnih problemov, oz. problemov ki niso rešljivi v polinomskem času - imajo eksponentno časovno zahtevnost.
Glede stvari, ki jih ne razumemo pa pomoje vsekakor obstajajo. Kvantnih pojavov si še ne znamo razložit, večina ljudi se sploh ne zaveda da obstajajo, čeprav jih že v praksi znamo izkoriščat. Če predpostaviš, da ljudje že vse vemo, potem adijo kakršen koli napredek. Ne morš pa vedet, česa se bomo sposobni naučit in česa ne. Tud za šimpanze ne morš bit prepričan, da ne bojo čez tisoče let znali integralov računat. Evolucija je tudi eno od področij, ki ga ne razumemo do potankosti, zato ne moremo predvideti kako se bojo bitja razvijala.

Zgodovina sprememb…

  • spremenil: smacker ()

Okapi ::

Šimpanzi ne bodo nikoli vedeli, kaj je integral. Če bodo njihovi potomci to vedeli, ne bodo več šimpanzi. Tako kot mi nismo več avstralopiteki.

Jasno je, da ljudje še ne vemo vsega. Vprašanje je, ali obstajajo rešljivi problemi, ki jih ljudje s pametjo, kot jo imamo sedaj, nikoli ne bomo mogli rešiti.

nevone ::

Očitno je, da ljudje ne moremo vedeti za stvari, ki jih ne moremo poznati oziroma se jih zavedati. Vprašanje je, ali lahko teoretično vemo (ugibamo), ali takšne stvari sploh lahko obstajajo.


V bistvu lahko sklepamo, da takšne stvari obstajajo. Tega sicer ne moremo z zagotovostjo trditi, ampak glede na to, da so v preteklosti takšne stvari obstajale, kakšna je verjetnost, da smo že na koncu te poti in ne obstaja nič neznanega več? Seveda se verjetnost za to s časom manjša, ampak vedeti, ali smo na koncu poti nam pa trenutno še ni dano.

o+ nevone
Either we will eat the Space or Space will eat us.

Okapi ::

Ne mislim na neznano, tega je še ogromno, ampak na stvari, ki presegajo naše razumske zmožnosti (danes in kadarkoli v prihodnosti), da bi jih sploh razumeli.

V bistvu sta dve kategoriji:
- rešljivi problemi, ki jih poznamo oziroma jih bomo lahko nekoč spoznali, ampak jih tudi teoretično ne bomo sposobni rešiti, rešitve pa, če bo do nje prišel recimo računalnik ali bitja, pametnejša od nas, ne bomo sposobni razumeti. Kaj takšnega bi bila recimo po definiciji čarovnija, ali čudež.
- rešljivi (in nerešljivi) problemi, ki jih nikoli niti poznali ne bomo. Primer tega je integral za šimpanze.

nevone ::

ampak na stvari, ki presegajo naše razumske zmožnosti (danes in kadarkoli v prihodnosti), da bi jih sploh razumeli.


Po moje lahko sklepamo na enak način, s paralelo s šimpanzi. Šimpanzi danes nečesa niso zmožni, evolucija pa bi jih morda lahko pripeljala do točke, kjer bi bi tega bili zmožni, kot je pripeljala človeka.

Se pravi, možno je, da obstajajo stvari, ki jih s trenutno mentalno kapaciteto nismo zmožni dojeti, ampak evolucija (pa magari tehnološka) nas lahko pripelje do tja, da bomo tega zmožni. Sicer ti praviš, da to ne bomo več mi, ampak to sploh ni pomembno. Na nek način bomo.

o+ nevone
Either we will eat the Space or Space will eat us.

Okapi ::

Predvsem ni nujno, da se lahko razvijemo v bolj pametna bitja (oziroma v dovolj pametna, da bomo lahko razumeli dejansko vse). Evolucija ni vsemogočna in velikokrat zaide v slepo ulico, od koder ti nobena kombinacija mutacij ne pomaga več. A če bi dal za primerjavo krompir in integrale, namesto šimpanzov, bi bilo bolj jasno?

nevone ::

Evolucija ni vsemogočna in velikokrat zaide v slepo ulico, od koder ti nobena kombinacija mutacij ne pomaga več.


Če je tisto del tvojega okolja, tudi evolucija lahko do tja pride, ker lahko razvijaš več vej in tudi morfologijo lahko izboljšaš. Morda te ustavi kaj drugega, sama evolucija verjetno ne.

o+ nevone
Either we will eat the Space or Space will eat us.

Irbis ::

Google's New Service Translates Languages Almost as Well as Humans Can:
https://www.technologyreview.com/s/6024...

kuall ::

Tale tema me zelo zanima, po drugi strani je pa tako zajebano težka, da se mi ne da delat.
Bom probal še mau kle pisat moje ideje, mogoče mi bo to kaj pomagalo pri motivaciji.

Primer:
The house is white, the mercedes is red and John is tall.
What color are they?
What color is the car?
(Prevajalec med jeziki mora bit zmožen odgovorit na takale vprašanje, drgač nima prihodnosti.)

Vprašanje:
Kako veš, da car označuje mercedes?

Odgovor:
Ker zaimki (povezovanje besed) tako deluje, da lahko samo besede, ki imajo isto (pod/nad) kategorijo pomenijo isti objekt. Mercedes spada v kategorijo car.

Vprašanje:
Kako veš, da "they" ne označuje tudi Johna ampak samo "house" in "mercedes"?

Odgovor? Zato, ker če določiš they = John + mercedes + house ne moreš odgovorit na vprašanje, ker ne moreš najti barve za Johna. Medtem ko če določiš they = mercedes + house lahko odgovoriš na to vprašanje, ker najdeš en odgovor na vprašanje: vprašanje "What color are they?" spremeniš v "What color is mercedes? What color house? Odgovor na oba vprašanja lahko najdeš v uganki.

Irbis ::

They po mojem sicer označuje tudi Johna, samo zanj pač potem ne vemo barve. Potem je pa stvar odločitve, ali pač povemo, da ne vemo, kakšne barve je John, ali pa ta del odgovora izpustimo, ker smo že tako prej odgovorili za dve drugi stvari, kakšne barve sta.

Nadpomeni so pa zelo uporabna zadeva, če le imaš dovolj veliko bazo podatkov s temi podatki. Že npr. samo pri prevajanju seznamov: "koze in ovce" proti "koze in ošpice".

Qcube ::

Vsekakor mislim da za prevajanje med več jeziki bi bilo potrebno izumit nek nov metajezik(nadjezik), v katerega bi se vsi jeziki prevedli v isti pomen, in nato iz metajezika prevajanje v ostale jezike.

kuall ::

Ja ta metajezik je logični jezi, s katerim lahko delaš sklepe.

Še en primer:
Janez, ki ima koze po obrazu, pase koze.
Ali je Janez bolan? Ali ima Janez živali?
Da, je bolan.
Da, ima živali.

Vzorci:
logično: ima (janez, koze(bolezen, po(obrazu))). pase(Janez, koza(žival, množina))
slovensko: Janez, ki ima koze po obrazu, pase koze.
angleško: Janez, ki ima koze na njegov obraz, pase koze.

logično: ?(janez(bolan))
slovensko: Je Janez bolan?
angleško: Je Janez bolan?

logično: ?(ima(janez, žival(množina))
slovensko: Ima Janez žival (množina)?
angleško: Does Janez imeti žival (množina)?

Vzorec za odgovor in vprašanje:
logično: ?(Janez(bolan)). (Janez(bolan))
slovensko: Ali je Janez bolan? Da, je bolan.
angleško: Je Janez bolan? Da, on je bolan.

logično: ?(Janez(bolan)). not (Janez(bolan))
slovensko: Ali je Janez bolan? Ne, ni bolan.
angleško: Je Janez bolan? Ne, on je not bolan.

slovar:
logična oblika, angleščina, slovenščina
koza(bolezen), smallpox, koze (množina)
koza(žival), goats(množina), koze (množina)

Pravila sklepanja:
ima (x, y(z)) => ima x (z) // če ima x lastnost y, ki spada v kategorijo z potem ima x tudi z
ima (x, y (bolezen)) => x (bolan) // če ima x lastnost y, ki je bolezen, potem je x bolan

V prvi verziji je treba samo to naredit, da program s pomočjo na roke napisanih vzorcev in pravil sam naredi prevod in odgovori na vprašanja. To je zadost težko, treba si je nalogo razdelit na obvladljive dele.
Tudi če so vzorci in pravila, ki jih napišemo zelo specifični za uganko in se jih ne da uporabit v drugih primerih ni nič narobe. Drgač se pa gleda, da so čimbolj splošni, da se jih da uporabit še v drugih primerih.
V drugi verziji pa se bo program sam učil teh vzorcev in pravil, tu pa pride v poštev kakšna nevronska mreža ali karkoli pač deluje.

Irbis ::

Težava je, ker je teh pravil sklepanja takole hitro čisto preveč. Jaz razmišljam bolj v drugi smeri, da se namreč čim več teh pravil vnese na nivoju slovarja, metajezik ima pa čim manj konceptov. Ker edino na ta način ti stvar res lahko pomaga pri prevajanju, kjer se ti lahko zgodi, da v ciljnem jeziku nimaš nekega koncepta, ki ga moraš zato zapisati s celim odvisnikom.
Tako npr. v angleškem slovarju definiraš "treatable" kot nekaj, kar je mogoče zdraviti, in potem "treatable disease" lahko prevedeš v "bolezen, ki jo je mogoče zdraviti", ko pač ugotoviš, da v slovenskem slovarju nimaš pridevnika, ki bi ustrezal temu pomenu.
In obratno "Ta bolezen bo na ta način postalo mogoče zdraviti." bi lahko prevedel v "This way, this disease will become treatable.".

Ampak definirati tak metajezik in narediti ustrezen slovar je hudo obsežna zadeva.

Unilseptij ::

Tak meta-jezik ne reši ničesar... Problem je, da v splošnem nek tekst iz slovenščine v angleščino 10 različnih človeških prevajalcev prevede različno. To je normalno, ker človeški jezik ni strogo enoznačen, niti ni strogo logično konsistenten. Tako nikdar ne obstaja samo en "pravi" prevod, ampak množica možnih prevodov, ki lahko predstavlja tudi množico različnih pomenov. Kateri je (bolj) pravi zavisi od konteksta, ki ga običajno ni mogoče podati kot input računalniku, ker je lahko mnogo obsežnejši kot sam tekst. Vsekakor strojno prevajanje nikdar ne bo nadomestilo človeškega prevajanja, razen morda na zelo omejenih področjih, kjer je terminologija in način izražanja blizu formalni logiki (recimo tehnični teksti). Mene je kar malo strah, da bi dejansko nekoč imeli univerzalni prevajalnik oziroma meta-jezik, ki bo neizogibno zelo omejen in osiromašen... če bo potem še kakšna pametna buča sprejela zakon, da je edini uradni jezik tak meta-jezik, potem bo konec z jezikovno raznolikostjo in izraznim bogastvom, ki konec koncev omogočata izražanje popolnoma novih idej, konceptov in pomenov, kar je izvorno gonilo vsesplošnega razvoja.

Zgodovina sprememb…

kuall ::

Pa ravno tako je v človešklih možganih narejeno, da je čist vsako specifično pravilo shranjeno posebej, sej zato pa imamo tako veliko kapaciteto možganov, toliko nevronov.
Npr naši možgani nimajo shranjenih splošnih pravil ampak imajo shranjene že naučena zelo specifična pravila.
Zato, da lahko hitreje razmišljamo. Naprimer nimamo shranjena samo splošna slovnična pravila, kot jih najdemo v sloveničnih knjigah, ampak imamo za milijone možnih specifičnih primerov shranjeno posebej pravilo.
Čist logično mi je tako, ne bi bilo smiselno drugače, število nevronov oziroma spominska kapaciteta je precej poceni stvar, hočem rečt je taka stvar, ki jo je bilo evoluciji lahko ustvarit, resda porablja dost energije tako veliko nevronov.
Kako zgradit to velikansko bazo vseh specifičnih pravil pa spada pod učenje, možno, da se to dogaja med spanjem recimo. In res je znano, da je treba it spat, da se znanje utrdi, torej da se specifična pravila shranijo v možgane.
Po moje je tudi Google prevajalc tako uspešen zato, ker je shranil na milijone specifičnih pravil, kako prevest stvari. Ki se jih je naučil s primerjavo že narejenih prevodov.

>Ampak definirati tak metajezik in narediti ustrezen slovar je hudo obsežna zadeva.

Ta metajezik mora programer definirat, res ni tako lahko. Čimmanj elementov mora imet. In osnovna pravila in vzorce (taki, ki so vedno resnični) lahko tudi programer vkodira.
Slovarja, vzorcev prevajanja in bolj specifičnih pravil pa se bo moral program sam naučit.

>Tak meta-jezik ne reši ničesar.
Vsak možen prevod ima malo drugačen pomen. Tako bo tudi metajezik moral imeti zmožnost, da se bo dalo v njem povedati vse te male razlike v pomenu.
Ta metajezik bo precej bolj neprijazen človeku, tako da se ne bat, da bo nadomestil človeški jezik.
Človeški jezik je osnova človeka, tako da ne bo šel nikamor. Bodo pa po moje stalno jeziki izumirali z globalizacijo dokler ne bo čez stotine let samo še en jezik, ampak kaj hočemo, saj tudi živali izumirajo na veliko, kar je veliko huje. Stvari se spreminjajo.

Zgodovina sprememb…

  • spremenilo: kuall ()
1
2
»


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Microsoftova umetna inteligenca prevaja kitajščino kot ljudje (strani: 1 2 )

Oddelek: Novice / Znanost in tehnologija
7520005 (14792) Irbis
»

Skype simultano prevaja! (strani: 1 2 )

Oddelek: Novice / Ostala programska oprema
6323473 (19095) m0LN4r
»

Google govori 41 jezikov

Oddelek: Novice / Omrežja / internet
306037 (4757) Azrael
»

Računalnik-prevajalec (strani: 1 2 )

Oddelek: Znanost in tehnologija
717342 (6639) Tear_DR0P
»

"AI"(bot)

Oddelek: Programiranje
161822 (1533) Thomas

Več podobnih tem