Abstract:
An agent interface controls display of an agent and receives a request from a user. A search engine searches for an action script describing a procedure of controlling the agent interface in accordance with the request input from the agent interface. An action script executing engine executes the action script searched by the search engine. Thus, since action scripts adapted to be used for the same kind but different types of electrical household appliances are prepared in action script DB, for example, the different types of electrical household appliances can be operated by the same procedure and interfaces can be unified.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    1. Field of the Invention  
           [0002]    The present invention relates to a technique for controlling an application program or electrical household appliance by an information processing apparatus such as a personal computer. More particularly, the present invention relates to an agent display apparatus displaying an agent for interactively controlling an application program or electrical household appliance, an agent display method, and a storage medium storing an agent display program.  
           [0003]    2. Description of the Background Art  
           [0004]    In recent years, electrical household appliances are adapted to have a greater level of performance and functionality. In addition, a technique for controlling such electrical household appliances by an information processing apparatus such as a personal computer (hereinafter abbreviated as PC) is being developed. For controlling an electrical household appliance by a conventional PC, a control application program (hereinafter abbreviated as CAP) designed to control the electrical household appliance is installed in the PC and each CAP is registered corresponding to an icon. A user clicks the icon to start the CAP or controls the electrical household appliance by operating an application program interface (hereinafter abbreviated as APIF) offered by the CAP. The relevant technique is disclosed in Japanese Patent Laying-Open No. 8-305531.  
           [0005]    In an agent interface method for a household PC disclosed in the aforementioned laid-open application, an AP event reference table holding an AP event to be notified to an agent manager by a CAP is registered. Then, the CAP transmits the AP event to be notified to the agent manager with reference to the AP event reference table. Further, the agent manager accumulates/learns the AP event and determines if a message should be transmitted to the user based on the result. If the message should be transmitted, a personified agent is displayed through a graphical interface and the message is transmitted to the user by voice synthesis and text display. Then, a response from the user is input by voice recognition and, based on the response result of the user, the agent manager controls the CAP.  
           [0006]    In the above-described method of controlling the electrical household appliance by a PC, the CAP is registered corresponding to an icon which is then clicked for starting the program. This method largely differs from an existing method of operating the electrical household appliance. As such, the above-described method suffers from a problem that the operation is difficult to a user who is not experienced with a PC.  
           [0007]    Further, in the CAP, an operation panel or remote controller of a usual electrical household appliance is used as an interface. Even if the same task is to be performed by the same type of electrical household appliances, the operation procedure differs from manufacturers or types of appliances. As a result, it becomes difficult for a user to learn the operation method of the electrical household appliance. A conventional interface for controlling a CAP also suffers from such problems.  
           [0008]    In an agent interface method for a household PC disclosed in the aforementioned laid-open application, a user needs only notify an agent of a desired function. The agent satisfies the need of the user by the CAP. Consequently, despite simple operation, there is a problem that the user does not have any opportunity to learn the operation method of the CAP.  
           [0009]    Another method of controlling electrical household appliances by a conventional PC involves a function of displaying a television screen onto a display. However, such a method merely provides the same function as a remote controller of a television, and does not provide an intelligent process on the PC. Thus, even when an interesting program is on the air, the user can never watch the program unless he or she starts the AP that controls the television.  
         SUMMARY OF THE INVENTION  
         [0010]    An object of the present invention is to provide an agent display apparatus capable of unifying interfaces, an agent display method, and a storage medium storing an agent display program.  
           [0011]    Another object of the present invention is to provide an agent display apparatus allowing a user to perform a desired operation while learning the operation procedure of an APIF, an agent display method, and a storage medium storing an agent display program.  
           [0012]    Still another object of the present invention is to provide an agent display apparatus in which an agent extracts and recommends a program that interests a user, an agent display method, and a storage medium storing an agent display program.  
           [0013]    According to one aspect of the present invention, an agent display apparatus displaying a personified agent for making it selectively perform a process includes: a first interface controlling display of the agent and inputting a request from a user; a searching portion searching for an action script with a procedure for controlling the first interface in accordance with the request input by the first interface; an executing portion executing the action script searched by the searching portion.  
           [0014]    The executing portion executes the action script searched in accordance with the request from the user. For example, action scripts adapted to be used for the same kind but different types of electrical household appliances are prepared, so that the different types of electrical household appliances can be operated by the same process and interfaces can be unified.  
           [0015]    According to another aspect of the present invention, an agent display method of displaying a personified agent for making it selectively perform a process includes the steps of controlling display of the agent for inputting a request from a user; searching for an action script describing a procedure for controlling display of the agent in accordance with the input request; and executing the searched action script.  
           [0016]    The action script searched in accordance with the request from the user is executed. For example, action scripts adapted to be used for the same kind but different types of electrical household appliances are prepared, so that the different types of electrical household appliances can be operated by the same process and interfaces can be unified.  
           [0017]    Still another aspect of the present invention is directed to a storage medium which can be read by a computer storing a program for executing an agent display method of displaying a personified agent for making it selectively perform a process. The agent display method includes the steps of: controlling display of the agent and inputting a request from a user; searching for an action script describing a procedure for controlling display of the agent in accordance with the input request; executing the searched action script.  
           [0018]    The action script searched in accordance with the request from the user is executed. Thus, for example, action scripts adapted to be used for the same kind but different types of electrical household appliances are prepared, so that the electrical household appliances can be operated by the same process and interfaces can be unified.  
           [0019]    The foregoing and other objects, features, aspects and advantages of the present invention will become more apparent from the following detailed description of the present invention when taken in conjunction with the accompanying drawings. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0020]    [0020]FIG. 1 is an illustration showing an exemplary appearance of an agent display apparatus according to a first embodiment of the present invention.  
         [0021]    [0021]FIG. 2 is a block diagram showing an exemplary structure of the agent display apparatus according to the first embodiment of the present invention.  
         [0022]    [0022]FIG. 3 is a block diagram showing a structure of the agent display apparatus according to the first embodiment of the present invention.  
         [0023]    [0023]FIG. 4 is a flow chart shown in conjunction with a process of the agent display apparatus according to the first embodiment of the present invention.  
         [0024]    [0024]FIG. 5 is a flow chart used for describing in greater detail a process of step S 5  of FIG. 4.  
         [0025]    [0025]FIG. 6 is an illustration showing that a user makes a request to a displayed agent.  
         [0026]    [0026]FIG. 7 is an illustration showing that the agent makes an utterance “displaying channel 1.” 
         [0027]    [0027]FIG. 8 is a flow chart showing another exemplary process of step S 5  of FIG. 4.  
         [0028]    [0028]FIG. 9 is an illustration showing that the agent makes an utterance “starting television AP.” 
         [0029]    [0029]FIG. 10 is an illustration showing that the agent makes an utterance “pressing power button.” 
         [0030]    [0030]FIG. 11 is an illustration showing that the agent makes an utterance “pressing button 1.” 
         [0031]    [0031]FIG. 12 is a flow chart used for explaining another process of the agent display apparatus according to the first embodiment of the present invention.  
         [0032]    [0032]FIG. 13 is an illustration showing an agent displayed during the process of FIG. 12.  
         [0033]    [0033]FIG. 14 is a block diagram showing a structure of an agent display apparatus according to a second embodiment of the present invention.  
         [0034]    [0034]FIG. 15 is a flow chart used for explaining a process of the agent display apparatus according to the second embodiment of the present invention.  
         [0035]    [0035]FIG. 16 is an illustration showing that the agent outputs its recommendation program by voice. 
     
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0036]    First Embodiment  
         [0037]    [0037]FIG. 1 is an illustration showing an exemplary appearance of an agent display apparatus according to the embodiment of the present invention. The agent display apparatus includes: a computer  100 ; a display apparatus  111 ; an FD (Floppy Disk) drive  104  mounted with an FD  116 ; a CD-ROM (Compact Disc-Read Only Memory) drive  106  mounted with a CD-ROM  117 ; a keyboard  112 ; and a mouse  113 . The agent display program is supplied by a storage medium such as FD  116  or CD-ROM  117 . The agent display program is executed by computer  100  for controlling display of the agent, for example. Alternatively, the agent display program may be supplied to computer  100  over a communication line from another computer.  
         [0038]    [0038]FIG. 2 is a block diagram showing an exemplary structure of the agent display apparatus according to the embodiment of the present invention. Computer  100  shown in FIG. 1 includes: a CPU (Central Processing Unit)  101 ; a memory  102 ; a hard disk  103 ; FD drive  104 ; a network card  105 ; CD-ROM drive  106 ; a TV tuner board  107 ; a sound mixer  108 ; a microphone  109 ; and a speaker  110 . CPU  101  performs a process while inputting/outputting data with respect to memory  102  or the like over bus  114 . The agent display program stored in FD  116  or CD-ROM  117  is temporarily stored in hard disk  103  through FD drive  104  or CD-ROM drive  106  by CPU  101 . CPU  101  for example controls display of the agent by loading the agent display program as necessary from hard disk  103  to memory  102  for execution.  
         [0039]    Network card  105  is connected to communication line  115  for controlling data communication through the Internet or the like. Further, sound mixer  108  outputs a voice of a television program received by TV tuner board  107 , a voice produced by voice synthesis, which will later be described, from speaker  110 , and inputs a voice through microphone  109  for voice recognition which will later be described.  
         [0040]    [0040]FIG. 3 is a block diagram showing a structure of the agent display apparatus according to the present embodiment. The agent display apparatus includes: an agent interface  1  controlling display of the agent and controlling input/output of the voice; an application program interface (APIF)  2  controlling a general application program or a CAP; an action script executing engine  3  executing an action script; an action script DB (database)  5 ; a search engine  4  searching an action script DB  5  in accordance with a search request from agent interface  1 ; and a dictionary  6  that search engine  4  refers in searching.  
         [0041]    The action script refers to a procedure manual describing a procedure for implementing a function under the instruction from the user by cooperative operation of agent interface  1  and APIF  2 . For example, action script DB  5  has action scripts that describe, according to functions, “turn up volume of television” and “reserve video recording.” 
         [0042]    Agent interface  1  includes: an agent display controlling portion  11  displaying a personified agent onto display apparatus  111  for operation; a voice outputting portion  12  outputting the agent displayed on display  111  with a voice from speaker  110 ; and a voice inputting portion  13  recognizing the voice of the user input from microphone  109 . Voice outputting portion  12  may reproduce the voice by voice synthesis or may directly reproduce the previously recorded voice.  
         [0043]    APIF  2  controls various application programs, or CAPs of a television and video which are not shown but preliminary installed in computer  100 . Action script executing engine  3  executes an action script by controlling agent interface  1  and APIF  2  while interpreting the procedure described in the action script.  
         [0044]    Search engine  4  searches for an optimum action script from action script DB  5  in accordance with a search request from a user that has been input from voice inputting portion  13  and outputs it to action script executing engine  3 . For example, the search request from the user may contain a natural language such as “want to watch television” that has been input through voice inputting portion  13  by the user. Search engine  4  searches action script DB  5  with reference to dictionary  6  upon receipt of the search request from the user, and selects an action script which is considered optimum for the request from the user, e.g., an action script “turn on TV” and outputs it to action script executing engine  3 .  
         [0045]    [0045]FIG. 4 is a flow chart shown in conjunction with a process of the agent display apparatus according to the present embodiment. When the agent display program is executed by CPU  101 , voice inputting portion  13  is brought into a state of waiting for a request input of voice from the user. If the user inputs voice, voice inputting portion  13  recognizes the voice of the user and converts it to a character code for storage in a buffer which is not shown. Then, a determination is made as to if an input has been made by the user by checking if the character code is stored in the buffer (S 1 ).  
         [0046]    If there is no input of voice from the user (S 2 , No), the process returns to step S 1  and repeats the process after an appropriate period of time. If there is an input from the user (S 2 , Yes), search engine  4  uses the character code as a keyword and searches for an action script which is the closest in meaning to the request from the user with reference to dictionary  6  (S 3 ).  
         [0047]    If an appropriate action script is not found (S 4 , No), the process returns to step S 1  for repeating the following process. If an appropriate action script is found (S 4 , Yes), action script executing engine  3  executes the searched action script (S 5 ). When action script executing engine  3  completes execution of the action script, it returns to step S 1  for repeating the following process.  
         [0048]    [0048]FIG. 5 is a flow chart used for describing in greater detail the process of step S 5  in FIG. 4. FIG. 5 shows a procedure of “setting television channel to 1” as an exemplary action script. As shown in FIG. 6, if a request of “want to watch channel 1” is made to the personified agent displayed on display apparatus  111  by the user, search engine  4  searches action script DB 5  for an action script “display television channel 1.” Then, that action script is output to action script executing engine  3 .  
         [0049]    Upon receipt of the action script “display television channel 1” from search engine  4 , action script executing engine  3  asks APIF  2  if the television AP has been started. If the television AP has been started (S 11 , Yes), the process proceeds to step S 13 . If the television AP has not been started (S 11 , No), a request for starting the television AP is made to APIF  2  (S 12 ), and then the process proceeds to step S 13 .  
         [0050]    In step S 13 , action script executing engine  3  asks APIF  2  if the power of the television is on. If the power of the television is on (S 13 , Yes), the process proceeds to step S 15 . If the power of the television is not on (S 13 , No), a request for turning on the television is made to APIF  2  (S 14 ), and the process proceeds to step S 15 .  
         [0051]    In step S 15 , action script executing engine  3  asks APIF  2  if the television channel is 1. If the television channel is 1 (S 15 , Yes), the process proceeds to step S 17 . If the television channel is not 1 (S 15 , No), a request for setting the channel to 1 is made to APIF  2  (S 16 ), and the process proceeds to step S 17 .  
         [0052]    In step S 17 , the agent displayed on display apparatus  111  is made to give an utterance “displaying channel 1” and the process ends. FIG. 7 shows that the television channel is set to 1 and agent gives the utterance “displaying channel 1.” 
         [0053]    [0053]FIG. 8 is a flow chart used for explaining another exemplary process of step S 5  in FIG. 4. A procedure of “displaying television channel 1” is shown as an exemplary action script. As shown in FIG. 6, if a request “want to watch channel 1” is made to the personified agent displayed on display apparatus  111  by the user, search engine  4  searches action script  5  for an action script “display television channel 1.” The action script is output to action script executing engine  3 .  
         [0054]    Upon receipt of the action script “display television channel 1” from search engine  4 , action script executing engine  3  asks APIF  2  if the television AP has been started. If the television AP has been started (S 21 , Yes), the process proceeds to step S 24 . If the television AP has not been started (S 21 , No), voice outputting portion  12  makes the agent displayed on the screen give an utterance “starting television AP” (S 22 ).  
         [0055]    Action script executing engine  3  requests APIF  2  to start the television AP (S 23 ), makes display apparatus  111  display an image of a TV remote controller and proceeds to step S 24 . FIG. 9 shows the image of the TV remote controller is displayed and the agent makes an utterance “starting television AP.” In step S 24 , action script executing engine  3  asks APIF  2  if the power of the television is on. If the power of the television is on (S 24 , Yes), the process proceeds to step S 28 . If the power of the television is not on (S 24 , No), the power button of the remote controller displayed on display apparatus  111  is pointed (S 25 ). The button may be pointed by moving a mouse cursor to the position of the power button, by using the agent to point that position, or by flashing on and off the button per se.  
         [0056]    Then, voice outputting portion  12  makes the agent displayed on the screen give an utterance “pressing power button” (S 26 ). Action script executing engine  3  makes a request for turning on the television to APIF  2  (S 27 ), and proceeds to step S 28 . FIG. 10 shows that the power button of the remote controller is pointed and the agent makes an utterance “pressing power button.”  
         [0057]    In step S 28 , action script executing engine  3  asks APIF  2  if the television channel is 1. If the television channel is 1 (S 28 , Yes), the process proceeds to step S 32 . If the television channel is not  1  (S 28 , No), the position of the button corresponding to “1” of the remote controller displayed on display apparatus  111  is pointed (S 29 ).  
         [0058]    Then, action script executing engine  3  controls voice outputting portion  12  to make the agent give an utterance “pressing button 1” (S 30 ). Action script executing engine  3  makes a request for turning the channel to 1 to APIF  2  (S 31 ), and proceeds to step S 32 . FIG. 11 shows that the button of “1” of the remote controller is pointed and the agent is made to give the utterance “pressing button 1.” 
         [0059]    In step S 32 , the agent displayed on display apparatus  111  is made to give an utterance “displaying channel 1,” and the process ends. FIG. 7 shows that the television channel is set to 1 and the agent is made to give the utterance “displaying channel 1.” 
         [0060]    [0060]FIG. 12 is a flow chart shown in conjunction with another process of the agent display apparatus according to the present embodiment. The above-described action script includes an execution condition attribute. The execution condition attribute refers to a condition for executing the action script, including e.g., an appropriate combination of date when that action script is to be executed, a status of APIF  2 , an activity history of the personal computer, execution frequency or the like. The execution condition attribute may be described in any manner, and a timing condition for causing the agent to act independently without external triggering needs only be described.  
         [0061]    First of all, action script executing engine  3  periodically searches for an action script stored in action script DB  5  and checks the execution condition attribute (S 41 ). If there is no action script that satisfies the execution condition (S 42 , No), action script executing engine  3  returns to step S 41  and repeats the following process. If there is an action script that satisfies the execution condition (S 42 , Yes), action script executing engine  3  executes the action script satisfying that condition (S 43 ) and returns to step S 41  for repeating the following process. FIG. 13 shows an agent displayed when executing the process.  
         [0062]    As described above, the agent display apparatus of the present embodiment allows various application programs to be operated by interactively communicating with the personified agent and also allows unification of interfaces. Further, since the application program is executed while making the agent follow the operation procedure of the APIF, the user can perform a desired operation while learning the operation procedure of the APIF.  
         [0063]    Second Embodiment  
         [0064]    [0064]FIG. 14 is a block diagram showing a structure of an agent display apparatus according to the second embodiment of the present invention. Comparing with the agent display apparatus according to the first embodiment shown in FIG. 3, the agent display apparatus of the second embodiment additionally includes: a broadcast program list accessing portion  7  making an access to an electronic television program list; an information offering engine  8  acquiring information that is likely to interest the user and offering it to action script executing engine  3 ; and a preference DB  9  storing a program that has been viewed by the user and obtained by making reference to the television program list accessed by broadcast program list accessing portion  7 . Therefore, description of the overlapping portion of the structure and function will not be given.  
         [0065]    Broadcast program list accessing portion  7  makes an access to the Internet through network card  105  for acquiring information from a homepage that shows a television program list. Alternatively, TV tuner board  107  may acquire the television program list through digital broadcasting. Information offering engine  8  acquires information including a channel that the user is currently viewing from the television AP through APIF  2 , and stores the program that the user has watched in preference DB  9  referring to the television program list accessed by broadcast program list accessing portion  7 . Information offering engine  8  refers to the television program list obtained by broadcast program list accessing portion  7  and outputs information on the program that is likely to interest the user, if any, to action script executing engine  3  based on a history of viewed programs of the user. In searching for the program that would interest the user, the television program list may be searched by search engine  4 .  
         [0066]    [0066]FIG. 15 is a flow chart shown in conjunction with a process of the agent display apparatus according to the present embodiment. First of all, information offering engine  8  periodically checks the status of the television AP through APIF  2  (S 51 ). If the television is not viewed (S 52 , No), the process proceeds to step S 55 . If the television is viewed (S 52 , Yes), the television program that the user is viewing is identified with reference to the television program list (S 53 ), and the information on that television program is registered in preference DB  9  (S 54 ).  
         [0067]    In step S 55 , a determination is made as to if there is a request for a program recommendation. The request for the program recommendation is made, for example by displaying the region indicating the program recommendation request on the display screen of display apparatus  111 , which region is then clicked by the user with mouse  113 , for example. If there is no request for program recommendation (S 56 , No), the process returns to step S 51  and the following process is repeated.  
         [0068]    If there is a request for program recommendation (S 56 , Yes), information offering engine  8  refers to the history of viewed programs stored in preference DB  9  and extracts a keyword common to the programs that the user particularly prefers (S 57 ). In the process, the information stored in preference DB  9  may be searched by search engine  4 . Then, information offering engine  8  refers to the television program list and searches for a program which is the closest in meaning to the keyword extracted by step S 57 , from programs to be on the air (S 58 ).  
         [0069]    Information offering engine  8  outputs the searched program information to action script executing engine  3  (S 59 ) and returns to step S 51  for repeating the following process. Action script executing engine  3  controls voice outputting portion  12  for outputting the searched program information by voice, so as to offer a recommended program to the user. Action script executing engine  3  may televise the recommended program by outputting a request for channel change to the television AP through APIF  2 . FIG. 16 shows that the program recommended by the agent is output by voice.  
         [0070]    As described above, the agent display apparatus of the present embodiment allows information offering engine  8  to extract a keyword that is common to the programs with the highest frequency from program information stored in preference DB  9 , based on which a television program is selected. Thus, a television program which is likely to interest the user can be recommended and offered by the agent. Thus, the user does not miss a program that interests him or her.  
         [0071]    Although the present invention has been described and illustrated in detail, it is clearly understood that the same is by way of illustration and example only and is not to be taken by way of limitation, the spirit and scope of the present invention being limited only by the terms of the appended claims.