throbber
lllllllllllllllllllllllllllIllllIllllllllllllllllllllllllllllllllllllllllll
`USOOS434777A
`.
`5,434,777
`[11] Patent Number:
`_
`[19]
`Umted States Patent
`LuciW
`[45] Date of Patent:
`Jul. 18, 1995
`
`
`[75]
`
`[54] METHOD AND APPARATUS FOR
`PROCESSING NATURAL LANGUAGE
`.
`.
`.
`.
`-
`Inventor.
`2387;115:1111: W. Lucm, Morgan Hlll’
`'
`[73] Assignee: Apple Computer, Inc., Cupertino,
`Calif.
`
`OTHER PUBLICATIONS
`Microsoft MSDOS Operating System User’s Guide; pp.
`4—1 to 4—16, 5—1 to 5-19; 1982; 1983.
`O’Connor, Rory J., “Apple Banking on Newton’s
`Brain”, San Jose Mercury News, Apr. 22, 1991.
`Hendnx, Gary G. and Walter, Brett A., “The Intelll-
`(List continued on next page.)
`
`[21] Appl. NO“ 2158064
`.
`F1led:
`
`[22]
`
`Mar. 18’ 1994
`
`Primary Examiner—Gail O. Hayes
`Assistant Examiner-Stephen R. Tkacs
`Attorney, Agent, or Firm—Hickman & Beyer
`
`Related US. Application Data
`
`[57]
`
`ABSTRACT
`
`[56]
`
`[63]
`
`Continuation-impart of Ser. No. 889,225, May 27,
`1992, Pat. NO- 5,390,281, and Set. N0~ 99,861, Jul- 30,
`1993'
`.
`Eg El; Cclifi """""""""""" (3063-1;4159?? 3336/?13/0680
`‘
`'364/41911395/10 395/12, 395’/51_ 395/54:
`'
`’
`’
`’ 395/60- 395/62
`[58] Field of Search
`364/419 01’ 419 08
`364/4191 4191141912 41913. '395’/10 ‘12’
`’
`50’ ’51 54 6O 62 63 75 76 7-;
`,
`’
`,
`’
`’
`’
`’
`References Cited
`U S PATENT DOCUMENTS
`‘
`'
`:Chmmml ------------------------------ 33328
`2,373,331: 1323:;
`cott et a .
`............................
`,
`,
`4,736,296 4/1988 Katayama et al.
`............. 364/419.08
`4,750,122 6/1988 Kaji et al. ................ 364/419.13
`
`.. 364”19.13
`4,785 413 11/1988 Atsurni
`4,875,187 10/1989 Smith ................... 395/141
`4,887,212 12/1989
`Zamora et a1.
`.. 364/41908
`4,918,723 4/1990 Iggulden et al.
`..
`379/100
`
`4,945,504 7/1990 Nakama at 2.1.
`364/709
`4,953,106 8/1990 Gansner et a1.
`395/160
`
`4,974,191 11/1990 Amirghodsi ............. 395/275
`
`.. 364/419.08
`4,994,966 2/ 1991 Hutchins .......
`5,091,790 2/1992 Silverberg ........................... 358/434
`(List continued on next page.)
`FOREIGN PATENT DOCUMENTS
`
`'A method and apparatus for processing natural lan-
`guage and deducing meaning from a natural language
`input characterized by the steps of (a) receiving an
`ordered string of word objects having a natural lan-
`guage meaning, (b) selecting a word window length,
`and (c) successively moving the word window along
`the ordered string and analyzing the meaning of a sub-
`string of word objects that fall within the word win-
`dow. The substring is removed from the ordered string
`if the substring has a recognized meaning, until all sub-
`strings of the ordered string that fit within the window
`have beenanalyzed. In a step (d), the word window
`length is reduced and step (c) is repeated until only an
`unrecognized residual of the ordered string remains.
`The meaning of the substring is analyzed by mapping
`-
`-

`_
`the 511mm.“g ag$fi5t a database “mg one or morfe mg?
`pmg rouimes’ .
`e mapping Townes are. pre em. y
`arranged In a hlerarchy, wherein a success1ve mapping
`routine is used to analyze the substring when a previous
`mapping routine in the hierarchy cannot map the sub-
`string. A computer-implemented task is determined
`from the recognized substrings and performed by the
`computer system. The apparatus of the present inven-
`tion implements the method on a pen-based computer
`system, and the ordered string is preferably received
`from strokes entered by a stylus on a display screen of
`the pen-based computer or from a microphone receiv-
`ing speech input.
`
`8/1991 European Pat. Off.
`0441089A2
`932164 5/1989 Japan .
`
`.................. 3/23
`
`27 Claims, 12 Drawing Sheets
`
`’Z\
`
`7:1
`
`SJBS'I'RLNG
`Lummmmtzflowmmsumn
`/
`umwlmwflmyiwmmmz
`mmmizwmuww
`Wmmmy‘lwmfi
`73
`mwlmmuwm
`F/wimE-lmwzaapmumz
`memylwpfi‘
`mwwiwmu
`simwzsounszom
`Wiwwalmm
`
`75
`
`LENGTH-9. 705.1
`LDCA‘nON )
`LENGTH-a. PCS-I
`LENGm-s, Pow
`LENGTH-7. PCS-1
`LENGTH-7. POS-Z
`LENGTHfl. Pas-a
`LENGTH-6. Poe-1
`ENGTH-G, PCS-.2
`LENGTH-6. Pom
`Lemmas. PCS-t
`
`LENGTH-n1, POS=1
`Lemmas. PCS-2
`Lemma. PCS-3
`LENGTH-3, pas-a
`LENGTHxS. Poe-4
`LENGTH-2.13054!
`LENGTH-2, Poe-1
`LENGTH-1P0”
`LENGTH-2, 1:054
`LENGTH-1. Poe-1
`mam-1, Poem
`
`
`
`SAMSUNG EX. 1014
`
`Luna! Mm as
`W Bil My
`521 Way 122:: /
`[My 1230 pm]
`.1 cm: Swan
`u
`new
`[ca-mew]
`75
`
`78
`
`u
`A
`80/
`
`[Lu-m vim]
`3111
`75
`
`f
`[541]
`
`SAMSUNG EX. 1014
`
`

`

`5,434,777
`
`Page 2
`
`US. PATENT DOCUMENTS
`5,103,498 4/1992 Lanier et a1. .......................... 395/68
`5,109,509 4/1992 Kayatama et a1.
`.
`..... 395/600
`5,123,103 6/ 1992 Ohtaki et a1. ............ 395/600
`5,282,265 1/1994 Rohra Suda et a1.
`....... 395/12
`
`5,327,342 7/1994 Roy ........................... 364/4191
`................. 364/419.13
`5,357,431 10/1994 Nakada et a1.
`
`
`
`OTHER PUBLICATIONS
`
`gent Assistant: Technical Considerations Involved in
`Designing Q&A’s Natural—Language Interface,” Byte
`Magazine, Dec. 1987, Issue 14, p. 25.
`Edwards, John R., “Q&A: Integrated Software with
`Macros and an Intelligent Assistant,” Byte Magazine,
`Jan. 1986, V. 11, Issue 1, pp. 120-422.
`Goldberg, Cheryl, “IBM Drawing Assistant: Graphics
`for the EGA”, PC Magazine, Dec. 24, 1985, vol. 4,
`Issue 26, p. 255.
`Garretson, R., “IBM Adds ‘Drawing Assistant Design
`Tool to Graphic Series,” PC Week, Aug. 13, 1985, V. 2,
`Issue 32, p. 8.
`Glinert—Stevens, Susan, “Microsoft Publisher: Desktop
`Wizardry,” PC Sources, Feb. 1992, V. 3, Issue 2, p. 357.
`Nilsson, B. A. “Microsoft Publisher is an Honorable
`Start for DTP Beginners,” Computer Shopper, Feb.
`1992, V. 12, Issue 2, p. 416.
`Poor, Alfred, “Microsoft Publisher,” PC Magazine,
`Nov. 26, 1991, V. 10, Issue 20, p. 40.
`Rampe, Dan et al., Jan. 9. 1989 news release, Claris
`Corp. (announced “SmartForm Designer” and “Smart-
`Form Assistant”.
`
`Berry, Deanne et al., Apr. 10. 1990 news release, Sy-
`mantec, (announced new version pf MORE TM).
`Elofson, G. et al., “Delegation Technologies: Environ-
`mental Scanning with Intelligent Agents,” Jour. of
`Management Info. Systems, Summer 1991, V. 8, Issue 1,
`pp. 37—62.
`
`Nadoli, Gajanana et al., “Intelligent Agents in the Simu-
`lation of Manufacturing Systems,” Proceedings of the
`SCS Multiconference on AI and Simulation, 1989.
`Sharif Heger et al., “KNOWBOT: An Adaptive Data
`Base Interface,” Nuclear Science and Engineering, Feb.
`1991, V. 107, No. 2, pp. 142—157.
`Ohsawa, I. eta1., “A Computational Model of an Intelli-
`gent Agent Who Talks with a Person,” Research Re—
`ports on Information Sciences, Series C, Apr. 1989, No.
`92, pp. 1—18.
`Ratcliffe, Mitch et al., “Intelligent Agents Take U.S.
`Bows,” MacWeek, Mar. 2, 1992, V. 6, No. 9, p. 1.
`Boy, Guy A., Intelligent Assistant Systems, Harcourt
`Brace Jovanovicy, 1991.
`“Microsoft Windows User’s Guide for the Windows
`Graphical Environment,” version 3.0, Microsoft Press,
`copyright 1985—1990, pp. 33-41 & 70—74.
`R. Wilensky et al., “Talking to UNIX in English: an
`Overview of UC,” Communications of the ACM, Jun.
`1984, vol. 27, No. 6.
`Tello, Ernest R., “Natural-Language Systems,” Mas-
`tering AI Tools and Techniques, Howard W. Sams &
`Company, 1988.
`Knight, Kevin, & Rich, Elaine, “Heuristic Search,”
`Production Systems, Artificial Intelligence, 2nd ed.,
`McGraw-Hill,‘Inc., 1983—1991.
`
`Miastkowski, Stan, “PaperWorks Makes Paper Intelli-
`gent,” Byte Magazine, Jun. 1992.
`Dickinson et al., “Palmtops: Tiny Containers for All
`Your Data,” PC Magazine, Mar. 1990, vol. 9, p. 218(3).
`Bajarin, Tim, “With Low End Launched, Apple Turns
`to Portable Future”, PC Week, Oct. 1990, vol. 7, p.
`153(1).
`Corporate Ladder, BLOC Publishing Corp., 1991.
`Diagrammaker, Action Software, 1989.
`Diagram—Master, Ashton—Tate, 1989.
`
`SAMSUNG EX. 1014
`
`SAMSUNG EX. 1014
`
`

`

`US. Patent
`
`July 18, 1995
`
`Sheet 1 of 12
`
`5,434,777
`
`mm.
`
`.VN
`
`Q»ON
`a.><.Em_n_
`
`>._m_>_mmm<
`
`:52.
`
`
`
`E.o<a>mx
`
`MZOIQOEQE
`
`ENE—4&5:
`
`I»
`
`N».
`
`
`
`mm.hmOQI:
`
`mv
`
`
`
`#5....._<_mmm
`
`0:
`
`mmm0<mohw
`
`9»
`
`mmxfiam
`
`mmtzasi
`
`RVEa
`
`iv20040
`
`SAMSUNG EX. 1014
`
`SAMSUNG EX. 1014
`
`
`
`

`

`US. Patent
`
`July 18, 1995
`
`Sheet 2 of 12
`
`5,434,777
`
`UNHLW
`
`l
`
`‘VW
`
`
`_Lungb_with_BiJLMend§y_12;’olq p.m_at__
`Chez Sovan
`
`/ Q . $ Q
`
`Names Dates
`
`E as
`
`Undo
`
`Find Assist
`
`figure 2
`
`SAMSUNG EX. 1014
`
`SAMSUNG EX. 1014
`
`

`

`US. Patent
`
`July 18, 1995
`
`Sheet 3 of 12
`
`5,434,777
`
`72\
`
`/
`SUBSTRlNG
`Lunch with Bill Monday 12:30 pm at Chez Sovan
`
`73
`
`75
`
`LOCATION 2
`
`LENGTH=9, POS=1
`
`Lunch with Bill Monday 12:30 pm at Chez
`
`LENGTH=8, POS=1
`
`with Bill Monday 12:30 pm at Chez Sovan
`
`LENGTH=8, POS=2
`
`Lunch with Bill Monday 12:30 pm at
`
`with Bill Monday 12:30 pm at Chez
`
`LENGTH=7, POS=1
`
`LENGTH=7, POS=2
`
`f
`
`73
`
`Bill Monday 12:30 pm at Chez Sovan
`
`LENGTH=7, POS=3
`
`Lunch with Bill Monday 12:30 pm
`
`with Bill Monday 12:30 pm at
`
`Bill Monday 12:30 pm at Chez
`
`Monday 12:30 pm at Chez Sovan
`.K
`
`Lunch with Bill
`
`with Bill Monday
`Bill Monday 12:30 /
`[Monday 12:30 pm]
`
`74
`
`[Lunch with]
`/ Bill
`/
`[Bin]
`
`76
`
`78
`
`at Chez Sovan
`
`at
`at Chez
`[Chez Sovarfl
`\
`
`at
`
`78
`
`80 /
`
`figure 3
`
`LENGTH=6, POS=1
`
`LENGTH=6, POS=2
`
`LENGTH=6, POS=3
`
`LENGTH=6, POS=4
`
`LENGTH=3, POS=1
`
`LENGTH=3, POS=2
`
`LENGTH=3, POS=3
`
`LENGTH=3, POS=4
`
`LENGTH=3, POS=4
`
`LENGTH=2, POS=1
`
`LENGTH=2, POS=1
`
`LENGTH=2, POS=2
`
`LENGTH=2, POS=3
`
`LENGTH=1, POS=1
`ILENGTH=1, POS=1
`
`SAMSUNG EX. 1014
`
`SAMSUNG EX. 1014
`
`

`

`US. Patent
`
`July 18, 1995
`
`Sheet 4 of 12
`
`5,434,777
`
`so
`
`\ ® {figure 4
`
`82
`
`.
`
`DEVELOP
`STRING
`
`84
`
`LENGTH = NWORDS
`POS = 1
`
`._
`
`is NWORDS?
`
`88
`
`90
`
`m
`
`9
`
`2
`
`ARRANGE NMAP
`MAPPING ROUTINES
`
`
`IN HIERARCHY
`
`as
`
`96
`
`OBTAIN A
`SUBSTRING
`
`STRING FULLY
`ANALYZED?
`
`
`
`
`MARK HITARRAY
`
`(LENGTH, POS) AS "HIT"
`
`I—
`
`
`- HITARRAYUJ)=0
`
`
`
`j=j + 1
`
`I < NWORDS
`- I + 1?
`
`
`
`
`
`MAPS USING MAP
`
`ROUTINE(J)?
`
`STORE RESIDUAL
`
`DETERMINE TASK
`BASED UPON
`MAPPINGS
`
`104
`
`PERFORM TASK
`
`-
`
` SUBSTRING
`
`
`
`106
`
`108
`
`1 1 O
`
` REMOVE
`SUBSTRING AND
`
`STORE MAPPING
`
`
`SAMSUNG EX. 1014
`
`SAMSUNG EX. 1014
`
`

`

`U.S. Patent
`
`July 18, 1995
`
`Sheet 5 of 12
`
`5,434,777
`
`84
`
`/
`
`116
`
`RECEIVE
`
`USER INPUT
`
`RECOGNIZE
`INPUT
`
`figure 5
`
` 118
`
` 120
`
`
`
`DELINEATE A
`STRING FROM
`
`RECOGNIZED
`INPUT
`
`122
`
`
`
`124
`
`\
`
`132
`
`/W C
`
`OST
`
`128
`
`130
`
`A/
`
`LEVEL
`
`/
`MAPPING ROUTINE
`
`1
`
`2
`
`3
`
`PHRASAL PROCESSOR
`
`LOW
`
`PATTERN PROCESSING
`
`MEDIUM
`
`DATABASE PROCESSING
`
`HIGH
`
`figure 6
`
`SAMSUNG EX. 1014
`
`SAMSUNG EX. 1014
`
`

`

`US. Patent
`
`July 18, 1995
`
`Sheet 6 of 12
`
`5,434,777
`
`96
`
`A/
`
`138
`
`140
`
`@ YES
`
`
`ND
`
`CHECK LHITARRAY
`MATRIX FOR POS
`AND SUBPHRASE
`
`LENGTH =
`NULL
`
`142
`
`156
`
`m
`
`1
`
`POS = P08 + 1
`
`POSSIBLE?
`
`.
`
`‘ YES
`
`1 54
`
`‘ SUBSTRING = STRING (POS,
`LENGTH)
`
`158
`
`
`
`
`POS+LENGTH
`> NWORDS+1?
`
`
`
`
`YES
`
`POS=1
`LENGTH:
`
`LENGTH — 1
`
`150
`
`figure 7
`
`SAMSUNG EX. 1014
`
`SAMSUNG EX. 1014
`
`

`

`US. Patent
`
`July 18, 1995
`
`Sheet 7 of 12
`
`5,434,777
`
`147
`
`\
`
`14§
`
`HITARRAY/ 150 /
`
`152
`
`POSITION
`
`LENGTH
`VALUE
`
`123456789123456781234567
`0o01234123121..
`
`111111111222222223333333
`0o066667770089
`
`OOOOOOOOOOOOOOOOOOOOOOOO
`...0000000000
`
`figure 7a
`
`SAMSUNG EX. 1014
`
`SAMSUNG EX. 1014
`
`

`

`US. Patent
`
`July 18, 1995
`
`Sheet 8 of 12
`
`5,434,777
`
`STORE MAPPING, MAPPED
`SUBSTRING OBJECT AND
`REMOVE SUBSTRING
`
`NWORDS = NWORDS - #
`WORDS IN REMOVED
`SUBSTRING
`
`164
`
`166
`
`AS "POSSIBLE" figure 8
`
`MARK
`HITARRAY(LENGTH,POS)
`
`168
`
`220
`
`FILL IN TASK
`TEMPLATE
`
`CAN TASK BE
`EXECUTED?
`
`
`
`
`
`
`EXECUTE TASK
`
`226
`
`figure 13
`
`SAMSUNG EX. 1014
`
`SAMSUNG EX. 1014
`
`

`

`US. Patent
`
`July 18, 1995
`
`Sheet 9 of 12
`
`5,434,777
`
`172
`
`\
`
`PHRASE LOOK—UP TABLE
`
`figure 9
`
`174
`
`<PERSON—3>
`
`"ITALY"
`
`<COUNTRY-2>
`
`PHRASES
`INSTANCES
`
` <COMPANY— 1>
`
`< FOOD- 1 >
`
`
` 176
`<COUNTRY— 1 >
`
`
`
`<PERSON- 1 >
`<PERSON-2>
`
`
`
`
`
`
`<MEET— 1 >
`
`"‘LUNCH WITH"
`"SCHEDULE
`<MEET—2>
`
`
`LUNCH WITH"
`
`
`
` "ZORRO"
`<HERO- 1>
`
`178
`
`180
`
`
`
`
`"LUNCH WITH"
`
`SAMSUNG EX. 1014
`
`SAMSUNG EX. 1014
`
`

`

`US. Patent
`
`July 18, 1995
`
`Sheet 10 of 12
`
`5,434,777
`
`figure 1 0
`
`PATTERN LOOK-UP TABLE
`
`PATTERN
`
`INSTANCE /
`
`1 84
`
`
`
`
`
`
`"pm"
`<num>
`<1‘imeslot>
`
`<num>
`<num>
`<fimeslot>
`
`
`1 86
`
`{1‘IMESLOT>
`
`
`
`
`
`
`<TIMESLOT— 1 >
`
`"12:30 pm"
`12:30:00
`
` TIME = 1015
`LOCATION (12,7-12)
`
`SAMSUNG EX. 1014
`
`SAMSUNG EX. 1014
`
`

`

`US. Patent
`
`July 18, 1995
`
`Sheet 11 of 12
`
`5,434,777
`
`NAME:
`BIRTHDAY:
`TELEPHONE:
`FAX:
`
`INSTANCES: <PERSON—1> <PERSON-2> <PERSON—3>
`
`ADDRESS:
`HEIGHT:
`WEIGHT:
`
`196
`
`1940
`
`\N
`
`
`
`1941:
`
`
`
`NAME: BILL JONES
`<PERSON-2> <BILL2>
`\ NAME: BILL RIKER
`<PERS ON-1> <BILL— 1>
`
`194a
`
`
`
`
`
`
`NAB/IE: BILL SETAG
`BIRTHDAY: NULL
`TELEPHONE: 408—555—1212
`FAX: NULL
`
`ADDRESS: 123 MAIN STREET,
`
`
`
`
`
`
`
`
`
`HEIGHT: NULL
`WEIGHT: NULL
`
`
`
`<RESTAURANT-1>
`
`$513325“:
`
`[figure 11
`
`RATING:
`
`
` RATING: 4 STAR
`
`<RESTAURANT— 1>
`
`RESTAURANT: CHEZ SOVAN
`ADDRESS: 436 STEVENS CREEK BLVD.
`
`SAMSUNG EX. 1014
`
`SAMSUNG EX. 1014
`
`

`

`US. Patent
`
`July 18, 1995
`
`Sheet 12 of 12
`
`5,434,777
`
`208
`
`N
`
`210 '
`
`212
`
`214
`
`‘ "new
`
`Formatting
`
`figure 12
`
`SAMSUNG EX. 1014
`
`SAMSUNG EX. 1014
`
`

`

`1
`
`5,434,777
`
`2
`
`METHOD AND APPARATUS FOR PROCESSING
`NATURAL LANGUAGE
`
`CROSS REFERENCE TO RELATED
`APPLICATIONS
`
`This application is a continuation-in-part of parent
`patent application Ser. Nos. 07/889,225, filed May 27,
`1992 on behalf of Luciw et al., entitled, “Method and
`Apparatus for Deducing User Intent and Providing
`Computer Implemented Services,” now US. Pat. No.
`5,340,281, and 08/099,861, filed Jul. 30, 1993 on behalf
`of Luciw et al., entitled, “Method and Apparatus for
`Providing Computer-Implemented Assistance,” which
`are hereby incorporated by reference herein.
`
`BACKGROUND OF THE INVENTION
`
`5
`
`10
`
`15
`
`The present invention relates generally to computer
`systems, and more particularly to methods for process-
`ing natural language input from users of computer sys-
`tems.
`
`20
`
`Computerized personal organizers are becoming in-
`creasingly popular. They perform such functions as
`keeping a calendar, an address book, a to—do list, etc.
`While these functions can be provided by conventional
`computer systems,
`they are more conveniently pro-
`vided by personal organizers which are relatively inex-
`pensive, small, and lightweight (i.e. portable). Personal
`organizers are available from such companies as Sharp
`and Casio of Japan.
`A relatively new form of computer, the pen—based
`computer system, holds forth the promise of a marriage
`of the power of a general purpose computer with the
`functionality and small size of a personal organizer. A
`pen-based computer system is typically a small, hand-
`held computer where the primary method for inputting
`data includes a “pen” or stylus. A pen-based computer
`system is commonly housed in a generally rectangular
`enclosure, and has a dual—function display assembly
`providing a viewing screen along one of the planar sides
`of the enclosure. The dual-function display assembly
`serves as both an input device and an output device.
`When operating as an input device, the display assem-
`bly senses the position of the tip of a stylus on the view-
`ing screen and provides this positional information to
`the computer’s central processing unit (CPU). Some
`display assemblies can also sense the pressure of the
`stylus on the screen to provide further information to
`the CPU. When operating as an output device, the dis—
`play assembly presents computer—generated images on
`the screen.
`
`The dual-function displays of pen-based computer
`systems permit users to operate the computers as com-
`puterized notepads. For example, graphical images can
`be input into the pen-based computer by merely moving
`the stylus across the surface of the screen. As the CPU
`senses the position and movement of the stylus, it gener-
`ates a corresponding image on the screen to create the
`illusion that the stylus is drawing the image directly
`upon the screen, i.e. that the stylus is “inking” an image
`on the screen. With suitable recognition software, the
`“ink” can be identified as text and numeric information.
`Computer systems,
`including pen-based computer
`systems, can also incorporate speech recognition. Al-
`though still mostly in the developmental stage, speech
`recognition has many potential uses in computer sys-
`tems. For example, in a portable pen-based computer,
`speech input and recognition can be used to conve-
`
`25
`
`3O
`
`35
`
`45
`
`50
`
`55
`
`60
`
`65
`
`niently record dictated messages or other spoken docu-
`ments and to present the dictated words as an electronic
`text document for editing, printing, faxing, etc. or to
`input commands into the computer system.
`Stylus, speech, keyboard, and other forms of input
`can take the form of “natural language,” i.e. an “utter-
`ance.” Natural language is written or spoken input that
`is in a natural form that a person would use as if speak-
`ing or writing to another person. Non-natural language
`would be language, such as computer commands or
`programs, which is constrained by a limited syntax,
`structure, and/or scope.
`Natural language input permits a user to easily inter-
`face with a computer system using wellknown lan—
`guage. One area in computer systems which is particu-
`larly well-adapted for natural language input is comput-
`erized assistance. Computers systems that use comput~
`erized assistance deduce or hypothesize a user’s intent
`and automatically provide a service based on the de-
`duced intent. For example, a tasks such as printing a
`document or scheduling an appointment can be imple-
`mented by a computer system by deducing information
`from a user’s inputs or preferences. Natural language
`input allows a user to quickly specify a service or task to
`be implemented using a complex form and thus is well
`suited for use with computerized assistance.
`The recognition of natural language by computer
`systems has been difficult due to the complex and shift-
`ing “rules” of human natural language. A user may
`input a natural language phrase, such as, “meeting with
`Bill on Tuesday at lunch” to instruct the computer
`system to schedule the meeting in a calendar application
`program. The computer system typically recognizes the
`individual words to recognize the meaning of the entire
`phrase. However, by recognizing small portions of the
`input phrase separately, a complete, overall meaning for
`the phrase is often incorrect, inaccurate, or incomplete.
`Natural language input has been typically processed
`using one of several methods. A natural phrase or string
`can be matched to a known phrase in a phrase lexicon
`used by the computer. A long command is typically
`processed by matching individual words or smaller
`phrases to items in the lexicon. Another method used to
`process natural language is to examine parts of the input
`phrase for a standard pattern. For example, a number
`including a colon and followed by “am” or “pm” fits
`the pattern of a phrase indicating time. A different
`method used to process natural language is to query a
`database that stores a large number of phrases and
`match a phrase to one or more items stored in the data-
`base.
`
`The abovementioned processes have typically been
`used with a fixed set of rules to interpret natural lan-
`guage. An a priori specification of known linguistic
`structures and their meaning is used to perform seman-
`tic interpretation. Each of the abovementioned pro-
`cesses has limitations in versatility and the time required
`to match a phrase. Natural language processing of the
`prior art has thus been inefficient and rigid in its ability
`to recognize the meaning of natural language utter-
`ances.
`
`What is needed is a natural language processor that
`will quickly and accurately identify and map natural
`language input phrases. What is further needed is a
`natural language processor that identifies phrases ac-
`cording to a dynamic set of rules and data.
`
`SAMSUNG EX. 1014
`
`SAMSUNG EX. 1014
`
`

`

`3
`
`SUMMARY OF THE INVENTION
`
`5,434,777
`
`The present invention provides a natural language
`processor for the user of a computer system. The
`method of the present invention analyZes portions or
`substrings of a natural language input string to deter-
`mine the meaning of the input string. Large substrings
`are analyzed and reduced in size until the substrings can
`be mapped into a database using mapping routines.
`Three dynamic mapping routines are preferably used in
`sequence in the present invention: a phrasal processor, a
`pattern processor, and a database query processor.
`These processors provide a robust method of identify-
`ing the meaning of natural language input.
`More particularly, a method for deducing meaning
`from a natural language input comprises the steps of (a)
`receiving an ordered string of word objects having
`length and a natural language meaning, (b) selecting a
`word window length that is no greater than the length
`of the ordered string, and (c) successively moving the
`word window along the ordered string and analyzing
`the meaning of a substring of word objects that fall
`within the word window. The substring is removed
`from the ordered string if the substring has a recognized
`meaning, until all substrings of the ordered string that fit
`within the window have been analyzed. In a step (d),
`the word window length is reduced and step (c) is re-
`peated until only an unrecognized residual of the or-
`dered string remains. The ordered string is preferably
`received from strokes entered by a stylus on a display
`screen of a pen-based computer or from a microphone
`receiving audible speech input. The step of analyzing
`the meaning of the substring preferably includes map-
`ping the substring against a database using one or more
`mapping routines. The mapping routines are preferably
`arranged in a hierarchy, wherein a successive mapping
`routine is used to analyze the substring when a previous
`mapping routine in the hierarchy cannot map the sub-
`string. The method preferably further includes a step of
`determining a computer-implemented task specified by
`the ordered string using the recognized substrings and
`performing the computer-implemented task.
`A method for recognizing meanings of natural lan-
`guage phrases comprises the steps of attempting to map
`at least a portion of an ordered string of word objects
`into a database according to a phrasal mapping routine.
`If the string portion does not map into the database
`using the phrasal mapping routine, a step of attempting
`to map the portion into a database according to a pat-
`tern mapping routine is accomplished. If the pattern
`mapping routine is unable to map the string portion,
`then a database query mapping routine attempts to map
`the string portion. The mapping routines are preferably
`dynamic mapping routines referencing dynamic data
`structures. Remaining portions of the ordered string are
`preferably mapped according to the mapping routines
`until all word objects of the string have been analyzed.
`A preferred apparatus in accordance with the present
`invention implements the natural language processor on
`a computer system, and more preferably on a small,
`handheld computer system such as a personal digital
`assistant (PDA). The natural language can be input into
`the PDA by a variety of methods including a tableteand-
`stylus, an input microphone, a keypad, etc.
`Because the natural language processor first analyzes
`larger substrings of an input string and then reduces the
`size of the substrings, natural language input is more
`quickly and reliably processed and its meaning deter-
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`4O
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`mined. In addition, the present invention uses three
`dynamic natural language processors in succession to
`allow greatly increased sensitivity to the context of
`natural language input and enhanced capability in inter-
`preting the input.
`These and other advantages of the present invention
`will become apparent to those skilled in the art upon a
`reading of the following specification of the invention
`and a study of the several figures of the drawing.
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 is a block diagram of a pen-based computer
`system in accordance with the present invention;
`FIG. 2 is a top plan view of the pen-based computer
`system of FIG. 1;
`FIG. 3 is a table illustrating the method of examining
`substrings of the present invention;
`FIG. 4 is a flow diagram illustrating the method of
`processing natural language of the present invention;
`FIG. 5 is a flow diagram illustrating the step of devel-
`oping a string of FIG. 4;
`FIG. 6 is a table illustrating a hierarchy of mapping
`routines used in the present invention;
`FIG. 7 is a flow diagram illustrating the step of ob—
`taining a substring of FIG. 4;
`FIG. 7a is a table showing the contents of the matrix
`HITARRAY;
`FIG. 8 is a flow diagram illustrating the step of re-
`moving a substring and storing a mapping of FIG. 4;
`FIG. 9 is a phrase look-up table used for the phrasal
`processor of the present invention;
`FIG. 10 is a pattern look-up table used for the pattern
`processor of the present invention;
`FIG. 11 is a type frame illustrating a database query
`processor of the present invention;
`FIG. 12 is a task template used for determining a task
`in the present invention; and
`FIG. 13 is a flow diagram illustrating the determine
`task and perform task steps of FIG. 4.
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENT
`
`The present invention is well suited for pointer—based
`computer systems such as the pen-based, pen-aware and
`mouse controlled systems that are currently popular.
`The present invention is also well suited for computer
`systems implementing voice input and speech recogni-
`tion. For the purposes of illustration, the invention will
`be described in connection with a pen-based system
`incorporating voice input. However, the present inven-
`tion is also suitable for other types of computer systems,
`such as mainframe systems, keyboard based systems,
`etc.
`
`As shown in FIG. 1, a pen—based computer system 10
`in accordance with the present invention includes a
`central processing unit (CPU) 12, read only memory
`(ROM) 14, random access memory (RAM) 16, input-
`/output (I/O) circuitry 18, and a display assembly 20.
`The pen-based computer system 10 may also optionally
`include a mass storage unit 22, a microphone amplifier
`23, a microphone 25, a keypad (or keyboard) 24, a serial
`port 26, an infrared (I/R) port 28, a speaker amplifier
`27, a speaker 29, and a clock 30.
`The CPU 12 is preferably a commercially available,
`single chip microprocessor. While CPU 12 can be a
`complex instruction set computer (CISC) chip,
`it
`is
`preferable that CPU 12 be one of the commercially
`available, reduced instruction set computer (RISC)
`
`SAMSUNG EX. 1014
`
`SAMSUNG EX. 1014
`
`

`

`5,434,777
`
`5
`chips which are known to be of generally higher perfor-
`mance than CISC chips. CPU 12 is coupled to ROM 14
`by a unidirectional data bus 32. ROM ‘14 preferably
`contains the basic operating system for the pen-based
`computer system 10. CPU 12 is connected to RAM 16
`by a bi-directional data bus 34 to permit the use of RAM
`16 as scratch pad memory. ROM 14 and RAM 16 are
`also coupled to CPU 12 by appropriate control and
`address busses, as is well known to those skilled in the
`art. CPU 12 is coupled to the I/O circuitry 18 by bi-
`directional data bus 36 to permit data transfers with
`peripheral devices.
`I/O circuitry 18 preferably includes a number of
`latches, registers and direct memory access (DMA)
`controllers. The purpose of I/O circuitry 18 is to pro-
`vide an interface between CPU 12 and such peripheral
`devices as display assembly 20, mass storage 22, ampli-
`fier 23, keypad 24, serial port 26, FR port 28, and ampli-
`fier 27.
`
`Display assembly 20 of pen-based computer system
`10 is both an input and an output device. Accordingly,
`it is coupled to I/O circuitry 18 by a bi-directional data
`bus 38. When operating as an output device, the display
`assembly 20 receives data from I/O circuitry 18 via bus
`38 and displays that data on a suitable screen. The
`screen for display assembly 20 is preferably a liquid
`crystal display (LCD) of the type commercially avail-
`able from a variety of vendors. The input device of
`display assembly 20 is preferably a thin, clear membrane
`which covers the LCD display and which is sensitive to
`the position of a stylus 38 on its surface. With such a
`structure, the membrane of the display assembly 20 can
`serve as an input “tablet.” These position sensitive
`membranes are also readily available on the commercial
`market. Alternatively, other types of tablets can be
`used, such as inductively coupled tablets. Combination
`display assemblies such as display assembly 20 which
`include both the LCD and the input membrane are
`commercially available from such vendors as Scriptel
`Corporation of Columbus, Ohio.
`Some type of mass storage 22 is generally considered
`desirable. Mass storage 22 can be coupled to I/O cir-
`cuitry 18 by a bi-directional data bus 40. However, the
`mass storage 22 can be eliminated by providing a suffi-
`cient amount of RAM 16 to store user application pro-
`grams and data. In that case, the RAM 16 can be pro-
`vided with a backup battery to prevent the loss of data
`even when the pen—based computer system 10 is turned
`off. However,
`it is generally desirable to have some
`type of long term mass storage 22 such as a commer-
`cially available miniature hard disk drive, nonvolatile
`memory such as flash memory, battery backed RAM, a
`PCMCIA card, or the like.
`Microphone amplifier 23 is coupled to I/O circuitry
`by bus 41 and includes well-known components which
`convert a speech signal input in microphone 25 to an
`analog signal, such as amplifiers, preamplifiers, etc.
`Amplifier block 23 can also include components which
`convert the analog signal to digital signals that can be
`used with CPU 12, such as analog to digital converters
`(ADC’s). The recognition of words spoken by a user
`can be implemented in software executed by CPU 12,
`and is well known to those skilled in the art.
`The keypad 24 can comprise an array of mechanical
`buttons or switches coupled to I/O circuitry 18 by a
`data bus 42. Alternatively, keypad 24 can comprise an
`entire, standard QWERTY keyboard. In the present
`embodiment, a separate keypad 24 is not used in favor of
`
`6
`a “pseudo” keypad 24’. This “pseudo” keypad 24' com-
`prises “button” areas which are associated with a bot-
`tom edge of the tablet membrane that extends beyond
`the lower edge of the LCD display. These button areas
`are defined by a printed or silk-screened icons which
`can be seen through the transparent membrane of the
`input tablet. When the “buttons” are selected by engag-
`ing the stylus 38 with the membrane over these printed
`icons, the membrane senses the pressure and communi—
`cates that fact to the CPU 12 via data bus 38 and I/O 18.
`An example of pseudo keypad 24’ is shown in FIG. 2.
`Serial port 26 is coupled to I/O circuitry by a bi-
`directional bus 44. The serial port 26 can be used to
`couple the CPU to external devices and networks.
`Infrared (I/R) port 28 is coupled to I/O circuitry by
`a bi-directional bus 46. The UK port can be used for
`outgoing information (e.g. to control a printer or some
`other external device, or to communicate with other
`computer systems) or for incoming information from
`other computers or devices.
`Speaker amplifier 27 is coupled to I/O circuitry by a
`bus 47. Amplifier 27 is used to drive a speaker 29 with
`signals output by CPU 12 and can also include compo—
`nents such as filters, specialized sound chips, etc.
`Speaker 29 can be used for audio output such as sound
`effects, synthesized voice, and other user feedback.
`Clock 30 preferably comprises a real-time clock to
`provide real-time information to the system 10. Alterna—
`tively, clock 30 can simply provide regular clock pulses
`to, for example, an interrupt port of the CPU 12 which
`can count the clock pulses to provide the time function.
`However, this alternative clock embodiment tends to be
`wasteful of CPU processing power. Clock 30 is coupled
`to CPU 12 by a data bus 48.
`In operation, information is input into the pen-based
`computer system 10 by “writing” on the screen of dis-
`play assembly 20 with the stylus 38. Information con-
`cerning the location of the stylus 38 on the screen of the
`display assembly 20 is input into the CPU 12 via data
`bus 38 and I/O circuitry 18. Typically, this information
`comprises the Cartesian (i.e. x & y) coordinates of a
`pixel of the screen of display assembly 20 over which
`the tip of the stylus is positioned. Commercially avail-
`able combination display assemblies such as the afore-
`mentioned assemblies available from Scriptel Corpora-
`tion, Sharp, and others include appropriate circuitry to
`provide the stylus location information as digitally en—
`coded data to the I/O circuitry of the present invention.
`The CPU 12 then processes the data under control of an
`operating system and possibly an application program
`stored in ROM 14, RAM 16, or mass storage 22. The
`CPU 12 next produces data which is transferred to the
`display assembly 20 via I/O circuitry 18 and data bus 38
`to produce appropriate images on the screen portion of
`the display assembly 20.
`In FIG. 2, the pen-based computer system 10 of FIG.
`1 is shown housed within a generally rectangular enclo-
`sure 50. The CPU 12, ROM 14, RAM 16, I/O circuitry
`18, and clock 26 are preferably fully enclosed within the
`enclosure 50. The display assembly 20 (FIG. 1)
`is
`mostly enclosed within the enclosure 50

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket