This application is based upon and claims the benefit of priority from Japanese Patent Application No. 2012-089750, filed on Apr. 10, 2012; the entire contents of which are incorporated herein by reference.
Embodiments described herein relate generally to an information processing apparatus, a method and a non-transitory computer readable medium thereof, and an information communication terminal, a control method and a non-transitory computer readable medium thereof.
As to a site of an electronic commerce on Internet, some information processing method is well known. In this method, based on a tendency of contents (books, musical pieces, foods, and so on) which a user has purchased in the past, by estimating recommended contents for the user to take an interest, the recommended contents are presented to the user.
However, only by simply the recommended contents to the user, the user does not often take an interest in the recommended contents. Accordingly, in the information processing method of conventional technique, not only recommended contents but also additional information corresponded therewith are often presented to the user.
For example, a review written by another user for the recommended contents is presented to the user. Furthermore, by estimating keywords representing feature of the recommended contents, the keywords are presented to the user. Furthermore, by generating a catch phrase from guide information of the recommended contents, the catch phrase is presented to the user.
However, in these conventional techniques, change of the user's preference by presenting the additional information is not estimated. As a result, contents which the user actually takes an interest cannot be estimated.
According to one embodiment, an information processing apparatus includes a contents storage unit, an additional information storage unit, a selection history storage unit, a first estimation unit, a second estimation unit, and a selection unit. The contents storage unit stores a plurality of contents. The additional information storage unit stores a plurality of additional information each differently corresponding to each of the contents. The selection history storage unit stores a history of selection from the contents and the additional information by a user in the past. The first estimation unit is configured to estimate a first preference information representing a tendency of the user's preference for the contents, based on the history. The second estimation unit is configured to estimate a second preference information representing a tendency of the user's preference for the additional information, based on the history. The selection unit is configured to select a recommended content from the contents, and to select a recommended additional information from the additional information, based on the first preference information and the second preference information.
Various embodiments will be described hereinafter with reference to the accompanying drawings.
An information processing apparatus 1 of a first embodiment is suitable for a server connectable with an information communication terminal 10 such as a personal computer (PC) or a smart phone.
As to contents such as books, musical pieces or foods, the information processing apparatus 1 acquires additional information (For example, catch phrase) from a user who utilizes the information processing apparatus 1. In the information processing apparatus 1, from a history of contents browsed (accessed) or purchased by the user (target user of the information communication terminal 10) in the past, the user's preference for contents and additional information is estimated. Based on the user's preference, contents and additional information to be presented to the user are determined. As a result, contents which the user actually takes an interest can be estimated.
In the present embodiment, the case that contents are “books” and additional information is “catch phrase” will be explained.
In a region 102, a cover of a book having a belt (belly band) in which a catch phrase of the book is described, detail information of the book, and a purchase button to purchase the book, are displayed. In a region 103, a recommended book to recommend to a user is displayed with a belt in which a catch phrase thereof is described. The information processing apparatus 1 of the present embodiment determines the recommended book and a catch phrase thereof to be displayed on the region 103.
The contents storage unit 15 correspondingly stores detail information of a book and a book attribute thereof as book information. The book attribute is represented by combination of keywords each representing a feature of the book. Moreover, the combination of keywords may be represented by numerical values according to predetermined rule.
As to book information stored in the contents storage unit 51, the additional information acquisition unit 11 acquires a catch phrase inputted by a plurality of users. Here, the user may be a person who utilizes the information processing apparatus 1 or a salesman of the book.
The attribute extraction unit 12 semantically analyzes the catch phrase, and extracts an attribute of the catch phrase (catch phrase attribute). The catch phrase attribute is represented by combination of keywords each representing a feature of the catch phrase. Moreover, the combination of keywords may be represented by numerical values according to predetermined rule.
The attribute extraction unit 12 correspondingly writes the catch phrase and the catch phrase attribute into the additional information storage unit 52.
The detection unit 13 detects whether a target user selects a book or a catch phrase displayed on a page 101 for book sales. For example, the detection unit 13 detects whether the user clicks a book, a catch phrase, or a purchase button on the page 101. The detection unit 13 writes the book and the catch phrase selected by the user until the present time, as a history of the user's selection, into the selection history storage unit 53. Hereinafter, the history of the user's selection is called a selection history.
By using the selection history, the first estimation unit 14 estimates first preference information representing tendency of the user's preference for books. The detail processing will be explained afterwards.
By using the selection history, the second estimation unit 14 estimates second preference information representing tendency of the user's preference for books. The detail processing will be explained afterwards.
Based on the first preference information and the second preference information, as to a pair (combination) of each book information (stored in the contents storage unit 51) and each catch phrase (stored in the additional information storage unit 52), the score calculation unit 16 calculates a recommendation score to evaluate what extent the user takes an interest.
From all pairs (all combinations) of each book information and each catch phrase, the selection unit 17 selects at least one pair of which the recommendation score is higher. The selection unit 17 selects book information included in the selected pair from the contents storage unit 51. The selection unit 17 extracts a catch phrase included in the selected pair from the additional information storage unit 52.
The output unit 18 outputs the book information and the catch phrase to the information communication terminal 10. The book information outputted via the information communication terminal 10 is recommended book information, and the catch phrase outputted via the information communication terminal 10 is recommended catch phrase.
The additional information acquisition unit 11, the attribute extraction unit 12, the detection unit 13, the first estimation unit 14, the second estimation unit 15, the score calculation unit 16, the selection unit 17 and the output unit 18, may be realized by a central processing unit (CPU) and a memory used thereby. The contents storage unit 51, the additional information storage unit 52 and the selection history storage unit 53, may be realized by the memory or an auxiliary storage device.
Thus far, component of the information processing apparatus 1 is already explained.
The attribute extraction unit 12 semantically analyzes the catch phrase, and extracts a catch phrase attribute (S103). The attribute extraction unit 12 correspondingly writes the catch phrase and the catch phrase attribute into the additional information storage unit 52.
The detection unit 13 detects whether the user selects a book or a catch phrase displayed on a page 101 for book sales (S103). The detection unit 13 writes the book and the catch phrase selected by the user until the present time, as a selection history into the selection history storage unit 53.
By using the user's selection history, the first estimation unit 14 estimates first preference information (S104). By using the user's selection history, the second estimation unit 14 estimates second preference information (S105).
Based on the first preference information and the second preference information, as to each pair (each combination) of each book information (stored in the contents storage unit 51) and each catch phrase (stored in the additional information storage unit 52), the score calculation unit 16 calculates a recommendation score (S106).
From pairs of each book information and each catch phrase, the selection unit 17 selects at least one pair of which the recommendation score is higher (S107). The selection unit 17 selects book information included in the selected pair from the contents storage unit 51. The selection unit 17 extracts a catch phrase included in the selected pair from the additional information storage unit 52. In the present embodiment, one pair of which the recommendation score is the highest is selected. Accordingly, one book information and one catch phrase thereof are extracted.
The output unit 18 outputs the book information and the catch phrase (each selected) to the information communication terminal 10 (S108).
Thus far, processing of the information processing apparatus 1 is already explained.
Hereinafter, detail processing of the information processing apparatus 1 is explained.
The contents storage unit 51 correspondingly stores book information and the book attribute thereof.
The book attribute is previously set based on detail information of each book, and stored in correspondence with the book ID into the contents storage unit 51. Moreover, the book attribute may be stored into another storage unit (not shown in Fig.) by managing with an attribute ID.
In
The additional information acquisition unit 11 acquires a catch phrase of a book stored in the contents storage unit 51. In the present embodiment, the catch phrase is acquired by an input from a user who utilizes the information processing apparatus 1. For example, the user is imagined as a person having a user ID to utilize the information processing apparatus 1. However, the user may be limited to a specific user such as a salesman of book, an artiste or a copy writer.
The additional information acquisition unit 11 extracts target book information as a target to assign a catch phrase from the contents storage unit 51 (S201).
For example, in
Moreover, the target book information may be actively selected by the user or selected by the additional information acquisition unit 11 based on book information of books purchased by the user in the past. In order for the user (who will assign a catch phrase) to confirm, the additional information acquisition unit 11 displays the catch phrase (extracted) via the information communication terminal utilized by the user. For example, the additional information acquisition unit 11 may display the book information (extracted) with an input form to input a catch phrase and a contribution button to contribute the catch phrase via the information communication terminal.
After the user has written a catch phrase into the input form and pushed the contribution button, the additional information acquisition unit 11 acquires the catch phrase written into the input form (S202). The additional information acquisition unit 11 writes catch phrase information correspondingly including the catch phrase, a catch phrase ID, a book ID and a user ID, into the additional information storage unit 52 (S203).
The attribute extraction unit 12 semantically analyzes the catch phrase, and extracts a catch phrase attribute of a target book to which the catch phrase is assigned. Extraction of the catch phrase attribute may be executed whenever the user inputs the catch phrase.
As to the catch phrase extracted, the attribute extraction unit 12 semantically analyzes by using a semantic dictionary shown in
For example, as to the catch phrase “mystery novel that Mr.X was scared”, the attribute extraction unit 12 respectively extracts a semantic class “talent who speaks by inspiration” for “Mr.X”, a semantic class “impression” for “scared”, and a semantic class “horror” for “mystery”, from the semantic dictionary.
In this case, from these semantic classes, the attribute extraction unit 12 generates an array A “talent who speaks by inspiration, impression, horror”. Moreover, as to a word having a plurality of meaning, all semantic classes may be extracted, a semantic class having the largest confidence level (shown in
The attribute extraction unit 12 extracts a book attribute corresponding to the book ID (extracted from the additional information storage unit 52) from the contents storage unit 51, and generates an array B of the book attribute (S304). For example, from the book attribute corresponding to the book ID “C001” shown in
The attribute extraction unit 12 subtracts elements of the array B from elements of the array A, and generates an array C (S305). In above-mentioned example, the array B “mystery, horror, author 001” is subtracted from the array A “talent who speaks by inspiration, impression, horror”, and the array C “talent who speaks by inspiration, impression” is generated. However, for example, as to a catch phrase “comedy novel that the horror novelist ◯◯ extols” assigned to a book not having element “horror”, the book attribute thereof does not include “horror”. Accordingly, as the catch phrase attribute, “horror” is extracted (not deleted).
Moreover, an element of the catch phrase attribute is not limited to the semantic class. The element may be a morpheme or a part of speech (as morphological analysis result of the catch phrase), a length of the catch phrase, or created by an author of the catch phrase. For example, as shown in
While the user is utilizing an electronic commerce site by the information processing apparatus 1, as to a book having a catch phrase displayed on a display unit of the information communication terminal 10, the detection unit 13 detects selection information representing the user has clicked, and writes the selection information as a history (selection history) into the selection history storage unit 53.
The detection unit 13 decides whether selection information is detected (S401). When the selection information is not detected (No at S401), the detection unit 13 waits until the selection information is detected.
When the selection information is detected (Yes at S401), the detection unit 13 acquires information (time information) related to time at which the selection information is detected (S402). For example, by using a clock (not shown in Fig.) to measure time information, the detection unit may acquire the time information.
The detection unit 13 extracts a book ID of the selected book from the contents storage unit 51, and extracts a catch phrase ID of the selected catch phrase from the additional information storage unit 52 (S403).
The detection unit 13 correspondingly writes a selection attribute representing a type (For example, a click for purchase or a click for browse (access)) of the selection information, the time information, a book ID, a catch phrase ID and a user ID, into the selection history storage unit 53 (S404).
Based on the selection history stored in the selection history storage unit 53, the first estimation unit 14 estimates first preference information of the target user.
As the first preference information, an extent of each user's preference for each word of the book attribute (stored in the contents storage unit 51) is digitized by using the selection history (stored in the selection history storage unit 53). Hereinafter, the first preference information is called “book preference value”. In example of
The first estimation unit 14 extracts the book ID and the selection attribute corresponding to the user ID of the target user, from the selection history storage unit 53 (S502). The first estimation unit 14 generates an array H (book ID, selection attribute) as a pair of the book ID and the selection attribute (extracted) (S503). Briefly, the array H is generated as the number of pairs of the book ID and the selection attribute. Hereinafter, an element of the book ID is “C”, an element of the selection attribute is “L”, and the array H(C,L) is explained. The first estimation unit 14 repeats processing of S504˜S507 (explained hereinafter) as the number of the array H(C,L).
Based on the selection attribute L, the first estimation unit 14 sets a weight W used for calculation of the book preference value (S504). For example, the first estimation unit 14 sets the weight W to 0.1 if the selection attribute L is “browse”, and sets the weight W to 0.5 if the selection attribute L is “purchase”. A method for setting the weight W may be previously determined.
The first estimation unit 14 extracts the book attribute of a book ID (=C) as an array F from the contents storage unit 51 (S505).
As to each word f of the array F extracted, the first estimation unit 14 calculates a book preference value A[f] by using the weight W and the number of occurrences of the word f (S506). For example, the first estimation unit 14 may calculate the book preference value A[f] by an equation (1).
A[f]=A[f]+W (1)
By repeating this calculation, as to each word included in the book attribute of each book ID in the array H, a sum of weight W is calculated. For example, as a real number vector shown in
Moreover, a method for calculating the book preference value is not limited to the equation (1). Another method such as weighted average or weighted sum may be used. For example, the latest history is reflected in the user's preference at that time. Accordingly, if registration time of the history is newer, the weight W may be larger.
Furthermore, in order to easily separate the preference for book from the preference for catch phrase, the weight W may be changed based on an extent that the user takes an interest in the catch phrase. In this case, for example, a plurality of users having similar preference for catch phrase is extracted. Among the plurality of users, a weight W of a book to which a catch phrase having high click ratio is assigned may be set to smaller value.
Based on the selection history stored in the selection history storage unit 53, the second estimation unit 15 estimates second preference information of the target user.
As the second preference information, an extent of each user's preference for each word of the catch phrase attribute (stored in the catch phrase storage unit 52) is digitized by using the selection history (stored in the selection history storage unit 53). Hereinafter, the second preference information is called “catch phrase preference value”. In example of
The second estimation unit 15 extracts the catch phrase ID and the selection attribute corresponding to the user ID of the target user, from the selection history storage unit 53 (S602). The second estimation unit 15 generates an array I (catch phrase ID, selection attribute) as a pair of the catch phrase ID and the selection attribute (extracted) (S603). Briefly, the array I is generated as the number of pairs of the catch phrase ID and the selection attribute. Hereinafter, an element of the catch phrase ID is “D”, an element of the selection attribute is “L”, and the array I (D,L) is explained. The second estimation unit 15 repeats processing of S604˜S607 (explained hereinafter) as the number of the array I (D,L).
Based on the selection attribute L, the second estimation unit 15 sets a weight W′ used for calculation of the catch phrase preference value (S604). For example, the second estimation unit 15 sets the weight W′ to 0.5 if the selection attribute L is “browse”, and sets the weight W′ to 0.1 if the selection attribute L is “purchase”. A method for setting the weight W′ may be previously determined.
The second estimation unit 15 extracts the catch phrase attribute of a book ID (=D) as an array F′ from the additional information storage unit 52 (S605).
As to each word f′ of the array F′ extracted, the second estimation unit 15 calculates a catch phrase preference value B[f′] by using the weight W′ and the number of occurrences of the word f′ (S606). For example, the second estimation unit 15 may calculate the catch phrase preference value B[f′] by an equation (2).
B[f′]=B[f′]+W′ (2)
By repeating this calculation, as to each word included in the catch phrase attribute of each book ID in the array I, a sum of weight W′ is calculated. For example, as a real number vector shown in
Based on the first preference information and the second preference information of a target user, the score calculation unit 16 calculates a recommendation score Z to select books and catch phrases, to be presented to the target user.
Here, the book attribute is represented by a space of the same real number vector as the real number vector of the first preference information. As to each word as keywords of the associative array A representing the first preference information, the book attribute is “1” if similar word is included therein, and the book attribute is “0” if similar word is not included therein. Moreover, the similarity may be calculated by any method for representing a similarity between two real number vectors, such as a cosine similarity. Furthermore, by reflecting the first preference information of similar users with cooperative filtering method, the evaluation score P may be calculated.
From the additional information storage unit 52, the score calculation unit 16 extracts an array A of all catch phrase IDs assigned to a book having the book ID (=C) (S702).
As to each catch phrase ID (=D) included in the array A, the score calculation unit 16 calculates an evaluation score Q of the catch phrase in the same way as the evaluation score P of the book (S703).
The score calculation unit 16 acquires an array B as a pair (D,Q) (S704). From the array B, the score calculation unit 16 acquires a catch phrase ID having the largest evaluation score MaxQ as MaxD (S705).
The score calculation unit 16 calculates a recommendation score Z of a book (corresponded with a catch phrase) represented as (C, MaxD) by an equation (3) (S706).
Z=α×P+β×Max Q (3)
In the equation (3), coefficient α is a weight coefficient of the evaluation score P of the book, and coefficient β is a weight coefficient of the evaluation score Q of the catch phrase. Two coefficients α and β are initially set to “α=1 and β=1” in order for the user to easily change the setting. In this case, in the information communication terminal 10, a user interface (UI) for the target user to set α and β is displayed. Detail thereof is explained afterwards.
Moreover, an equation to calculate the recommendation score Z is not limited to the equation (3), and may be a non-linear equation. As a result, even if a situation “A user respectively prefers books and catch phrases, but does not prefer combination of books and catch phrases” temporarily occurs, this user's preference is reflected in the recommendation score Z. Furthermore, by assigning a plurality of catch phrases in proportion to a size of a display of the information communication terminal 10, a recommendation score function may be extended as f (P, Q1, Q2, . . . ).
The score calculation unit 16 repeats processing of S701˜S706 to each book.
In this case, the catch phrase D101 having the largest score is assigned to the book C001, and a total score thereof is 1.2. As to each book stored in the contents storage unit 51, the score calculation unit 16 calculates a recommendation score Z in case of assigning the catch phrase thereto. In a region 1705 of
In the region 1701, the recommendation score is represented as “(evaluation score P of C001)>(evaluation score P of C002)>(evaluation score P of C003)”. On the other hand, in the region 1705, the recommendation score Z with the catch phrase is represented as “(evaluation score P of C003+evaluation score Q of D301)>(evaluation score P of C001+evaluation score Q of D101)>(evaluation score P of C002+evaluation score Q of D201)”.
For example, when only one book can be displayed because of size of display of the information communication apparatus 10, in conventional technique, the book C001 is displayed. However, in the present embodiment, the book C003 with the catch phrase D301 is displayed. Even if a user does not take an interest in the book C003, by displaying the (attractive) catch phrase D301 therewith, in comparison with displaying the book C001, the user will take more interest in the book C003 than the book C001. As a result, the user can be awakened to new preference.
Based on the recommendation score Z of each book with the catch phrase, the selection unit 17 selects at least one book with the catch phrase to be presented to the target user. In this case, the selection unit 17 may select books with catch phrases in order of higher value of the recommendation score Z, or may select so as not to align books having the same recommendation score Z.
For example, by selecting a wide genre (such as “horror novel”, “manual”, “cartoon” and so on) in which the target user takes an interest, a book with a catch phrase of which the recommendation score Z is high may be selected for each genre. In this case, they may be displayed with comments such as “recommendation of horror novel”, “recommendation of manual”, and “recommendation of cartoon”.
The output unit 18 outputs book information and catch phrases thereof to the information communication terminal 10.
Thus far, the information processing apparatus 1 of the present embodiment is already explained. Hereinafter, the information communication terminal 10 of the present embodiment will be explained.
In the information processing terminal 10, book information and catch phrases (each book with catch phrase thereof) inputted by the information processing apparatus 1 are displayed on a display unit.
The acquisition unit 21 acquires book information and catch phrases (each book with catch phrase thereof) outputted from the information processing apparatus 1.
The display unit 22 displays each book with catch phrase thereof.
By an input from the target user, the indication unit 23 indicates a weight coefficient α of the evaluation score P of the book, and a weight coefficient β of the evaluation score P of the catch phrase.
The output unit 24 outputs the weight coefficient α and the weight coefficient β to the score calculation unit 16 of the information processing apparatus 1. As a result, by using the weight coefficient α and the weight coefficient β, the score calculation unit 16 sets the recommendation score Z.
The acquisition unit 21, the display unit 22, the indication unit 23 and the output unit 24, may be realized by a CPU and a memory used thereby.
Based on adjustment of the slide bar 1901 by the target user, the indication unit 23 indicates the weight coefficient α and the weight coefficient β. For example, when the slide bar 1901 is moved to the book side by the target user, the indication unit 23 sets the weight coefficient α to a larger value. When the slide bar 1901 is moved to the catch phrase side by the target user, the indication unit 23 sets the weight coefficient β to a larger value. The output unit 24 outputs the weight coefficient α and the weight coefficient β to the information processing apparatus 1. Moreover, the weight coefficient α and the weight coefficient β may be “0”.
As a result, in the information processing apparatus 1, by using the weight coefficient α and the weight coefficient β, the score calculation unit 16 calculates a recommendation score Z of each book with the catch phrase thereof. Based on the recommendation score Z, the selection unit 17 selects at least one book with the catch phrase thereof. The output unit 18 outputs the selected book and the selected catch phrase as a book with a catch phrase thereof, to the information communication terminal 10.
Then, in the information communication terminal 10, the acquisition unit 21 newly acquires the book with the catch phrase thereof outputted from the information processing apparatus 1. The display unit 22 displays the book with the catch phrase thereof.
As a result, when the target user moves the slide bar 1901 to the book side, the target user can search books matched with the user's preference. When the target user moves the slide bar 1901 to the catch phrase side, from books in which the target user does not take an interest in the past, a book with a catch phrase in which the target user takes an interest can be selected, and presented to the target user.
Moreover, adjustment of the weight coefficient α and the weight coefficient β is not limited to the slide bar 1901. Any UI for the user able to indicate the weight coefficient α and the weight coefficient β may be utilized. Furthermore, the UI to adjust (change) not only the weight coefficient α and the weight coefficient β but also the evaluation score function may be utilized.
According to the present embodiment, contents in which the user actually takes an interest can be estimated.
In the disclosed embodiments, the processing can be performed by a computer program stored in a computer-readable medium.
In the embodiments, the computer readable medium may be, for example, a magnetic disk, a flexible disk, a hard disk, an optical disk (e.g., CD-ROM, CD-R, DVD), an optical magnetic disk (e.g., MD). However, any computer readable medium, which is configured to store a computer program for causing a computer to perform the processing described above, may be used.
Furthermore, based on an indication of the program installed from the memory device to the computer, OS (operating system) operating on the computer, or MW (middle ware software), such as database management software or network, may execute one part of each processing to realize the embodiments.
Furthermore, the memory device is not limited to a device independent from the computer. By downloading a program transmitted through a LAN or the Internet, a memory device in which the program is stored is included. Furthermore, the memory device is not limited to one. In the case that the processing of the embodiments is executed by a plurality of memory devices, a plurality of memory devices may be included in the memory device.
A computer may execute each processing stage of the embodiments according to the program stored in the memory device. The computer may be one apparatus such as a personal computer or a system in which a plurality of processing apparatuses are connected through a network. Furthermore, the computer is not limited to a personal computer. Those skilled in the art will appreciate that a computer includes a processing unit in an information processor, a microcomputer, and so on. In short, the equipment and the apparatus that can execute the functions in embodiments using the program are generally called the computer.
While certain embodiments have been described, these embodiments have been presented by way of examples only, and are not intended to limit the scope of the inventions. Indeed, the novel embodiments described herein may be embodied in a variety of other forms; furthermore, various omissions, substitutions and changes in the form of the embodiments described herein may be made without departing from the spirit of the inventions. The accompanying claims and their equivalents are intended to cover such forms or modifications as would fall within the scope and spirit of the inventions.
Number | Date | Country | Kind |
---|---|---|---|
2012-089750 | Apr 2012 | JP | national |