The present invention relates to an information processing apparatus and method, a program, and a recording medium. More particularly, the present invention relates to an information processing apparatus and method, a program, and a recording medium which properly reflect the change in user's preference and properly infer user's interest in newly added attributes, thereby recommending contents which is closer to user's interest.
As methods for recommending television programs (or contents), the initial interest registering, the viewing log utilizing, and the coordination filtering are known, for example.
In any of these schemes, an electronic program guide (EPG) and program information (or program metadata) on the Web are used for the original data. These three schemes depend on how to acquire user's preferential data to be matched with these pieces of information.
In the initial interest registering, at the starting of use, the user registers his/her favorite categories (drama, variety, etc.), favorite genre name (drama, music, etc.), and favorite television personalities, for example. Subsequently, matching is made with program metadata with the registered information used as keywords, thereby getting program names to be recommended.
In the viewing log utilizing, every time the user views a program, the program metadata associated with the viewed program is accumulated and, when the viewing log (or program metadata) is accumulated to a predetermined amount, this viewing log is analyzed to get program names to be recommended. Alternatively, instead of the viewing log, an operation log such as the preset recording or the start of recording done by the user may be used on devices in which recording is made on a hard disk drive, for example. In this case, the information, which highly reflects user's interest, can be obtained rather than vague information about programs.
In the coordination filtering, a matching is made between one user's viewing (or operation) log and another user's viewing log to acquire the viewing log of another user similar to the user concerned in viewing log. Then, program names which have not been viewed by the user concerned are obtained from among the programs viewed by another user similar (in favorite) to the user concerned in viewing log, thereby recommending the obtained program names not viewed by the user concerned.
By using the above-mentioned program recommendation schemes, it becomes possible to allow the recommendation of the programs in which the user is interested.
However, these program recommendation schemes present problems that the interest of user is extracted from program (contents) metadata (namely, a biased interest in television programs is obtained) and, because generally popular names are used owning to the structure of program metadata, similar contents tend to be recommended.
To overcome these problems, the applicant hereof proposed a technology for letting users evaluate how much they are interested in particular contents recommended for them and searching for particular contents on the basis of the results of the evaluation, thereby making recommendations (refer to Patent Document 1, for example).
[Patent document 1]
However, the related-art technologies presuppose the recommendations on the basis of the initially registered data and the user information such as contents viewing log, so that it is difficult to reflect the change in user preference and infer the user's interest in newly added genre, for example.
It is therefore an object of the present invention to provide an information processing apparatus and method, a program and a recording medium which are capable of properly reflect the change in user's preference and properly infer the user's interest in newly added attributes (for example, newly added genre), thereby recommending programs (or contents) which is close to user's interest.
In carrying out the invention and according to one aspect thereof, there is provided an information processing apparatus, including: extraction means for extracting interest data indicative of user's interest; selection means for selecting interest data having a degree of importance lower than a predetermined threshold from among the interest data extracted by the extraction means; presentation means for presenting the interest data selected by the selection means; dialogue means for holding a dialogue with a user on the basis of the interest data presented by the presentation means; and update means for updating the interest data on the basis of a result of the dialogue executed by the dialogue means.
In the above-mentioned information processing apparatus, the dialogue means includes: generation means for generating a query on the basis of a model of dialogue; and response input means for inputting a user response for the presented query generated by the generation means and presented to the user; the extraction means can change the interest data extracted on the basis of the response inputted by the response input means.
The above-mentioned information processing apparatus further including: database production means for producing a database of associated information about contents to be recommended to the user by obtaining metadata of the contents; wherein the selection means can select the interest data from the database of the associated information.
In the above-mentioned information processing apparatus, the generation means can select the model of dialogue in accordance with a characteristic of the information processing apparatus.
In the above-mentioned information processing apparatus, the extraction means can extract interest data of another information processing apparatus and the selection means can select the interest data from among the interest data of another information processing apparatus extracted by the extraction means.
In the above-mentioned information processing apparatus, the interest data have a plurality of attributes and the extraction means can extract the interest data on the basis of a degree of importance of each of the plurality of attributes.
In the above-mentioned information processing apparatus, the update means can add a predetermined value to or subtract a predetermined value from the degree of importance on the basis of a result of dialogue executed by the dialogue means.
In the above-mentioned information processing apparatus, the update means can change an order of the degree of importance on the basis of a result of dialogue executed by the dialogue means.
In the above-mentioned information processing apparatus, the update means can delete or add the interest data on the basis of a result of dialogue executed by the dialogue means.
In the above-mentioned information processing apparatus, the update means can execute addition or subtraction between the degree of importance and a degree of importance of the interest data extracted from the another information processing apparatus on the basis of a result of dialogue executed by the dialogue means.
In carrying out the invention and according to another aspect thereof, there is provided an information processing method including the steps of: extracting interest data indicative of user's interest; selecting interest data having a degree of importance lower than a predetermined threshold from among the interest data extracted by the extraction step; presenting the interest data selected by the selection step; holding a dialogue with a user on the basis of the interest data presented by the presentation step; and updating the interest data on the basis of a result of the dialogue executed by the dialogue step.
In carrying out the invention and according to still another aspect thereof, there is provided a program for making a computer execute the steps of: controlling extraction of interest data indicative of user's interest; controlling selection so as to select interest data having a degree of importance lower than a predetermined threshold from among the interest data extracted by the extraction controlling step; controlling presentation of the interest data selected by the selection controlling step; controlling dialogue so as to hold a dialogue with a user on the basis of the interest data presented by the presentation controlling step; and controlling updating the interest data on the basis of a result of the dialogue executed by the dialogue step.
In carrying out the invention and according to yet another aspect thereof, there is provided a recording medium recording a program for making a computer execute the steps of: controlling extraction of interest data indicative of user's interest; controlling selection so as to select interest data having a degree of importance lower than a predetermined threshold from among the interest data extracted by the extraction controlling step; controlling presentation of the interest data selected by the selection controlling step; controlling dialogue so as to hold a dialogue with a user on the basis of the interest data presented by the presentation controlling step; and controlling updating the interest data on the basis of a result of the dialogue executed by the dialogue step.
In the information processing apparatus and method, and program according to the invention, interest data indicative of user's interest is extracted, the interest data having a degree of importance lower than a predetermined threshold is selected from among the extracted interest data, the selected interest data is presented, dialogue with a user is executed on the basis of the presented interest data, and the interest data is updated on the basis of a result of the dialogue.
These and other objects of the invention will be seen by reference to the description, taken in connection with the accompanying drawing, in which:
The present invention will be described in further detail by way of example with reference to the accompanying drawings. The correlation between the components of the claims herein and the particular examples in an embodiment of the invention is as follows. This description is intended to make sure that the particular examples supporting the invention written in the claims herein are written in an embodiment of the invention. Therefore, if there is a particular example which is described an embodiment of the invention but not described in the preferred embodiments here as one that corresponds to a component of the embodiment, it does not denote that this particular example does not correspond to that component. Conversely, if a particular example is described in the preferred embodiments here as corresponding to a component of an embodiment, it does not denote that this particular example does not correspond to any other components than that component.
Further, the above-mentioned description does not denote that the invention corresponding to a particular example described in the preferred embodiments here is written in all claims herein. In other words, the above-mentioned description is about the invention corresponding to a particular example described in the preferred embodiments herein and does not deny the existence of any invention that is not described in the claims herein, namely the existence of any invention that will be divisionally applied or added by amendment in the future.
The information processing apparatus recited in claim 1 herein including: extraction means (for example, an interest extraction block 102 shown in
In the information processing apparatus recited in claim 2 herein, the dialogue means including: generation means (for example, a dialogue generation block 121 shown in
The information processing apparatus recited in claim 3 herein further including: database production means (for example, a associated-information database generation block 106 shown in
The information processing method recited in claim 11 herein including the steps of: extracting interest data indicative of user's interest (for example, step S41 shown in
The program recited in claim 12 herein makes a computer execute the steps of: controlling extraction of interest data indicative of user's interest (for example, step S41 shown in
The recording medium recited in claim 13 herein records a program for making a computer execute the steps of: controlling extraction of interest data indicative of user's interest (for example, step S41 shown in
The following describes embodiments of the invention. Referring to
The information processing apparatus according to the invention may be configured by the personal computer 1 or may be configured by the HDD recorder 2-1 or the HDD recorder 2-2. Alternatively, the information processing apparatus according to the invention may be configured by the server 6.
The personal computer 1, the HDD recorders 2-1 and 2-2, and the television receivers 3-1 and 3-2 are owned by one user (or one family) and are arranged in proximity with each other. The network 5 may be either a LAN (Local Area Network) or a wide area network such as the Internet.
The personal computer 1 is an information processing apparatus which can execute a variety of application programs; for example, the personal computer 1 executes the transmission and reception of electronic mail, the browsing of Web pages, and the creation of documents. Also, the personal computer 1 extracts user's interests based on documents obtained by transmission and reception of electronic mail or browsed Web pages, thereby generating a database which contains interest data.
The HDD recorder 2 records television programs on a high-capacity hard disk drive and outputs recorded television programs to the television receiver 3 as specified by the user for reproduction. Also, the HDD recorder 2 acquires interest data to recommend, for the user, programs which match the interest data as will be described later with reference to
The server 6 integrates the user's interest data generated by the personal computer 1 or the HDD recorder 2 and stores the integrated user's interest data.
Referring to
The personal computer 1 incorporates a CPU (Central Processing Unit) 51. An input/output interface 55 is connected to the CPU 51 via a bus 54. The input/output interface 55 is connected to an input block 56 based on input devices such as a keyboard and a mouse, an output block 57 for outputting a processing result such as an audio signal, for example, a display block 58 based on a display monitor for displaying an image as a result of processing, a storage block 59 based on a hard disk drive for storing programs and built databases, a communication block 60 based on a LAN (Local Area Network) card for communicating data via a network represented by the Internet, and a drive 61 for reading/writing data on recording media such as a magnetic disk 62, an optical disk 63, a magneto-optical disk 64, or a semiconductor memory 65. The bus 54 is connected to a ROM (Read Only Memory) 52 and a RAM (Random Access Memory) 53.
Programs stored in the recording media, the magnetic disk 62 through the semiconductor memory 65, are read by the drive 61 or obtained by the communication block 60 via a network to be installed in a hard disk drive incorporated in the storage block 59. The programs stored in the storage block 59 are loaded from the storage block 59 into the RAM 53 for execution as instructed by the CPU 51 in accordance with user commands entered through the input block 56.
The hard disk drive incorporated in the storage block 59 also stores application programs such as a WWW (World Wide Web) browser which is loaded from the storage block 59 into the RAM 53 for execution as instructed by the CPU 51 in accordance with user commands entered through the input block 56.
A CPU 71 is a main controller for controlling the operation of the entire HDD recorder 2. To be more specific, on the basis of input signals supplied through an input block 76, the CPU 71 controls a tuner 79, a demodulator 80, a decoder 81, and the HDD 78, for example to execute program recording and reproduction. The CPU 71 also acquires interest data of the user to present program information (associated information).
A RAM 73 is a writable volatile memory in which an execution program of the CPU 71 is loaded and the data necessary for the execution program to run is stored. A ROM 72 is a read-only memory for storing a self-diagnosis and initialization program which is executed when the HDD recorder 2 is powered on and the control codes for operating the hardware, for example.
The input block 76 is constituted by a remote commander, buttons, switches, or a keyboard for example and outputs input signals generated in accordance with user operations to the CPU 71 via an input/output interface 75 and a bus 74.
A communication block 77 communicates with the server 6 and the personal computer 1 via the network 5. The data inputted in the communication block 77 is appropriately recorded to the HDD 78 via the input/output interface 75.
The HDD 78 is a random-accessible storage device which can store programs and data in a predetermined file format and has a huge storage capacity. The HDD 78 is connected to the bus 74 via the input/output interface 75, receives the data for data broadcasting such as broadcast programs and EPG data from the decoder 81 or the communication block 77, records the received information, and outputs the recorded data as required. Also, the HDD 78 stores the user's interest data generated in the CPU 71.
A broadcast wave received at an antenna, not shown, is supplied to the tuner 79. The broadcast wave is based on a predetermined format and includes EPG data, for example. The broadcast wave may be any of satellite broadcast wave, ground wave, wired wave, or wireless wave.
Under the control of the CPU 71, the tuner 79 tunes in on or selects the broadcast wave of a predetermined channel and outputs the received data to the demodulator 80. It should be noted that, depending on whether the broadcast wave received is analog or digital, the configuration of the tuner 79 may be changed or extended appropriately. The demodulator 80 demodulates the digitally modulated received data and outputs the resultant data to the decoder 81.
For example, in the case of digital satellite broadcasting, digital data received by the tuner 79 and demodulated by the demodulator 80 is a transport stream with AV data compressed by MPEG2 (Moving Picture Experts Group 2) and data for data broadcasting multiplexed. The AV data consist of video data and audio data which constitute the body of each broadcast program. The data for data broadcasting include the data (for example, EPG data) which accompany this broadcast program body.
The decoder 81 separates the transport stream supplied from the demodulator 80 into the AV data compressed by MPEG and the data for data broadcasting (for example, EPG data). The separated data for data broadcasting is supplied to the HDD 78 via the bus 74 and the input/output interface 75 and recorded to the HDD 78.
If an instruction is given to output the received program without change, the decoder 81 further separates the AV data into compressed video data and compressed audio data. The separated audio data is decoded and then outputted to a speaker of the television receiver 3 via a mixer 83. The separated video data is decompressed and then outputted to a monitor of he television receiver 3 via a composer 82.
If an instruction is given to record the received program to the HDD 78, the decoder 81 outputs the AV data before separation to the HDD 78 via the bus 74 and the input/output interface 75. If an instruction is given to reproduce a program recorded to the HDD 78, the decoder 81 receives the AV data from the HDD 78 via the input/output interface 75 and the bus 74, separates the received AV data into compressed video data and compressed audio data, and output the data to the composer 82 or the mixer 83, respectively.
The composer 82 composes the video data inputted from the decoder 81 with a GUI (Graphical User Interface) screen as required and outputs the composed data to the monitor of the television receiver 3.
Referring to
The interest data extracted by the interest extraction block 102 is transferred to an associated-information search block 103, which presents the associated information on the basis of the interest data. The associated information is composed of an electronic program guide (EPG) and program information stored on the Web, the program information to be broadcast, and the information about contents which is obtained via the network 5. An associated-information database generation block 106 acquires an EPG and the metadata of contents, classifies them as the associated information corresponding to predetermined interest data, and stores the resultant interest data in the HDD 78, for example.
The associated information retrieved by the associated-information search block 103 is outputted to the television receiver 3 for example by the associated-information presentation block 104. An evaluation input block 105 accepts the user evaluation of the presented associated information via the input block 76, for example. This user input is fed back to the interest extraction block 102 via the evaluation input block 105.
A dialogue block 107 updates the interest data generated by the interest extraction block 102.
The following describes the information presentation processing of the HDD recorder 2 with reference to
In step S2, the associated-information search block 103 executes the associated-information search processing to be described later with reference to
In step S4, the evaluation input block 105 determines whether the user's evaluation is “OK” or not. If the evaluation is found not “OK”, then the procedure returns to step S1, in which another interest data (for example, the interest data having the second degree of importance) are extracted and the above-mentioned processing is repeated. If the evaluation is found “OK” in step S4, the processing comes to an end.
As described above, the associated information is presented to the user for the recommendation of contents.
The following describes the associated-information search processing of step S2 shown in
If the matching information is found in step S43, then the procedure goes to step S24, in which the associated-information search block 103 outputs this associated information to the monitor of the television receiver 3 for presentation to the user. On the other hand, if the matching information is not found in step S23, then the procedure goes to step S25, in which the associated-information search block 103 outputs “Display No Search Result” to the monitor of the television receiver 3.
As described above, the associated information corresponding to the interest data is retrieved and presented to the user.
The above-mentioned interest data may be accumulated for each user or for each device. For example, if user A and user B are using the HDD recorder 2-1 and the HDD recorder 2-2 respectively, it is possible to generate a database of the interest data of user A in the HDD recorder 2-1, a database of the interest data of user B in HDD recorder 2-1, a database of the interest data of user A in the HDD recorder 2-2, and a database of the interest data of user B in the HDD recorder 2-2.
In the above-mentioned example, interest data is generated and accumulated in the HDD recorder 2; however, interest data may also be accumulated in other devices. For example, in the personal computer 1, interest data is generated on the basis of the contents of transferred electronic mail and the contents of browsed WWW pages for example and the interest data thus generated is accumulated.
In addition, it is practicable to send the interest data accumulated in one device (for example, the HDD recorder 2-1 or the HDD recorder 2-2) to another device (for example, the server 6) to accumulate plural pieces of interest data together or integrate different interest data.
The following describes the processing of updating interest data with reference to
In step S41, the interest extraction block 102 acquires the user's interest data accumulated in the HDD recorder 2 or the server 6. In step S42, the dialogue block 107 executes the dialogue processing to be described later with reference to
The following describes the dialogue processing of step S42 shown in
Each genre is attached with the degree of importance. The degree of importance is obtained by numerically expressing a frequency at which particular interest data are extracted, for example. As described with reference to
In step S51, the interest data not high in the degree of importance, the interest data nearest to the threshold which supposed to be 5 (in this example, “Documentary”) for example, is extracted. At this time, all interest data below the threshold may be extracted or the interest data having the lowest degree of importance may be extracted.
In step S52, the dialogue generation block 121 acquires the model of dialogue from the dialogue database 125. The dialogue database 125 stores the model for generating queries to be displayed to the user. The dialogue generation block 121 generates queries by imbedding a part or all of the interest data extracted in step S51.
In step S53, the dialogue generation block 121 makes the dialogue display block 122 display dialogue queries. At this time, a query constituting character string such as “How about a documentary program for a change?” is displayed on the monitor of the television receiver 3. It is also practicable to display some character and make it speak queries. It is further practicable to change models of dialogue which are obtained in step S52, thereby displaying queries such as “Do you want to browse contents about “Documentary”?”, for example.
In step S54, the response input block 123 accepts the user response made for the query displayed in step S53. The response is entered by operating the input block 76 by the user on the GUI for choosing a response (for example, “YES” or “NO”) displayed on the monitor of the television receiver 3, for example. It is also practicable to enter a response by operating the input block 76 by the user to enter a character string. In this case, the response input block 123 analyzes the entered character string to determine whether its contents denote affirmation or negation.
In step S55, the response input block 123 makes the interest extraction block 102 change the degree of importance of the interest data. For example, if “YES” is entered as the user response in step S54, a predetermined value (for example, 3) is added to the degree of importance of “Documentary” shown in
In the above example, a predetermined value is added to the degree of importance of “Documentary” if “YES” (affirmation) is entered as the user response and a predetermined value is subtracted from the degree of importance of “Documentary” if “NO” (negation” is entered as the user response. It is also practicable, if affirmation is entered as the user response, to raise the order of “Documentary” by a predetermined number (for example, 1); if “NO” (negation) is entered as the user response, the order of “Documentary” is lowered by 1. In this case, the order of “Documentary” is raised from the third position to the second position or lowered from the third position to the fourth position.
Thus, the interest data is updated. If the user's preference is changed by making an enquiry about interest data not high in the degree of importance to reflect the response to that query, the degree of importance of the interest data may be properly modified. Further, if a new genre is added, the user's interest in that genre may be inferred.
Interest data is classified by “Genre” as shown in
The degree of importance of each attribute is obtained by numerically expressing the frequency at which the attribute is extracted, for example. Also, attributes having higher degree of importance are preferred for contents recommendation. For example, when the contents associated with “News” is recommended, the content in which personality “A” performs is recommended preferentially.
It is possible to change the degree of importance of each attribute by the above-mentioned dialogue processing described with reference to
Also, in step S53, dialogue such as “When compared with B and C, we surely choose C”, for example is displayed, thereby the degree of importance of comparison between B and C is made. In this case, if “YES” is entered as the user response in step S54, then the orders of B and C are reversed in data 141-1 shown in
As described above, for the associated information presented for contents recommendation, EPG and the metadata of contents are obtained by the associated-information database generation block 106 to be classified as the associated information corresponding to predetermined interest data and stored as a database. Some of this associated information include attributes which are not included in the interest data. For example, it is assumed that the content in which a new personality (for example, personality “F”) performs is generated. The associated-information database generation block 106 acquires the metadata of this content and stores the associated information in the database, but there is no interest data about personality “F”. In such a case, attribute addition processing is executed to add a new attribute to the interest data.
The following describes attribute update processing with reference to
In step S64, the dialogue generation block 121 makes the dialogue display block 122 display dialogues. At this time, a character string constituting a query is displayed on the monitor of the television receiver 3 as “Recently, F is very popular”, for example. It is also practicable to display a character on the monitor of the television receiver 3 and make the character speak queries.
In step S65, the response input block 123 accepts the entry of the user response to the query displayed in step S43. The response is entered by operating the input block 76 by the user on the GUI for selecting a response (for example, “Interested”, “Rather interested”, or “Not interested” for example presented on the monitor of the television receiver 3. It is also practicable to enter a response by entering a character string by the user through the input block 76.
In step S66, the response input block 123 makes the interest extraction block 102 add a new attribute of interest data in accordance with the response. For example, if “Interested” is entered as the user response in step S65, the degree of importance of a predetermined value (for example, 10) is set in data 141-1 shown in
If no new attribute is added in step S62, the processes of steps S63 through S66 are skipped.
Thus, when a new attribute is added, the degree of importance of that attribute is set and added to the interest data.
In the above example, the interest data is changed on the basis of the interest data accumulated in the same device. It is also practicable the interest data may be changed on the basis of the interest data accumulated on different devices.
The following describes the processing of acquiring interest data of another device with reference to
In step S81, the interest extraction block 102 of device 1 acquires the interest data of another device (device 2). In step S82, the dialogue generation block 121 of device 1 extracts the model of dialogue from the dialogue database 125 and makes the dialogue display block 122 display the dialogue in step S83.
Obviously, it is practicable to display dialogue on device 2 on the basis of the interest data of device 1. In this case, a display screen 223 is displayed on the display block of device 2 on the basis of the keyword “Drama” included in the interest data of device 1. In this example, a character string “How about web of drama?” is shown along with “YES” button 245 and “NO” button 246. Thus, dialogues to be displayed depend on the types of devices. For example, because the display screens 221 and 222 are displayed on the HDD recorder 2-1, a character string “Program” is used. On the other hand, the display screen 223 is displayed on the personal computer 1, so that a character string “Web” is used.
In step S85, the response input block 123 of device 1 makes the interest extraction block 102 change the degree of importance of interest data. For example, if “YES” is entered as the user response, namely “YES” button 241 is pressed on the display screen 221, in step S84, the degree of importance of the interest data of device 2 is added to the degree of importance of the interest data of the device 1. Therefore, the interest data 201 of the device 1 being changed to the interest data shown in
If “NO” is entered as the user response, namely “NO” button 242 is pressed on the display screen 221 in step S84, the degree of importance of the interest data of device 1 is subtracted from the degree of importance of the interest data of device 2, interest data 201 of device 1 being changed to the interest data shown in
If the display screen 222 is displayed in step S83, then, if “YES” is entered as the user response in step S84, namely “YES” button 243 is pressed on the display screen 222, then the interest data 201 of the device 1 are changed to the interest data shown in
Thus, the interest data is updated on the basis of the interest data from another device. This allows the wide collection of user preference information to generate interest data, thereby providing contents recommendations suited for user's preference.
The above-mentioned sequence of processes may be executed by hardware as well as software.
When the above-mentioned sequence of processing operations is executed by software, the programs constituting the software are installed in a computer which is built in dedicated hardware equipment or installed, from a network or recording media which is loaded into the drive 61 in
It should be noted herein that the steps for describing each program recorded in recording media include not only the processing operations which are sequentially executed in a time-series manner but also the processing operations which are executed concurrently or discretely.
As described and according to the invention, contents can be provided for the user. Especially, the present invention allows the proper reflection of the change in user's preference and the proper inference of user's interest for newly added attributes, thereby providing contents recommendation which is close to user's interest.
While the preferred embodiments of the present invention have been described using specific terms, such description is for illustrative purposes only, and it is to be understood that changes and variations may be made without departing from the spirit or scope of the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
2003-135900 | May 2003 | JP | national |