You are on page 1of 8

OS

1:23 1:23

Generate
and Filter

ExpandHelp: A Flexible Help Architecture For the Rest of Us


Toshiyuki Masui
Although large amount of manuals and help documents are available on current computing
systems, they are not as effectively used as they should be for the following reasons. First,
it is difficult for novice users to find the right word for looking up the entry they need. Second, there are mismatches between what the system can do and what the user wants to do.
Third, users should translate the abstract description in the help system into concrete user
operations.
To make help systems really helpful for users, we developed a flexible help architecture
called ExpandHelp. ExpandHelp contains a natural language database from which wide range
of expressions can be generated so that users can find what they want to do from vague
keywords. When a user gives a keyword 1:23 to ExpandHelp, it will display menu items
like Set the system clock to 11:23, Set the alarm clock to 1:23, etc. for the user to find
and execute what he wants to do. This is made possible by using the generate-and-filter
algorithm applied to the help database consisting of a set of regular expressions for generating
help texts and corresponding command patterns.

1.

Mac

2)


Faculty of Environment and Information Studies, Keio
University

Generate and Filter

1:23

1:23

Generate and Filter

Web

Generate and Test

8-Queen Generate and Test

Queen

Queen 64 C8 (!44 )

23 7:12

7:12

2.
Mac

ExHelp
1

7:12
7:12

(||)

([1-9]?[0-9]) (||)

1 .

3
3
3
3

http://en.wikipedia.org/wiki/Generate and test

2 3.

junk3 Emacs
3 Emacs

junk3

3:45
6
3:45

3 Emacs junk3 .
6 3:45

omni 7

Spot-

light OmniGraffle
OmniGraffle

junk.html Firefox
jumk giref

OmniGraffle

Mac NSMetadataQuery

(e.g. 7)

(\t773\t682)

open http://tenki.jp/forecast/point{$1}.html

3.

Generate and Filter

3.1

()(1?[0-9])()



open

http://tenki.jp/forecast/point-773.html

3.2

3.2.1

(|) (1|2|3)

setdate {$2}:00

0 1
... 19

setdate 0:00setdate 1:00...setdate


19:00

7 2

(1?[0-9]) 7

setdate 7:00

NSMetadataQuery
ContentType
com.omnigroup.omnigraffle.graffle

3.2.2

8 (

restaurant 12

12

restaurant.

10 10000000000
restaurant 12
10000000001

10

10 restaurant
(0|1)++*

ristoranterestaurant

3.2.3 Generate and Filter

r i s t o

4)

r e s t a u r a n t
13

r a n t e

restaurantristorante.

Generate and Filter

10 14

restaurant
03

restaurant

10

e
10

**
r

**
r

**
r

!
!
!
!
*
* *
* *
* *
e
s
t
a
!

**
e

**
e

14

restaurant.

**
s

**
s

!
!

**
t
**
t

**
a

**
a

u
!
**
u
!
**
u
!
**
u

**
r

!
r
!

**

**

**
a

**
a

**
a

**
n

!
* *
t

**
n

**
n

t
!
t

**
**

03 .

restaurant

11

*()
!(
r

s
11

r.

r*

Generate and Filter

/1 /

"r"
e
s
r
*
*
*

**
r

**
r

**
r

!
!
!
!
*
* *
* *
* *
e
s
t
a
!

**
e

**
e

**
s

**
s

!
!

**
t
**
t

**
a

**
a

u
!
**
u
!
**
u
!
**
u

**
r

!
r
!

**

**

**
a

**
a

**
a

**
n

!
* *
t

**
n

**
n

t
!
t

16

**
**

**
r

**
r

**
r

!
!
!
!
*
* *
* *
* *
e
s
t
a
!

**
e

**
e

**
s

**
s

!
!

"ris"
e
s
r
*
*
*

**
r

**
r

**
r

**
t
**
t

**
a

**
a

!
!
!
!
*
* *
* *
* *
e
s
t
a
!

**
e

**
e

**
s

**
s

!
!

**
t
**
t

**
a

**
a

"ristorante"
e
s
t
a
r
*
*
*

**
r

**
r

**
r

15

!
!
!
!
*
* *
* *
* *
e
s
t
a
!

**
e

**
e

**
s

**
s

!
!

**
t
**
t

**
a

**
a

u
!
**
u
!
**
u
!
**
u

u
!
**
u
!
**
u
!
**
u

u
!
**
u
!
**
u
!
**
u

**
r

r
!

**

**

**
a
**
a

**
a

**
r

!
r
!

**

**

**
a

**
a

**
a

**
r

!
r
!

**

**

**
a

**
a

**
a

**
n

!
* *
t

**
n

**
n

*
*

*
*

"ri"
r

*
**

*
**

*
**

* *
* *

16

* *

* *
3

* *
*

3 .

**

t
!
t

**

17
{00100, 01000, 10000}

!
**
* *
n
t

**
n

**
n

**

t
!
t

**

**
n

!
* *
t

**
n

t
!
t

**
n

17

**

18
{01110, 11100, 11000} 2

**

restaurantristorante
.
18

ristorante
15
ristorante

ristoranterestaurant 3

15 4

( ) .*

5
3

3
1

19

3 .

Generate and

Filter

16 3

Generate and Filter

19

Wiki

3 3

1)

3 3 1

SNS

MacRuby 20

#{ls}, #{ps} Ruby

4.

Little 3)
left margin 2 inches
ActiveDocument.PageSetup.
LeftMargin = InchesToPoints(2)

20 MacRuby .

5.

IBM Watson Wolfram Al-

pha

http://www-03.ibm.com/innovation/us/watson/
http://www.wolframalpha.com/

1) Sylvain Delisle and Bernard Moulin. User interfaces and help systems: from helplessness
to intelligent assistance. Artif. Intell. Rev.,
18:117157, October 2002.
2) G.W. Furnas, T.K. Landauer, L.M. Gomez,
and S. T. Dumais. The vocabulary problem
in human-system communication. Commun.
ACM, 30:964971, November 1987.
3) Greg Little and Robert C. Miller. Translating keyword commands into executable code.
In Proceedings of the 19th annual ACM symposium on User interface software and technology, UIST 06, pages 135144, New York, NY,
USA, 2006. ACM.
4) Sun Wu and Udi Manber. Fast text searching:
allowing errors. Communications of the ACM,
35:8391, October 1992.

You might also like