Tässä mielenkiintoinen ongelma. Ratkoin Seuran tietokilpailuja kokeilumielesä tietokoneen avulla. Yksi kysymys kuului: "Mikä lintu? Tämä mestarilentäjä ei käytännössä käy koskaan maassa." En tiedä mitä olisin kirjoittanut Googleen ja Wikiin, että olisin tuon selvittänyt.
Millä tavalla voisi toimia sellainen systeemi, jolla tuo ratkeaisi? Jos joku vaikka tekisi tietokannan linnuista, tuollaista tarvittaisiin.
Ajattelin jotain seuraavaa koodausta:
"tervapääsky lento -maa"
Eli lintu saisi negatiivisen arvon "maasta", joka olisi yleinen termi. Sitten seuraavilla haulla löytyisi oikea lintu:
"-maa" tai " lento"
Onko parempia ideoita?
Millä tavalla voisi toimia sellainen systeemi, jolla tuo ratkeaisi? Jos joku vaikka tekisi tietokannan linnuista, tuollaista tarvittaisiin.
Ajattelin jotain seuraavaa koodausta:
"tervapääsky lento -maa"
Eli lintu saisi negatiivisen arvon "maasta", joka olisi yleinen termi. Sitten seuraavilla haulla löytyisi oikea lintu:
"-maa" tai " lento"
Onko parempia ideoita?
Vastaukset 11
Vanhimmat
Paratiisin lintu
http://www.google.fi/search?hs=Uzv&hl=fi&client=firefox-a&rls=org.mozilla:fi-FI:official&q="never touch the ground" bird&btnG=Hae&meta=
http://www.digital-images.net/Images/2002/Animals2/Bird_of_Paradise_5974.jpg
Ei nyt ollut kyseessä itse lintu, vaan sellaisen ohjelman tai järjestelmän tekeminen, jossa ei tarvitsisi kikkailla noilla hakusanoilla.
(Lintu muuten oli tuo tervapääsky.)
"Tervapääskyn" tai "Apus apus" nimet tietäen löytää helposti tuon linnun erikoisen ominaisuuden nykyisillä hakutekniikoilla mutta ominaisuudesta ei lintua saa niin helpolla. Kielellisesti asian voi sanoa 10 000 eri tavalla, niin kuin tuo "never touch the ground".
Haluaisin vaikka että linnun ominaisuuskin saisi jonkun ID:n vaikka 4090923404979.
Kysymys:
"Mikä lintu? Tämä mestarilentäjä ei käytännössä käy koskaan maassa."
edellyttää mielestäni luonnollisen kielen laadukasta ymmärtämistä. Esim. ilmaukset "mestarilentäjä", "ei käytännössä" ja "käy koskaan maassa" ovat monitulkintaisia ja niiden asiayhteys on tekoälylle haastava homma.
Jos lintuspesifinen tietokanta sisältäisi vakioidut ilmaukset vastaavankaltaisille ominaisuuksille ja niiden kvantitatiivisille asteille, niin normaali tietokantaohjelma selviäisi hyvin, eikä mitään erityistä tekoälyä tarvittaisi.
Ai niin vielä:
Tietokannassa
Tässä on ongelma. Miksi lentotaito määriteltäisiin juuri 97 prosentiksi. Eikä mikään kerro onko se hyvä, erinomainen tai mestarillinen. Lisäksi vakioituja termejä tulisi paljon.
Jos alkeellista luonnollista kieltä voitaisiin käyttää, voitaisiin lintua nimittää ominaisuuksilla "Paras-Lento" tai "Eikoskaan-Maa". Sanat olisivat jonkun "alkeis-esperanton" termejä.
Näihän nimet ovat alkujaan syntyneetkin. "Tervapääsky" kertoo jotain linnun värityksestä...
Siis:
"Tervapääsky"
"Apus apus"
LINTU
NOPEA
PARAS-LENTO
EIKOSKAAN-MAA
SYÖ-HYÖNTEINEN
Isoilla vakiotermit.
" Tässä on ongelma. Miksi lentotaito määriteltäisiin juuri 97 prosentiksi. Eikä mikään kerro onko se hyvä, erinomainen tai mestarillinen."
Lentotaidolle voitaisiin laskea jonkinlainen indeksi osatekijöistä, mutta todennäköisemmin se pitäisi eritellä tarkemmin. Onhan kahta loistavaa lentäjää, pääskyä ja albatrossia vaikea verrata.
"Jos alkeellista luonnollista kieltä voitaisiin käyttää, voitaisiin lintua nimittää ominaisuuksilla "Paras-Lento" tai "Eikoskaan-Maa". Sanat olisivat jonkun "alkeis-esperanton" termejä. "
Sumean logiikan metodi tuottaa juuri tuollaisia "verbaalis-kvantitiivisiä" ilmauksia, joilla on sitten sujuvaa operoida. Tutustu siihen.
Ehkä haluat juuri sitä:
http://www.dementia.org/~julied/logic/index.html
Kieltämättä asia liittyy vähän sumeaan logiikkaan. Olen kuitenkin luopunut siitä ajatuksesta, että koneen pitäisi jotain päätöksiä tehdä.
Lähestyn ongelmaa nyt kielellisestä ja systemaattisesta suunnasta.
Ohjeita lintujen nimityksistä:
http://www.cs.tut.fi/~jkorpela/takso.html
Yleisten sanojen luettelo:
http://vesa.lib.helsinki.fi/ysa/
Joku systeemi joka muuntaa lausetta niin kauan kunnes se on sama kuin tietokannassa oleva lause?
Kone voisi käydä läpi 10000 muunnosta kunnes tärppää. Toisaalta voisi olla jotain ovelaa menetelmää jolla haku suuntautuu niin ettei kaikkea tarvitse täysin umpimähkään "etsiä".
Miltä kuulostaa?
Sellaisia hakukoneita toki on jo, jotka osaavat hakea "sanojen vierestä".
Mutta kuka määrittelee miten sanoja voi vaihtaa. "Ei käy koskaan maassa" pitäisi osata muuttaa muotoon "On aina ilmassa", silloin kun puhutaan linnuista. Kaloista puhututtaessa: "On aina vedessä" ja vaikka avaruusaluksesta: "Ei käy koskaan Maa-planeetalla" olisivat sopivia käännöksiä.
Onko tuohon mitään ideaa?
"
Sellaisia hakukoneita toki on jo, jotka osaavat hakea "sanojen vierestä".
"
Mitkä hakukoneet?
Miten se toimii? Arvaako siinä joku tilastojuttu mitkä sanat ovat synonyymeja, taivutusmuotoja tai mitkä sanat ovat lähes aina samoilla sivuilla, ja sitten se toinen sana otetaan pisteissä lähes yhtä korkealle kuin varsinainen sana?
Eli mänty ja petäjä ovat samoilla sivuilla harvinaisen usein, ja niiden kanssa oleville kolmansille sanoille on samankaltaiset tilastot.
Mitä vielä mistä kone (ja ehkä vauva) voi ottaa vihjeen merkityksestä?
"
"Ei käy koskaan Maa-planeetalla" olisivat sopivia käännöksiä.
Onko tuohon mitään ideaa?"
Taitaa vaatia oikeaa älyämistä ja ajattelukykyä? Se on toki mahdollista myös tietokoneelle, mutta kuten kai yleisesti tiedetään, on erittäin vaikeaa keksiä miten se tehdään.
"Mitkä hakukoneet?"
Olen ainakin ymmärtänyt, että Excite toimisi näin.
"Taitaa vaatia oikeaa älyämistä ja ajattelukykyä? Se on toki mahdollista myös tietokoneelle, mutta kuten kai yleisesti tiedetään, on erittäin vaikeaa keksiä miten se tehdään."
Se onkin niitä "ratkaisukysymyksiä". Luulenpa muuten että ratkaisevaa on juuri aivojen datamuoto eikä itse se logiikka tai toiminta. Tieto pitää olla päässä järjestäytynyt uskomattoman nerokkaasti, kun hakuaika on niin lyhyt, vaikka "hakusanat" ovat epätäsmällisiä. Laskutoimitukset ovat taas ihmisille vaikeita, joten aivojen logiikka ei yllä taskulaskimen tasolle.