USRE39302E1 - Intelligent help system - Google Patents
Intelligent help system Download PDFInfo
- Publication number
- USRE39302E1 USRE39302E1 US09/375,867 US37586799A USRE39302E US RE39302 E1 USRE39302 E1 US RE39302E1 US 37586799 A US37586799 A US 37586799A US RE39302 E USRE39302 E US RE39302E
- Authority
- US
- United States
- Prior art keywords
- user
- rules
- help information
- knowledge base
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/453—Help systems
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S706/00—Data processing: artificial intelligence
- Y10S706/902—Application using ai with detail of the ai system
- Y10S706/911—Nonmedical diagnostics
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S706/00—Data processing: artificial intelligence
- Y10S706/902—Application using ai with detail of the ai system
- Y10S706/927—Education or instruction
Definitions
- This invention relates to help systems for computers; more specifically, it relates to help systems that aid a user of a computer by providing context sensitive help.
- Computer-aided help system have been developed to provide on-line assistance to computer users.
- those systems display help information on the display screen of the computer.
- Simple help systems always start with the same display, regardless of the circumstances, and the user must enter specific information to find help for his or her particular situation.
- More advanced help systems display context-sensitive help.
- Context-sensitive help systems determine what particular part of an application program the user is in. Then help information is displayed that is relevant to this user location.
- help systems represent an advancement over simple help systems, they have numerous limitations. Such systems are usually tightly coupled to an application program; they must rely on the application program to keep track of and store the context. Further, since these systems are limited to displaying help information based upon program location, they will always return the same help information for a given location regardless of how the user got there. While such systems provide the convenience of on-line help, the help information they provide is nothing more than a user's manual correlated with a given program screen or function. As a result, these help systems tend to be of limited utility to the user who cannot specifically identify the problem or who has “lost his way.”
- the invention recognizes a need for an intelligent help system which processes information specific to the user's history, such as tasks he or she has successfully executed (and how many times) or has had previous help with, and information which defines a state of a machine and a state of a programmed application.
- an intelligent help system for aiding the user of a computer program is provided by maintaining an historic queue and using artificial intelligence techniques to select help information based on user-directed events and the current state of the system.
- user-directed activities are monitored and stored in the historical queue inside a knowledge base.
- System states are also monitored and stored.
- the knowledge base is then used by an inference engine to isolate the specific kind of help that a user needs.
- the user is given assistance upon request which is appropriate to that user's level of understanding or experience and the current activities that he or she has executed.
- FIG. 1 is a block diagram of a computer system in which the invention may be embodied.
- FIG. 2 is a block diagram of a computer software system used in the preferred embodiment.
- FIG. 3A illustrates the processing of user-directed events and system states into help information.
- FIG. 3B is a flow chart of the general methods of the help system.
- FIG. 4 is a flow chart of a query by the monitoring device.
- FIGS. 5A-B are a flow chart of the methods of the event interpreters.
- FIG. 6 is a flow chart of the methods for processing events.
- FIG. 7 is a flow chart of the methods for identifying a task.
- FIG. 8 illustrates the rule taxonomy of the invention.
- FIG. 9 illustrates frames and slots for the storage of knowledge.
- FIGS. 10A-B are a flow chart of the methods for proving rules.
- FIG. illustrates the operation of the display engine.
- the preferred embodiment of the invention is implemented on a computer system 100 having a central processor 102 , a system memory 103 , a display device 105 , a keyboard 106 , a mouse 107 , a disk memory 108 , an I/O controller 101 , and interconnecting means 110 , such as a system bus.
- a Tandy 1000 series computer (Tandy Corporation of Ft. Worth, Tex.) is used as the system 100 .
- a computer software system 200 is shown for programming the computer system of FIG. 1 .
- Software system 200 is stored in system memory 103 and on disk memory 108 .
- System 200 programs the central processor 102 to display a graphic user interface (GUI) on display monitor 105 .
- GUI graphic user interface
- help system 204 is implemented in the Tandy DeskMate environment 203 which provides a software interface 205 between a user 206 , a computer application 202 , and an operating system 201 . It will be apparent, however, that one of ordinary skill in the art, informed by this specification, could implement the invention in other operating environments.
- an artificial intelligence (AI) paradigm is used to deal with knowledge which may be vast and uncertain, leading to multiple solutions for a given situation.
- An AI model has the ability to learn or infer more knowledge from what it already knows. Thus, if a user requests help and the help system cannot reach a solution, the system can get further information from the user and then remember the situation; the next time that that situation occurs a solution can be given without querying the user again.
- help system 300 of the preferred embodiment comprises a monitoring device 320 for collecting data generated in response to user-directed events and system states 310 , a knowledge base 330 for storing data 331 along with a help information database 335 used to determine the best help to give, an inference engine 340 for interpreting data 331 and help information database 335 in knowledge base 330 , and a display engine 350 for presenting appropriate help information 360 on display device 105 .
- Data 331 comprises an historical queue 332 and a state data 333
- help information database 335 comprises a plurality of rules 334 and text 336 .
- FIG. 3B is a flow chart illustrating the general methods of help system 300 .
- user-directed events and system states are monitored.
- User-directed events are the activities that a user performs in an application program, for example, saving a file in a paint application or copying a block of text in a word-processing application.
- the system state comprises a machine state and an application-specific state.
- the information collected in step 351 is stored as facts or data 331 of knowledge base 350 .
- sequential user-directed events are stored in historical queue 332 and knowledge about the system is stored as state data 333 .
- step 353 if a user requests help (e.g., pressing F1 key), then in step 355 inference engine 340 tests known data 331 against help system rules 334 . However, if no help is requested in step 353 , the routine loops back to the monitoring step 351 .
- help e.g., pressing F1 key
- Knowledge base 330 stores heuristics in the form of rules.
- Rules 334 such as those used in step 355 , are premise-conclusion statements predefined by an application developer which guide inference engine 340 in selecting an output. For example, suppose a user is in a Text (word processing) listbox and no files are selected. A rule that would check this is:
- Monitoring device 320 tracks or monitors user input, it has processing capabilities. It may assert data in knowledge base 330 after identifying a sequence of one or more events or states. It may remove or retract data concerning states which are no longer true, or reasserts a new value for old data. It keeps track of the number of times an activity has successfully been completed by a user.
- Monitoring device 320 monitors different types of information, including machine states, application specific states, and historical information.
- the machine state includes current system level, such as within an application or accessory, running a component, or at the desktop interface.
- An accessory is an application that may “pop up” over another application. Examples of accessories include a pop-up calculator, calendar, or alarm.
- a component is a graphic element that a user interacts with to display and accept information from a user. For example, the components in a dialogue box include radio buttons, push buttons, and edit fields.
- the menubar is also a component.
- Monitoring device 320 also monitors application-specific states (application specifics), including information unique to an application, and component states, including information within the current machine state which is either application specific or general; since components such as radio buttons are generated in the same way, regardless of whether the component is used at the application level or general level, information about component states is also generated in a uniform manner. For example in all applications which have a menubar, choices are obtained by selecting an item off the menu.
- application-specific states application specifics
- component states including information unique to an application
- component states including information within the current machine state which is either application specific or general; since components such as radio buttons are generated in the same way, regardless of whether the component is used at the application level or general level, information about component states is also generated in a uniform manner. For example in all applications which have a menubar, choices are obtained by selecting an item off the menu.
- Monitoring device 320 also tracks historical information which indicates the completion of a task for which help has been defined. This data is stored in historical queue 332 . A successful completion indicates that the user no longer needs help in performing that task. More specific help information, rather than general information, can be given as the user gains more experience with a program.
- monitoring device 320 adds a dialogue box entry (CMP_DLG_BOX) into historical queue 332 and then stores corresponding editfield, listbox, radiobutton, iconbutton and checkbox information.
- CMP_DLG_BOX dialogue box entry
- Each entry into historical queue 332 can be of variable length, depending on the type of entry made.
- a unique “return code” is assigned to each component, thus facilitating the distinction between components.
- a far pointer to an entry's structure e.g., dialogue box, component, and/or menubar structures
- the format used can be of variable length.
- a subentry flag is defined to indicate when there is a subentry. For example, a component may still be running while the menubar is processed, therefore, the menubar is part of a single entry. If the flag is set to a value of true, then any subentry data is stored. Another flag is defined to indicate the user keystrokes that occurred during the entry. This enables the system to determine, for example, whether the user has begun entering data into a dialogue box, or if he chose help immediately. The name of the box and menu entries, such as DLGBOX, MSGBOX, LISTBOX, or MENU, is stored to distinguish one box from another. A third flag is defined to indicate the user keystrokes that occurred before invoking help. This enables the system to determine what the user was doing in the application.
- Variables which manipulate historical queue 332 are defined as follows:
- the data structure of the queue may be summarized as follows:
- the monitoring of information occurs at different places in software system 200 . All state changes that result in the execution of dialogue and message boxes are monitored.
- DeskMate environment 203 commands are entered by the user through a menubar and are processed by event interpreters, which check for menubar changes.
- the application programs themselves may indicate state changes in their respective working areas.
- DeskMate environment 203 is divided into the following hierarchy of level changes, thus simplifying the monitor's task of updating information:
- the variable “level” takes the value of DeskTop, Menubar, Dlg_box, Message_box, Info_box, or Component.
- the monitoring can obtain the state changes by getting the address calls from DeskMate environment 203 which indicate a function call to an application program or resource.
- FIG. 4 illustrates how monitoring device 320 queries for the address of calls it is interested in.
- applications call core service routines (CSR) to run components and dialogue, information, and message boxes.
- CSR core service routines
- a menubar interpreter handles the processing of the menubar. Therefore, independently of an application, the calls which change the structures that the application is using can be monitored to keep track of information changes.
- step 401 an entry call is made to a core service routine.
- step 402 the component type is identified and then compared with a list of components that monitoring device 320 is interested in.
- step 403 if the component is listed in the table, then in step 404 , monitoring device 320 takes the application's parameters and its structure pointer to copy data from within the application's structures. The structures are not modified.
- step 405 monitoring device 320 again accesses data in the structures, this time for the purpose of historical information updates.
- program is defined to indicate which particular program is running. Program takes the value of the program name, which is the same identifier for help information database 335 associated with the application or accessory.
- Two event interpreters pick up menubar changes.
- the menu selected is important for the state, while the item returned is important for the history.
- a high-priority event interpreter picks up the menubar changes when help is requested, and a low priority event interpreter will make all changes from the menubar's return code.
- the high-priority interpreter examines events first before any further processing by the DeskMate system.
- the low-priority interpreter examines events after they are processed by the DeskMate system.
- FIGS. 5A-B illustrate the method of the events interpreters.
- the application registers the menubar with monitoring device 320 .
- the state information is updated according to what level the system is operating at (indicated by the variable “level”). If level equals zero in step 504 , then the menubar is the last thing changed, therefore a menubar update is needed.
- the menubar interpreter makes an update. But if “level” is not zero, then step 505 is skipped.
- the low priority interpreter checks the event type.
- step 508 the low priority interpreter does a history update, performed by taking the return code and comparing its value with the menubar menus.
- the string corresponding to the return code is the item of interest.
- step 509 the routine loops back to step 501 to await another F 1 keystroke.
- Application-specific information is obtained by having the application assert data into the current state data 333 in knowledge base 330 .
- the application accomplishes this by making a call to an “Assert” function with the parameters “variable” and “value,” which are pointers to strings.
- the variable should match a variable in the rule premise, i.e., the rule must be defined beforehand.
- An application should assert any historical information related to its unique state configuration.
- Application data are removed from the current state data 333 by the application once those data are no longer true by calling a “Retract” function.
- the applications may directly assert data into knowledge base 330 , they do not determine what help to give. Instead, they supply the inputs for this determination.
- Historical information is obtained by using a user's I.D. to index the user's unique historical information. This historical information is updated at the end of a task completion. For example, when the user has successfully executed a copying function, monitoring device 320 recognizes this by checking that the user has selected “text” and then selected “copy” from the file menu. Having determined that the user has mastered this task, monitoring device 320 updates the user's historical information. For historical information associated with the application's specific data, the application updates the information itself by calling the function UpdateHistory with a parameter pointing to a string representing the activity just completed.
- FIG. 6 summarizes the method for processing the events from the event interpreters.
- events are processed by examining the mouse coordinates and event type and value.
- events are identified by trying to “fire” or trigger a rule that would make a data assertion or retraction into knowledge base 330 . These rules represent all conditions that must be true for data to be asserted or retracted. If a rule fires in step 603 , then the event is identified, step 604 . If the rule does not fire, then the event is not identified, step 605 .
- FIG. 7 illustrates the approach used in step 602 ( FIG. 6 ) to identify a task (sequence of events).
- a key or mouse event is examined.
- the event if the event does not match the first premise line in any rule associated with the system level, then the event is discarded in step 704 . Otherwise, in step 703 , all rules that fire are placed on an Agenda, which represents the most likely task(s).
- the rules are approved or disproved by examining the next key or mouse events that come in.
- step 706 If all the rules in the Agenda fail at step 706 , then the first key analyzed is discarded and the next key is used to search for new rules, step 708 ; otherwise in step 707 , the Agenda is cleared and the procedure loops to step 701 to examine the next key/mouse event.
- Monitoring device 320 attempts to assert data which apply to a given level.
- Each application or accessory can be considered as a distinct object (as a level) which performs certain activities, some of which are common to other objects. Therefore, it is convenient to divide the monitor's data structure into “frames.”
- a frame contains the activities that each application is capable of, with current values and historical information.
- the frames have slots for storing the data used by the rules or a pointer to another frame.
- user input and system state are analyzed by monitoring device 320 for passage as data to knowledge base 330 for storage.
- Commands are defined for controlling this flow of data to and from knowledge base 330 .
- Data are stored in frames through the Assert command. Old information is deleted with the Retract command.
- a query is made to knowledge base 330 to attain information through a Query command. Previous data are asserted by a Reassert command.
- Knowledge base 330 comprises formal (traditional data base information) and informal (heuristic) knowledge which is rule based.
- FIG. 8 demonstrates the rule taxonomy.
- At the lower level of the rule hierarchy 800 is a single rule 804 defining a pattern-to-action goal.
- the pattern is known as the left-hand side of a rule, while the action is the right-hand side.
- the rules use the common logical operators AND, OR, and NOT, as well as Boolean operators such as IF, THEN, and ELSE.
- the key word TEST indicates that a comparison needs to be made.
- the right-hand side of a rule can have an ELSE clause, an assertion, a retraction, another rule, or a procedure call.
- ELSE c b could be an assertion which would add data b into data 331 ; multiple data assertions are possible. A retraction would delete data b from data 331 : IF a THEN (RETRACT b).
- Linked Rules 803 are a linking between rules which share the same conclusion. This is a design implementation intended to make the inference process easier by knowing alternative solution paths.
- Rule Groups 802 group rules with a common purpose. For example, rules with a conclusion indicating what specific help to give are all rules determining the goal state. A group can have an (optional) priority identifier so the most important or most specific rules can be tried out first when searching. This does not imply that a rule group will be left out of a search.
- Rules Classes 801 are a further conceptualization of rules. They separate individual knowledge bases, each having a unique identifier by which it is distinguished. This identifier can be used by a set of control rules which use the machine state information to indicate knowledge base access.
- each rule also contains formal or informal knowledge.
- the informal knowledge becomes formal when a rule fires successfully.
- the formal knowledge is stored in and accessed from knowledge base 330 in frame structures.
- Frames can be made up of other frames, which can also be shared. With this data structure, it is possible to access only the frame associated with the current state information when monitoring device 320 is updating the user's historical information.
- the frame's slots are like any linked list, except they represent actions and attributes of an object or concepts that the frames represent. Since frames indicate the relationship between a user's activity and the associated heuristics used to interpret that activity, it is easy to access only relevant information.
- FIG. 9 illustrates a frame 901 with its related slots 902 .
- Rule Classes 801 are made up of pointers to the variables and values in the frames.
- the slots which contain another frame are really another group within a rule class.
- the slots contain the rules. The successful completion of a frame yields a solution.
- rules may be coded as data structures (illustrated in the C language):
- the inputs to knowledge base 330 are the data collected b monitoring device 320 .
- the outputs of knowledge base 330 are data 331 and rules 334 which inference engine 340 selects for examination and help information text 336 which display engine 350 processes.
- Rules 334 are predefined by application developer. The frames indicate the relationship between the user's activity and the associated heuristics used to interpret that activity, thus making it easier to access only the information needed.
- the knowledge-based rules are structured so that obvious associations between rules can be incorporated within knowledge base 330 simplifying the design and the inferences from those rules.
- Inference engine 340 interprets data 331 and rules 334 in knowledge base 330 to give a help solution to the user, or it intelligently asks for more information in order to obtain a solution.
- inference engine 340 operates using a backward-chaining method. This method starts with a goal state (a particular kind of help) and tries to prove it by reaching initial known data.
- step 1001 knowledge base 330 is accessed according to the system state's level.
- step 1002 depending on the system state, a group of rules (goal) is selected from knowledge base 330 and used as an hypothesis.
- step 1003 an attempt is made to prove each rule's conclusion by proving its premise. If, in step 1004 , the premise examined is the conclusion of another rule, it is pushed onto a stack (last-in first-out structure in system memory 103 ) and an attempt is made to prove the other rule's premise in step 1005 .
- step 1006 if a premise is proved, it is asserted into a working fact or data list at step 1007 . Otherwise if the premise fails, a search is made in step 1008 for a rule with the same conclusion, which inference engine 340 will then try to prove.
- step 1009 when all the premises in the rule have been proved, the rule has fired and the conclusion can be asserted at step 1010 .
- step 1011 this process is repeated until there are no more goal states to analyze or until no solution is found. In the latter case, knowledge base 330 is incomplete, therefore, inference engine 340 queries the user for more information or else explains to the user that no help is defined for the particular scenario.
- the inputs to inference engine 340 are data 331 and rules 334 contained in knowledge base 330 . Some of rules 334 control other knowledge bases which can be selected. Inference engine 340 first examines rules 334 to select the proper rule class 801 . Since the groups 802 under the class 801 indicate if they are goal states, engine 340 can also indicate which rules will be used as hypotheses. Final output from inference engine 340 is a help “tag” that indicates a particular help solution. In addition, the engine creates a temporary output of data asserted while proving the rules.
- Display engine 350 is an interface between the output of inference engine 340 and help text 336 giving the user easy access to the most useful help topics.
- Display engine 350 provides general to in-depth help to a user. It processes the inference engine's help tag to provide context-sensitive help.
- the help information itself has tags which are used by display engine 350 to locate further help information. This allows a user to select specific help from a subset of help information.
- the help information data structure used by display engine 350 is defined for each application/accessory and system resource interfaces. Help that is repeated across multiple applications is divided into groups. The help information which is given is individualized for novice, intermediate, and advanced users. A display format is used which allows a user to select a single item of help from a suggested list, allow the user to continue selecting help until he wants to quit, and allow the user to search through the Help Topics for a particular topic.
- help structure in C language
- a help structure in C language
- Help information database 335 is a database containing text 336 and rules 334 fields, i.e., help information text 336 is linked to help information rules 334 .
- a tag 1102 is provided for representing the solution that a rule produces.
- Display engine 350 matches tag 1102 with a solution tag 1101 from inference engine 340 .
- the corresponding text (from text 336 ) is the actual text sent as help information 360 to display device 105 .
- Grp is a rule group.
- Group 0 is always the group in which rules are placed that will give a solution. If these rules cause any other rules to fire, these rules are in another group.
- Rule# is the number of the rule.
- the rules are sorted by rule number, because one may want to try to fire one rule before another.
- PorC# is a premise or conclusion number.
- the records in the table are also sorted by PorC#. The conclusion is number 0 because it is the first thing pulled out of the table when inference engine 340 starts to fire a rule.
- Var# is an identifier for the engine to do faster searching. Each new variable added to the table has a unique identifier.
- the variables are DeskMate components, like a dialog box.
- Var the variable field, is a string representing a variable for which a value is expected such as “running.cmp” (DISABLED FIELD).
- Value is the string field which contains a value. If the value is the current one for the variable, then the premise line succeeds.
- Bind is a binding variable. If a rule has a binding, the variable will bind to the currently known value of the variable. This eliminates repetition of rules that do the same exact thing. Only premises can bind.
- KeyW is a number indicating the negation (NOT) of a premise, or a TEST or CALL. TEST will do number comparisons, and assumes the value string field is a numerical value. CALL is used to execute a pre-defined function. The parameters of the function are placed in the value field. Q# is the number in queue 332 for which a premise line test applies. If the queue number equals 0, it is assumed the premise does not use predefined data.
Abstract
Description
if |
no files | |
running.listbox TEXT |
then |
help running text | ||
This rule attempts to “fire” by proving its premise, “no files.” First, it checks the known
- ihm_HelpQ: the 500 byte queue, there is one in each task data area of the Core Service Routine (CSR).
- ihm_TOP: the physical start of the HelpQ buffer.
- ihm_ENDQ: the physical end of the HelpQ buffer.
- ihm_start_ptr: pointer to the first entry in the queue, (which is last historically).
- ihm_cur_ptr: pointer to the first byte of the last entry in the HelpQ.
- ihm_end ptr: pointer to the last byte of data entered into the HelpQ.
- ihm_save_ptr: the ptr value of the last entry made, saved because an invalid ptr is entered into the HelpQ as a NULL.
- ihm_menu_ptrl: double word pointer to the current menubar. Updated each time mb draw is called.
- dw— offset of previous entry
- dw— type
- dw— return code
- dw— struct ptr— offset
- dw— struct ptr— segment
- db— # subentries
- db— length of name
- db(? )— name of dlg box, msg box, menu, listbox
- db— keyflag— any mouse or key events before entry?
- db(? )— subentry data
- db— keyflag— any mouse or key events during entry?
- dw— length of information copied or 0
-
- menu.selected
- menu.item.selected
- dlg.box.running
- dlg.box.focus
- msg.box.running
- cmp.running
- listbox.item.selected
- checkbox.item.selected
IF a THEN b, ELSE c
b could be an assertion which would add data b into
IF a THEN (RETRACT b).
“Another rule” may be imbedded as follows:
IF a then b, IF (TEST (=bc)) THEN d.
An example of a procedure call would be:
IF a THEN (CALL Help Tutorial(a)).
BEGIN.RULECLASS | ||
<id> | ||
BEGIN.RULEGROUP | ||
<id> | ||
IF | ||
( <variable> IS <value> ) | ||
( <Value> ) | ||
( NOT( <variable> IS <value> )) | ||
( TEST (<variable> EQ <#> )) | ||
THEN | ||
( <value> ) | ||
END.RULEGROUP | ||
END.RULECLASS | ||
/*------------------------------------------------------------------------ | */ | ||
/* Premise is a structure containing a single premise | */ | ||
/* of a rule. It is made up of the string itself, the type | */ | ||
/* of data it is, and the possible values it can hold. | */ | ||
/*------------------------------------------------------------------------ | */ |
struct Premise |
{ |
char *pVar; | |
char *pValueSet; | |
char *pValue; |
}; |
/*------------------------------------------------------------------------ | */ | |
/* Premises is a structure for maintaining a linked | */ | |
/* list of all the premises (strings) in a single rule | */ | |
/*------------------------------------------------------------------------ | */ |
struct Premises |
{ |
struct Premise *pPremise; | |
int Size; | |
struct Premises *pNext; |
}; |
/*------------------------------------------------------------------------ | */ | |
/* RuleClass is a structure of all RuleGroups that can | */ | |
/* associated with one another in searching | */ | |
/*------------------------------------------------------------------------ | */ |
struct RuleClass |
{ |
struct RuleGroup *pRuleGroup; | |
int NumberOfGroups; | |
int ID; | |
struct RuleClass *pNext; |
}; |
/*------------------------------------------------------------------------ | */ | |
/* RuleGroup is a structure containing all rules that | */ | |
/* are considered to be associated in searching | */ | |
/*------------------------------------------------------------------------ | */ |
struct RuleGroup |
{ |
struct Rules *pRules; | |
int NumSubGroups; | |
int Priority; | |
struct RuleGroup *pNext; |
}; |
.N |
/*------------------------------------------------------------------------ | */ | |
/* Rules is a structure containing all the rules within | */ | |
/* a Rule Group. They can be singular or associated | */ | |
/* with one another. | */ | |
/*------------------------------------------------------------------------ | */ |
struct Rules |
{ |
struct LinkedRules *pLinkedRules; | |
char *pConclusion; | |
struct Rules *pNext; |
}; |
/*------------------------------------------------------------------------ | */ | |
/* LinkedRules is a structure for maintaining a linked | */ | |
/* list of rules which all have the same conclusion. A | */ | |
/* rule is made up of premises (structure) a conclusion | */ | |
/* (string) and a why statement (string) explaining | */ | |
/* why a rule succeeded. | */ | |
/*------------------------------------------------------------------------ | */ |
struct LinkedRules |
{ |
struct Premises *pAllPremises; | |
struct LinkedRules *pNext; |
}; |
/*------------------------------------------------------------------------ | */ | |
/* Query is a structure for maintaining a linked list | */ | |
/* of all the queries for information (strings) in the | */ | |
/* knowledge base. | */ | |
/*------------------------------------------------------------------------ | */ |
struct Query |
{ |
char *pFact; | |
char *pAsk; | |
char *pSet; | |
struct Query *pNext; |
}; | ||
struct Help Source { |
int | Subject; | ||
int | Kind; | ||
int | HelpLevel; | ||
char | *pTopicString }; | ||
which can be filled by:
Subject equal to TEXT_SUBSTITUTION |
Kind | equal to AUTO | ||
and pTopicString pointing to “Text Substitution.”
Claims (48)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/375,867 USRE39302E1 (en) | 1990-08-02 | 1999-08-17 | Intelligent help system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/562,046 US5103498A (en) | 1990-08-02 | 1990-08-02 | Intelligent help system |
US09/375,867 USRE39302E1 (en) | 1990-08-02 | 1999-08-17 | Intelligent help system |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US07/562,046 Reissue US5103498A (en) | 1990-08-02 | 1990-08-02 | Intelligent help system |
Publications (1)
Publication Number | Publication Date |
---|---|
USRE39302E1 true USRE39302E1 (en) | 2006-09-19 |
Family
ID=24244558
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US07/562,046 Ceased US5103498A (en) | 1990-08-02 | 1990-08-02 | Intelligent help system |
US09/375,867 Expired - Lifetime USRE39302E1 (en) | 1990-08-02 | 1999-08-17 | Intelligent help system |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US07/562,046 Ceased US5103498A (en) | 1990-08-02 | 1990-08-02 | Intelligent help system |
Country Status (7)
Country | Link |
---|---|
US (2) | US5103498A (en) |
EP (1) | EP0541712B1 (en) |
AU (1) | AU8401991A (en) |
DE (1) | DE69130766T2 (en) |
HK (1) | HK1012102A1 (en) |
SG (1) | SG48223A1 (en) |
WO (1) | WO1992002880A1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070124266A1 (en) * | 2005-11-30 | 2007-05-31 | The Boeing Company | Integrating multiple information-providing systems |
US8521675B2 (en) | 2010-01-28 | 2013-08-27 | International Business Machines Corporation | Integrated automatic user support and assistance |
US8560305B1 (en) * | 2012-05-16 | 2013-10-15 | Hristo Georgiev | Logifolg |
Families Citing this family (241)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5222197A (en) * | 1990-06-28 | 1993-06-22 | Digital Equipment Corporation | Rule invocation mechanism for inductive learning engine |
US5651100A (en) * | 1990-06-28 | 1997-07-22 | Omron Corporation | Approximate reasoning apparatus |
US5430836A (en) * | 1991-03-01 | 1995-07-04 | Ast Research, Inc. | Application control module for common user access interface |
US5586218A (en) * | 1991-03-04 | 1996-12-17 | Inference Corporation | Autonomous learning and reasoning agent |
WO1992015951A1 (en) * | 1991-03-04 | 1992-09-17 | Inference Corporation | Case-based reasoning system |
EP0576574B1 (en) * | 1991-03-18 | 2001-10-31 | Echelon Corporation | Programming language structures for use in a network for communicating, sensing and controlling information |
JPH0520044A (en) * | 1991-07-15 | 1993-01-29 | Personal Joho Kankyo Kyokai | User interface device |
US6162060A (en) * | 1991-08-09 | 2000-12-19 | Texas Instruments Incorporated | System and method for the delivery, authoring, and management of courseware over a computer network |
US5455949A (en) * | 1991-09-06 | 1995-10-03 | International Business Machines Corporation | Method for representing and signaling run-time program conditions |
JPH0831041B2 (en) * | 1991-09-06 | 1996-03-27 | インターナショナル・ビジネス・マシーンズ・コーポレイション | Program condition processing method and computer system |
US5627764A (en) * | 1991-10-04 | 1997-05-06 | Banyan Systems, Inc. | Automatic electronic messaging system with feedback and work flow administration |
US5283856A (en) * | 1991-10-04 | 1994-02-01 | Beyond, Inc. | Event-driven rule-based messaging system |
US5555346A (en) * | 1991-10-04 | 1996-09-10 | Beyond Corporated | Event-driven rule-based messaging system |
USRE48056E1 (en) | 1991-12-23 | 2020-06-16 | Blanding Hovenweep, Llc | Ergonomic man-machine interface incorporating adaptive pattern recognition based control system |
USRE46310E1 (en) | 1991-12-23 | 2017-02-14 | Blanding Hovenweep, Llc | Ergonomic man-machine interface incorporating adaptive pattern recognition based control system |
US6081750A (en) * | 1991-12-23 | 2000-06-27 | Hoffberg; Steven Mark | Ergonomic man-machine interface incorporating adaptive pattern recognition based control system |
US6850252B1 (en) | 1999-10-05 | 2005-02-01 | Steven M. Hoffberg | Intelligent electronic appliance system and method |
US6400996B1 (en) | 1999-02-01 | 2002-06-04 | Steven M. Hoffberg | Adaptive pattern recognition based control system and method |
US5903454A (en) * | 1991-12-23 | 1999-05-11 | Hoffberg; Linda Irene | Human-factored interface corporating adaptive pattern recognition based controller apparatus |
USRE47908E1 (en) | 1991-12-23 | 2020-03-17 | Blanding Hovenweep, Llc | Ergonomic man-machine interface incorporating adaptive pattern recognition based control system |
US10361802B1 (en) | 1999-02-01 | 2019-07-23 | Blanding Hovenweep, Llc | Adaptive pattern recognition based control system and method |
US8352400B2 (en) | 1991-12-23 | 2013-01-08 | Hoffberg Steven M | Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore |
US6418424B1 (en) | 1991-12-23 | 2002-07-09 | Steven M. Hoffberg | Ergonomic man-machine interface incorporating adaptive pattern recognition based control system |
US6343991B1 (en) * | 1997-10-01 | 2002-02-05 | Brad A. Armstrong | Game control with analog pressure sensor |
US5317677A (en) * | 1992-04-16 | 1994-05-31 | Hughes Aircraft Company | Matching technique for context sensitive rule application |
JP2939050B2 (en) * | 1992-05-26 | 1999-08-25 | シャープ株式会社 | Data communication device |
US5390281A (en) * | 1992-05-27 | 1995-02-14 | Apple Computer, Inc. | Method and apparatus for deducing user intent and providing computer implemented services |
US5434777A (en) * | 1992-05-27 | 1995-07-18 | Apple Computer, Inc. | Method and apparatus for processing natural language |
US5477447A (en) * | 1992-05-27 | 1995-12-19 | Apple Computer, Incorporated | Method and apparatus for providing computer-implemented assistance |
DE4228281A1 (en) * | 1992-08-26 | 1994-03-03 | Koenig & Bauer Ag | Process for displaying machine malfunctions |
US5432940A (en) * | 1992-11-02 | 1995-07-11 | Borland International, Inc. | System and methods for improved computer-based training |
US5598511A (en) * | 1992-12-28 | 1997-01-28 | Intel Corporation | Method and apparatus for interpreting data and accessing on-line documentation in a computer system |
US6633861B2 (en) | 1993-03-19 | 2003-10-14 | Ricoh Company Limited | Automatic invocation of computational resources without user intervention across a network |
US6049792A (en) * | 1993-03-19 | 2000-04-11 | Ricoh Company Limited | Automatic invocation of computational resources without user intervention across a network |
US5546502A (en) * | 1993-03-19 | 1996-08-13 | Ricoh Company, Ltd. | Automatic invocation of computational resources without user intervention |
US5701399A (en) * | 1993-06-09 | 1997-12-23 | Inference Corporation | Integration of case-based search engine into help database |
JPH0772767A (en) * | 1993-06-15 | 1995-03-17 | Xerox Corp | Interactive user support system |
US5537590A (en) * | 1993-08-05 | 1996-07-16 | Amado; Armando | Apparatus for applying analysis rules to data sets in a relational database to generate a database of diagnostic records linked to the data sets |
US5504887A (en) * | 1993-09-10 | 1996-04-02 | International Business Machines Corporation | Storage clustering and packing of objects on the basis of query workload ranking |
US5521844A (en) * | 1993-09-10 | 1996-05-28 | Beloit Corporation | Printing press monitoring and advising system |
US5982365A (en) * | 1993-11-19 | 1999-11-09 | Apple Computer, Inc. | System and methods for interactively generating and testing help systems |
US5572670A (en) * | 1994-01-10 | 1996-11-05 | Storage Technology Corporation | Bi-directional translator for diagnostic sensor data |
US5819090A (en) * | 1994-03-04 | 1998-10-06 | Ast Research, Inc. | Application control module for common user access interface |
US5799292A (en) * | 1994-04-29 | 1998-08-25 | International Business Machines Corporation | Adaptive hypermedia presentation method and system |
WO1995034051A1 (en) * | 1994-06-06 | 1995-12-14 | Spectragraphics Corporation | Method and apparatus for capturing and distributing graphical data |
US5563805A (en) * | 1994-08-16 | 1996-10-08 | International Business Machines Corporation | Multimedia context-sensitive real-time-help mechanism for use in a data processing system |
US6578019B1 (en) | 1994-11-08 | 2003-06-10 | Canon Kabushiki Kaisha | Information processing system which understands information and acts accordingly and method therefor |
JP3898238B2 (en) * | 1994-12-02 | 2007-03-28 | 株式会社バンダイナムコゲームス | Video game apparatus and image composition method thereof |
US5701400A (en) * | 1995-03-08 | 1997-12-23 | Amado; Carlos Armando | Method and apparatus for applying if-then-else rules to data sets in a relational data base and generating from the results of application of said rules a database of diagnostics linked to said data sets to aid executive analysis of financial data |
US6182056B1 (en) | 1995-05-22 | 2001-01-30 | Gte Data Services Incorporated | Method of modeling complex navigational logic in a client/server environment |
US5870727A (en) * | 1995-05-22 | 1999-02-09 | Gte Data Services Incorporated | Rule-based system for the provision of complex navigational logic |
US6067525A (en) | 1995-10-30 | 2000-05-23 | Clear With Computers | Integrated computerized sales force automation system |
JP3195226B2 (en) * | 1996-03-14 | 2001-08-06 | 株式会社東芝 | Business support system |
US6688888B1 (en) * | 1996-03-19 | 2004-02-10 | Chi Fai Ho | Computer-aided learning system and method |
US5727129A (en) * | 1996-06-04 | 1998-03-10 | International Business Machines Corporation | Network system for profiling and actively facilitating user activities |
US8229844B2 (en) | 1996-06-05 | 2012-07-24 | Fraud Control Systems.Com Corporation | Method of billing a purchase made over a computer network |
US20030195846A1 (en) | 1996-06-05 | 2003-10-16 | David Felger | Method of billing a purchase made over a computer network |
US7555458B1 (en) | 1996-06-05 | 2009-06-30 | Fraud Control System.Com Corporation | Method of billing a purchase made over a computer network |
JP3698491B2 (en) * | 1996-07-02 | 2005-09-21 | 株式会社ドラゴン | TV type baccarat game device |
US6021403A (en) | 1996-07-19 | 2000-02-01 | Microsoft Corporation | Intelligent user assistance facility |
US5778233A (en) * | 1996-10-11 | 1998-07-07 | International Business Machines Corporation | Method and apparatus for enabling global compiler optimizations in the presence of exception handlers within a computer program |
US8745493B2 (en) * | 1996-10-25 | 2014-06-03 | Karen A. McKirchy | Method and apparatus for providing instructional help, at multiple levels of sophistication, in a learning application |
US7607147B1 (en) * | 1996-12-11 | 2009-10-20 | The Nielsen Company (Us), Llc | Interactive service device metering systems |
GB2324892B (en) * | 1997-03-14 | 1999-12-01 | Interactuality Limited | Process monitoring system |
US6038560A (en) * | 1997-05-21 | 2000-03-14 | Oracle Corporation | Concept knowledge base search and retrieval system |
US6003020A (en) * | 1997-10-30 | 1999-12-14 | Sapient Health Network | Intelligent profiling system |
US6062862A (en) * | 1997-11-12 | 2000-05-16 | Koskinen; Robin S. | Financial services product training apparatus and method related thereto |
US6527556B1 (en) | 1997-11-12 | 2003-03-04 | Intellishare, Llc | Method and system for creating an integrated learning environment with a pattern-generator and course-outlining tool for content authoring, an interactive learning tool, and related administrative tools |
US6002400A (en) * | 1997-11-19 | 1999-12-14 | International Business Machines Corporation | Method and apparatus for handles to components in graphical windows user interface |
JPH11242547A (en) * | 1998-02-26 | 1999-09-07 | Nec Corp | Computer user support system |
US6795814B1 (en) * | 1998-06-04 | 2004-09-21 | Gateway, Inc. | System and method for CMOS integration |
US9792659B2 (en) * | 1999-04-13 | 2017-10-17 | Iplearn, Llc | Computer-aided methods and apparatus to access materials in a network environment |
IL125684A0 (en) * | 1998-08-06 | 1999-04-11 | Univ Ben Gurion | Method for computer operation by an intelligent user adaptive interface |
US6134019A (en) * | 1998-09-03 | 2000-10-17 | Xerox Corporation | Help button service for a user interface in a digital printing scanning or facsimile system |
US6219047B1 (en) | 1998-09-17 | 2001-04-17 | John Bell | Training agent |
US6381711B1 (en) | 1998-10-20 | 2002-04-30 | International Business Machines Corporation | Method and apparatus for unified, pre-addressed, context-sensitive reporting |
US6341359B1 (en) | 1998-12-14 | 2002-01-22 | International Business Machines Corporation | Self-diagnosing and self correcting data entry components |
US6964010B1 (en) | 1998-12-14 | 2005-11-08 | International Business Machines Corporation | Formatted-item list control |
US7966078B2 (en) | 1999-02-01 | 2011-06-21 | Steven Hoffberg | Network media appliance system and method |
JP2000262747A (en) * | 1999-03-18 | 2000-09-26 | Sega Enterp Ltd | Image processing device, electronic game device and storage medium for tv game machine |
US6269355B1 (en) * | 1999-04-15 | 2001-07-31 | Kadiri, Inc. | Automated process guidance system and method using knowledge management system |
US6573906B1 (en) | 1999-04-26 | 2003-06-03 | International Business Machines Corporation | Method and system for delivering integrated user assistance information and traditional help from the same source |
US6340977B1 (en) | 1999-05-07 | 2002-01-22 | Philip Lui | System and method for dynamic assistance in software applications using behavior and host application models |
US6421655B1 (en) * | 1999-06-04 | 2002-07-16 | Microsoft Corporation | Computer-based representations and reasoning methods for engaging users in goal-oriented conversations |
US7337159B2 (en) * | 1999-09-30 | 2008-02-26 | Topiary Communications, Inc. | System and method for sharing of expert knowledge |
US6985889B1 (en) | 1999-09-30 | 2006-01-10 | Topiary Communications, Inc. | System and method for sharing of expert knowledge |
GB2359215B (en) * | 2000-02-08 | 2004-02-25 | Helpmagic Com Ltd | Information service |
WO2001069573A1 (en) * | 2000-03-16 | 2001-09-20 | University Of Southern California | Adaptable smart techniques for user interaction |
US8645137B2 (en) | 2000-03-16 | 2014-02-04 | Apple Inc. | Fast, language-independent method for user authentication by voice |
WO2002029759A2 (en) * | 2000-10-06 | 2002-04-11 | Charles Wong | Virtual training sales and support |
US20020095597A1 (en) * | 2001-01-13 | 2002-07-18 | Norden Gregory L. | Reusable solutions for aircraft servicing |
GB2375030B (en) * | 2001-04-27 | 2005-05-11 | Ibm | Changing user interface following difficulty in use |
EP1255189B1 (en) * | 2001-05-04 | 2008-10-08 | Microsoft Corporation | Interface control |
WO2003007166A2 (en) * | 2001-07-13 | 2003-01-23 | Cadessa, L.L.C. | System and method for providing help services |
US7194685B2 (en) * | 2001-08-13 | 2007-03-20 | International Business Machines Corporation | Method and apparatus for tracking usage of online help systems |
US20030059009A1 (en) * | 2001-09-24 | 2003-03-27 | Teleware, Inc. | Modular multi-media communication management system with context dependent multi-media help functionality |
US6871163B2 (en) * | 2002-05-31 | 2005-03-22 | Sap Aktiengesellschaft | Behavior-based adaptation of computer systems |
US7239981B2 (en) | 2002-07-26 | 2007-07-03 | Arbitron Inc. | Systems and methods for gathering audience measurement data |
US20040145601A1 (en) * | 2003-01-29 | 2004-07-29 | International Business Machines Corporation | Method and a device for providing additional functionality to a separate application |
US7694223B2 (en) | 2003-06-04 | 2010-04-06 | Sony Computer Entertainment Inc. | Methods and systems for recording user actions in computer programs |
US20050081153A1 (en) * | 2003-08-12 | 2005-04-14 | Gbs Global Business Software And Services Limited | Method for providing process-dependent data |
KR20070007290A (en) * | 2004-03-01 | 2007-01-15 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | Tutorial generation unit |
US20060041499A1 (en) * | 2004-08-23 | 2006-02-23 | Transaxtions Llc | Obtaining A Need With Guiding Information And Credit Worthiness Using A Competitive Process |
US7543232B2 (en) * | 2004-10-19 | 2009-06-02 | International Business Machines Corporation | Intelligent web based help system |
US20060095315A1 (en) * | 2004-10-29 | 2006-05-04 | Sbc Knowledge Ventures L.P. | Method and apparatus for a mechanized attendance management system |
US8296162B1 (en) | 2005-02-01 | 2012-10-23 | Webmd Llc. | Systems, devices, and methods for providing healthcare information |
US20060212463A1 (en) * | 2005-03-15 | 2006-09-21 | Jensen Jens O | Method and apparatus for extracting metadata information from an application |
US9183752B2 (en) * | 2005-07-14 | 2015-11-10 | Red Hat, Inc. | Tutorial generator with automatic capture of screenshots |
JP2009505203A (en) * | 2005-08-11 | 2009-02-05 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | How to introduce interaction patterns and application functions |
US8677377B2 (en) | 2005-09-08 | 2014-03-18 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
US7533339B2 (en) * | 2005-12-29 | 2009-05-12 | Sap Ag | System and method for providing user help |
US7526722B2 (en) * | 2005-12-29 | 2009-04-28 | Sap Ag | System and method for providing user help according to user category |
US7979798B2 (en) * | 2005-12-30 | 2011-07-12 | Sap Ag | System and method for providing user help tips |
US8166412B2 (en) * | 2006-01-13 | 2012-04-24 | Adobe Systems Incorporated | Visual cue discernment on scattered data |
US8099664B2 (en) * | 2006-03-17 | 2012-01-17 | Microsoft Corporation | Dynamic help user interface control with secured customization |
US9299039B1 (en) * | 2006-08-23 | 2016-03-29 | A9.Com, Inc. | Managing task lists utilizing integrated information requests |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US7711462B2 (en) * | 2006-12-15 | 2010-05-04 | International Business Machines Corporation | Vehicle help system and method |
US8380530B2 (en) | 2007-02-02 | 2013-02-19 | Webmd Llc. | Personalized health records with associative relationships |
US8738606B2 (en) * | 2007-03-30 | 2014-05-27 | Microsoft Corporation | Query generation using environment configuration |
US8977255B2 (en) | 2007-04-03 | 2015-03-10 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
US9135340B2 (en) * | 2007-09-12 | 2015-09-15 | Datalaw, Inc. | Research system and method with record builder |
US9330720B2 (en) | 2008-01-03 | 2016-05-03 | Apple Inc. | Methods and apparatus for altering audio output signals |
US8996376B2 (en) | 2008-04-05 | 2015-03-31 | Apple Inc. | Intelligent text-to-speech conversion |
US10496753B2 (en) | 2010-01-18 | 2019-12-03 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
US20100030549A1 (en) | 2008-07-31 | 2010-02-04 | Lee Michael M | Mobile device having human language translation capability with positional feedback |
US8504599B1 (en) | 2008-10-07 | 2013-08-06 | Honda Motor Co., Ltd. | Intelligent system for database retrieval |
US9124769B2 (en) | 2008-10-31 | 2015-09-01 | The Nielsen Company (Us), Llc | Methods and apparatus to verify presentation of media content |
US9959870B2 (en) | 2008-12-11 | 2018-05-01 | Apple Inc. | Speech recognition involving a mobile device |
US10255566B2 (en) | 2011-06-03 | 2019-04-09 | Apple Inc. | Generating and processing task items that represent tasks to perform |
US10241752B2 (en) | 2011-09-30 | 2019-03-26 | Apple Inc. | Interface for a virtual digital assistant |
US10241644B2 (en) | 2011-06-03 | 2019-03-26 | Apple Inc. | Actionable reminder entries |
US9858925B2 (en) | 2009-06-05 | 2018-01-02 | Apple Inc. | Using context information to facilitate processing of commands in a virtual assistant |
US9431006B2 (en) | 2009-07-02 | 2016-08-30 | Apple Inc. | Methods and apparatuses for automatic speech recognition |
US8635584B2 (en) * | 2009-10-13 | 2014-01-21 | Yahoo! Inc. | Tutorial systems for code creation and provenance tracking |
US10553209B2 (en) | 2010-01-18 | 2020-02-04 | Apple Inc. | Systems and methods for hands-free notification summaries |
US10679605B2 (en) | 2010-01-18 | 2020-06-09 | Apple Inc. | Hands-free list-reading by intelligent automated assistant |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
US10705794B2 (en) | 2010-01-18 | 2020-07-07 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
US8682667B2 (en) | 2010-02-25 | 2014-03-25 | Apple Inc. | User profiling for selecting user specific voice input processing information |
US8396815B2 (en) * | 2010-04-29 | 2013-03-12 | International Business Machines Corporation | Adaptive business process automation |
CN102238268B (en) * | 2010-04-30 | 2013-10-30 | 腾讯科技(深圳)有限公司 | Information prompting method and device |
US10762293B2 (en) | 2010-12-22 | 2020-09-01 | Apple Inc. | Using parts-of-speech tagging and named entity recognition for spelling correction |
US9262612B2 (en) | 2011-03-21 | 2016-02-16 | Apple Inc. | Device access using voice authentication |
US10057736B2 (en) | 2011-06-03 | 2018-08-21 | Apple Inc. | Active transport based notifications |
US8994660B2 (en) | 2011-08-29 | 2015-03-31 | Apple Inc. | Text correction processing |
US10134385B2 (en) | 2012-03-02 | 2018-11-20 | Apple Inc. | Systems and methods for name pronunciation |
US9483461B2 (en) | 2012-03-06 | 2016-11-01 | Apple Inc. | Handling speech synthesis of content for multiple languages |
US9280610B2 (en) | 2012-05-14 | 2016-03-08 | Apple Inc. | Crowd sourcing information to fulfill user requests |
US9721563B2 (en) | 2012-06-08 | 2017-08-01 | Apple Inc. | Name recognition system |
US9495129B2 (en) | 2012-06-29 | 2016-11-15 | Apple Inc. | Device, method, and user interface for voice-activated navigation and browsing of a document |
US9576574B2 (en) | 2012-09-10 | 2017-02-21 | Apple Inc. | Context-sensitive handling of interruptions by intelligent digital assistant |
US9547647B2 (en) | 2012-09-19 | 2017-01-17 | Apple Inc. | Voice-based media searching |
US20140115459A1 (en) * | 2012-10-24 | 2014-04-24 | Michael Norwood | Help system |
KR20230137475A (en) | 2013-02-07 | 2023-10-04 | 애플 인크. | Voice trigger for a digital assistant |
US9864498B2 (en) | 2013-03-13 | 2018-01-09 | Tobii Ab | Automatic scrolling based on gaze detection |
US20140247232A1 (en) | 2013-03-01 | 2014-09-04 | Tobii Technology Ab | Two step gaze interaction |
US9368114B2 (en) | 2013-03-14 | 2016-06-14 | Apple Inc. | Context-sensitive handling of interruptions |
WO2014144579A1 (en) | 2013-03-15 | 2014-09-18 | Apple Inc. | System and method for updating an adaptive speech recognition model |
US9443231B2 (en) | 2013-03-15 | 2016-09-13 | Legacy Media, Llc | Provision of predefined communications |
AU2014233517B2 (en) | 2013-03-15 | 2017-05-25 | Apple Inc. | Training an at least partial voice command system |
WO2014197334A2 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for user-specified pronunciation of words for speech synthesis and recognition |
WO2014197336A1 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for detecting errors in interactions with a voice-based digital assistant |
US9582608B2 (en) | 2013-06-07 | 2017-02-28 | Apple Inc. | Unified ranking with entropy-weighted information for phrase-based semantic auto-completion |
WO2014197335A1 (en) | 2013-06-08 | 2014-12-11 | Apple Inc. | Interpreting and acting upon commands that involve sharing information with remote devices |
EP3937002A1 (en) | 2013-06-09 | 2022-01-12 | Apple Inc. | Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant |
US10176167B2 (en) | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
AU2014278595B2 (en) | 2013-06-13 | 2017-04-06 | Apple Inc. | System and method for emergency calls initiated by voice command |
DE112014003653B4 (en) | 2013-08-06 | 2024-04-18 | Apple Inc. | Automatically activate intelligent responses based on activities from remote devices |
GB2518203A (en) | 2013-09-13 | 2015-03-18 | Ibm | GUI configuration |
US10558262B2 (en) | 2013-11-18 | 2020-02-11 | Tobii Ab | Component determination and gaze provoked interaction |
US10317995B2 (en) | 2013-11-18 | 2019-06-11 | Tobii Ab | Component determination and gaze provoked interaction |
US9620105B2 (en) | 2014-05-15 | 2017-04-11 | Apple Inc. | Analyzing audio input for efficient speech and music recognition |
US10592095B2 (en) | 2014-05-23 | 2020-03-17 | Apple Inc. | Instantaneous speaking of content on touch devices |
US9502031B2 (en) | 2014-05-27 | 2016-11-22 | Apple Inc. | Method for supporting dynamic grammars in WFST-based ASR |
US9785630B2 (en) | 2014-05-30 | 2017-10-10 | Apple Inc. | Text prediction using combined word N-gram and unigram language models |
AU2015266863B2 (en) | 2014-05-30 | 2018-03-15 | Apple Inc. | Multi-command single utterance input method |
US10289433B2 (en) | 2014-05-30 | 2019-05-14 | Apple Inc. | Domain specific language for encoding assistant dialog |
US9430463B2 (en) | 2014-05-30 | 2016-08-30 | Apple Inc. | Exemplar-based natural language processing |
US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US9842101B2 (en) | 2014-05-30 | 2017-12-12 | Apple Inc. | Predictive conversion of language input |
US9734193B2 (en) | 2014-05-30 | 2017-08-15 | Apple Inc. | Determining domain salience ranking from ambiguous words in natural speech |
US10078631B2 (en) | 2014-05-30 | 2018-09-18 | Apple Inc. | Entropy-guided text prediction using combined word and character n-gram language models |
US9633004B2 (en) | 2014-05-30 | 2017-04-25 | Apple Inc. | Better resolution when referencing to concepts |
US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
US9760559B2 (en) | 2014-05-30 | 2017-09-12 | Apple Inc. | Predictive text input |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US10659851B2 (en) | 2014-06-30 | 2020-05-19 | Apple Inc. | Real-time digital assistant knowledge updates |
US10446141B2 (en) | 2014-08-28 | 2019-10-15 | Apple Inc. | Automatic speech recognition based on user feedback |
US9818400B2 (en) | 2014-09-11 | 2017-11-14 | Apple Inc. | Method and apparatus for discovering trending terms in speech requests |
US10789041B2 (en) | 2014-09-12 | 2020-09-29 | Apple Inc. | Dynamic thresholds for always listening speech trigger |
US9606986B2 (en) | 2014-09-29 | 2017-03-28 | Apple Inc. | Integrated word N-gram and class M-gram language models |
US9646609B2 (en) | 2014-09-30 | 2017-05-09 | Apple Inc. | Caching apparatus for serving phonetic pronunciations |
US9886432B2 (en) | 2014-09-30 | 2018-02-06 | Apple Inc. | Parsimonious handling of word inflection via categorical stem + suffix N-gram language models |
US10074360B2 (en) | 2014-09-30 | 2018-09-11 | Apple Inc. | Providing an indication of the suitability of speech recognition |
US10127911B2 (en) | 2014-09-30 | 2018-11-13 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
US9668121B2 (en) | 2014-09-30 | 2017-05-30 | Apple Inc. | Social reminders |
US10552013B2 (en) | 2014-12-02 | 2020-02-04 | Apple Inc. | Data detection |
US9711141B2 (en) | 2014-12-09 | 2017-07-18 | Apple Inc. | Disambiguating heteronyms in speech synthesis |
US11568177B2 (en) * | 2015-01-19 | 2023-01-31 | Kabushiki Kaisha Toshiba | Sequential data analysis apparatus and program |
US9865280B2 (en) | 2015-03-06 | 2018-01-09 | Apple Inc. | Structured dictation using intelligent automated assistants |
US10567477B2 (en) | 2015-03-08 | 2020-02-18 | Apple Inc. | Virtual assistant continuity |
US9721566B2 (en) | 2015-03-08 | 2017-08-01 | Apple Inc. | Competing devices responding to voice triggers |
US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
US9899019B2 (en) | 2015-03-18 | 2018-02-20 | Apple Inc. | Systems and methods for structured stem and suffix language models |
US9842105B2 (en) | 2015-04-16 | 2017-12-12 | Apple Inc. | Parsimonious continuous-space phrase representations for natural language processing |
JP6438346B2 (en) * | 2015-05-12 | 2018-12-12 | 日本電信電話株式会社 | Operation support device, operation support program, and operation support method |
US10083688B2 (en) | 2015-05-27 | 2018-09-25 | Apple Inc. | Device voice control for selecting a displayed affordance |
US10127220B2 (en) | 2015-06-04 | 2018-11-13 | Apple Inc. | Language identification from short strings |
US10101822B2 (en) | 2015-06-05 | 2018-10-16 | Apple Inc. | Language input correction |
US11025565B2 (en) | 2015-06-07 | 2021-06-01 | Apple Inc. | Personalized prediction of responses for instant messaging |
US10255907B2 (en) | 2015-06-07 | 2019-04-09 | Apple Inc. | Automatic accent detection using acoustic models |
US10186254B2 (en) | 2015-06-07 | 2019-01-22 | Apple Inc. | Context-based endpoint detection |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
US9697820B2 (en) | 2015-09-24 | 2017-07-04 | Apple Inc. | Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks |
US11010550B2 (en) | 2015-09-29 | 2021-05-18 | Apple Inc. | Unified language modeling framework for word prediction, auto-completion and auto-correction |
US10366158B2 (en) | 2015-09-29 | 2019-07-30 | Apple Inc. | Efficient word encoding for recurrent neural network language models |
US11587559B2 (en) | 2015-09-30 | 2023-02-21 | Apple Inc. | Intelligent device identification |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US10049668B2 (en) | 2015-12-02 | 2018-08-14 | Apple Inc. | Applying neural network language models to weighted finite state transducers for automatic speech recognition |
US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
US10446143B2 (en) | 2016-03-14 | 2019-10-15 | Apple Inc. | Identification of voice inputs providing credentials |
US9934775B2 (en) | 2016-05-26 | 2018-04-03 | Apple Inc. | Unit-selection text-to-speech synthesis based on predicted concatenation parameters |
US9972304B2 (en) | 2016-06-03 | 2018-05-15 | Apple Inc. | Privacy preserving distributed evaluation framework for embedded personalized systems |
US10249300B2 (en) | 2016-06-06 | 2019-04-02 | Apple Inc. | Intelligent list reading |
US10049663B2 (en) | 2016-06-08 | 2018-08-14 | Apple, Inc. | Intelligent automated assistant for media exploration |
DK179588B1 (en) | 2016-06-09 | 2019-02-22 | Apple Inc. | Intelligent automated assistant in a home environment |
US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
US10509862B2 (en) | 2016-06-10 | 2019-12-17 | Apple Inc. | Dynamic phrase expansion of language input |
US10067938B2 (en) | 2016-06-10 | 2018-09-04 | Apple Inc. | Multilingual word prediction |
US10490187B2 (en) | 2016-06-10 | 2019-11-26 | Apple Inc. | Digital assistant providing automated status report |
US10192552B2 (en) | 2016-06-10 | 2019-01-29 | Apple Inc. | Digital assistant providing whispered speech |
DK179049B1 (en) | 2016-06-11 | 2017-09-18 | Apple Inc | Data driven natural language event detection and classification |
DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
DK179343B1 (en) | 2016-06-11 | 2018-05-14 | Apple Inc | Intelligent task discovery |
DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
US10579400B2 (en) * | 2016-11-11 | 2020-03-03 | International Business Machines Corporation | Path-sensitive contextual help system |
US10593346B2 (en) | 2016-12-22 | 2020-03-17 | Apple Inc. | Rank-reduced token representation for automatic speech recognition |
DK179745B1 (en) | 2017-05-12 | 2019-05-01 | Apple Inc. | SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT |
DK201770431A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | Optimizing dialogue policy decisions for digital assistants using implicit feedback |
Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4156284A (en) * | 1977-11-21 | 1979-05-22 | General Electric Company | Signal processing apparatus |
US4648044A (en) | 1984-06-06 | 1987-03-03 | Teknowledge, Inc. | Basic expert system tool |
US4658370A (en) | 1984-06-07 | 1987-04-14 | Teknowledge, Inc. | Knowledge engineering tool |
JPS6398741A (en) | 1986-10-15 | 1988-04-30 | Fujitsu Ltd | Sequential execution control system for plural expert systems |
JPS63124148A (en) | 1986-11-13 | 1988-05-27 | Nec Corp | System for managing knowledge base file |
US4860214A (en) | 1987-01-22 | 1989-08-22 | Ricoh Company, Ltd. | Inference system |
US4873661A (en) * | 1987-08-27 | 1989-10-10 | Yannis Tsividis | Switched neural networks |
US4885757A (en) * | 1987-06-01 | 1989-12-05 | Texas Instruments Incorporated | Digital adaptive receiver employing maximum-likelihood sequence estimation with neural networks |
US4903226A (en) * | 1987-08-27 | 1990-02-20 | Yannis Tsividis | Switched networks |
US4931926A (en) * | 1985-10-07 | 1990-06-05 | Sharp Kabushiki Kaisha | Inputting system and an editing system in an inquiry-and-answer system |
US4942367A (en) * | 1989-09-29 | 1990-07-17 | General Electric Company | Auto-zeroing switched-capacitance buffer amplifiers with minus-unity voltage gain |
US4962342A (en) * | 1989-05-04 | 1990-10-09 | Synaptics, Inc. | Dynamic synapse for neural network |
US4964077A (en) | 1987-10-06 | 1990-10-16 | International Business Machines Corporation | Method for automatically adjusting help information displayed in an online interactive system |
US4988891A (en) * | 1989-05-09 | 1991-01-29 | Mitsubishi Denki Kabushiki Kaisha | Semiconductor neural network including photosensitive coupling elements |
US5008810A (en) * | 1988-09-29 | 1991-04-16 | Process Modeling Investment Corp. | System for displaying different subsets of screen views, entering different amount of information, and determining correctness of input dependent upon current user input |
US5021988A (en) * | 1989-04-27 | 1991-06-04 | Mitsubishi Denki Kabushiki Kaisha | Semiconductor neural network and method of driving the same |
US5023833A (en) * | 1987-12-08 | 1991-06-11 | California Institute Of Technology | Feed forward neural network for unary associative memory |
US5039870A (en) * | 1990-05-21 | 1991-08-13 | General Electric Company | Weighted summation circuits having different-weight ranks of capacitive structures |
US5167010A (en) | 1989-08-03 | 1992-11-24 | Westinghouse Electric Corp. | Expert advice display processing system |
US5239617A (en) | 1990-01-05 | 1993-08-24 | International Business Machines Corporation | Method and apparatus providing an intelligent help explanation paradigm paralleling computer user activity |
US5485544A (en) | 1989-02-17 | 1996-01-16 | Hitachi, Ltd. | History sensitive help control method and system |
-
1990
- 1990-08-02 US US07/562,046 patent/US5103498A/en not_active Ceased
-
1991
- 1991-07-17 EP EP91915742A patent/EP0541712B1/en not_active Expired - Lifetime
- 1991-07-17 AU AU84019/91A patent/AU8401991A/en not_active Abandoned
- 1991-07-17 DE DE69130766T patent/DE69130766T2/en not_active Expired - Lifetime
- 1991-07-17 WO PCT/US1991/005062 patent/WO1992002880A1/en active IP Right Grant
- 1991-07-17 SG SG1996008071A patent/SG48223A1/en unknown
-
1998
- 1998-12-14 HK HK98113277A patent/HK1012102A1/en not_active IP Right Cessation
-
1999
- 1999-08-17 US US09/375,867 patent/USRE39302E1/en not_active Expired - Lifetime
Patent Citations (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4156284A (en) * | 1977-11-21 | 1979-05-22 | General Electric Company | Signal processing apparatus |
US4648044A (en) | 1984-06-06 | 1987-03-03 | Teknowledge, Inc. | Basic expert system tool |
US4658370A (en) | 1984-06-07 | 1987-04-14 | Teknowledge, Inc. | Knowledge engineering tool |
US4931926A (en) * | 1985-10-07 | 1990-06-05 | Sharp Kabushiki Kaisha | Inputting system and an editing system in an inquiry-and-answer system |
JPS6398741A (en) | 1986-10-15 | 1988-04-30 | Fujitsu Ltd | Sequential execution control system for plural expert systems |
JPS63124148A (en) | 1986-11-13 | 1988-05-27 | Nec Corp | System for managing knowledge base file |
US4860214A (en) | 1987-01-22 | 1989-08-22 | Ricoh Company, Ltd. | Inference system |
US4885757A (en) * | 1987-06-01 | 1989-12-05 | Texas Instruments Incorporated | Digital adaptive receiver employing maximum-likelihood sequence estimation with neural networks |
US4873661A (en) * | 1987-08-27 | 1989-10-10 | Yannis Tsividis | Switched neural networks |
US4903226A (en) * | 1987-08-27 | 1990-02-20 | Yannis Tsividis | Switched networks |
US4964077A (en) | 1987-10-06 | 1990-10-16 | International Business Machines Corporation | Method for automatically adjusting help information displayed in an online interactive system |
US5023833A (en) * | 1987-12-08 | 1991-06-11 | California Institute Of Technology | Feed forward neural network for unary associative memory |
US5008810A (en) * | 1988-09-29 | 1991-04-16 | Process Modeling Investment Corp. | System for displaying different subsets of screen views, entering different amount of information, and determining correctness of input dependent upon current user input |
US5485544A (en) | 1989-02-17 | 1996-01-16 | Hitachi, Ltd. | History sensitive help control method and system |
US5021988A (en) * | 1989-04-27 | 1991-06-04 | Mitsubishi Denki Kabushiki Kaisha | Semiconductor neural network and method of driving the same |
US4962342A (en) * | 1989-05-04 | 1990-10-09 | Synaptics, Inc. | Dynamic synapse for neural network |
US4962342B1 (en) * | 1989-05-04 | 1992-09-15 | Synaptics Inc | |
US4988891A (en) * | 1989-05-09 | 1991-01-29 | Mitsubishi Denki Kabushiki Kaisha | Semiconductor neural network including photosensitive coupling elements |
US5167010A (en) | 1989-08-03 | 1992-11-24 | Westinghouse Electric Corp. | Expert advice display processing system |
US4942367A (en) * | 1989-09-29 | 1990-07-17 | General Electric Company | Auto-zeroing switched-capacitance buffer amplifiers with minus-unity voltage gain |
US5239617A (en) | 1990-01-05 | 1993-08-24 | International Business Machines Corporation | Method and apparatus providing an intelligent help explanation paradigm paralleling computer user activity |
US5039870A (en) * | 1990-05-21 | 1991-08-13 | General Electric Company | Weighted summation circuits having different-weight ranks of capacitive structures |
Non-Patent Citations (26)
Title |
---|
"Applications and Extensions of SADT", by Douglass T Ross, pp. 147-156, from IEEE publication Computer Apr. 1985. * |
"Extending State Transition Diagrams for the Specification of Human-Computer Interaction", by Anthony I Wasserman, pp. 100-114, Aug. 1985. * |
"Visual Programming Environments Paradigms and Systems", by Ephraim P. Glinert, IEEE Computer Society Press Aug. 31, 1990. * |
"Visual Programming Languages A Perspective And A Dimeensional Analysis", by Nan C. Shu, pp. 41-58, Aug. 19885. * |
Alspector, et al., "Performance of a Stochastic Learning Microchip," from Advances in Neural Information Processing Systems I, Morgan-Kaufmann, 1989, pp. 748-760. * |
Covington et al., Prolog Programming in Depth, pp. 50-55, 1988. * |
DeGloria, A., "The VLSI Technology and the Design of Neural Networks," First Italian Workshop Parallel Architectures and Neural Networks, Apr. 1988, pp. 119-127. * |
Erlandsen et al., "Intelligent Help Systems", Information and Software Technology, vol. 29, No. 3, Apr. 1987, pp. 115-121. * |
Faggin, et al., "VLSI Implementation of Neural Networks," from an Intro. to Neural and Electronic networks, Academic Press, Inc., 1990, pp. 275-292. * |
Frakes et al., "Using Expert System Components to Add Intelligent Help and Guidance to Software Tools", Information and Software Technology, vol. 31, No. 7, Sep. 1989, pp. 366-370. * |
Graf, et al., "A Reconfigurable CMOS Neural Network," from 1990 IEEE Intl. Solid-State Circuits Conf., Feb. 15, 1990, 144-145. * |
Graf, et al., IEEE International Solid-State Circuits Conf., 1990, "A Reconfigurable CMOS Neural Network", pp. 144-145. * |
Helm, "Tandy Deskmate Intelligent Help Expert System," 1989. |
Imamiya et al., "Embedding Explanation Mechanism with User Interface", SPIE vol. 635 Applications of Artificial Intelligence III (1986), pp. 650-657, Apple MacIntosh Screen Prints. * |
J. Silber, "Pal: An Intelligent Help System," Proc. 3<SUP>rd </SUP>Int'l Conf. on Indus. & Engin. Appli. of Artificial Intelligence & Expert Systems (Jul. 1990), pp. 882-889. |
John M. Carroll and Jean McKendree, Interface Design Issues for Advice-Giving Expert Systems, 30 Comm. of the ACM 14-32. Jan. 1987. |
Kub, et al., "Programmable Analog Vector-Matrix Multipliers," IEEE Jour. Solid-State Circuits, vol. 25(1), Feb. 1990, pp. 207-214. * |
M. Stehouwer and J. Bruggen, "Performing Interpretation in an Intelligent Help System," Proc. 6<SUP>th </SUP>Annual ESPRIT Conf. (Nov. 27-Dec. 1, 1989), pp. 248-257. |
Mead, et al., "Analog VLSI Implementation of Neural Systems," Kluaer Academic Publishers, 1989, pp. 57-83. * |
Parsayae et al., Expert Systems for Experts, pp. 66-67, 254-271, 1988. * |
Prager, et al., "Reason: An Intelligent User Assistant For Interactive Environments," IBM Systems Journal, vol. 29 No. 1, pp. 141-164, Jan. 1990. * |
Rossetto, et al., "Analog VLSI Synaptic Matrices as Building Blocks for Neural Networks," IEEE Micro, Dec. 1989, pp. 56-63. * |
Salem, et al., "A Feed Forward Network for CMOS VLSI Implementation," Midwest Symposium Circuits & Systems 1990, 489-491. * |
Schwartz, et al., "A Programmable Analog Neural Network Chip," IEEE Jour. Solid State Circuits, vol. 24(3), Apr. 1989, pp. 688-697. * |
Siyilotti, et al., "A Novel Associative Memory Implemented Using Collective Computation," Conf. on Very Large Scale Integration, 1985, pp. 11-21. * |
Walker et al., "A CMOS Neural Network for Pattern Association," IEEE Micro, Oct. 1989, pp. 68-74. * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070124266A1 (en) * | 2005-11-30 | 2007-05-31 | The Boeing Company | Integrating multiple information-providing systems |
US7475054B2 (en) * | 2005-11-30 | 2009-01-06 | The Boeing Company | Integrating multiple information-providing systems |
US8521675B2 (en) | 2010-01-28 | 2013-08-27 | International Business Machines Corporation | Integrated automatic user support and assistance |
US9009085B2 (en) | 2010-01-28 | 2015-04-14 | International Business Machines Corporation | Integrated automatic user support and assistance |
US8560305B1 (en) * | 2012-05-16 | 2013-10-15 | Hristo Georgiev | Logifolg |
Also Published As
Publication number | Publication date |
---|---|
HK1012102A1 (en) | 1999-07-23 |
DE69130766T2 (en) | 1999-09-02 |
EP0541712A1 (en) | 1993-05-19 |
EP0541712A4 (en) | 1994-06-15 |
EP0541712B1 (en) | 1999-01-13 |
AU8401991A (en) | 1992-03-02 |
US5103498A (en) | 1992-04-07 |
WO1992002880A1 (en) | 1992-02-20 |
DE69130766D1 (en) | 1999-02-25 |
SG48223A1 (en) | 1998-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
USRE39302E1 (en) | Intelligent help system | |
USRE37431E1 (en) | Intelligent help system | |
US5255386A (en) | Method and apparatus for intelligent help that matches the semantic similarity of the inferred intent of query or command to a best-fit predefined command intent | |
US5978784A (en) | Computer-implemented decision management system with dynamically generated questions and answer choices | |
US5835900A (en) | Computer-implemented decision management system with dynamically generated questions and answer choices | |
US6041182A (en) | Automatic invocation of computational resources without user intervention | |
US6415275B1 (en) | Method and system for processing rules using an extensible object-oriented model resident within a repository | |
US4972328A (en) | Interactive knowledge base end user interface driven maintenance and acquisition system | |
Hanson et al. | Interface design and multivariate analysis of UNIX command use | |
US6305008B1 (en) | Automatic statement completion | |
US5542024A (en) | Graphically used expert system tool background of the invention | |
US5594837A (en) | Method for representation of knowledge in a computer as a network database system | |
US5754755A (en) | Method and system for generating test scripts | |
JPH0556537B2 (en) | ||
EP0575473A4 (en) | Case-based reasoning system | |
JPH05197556A (en) | Expert system and explanation generating method for expert system | |
Benbasat et al. | A structured approach to designing human-computer dialogues | |
Imam et al. | An expert code generator using rule-based and frames knowledge representation techniques | |
Blandford et al. | Specifying user knowledge for the design of interactive systems | |
Ziegler et al. | Formal models and techniques in human-computer interaction | |
Virvou | Intelligence and adaptivity in human-computer interaction concerning biotechnological software users | |
Wachtel et al. | Dialog-Based Meaning Derivation Service for Technical Language Domains | |
KR19980050164A (en) | Object-based Library Search Method for Software Reuse | |
EP0453153A2 (en) | Order independent rule-based program specification system | |
Chesson et al. | Towards a Framework and Procedure for Specifying User Interfaces |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: AST COMPUTERS, LLC, CALIFORNIA Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:ARI SERVICE, INC., AS SUCCESSOR IN INTEREST BY MERGER TO ASTRESEARCH, INC.;REEL/FRAME:012852/0320 Effective date: 20020503 |
|
AS | Assignment |
Owner name: ARI SERVICE, INC., CALIFORNIA Free format text: ADOPTION OF RESOLUTIONS BY WRITTEN CONSENT OF BOARD OF DIRECTORS OF AST INNOVATIONS, INC. AND ATTACHED BILL OF SALE TRANSFERRING ALL ASSETS OF AST INNOVATIONS INC. TO ARI SERVICES, INC.;ASSIGNOR:AST INNOVATIONS, INC., A DELAWARE CORPORATION;REEL/FRAME:012896/0633 Effective date: 19990630 |
|
AS | Assignment |
Owner name: SAMSUNG ELECTRONICS AMERICA, INC., NEW JERSEY Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ARI SERVICE, INC.;REEL/FRAME:012906/0769 Effective date: 20020516 |
|
AS | Assignment |
Owner name: SAMSUNG ELECTRONICS CO., LTD., KOREA, REPUBLIC OF Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SAMSUNG ELECTRONICS AMERICA, INC.;REEL/FRAME:012937/0317 Effective date: 20020524 |
|
CC | Certificate of correction |