Timo Kinnunen
Särkiniementie 16 A 41
70700 Kuopio
Finland

Klikkaa tästä siirtyäksesi Timon Serverimaailma kotisivun etusivulle - Click this link to jump to the main page of Timos' Serverimaailma homepage

Klikkaa tästä siirtyäksesi Timon kirjoittamat suomen- ja englanninkieliset filosofiset tarinat ja tutkielmat -sivulle - Click this link to jump to the page of Timo's Finnish, and English philosophical researches and stories

Klikkaa tästä siirtyäksesi tutkielmani Ihminen ja tietokone - Man and computer pääsivulle - Click this link to jump to the main page of my study Ihminen ja tietokone - Man and computer

DIRECTION ASSISTANCE

James Raymond Davis and,
Thomas Frank Trobaugh, December 1987

Speech Research Group Technical Memo 1
The Media Laboratory
Massachusetts Institute of Technology

Abstrakti

Direction Assistance on integratiivinen ohjelma, joka antaa englanninkielellä ajo-ohjeita autoilijoille Bostonin kaupungin alueella. Ohjelmassa on vastaanotto (input) äänitaajuuspuhelimelle ja se antaa pyydetyt ajo-ohjeet puhesyntetisaattorilla (output). Ehdotetut reitit ovat sekä lyhyitä, että myös helppoja seurata. Ajo-ohjeet annetaan sujuvalla englanninkielellä, ja ohjelmaa on menestyksellä kokeiltu vastamuuttaneiden opastukseen.

1. Johdanto

Direction Assistance koostuu viidestä modulista. The Location Finder pyytää käyttäjää antamaan reitin alkukohdan ja sen loppukohdan. Ne voivat tulla määritetyiksi annettuina katuosoitteina, tai puhelinnumeroina. The Route Finder etsii yksinkertaisen ja lyhyen reitin alkukohdan ja loppukohdan välille. The Describer luo kuvauksen reitistä erinomaisella englanninkielellä, ja The Narrator esittää sen ajo-ohjeiden pyytäjälle. Lisäksi ohjeiden pyytäjällä on mahdollisuus saada ohjeet graafisena esityksenä, koska ohjelmassa on tarvittava tulostusvalmius (interface). Edelläesitetyt modulit hyödyntävät databasea, joista tärkeimmän osion muodostaa katukartasto (yhdentoista neliömailin suuruinen alue, jonka keskus on Charles Riverillä). Toinen database on invertoitu puhelinluettelo, joka kääntää katuosoitteet puhelinnumeroiksi.

2. Databases

2.1. Kadut

Aloimme katukarttamme työstön DIMEtiedostosta (Dual Independent Map Encoding), jonka on laatinut the United States Geological Survey. DIMEtiedosto koostuu joukosta suoralinjaisia segmenttejä, joista jokaisella on tietty nimi, tyyppi, lopetuskohdat vaaka -ja pystysuorassa dimensiossa, ja jossa on myös jotakin muutakin informaatiota tämän lisäksi. Segmenttityypit sisältävät luonnollisia maisemapiirteitä (pääasiassa veden ja maa-alueen rajoja), rautatielinjoja, kaupunginosa- ja katulinjoja, sekä eräitä muita ominaisuuksia kuvailevia linjoja. Kadut identifioidaan osoitenumeroina, joilla määritellään kadun alku- ja loppupiste. On tosin mahdollista estimoida minkä tahansa katusoitteen koordinaatit interpoloimalla l. otaksumalla korttelit samanpituisiksi. Aloitimme 11 neliömailin alueen osiosta, jonka keskus oli Charles River. Se sisältää osioita Bostonista (Charlestown, Allston, Back Bay, South End, North End), Brooklinesta ja Cambridgesta (Cambridgeport and Harvard, Inman, Central and Kendall Squares). Kartassa on yhteensä 279 mailia katuja, sisältäen 6163 segmenttiä, joista 5506 vastaa katuja. Tiedoston koko on 447 Kb.

Figure 1: Steet Database:

Tämä DIMEtiedosto ei ollut läheskään sopiva meidän tarkoitukseemme, koska se sisälsi useitakin virheitä. Katuja puuttui; ne oli nimetty virheellisesti, tai liiden liittymät eivät olleet oikeita, ja kadunnimien tavutukset olivat virheellisiä. Joissakin tapauksissa useatkin segmentit sijoittuivat samalle kohdalle karttaa, ja jotkut segmenteistä olivat yhdistyneet toisiinsa. Niinpä kirjoitimme useita ohjelmia, joiden avulla paikallistimme tällaisia virheitä ja poistimme niitä; teimme sen automaattisesti niin suuressa määrin kuin mahdollista. Sen lisäksi, että paikallistimme virheitä meidän täytyi myös lisätä uutta informaatiota databaseen, koska tärkein informaatio liittyi siihen, olivayko kadut yksisuuntaisia. Niinpä luokittelimme kadut myös laadullisesti, ja kirjoitimme tekstimuotoisia kuvauksia joihinkin erityisiin kohtiin karttaa. DIME tiedoston segmentit liittyvät toisiinsa mikäli niillä on yhteinen lopetuspiste. Kutsumme tällaista liittymistä fysikaaliseksi liittymiseksi (physical connectivity). Jokaisella segmentillä on kaksi lopetuspistettä, ja jokaiseen niistä liittyy luettelo segmenteistä, jotka ovat niihin fysikaalisesti liittyneet. Fysikaalinen liittyvyys ei kuitenkaan ole riittävä reitinlöytämisessä, koska saattaa olla laitonta ajaa mm. joltakin kadulta toiselle sen yksisuuntaisuuden vuoksi, tai koska kääntyminen tiettyyn suuntaan on kielletty, tai koska keskikoroke estää kääntymisen. Tässä tapauksessa fyysinen este on rajoitteena, eikä niinkään laki tai ajosääntö. Koska sellaiset kuitenkin ovat eräissä tapauksissa rajoitteina lisäsimme liittymisten valikoimaan legaalisen liittymisen (legal connectivity). Kaksi segmenttiä ovat liittyneet legaalisti toisiinsa mm. silloin kun ei voida ajaa suoraan kadulta toiselle rikkomatta lakia. Legaalinen liittyvyys täydentää, mutta ei kuitenkaan korvaa fysikaalista liittyvyyttä. Autolla ei ei ole lupa ajaa rautatietä, vaikka se liittyisikin ajolinjaleikkauksena fysikaalisesti tiehen, mutta tällainen liittyvyys voi olla mm. ajo-orientoitumisen kannalta merkittävä yksityiskohta. Kaikki kadut eivät ole valinnallisesti samanarvoisia. Halusimme ajoreitin ohjautuvan niin, että valituiksi tulisivat leveimmät, nopeimmat, ja helpoimmin paikallistettavat ajoväylät. Annoimme siksi jokaiselle kadulle tietyn hyvyysarvon (goodness). Määriteltäessä useimmat kadut ovat valinta-arvoina keskinkertaisia (average). Pääliikenneväylät (super) voivat olla ohitusväyliä, kaupunkienvälisiä pääliikenneväyliä, tai muutoin sellaisia, että niille pääsy kaupunkialueelta on liittymiltään rajoitettu. Ne onkin luokiteltu pelkästään helpoiksi löytää ja seurata, koska ne ovat ruuhkaisia ja hitaita. Toisena äärimmäisyytenä ovat kapeat ja huonokuntoiset kadut (bad). Tällaisia katuja databasessamme on kolmisen mailia, ja niitä pyrimme välttämään. Käsite "parempi kuin keskimäärin" (better than average) oli vaikeammin määriteltävissä, koska halusimme identifioida ne kadut, jotka olisivat helpot löytää ja seurata. Päätimme, että ne kaduista, jotka olivat pitkiä, olisivat valinnallisesti tärkeimpiä. Niinpä merkitsimme yli puolen mailin pituiset kadut hyviksi (good), ja sitten lisäsimme niihin muin arviointiperustoin manuaalisesti joitakin (lyhyempiä), mikäli ne vaikuttivat tärkeiltä liikennöinnin joustavuuden kannalta. Tuloksena oli katuverkko, jonka pituus oli 105 mailia yhteensä, ja se muodostaa yksinkertaistetun koko katukartaston luurangon. Kolmas laajennus määritelmiin liittyy kadustoskeeman laajennukseen. Lisäsimme uusia segmenttityyppejä, kuten siltoja, alikulkukäytäviä, liikenteenjakajia ja pääväylien liityntäramppeja. Tämä lisäinformaatio on tärkeää ajo-orientoitumisen kannalta, kuten myös The Describerin toiminnalle, kuten tulemme huomaamaan. Lisäsimme myös edelläkuvattuja tiedonsisältöjä deskriptiivisesti luonnehtivaa informaatiota nimikkeinä, jotka kertoivat, minkälaatuisia tiedonsisältöjä tiettyihin segmettileikkauskohtiin liittyy. The Describer käyttää juuri tätä informaatiota hyväkseen.

Figure 2: Network of good streets:

Teimme kaikki korjaukset ja täsmennykset tekemiemme kenttähavaintojemme perusteella. Emme löytäneet yhtään paperille tehtyä karttaa, jossa olisivat näkyneet kaikki Bostonin yksisuuntaiset kadut, ja siksi meidän oli ajeltava ympäri kaupunkia niitä kartoittaen. Tällaiseen pohjatyöhön kulunut aika muodostaa systeemin kustannuksista valtaosan, mutta työ onkin tehtävä vain kerran. Graafinen database-muokkain oli erityisen kätevä, koska sen avulla databasea saattoi editoida nopeasti tarpeen vaatimalla tavalla. Me suosittelemme tämäntapaisten kartastojen- ja ohjelmistojen muokkaajille The Lisp Machine window-systeemiä, jotta tehtävä tulisi helpoksi.

2.2. Neihborhoods

Relaatiodatabasessa luetteloidaan Bostonin ympäristöalueet niihin liittyvine zip -koodeineen. Tarvitsimme tällaista databasea siksi, että annettu katu voi sijaita useissakin kaupungeista. Esimerkiksi kartassamme esiintyy kolmasti kadunnimi "Washington"; Bostonissa, Cambridgessa ja Somerwillessa. Ja vielä pahempaa: Cambridgessa kahdella eri kadulla on nimenä "Elm". The Location Finder käyttää tätä databasea tarkempaan paikantamiseen. Mikäli käyttäjä tarjoaa kadunnimeä, joka voi kuulua useammallekin eri kadulle on tarpeen esittää lisäkysymys, kuten: "Tarkoitatko mahdollisesti Cambridgen Bacon Streetia vai Bostonin Bacon Steetia?" Jotta tämä olisi niin helppoa kuin mahdollista on parasta käyttää kaikkein yleisimpiä paikanteita, jotta sen kautta mahdolliset vaihtoehdot suljettaisiin pois. Mikäli jokin tietty nimi esiintyy kahdessa kaupunginosassa yhtäaikaa on mielekästä käyttää kaupunkialueen nimeä, ja jos sama nimi esiintyy kahdesti tai useammin eri kaupunkien alueella on mielekästä käyttää kaupungin nimeä. Naapuruus määriytyy kadunnimen zip -koodista, vaikkakaan tällainen määrittely ei ole täydellistä. Kuitenkin se soveltuu hyvin tarkoituksiimme. Useimmiten naapuruussuhdenimikkeitä käytetään "paikallisissa" postitoimistoissa.

Figure 3: Central Square, 02139:

2.3. Inverted Phonebook

Invertoidun luettelon avulla voimme liittää puhelinnumeroita kadunnumeroihin. Rakensimme tämä databasen itse inversoimalla "valkoisten sivujen" databasen. Tämä vaati katuosoitteiden valkoisten sivujen alkuperäisen tekstimateriaalin uudelleenasettelua, mikä oli vaikeaa useistakin syistä. Valkoisilla sivuilla oli runsaasti tavumuotoja ja poikkeavia ilmaisuja. Esimerkiksi me löysimme 23 erilaista "Massachusetts" -variaatiota. Formaatti ei myöskään ollut vakioinen. Toisinaan listaus sisälsi ammattinimikkeitä (atty, arch), tai toisen puhelinnumeron tapauksia varten, jolloin puheluun ei vastattaisi, tai muunlaista informaatiota, kuten "toll free" ja "childrens phone". Meillä ei ollut typografista informaatiota, jolla olisimme kyenneet erottamaan nimet muusta informaatiosta. Lopuksi, osoitteet olivat epätäydellisiä niin, että niissä oli toisinaan vain kaupungin nimi, kadunnimi, tai jokin sellainen nimi, joka ei liittynyt millään tavalla kadunnimeen, kuten mm. "ostoskeskus". Uudelleenasettelun jälkeenkin oli työlästä määritellä informaatiopaikanteita listauksesta, koska parhaimmillaankin saatavilla olivat vain kadunnimi, puhelinnumero ja kaupungin nimi. Kuten jo aiemmin todettiin, voi sama kadunnimi esiintyä useassakin kaupungin osassa. Sijainti voidaan kuitenkin määritellä sen ylimääräisen informaation avulla, jonka saamme huomioimalla osa-aluenimikkeen. Niissä tapauksissa, joissa tämä ei ole mahdollista, on ohjelman käyttäjää pyydettävä suorittamaan valinta.

3. Route Finder

The Route Finder löytää reitin kolmea pääperiaatetta noudattaen. Reitin on oltava helpposeurantainen, järjellisen lyhyt, ja sen on oltava löydettävissä ennenkuin ohjelmankäyttäjä menettää kärsivällisyytensä. Pääperiaatteet konfliktoivat keskenään. Hyvin harvoin nimittäin on löydettävissä täysin suoraa reittiä, ja sellainen voisi löytyessäänkin vastata käytännössä umpikujaa. Joudumme ristiriitaan geometrisen yksinkertaisuuden periaatteen kanssa, koska emme halua asiakkaamme joutuvan eksyksiin. The Route Finderin tuloste on polku (path); järjestykseen asetettu luettelo katusegmenteistä, jossa ensimmäinen segmentti on polun alkukohta, ja viimeinen segmentti määränpää, ja jossa jokainen segmenteistä on myös legaalisesti kytkeytynyt toinen toiseensa. Ohjelman ajankäyttö määriytyy ensimmäisestä välimatkanmäärittelystä. Ohjelma tarjoaa vaihtoehtona parasta, ensimmäisenä löytyvää vaihtoehtoa, joka on kohtuullisen hyvä ajatellen varsinaiseen autolla ajoon kuluvaa aikaa.

Figure 4: A Sample Route:

Paras ensinnä löytynyt vaihtoehto on parannettu versio karkeasti määritellystä lyhyimmästä välimatkasta. Itse haussa koeistetaan simulatiivisesti joukkoa mahdollisimman lyhyitä polkuja, joista kehitetään versio, jonka kustannukset (costs) ovat alhaisimmat. Simulaatiajossa jokaiselle polkukandidaatille on kaksi arvoa, joista toinen on sen tunnetun osan kustannusten summa, ja estimaatti-arvo, jota ei vielä tunneta, ja jolle haetaan alinta mahdollista arvoa legaalisia normeja noudattaen. Estimoinnin funktiona on kartesiolaisen välimatkan funktio, koska mikään reiteistä ei voi olla lyhyempi kuin suora viiva pisteestä toiseen.

Figure 5: All segments touched by search:

Kuten Elliot ja Lesk osoittavat, ei ole toivottavaa löytää reittejä, joissa välimatka on lyhin mahdollinen, koska tällöin on käännyttävä uusille katuosuuksille liian usein. Eliot ja Lesk ehdottavat 1/8 mailin kustannusta oikealle kääntymiseen, ja 1/4 vasemmalle kääntymiseen. Laajensimme heidän kustannusten systeemiään monin tavoin. Ensinnäkin me huomioimme kadun hyvyyden (goodness). Matkustaminen "super" -katua ei ole yhtä kallista kuin "average" -katua matkustaminen -puhumattakaan "bad" -kaduista. Toisaalta me pidimme jyrkkiä käännöksiä oikealle yhtä huonoina vaihtoehtoina kuin kääntymistä vasemmalle, koska niitä on vaikea perua, kun ne kerran on valittu. Kolmanneksi me vähensimme kääntymisestä aiheutuvia kustannuksia joissakin tapauksissa, kuten kääntymisessä yksisuuntaiselle kadulle tai sieltä pois, ja myös tapauksissa, joissa kääntyminen on legaalisti pakollista. Kääntyminen sillalle on myös vapaa, koska sillat ovat pääasiallisimpia suunnistautumisen ohjaimia, ja tukevat siten reitin seuraamista. Emme ole tutkineet näiden "reittien" reiteillä vaikutusta, emmekä sitä, ovatko ohjelman ehdottamista vaihtoehdoista poikenneet reitit sittenkin parempia kuin ehdotetut.

4. Describer

The Decriber luo tektipohjaisen ohjeiston reitin seuraamista varten. Generoimme tekstiä kartan sijasta kahdesta syystä. Ensinnäkin systeemiä käytetään puhelimen välityksellä, mikä rajoittaa tulosteen puheeseen. Ja jos käyttäjillä olisikin kannettava graafinen terminaali modeemilla, asettaisimme tektin etusijalle, koska jotkut ihmiset eivät osaa lukea karttoja. Streeter ja Vitello suosittelivat tutkimuksessaan karttojenlukukyvystä erityisesti tekstiä. The Describer luo uuden representaation reitistä, käyttämättä polkua (path) itseään tähän tarkoitukseen. On kaksikin syytä siihen, että luodaan uusi sanallinen representaatio. Polun elementit (segmentit) ovat liian hienojakoisia tekstimuotoiseen representaatioon; ovathan segmettien väliset suhteet yksiselitteisiä niin, etteivät ne vastaa käsitystämme "kadusta", joka mielessämme on kuitenkin osa kokonaista katujen verkostoa, tai jolla on kokemuksellisesti muitakin liittymiä kuin olla pätkä lyhimmän ajoreitin muodostamaa jonoa. Lisäksi segmentit ovat suorista linjoista koostuvia, joten katu, jolla ei ole yhtään liittymää muihin katuihin alku- ja loppukohtaansa lukuunottamatta voi tulla esitetyksi segmenttien jonona, mikäli siinä on laajoja mutkia alku- ja loppukohtansa välillä.

Figure 6: sample of directions:

"If Your car is on the same side of the street as 20 Ames street, turn around, and start driving. Drive all the way to the end, about eight of a mile. make a left onto Memorial Drive. Drive about one eight of a mile. After you pass Wadsworth street on the left, take the next left. It's an easy left. merge with main street. Stay on Main street fot about ninety yards, and cross the Longfellow Bridge. You'll come to a rotary. Go about half way around it, and turn onto Cambridge street. Drive all the way to the end, about three quarters of a mile. Make right onto Tremont street. Drive about one half of a mile. After you pass Avery street on the left, take the next onto Boylston street. Stay on Boylston street for about one eight of a mile. After you cross Washington street, it becomes Essex street. Keep going. Drive about one eight of a mile. After you pass Ping On Street on the right, take the next right onto Edinboro Street. Number 33 is about one eight of a mile down on your right side."

Me haluamme kuvata kuitenkin kadun kokonaisuutena. Toinen syy on se, että polku on vain topologinen struktuuri, vaikka luonnollisten ohjeiden tulisikin olla ilmaistavissa geometrisin termein ja kadun tyyppejä kuvailevina ilmauksina. Esimerkiksi T-liittymällä, tienhaaralla, ja vinoliittymällä on sama topologinen rakenne, mutta ne on silti kuvattava eri tavalla. Decriberin stukruuri on itse matka, jonka varrella suoritetaan tiettyjä toimintoja.

Figure 7: T, fork, and exit all have the same topology:

4.1. Acts

Toiminnot (acts) ovat asioita, joita ajaja tekee (tai huomaa) seuratessaan reittiä. Jokainen akteista on oltava tunnistettavissa. The Route Finder työskentelee ainoastaan segmenttien pohjalta, ja The describer luo toimintaosioita, jotka kuvaavat liikkumista segmentistä toiseen. Kuvaamme nyt näitä toimintoja, ja sitä, kuinka me ne tunnistamme.

Figure 8: Act taxonomy:

* Boundaries
- Start
- Stop

* Straight
- Name Change

* Turn
- Enter
- Exit
- Merge
- Fork
- U Turn
- Rotary
- Ordinary

Ensimmäisin akteista on aloittaminen (start) ja viimeisin lopettaminen (stop). Ne on helppo erottaa toisistaan. Nimen muuttuminen (name change) toiminto vaatii ajajaa huomioimaan nimen muuttumisen, mutta ei enempää. Ero nimen muuttumisen ja käännöksen (turn) välillä on siinä, että edellinen sisältää kahden kadun leikkaamisen kymmenen asteen kulmassa toisiaan, ja että tällöin intersektiossa niihin ei ole toista sen nimistä katua kuin mitä leikkaava katu on. Kriteeri ei pidä sikäli paikkaansa, että on olemassa leikkauksia, jotka näyttävät meistä viittaavan nimenmuutokseen, vaikka kyse olisikin jyrkästä mutkasta (ainakin, mikäli asiaa tarkastellaan kartasta). Karttaamme onkin muutettu sikäli, että mutkien jyrkkyyttä on oiottu, millä ei olle merkitystä itse ajo-orientoitumisen kannalta. Käännöksistä (Turn Acts) "ENTER" ja "EXIT" viittaavat liittymistä ajoväyliin, joille on rajoitettu pääsy kaupunkialueelta. Usein kyse on nimettömistä ajorampeista, jotka me olemme kuitenkin halunneet identifioida mm. siksi, että ne ovat usein ainuita tapoja liittyä pääajoväyliin. Ajoramppi eroaa siten kaduista yleensä. Erilaiset, mm. useamman kuin kahden kadun väliset liittymät olemme myös halunneet identifioida erikseen siksi, että ajokäyttäytyminen niissä riippuu suuresti lähestymissuunnasta. Niihin liittyvät seuraavat karakterisoivat piirteet.

1. Ajettavilla ja hakeuduttavilla kaduilla on eri nimet
2. Vain yksi katu on legaalisti mahdollinen.
3. Kääntökulma on pieni.
4. Ainakin yhdeltä vaihtoehtoisista kaduista on mahdollista päästä päämääränä olevalle kadulle.
5. Kaikki kadut tekevät vain vähäisiä käännöksiä kohti päämääränä olevaa katua.

Y- tyyppisissä risteyksissä (FORK) on vähintään kaksi tarjolla olevaa vaihtoehtoa, ja yleensä käännökset ovat niissä loivia. Huomattakoon, että mikäli liittymän vaihtoehtoihin kuuluu ramppeja, ovat ne identifioidut "EXIT" -karakteriskikalla. U-käännöksiä (U Turns) on Bostonissa kahtakin tyyppiä, joista toinen voidaan tehdä keskellä yksisuuntaista katua. Ohjelman tarjoama ajo-ohjevaihtoehto ei sisällä tällaisia illegaalisia ajotapahtumia. Toinen U-käännöstyyppi on sellainen, jossa siirrytään keskiviivan yli vastakkaissuuntaiselle ajokaistalle. Tavallisimmin ajaja menettelee kuitenkin niin, että hän kääntyy vasemmalle jollekin lyhyelle, nimettömälle tienpätkälle, ja kääntyy siitä vasemmalle uudestaan; tätä tapaa me nimitämme U-kääntymisaktiksi (U Turn Act). On hyvin tärkeää, että käännöksen suoritustapa tunnetaan, koska muutoin voi olla vaikea mieltää, mitä merkitsee kaksinkertainen vasemmalle kääntyminen samalla kadulla. Ehkä ongelmallisimmat Bostonin tieliittymiin kuuluvista ominaisuuksista ovat liikenneympyrät (ROTARY), joka on ympyränmuotoinen, yksisuuntainen risteyksen osio. Liikenne ohjautuu liikenneympyrään tavallisimmin tangentiaalisin liittymin, ja ympyrästä ohjaudutaan ulos toiselle, tangentiaalisesti ympyrään liittyvälle kadulle. Liikenneympyrät ovat ajajalle sikäli ongelmallisia, että niissä liittyminen ja erkaneminen tapahtuvat hyvin lyhyellä matkalla, ja niissä vaaditaan nopeita ohjausliikkeitä. Olemme merkinneet karttaamme kaikki liikenneympyrät.

4.2. Cues

Samalla kun The Describer koostaa ajotoimenpiteiden jonoa se myös liittää niihin ajoa helpottavia vihjeitä (cues), joiden avulla ajajan on helpompi suunnistautua. Erotamme neljä erilaista vihjetyyppiä. Toimintavihjeet (Action cues) kertovat ajajalle sen, milloin ajotoimenpide on suoritettava. Konfirmatoriset vihjeet (Confirmatory cues) ketovat seikoista, joita ajaja voi nähdä reitin varrella. Varoittavat vihjeet (Warning cues) kertovat ajajalle mahdollisista, odotettavissa olevista virheellisistä toiminnoista. Varoittavat vihjeet ovat vaarinotettuina konfirmatorisia vihjeitä. Epäonnistumisvihjeet (Fairlure cues) kertovat, mitä toimenpiteiden epäonnistumisista seuraa, kuten: "Jos näet tätä tai tuota, olet ajanut ohi". Tavallisin toimintavihje on annettu kadunnimi, kuten: "Käänny oikealle Tremont Steetille". Vihje voi olla vaikea noudattaa siksi, että katuviitta puuttuu. Hyvin voimakas vihje liittyy kadun päättymisiin, ja se ilmaistaankin yleensä: "Sinun on pakko kääntyä...". Edettyä matkaa kuvaavaa vihjettä on vaikea käytännössä hyödyntää, koska ihmisillä on yleensä heikohko käsityskyky kuljettujen matkojen pituuksista. Silti kuljettua välimatkaa tarjotaan alemman asteisena vihjeenä, koska se on helposti laskettavissa, ja se voi auttaa joitakin ihmisiä. Kuljettu matka ilmaistaan jaardeina, mikäli se on vähemmän kuin 1/16 mailia, ja muissa tapauksissa mailin osina, koska ihmiset ovat tottuneet ilmaisemaan välimatkoja siihen tapaan. Emme käytä mailin kymmenysosia, koska useimmat ihmiset eivät sellaista osittelua käytä, ja koska sellainen edellyttää aritmeettisia päässälaskusuorituksia, jotka saattaisivat olla vahingollisia ajon kannalta. Emme jaa segmenttejä osiinsa, koska kyseessä eivät olisi määritellyt käsitteet. Kyseessä olisivat tällöin tapaukset, joissa huomioitaisiin kaikki mahdolliset intersektiiviset liittymät, ja joille ei tultaisi kuitenkaan kääntymään, ja joista matka jatkuisi kenties edelleen kohti risteystä, josta käännyttäisiin lopulta toiselle kadulle.

Figure 9: Is the distance between "A" and "B" one block, or two?":

Ajajan olisi työlästä laskea mielessään kuljettuja blokkeja sekaantumatta laskuissaan. Emme luota etäisyyteen tai kuljettujen blokkien määrään hyvinä vihjeinä, vaan ennen kääntymistä tarjottuun kadunnimeen, joka saa ajajan valppaammaksi. Vihjeenä tämäkään ei ole riskitön, koska ohittaessaan oikean risteyksen vahingossa ajaja saattaa kuitenkin hakea edelleen sitä kaikkialta katseellaan, ja harhautua siten reitiltä. Jotta riski olisi mahdollisimman vähäinen, tarjotaan ajajalle se kääntymistä edeltävä kadunnimi, joka on hänen käyttämänsä ajokaistan puolella, ja siten ajaja voi tarkkailla vain ajokaistansa puoleisia katuviittoja. Mikäli ajaja ei voi vihjeenä tarjottua, kääntymistä edeltävää kadunnimeä havaita, niin hän voi silti nähdä sen risteyksen, josta tulee kääntymään. Konfirmatoriset vihjeet (Confirmatory cues) liittyvät suurten katujen risteyksistä tiedottamiseen, kuten myös rautateiden, alikäytävien jne. rekisteröintiin matkan varrella. Tapauksessa, jossa ajajan on käännyttävä valtaväylältä rampille, ei vihjeitä lisätä, koska ramppi on käytetyn kaistaston puolella, ja siten tapauksiin ei liity tulkinnallisuutta.

4.3. Generating text

Jokaiselle aktille rutiini kokoaa pari- kolme lausetta valikoiden ajon- ja reitin kannalta soveliaimmat. Kuvaamme joitakin tekstin generoimiseen liittyviä aspekteja:

Figure 10: Generator for rotary:

(defun disc-seg-rotary (act)

(list

(make-sentence

"you'll" "come" "to"

(make-np-constituent '("rotary") :article :indefinite))

(make-conjunction-sentence

(make-sentence

"Go" (rotary-angle-amount (get-info act 'rotary-angle))

"way" "around" (make-anaphora nil "it"))

(make sentence

"turn" "onto" (make-street-constituent (move-to-segment act) act)))))

(defun rotary-angle (angle)

(selector angle <=

(45 '("just" "a" "litle"))

(135 '("about" "a" "quarter"))

(225 '("about" "three" "quarters" "of" "the"))

(360 '("almost" "all" "the"))))

Matkan aloituskohtaa (START) varten tekstin generoiminen on vaikeaa, koska siitä on vaikeaa spesifioida suuntaa. Emme käytä absoluuttisia suuntia, koska useimmat ihmisistä eivät niitä tunne. Jos meillä olisi maamerkkeihin perustuva database, voisimme joissakin tapauksissa käyttää relaatiodatabasea, ja antaa esimerkiksi ohjeen: "Aja joen suuntaan" (Riippuu kuitenkin suuresti ajajan sijainnista, näkeekö hän tiettyjä maamerkkejä vai ei, ja siksi niiden näkyvyys olisi kenttäolosuhteissa ennakolta kartoitettava, tai annettava ohje: "Jollet jo näe, niin tulet pian näkemään oikealla puolellasi joen", suom. huom.). Käytämme lähtöosoitetta, koska se myös määrää käytetyn kadunpuoliskon, ja siten myös ajosuunnan. Olisimme voineet käyttää esimerkiksi: "Jos autosi on samalla puolella kuin... aja menosuuntaasi". Tällainen vaikuttaa kömpelöltä, joten valitsimme negatiivisen ohjeen: "Jos autosi on samalla/ vastakkaisella puolella kuin... vaihda ajosuuntaa". Yksisuuntaisia ajoväyliä varten voisi sanoa: "Jatka ajoa", joskin ehdottomasti lisäyksellä "tiedätkö, että katu on yksisuuntainen", sillä muussa tapauksessa ajaja ei kenties luottaisi ohjaavaan systeemiin, koska kehoitus "jatka ajoa" voisi monien mielestä merkitä sitä, ettei opastava ohjelma kykene tunnistamaan yksisuuntaisia liikenneväyliä, ja aloittaa ohjauksen kaikille samalla tavoin (Ohjetta ei kenties voitaisi antaa, mikäli ajaja ajaa liikenneympyrässä, tai lisätä ilman koomista sävyä huomautusta: "Tiedätkö, että ajat liikenneympyrässä"; ja ehdottomasti mahdotonta olisi, että ohjelma kysyisi ajajalta: "Miksi autosi on tällä hetkellä hinauksessa?", suom. huom.). Eräs yksinkertaisimmista generaattoreista on rotaatiopistegeneraattori; se on vaikeasti kuvattavissa ja seurattavissa, koska siihen ei liity lisäinformaatiota. Emme voi odottaa ajajien suorittavan kulmamittauksia rotaatiopisteen ympäristöä koskien. Rotaation segmentit voivat olla nimettömiä, tai niihin voi liittyä useitakin nimiä, ja rotaatiopisteeseen itseenkin voi liittyä useita eri nimikkeitä. Se voi olla alueen nimi, kuten Leverett Circle, mutta tällaista nimeä ei ole varsinaisessa databasessa, eikä se ole yhdenkään kadun nimenä. Generaattorin tuloste esitetään kuviossa 6 (Figure 6.) Generaattori tuottaa kaksi lausetta, joista toinen on kahden lauseen yhdiste. Välimatkat rotaatiopisteestä sen ympäristöön on konvertoitu absoluuttisesta karttakulmasta englanninkieliseksi aprroksimaatioksi. Luoduilla ohjeilla on syntaktinen rakenne vain siksi, että lauseiden koostuma on generoitu yleisrakenteeseen. Niinpä funktio "make-np constituent" luo artikkelin ja substantiivin välille yhdenmukaisuuden, ja funktio "make-sentence" varmistaa isojen alkukirjainten ja välimerkkien oikeellisuuden. Teksti lähetetään suoraan puhesyntetisaattoriin, joka vaatii välimerkkejä oikean sanojen intonaation vuoksi. Funktio "make-anaphora" ei palvele mitään tehtävää tällä hetkellä, mutta on ajateltu, että sitä käytettäisiin tulevaisuudessa luomaan luonnollisessa keskustelussa esiintyvää intonaation vaihtelua.

4.4. Comparison

Vertaamme kuvaustamme Streeterin ja hänen kolleegojensa esittämiin kuvauksiin. Streeterin kuvauksen on tarkoitettu ymmärrettäviksi ja reagoitaviksi reaaliajassa, aivan kuin ne olisi lausunut takapenkillä istuva opastaja. Tosiasiassa ohjeet kuitenkin nauhoitetaan, ja ajaja kuuntelee tarvittavan osan nauhaa ajaessaan. Tällainen vuorovaikutusmuoto vaatii kuitenkin uudenlaisia ohjeita, koska ne tulevat kuulluksi ajotapahtuman aikana, ja siksi ohjeiden olennaisia osia on voitava tarvittaessa toistaa ajajalle, jotta hän voisi muistaa kokonaisuuden. Meidän kehittelemässämme vuorovaikutuksen muodossa oletamme, että ajaja kirjoittaa ohjeet ylös ennenkuin aloittaa ajamisen, josta syystä toisto ei ole tarpeen. Käyttäjä voi pyytää toistoa, mikäli hän ei ole ohjeita ymmärtänyt. Streeter ja hänen kolleegansa luokittelevat ajokäännökset T-käännöksiin (T Turns), mutkikkaisiin katuliittymiin (Complex intersections), sarjoihin liittymiä lyhyellä matkalla (turns in short succession). Heidän T-käännöksensä on vihjeistetty (meidän tapaamme) "pakotettu kääntymään". Meillä ero tavallisen käännöksen ja T-käännöksen välillä on siinä, että emme liitä jälkimmäiseen vihjettä koskien mahdollista epäonnistumista, kuten eivät hekään liitä. Me emme erottele mutkikkaita katuliittymiä yksinkertaisemmista, vaikka pitäisi. The Route Finderin tulisi osata karttaa sellaisia, ja The Describerin osata niistä varoittaa. Heidän ohjeensa ovat toisinaan strukturoituneempia kuin meidän. He asettavat ryhmäksi peräkkäiset käännökset, ja heidän "jatkakaa" -vihjeensä on sama kuin meidän "nimen muutos", joskin se liittyy heillä usein ajossa seuraavaan käännökseen. Pidämme tärkeänä, että luotaisiin korkeamman tason struktuureita, ja huomautamme, että Streeterin työryhmä työskenteli käsin, eikä käyttänyt ohjelmaa apunaan, ja siten heillä oli paremmat mahdollisuudet luoda korkeamman asteen struktuureita kuin meillä oli. Väitämme, että meidän ohjeemme ovat luonnollisempia kuin Elliotin ja Leskin ryhmällä, vaikka meillä ei olekaan siitä todisteita. Jätämme tämän seikan lukijain arvioitavaksi. Ovatko ohjeemme selkeitä? Tiedämme ihmisten olevan kykeneviä niitä seuraamaan, vaikka emme ole tehneetkään systemaattisia kokeita. Christopher Riesbeck kirjoitti ohjelman (MCMAP), jolla ohjeiden selkeyttä voi testata. Ohjeemme eivät ole hyväksyttäviä sen kriteereiden pohjalta. Osin tämä johtuu siitä, että me käytämme ilmauksia, joita kyseinen ohjelma ei tunne, kuten liikenneympyrät. Osin tämä johtuu myös siitä, että me käytämme välimatkojen ilmauksessa maileja, joita Riesbeckin ohjelma ei hyväksy epämääräisinä. Käytämme maileja kuitenkin vain approksimaationa, vihjeenä siitä, milloin tiettyjä maamerkkejä tulisi etsiä katseella. MCMAP:n heikko syntaktinen kyky ei voi huomata tätä merkitysdimensiota. Käytämme myös ilmaisua "Aja tietä perille saakka", jota Riesbeck pitää proseduraalisena operaattorina. Koska ihmiset kuitenkin hyväksyivät ohjeemme, se osoittaa Riesbeckin asettaneen tulkintasääntönsä liian ankariksi, tai ehkä hän ei ole kyennyt muokkaamaan välineestään riittävän voimakasta.

5. Discussion

Dirfection Assistancen kaltaisia tuotteita on alkanut ilmaantua markkinoille. On raportoitu, että Sunnyvalessa, Kaliforniassa on tuotettu ETAK, jolla kyetään arvioimaan liikkuvan auton asema kytkemällä matkalaskin auton pyörän tekemien kierrosten lukumäärään, ja rekisteröimällä sen ohjauspyörien kääntökulmat, jota informaatiota verrataan tallennettuun karttaan. Auton ohjaspaneelista on nähtävissä auton kulloinenkin asema. Tämä Navigator-ohjelma ei anna ajo-ohjeita, mutta se epäilemättä voitaisiin muokata sellaisia antavaksi. Meidän tuotettamme muistuttaa enemmän DriverGuide, jonka ovat luoneet Karlin ja Collins (myös Sunnyvalesta), joka tulostaa ajo-ohjeet paperille California Bayn alueella.

5.1. Better databases are required

Kirjoittajat viittaavat ohjelman käyttämän maantieteellisen aseman pienuuteen, vuorokaudenajasta riippuviin liikennesäännöskäytäntöihin, osoitteistojen kirjavuuteen, kaksinkertaisiin kadunnimiin tapauksissa, joissa kadunnimi riippuu lähestymissuunnasta jne.

5.2. Applications

Suunnittelimme alunperin Direction Assistance -ohjelman matkailijoiden opastukseen, koska Bostonin kaduilla vierailija joutuu hämmennyksen valtaan. Matkailijoiden ohjausta menetelmällämme voisi ajatella sovellettavaksi kaupungeissa. Kuitenkaan läheskään aina matkailija ei tiedä tarkasti päämääräosoitetta tai puhelinnumeroa. Saatta olla, että päämääräosoite on naapurikaupungissa, josta syystä matkailijat voisivat hyötyä enemmän haettujen henkilöiden nimien pohjalta tapahtuvasta hakumenettelystä. Tällainen ei ole mahdollista muokkaamatta ohjelmansisäistä vuorovaikutusta mutkikkaammaksi. Elintarvikekuljetuksissa käytettyjen ajoneuvojen ohjauksessa on ongelmana Bostonissa se, että tietyt kadut ovat suljetut kaupalliselta liikenteeltä. Databasea voi laajentaa niin, että tämä seikka tulee huomioiduksi. Julkiseen ohjaukseen sovellettuna ongelmana olisi se, että tavoiteltujen ihmisten kotipuhelinnumerot ovat yksityisiä. Ihmiset saattavat hyvinkin toivoa, etteivät heidän kotipuhelinnumeronsa tule julkisuuteen, sillä niiden kautta ei-toivotut henkilöt saisivat heidän katuosoitteensa tietoonsa. Ei-toivottu puhelimenkäyttäjä on huomattavasti helpompi sulkea kuulumattomiin kuin ovelle jo ehtinyt kotirauhan häiritsijä.

Acknowledgements

Ohjelman perusversion kirjoitti Dinarte R. Morais talvella 1985. Palkkasimme hänet dekoodaamaan DIMEtiedostot, tekemään window -systeemiin soveliaan vuorovaikutusverkon, ja testaamaan käytetyt käsitteet. Loimme database -kokonaisuuteen laajennettuja käyttömuotoja ja muokkasimme siihen soveliaaksi Craig Stanfillin kirjoittamaa string -vertailuohjelmaa. Charles Lieserson teki pääasiallisimmat muutokset algoritmien etsimiseen Route Finderiin. Fletch McCellan Phonebook Corporationista lainasi meille käyttöömme raa'an puhelinluettelo-databasen. Työmme ei olisi voinut onnistua ilman Brewster Kahlen ohjausta ja myötätuntoa. Tätä raporttia selkeyttivät Janet Cahnin, Mike hawleyn, margaret Minksyn ja Chris Schmantdtin tekemät huomautukset. Kiitämme heitä kaikkia. Työn ohjelmatukena olivat MIT DARPA Space ja Naval Warfare Systems Command kontaktinumeroineen N00039-89-C-0406 ja N00039-89-PRDX002 ja Nippon Telegraph ja Telephone Public Company. Hardware -tukea tarjosivat Symbolics ja Digital Equipment Corporation. Vaikka tälle työlle onkin ilmoitettu vain kaksi tekijää, niin työ oli lähinnä ryhmätyötä, ja kirjoittajista eniten vaikutti Tom, joka menehtyi ennen kuin näki työnsä kuvattuna. Vaikka kuvaus onkin muistolauseeksi vaatimaton on se parasta, mitä voin tällä hetkellä antaa.

References

[1] Geographic Base File GBDF/DIME:: 1980 Technical Documentation. U.S. Departmen of Commerce, Data Users Service Division, 1980.

[2] James R. Davis. Giving directions: a voice interface to an urban navigation program. In Proceedings of 1986 Conference, pages 77-84, American Voice I/O Society, sept 1986.

[3] James R. Davis and Julia Hirschberg. Automatic generation of prosodic support for discourse structure. In Proceedings of the Association for Computational Linquistics, page (summitted), 1988.

[4] R.J. Elliot and M.E. Lesk. Let Your Fingers Do the Driving: Maps, Yellow Pages, and Shortest Path Algorithms. Techical Report unpublished, Bell Laboratories, 1982.

[5] R.J. Elliot and M.E. Lesk. Route finding in street maps by computers and people. In Proceedings of the National Conference on Artifical Intelligence, pages 258-261, 1982.

[6] W. Daniel Hillis. The Connection machine. MIT Press, 1985.

[7] Kevin Lynch. The Image of the City. MIT Press, 1960.

[8] Ronald Rosenberg. Mapping out a new idea. The Boston Globe, 39, 1987. February 17.

[9] Lynn A. Streeter and Diane Vitello. A profile of driver's map reading abilities. Human factors, 28:223-239, 1986.

[10] Lynn A. Streeter, Diane Vitello, and Susan A. Wonsiewicz. How to telle people where to go: comparing navigational aids. International Journal of Man/Machine Systems, 22(5):549-562, May 1985.