Javantura v3 - Just say it – using language to communicate with the computer – Hrvoje Šimić

Post on 08-Jan-2017

2.557 views 0 download

Transcript of Javantura v3 - Just say it – using language to communicate with the computer – Hrvoje Šimić

JUST SAY IT!using language to communicate with the computer

Hrvoje Simic, CROZ

RECOGNITION IS EASY; RECALL IS HARDOriginal motivation for GUI

Recognise the Copy icon vs Recall the syntax of „cp” command

BUT:Sometimes, words come naturalLanguage is an intuitive way to express complex ideas

WHAT DO WE USE KEYBOARDS FOR?Data entryKeyboard shortcutsText search

VERBAL COMMUNICATION (USING LANGUAGE)Written or spokenNatural or artificialPrecise or tolerant

5 => 5:00 10 => 0:10 10h => 10:00 5min => 0:05 90 => 1:30 2,5h => 2:30 5.25 => 5:15 25% => 2:00

def input = repsep( statement, ";" ) def statement = startStmt | stopStmt | ftStmt | enterStmt def enterStmt = (dateRefs?) ~ repsep( log, "," ) def dateRefs = repsep( dateRef, "," ) <~ ":" def dateRef = dateRange | singleDay | weekPhrase def dateRange = singleDay ~ "-" ~ singleDay def singleDay = absoluteDate | relativeDay | weekDay def relativeDay = today | yesterday | dby | tomorrow | dat def weekDay = (relPrefix?) ~ weekName def weekPhrase = relPrefix <~ ("tjedan"|"week") def relPrefix = ("prošli"|"prošla"|"last"|"^") ^^^ -1 | ("ovaj"|"ova"|"this") ^^^ 0 | ("sljedeći"|"sljedeća"|"next") ^^^ 1

iznos = <number>

valuta = {

EUR: € euro

HRK: kn hrk kuna

USD: $ dolar usd

}

vrsta_računa = {

T: tekući

G: žiro

D: devizni

}

== BuyCurrency ==

kupi <iznos/amount> <valuta/currency>

kupi <valuta/currency> <iznos/amount>

kupi <valuta/currency> iznos <iznos/amount>

<iznos/amount> <valuta/currency> kupi

iznos <iznos/amount> <valuta/currency> kupi

== ExchangeRate ==

tečaj <valuta/currency>

<valuta/currency> tečaj

trenutni tečaj <valuta/currency>

== ShowBalance ==

stanje <vrsta_računa/acctype>

stanje <vrsta_računa/acctype> računa

<vrsta_računa/acctype>

<vrsta_računa/acctype> stanje

<vrsta_računa/acctype> račun stanje

<vrsta_računa/acctype> račun

Voice Verbal Voice GUI ???

EVEN MORE CHANNELS!Command line ;-)SMSChatWeb ServicesCopy-paste!Script!

VERBAL UI RESOURCESParsers for formal grammars

Information-dense entryDomain-specific languages

Support for natural languagesStemming Ignoring „stopwords”

Expression completion based on templatesVoice-to-text

FUTURE OF VERBAL UIImproved Natural language processing support for:GrammarSynonims, antonyms, adjectivesOntologies

Proper artificial intelligence „understands” sentences

WHY VERBAL UI?Use it where you need expresivness

Communicate more with less effortCommunicate with people using their language

Use it for speed and accessabilityComplement GUI

They each have their own strenghts

THANK YOU!

Feel free to contact me: hsimic@croz.net