Recommendation System
The recommendation system addresses biased recommendations by converting continuous usage histories into fixed-length feature amounts, enabling appropriate suggestions across different services like anime, music, and books.
Patent Information
- Application Number
- JP2022535342
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-07-07
- Filing Date
- 2021-07-06
- Publication Date
- 2025-07-10
- Estimated Expiration
- 2041-07-06
AI Technical Summary
Existing recommendation systems fail to make appropriate recommendations across multiple types of services due to unequal consideration of usage histories, leading to biased recommendations towards services with more usage data, such as music over anime or books.
A recommendation system that groups temporally continuous usage histories of the same service into fixed-length feature amounts, using a conversion model like RNN, to determine recommendations based on balanced usage across different services.
This approach ensures balanced recommendations across various services by considering the usage history of each service appropriately, preventing bias and ensuring diverse content suggestions.
Smart Images

Figure 0007705861000001 
Figure 0007705861000002 
Figure 0007705861000003
Abstract
Description
Technical Field
[0001] The present invention relates to a recommendation system for recommending to users across a plurality of different types of services.
Background Art
[0002] Conventionally, in a system for distributing videos, music, books, games, etc. via a network, it has been proposed to recommend content based on a user's usage history (see, for example, Patent Document 1).
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] Based on the usage history of a user across a plurality of different types of services, it is conceivable to recommend the content of these services to the user collectively, that is, to perform cross-domain recommendations. For example, based on the usage history of a user across services that provide anime, music, and books, it is conceivable to recommend the content of these services to the user collectively. By performing such recommendations, the content of services that the user has not used can also be recommended based on the usage history of the services that the user has used.
[0005] However, if the usage history of each service is not appropriately considered when determining the recommended content, appropriate recommendations cannot be made. For example, consider a service that provides anime and music. Usually, watching anime takes about several tens of minutes, while listening to music only takes about several minutes. Therefore, for example, regarding services for anime and music, even if a user has used them for about the same amount of time, usually the number of music usage histories will be larger. If recommendations are made by treating each usage history equally, there is a risk that recommendations will be biased towards the music service with a larger number of usage histories. If the usage history of each service is not appropriately considered in this way, there is a risk that recommendations will be biased towards a specific type.
[0006] One embodiment of the present invention has been made in view of the above, and an object thereof is to provide a recommendation system that can make appropriate recommendations when making recommendations to users across a plurality of different types of services.
Means for Solving the Problem
[0007] In order to achieve the above object, a recommendation system according to an embodiment of the present invention is a recommendation system related to recommendations to users across a plurality of different types of services, and includes an acquisition unit that acquires usage history information indicating the time-series usage history of a user in a plurality of different types of services, and among the usage histories indicated by the usage history information acquired by the acquisition unit, continuous usage histories that are of the same service and temporally continuous without being sandwiched by the usage of other services are grouped together and converted into fixed-length feature amounts, and a determination unit that determines information to be recommended to the user based on the fixed-length feature amounts obtained by the conversion by the feature amount conversion unit.
[0008] In the recommendation system according to an embodiment of the present invention, information to be recommended to a user is determined based on fixed-length feature quantities converted from continuous usage histories. Therefore, according to the recommendation system according to an embodiment of the present invention, when making recommendations to a user across a plurality of different types of services, the usage history of each service can be appropriately considered to make appropriate recommendations.
Effects of the Invention
[0009] According to an embodiment of the present invention, when making recommendations to a user across a plurality of different types of services, the usage history of each service can be appropriately considered to make appropriate recommendations.
Brief Description of the Drawings
[0010]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Modes for Carrying Out the Invention
[0011] Hereinafter, embodiments of the recommendation system according to the present invention will be described in detail with reference to the drawings. In the description of the drawings, the same reference numerals are assigned to the same elements, and redundant descriptions are omitted.
[0012] Figure 1 shows the recommendation system 10 according to the present embodiment. The recommendation system 10 is a system (device) related to recommendations to users across services of a plurality of different types (domains). The services to be recommended are, for example, services that distribute (provide) content such as anime, music (songs, musical pieces), and books to users. In the present embodiment, the content of three types of services, anime, music, and books, will be described as an example.
[0013] In the present embodiment, distribution is performed by different services for each type of content. For example, an application (app) for using content is prepared for each type of content. The user installs the app for each service on the terminal used by the user, and acquires and uses (for example, plays or displays) the content through the app.
[0014] The recommendation system 10 makes recommendations to users across the above-mentioned plurality of different types of services based on the usage history of each content of the user. That is, the recommendation system 10 makes cross-domain recommendations. In the present embodiment, the recommendation system 10 makes recommendations for each content of anime, music, and books. The recommendation system 10 makes recommendations for a plurality of contents at once. The determination of the content recommended by the recommendation system 10 is made collectively across a plurality of services. When the user accesses a site (for example, a portal site) that displays content that crosses a plurality of services (a plurality of apps) using a terminal, for example, the recommendation system 10 displays information indicating the content to be recommended on the site to make a recommendation. The user can use the recommended content corresponding to the selected information by selecting (for example, clicking) the displayed information.
[0015] The recommendation system 10 is configured by a computer such as a server device. The recommendation system 10 may be configured by a plurality of computers, that is, a computer system. Each service for delivering content to a user may be realized in the same manner as in the prior art. The recommendation system 10 may be integrated with the system (device) that realizes each service, or may be a separate system. When the recommendation system 10 and the system that realizes each service are separate systems, the recommendation system 10 and the system that realizes each service may be able to transmit and receive information to and from each other.
[0016] Using FIG. 2, the outline of the recommendation in this embodiment will be shown. FIG. 2(a) shows the log of the content used by the user in time series, that is, the usage history of the user's service. In FIG. 2(a), the vertical direction indicates the type of service (animation, music, book), and the horizontal direction indicates time (the newer it is as it goes to the right). In this example, there are 3 logs of animation, 100 logs of music, and 1 log of book. When making a recommendation by the conventional method using data where the number of logs is not equal for each type of service in this way, there is a tendency to make a biased recommendation. For example, the data of the service with a large number of logs has a strong influence, and there is a possibility that a recommendation biased towards the service of that type will be made.
[0017] In the example of FIG. 2(a), for example, when recommending 9 pieces of content, a large number of music contents with a large number of logs will be recommended. In the recommendation display of FIG. 2, "A" indicates that animation, "M" indicates that music, and "B" indicates that book content is recommended. As described above, the usage time of each piece of content is greatly different between animation and music. Therefore, even if the number of music logs is large as in the example shown in FIG. 2, it is not always the case that the user is asking for a recommendation only for music content.
[0018] As a method of equalizing the number of data (log numbers) between service types, there is a sampling technique that uses only some of the data. However, if important features are included in the data that are not sampled, there is a risk of missing such important features and being unable to make appropriate recommendations.
[0019] In contrast, in the present embodiment, as shown in FIG. 2(b), among the usage histories shown in FIG. 2(a), continuous usage histories of the same service that are temporally continuous without being sandwiched by the usage of other services are grouped together and converted into a fixed-length feature amount for use in recommendations. The fixed-length feature amount is a feature amount composed of a preset number of data (for example, numerical values). The conversion to the fixed-length feature amount is performed using all of the continuous usage histories of the same service. For example, as shown in FIG. 2(a), if 100 pieces of music content are continuously used without being sandwiched by the usage of other service content, the usage history of the 100 pieces of content is converted into one fixed-length feature amount.
[0020] By using the fixed-length feature amount to make recommendations, it is possible to suppress the influence of the usage history of services with a large number of logs while taking into account all usage histories. That is, according to the present embodiment, appropriate recommendations can be made when making recommendations to users across a plurality of different types of services. As in the example of FIG. 2(b), balanced recommendations can be made for anime, music, and book content.
[0021] Subsequently, the functions of the recommendation system 10 according to the present embodiment will be described. As shown in FIG. 1, the recommendation system 10 includes an acquisition unit 11, a feature amount conversion unit 12, and a determination unit 13.
[0022] The acquisition unit 11 is a functional unit that acquires usage history information indicating the time-series usage history of users in a plurality of different types of services. For example, the acquisition unit 11 acquires usage history information from the systems that implement each service. Alternatively, the terminal used by the user to use the service may be set to transmit the usage history information to the recommendation system 10, and the acquisition unit 11 may receive and acquire the usage history information transmitted from the terminal. An example of the acquired usage history information is shown in Fig. 3(a). As shown in Fig. 3(a), the usage history information is information in which a user ID, an app ID, an operation time, and a content ID are associated.
[0023] The user ID is an ID (information) that identifies the user who uses the service. When using the service, each user is assigned a user ID in advance. The app ID is an ID (information) that identifies the app used to use the service on the terminal. As described above, since the app is for each type of service (content), the app ID also identifies the type of service. Each app is assigned an app ID in advance. The operation time is the time when the user's operation (e.g., click) to use the content is performed, and is, for example, information on year, month, day, hour, and minute. The operation time can be regarded as the time when the user used the content. The content ID is an ID (information) that identifies the content used by the user. Each content is assigned a content ID in advance.
[0024] The acquisition unit 11 outputs the acquired usage history information to the feature quantity conversion unit 12. Alternatively, the acquisition unit 11 may store the acquired usage history information in a data server or the like of the recommendation system 10 so that it can be referred to by the feature quantity conversion unit 12. The acquisition of the usage history information by the acquisition unit 11 may be performed for the usage history information related to the user (the usage history information whose user ID is the user ID of the user) when making a recommendation to the user.
[0025] Note that the usage history information does not necessarily have to be the above-mentioned information. Any information may be used as long as it indicates the time-series usage history of a user in a plurality of different types of services. Also, the acquisition of the usage history information does not necessarily have to be performed as described above, and it may be performed by any method capable of acquiring the usage history information.
[0026] The recommendation system 10 stores content ID management information in advance as master data in a data server or the like. An example of the content ID management information is shown in FIG. 3(b). As shown in FIG. 3(b), the content ID management information is information in which each piece of information of a content name, an app name, an app ID, and a content ID is associated. The content name is the content name of the content corresponding to the associated content ID. The app name is the app name of the app (the app for using the content corresponding to the associated content ID) corresponding to the associated app ID. By referring to the content ID management information, the content name and the app name can be grasped from the content ID and the app ID.
[0027] Meta information is preset for each content. The meta information of the content indicates the characteristics of the content. For example, it is information indicating whether the content is for children or whether the content is the latest. The recommendation system 10 stores content meta management information in advance as master data for managing the meta information in a data server or the like. An example of the content meta management information is shown in FIG. 3(c). As shown in FIG. 3(c), the content meta management information is information in which each piece of information of a composite ID, for children, and the latest is associated. The composite ID is an ID obtained by connecting the app ID and the content ID with a "- (hyphen)".
[0028] The information for children is information indicating whether the content indicated by the composite ID is children's content or not. If the information for children is 1, it indicates that the content is for children; if the information for children is 0, it indicates that the content is not for children. The latest information is information indicating whether the content indicated by the composite ID is the latest content or not. If the latest information is 1, it indicates that the content is the latest; if the latest information is 0, it indicates that the content is not the latest. The information for children and the latest information are set in advance for each content. By referring to the content meta management information, the information for children and the latest information, which are meta information, can be obtained from the content ID and the app ID. Note that any information other than the above may be used as the meta information of the content.
[0029] The feature quantity conversion unit 12 is a functional unit that converts, as a single set, the continuous usage history that is the same service and temporally continuous without being sandwiched by the usage of other services among the usage histories indicated by the usage history information acquired by the acquisition unit 11 into a fixed-length feature quantity. The feature quantity conversion unit 12 may input the continuous usage history in the usage unit (the unit of the content used) and in the chronological order into a conversion model generated by machine learning, and convert the continuous usage history into a fixed-length feature quantity. Further, the feature quantity conversion unit 12 may convert the usage history into a fixed-length feature quantity by a conversion model including an RNN (Recurrent Neural Network). The feature quantity conversion unit 12 performs the conversion of the usage history information into the above-mentioned fixed-length feature quantity in units of users using the usage history information for each user. Specifically, the feature quantity conversion unit 12 performs the conversion into a fixed-length feature quantity as follows.
[0030] The feature quantity conversion unit 12 inputs the usage history information from the acquisition unit 11. The feature quantity conversion unit 12 arranges the usage history information in the order of operation time, and sets the continuous usage history information having the same application ID as the usage history information to be converted into one fixed-length feature quantity. In the following processing, each usage history included in the continuous usage history indicated by the usage history information to be converted into one fixed-length feature quantity is processed in the order of operation time. Also, the feature quantity conversion unit 12 acquires the meta information of the content indicated in each usage history from the content meta management information.
[0031] The feature quantity conversion unit 12 stores the above conversion model in advance, and uses the conversion model to perform the conversion of the continuous usage history into a fixed-length feature quantity. Fig. 4 schematically shows the conversion model (algorithm). The conversion model is a model for inputting the content information indicated in the usage history information and obtaining the fixed-length feature quantity C1. The conversion model is a common one for a plurality of services. The conversion model includes, for example, a neural network generated by machine learning. The neural network may be a multi-layer one, that is, one generated by performing deep learning.
[0032] The conversion model uses seq2seq (Sequence to Sequence), which is a translation model for language translation. The conversion model includes an encoder and a decoder. The encoder and the decoder each include an RNN. The encoder inputs the continuous usage history in the order of the used content units and time series, and outputs the fixed-length feature quantity C1. The fixed-length feature quantity C1 is a vector with a preset number of dimensions.
[0033] The continuous usage history is regarded as the text to be translated in language translation. Also, the information of the content unit input to the encoder corresponds to the information such as words input to the encoder once in language translation. In the example shown in FIG. 4, the continuous usage history is set to "Music A", "Music B", "Music C", and "Music D". In the case of a translation model, when translating a text such as "I am a cat" in Japanese, the input to the encoder is performed in units of "I", "am", "cat", "a", and "cat". In the above case, "Music A", "Music B", "Music C", and "Music D" correspond to "I", "am", "cat", "a", and "cat".
[0034] The decoder inputs the fixed-length feature amount C1, inputs information corresponding to its own output, and outputs the same usage history as above. The information output from the decoder corresponds to the translated text in language translation. In the example shown in FIG. 4, the decoder outputs "Music A", "Music B", "Music C", "Music D", " <eos>Output the information corresponding to "」" in order. Here, " <eos>"(End Of String) is information indicating the end of a series of information. In the case of a translation model, when translating a sentence like "I am a cat" in Japanese, the output would be "I am a cat" in English, and from the decoder, "I", "am", "a", "cat", " <eos>Output the information corresponding to 」 in order. In the above case, 「Music A」「Music B」「Music C」「Music D」 correspond to 「I」「am」「a」「cat」. Note that in the case of the translation model, the output from the model is information corresponding to the translated sentence, but the output from the conversion model in this embodiment is different in that it is the same as the input to the model. Note that the output from the conversion model in this embodiment is a prediction, and thus does not necessarily correspond to the same thing as the input to the conversion model.
[0035] The feature quantity conversion unit 12 inputs the ID and meta information of the content indicated in the usage history information into the encoder of the conversion model. The ID of the content to be input is a content ID or a composite ID. The meta information to be input is the above-described value of 1 or 0 in the number of dimensions of the meta information (in this embodiment, two dimensions of children's orientation and latest information).
[0036] In the operation using the conversion model, the feature quantity conversion unit 12 may perform feature extraction of the information input to the conversion model. The feature extraction is performed in the encoder of the conversion model and can be performed in the same manner as in the prior art. First, the feature quantity conversion unit 12 converts the ID of the content input to the encoder of the conversion model into an N-dimensional vector V1 associated with the ID in advance (N is set in advance). Subsequently, the feature quantity conversion unit 12 converts from the N-dimensional vector V1 and the input meta information into a feature quantity C2 which is a preset number of numerical values (i.e., a vector of a preset number of dimensions). Each numerical value of the feature quantity C2 corresponds to the numerical value of a neuron in the neural network. The conversion from the vector V1 and the meta information to the feature quantity C2 is performed based on the numerical values (weights) set for the connection between the numerical values in the same manner as in the normal operation in the neural network. The vector V1 associated with the ID of the content, and the weights for converting from the vector V1 and the meta information to the feature quantity C2 are generated by machine learning. Note that the vector V1 at the start point of machine learning is composed of random numerical values.
[0037] The feature quantity conversion unit 12 inputs the feature quantity C2 into the RNN included in the encoder of the conversion model. Also, the feature quantity conversion unit 12 inputs the feature quantity C3 (feature extraction layer of the previous time) after the processing in the RNN obtained by the operation on the previous usage history among the continuous usage histories into the RNN. The feature quantity conversion unit 12 adds these feature quantities C2 and C3 to generate the feature quantity C4. The feature quantity C4 generated here is input into the RNN as the above-mentioned feature quantity C3 during the operation on the next usage history among the continuous usage histories. When the usage history input into the RNN is the first usage history among the continuous usage histories, since the operation on the previous usage history has not been performed, a preset and stored feature quantity (for example, a feature quantity with all element values being 0) is used as the feature quantity C3. By using the RNN in this way, it is possible to output the fixed-length feature quantity C1 considering all the continuous usage histories including the order.
[0038] The feature quantity conversion unit 12 sets the feature quantity C4 after the processing in the RNN obtained by the operation on the last usage history among the continuous usage histories as the fixed-length feature quantity C1. The feature quantity conversion unit 12 converts to the fixed-length feature quantity C1 as described above for each continuous usage history. Therefore, the fixed-length feature quantity C1 is generated for the number of continuous usage histories. The feature quantity conversion unit 12 outputs each converted fixed-length feature quantity C1 to the determination unit 13.
[0039] The decoder of the conversion model is not used for the recommendations by the recommendation system 10. Therefore, the decoder does not necessarily have to be stored in the recommendation system 10. However, it is necessary to generate the decoder together when generating the encoder by machine learning. Hereinafter, the function of the decoder will be described.
[0040] The decoder receives the content ID and meta information. This content is the content identified by an operation on the ID and meta information of the previous content in the decoder. The ID and meta information of the content input to the decoder are characterized in the same way as in the encoding to obtain the feature quantity C5. The feature quantity C5 is input to the RNN of the decoder. Also, the feature quantity C6 (the feature extraction layer of the previous time) after processing in the RNN obtained by an operation on the ID and meta information of the previous content is input to the RNN. In the RNN, the feature quantities C5 and C6 are added to generate the feature quantity C7. The feature quantity C7 generated here is input to the RNN as the above-mentioned feature quantity C6 during the operation on the ID and meta information of the next content.
[0041] The ID and meta information of the content first input to the decoder are " <eos>The information related to "". " <eos>The ID and meta-information related to "」 are preset. Also, the feature amount input to the decoder is the fixed-length feature amount C1. First, the fixed-length feature amount C1 is input to the RNN as the above-mentioned feature amount C6, and " <eos>The feature amount C5 related to "」 is input.
[0042] Regarding the ID and meta information of the input content, the information output from the decoder is, for example, a numerical value (a vector in the dimension of the number of contents of all services) indicating the degree (transition probability) of the content to be output. As shown in FIG. 4, the content related to the output includes " <eos>It also includes "". For example, as shown in FIG. 4, the numerical value is within the range of 0 to 1, and the larger the numerical value, the higher the degree of the content to be output. The ID and meta information of the content with the highest output numerical value are used as the input for the next decoding. In the decoder, the above output information is calculated from the feature amount C7 generated by the RNN. This calculation is performed based on the numerical values (weights) set for the connection between numerical values in the same way as normal operations in a neural network. The weights are generated by machine learning.
[0043] The generation of the conversion model by machine learning can be performed, for example, using usage history information for machine learning (different from that used for recommendation) as learning data (teacher data). In that case, for the information of the decoder output, the numerical value of the corresponding content is set to 1, and the numerical values of other contents are set to 0. Note that the learning data may be data of the user to be recommended, data of users other than the recommended target, or a mixture of them. Also, the generation of the conversion model may be performed in the recommendation system 10 or in a system (device) other than the recommendation system 10.
[0044] Also, the conversion model used in the recommendation system 10 is assumed to be used as a program module that is part of artificial intelligence software. The conversion model is used in a computer equipped with a CPU and a memory. Specifically, the CPU of the computer operates to input information to the input layer of the neural network according to instructions from the conversion model stored in the memory, perform operations based on the learned weight coefficients, etc. in the neural network, and output the result from the output layer of the neural network.
[0045] The determination unit 13 is a functional unit that determines information to be recommended to the user based on the fixed-length feature amount obtained by the conversion by the feature amount conversion unit 12. The determination unit 13 may input the fixed-length feature amount obtained by the conversion by the feature amount conversion unit 12 into the recommendation model generated by machine learning in units of the fixed-length feature amount and in the chronological order, and determine the information to be recommended to the user. The determination unit 13 may determine the information to be recommended to the user by a recommendation model including an RNN. The determination unit 13 determines the content to be recommended for each user using the fixed-length feature amount C1 for each user. Specifically, the determination unit 13 determines the content to be recommended as follows.
[0046] The determination unit 13 inputs the fixed-length feature amount C1 of the user to be recommended from the feature amount conversion unit 12. The determination unit 13 arranges the fixed-length feature amounts C1 in the order of operation time. In the following processing, the fixed-length feature amount C1 is processed in the order of operation time.
[0047] The determination unit 13 stores the above-mentioned recommendation model in advance, and determines the content to be recommended using the recommendation model. Fig. 5 schematically shows the recommendation model (algorithm). The recommendation model is a model that inputs the fixed-length feature amount C1 and outputs information on the content (next content) to be recommended to the user. The recommendation model is configured to include, for example, a neural network generated by machine learning. The neural network may be a multi-layer one, that is, one generated by performing deep learning.
[0048] The information of the content to be recommended output from the recommendation model is, for example, a numerical value (a vector in the dimension of the number of contents of all services) indicating the degree of recommendation (transition probability) for each content. The recommendation model is a common one used in multiple services. For example, as shown in FIG. 5, the numerical value is a value in the range of 0 to 1, indicating that the higher the numerical value, the higher the degree of recommendation. This numerical value can also be regarded as the probability that the user uses the content.
[0049] The determination unit 13 inputs the fixed-length feature amount C1 in the time series order into the recommendation model, performs an operation according to the recommendation model, and obtains the output from the recommendation model.
[0050] The determination unit 13 may perform dimensionality reduction on the fixed-length feature amount C1 input to the recommendation model. The dimensionality reduction is performed within the recommendation model and can be performed in the same manner as in the prior art (and in the same manner as the conversion from the vector V1 and the meta-information to the feature amount C2). The determination unit 13 converts the fixed-length feature amount C1 into a feature amount C8 that is a preset number of numerical values (i.e., a vector in a preset number of dimensions). The number of dimensions of the feature amount C8 is smaller than the number of dimensions of the fixed-length feature amount C1. Each numerical value of the feature amount C8 corresponds to the numerical value of a neuron in the neural network. The conversion from the fixed-length feature amount C1 to the feature amount C8 is performed based on the numerical values (weights) set for the connection between numerical values in the same manner as the normal operation in the neural network. The weights for converting the fixed-length feature amount C1 to the feature amount C8 are generated by machine learning. Note that the above-mentioned dimensionality reduction does not necessarily have to be performed, and the fixed-length feature amount C1 may be used for subsequent processing.
[0051] The decision-making unit 13 inputs the feature amount C8 after dimensional compression into the RNN included in the recommendation model. Also, the decision-making unit 13 inputs the feature amount C9 (previous-time dimensional compression layer) after processing in the RNN obtained by the operation on the previous feature amount C8 into the RNN. The decision-making unit 13 adds these feature amounts C8 and C9 to generate a feature amount C10. The feature amount C10 generated here is input into the RNN as the above-mentioned feature amount C9 during the operation on the next fixed-length feature amount C1. For the first fixed-length feature amount C1, since the operation on the previous fixed-length feature amount C1 has not been performed, a preset and stored feature amount (for example, a feature amount with all element values set to 0) is used as the feature amount C9. By using the RNN in this way, it is possible to output information on the content to be recommended, taking into account all the previous fixed-length feature amounts C1, that is, the usage history of the user's content up to that point, including the order.
[0052] The decision-making unit 13 calculates information on the content to be recommended from the feature amount C10 obtained by inputting the last fixed-length feature amount C1 obtained from the user's usage history information into the recommendation model. This calculation is performed based on numerical values (weights) set for the connection between numerical values in the same way as normal operations in a neural network. The weights are generated by machine learning.
[0053] The generation of the recommendation model by machine learning can be performed, for example, using usage history information for machine learning (teacher data) different from that used for recommendation. In that case, the information on the content to be recommended corresponding to the output may be set as follows. For example, instead of using all the usage history information as input, the numerical value of the content actually used next to the usage history information corresponding to the input is set to 1, and the numerical values of the other contents are set to 0. Note that the generation of the recommendation model may be performed by the recommendation system 10 or by a system (device) other than the recommendation system 10.
[0054] In addition, the recommendation model used in the recommendation system 10 is assumed to be used as a program module that is part of artificial intelligence software. The recommendation model is used in a computer equipped with a CPU and memory. Specifically, the CPU of the computer operates to input information into the input layer of the neural network according to instructions from the recommendation model stored in the memory, perform calculations based on the learned weight coefficients and the like in the neural network, and output the result from the output layer of the neural network.
[0055] The determination unit 13 determines the content to be recommended to the user based on the calculated information of the content to be recommended. For example, the determination unit 13 determines, as the content to be recommended to the user, the content whose numerical values of each content indicated by the following content information are up to the top N positions. Here, N is a numerical value set and stored in advance. The determination unit 13 outputs the determined content information. For example, the determination unit 13 transmits the determined content information to the user's terminal as described above and causes the information to be displayed. At this time, as the content information displayed on the user's terminal, the content name and the app name may be acquired from the content ID management information shown in FIG. 3(b). Note that the determination of the content to be recommended to the user does not necessarily have to be performed as described above, and may be performed based on the calculated result. Also, the output of the information may be performed by a method other than the above. The above is the function of the recommendation system 10 according to the present embodiment.
[0056] Next, using the flowchart of FIG. 6, the processing (operation method performed by the recommendation system 10) executed by the recommendation system 10 according to this embodiment will be described. This processing is performed on a per-user basis when recommending content to the user. In this processing, the acquisition unit 11 acquires the usage history information of the user (S01). Subsequently, the feature quantity conversion unit 12 converts each of the continuous usage histories in the usage history indicated by the usage history information into a fixed-length feature quantity (S02). This conversion is performed using the above-described conversion model. Subsequently, the determination unit 13 determines the content to be recommended to the user from the fixed-length feature quantity (S03). This determination is performed using the above-described recommendation model. Subsequently, the determination unit 13 performs the recommendation of the determined content (S04). The above is the processing executed by the recommendation system 10 according to this embodiment.
[0057] In this embodiment, the information to be recommended to the user is determined based on the fixed-length feature quantity converted from the continuous usage history. Therefore, according to this embodiment, when making recommendations to users across a plurality of different types of services, the usage history of each service can be appropriately considered to make appropriate recommendations. Specifically, even for short and long continuous usage histories in each service, they can be converted into fixed-length feature quantities and handled. By this handling, for example, even when the music usage history is continuous for 100 items as shown in FIG. 2, it is possible to prevent a recommendation biased towards music. Alternatively, even when the usage history of anime and books is small, it is possible to prevent the content of these services from not being recommended. As a result, it is possible to make various recommendations to users whose usage is biased towards some services.
[0058] Also, as in this embodiment, the continuous usage history may be input into the conversion model in the order of usage units and time series, and the continuous usage history may be converted into fixed-length feature quantities. Also, the conversion model may include an RNN. According to this configuration, it is possible to surely and appropriately perform the conversion into fixed-length feature quantities, and as a result, appropriate recommendations can be made. For example, by using the conversion model based on the translation model as described above, it is possible to perform the conversion into fixed-length feature quantities that appropriately take into account the time series information. However, the conversion into fixed-length feature quantities does not necessarily have to be performed as described above, and any method may be used as long as it converts the continuous usage history as a whole.
[0059] Also, as in this embodiment, the fixed-length feature quantities may be input into the recommendation model in the order of fixed-length feature quantity units and time series, and the information to be recommended to the user may be determined. Also, the recommendation model may include an RNN. According to this configuration, it is possible to surely and appropriately make recommendations. However, the determination of the information to be recommended to the user does not necessarily have to be performed as described above, and it may be performed based on the fixed-length feature quantities.
[0060] In the above-described embodiment, the recommendation of the distributed content such as anime, music, and books has been described as an example, but other recommendations may also be targeted. The target of the recommendation of the recommendation system 10 is not limited to the above-described content, and any content that is sequentially used by the user may be sufficient. Also, in this case, the usage may be in a form (for example, an order) corresponding to the target of the recommendation.
[0061] Note that the block diagrams used in the description of the above embodiments show blocks of functional units. These functional blocks (components) are realized by any combination of at least one of hardware and software. Also, the method of realizing each functional block is not particularly limited. That is, each functional block may be realized using one physically or logically combined device, or two or more physically or logically separated devices may be directly or indirectly (e.g., using wired, wireless, etc.) connected and realized using these multiple devices. The functional block may be realized by combining software with the above one device or the above multiple devices.
[0062] Functions include, but are not limited to, judgment, decision, determination, calculation, computation, processing, derivation, investigation, search, confirmation, reception, transmission, output, access, solution, selection, selection, establishment, comparison, assumption, expectation, regarded as, notification (broadcasting), notification (notifying), communication (communicating), forwarding, configuration (configuring), reconfiguration (reconfiguring), allocation (allocating, mapping), assignment (assigning), etc. For example, a functional block (component) that functions as transmission is referred to as a transmission unit or a transmitter. In any case, as described above, the realization method is not particularly limited.
[0063] For example, the recommendation system 10 in an embodiment of the present disclosure may function as a computer that performs the information processing of the present disclosure. FIG. 7 is a diagram showing an example of the hardware configuration of the recommendation system 10 according to an embodiment of the present disclosure. The above-described recommendation system 10 may be physically configured as a computer device including a processor 1001, a memory 1002, a storage 1003, a communication device 1004, an input device 1005, an output device 1006, a bus 1007, and the like.
[0064] In the following description, the term "device" can be read as a circuit, a device, a unit, etc. The hardware configuration of the recommendation system 10 may be configured to include one or more of each device shown in the figure, or may be configured without including some devices.
[0065] Each function in the recommendation system 10 is realized by loading a predetermined software (program) onto hardware such as the processor 1001 and the memory 1002, so that the processor 1001 performs calculations and controls communication by the communication device 1004, or controls at least one of reading and writing data in the memory 1002 and the storage 1003.
[0066] The processor 1001, for example, operates an operating system to control the entire computer. The processor 1001 may be composed of a central processing unit (CPU) including an interface with peripheral devices, a control device, an arithmetic device, registers, etc. For example, each function in the above-described recommendation system 10 may be realized by the processor 1001.
[0067] Also, the processor 1001 reads a program (program code), a software module, data, etc. from at least one of the storage 1003 and the communication device 1004 into the memory 1002, and executes various processes according to these. As the program, a program for causing a computer to execute at least a part of the operations described in the above-described embodiments is used. For example, each function in the recommendation system 10 may be realized by a control program stored in the memory 1002 and operating in the processor 1001. Although it has been described that the above-described various processes are executed by one processor 1001, they may be executed simultaneously or sequentially by two or more processors 1001. The processor 1001 may be implemented by one or more chips. Note that the program may be transmitted from a network via a telecommunication line.
[0068] The memory 1002 is a computer-readable recording medium and may be constituted by at least one of, for example, a ROM (Read Only Memory), an EPROM (Erasable Programmable ROM), an EEPROM (Electrically Erasable Programmable ROM), a RAM (Random Access Memory), etc. The memory 1002 may be referred to as a register, a cache, a main memory (main storage device), etc. The memory 1002 can store a program (program code), a software module, etc. executable for implementing information processing according to an embodiment of the present disclosure.
[0069] The storage 1003 is a computer-readable recording medium and may be constituted by at least one of, for example, an optical disk such as a CD-ROM (Compact Disc ROM), a hard disk drive, a flexible disk, a magneto-optical disk (e.g., a compact disk, a digital versatile disk, a Blu-ray (registered trademark) disk), a smart card, a flash memory (e.g., a card, a stick, a key drive), a floppy (registered trademark) disk, a magnetic strip, etc. The storage 1003 may be referred to as an auxiliary storage device. The storage medium included in the recommendation system 10 may be, for example, a database including at least one of the memory 1002 and the storage 1003, a server, or other appropriate medium.
[0070] The communication device 1004 is hardware (a transmission / reception device) for performing communication between computers via at least one of a wired network and a wireless network and is also referred to as, for example, a network device, a network controller, a network card, a communication module, etc.
[0071] The input device 1005 is an input device that receives external input (e.g., keyboard, mouse, microphone, switch, button, sensor, etc.). The output device 1006 is an output device that performs output to the outside (e.g., display, speaker, LED lamp, etc.). Note that the input device 1005 and the output device 1006 may have an integrated configuration (e.g., touch panel).
[0072] Also, each device such as the processor 1001 and the memory 1002 is connected by a bus 1007 for communicating information. The bus 1007 may be configured using a single bus, or may be configured using different buses for each device.
[0073] Further, the recommendation system 10 may be configured to include hardware such as a microprocessor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a programmable logic device (PLD), a field programmable gate array (FPGA), etc., and some or all of the functional blocks may be realized by the hardware. For example, the processor 1001 may be implemented using at least one of these hardwares.
[0074] The processing procedures, sequences, flowcharts, etc. of each aspect / embodiment described in the present disclosure may be reordered as long as there is no contradiction. For example, regarding the methods described in the present disclosure, the elements of various steps are presented using an exemplary order and are not limited to the specific order presented.
[0075] The input / output information, etc. may be stored in a specific location (e.g., memory) or may be managed using a management table. The input / output information, etc. may be overwritten, updated, or appended. The output information, etc. may be deleted. The input information, etc. may be transmitted to other devices.
[0076] The determination may be made based on a value represented by 1 bit (either 0 or 1), a Boolean value (true or false), or a numerical comparison (e.g., comparison with a predetermined value).
[0077] Each aspect / embodiment described in the present disclosure may be used alone, in combination, or switched and used during execution. Further, the notification of predetermined information (e.g., the notification of "being X") is not limited to being explicitly performed, and may be performed implicitly (e.g., by not performing the notification of the predetermined information).
[0078] As described in detail above, for those skilled in the art, it is obvious that the present disclosure is not limited to the embodiments described in the present disclosure. The present disclosure can be implemented as modified and changed aspects without departing from the spirit and scope of the present disclosure determined by the description of the claims. Therefore, the description of the present disclosure is for illustrative purposes and has no restrictive meaning for the present disclosure.
[0079] Software should be broadly interpreted to mean instructions, instruction sets, code, code segments, program code, programs, subprograms, software modules, applications, software applications, software packages, routines, subroutines, objects, executable files, execution threads, procedures, functions, etc., whether called software, firmware, middleware, microcode, a hardware description language, or by any other name.
[0080] Also, software, instructions, information, etc. may be transmitted and received via a transmission medium. For example, when software is transmitted from a website, server, or other remote source using at least one of wired technologies (such as coaxial cable, optical fiber cable, twisted pair, Digital Subscriber Line (DSL), etc.) and wireless technologies (such as infrared, microwave, etc.), at least one of these wired technologies and wireless technologies is included within the definition of the transmission medium.
[0081] The terms "system" and "network" used in the present disclosure are used interchangeably.
[0082] Also, the information, parameters, etc. described in the present disclosure may be represented using absolute values, relative values from a predetermined value, or corresponding other information.
[0083] The terms "determining" and "deciding" as used in this disclosure may encompass a wide variety of actions. "Determining" and "deciding" may include, for example, judging, calculating, computing, processing, deriving, investigating, looking up (e.g., searching in a table, database, or another data structure), ascertaining, and considering the ascertained facts as "determined" or "decided". Further, "determining" and "deciding" may include considering receiving (e.g., receiving information), transmitting (e.g., transmitting information), inputting, outputting, accessing (e.g., accessing data in a memory), and the like as "determined" or "decided". Also, "determining" and "deciding" may include considering resolving, selecting, choosing, establishing, comparing, and the like as "determined" or "decided". That is, "determining" and "deciding" may include considering that some action has been "determined" or "decided". Also, "determining (deciding)" may be read as "assuming", "expecting", "considering", etc.
[0084] The terms "connected" or "coupled" and any variations thereof mean any direct or indirect connection or coupling between two or more elements, and can include the presence of one or more intermediate elements between two elements that are "connected" or "coupled" to each other. The coupling or connection between elements may be physical, logical, or a combination thereof. For example, "connected" may be read as "accessed". As used in this disclosure, two elements can be considered to be "connected" or "coupled" to each other using at least one of one or more electrical wires, cables, and printed electrical connections, and also using, as some non-limiting and non-exhaustive examples, electromagnetic energy having wavelengths in the radio frequency region, microwave region, and optical (both visible and invisible) regions.
[0085] As used in this disclosure, the recitation "based on" does not mean "based only on" unless otherwise specified. In other words, the recitation "based on" means both "based only on" and "based at least on".
[0086] Any reference to an element using designations such as "first", "second", etc. used in this disclosure does not generally limit the quantity or order of those elements. These designations can be used in this disclosure as a convenient way to distinguish between two or more elements. Thus, references to the first and second elements do not mean that only two elements can be employed, or that the first element must precede the second element in any way.
[0087] In this disclosure, when the terms "include", "including" and variations thereof are used, these terms are intended to be inclusive in the same manner as the term "comprising". Further, the term "or" used in this disclosure is not intended to be exclusive.
[0088] In the present disclosure, for example, when articles are added by translation, such as a, an, and the in English, the present disclosure may include that the nouns following these articles are in the plural form.
[0089] In the present disclosure, the term "A and B are different" may mean "A and B are different from each other". Note that the term may also mean "A and B are each different from C". Terms such as "separate", "coupled", etc. may also be interpreted in the same way as "different".
Description of Reference Numerals
[0090] 10… Recommendation system, 11… Acquisition unit, 12… Feature quantity conversion unit, 13… Decision unit, 1001… Processor, 1002… Memory, 1003… Storage, 1004… Communication device, 1005… Input device, 1006… Output device, 1007… Bus.< / eos> < / eos> < / eos> < / eos> < / eos> < / eos> < / eos>
Claims
1. A recommendation system for recommendations to users across a plurality of different types of services, comprising: an acquisition unit that acquires usage history information indicating the time-series usage history of a user in a plurality of different types of services; a feature quantity conversion unit that converts, as a single set, continuous usage histories that are of the same service and temporally continuous without being sandwiched by usage of other services among the usage histories indicated by the usage history information acquired by the acquisition unit into fixed-length feature quantities; a determination unit that determines information to be recommended to a user based on the fixed-length feature quantities obtained by the conversion by the feature quantity conversion unit; A recommendation system comprising the above.
2. The recommendation system according to claim 1, wherein the feature quantity conversion unit inputs the continuous usage histories, in units of usage and in temporal order, into a conversion model generated by machine learning, and converts the continuous usage histories into fixed-length feature quantities.
3. The recommendation system according to claim 2, wherein the feature quantity conversion unit converts continuous usage histories into fixed-length feature quantities by a conversion model including an RNN.
4. The recommendation system according to any one of claims 1 to 3, wherein the determination unit inputs the fixed-length feature quantities obtained by the conversion by the feature quantity conversion unit, in units of fixed-length feature quantities and in temporal order, into a recommendation model generated by machine learning, and determines information to be recommended to a user.
5. The recommendation system according to claim 4, wherein the determination unit determines information to be recommended to a user by a recommendation model including an RNN.
Citation Information
Patent Citations
Recommendation information providing method
JP2009064365A
Apparatus and method for processing information, and program
JP2020046895A
Feature vector generation device, feature vector generation method, and feature vector generation program
JP2020052518A