This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2007-247950, filed on Sep. 25, 2007, the entire contents of which are incorporated herein by reference.
1. Field
The present invention relates to an apparatus and method of displaying recommendation information based on a user's preference generated from a search index for information of operation(s) performed by the user.
2. Description of the Related Art
Technologies for searching programs by using a user's preference have been proposed for information apparatuses such as a personal computer on which a television or a video can be watched and a personal video recorder (PVR) which is a recording apparatus with a hard disk drive (HDD) or a digital video disk (DVD). For example, these information apparatuses may search Electric Program Guide (EPG) etc. for programs that match a user's preference by using the user's preference as the search condition.
An information apparatus may extract the user's preference after analyzing history of a user's operation. For example, the information apparatus may extract common information, such as keywords or broadcast time slots, from programs frequently recorded and replayed by the user. The information apparatus can display the searched programs based on the user's preference as recommended programs or automatically record such programs.
For searching programs using a user's preference, users generally want to know the reason why such programs are searched (reasons for recommendation). The user does not set conditions for such searching. Thus, the user does not understand why recommended programs are searched. Even if the user will view the recommended program for the first time, he or she can analogize the content of recommended programs by referring to the reason.
A metadata of a program may be acquired by a preference information extracting part, and preference information of the user is generated based on an attribute of the metadata to be stored in a server. The metadata to be recommended is retrieved by a recommendation information retrieval part, based on the preference information of the user, and a recommendation information exhibiting part exhibits to the user the attribute constituting the preference information as the reason of recommendation. The user books picture recording of the program based on the exhibited recommendation reason.
The disclosed information recommendation apparatus and method include displaying recommendation information based on a user's preference generated from search indices for operation information operated by the user in the past, includes; a degree of similarity calculation unit calculating a degree of similarity between the recommendation information and the operation information based on the a search index for the recommendation information and a search index for the operation information; and an output unit outputting the operation information that the degree of similarity calculated by the degree of similarity calculation unit satisfies a specified condition as recommendation reason for the recommendation information. The present invention is applicable for an HDD recorder or a personal computer.
Additional aspects and/or advantages will be set forth in part in the description which follows and, in part, will be apparent from the description, or may be learned by practice of the invention.
These and/or other aspects and advantages will become apparent and more readily appreciated from the following description of the embodiments, taken in conjunction with the accompanying drawings of which:
Reference will now be made in detail to the embodiments, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout. The embodiments are described below to explain the present invention by referring to the figures.
In above discussed and other similar technologies, a relation between recommended program and reason(s) for recommendation is unclear. Therefore, the user can not easily adjust the user's preference (the user's preference analyzed by the information apparatus) used for searching recommended programs.
Now preferred embodiments of the information recommendation apparatus is explained in detail by referring to the accompanying drawings.
Firstly, an overview and characteristics of an information recommendation apparatus of an embodiment is explained.
For the convenience of explanation, the information recommendation apparatus of this embodiment is explained as an apparatus for searching programs such as television programs or videos, but not to limited to these. For example, the apparatus as discussed herein may be an information apparatus that searches or replays videos distributed on a network or searches or refers to text information such as news distributed on a network. The information recommendation apparatus and method displays recommended programs based on a user's preference generated from search indices for operation information related to operation(s) previously performed by the user. This apparatus searches for operation information which satisfies a specified condition of similarity between the search index for the recommended program for viewing (recommended program) and operation information and outputs the information as the reason(s) for recommendation.
Then, the user can clearly recognize a relation between the recommended program and the reason(s) for recommendation. Moreover, in an embodiment, the information recommendation apparatus accepts a user's evaluation of operation information output as reason(s) for recommendation, and thereby increases or decreases influence of the evaluated information on the user's preference.
Thus, the user can efficiently adjust or customize the preference used by the search for recommended programs.
Now, a configuration of an information recommendation apparatus of an embodiment is explained.
An EPG storage unit 101 stores various pieces of information on programs to be broadcasted from an Electric Program Guide (EPG).
A search object management unit 102 acquires EPG data stored in the EPG storage unit 101, and outputs the acquired EPG data to a search index generation unit 106. The unit 102 periodically acquires various pieces of information on programs to be broadcasted from the EPG and updates the EPG data stored in the EPG storage unit 101.
An operation history storage unit 103 stores various pieces of information of program(s) based on operation(s) by a user in the past and the content of operations (operation history data).
An operation history management unit 104 acquires operation history data stored in the operation history storage unit 103 and outputs the acquired operation history data to a search index generation unit 106. When the management unit 104 acquires additional operation history data from a monitor unit monitoring a user's operation (not shown), stores the acquired operation history data to the storage unit 103.
A degree of importance and interest storage unit 105 stores information on importance for each program (a degree of importance management table) and interest for each operation (a degree of interest management table).
As shown in
The search index generation unit 106 acquires EPG data and operation history data and generates search indices for programs of the EPG data and programs of the operation history data. Now, an example of generating a search index using a vector space is explained.
When the search index generation unit 106 generates a search index for a program using a vector space, a basis of the vector space may be keywords included in the program title or the content of the program. For example, when a program title “DONTO KUMORI” includes keywords “KUMORI, HARE, OHSUGI . . . ” the basis of the search index for the program will be “KUMORI”, “HARE”, “OHSUGI” . . . .
The basis size is an amount of statistics for each keyword. For example, an amount of statistics is calculated by using Term Frequency (TF) or Document Frequency (DF). The TF indicates frequency of specific information, such as keywords, that appear in a program, whereas the DF indicates a number of programs among all of programs that includes a specific keyword. The expression for calculating amount of statistics (basis size) is as follows: TF/DF. The TF and DF shall be calculated beforehand by the search index generation unit 106 based on EPG data and operation history data.
The search index generation unit 106 stores the generated search index data to a search index storage unit 107. The search index storage unit 107 is a unit for storing search index data.
A preference generation unit 108 extracts a user's preference from search indices for operation history data. Now, process(es) by a preference generation unit 108 are specifically explained. Firstly, the unit 108 compares operation history data (refer to
Subsequently, the unit 108 compares the broadcast date and time and title, degree of importance management table (refer to
A preference generation unit 108 refers to operation history data, and if the user performs only a single operation (e.g., record only), the degree of interest for the operation shall be the degree of interest for the program of the search index. If multiple operations (e.g., record, view, and replay) are performed with respect to a program, the degree of interest for the program of search index is obtained by adding degree of interest for each of operations.
After identifying the degree of importance and interest for the search index, the preference generation unit 108 multiplies the identified degree of importance and interest by vector for the search index. For example, when importance “2”, interest “2”, a vector for the search index is “KUMORI (basis size 0.3), HARE (basis size 0.5), OHSUGI (basis size 0.4)”, the vector of search index obtained after the multiplication will be “KUMORI (basis size 1.2)”, HARE (basis size 2.0), and OHSUGI (basis size 1.6).
The preference generation unit 108 also identifies degrees of importance and interest for other extracted search indices as well, and multiplies a vector of search index by degrees of importance and interest. Then, the unit 108 extracts the vector obtained by adding vectors of each of search indices as the user's preference.
The unit 109 extracts recommended program(s) based on search indices of each of programs corresponding to EPG data stored in a search index storage unit 107 and the user's preference (vector).
More specifically, the recommended program search unit 109 calculates inner products of vectors for search indices of each of the programs corresponds to EPG data and the user's preference respectively. Then, the unit 109 extracts programs with search indices that the calculated inner products between vectors is more than or equal to a specified value, and that the pair of search indices are the basis for the user's preference and then generates recommended program data.
The recommended program search unit 109 stores data of a recommended program to a recommended program storage unit 110. The unit 110 is a unit for storing data of recommended program(s).
A recommendation reason extraction unit 111 is a unit for extracting recommendation reason(s), keyword(s) common to recommended program(s) and the reason(s), and removing overlapped information included in the recommendation reason. Now, process(es) of the recommendation reason extraction unit 111 is explained.
The recommendation reason extraction unit 111 acquires data of recommended programs (refer to
The unit 111 extracts programs with search indices that the calculated inner product between vectors is more than or equal to a specified value, and that the pair of search indices are the basis for the recommended program and then generates recommendation reason data.
A recommendation reason extraction unit 111 calculates an inner product between vectors of a search index for a recommended program and that of recommendation reason program for the recommended programs. If the calculated inner product is more than or equal to a specified value (base), the unit 111 extracts as keywords.
Now, the processing is explained by showing specific examples.
Search index for recommended program (vector)
(KYOU: 0.9, RYOURI: 0.9, KANTARO: 0.7, YAKI: 0.2, SOBA: 0.2)
Search index for recommendation reason programs for the recommended programs (vector)
(KYOU: 0.9, RYOURI: 0.9, KANTARO: 0.7, Curry: 0.2, Rice: 0.2)
An inner product between above two search indices:
(KYOU: 0.9*0.9=0.81, RYOURI 0.9*0.9=0.81, KANTARO: 0.7*0.7=0.49)
For example, when a specified value is 0.5, the recommendation reason extraction unit 111 extracts “KYOU, RYOURI” as common keywords. The unit 111 stores the extracted keyword data in the recommendation reason storage unit.
When recommendation reason data (refer to
Alternatively, the unit 111 compares program titles included in recommendation reason data. If the match rate of the titles is more than or equal to a specified rate, the unit 111 removes information on one of the compared recommendation reasons.
For example, “DONTO KUMORI 1” and “DONTO KUMORI 10” exist in the recommendation reasons, the following processes are performed.
The recommendation reason extraction unit 111 compares the above two titles, and finds that the words “DONTO KUMORI” are the same (the first 14 characters from the beginning are the same) and the rest differs (spaces are counted as well). At this time, if a condition is “12 characters from the beginning are the same” or “50% of character strings from the beginning are the same”, then the unit 111 assumes the two programs are the same, and removes one of them from the recommendation reasons. The program removed from the recommendation reasons can be judged from the date and time of operation or the date and time of broadcast. For example, the unit 111 may remove the one with the older broadcast time.
Now referring to
When one of programs in the displayed recommendation reasons is selected, the output unit 113 displays keyword(s) corresponding to the selected program based on the keyword data (refer to
When a user's feedback to the recommended program is received after displaying the recommendation reason screen, a preference change unit 114 changes the importance in importance management table (refer to
Similarly, when the preference change unit 114 receives an instruction to decrease a degree of importance of a program in the recommendation reason screen via an input device, the preference change unit 114 subtracts a specified value from the degree of importance of the program.
When the content of importance management table stored in a degree of importance and interest storage unit 105 is updated, the preference generation unit 108 regenerates the user's preference.
Now, process(es) of an information recommendation apparatus 100 of an embodiment are explained.
Subsequently, a preference generation unit 108 acquires search index data stored in a search index storage unit 107 and generates the user's preference (Operation S102). Then, a recommended program search unit 109 searches recommended program(s) based on the user's preference and search index data (Operation S103).
A recommendation reason extraction unit 111 performs processes to extract recommendation reasons based on search indices for recommended programs and search indices for operation history (Operation S104). Then the unit 111 performs processes to extract keyword(s) based on search indices for recommended programs and search indices for recommendation reasons of the recommended programs (Operation S105).
Subsequently, the unit 111 performs removal processes based on the recommendation reasons (Operation S106). After that, an output unit 113 outputs the search result (recommended programs, recommendation reasons, and keywords) (Operation S107).
Next, process(e)s to extract recommendation reasons by a recommendation reason extraction unit 111 shown in
If a condition of “j<N” is satisfied (Operation S206, Yes), the unit 111 compares a recommended program (“i” th) and a program with operation history (“j” th), and judges whether the comparison result satisfies a specified condition or not (whether an inner product between vectors is more than or equal to a specified value or not) (Operation S208).
If the specified condition is satisfied (Operation S209, Yes), the unit 111 extracts the program with operation history (“j”th) as a recommendation reason for the recommended program (“i”th) (Operation S210). Moreover, the unit 111 sets “j=j+1” (Operation S211). Then the unit 111 proceeds to Operation S206. If the specified condition is not satisfied (Operation S209, No), the unit 111 proceeds to Operation S211.
Next, processes to extract keywords by a recommendation reason extraction unit 111 shown in
If a condition of “i<M” is satisfied (Operation S303, Yes), the unit 111 sets “j=0” (Operation S304). Then, the unit 111 acquires programs with operation history (the number of N programs) (Operation S305). If a condition of “j<N” is not satisfied (Operation S306, No), the unit 111 sets “i=i+1” (Operation S307), and proceeds to Operation S303.
If a condition of “j<N” is satisfied (Operation S306, Yes), the unit 111 compares the recommended program (“i” th) with the program with operation history (“j” th), and judges whether the result satisfies the specified condition or not (an inner product between vectors is more than or equal to a specified value) (Operation S308).
If the specified condition is satisfied (Operation S309, Yes), the unit 111 extracts a program with operation history (“j”th) as a recommendation reason for the recommended program (“i”th) (Operation S310). The unit 111 compares the recommended program with the program of recommendation reason, and outputs common keywords and the evaluation result (a degree of reason) in descending order of the degree (Operation S311). Moreover, the unit 111 sets “j=j+1” (Operation S312) and proceeds to Operation S306. If the specified condition is not satisfied (Operation S309, No), the unit 111 proceeds to Operation S312.
Next, processes to remove overlapped information of a recommendation reason extraction unit 111 shown in
If a condition of “l<L” is satisfied (Operation S403, Yes), the unit 111 sets “m=l+1” (Operation S404). If a condition of “m<L” is not satisfied (Operation S405, No), the unit 111 sets “l=l+1” (Operation S406) and proceeds to Operation S403.
If a condition of “m<L” is satisfied (Operation S405, Yes), the unit 111 compares a recommendation reason (“l”th) with a recommendation reason (“m”th) and judges whether the two are the same or not (Operation S407). If the two are the same (Operation S408, Yes), the unit 111 discards either the recommendation reasons (“l”th) or (“m”th) (Operation S409).
The unit 111 sets “m=m+1” (Operation S410) and proceeds to Operation S405. Then, the unit 111 compares a recommendation reason (“l”th) with a recommendation reason (“m”th). If the two are different (Operation S408, No), the unit 111 proceeds to Operation S410.
As explained above, the recommendation reason extraction unit 111 calculates a degree of similarity using recommended programs (search indices for recommended programs) and programs with operation history (search indices for programs with operation history), and extracts programs which satisfy the specified condition as programs of recommendation reasons. Thus, the unit 111 can clearly notify or indicate a degree of influence that programs of recommendation reasons have for the recommended programs.
The unit 111 compares the recommended programs (search indices for recommended programs) with programs of recommendation reasons (search indices for programs of recommendation reasons), and extracts keywords common to the both with the degree of reason exceeds a specified value. Thus the unit 111 can notify by outputting keywords that influence recommendation reasons and the degree of influence that the keywords have for the programs of recommendation reason to a user.
The unit 111 can prevent the same recommendation reasons from being displayed, since the unit 111 removes the overlapped information so that only single recommendation reason remains. Thus, the unit 111 can display various recommendation reasons where a limited number of recommendation reasons can be displayed.
Next, processes to change a user's preference by the preference change unit 114 are explained.
When the recommendation reason is to be increased (Operation S503, Yes), the unit 114 adds a specified value to the degree of importance corresponding to the recommendation reason (“i”th) (Operation S504). On the other hand, when the recommendation reason is to be decreased (Operation S503, No), the unit 114 subtracts a specified value from the degree of importance corresponding to the recommendation reason (“i”th) (Operation S505).
As explained above, the unit 114 obtains feedback of either an increase or a decrease of a recommendation reason, and adjusts the importance corresponding to the recommendation reason depending on the obtained results. Thus, the unit 114 can adjust the user's preference depending on the preference, and acquires recommended programs that are better suited to the user's preference.
As mentioned above, the search index generation unit 106 of the information recommendation apparatus 100 of an embodiment generates a search index for each program. The recommendation reason extraction unit 111 calculates the degree of similarity between recommended programs and operation information using search indices for recommended programs and search indices for operation information, and outputs operation information that the calculated similarity satisfies the specified condition as recommendation reasons for the recommended programs.
Accordingly, relation between recommended programs and the recommendation reason can be clarified.
A vector space is used as a search method in an embodiment, however the disclosed apparatus and method is not limited to this, instead a Boolean search or a probabilistic search may be used as well.
An embodiment of this disclosure has been described above; the present disclosure may be achieved by various embodiments as well. Accordingly, other embodiments of this disclosure are explained hereunder.
For instance, in the above described embodiment, an example of extracting recommendation reasons is explained in which the recommendation reason extraction unit 111 extracts recommendation reason data by comparing search indices for recommended program data and search indices for all operation history data. However, the method is not limited to this and the unit 111 can speed up the time to process extraction by setting a specified search condition beforehand and thereby narrowing down the number of operation history data for comparison. The extraction may be customized based on a setting or configuration, for example, by narrowing down keyword(s), using operation date and time, and/or operation pattern.
The unit 111 extracts keywords included in recommended program data and compares the extracted keywords with operation history data. Then, the unit 111 can obtain only search indices of operation history data which includes a specified number (e.g., more than or equal to 1) of keywords of recommended program data as search indices to be compared for extracting recommendation reasons.
The unit 111 can obtain search indices with operation date and time within a specified period as search indices to be compared for extracting recommendation reasons. A user can freely specify the period.
The unit 111 can obtain search indices with a specified operation pattern (e.g., operation history indicates replay is performed after recording a program) as a search indices to be compared for extracting recommendation reasons. A user can freely specify the operation pattern.
Now, process(es) of the unit 111 to narrow down by keywords, operation date and time, and operation patterns are explained.
If a condition of “i<M” is satisfied (Operation S603, Yes), the unit 111 sets “j=0” (Operation S604). Then, the unit 111 acquires programs with operation history (the number of N programs) (Operation S605). If a condition of “j<N” is not satisfied (Operation S606, No), the unit 111 sets “i=i+1” (Operation S607), and proceeds to Operation S603.
If a condition of “j<N” is satisfied (Operation S606, Yes), the unit 111 judges whether a program with operation history (“j”th) include more than or equal to one keyword of the recommended program (“i” th) or not (Operation S608).
When a program with operation history (“j” th) does not include more than or equal to one keyword of a recommended program (“i”th) (Operation S609, No), the unit 111 proceeds to Operation S617. When the program with operation history (“j” th) includes more than or equal to one keyword of the recommended program (“i”th) (Operation S609, Yes), the unit 111 judges whether the operation date and time satisfy the specified condition or not (Operation S610).
If the operation date and time do not satisfy the specified condition (Operation S611, No), the unit 111 proceeds to operation S617. On the other hand, if the operation date and time satisfies the specified condition (Operation S611, Yes), the unit 111 judges whether the operation content satisfies the specified condition or not (Operation S612). If the specified condition is not satisfied (Operation S613, No), the unit 111 proceeds to operation S617. If the specified condition is satisfied (Operation S613, Yes), the unit 111 compares a recommended program (“i” th) with a program with operation history (“j” th), and judges whether the result satisfies the specified condition or not (an inner product between vectors is more than or equal to a specified value) (Operation S614).
If the specified condition is not satisfied (Operation S615, No), the unit 111 proceeds to Operation S617. If the specified condition is satisfied (Operation S615, Yes), the unit 111 extracts a program with operation history (“j”th) as a recommendation reason for the recommended program (“i”th) (Operation S616). Moreover, the unit 111 sets “j=j+1” (Operation S617) and proceeds to Operation S606.
In above described embodiment, a preference change unit 114 changes an importance management table stored in a degree of importance and interest storage unit 105, when a user's feedback to a program of recommendation reasons is received after displaying recommendation reason screen.
When one of overlapped programs is deleted and an instruction to increase importance of the other program is received, the unit 114 adds a specified value to the degree of importance for both of the programs.
As shown in
Similarly, when one of overlapped programs is deleted and an instruction to decrease importance of the other program is received, the unit 114 subtracts a specified value from the degree of importance for both of the programs.
As shown in
The unit 114 shall retain a table to associate overlapped programs of recommendation reasons with deleted programs of recommendation reasons.
In an example shown in
In an example shown in the embodiment, a preference change unit 114 adjusts a degree of importance for programs of recommendation reasons upon receiving evaluation for programs of recommendation reasons; however the method is not limited to this. The unit 114 may adjust the degree of importance of the programs of the recommendation reasons upon receiving the evaluation for the corresponding recommended program.
For example, in
Similarly, the unit 114 may decrease a specified value from the degree of importance of “KYOU MO RYOURI, CHUBO DESSE, and BIMI SHINSUKE” which are programs of recommendation reasons, when an instruction to decrease the degree of importance of the recommended program “KYOU MO RYOURI” is received.
Furthermore, from among the processes described in the present embodiments, a part of processes or all processes that are described to have been performed automatically can be performed manually, or a part of processes or all processes that are described to have been performed manually can be performed automatically by a known method. Apart from this, processing procedures, controlling procedures, concrete names, and information that include various data and parameters shown in this document and diagrams can be changed voluntarily except when mentioned specially.
Components of the information recommendation apparatus 100 shown in
The HDD 38 stores an information recommendation program 38b which provides the same functions as those of above information recommendation apparatus 100. The CPU 37 reads and executes the information recommendation program 38b, and thereby the information recommendation process 37a is activated. The information recommendation process corresponds to the search object management unit 102, the operation history management unit 104, the search index generation unit 106, the preference generation unit 108, the recommended program search unit 109, the recommendation reason extraction unit 111, the output unit 113, and the preference change unit 114 shown in
The HDD 38 stores various data 38a used by information processing processes. The various data 38a corresponds to data stored in an EPG storage unit 101, an operation history storage unit 103, a search index storage unit 107, an importance and interest storage unit 105, a recommended program storage unit 110, and a recommendation reason storage unit 112, etc.
The CPU 37 reads various data 38a stored in the HDD 38, and stores the data to the RAM 33, and extracts programs of recommendation reasons and keywords using the stored various data 33a.
The information recommendation program 38b shown in
According to an embodiment, a search index for each program is generated, and a degree of similarity between recommended information (recommended program) and operation information is calculated by using a search index for a recommended program and a search index for operation information, and operation information with calculated similarity satisfying the specified condition are output as programs of recommendation reasons. By using the calculated similarity, how much influence the recommendation reason have on the recommended information can be clearly indicated.
Moreover, according to an embodiment, a user can efficiently adjust a user's preference used for searching recommended information since a degree of influence on a user's preference of operation information is increased or decreased in response to the user's evaluation for the operation information.
According to this embodiment, operation information with more than or equal to a specified number of keywords included in the recommended information are extracted. Then a degree of similarity between search index for extracted operation information and that of recommended information are calculated. This decreases subjects for calculating a degree of similarity, and thereby reduces processing load.
Furthermore, according to an embodiment, operation information within a specified date and time is extracted and then a degree of similarity between a search index for extracted operation information and that for recommended information are calculated. This decreases subjects for calculating a degree of similarity, and thereby reduces processing load.
Still further, according to this embodiment, operation information that satisfies a specified operation pattern is extracted, and then a degree of similarity between a search index for extracted operation information and that for recommended information is calculated. This decreases subjects for calculating a degree of similarity, and thereby reduces processing load.
Moreover, according to an embodiment, keyword(s) included in recommendation information and element values of the keywords, and keywords included in recommendation reasons and the element value of the keywords are extracted. Among the extracted keywords, the element value for the same keyword are added and keywords with the added value is more than or equal to a specified value are extracted as keywords of recommendation reasons. Thus keywords that influence on recommendation reasons can be extracted. A user can find a degree of influence the keyword has on recommendation reasons by referring to results of multiplication of keyword values.
According to an embodiment, contents of recommendation reasons are compared and overlapped information is removed, thereby displaying the same recommendation reason can be prevented. This allows displaying various recommendation reasons where only the limited number of recommendation reasons can be displayed.
According to this disclosure, a vector of search index for recommendation information and a vector of search index for operation information are generated, and then an inner product between the generated vectors is calculated as the degree of similarity. Therefore the degree of similarity can be calculated properly.
Although a few embodiments have been shown and described, it would be appreciated by those skilled in the art that changes may be made in these embodiments without departing from the principles and spirit of the invention, the scope of which is defined in the claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
2007-247950 | Sep 2007 | JP | national |