System
The system addresses the challenge of selecting optimal mobile phone rate plans by inputting usage and needs, using a generative model and clustering algorithm to recommend cost-effective plans, thereby reducing user expenses.
Patent Information
- Application Number
- JP2024126337
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-01
- Publication Date
- 2026-02-13
AI Technical Summary
Users face difficulty in choosing the best mobile phone rate plan due to complex pricing structures and abundant plan information, often resulting in excessive charges.
A system that inputs user mobile phone usage information, communicates with a server using a generative model to generate optimal pricing plans based on usage, budget, and specific needs, and displays these plans to the user, utilizing a clustering algorithm to analyze usage patterns and select the most suitable plan.
The system provides users with the most suitable pricing plan, reducing the risk of excessive fees and enabling efficient selection of mobile phone services.
Smart Images

Figure 2026024016000001_ABST
Abstract
Description
[Technical Field]
[0001] The technology of the present disclosure relates to a system. [Background technology]
[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]
[0004] Many users feel that mobile phone charges are too high or want to reduce their expenses, but choosing the best rate plan for them is difficult, and the complex pricing structure and abundant plan information make it extremely difficult to make a choice. As a result, many users choose an inappropriate rate plan and end up paying excessive charges, which is an issue. [Means for solving the problem]
[0005] To solve this problem, the present invention proposes a system that includes a means for inputting a user's mobile phone usage information, a means for communicating with a server that includes a generative model that generates an optimal pricing plan based on the usage information, and a means for displaying the optimal pricing plan provided by the server to the user. The system further includes a means for inputting the user's budget and specific needs, and for the generative model to evaluate the optimal pricing plan based on the input. Additionally, the system also includes a means for the generative model to analyze the user's usage patterns using a clustering algorithm and select the optimal pricing plan based on the results. In this way, the present invention provides the most suitable pricing plan to the user, reducing the risk of the user paying excessive fees.
[0006] "User" refers to a mobile phone user or individual who wants to use this system to find the best rate plan.
[0007] "Usage status" refers to data that indicates a user's mobile phone usage pattern, including information such as call duration, data traffic, and number of SMS messages sent and received.
[0008] "Budget" refers to the maximum amount a user is willing to pay for a mobile phone monthly fee.
[0009] "Specific needs" refers to special requests or desired features that users have in their rate plans (e.g., unlimited calls, data caps, etc.).
[0010] "Price plan" refers to a plan among the multiple plans offered by mobile phone carriers in which the price and the services provided are specified.
[0011] "Generative model" refers to a machine learning model or algorithm that calculates, evaluates, or recommends optimal pricing plans based on user input.
[0012] "Server" refers to a computer system that receives user usage information, calculates the optimal pricing plan using a generative model, and transmits the results to the user.
[0013] The "display means" refers to an interface for displaying the optimal rate plan received from the server in a form that allows the user to check it.
[0014] "Communication means" refers to the communication protocol and network connection for sending user usage information to the server and receiving recommendation results from the server.
[0015] A "clustering algorithm" is a statistical method for grouping data, used here to analyze user usage patterns. [Brief explanation of the drawings]
[0016] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9]1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 3 is a sequence diagram showing a processing flow of the data processing system according to the first embodiment. [Figure 12] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION
[0017] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.
[0018] First, the terms used in the following description will be explained.
[0019] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).
[0020] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.
[0021] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.
[0022] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.
[0023] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."
[0024] [First embodiment]
[0025] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0026] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0027] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0028] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.
[0029] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0030] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0031] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.
[0032] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0033] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0034] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0035] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0036] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0037] This invention is a system that proposes the most suitable rate plan based on the user's mobile phone usage, budget, and specific needs. Below, the program processing of this system is explained in natural language and with concrete examples.
[0038] System Overview
[0039] The system consists of three main components:
[0040] 1. User terminal: A device through which users input their mobile phone usage information, budget, and special needs.
[0041] 2. Server: Receives information sent from the user terminal, calculates the optimal pricing plan using the generative model, and proposes it.
[0042] 3. Display means: An interface that displays the optimal rate plan sent from the server to the user.
[0043] User terminal processing
[0044] The user terminal provides an interface for the user to input their mobile phone usage, budget, and specific needs. For example, the user inputs their data usage over the past three months as 300MB, 450MB, and 500MB, and sets a monthly budget of 4,000 yen. They also input their specific needs, such as "unlimited calls" and "data communication."
[0045] The input data is converted into a data format such as JSON format and sent to the server.
[0046] Server Processing
[0047] The server does the following:
[0048] 1. Data reception:
[0049] The server receives data sent from the user's device, including usage, budget, and specific needs.
[0050] 2. Load plan information:
[0051] The server loads the plan information for each carrier, including the plan name, price, and features (e.g., "unlimited calling," "data," etc.).
[0052] 3. Applying clustering algorithms:
[0053] The server analyzes the user's usage patterns using a clustering algorithm (e.g., KMeans) based on the user's usage data.
[0054] 4. Select the best plan:
[0055] Based on the results of the clustering algorithm, the system selects the pricing plan that best fits the user's budget and specific needs. For example, it selects the plan with the closest price to the user's budget of 4,000 yen.
[0056] 5. Returning the recommended plan:
[0057] The server returns the selected optimal rate plan to the user terminal.
[0058] Display method processing
[0059] The user terminal displays the optimal pricing plan received from the server, including the plan name, price, and features.
[0060] Specific examples
[0061] For example, suppose the data usage over the past three months was 300MB, 450MB, and 500MB, the user's budget was 4,000 yen, and their needs were "unlimited calls" and "data communication." Based on this information, the server selects the optimal plan (e.g., "Plan B": 4,500 yen, unlimited calls, data communication) and presents it to the user. In this case, the user is likely to be able to save money by checking the newly recommended plan and replacing their current plan.
[0062] In this way, the present invention is a system that utilizes machine learning and data analysis to propose optimal pricing plans to users based on information about their mobile phone usage, allowing users to save money and use mobile phone services efficiently.
[0063] The processing flow will be explained below.
[0064] Step 1:
[0065] The user inputs their mobile phone usage information (e.g., data usage over the past few months), their budget, and their specific needs into their device. Specifically, they input "300MB, 450MB, 500MB" as usage information, "4,000 yen" as budget, and "unlimited calls" and "data communication" as needs.
[0066] Step 2:
[0067] The terminal converts the data entered by the user into a standard format such as JSON and sends it to the server. Specifically, the data is sent in the following format:
[0068] json
[0069] {
[0070] "utilization": [300, 450, 500],
[0071] "budget": 4000,
[0072] "needs": ["unlimited calls", "data"]
[0073] }
[0074] Step 3:
[0075] The server receives user data sent from the terminal, analyzes the received data, and converts it into an internal data structure.
[0076] Step 4:
[0077] The server loads the plan information for each carrier from its internal database and stores it in memory. The plan information includes the plan name, price, and features. For example:
[0078] json
[0079] [
[0080] {"name": "Plan A", "price": 3000, "features": ["Data communication"]},
[0081] {"name": "Plan B", "price": 4500, "features": ["unlimited calls", "data communication"]},
[0082] {"name": "Plan C", "price": 5000, "features": ["unlimited calls", "data", "additional data"]}
[0083] ]
[0084] Step 5:
[0085] The server applies a clustering algorithm based on the user usage data. For example, it uses the KMeans algorithm to analyze the user's data usage patterns. Specifically, it performs clustering as follows:
[0086] python
[0087] utilization = np.array([300, 450, 500])
[0088] kmeans = KMeans(n_clusters=3)
[0089] clusters = kmeans.fit_predict(utilization.reshape(-1, 1))
[0090] Step 6:
[0091] The server selects the pricing plan that best fits the user's budget based on the results of the clustering algorithm. It selects the plan with the closest price to the user's budget (e.g., 4,000 yen). For example, it selects the optimal plan as follows:
[0092] python
[0093] best_plan_index = np.argmin(np.abs(np.array([3000, 4500, 5000]) - 4000))
[0094] recommended_plan = plans[best_plan_index]
[0095] Step 7:
[0096] The server returns the selected optimal pricing plan to the user's device. The data format of the recommended plan is again sent in JSON format as follows:
[0097] json
[0098] {
[0099] "name": "Plan B",
[0100] "price": 4500,
[0101] "features": ["unlimited calls", "data"]
[0102] }
[0103] Step 8:
[0104] The device analyzes the recommended plan received from the server and displays it to the user. Specifically, the plan name, price, and features are displayed on the screen. For example, "Plan B: 4,500 yen, unlimited calls, data communication" is displayed.
[0105] Step 9:
[0106] Users will see recommended plans displayed on their device, allowing them to choose the plan that best suits their usage, budget, and specific needs.
[0107] This allows users to easily find the best pricing plan and save money.
[0108] Example 1
[0109] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0110] Modern communication services are becoming more diverse, and many users face the challenge of finding the optimal pricing plan for their usage and budget. Finding the optimal plan requires a great deal of time and effort, especially when monthly usage and budgets fluctuate. Furthermore, finding the right plan becomes even more difficult for users with specific needs. A system that can solve these issues and provide users with efficient and optimal pricing plans is needed.
[0111] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0112] In this invention, the server includes a means for inputting the usage status of the user's mobile device, a means for communicating with the server including a generative model that generates an optimal pricing plan based on the user's usage status, budget, and specific needs, and a means for displaying the optimal pricing plan provided by the server to the user. This allows the user to automatically receive the optimal pricing plan based on their usage status and needs, enabling them to efficiently and easily select the optimal plan.
[0113] "User" or "customer" refers to a person who uses a mobile terminal.
[0114] "Mobile terminal" refers to a device that allows a user to use a communication service. Specifically, it includes smartphones and tablets.
[0115] "Usage status" refers to information about how a user used a mobile device over a certain period of time, including data usage and call duration.
[0116] "Budget" refers to the amount of money a user can spend on communication services each month.
[0117] "Specific needs" refers to the specific demands or desires that users have for communication services, such as "unlimited calls" or "data communications."
[0118] A "generative model" refers to an algorithm or program that calculates or selects the optimal pricing plan based on user input information.
[0119] "Server" refers to a computing device that receives data sent from a user terminal and calculates the optimal pricing plan using a generative model.
[0120] "Means of communication" refers to the mechanism by which a user device and a server send and receive data. Specifically, this includes the Internet and mobile networks.
[0121] "Plan Information" refers to data related to the pricing plans offered by each carrier, including plan names, prices, and features.
[0122] "Clustering algorithm" refers to an algorithm for classifying user usage patterns based on usage data, including, for example, the KMeans algorithm.
[0123] The "display means" refers to a mechanism for visually presenting the optimal rate plan received from the server to the user. Specifically, this includes a user interface and a display.
[0124] This invention is a system that proposes optimal pricing plans based on a user's mobile device usage, budget, and specific needs. This system is primarily composed of three components: a user device, a server, and a display means.
[0125] User terminal processing
[0126] Users use their mobile devices to input their usage, budget, and specific needs. Specifically, users input their data usage over the past three months, their monthly budget, and their specific needs (e.g., "unlimited calls" or "data communication"). This information is entered through a user interface. The entered information is converted into a data structure such as JSON format and sent to the server.
[0127] Server Processing
[0128] The server receives data sent from the user's device. This data includes usage, budget, and specific needs. The server first analyzes and validates this data. It then loads the carrier's pricing plan information from a database. The loaded information includes the plan name, price, and features (such as "unlimited calls" or "data communication").
[0129] The server then applies a clustering algorithm to analyze the user's usage patterns. Specifically, it uses the KMeans algorithm to classify users into multiple clusters, taking into account their data usage and budget. Based on the results, it selects the pricing plan that best suits the user's budget and specific needs. For example, if a user's budget is 4,000 yen and they prioritize "unlimited calls" and "data communication," it will suggest the optimal pricing plan (e.g., "Plan B": 4,500 yen, unlimited calls, data communication).
[0130] The selected optimal pricing plan is converted back into a data structure such as JSON format and sent back to the user's device.
[0131] Display method processing
[0132] The user device displays the optimal pricing plan information received from the server on its interface. This display includes the plan name, price, features, etc. The user can use this information to decide whether to change to a pricing plan that suits their usage situation and budget.
[0133] Prompt Sentence Examples
[0134] An example of a prompt to input to a generative AI model is as follows:
[0135] "Please suggest the optimal plan based on the user's data usage over the past three months, their budget, and their specific needs. Specifically, the data usage is 300MB, 450MB, and 500MB, with a monthly budget of 4,000 yen, and the specific needs are 'unlimited calls' and 'data communication.'"
[0136] In this way, the system uses machine learning and data analysis to efficiently recommend the most suitable plan for each user based on their usage information, allowing them to save money and use their mobile phone service more efficiently.
[0137] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0138] Step 1: User enters usage, budget, and specific needs
[0139] Using the mobile device interface, users input their data usage over the past three months, their monthly budget, and their specific needs (e.g., "unlimited calls" or "data usage"). The input data is converted to JSON format, which allows it to be sent to the server.
[0140] Step 2: The device sends the input data to the server
[0141] The device converts the information entered by the user into JSON format and sends it to the server. The input data includes the amount of data usage over the past three months (e.g., 300MB, 450MB, 500MB), the monthly budget (e.g., 4,000 yen), and specific needs (e.g., "unlimited calls" or "data communication"). By sending the JSON data, the device allows the server to analyze the data.
[0142] Step 3: The server receives and validates the data
[0143] The server receives the JSON data sent from the terminal. The server first performs validation processing to check whether the format and content of the received data are correct. The validation processing detects missing data and format errors.
[0144] Step 4: The server loads the plan information
[0145] The server loads the pricing plan information of each carrier from the database. The loaded information includes the plan name, price, and features (e.g., "unlimited calls" and "data communication"). For example, "Plan A: 3,000 yen, unlimited calls" and "Plan B: 4,500 yen, unlimited calls, data communication." This allows the server to obtain basic data for selecting a plan that meets the user's requirements.
[0146] Step 5: The server applies the clustering algorithm
[0147] The server applies a clustering algorithm (such as KMeans) to user usage data to analyze usage patterns. The input data is usage (e.g., 300MB, 450MB, 500MB of data usage) and budget (e.g., 4,000 yen), and based on this, users are classified into multiple clusters. The algorithm assigns data points to the optimal cluster, so user patterns become clear.
[0148] Step 6: The server selects the best pricing plan
[0149] Based on the results of the clustering algorithm, the server selects the plan that best suits the user's budget and specific needs. For example, it matches the plan that best suits the user's budget and specific needs based on the usage patterns obtained from the clustering results. As a result, a plan such as "Plan B: 4,500 yen, unlimited calls, data communication" may be selected.
[0150] Step 7: The server returns the optimal plan information to the device.
[0151] The server converts the selected optimal plan into JSON format and returns it to the user's device. The returned data includes the plan name (e.g., "Plan B"), price (e.g., 4,500 yen), and features (e.g., "unlimited calls" and "data communication"). This allows the server to provide information to the user and share the selection results.
[0152] Step 8: The device receives and displays the data from the server.
[0153] The terminal receives the optimal plan information from the server and displays it on the user interface. The displayed information includes the plan name (e.g., "Plan B"), price (e.g., 4,500 yen), and features (e.g., "unlimited calls" and "data communication"). This allows the user to check the proposed plan, compare it with their current plan, and make the optimal selection.
[0154] (Application example 1)
[0155] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0156] Conventional systems that propose optimal pricing plans sometimes did not adequately protect user data, posing security threats. Another problem was the lack of reliability in the secure processing and transmission of user data. Furthermore, user authentication procedures were insufficient, increasing the risk of unauthorized access. It was necessary to resolve these security issues and achieve both the protection of user data and accurate pricing plan proposals.
[0157] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0158] In this invention, the server includes a means for encrypting mobile phone usage data, a means for transmitting the encrypted data, and a means for implementing multi-factor authentication. This strengthens the security of user data, reduces the risk of data leakage to third parties due to encryption, and enables data to be processed safely. Furthermore, multi-factor authentication reduces the risk of unauthorized access and enables highly reliable authentication.
[0159] "Mobile phone usage" refers to a user's past usage patterns of data traffic, call minutes, and other communication services.
[0160] "Generative model" is a general term for algorithms used to generate optimal pricing plans based on user input data.
[0161] "Data processing device" refers to a system that receives data sent by users, analyzes it, and calculates the optimal pricing plan.
[0162] "Encryption" is a security technology that converts data into a format that cannot be deciphered by third parties.
[0163] "Multi-factor authentication" is an authentication method that enhances security by having users provide multiple authentication factors when entering data or using a service.
[0164] A "clustering algorithm" is a computational method for grouping similar data and analyzing user usage patterns.
[0165] "User terminal" refers to a device used by a user to input information, including a smartphone or tablet.
[0166] "Optimal Rate Plan" refers to the mobile phone rate plan that best suits a user, generated based on the user's usage, budget, and specific needs.
[0167] "Transmission means" refers to the technology or protocol for transmitting data from a user terminal to a data processing device.
[0168] "Safe state" refers to a state in which data is encrypted and unauthorized access by third parties is prevented.
[0169] "Usage patterns" refers to trends and characteristics of data that show how users use mobile phone services.
[0170] This invention is a security-enhanced system that proposes optimal pricing plans based on a user's mobile phone usage, budget, and specific needs. The system includes a user terminal, a data processing device, and encryption and multi-factor authentication capabilities.
[0171] User terminal processing
[0172] The user device provides an interface for the user to input their mobile phone usage, budget, and specific needs. For example, the user inputs 300MB, 450MB, and 500MB of data usage over the past three months, and sets a monthly budget of 4,000 yen. They also input their specific needs, such as "unlimited calls" and "data communication." The input data is converted into a data format, such as JSON format.
[0173] Data encryption and transmission
[0174] Data entered at a user terminal is first encrypted using security technologies such as the Fernet library, and the encrypted data is then sent to a data processing device using secure communication means.
[0175] Data processing device processing
[0176] The data processing device receives and decrypts the encrypted data sent from the user terminal. It then analyzes the user's usage data using a clustering algorithm (e.g., KMeans clustering) to select the optimal pricing plan, taking into account the user's budget and specific needs.
[0177] Re-encrypt and return the plan
[0178] The selected optimal rate plan is then encrypted again and sent to the user terminal, which then decrypts the received encrypted plan and displays it to the user.
[0179] Implementing multi-factor authentication
[0180] The system employs multi-factor authentication (e.g. SMS authentication and in-app notifications) that users must pass before entering any data, significantly enhancing security and reducing the risk of unauthorized access.
[0181] Hardware and software used
[0182] Hardware:
[0183] Smartphone or tablet
[0184] Cloud or on-premise servers
[0185] Software and Libraries:
[0186] Python
[0187] requests: A library for sending data
[0188] cryptography: a library for encrypting and decrypting data
[0189] KMeans clustering: a custom library containing a clustering algorithm
[0190] authentication: A custom library that provides multi-factor authentication
[0191] Specific examples
[0192] For example, a user can use a smartphone app to input their data usage over the past three months (300MB, 450MB, 500MB), their monthly budget (4,000 yen), and their specific needs ("unlimited calls"). The application uses encryption technology to securely transmit the data, and a data processor provides the optimal plan (e.g., "Plan B" for 4,500 yen, unlimited calls, and data).
[0193] Prompt Sentence Examples
[0194] "A user enters their data usage over the past three months (300MB, 450MB, 500MB), their monthly budget (4,000 yen), and any special needs ('unlimited calls') into a smartphone app. The app encrypts the data and sends it to a server. The server uses a clustering algorithm to select the optimal plan, decrypts the user's encrypted data, and returns the plan, which is then re-encrypted. The user's smartphone app then decrypts the plan and displays it to the user."
[0195] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0196] Step 1:
[0197] A user uses a smartphone or tablet to input their mobile phone usage, budget, and specific needs. Specifically, the user enters their data usage over the past three months (e.g., 300MB, 450MB, 500MB), monthly budget (e.g., ¥4,000), and needs (e.g., "unlimited calls") into a dedicated application. The device converts this data into JSON format and prepares it for the next processing step.
[0198] input:
[0199] Data usage
[0200] budget
[0201] Specific needs
[0202] output:
[0203] User data in JSON format
[0204] Step 2:
[0205] The terminal encrypts the entered user data. This encryption process uses an encryption library called Fernet. Specifically, the user data is encoded using an encryption key to protect it from being leaked to third parties. The encrypted data is then sent to the server using a secure protocol (e.g., HTTPS).
[0206] input:
[0207] User data in JSON format
[0208] output:
[0209] Encrypted user data
[0210] Step 3:
[0211] The server then decrypts the encrypted data, using the same Fernet library used for encryption. As a result, the server receives data including the user's usage, budget, and specific needs.
[0212] input:
[0213] Encrypted user data
[0214] output:
[0215] Decrypted user data
[0216] Step 4:
[0217] The server uses the decrypted user data to apply a clustering algorithm, specifically the KMeans clustering algorithm, to analyze the user's usage patterns, classifying the user data into multiple clusters and identifying the most suitable pricing plan for the user.
[0218] input:
[0219] Decrypted user data
[0220] output:
[0221] Clustering results
[0222] Step 5:
[0223] Based on the clustering results, the server selects the optimal pricing plan that takes into account the user's budget and specific needs. For example, if the user's budget is 4,000 yen, the server selects the pricing plan closest to that. This information is then re-encrypted and sent back to the user's device.
[0224] input:
[0225] Clustering results
[0226] output:
[0227] Best encrypted pricing plans
[0228] Step 6:
[0229] The device receives the encrypted best price plan from the server, decrypts it using an encryption key shared with the server, and displays the decrypted data in a user-friendly format.
[0230] input:
[0231] Best encrypted pricing plans
[0232] output:
[0233] Decrypted best price plan
[0234] Step 7:
[0235] The user can confirm the optimal plan displayed on the device and, if necessary, proceed with the process to change to this plan within the application.
[0236] input:
[0237] Decrypted best price plan
[0238] output:
[0239] Check the best rate plan and change it
[0240] Through these steps, users can safely and efficiently access the most suitable rate plan.
[0241] Furthermore, an emotion engine that estimates the user's emotion may be combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion.
[0242] The present invention combines a system that proposes optimal pricing plans based on a user's mobile phone usage, budget, and specific needs with an emotion engine that recognizes the user's emotions. By taking into account the user's emotional state, the system proposes more appropriate pricing plans that will provide greater satisfaction to the user.
[0243] System Overview
[0244] The system consists of the following main components:
[0245] 1. User terminal: A device through which a user inputs mobile phone usage information, budget, specific needs, and even emotional state.
[0246] 2. Server: Receives information sent from the user device, calculates and proposes the optimal pricing plan using a generative model, and analyzes the user's emotional state using an emotion engine.
[0247] 3. Display means: An interface that displays the optimal pricing plan provided by the server to the user.
[0248] 4. Emotion engine: This component recognizes the user's emotional state and sends it to the server as data.
[0249] User terminal processing
[0250] The user terminal provides an interface for users to input their mobile phone usage, budget, specific needs, and even emotional state using voice input or facial expressions. For example, a user inputs 300MB, 450MB, and 500MB of data usage over the past three months and sets a monthly budget of 4,000 yen. They also input their specific needs, such as "unlimited calls" and "data communication," and their emotional state, such as "satisfied" or "dissatisfied."
[0251] The input data is converted into a data format such as JSON format and sent to the server.
[0252] Server Processing
[0253] The server does the following:
[0254] 1. Data reception:
[0255] The server receives data sent from the user's device, including usage, budget, specific needs, and emotional state.
[0256] 2. Load plan information:
[0257] The server loads the plan information of each carrier from its internal database and stores it in memory. The plan information includes the plan name, price, and features (e.g., "unlimited calls," "data communication," etc.).
[0258] 3. Applying clustering algorithms:
[0259] The server analyzes the user's data usage patterns using a clustering algorithm (e.g., KMeans) based on the user's usage data.
[0260] 4. Select the best plan:
[0261] Based on the results of the clustering algorithm, the system selects the pricing plan that best fits the user's budget and specific needs. It also tailors the proposal based on their emotional state: for example, if they're "satisfied," it suggests a plan similar to their current plan, while if they're "dissatisfied," it suggests a bigger change.
[0262] 5. Returning the recommended plan:
[0263] The server returns the selected optimal pricing plan to the user's device. The data format of the recommended plan is again sent in JSON format as follows:
[0264] json
[0265] {
[0266] "name": "Plan B",
[0267] "price": 4500,
[0268] "features": ["unlimited calls", "data"]
[0269] }
[0270] Display method processing
[0271] The user device analyzes the recommended plan received from the server and displays it to the user. Specifically, the plan name, price, and features are displayed on the screen. For example, "Plan B: 4,500 yen, unlimited calls, data communication" is displayed.
[0272] Specific examples
[0273] For example, suppose the data usage over the past three months was 300MB, 450MB, and 500MB, the user's budget was 4,000 yen, and their needs were "unlimited calls" and "data communication." In addition, suppose the emotional state was entered as "dissatisfied." Based on this information, the server selects the optimal plan (e.g., "Plan C": 5,000 yen, unlimited calls, data communication, additional data) and proposes it to the user. The user can check the newly recommended plan and improve their price performance by changing from their current plan.
[0274] In this way, the present invention is a system that uses machine learning and data analysis to propose optimal pricing plans to users based on their emotional state as well as information about their mobile phone usage, allowing users to save money and achieve greater satisfaction.
[0275] The processing flow will be explained below.
[0276] Step 1:
[0277] The user inputs mobile phone usage information (e.g., data usage over the past few months), budget, specific needs, and even emotional state using voice input or facial expressions into the user terminal. Specifically, the user inputs "300MB, 450MB, 500MB" as usage information, "4000 yen" as budget, "unlimited calls" and "data communication" as needs, and "dissatisfied" as emotional state.
[0278] Step 2:
[0279] The device converts the data entered by the user into a standard format such as JSON, extracts emotion data using an emotion engine, and sends it to the server. The format of the data sent is as follows:
[0280] json
[0281] {
[0282] "utilization": [300, 450, 500],
[0283] "budget": 4000,
[0284] "needs": ["unlimited calls", "data"],
[0285] "emotion": "dissatisfied"
[0286] }
[0287] Step 3:
[0288] The server receives user data sent from the device, analyzes it, and converts it into an internal data structure. Here, it separates data related to usage, budget, specific needs, and emotional state, and obtains the values of each element.
[0289] Step 4:
[0290] The server loads the plan information of each carrier from its internal database and stores it in memory. The plan information includes the plan name, price, and features (e.g., "unlimited calls," "data communication," etc.). For example, the server loads the following information:
[0291] json
[0292] [
[0293] {"name": "Plan A", "price": 3000, "features": ["Data communication"]},
[0294] {"name": "Plan B", "price": 4500, "features": ["unlimited calls", "data communication"]},
[0295] {"name": "Plan C", "price": 5000, "features": ["unlimited calls", "data", "additional data"]}
[0296] ]
[0297] Step 5:
[0298] The server applies a clustering algorithm based on the user usage data, for example, using the KMeans algorithm to analyze the user's data usage patterns. The clustering is performed as follows:
[0299] python
[0300] utilization = np.array([300, 450, 500])
[0301] kmeans = KMeans(n_clusters=3)
[0302] clusters = kmeans.fit_predict(utilization.reshape(-1, 1))
[0303] Step 6:
[0304] The server selects the pricing plan that best fits the user's budget and specific needs based on the results of the clustering algorithm. It also adjusts the proposal based on the user's emotional state (e.g., "dissatisfied"). For example, if the emotion is "dissatisfied," it prioritizes proposals with more features. The optimal plan is selected as follows:
[0305] python
[0306] Choose the plan that best fits your budget
[0307] best_plan_index_budget = np.argmin(np.abs(np.array([3000, 4500, 5000]) - 4000))
[0308] Emotion-Based Adjustment
[0309] if user_data['emotion'] == "unhappy":
[0310] best_plan_index = np.argmax(np.array([3000, 4500, 5000])) Select the plan with the highest price
[0311] else:
[0312] best_plan_index = best_plan_index_budget
[0313] recommended_plan = plans[best_plan_index]
[0314] Step 7:
[0315] The server returns the selected optimal pricing plan to the user's device. The data format of the recommended plan is again sent in JSON format as follows:
[0316] json
[0317] {
[0318] "name": "Plan C",
[0319] "price": 5000,
[0320] "features": ["unlimited calls", "data", "add data"]
[0321] }
[0322] Step 8:
[0323] The device analyzes the recommended plan received from the server and displays it to the user. Specifically, the plan name, price, and features are displayed on the screen. For example, "Plan C: 5,000 yen, unlimited calls, data communication, additional data" may be displayed.
[0324] Step 9:
[0325] The user can review the recommended plans displayed on the device, allowing them to select the plan that best suits their usage, budget, specific needs, and emotional state.
[0326] This allows users to easily find the best pricing plan, saving money, and by utilizing the emotion engine, increasing user satisfaction.
[0327] Example 2
[0328] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0329] Conventional pricing plan selection systems propose optimal plans by considering only the user's usage, budget, and needs, but do not reflect the user's emotional state. Therefore, there is a need for a plan selection system that considers the user's emotions and provides a higher level of satisfaction.
[0330] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0331] In this invention, the server includes means for inputting the usage status of the user's mobile communication terminal, means for communicating with a host computer including a generative model that generates an optimal service plan based on the user's usage status, means for displaying the optimal service plan provided by the host computer to the user, and means for recognizing the user's emotional state and transmitting it to the host computer. This makes it possible to propose an optimal service plan that takes into account the user's emotional state in addition to their usage status, budget, and needs.
[0332] A "mobile communication terminal" refers to a terminal that can be carried by a user and has communication capabilities.
[0333] "Usage status" refers to data relating to how a user has used a communication terminal in the past and present.
[0334] "Generative model" refers to an algorithm that calculates and generates an optimal service plan based on input data.
[0335] "Host Computer" refers to a central processing unit that communicates with user terminals, processes data, and generates service plans.
[0336] "Emotional state" refers to data that indicates the user's current emotion (e.g., satisfied, dissatisfied).
[0337] "Service plan" refers to a plan that includes fees and service content related to the use of a mobile communication terminal.
[0338] "Classification algorithm" refers to a machine learning algorithm (e.g., KMeans) for classifying data into several groups.
[0339] "Planned expenditure" refers to the budget that the user plans to spend each month or within a certain period of time.
[0340] A "request" refers to a need for a particular service or feature that a user desires.
[0341] The present invention combines a system that proposes optimal service plans based on the user's mobile communication terminal usage, spending plan, and specific requirements with an emotion engine that recognizes the user's emotional state. By taking the user's emotional state into consideration, the system proposes more appropriate service plans that will provide greater satisfaction to the user.
[0342] System Overview
[0343] The system consists of the following main components:
[0344] User terminal: A device through which a user inputs mobile communication terminal usage information, spending plans, specific requests, and even emotional state.
[0345] Server: Receives information sent from the user device, calculates and proposes the optimal service plan using a generative AI model, and analyzes the user's emotional state using an emotion engine.
[0346] Display means: An interface that displays the optimal service plan provided by the server to the user.
[0347] Emotion engine: A component that recognizes the user's emotional state and sends it as data to the server.
[0348] Detailed description of the user device
[0349] The user device provides an interface for the user to input their mobile communication device usage, expenditure plan, specific requests, and even their emotional state using voice input or facial expressions. For example, the user inputs 300MB, 450MB, and 500MB of data usage over the past three months and sets a monthly budget of 4,000 yen. They also input specific requests such as "unlimited calls" and "data communication," and their emotional state such as "satisfied" or "dissatisfied." The input data is converted into a data format such as JSON and sent to the server.
[0350] The software used is a general data conversion library (e.g., Python's json library) and an HTTP communication library (e.g., requests).
[0351] Server details
[0352] The server generates an optimal service plan through the following process.
[0353] 1. Data reception:
[0354] The server receives data sent from the user's device using a framework that supports the HTTP protocol (e.g., Flask or Django).
[0355] 2. Load plan information:
[0356] The server loads various pricing plan information stored in a database into memory. The database can be MySQL or PostgreSQL.
[0357] 3. Applying clustering algorithms:
[0358] The server analyzes data usage patterns by applying clustering algorithms such as KMeans to the user's usage data. The library used is scikit-learn.
[0359] 4. Select the best plan:
[0360] The optimal plan is selected based on the clustering results, the user's spending plan, specific requests, and emotional state, and the emotional engine used is IBM Watson Natural Language Understanding.
[0361] 5. Returning the recommended plan:
[0362] The selected optimal plan is converted into JSON format and returned to the user's device.
[0363] Detailed explanation of display method
[0364] The user device analyzes the recommended plan received from the server and displays it on the screen, including specific information such as the plan name, price, and features.
[0365] Specific examples
[0366] For example, consider the case where a user enters the following information:
[0367] Data usage: 300MB, 450MB, 500MB
[0368] Monthly budget: 4,000 yen
[0369] Needs: Unlimited calls, data
[0370] Emotional state: Unsatisfied
[0371] Based on this information, the server selects the optimal plan (e.g., "Plan C": 5,000 yen, unlimited calls, data communication, additional data) and proposes it to the user. The user can then consider the recommended new plan and change from their current plan.
[0372] Example prompt sentence:
[0373] The data usage over the past three months is 300MB, 450MB, and 500MB, and the monthly budget is 4,000 yen. The needs are "unlimited calls" and "data communication," and the emotional state is "dissatisfied." Please suggest the optimal service plan based on this information.
[0374] In this way, the present invention is a system that provides a more optimal and satisfying pricing plan by taking into consideration the emotional state of the user in addition to the usage situation.
[0375] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0376] Step 1:
[0377] Users input their mobile phone usage, spending plans, specific needs, and emotional state into the device. Specific operations include launching the application, inputting the amount of data usage over the past three months (e.g., 300MB, 450MB, 500MB), setting a monthly budget (4,000 yen), selecting needs (e.g., unlimited calls, data), and inputting their emotional state (e.g., satisfied, dissatisfied). The input data is converted into JSON format.
[0378] input:
[0379] Data usage: 300MB, 450MB, 500MB
[0380] Monthly budget: 4,000 yen
[0381] Request: Unlimited calls, data
[0382] Emotional state: Unsatisfied
[0383] output:
[0384] User-supplied data in JSON format
[0385] Step 2:
[0386] The terminal sends the user-input data converted into JSON format to the server using an HTTP POST request. The communication protocol used is HTTP.
[0387] input:
[0388] User-supplied data in JSON format
[0389] output:
[0390] The request sent to the server
[0391] Step 3:
[0392] The server receives and analyzes the JSON data sent from the user terminal. The main software used is a framework (e.g., Flask, Django) that processes HTTP requests.
[0393] input:
[0394] Request sent to the server
[0395] output:
[0396] Parsed user-input data
[0397] Step 4:
[0398] The server loads carrier plan information from an internal database (e.g., MySQL or PostgreSQL) and stores it in memory. The plan information includes plan name, price, features, etc.
[0399] input:
[0400] Database queries
[0401] output:
[0402] Pricing plan information stored in memory
[0403] Step 5:
[0404] The server analyzes user usage data using a clustering algorithm (e.g., KMeans), using the scikit-learn library.
[0405] input:
[0406] Parsed user-input data
[0407] Pricing plan information stored in memory
[0408] output:
[0409] Clustering results
[0410] Step 6:
[0411] The server selects the optimal service plan based on the results of the clustering algorithm, the user's spending plan, specific needs, and emotional state, using IBM Watson Natural Language Understanding as its emotion engine.
[0412] input:
[0413] Clustering results
[0414] The user's spending plan, specific needs, and emotional state
[0415] output:
[0416] The best service plan for you
[0417] Step 7:
[0418] The server converts the selected optimal service plan into JSON format and returns it to the user terminal using an HTTP POST request.
[0419] input:
[0420] The best service plan for you
[0421] output:
[0422] Optimal service plan in JSON format
[0423] Step 8:
[0424] The user device analyzes the recommended plan received from the server and displays it on the screen. Specific information such as the plan name, price, and features are displayed to the user.
[0425] input:
[0426] The optimal service plan received from the server in JSON format
[0427] output:
[0428] Recommended plan information displayed on the screen
[0429] As a specific example, if the data usage over the past three months is 300MB, 450MB, and 500MB, the budget is 4,000 yen, the request is unlimited calls and data communication, and the emotional state is dissatisfied, the server will select and propose "Plan C: 5,000 yen, unlimited calls, data communication, additional data" to the user.
[0430] (Application example 2)
[0431] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0432] The present invention aims to provide a system that can provide personalized product recommendations based on a user's purchasing history, budget, and specific needs, while also taking into account the user's emotional state, and also to provide a system that can dynamically adjust the recommendations based on the user's emotional state.
[0433] The specification processing by the specification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for inputting the user's purchase history, budget, and specific needs, means for communicating with the server including the generative model, means for displaying optimal products provided by the server to the user, an emotion recognition engine for recognizing the user's emotional state and transmitting emotion data to the server, and means for adjusting the content of suggestions based on the emotional state. This enables a deep understanding of the user's purchasing behavior and appropriate product suggestions based on emotions.
[0434] "User purchase history" is data such as the category, price, and purchase date and time of products purchased by the user in the past.
[0435] A "budget" is the amount of spending that a user is willing to make on a purchase.
[0436] "Specific needs" refer to specific demands and requests that users have for products, such as high quality, new arrivals, and emphasis on functionality.
[0437] A "generative model" is an algorithm or artificial intelligence model that generates optimal products and pricing plans based on past data.
[0438] The "means for communicating with the server" refers to an interface or protocol for sending and receiving data between the user terminal and the server.
[0439] "Best-fit products" are products selected based on a user's purchasing history, budget, specific needs, and emotional state.
[0440] An "emotion recognition engine" is a software or hardware system that recognizes emotions from a user's facial expressions and voice and analyzes them as data.
[0441] The "means for adjusting the proposed content" is a function that dynamically changes the content of the products proposed by the generative model based on the recognized emotional state of the user.
[0442] A "clustering algorithm" is a machine learning algorithm that analyzes user purchasing patterns and groups together data with similar patterns.
[0443] "Emotional state" refers to the psychological state or emotion a user has at a given moment, and includes, for example, excitement, boredom, irritation, etc.
[0444] The system for realizing the present invention comprises a user terminal, a server, a display means, and an emotion recognition engine. The entire system operates in the following steps:
[0445] User terminal configuration
[0446] The user device provides an interface for users to input their purchasing history, budget, and specific needs. The device also has a camera and microphone, which transmit data to an emotion recognition engine. Emotional states are recognized based on voice and facial expression data, and the data is sent to the server.
[0447] Server Configuration
[0448] The server receives the data sent from the user terminal and performs the following processing based on it:
[0449] Analysis of purchase history, budget, and needs data:
[0450] The server receives past purchase history, budget, and specific needs, and analyzes the data, which is then fed into a generative model.
[0451] Emotion recognition engine output analysis:
[0452] The server receives the user's emotional state sent by the emotion recognition engine and analyzes the data, for example, to determine whether the user is excited, bored, or annoyed.
[0453] Using generative models:
[0454] The server integrates purchase history, budget, needs, and emotional state to select the best products using a generative AI model, which uses a clustering algorithm (e.g., KMeans) based on past data.
[0455] Adjustments to selected products:
[0456] It adjusts suggestions based on the user's emotional state. For example, if the user is excited, it will prioritize new arrivals and popular items, if the user is bored, it will suggest special sale items, and if the user is irritated, it will avoid suggesting relatively expensive items.
[0457] Display means
[0458] The display means of the user terminal visually displays the selected products received from the server to the user, specifically, the product names, prices, and features are displayed on the screen.
[0459] Prompt Sentence Examples
[0460] Here is an example of the prompt you will see when using the system:
[0461] "Build a system that suggests optimal products based on a user's past purchase history, budget, and specific needs, and also takes into account the user's emotional state. The objectives are as follows:
[0462] 1. Receive information about your users' purchasing history, budget, and needs, and tailor your recommendations accordingly.
[0463] 2. Recognize emotions from user image data and optimize suggestions.
[0464] Specific examples
[0465] For example, if a user's past purchase history is "Electronics 30,000 yen, Fashion 15,000 yen," their budget is 20,000 yen, and their needs are set as "High quality, new arrivals," the emotion recognition engine may recognize the user's emotional state as "Excited." Based on this data, the system will suggest "High Quality Headphones (18,000 yen)" as the optimal product.
[0466] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0467] Step 1:
[0468] The user's device inputs their purchasing history, budget, and specific needs. This input can be done manually or imported from an existing database. The input data is converted into a standard data format such as JSON format for later processing. Specifically, data such as the category, amount, and purchase date of the user's past purchases is entered.
[0469] Step 2:
[0470] The user device uses a camera and microphone to collect image and audio data of the user, which is then analyzed by an emotion recognition engine to determine the user's emotional state, for example, whether the user is excited, bored, or annoyed.
[0471] Step 3:
[0472] The user device sends data about their purchase history, budget, specific needs, and emotional state to the server, in a standardized format (e.g., JSON).
[0473] Step 4:
[0474] The server receives and analyzes data sent from the user's device. The received data includes purchase history, budget, specific needs, and emotional state. First, the server analyzes the purchase history, budget, and needs and supplies the data to a generative model. Then, it analyzes data sent from the emotion recognition engine to determine the user's emotional state.
[0475] Step 5:
[0476] The server analyzes the user's purchasing patterns using a clustering algorithm (e.g., KMeans) based on their purchase history, budget, and needs. Based on the optimal cluster, it generates a product list that best suits the user's patterns. For example, for a user who frequently purchases items in the electronics category, it will prioritize the selection of new products in that category.
[0477] Step 6:
[0478] The server adjusts the generated product list based on the user's emotional state. For example, if the user is excited, new arrivals and popular items will be placed at the top of the list. If the user is bored, sale items and special offers will be prioritized. If the user is frustrated, high-priced items will be avoided and cost-effective items will be suggested.
[0479] Step 7:
[0480] The server then sends the optimized product list to the user's device, often again in JSON format, and includes details such as product name, price, and features.
[0481] Step 8:
[0482] The user device analyzes the product list received from the server and visually displays it to the user. For example, the list may be displayed as "High Quality Headphones (18,000 yen)" on the user's screen. The user can then select the most suitable product based on this suggestion.
[0483] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0484] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0485] In the above embodiment, an example in which the specific process is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific process may be performed by the smart device 14.
[0486] [Second embodiment]
[0487] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0488] 3, the data processing system 210 includes the data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0489] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0490] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, and the camera 42 are also connected to the bus 52.
[0491] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0492] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0493] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0494] Fig. 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Fig. 4, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0495] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0496] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0497] In the smart glasses 214, the reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0498] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal."
[0499] This invention is a system that proposes the most suitable rate plan based on the user's mobile phone usage, budget, and specific needs. Below, the program processing of this system is explained in natural language and with concrete examples.
[0500] System Overview
[0501] The system consists of three main components:
[0502] 1. User terminal: A device through which users input their mobile phone usage information, budget, and special needs.
[0503] 2. Server: Receives information sent from the user terminal, calculates the optimal pricing plan using the generative model, and proposes it.
[0504] 3. Display means: An interface that displays the optimal rate plan sent from the server to the user.
[0505] User terminal processing
[0506] The user terminal provides an interface for the user to input their mobile phone usage, budget, and specific needs. For example, the user inputs their data usage over the past three months as 300MB, 450MB, and 500MB, and sets a monthly budget of 4,000 yen. They also input their specific needs, such as "unlimited calls" and "data communication."
[0507] The input data is converted into a data format such as JSON format and sent to the server.
[0508] Server Processing
[0509] The server does the following:
[0510] 1. Data reception:
[0511] The server receives data sent from the user's device, including usage, budget, and specific needs.
[0512] 2. Load plan information:
[0513] The server loads the plan information for each carrier, including the plan name, price, and features (e.g., "unlimited calling," "data," etc.).
[0514] 3. Applying clustering algorithms:
[0515] The server analyzes the user's usage patterns using a clustering algorithm (e.g., KMeans) based on the user's usage data.
[0516] 4. Select the best plan:
[0517] Based on the results of the clustering algorithm, the system selects the pricing plan that best fits the user's budget and specific needs. For example, it selects the plan with the closest price to the user's budget of 4,000 yen.
[0518] 5. Returning the recommended plan:
[0519] The server returns the selected optimal rate plan to the user terminal.
[0520] Display method processing
[0521] The user terminal displays the optimal pricing plan received from the server, including the plan name, price, and features.
[0522] Specific examples
[0523] For example, suppose the data usage over the past three months was 300MB, 450MB, and 500MB, the user's budget was 4,000 yen, and their needs were "unlimited calls" and "data communication." Based on this information, the server selects the optimal plan (e.g., "Plan B": 4,500 yen, unlimited calls, data communication) and presents it to the user. In this case, the user is likely to be able to save money by checking the newly recommended plan and replacing their current plan.
[0524] In this way, the present invention is a system that utilizes machine learning and data analysis to propose optimal pricing plans to users based on information about their mobile phone usage, allowing users to save money and use mobile phone services efficiently.
[0525] The processing flow will be explained below.
[0526] Step 1:
[0527] The user inputs their mobile phone usage information (e.g., data usage over the past few months), their budget, and their specific needs into their device. Specifically, they input "300MB, 450MB, 500MB" as usage information, "4,000 yen" as budget, and "unlimited calls" and "data communication" as needs.
[0528] Step 2:
[0529] The terminal converts the data entered by the user into a standard format such as JSON and sends it to the server. Specifically, the data is sent in the following format:
[0530] json
[0531] {
[0532] "utilization": [300, 450, 500],
[0533] "budget": 4000,
[0534] "needs": ["unlimited calls", "data"]
[0535] }
[0536] Step 3:
[0537] The server receives user data sent from the terminal, analyzes the received data, and converts it into an internal data structure.
[0538] Step 4:
[0539] The server loads the plan information for each carrier from its internal database and stores it in memory. The plan information includes the plan name, price, and features. For example:
[0540] json
[0541] [
[0542] {"name": "Plan A", "price": 3000, "features": ["Data communication"]},
[0543] {"name": "Plan B", "price": 4500, "features": ["unlimited calls", "data communication"]},
[0544] {"name": "Plan C", "price": 5000, "features": ["unlimited calls", "data", "additional data"]}
[0545] ]
[0546] Step 5:
[0547] The server applies a clustering algorithm based on the user usage data. For example, it uses the KMeans algorithm to analyze the user's data usage patterns. Specifically, it performs clustering as follows:
[0548] python
[0549] utilization = np.array([300, 450, 500])
[0550] kmeans = KMeans(n_clusters=3)
[0551] clusters = kmeans.fit_predict(utilization.reshape(-1, 1))
[0552] Step 6:
[0553] The server selects the pricing plan that best fits the user's budget based on the results of the clustering algorithm. It selects the plan with the closest price to the user's budget (e.g., 4,000 yen). For example, it selects the optimal plan as follows:
[0554] python
[0555] best_plan_index = np.argmin(np.abs(np.array([3000, 4500, 5000]) - 4000))
[0556] recommended_plan = plans[best_plan_index]
[0557] Step 7:
[0558] The server returns the selected optimal pricing plan to the user's device. The data format of the recommended plan is again sent in JSON format as follows:
[0559] json
[0560] {
[0561] "name": "Plan B",
[0562] "price": 4500,
[0563] "features": ["unlimited calls", "data"]
[0564] }
[0565] Step 8:
[0566] The device analyzes the recommended plan received from the server and displays it to the user. Specifically, the plan name, price, and features are displayed on the screen. For example, "Plan B: 4,500 yen, unlimited calls, data communication" is displayed.
[0567] Step 9:
[0568] Users will see recommended plans displayed on their device, allowing them to choose the plan that best suits their usage, budget, and specific needs.
[0569] This allows users to easily find the best pricing plan and save money.
[0570] Example 1
[0571] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0572] Modern communication services are becoming more diverse, and many users face the challenge of finding the optimal pricing plan for their usage and budget. Finding the optimal plan requires a great deal of time and effort, especially when monthly usage and budgets fluctuate. Furthermore, finding the right plan becomes even more difficult for users with specific needs. A system that can solve these issues and provide users with efficient and optimal pricing plans is needed.
[0573] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0574] In this invention, the server includes a means for inputting the usage status of the user's mobile device, a means for communicating with the server including a generative model that generates an optimal pricing plan based on the user's usage status, budget, and specific needs, and a means for displaying the optimal pricing plan provided by the server to the user. This allows the user to automatically receive the optimal pricing plan based on their usage status and needs, enabling them to efficiently and easily select the optimal plan.
[0575] "User" or "customer" refers to a person who uses a mobile terminal.
[0576] "Mobile terminal" refers to a device that allows a user to use a communication service. Specifically, it includes smartphones and tablets.
[0577] "Usage status" refers to information about how a user used a mobile device over a certain period of time, including data usage and call duration.
[0578] "Budget" refers to the amount of money a user can spend on communication services each month.
[0579] "Specific needs" refers to the specific demands or desires that users have for communication services, such as "unlimited calls" or "data communications."
[0580] A "generative model" refers to an algorithm or program that calculates or selects the optimal pricing plan based on user input information.
[0581] "Server" refers to a computing device that receives data sent from a user terminal and calculates the optimal pricing plan using a generative model.
[0582] "Means of communication" refers to the mechanism by which a user device and a server send and receive data. Specifically, this includes the Internet and mobile networks.
[0583] "Plan Information" refers to data related to the pricing plans offered by each carrier, including plan names, prices, and features.
[0584] "Clustering algorithm" refers to an algorithm for classifying user usage patterns based on usage data, including, for example, the KMeans algorithm.
[0585] The "display means" refers to a mechanism for visually presenting the optimal rate plan received from the server to the user. Specifically, this includes a user interface and a display.
[0586] This invention is a system that proposes optimal pricing plans based on a user's mobile device usage, budget, and specific needs. This system is primarily composed of three components: a user device, a server, and a display means.
[0587] User terminal processing
[0588] Users use their mobile devices to input their usage, budget, and specific needs. Specifically, users input their data usage over the past three months, their monthly budget, and their specific needs (e.g., "unlimited calls" or "data communication"). This information is entered through a user interface. The entered information is converted into a data structure such as JSON format and sent to the server.
[0589] Server Processing
[0590] The server receives data sent from the user's device. This data includes usage, budget, and specific needs. The server first analyzes and validates this data. It then loads the carrier's pricing plan information from a database. The loaded information includes the plan name, price, and features (such as "unlimited calls" or "data communication").
[0591] The server then applies a clustering algorithm to analyze the user's usage patterns. Specifically, it uses the KMeans algorithm to classify users into multiple clusters, taking into account their data usage and budget. Based on the results, it selects the pricing plan that best suits the user's budget and specific needs. For example, if a user's budget is 4,000 yen and they prioritize "unlimited calls" and "data communication," it will suggest the optimal pricing plan (e.g., "Plan B": 4,500 yen, unlimited calls, data communication).
[0592] The selected optimal pricing plan is converted back into a data structure such as JSON format and sent back to the user's device.
[0593] Display method processing
[0594] The user device displays the optimal pricing plan information received from the server on its interface. This display includes the plan name, price, features, etc. The user can use this information to decide whether to change to a pricing plan that suits their usage situation and budget.
[0595] Prompt Sentence Examples
[0596] An example of a prompt to input to a generative AI model is as follows:
[0597] "Please suggest the optimal plan based on the user's data usage over the past three months, their budget, and their specific needs. Specifically, the data usage is 300MB, 450MB, and 500MB, with a monthly budget of 4,000 yen, and the specific needs are 'unlimited calls' and 'data communication.'"
[0598] In this way, the system uses machine learning and data analysis to efficiently recommend the most suitable plan for each user based on their usage information, allowing them to save money and use their mobile phone service more efficiently.
[0599] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0600] Step 1: User enters usage, budget, and specific needs
[0601] Using the mobile device interface, users input their data usage over the past three months, their monthly budget, and their specific needs (e.g., "unlimited calls" or "data usage"). The input data is converted to JSON format, which allows it to be sent to the server.
[0602] Step 2: The device sends the input data to the server
[0603] The device converts the information entered by the user into JSON format and sends it to the server. The input data includes the amount of data usage over the past three months (e.g., 300MB, 450MB, 500MB), the monthly budget (e.g., 4,000 yen), and specific needs (e.g., "unlimited calls" or "data communication"). By sending the JSON data, the device allows the server to analyze the data.
[0604] Step 3: The server receives and validates the data
[0605] The server receives the JSON data sent from the terminal. The server first performs validation processing to check whether the format and content of the received data are correct. The validation processing detects missing data and format errors.
[0606] Step 4: The server loads the plan information
[0607] The server loads the pricing plan information of each carrier from the database. The loaded information includes the plan name, price, and features (e.g., "unlimited calls" and "data communication"). For example, "Plan A: 3,000 yen, unlimited calls" and "Plan B: 4,500 yen, unlimited calls, data communication." This allows the server to obtain basic data for selecting a plan that meets the user's requirements.
[0608] Step 5: The server applies the clustering algorithm
[0609] The server applies a clustering algorithm (such as KMeans) to user usage data to analyze usage patterns. The input data is usage (e.g., 300MB, 450MB, 500MB of data usage) and budget (e.g., 4,000 yen), and based on this, users are classified into multiple clusters. The algorithm assigns data points to the optimal cluster, so user patterns become clear.
[0610] Step 6: The server selects the best pricing plan
[0611] Based on the results of the clustering algorithm, the server selects the plan that best suits the user's budget and specific needs. For example, it matches the plan that best suits the user's budget and specific needs based on the usage patterns obtained from the clustering results. As a result, a plan such as "Plan B: 4,500 yen, unlimited calls, data communication" may be selected.
[0612] Step 7: The server returns the optimal plan information to the device.
[0613] The server converts the selected optimal plan into JSON format and returns it to the user's device. The returned data includes the plan name (e.g., "Plan B"), price (e.g., 4,500 yen), and features (e.g., "unlimited calls" and "data communication"). This allows the server to provide information to the user and share the selection results.
[0614] Step 8: The device receives and displays the data from the server.
[0615] The terminal receives the optimal plan information from the server and displays it on the user interface. The displayed information includes the plan name (e.g., "Plan B"), price (e.g., 4,500 yen), and features (e.g., "unlimited calls" and "data communication"). This allows the user to check the proposed plan, compare it with their current plan, and make the optimal selection.
[0616] (Application example 1)
[0617] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0618] Conventional systems that propose optimal pricing plans sometimes did not adequately protect user data, posing security threats. Another problem was the lack of reliability in the secure processing and transmission of user data. Furthermore, user authentication procedures were insufficient, increasing the risk of unauthorized access. It was necessary to resolve these security issues and achieve both the protection of user data and accurate pricing plan proposals.
[0619] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0620] In this invention, the server includes a means for encrypting mobile phone usage data, a means for transmitting the encrypted data, and a means for implementing multi-factor authentication. This strengthens the security of user data, reduces the risk of data leakage to third parties due to encryption, and enables data to be processed safely. Furthermore, multi-factor authentication reduces the risk of unauthorized access and enables highly reliable authentication.
[0621] "Mobile phone usage" refers to a user's past usage patterns of data traffic, call minutes, and other communication services.
[0622] "Generative model" is a general term for algorithms used to generate optimal pricing plans based on user input data.
[0623] "Data processing device" refers to a system that receives data sent by users, analyzes it, and calculates the optimal pricing plan.
[0624] "Encryption" is a security technology that converts data into a format that cannot be deciphered by third parties.
[0625] "Multi-factor authentication" is an authentication method that enhances security by having users provide multiple authentication factors when entering data or using a service.
[0626] A "clustering algorithm" is a computational method for grouping similar data and analyzing user usage patterns.
[0627] "User terminal" refers to a device used by a user to input information, including a smartphone or tablet.
[0628] "Optimal Rate Plan" refers to the mobile phone rate plan that best suits a user, generated based on the user's usage, budget, and specific needs.
[0629] "Transmission means" refers to the technology or protocol for transmitting data from a user terminal to a data processing device.
[0630] "Safe state" refers to a state in which data is encrypted and unauthorized access by third parties is prevented.
[0631] "Usage patterns" refers to trends and characteristics of data that show how users use mobile phone services.
[0632] This invention is a security-enhanced system that proposes optimal pricing plans based on a user's mobile phone usage, budget, and specific needs. The system includes a user terminal, a data processing device, and encryption and multi-factor authentication capabilities.
[0633] User terminal processing
[0634] The user device provides an interface for the user to input their mobile phone usage, budget, and specific needs. For example, the user inputs 300MB, 450MB, and 500MB of data usage over the past three months, and sets a monthly budget of 4,000 yen. They also input their specific needs, such as "unlimited calls" and "data communication." The input data is converted into a data format, such as JSON format.
[0635] Data encryption and transmission
[0636] Data entered at a user terminal is first encrypted using security technologies such as the Fernet library, and the encrypted data is then sent to a data processing device using secure communication means.
[0637] Data processing device processing
[0638] The data processing device receives and decrypts the encrypted data sent from the user terminal. It then analyzes the user's usage data using a clustering algorithm (e.g., KMeans clustering) to select the optimal pricing plan, taking into account the user's budget and specific needs.
[0639] Re-encrypt and return the plan
[0640] The selected optimal rate plan is then encrypted again and sent to the user terminal, which then decrypts the received encrypted plan and displays it to the user.
[0641] Implementing multi-factor authentication
[0642] The system employs multi-factor authentication (e.g. SMS authentication and in-app notifications) that users must pass before entering any data, significantly enhancing security and reducing the risk of unauthorized access.
[0643] Hardware and software used
[0644] Hardware:
[0645] Smartphone or tablet
[0646] Cloud or on-premise servers
[0647] Software and Libraries:
[0648] Python
[0649] requests: A library for sending data
[0650] cryptography: a library for encrypting and decrypting data
[0651] KMeans clustering: a custom library containing a clustering algorithm
[0652] authentication: A custom library that provides multi-factor authentication
[0653] Specific examples
[0654] For example, a user can use a smartphone app to input their data usage over the past three months (300MB, 450MB, 500MB), their monthly budget (4,000 yen), and their specific needs ("unlimited calls"). The application uses encryption technology to securely transmit the data, and a data processor provides the optimal plan (e.g., "Plan B" for 4,500 yen, unlimited calls, and data).
[0655] Prompt Sentence Examples
[0656] "A user enters their data usage over the past three months (300MB, 450MB, 500MB), their monthly budget (4,000 yen), and any special needs ('unlimited calls') into a smartphone app. The app encrypts the data and sends it to a server. The server uses a clustering algorithm to select the optimal plan, decrypts the user's encrypted data, and returns the plan, which is then re-encrypted. The user's smartphone app then decrypts the plan and displays it to the user."
[0657] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0658] Step 1:
[0659] A user uses a smartphone or tablet to input their mobile phone usage, budget, and specific needs. Specifically, the user enters their data usage over the past three months (e.g., 300MB, 450MB, 500MB), monthly budget (e.g., ¥4,000), and needs (e.g., "unlimited calls") into a dedicated application. The device converts this data into JSON format and prepares it for the next processing step.
[0660] input:
[0661] Data usage
[0662] budget
[0663] Specific needs
[0664] output:
[0665] User data in JSON format
[0666] Step 2:
[0667] The terminal encrypts the entered user data. This encryption process uses an encryption library called Fernet. Specifically, the user data is encoded using an encryption key to protect it from being leaked to third parties. The encrypted data is then sent to the server using a secure protocol (e.g., HTTPS).
[0668] input:
[0669] User data in JSON format
[0670] output:
[0671] Encrypted user data
[0672] Step 3:
[0673] The server then decrypts the encrypted data, using the same Fernet library used for encryption. As a result, the server receives data including the user's usage, budget, and specific needs.
[0674] input:
[0675] Encrypted user data
[0676] output:
[0677] Decrypted user data
[0678] Step 4:
[0679] The server uses the decrypted user data to apply a clustering algorithm, specifically the KMeans clustering algorithm, to analyze the user's usage patterns, classifying the user data into multiple clusters and identifying the most suitable pricing plan for the user.
[0680] input:
[0681] Decrypted user data
[0682] output:
[0683] Clustering results
[0684] Step 5:
[0685] Based on the clustering results, the server selects the optimal pricing plan that takes into account the user's budget and specific needs. For example, if the user's budget is 4,000 yen, the server selects the pricing plan closest to that. This information is then re-encrypted and sent back to the user's device.
[0686] input:
[0687] Clustering results
[0688] output:
[0689] Best encrypted pricing plans
[0690] Step 6:
[0691] The device receives the encrypted best price plan from the server, decrypts it using an encryption key shared with the server, and displays the decrypted data in a user-friendly format.
[0692] input:
[0693] Best encrypted pricing plans
[0694] output:
[0695] Decrypted best price plan
[0696] Step 7:
[0697] The user can confirm the optimal plan displayed on the device and, if necessary, proceed with the process to change to this plan within the application.
[0698] input:
[0699] Decrypted best price plan
[0700] output:
[0701] Check the best rate plan and change it
[0702] Through these steps, users can safely and efficiently access the most suitable rate plan.
[0703] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[0704] The present invention combines a system that proposes optimal pricing plans based on a user's mobile phone usage, budget, and specific needs with an emotion engine that recognizes the user's emotions. By taking into account the user's emotional state, the system proposes more appropriate pricing plans that will provide greater satisfaction to the user.
[0705] System Overview
[0706] The system consists of the following main components:
[0707] 1. User terminal: A device through which a user inputs mobile phone usage information, budget, specific needs, and even emotional state.
[0708] 2. Server: Receives information sent from the user device, calculates and proposes the optimal pricing plan using a generative model, and analyzes the user's emotional state using an emotion engine.
[0709] 3. Display means: An interface that displays the optimal pricing plan provided by the server to the user.
[0710] 4. Emotion engine: This component recognizes the user's emotional state and sends it to the server as data.
[0711] User terminal processing
[0712] The user terminal provides an interface for users to input their mobile phone usage, budget, specific needs, and even emotional state using voice input or facial expressions. For example, a user inputs 300MB, 450MB, and 500MB of data usage over the past three months and sets a monthly budget of 4,000 yen. They also input their specific needs, such as "unlimited calls" and "data communication," and their emotional state, such as "satisfied" or "dissatisfied."
[0713] The input data is converted into a data format such as JSON format and sent to the server.
[0714] Server Processing
[0715] The server does the following:
[0716] 1. Data reception:
[0717] The server receives data sent from the user's device, including usage, budget, specific needs, and emotional state.
[0718] 2. Load plan information:
[0719] The server loads the plan information of each carrier from its internal database and stores it in memory. The plan information includes the plan name, price, and features (e.g., "unlimited calls," "data communication," etc.).
[0720] 3. Applying clustering algorithms:
[0721] The server analyzes the user's data usage patterns using a clustering algorithm (e.g., KMeans) based on the user's usage data.
[0722] 4. Select the best plan:
[0723] Based on the results of the clustering algorithm, the system selects the pricing plan that best fits the user's budget and specific needs. It also tailors the proposal based on their emotional state: for example, if they're "satisfied," it suggests a plan similar to their current plan, while if they're "dissatisfied," it suggests a bigger change.
[0724] 5. Returning the recommended plan:
[0725] The server returns the selected optimal pricing plan to the user's device. The data format of the recommended plan is again sent in JSON format as follows:
[0726] json
[0727] {
[0728] "name": "Plan B",
[0729] "price": 4500,
[0730] "features": ["unlimited calls", "data"]
[0731] }
[0732] Display method processing
[0733] The user device analyzes the recommended plan received from the server and displays it to the user. Specifically, the plan name, price, and features are displayed on the screen. For example, "Plan B: 4,500 yen, unlimited calls, data communication" is displayed.
[0734] Specific examples
[0735] For example, suppose the data usage over the past three months was 300MB, 450MB, and 500MB, the user's budget was 4,000 yen, and their needs were "unlimited calls" and "data communication." In addition, suppose the emotional state was entered as "dissatisfied." Based on this information, the server selects the optimal plan (e.g., "Plan C": 5,000 yen, unlimited calls, data communication, additional data) and proposes it to the user. The user can check the newly recommended plan and improve their price performance by changing from their current plan.
[0736] In this way, the present invention is a system that uses machine learning and data analysis to propose optimal pricing plans to users based on their emotional state as well as information about their mobile phone usage, allowing users to save money and achieve greater satisfaction.
[0737] The processing flow will be explained below.
[0738] Step 1:
[0739] The user inputs mobile phone usage information (e.g., data usage over the past few months), budget, specific needs, and even emotional state using voice input or facial expressions into the user terminal. Specifically, the user inputs "300MB, 450MB, 500MB" as usage information, "4000 yen" as budget, "unlimited calls" and "data communication" as needs, and "dissatisfied" as emotional state.
[0740] Step 2:
[0741] The device converts the data entered by the user into a standard format such as JSON, extracts emotion data using an emotion engine, and sends it to the server. The format of the data sent is as follows:
[0742] json
[0743] {
[0744] "utilization": [300, 450, 500],
[0745] "budget": 4000,
[0746] "needs": ["unlimited calls", "data"],
[0747] "emotion": "dissatisfied"
[0748] }
[0749] Step 3:
[0750] The server receives user data sent from the device, analyzes it, and converts it into an internal data structure. Here, it separates data related to usage, budget, specific needs, and emotional state, and obtains the values of each element.
[0751] Step 4:
[0752] The server loads the plan information of each carrier from its internal database and stores it in memory. The plan information includes the plan name, price, and features (e.g., "unlimited calls," "data communication," etc.). For example, the server loads the following information:
[0753] json
[0754] [
[0755] {"name": "Plan A", "price": 3000, "features": ["Data communication"]},
[0756] {"name": "Plan B", "price": 4500, "features": ["unlimited calls", "data communication"]},
[0757] {"name": "Plan C", "price": 5000, "features": ["unlimited calls", "data", "additional data"]}
[0758] ]
[0759] Step 5:
[0760] The server applies a clustering algorithm based on the user usage data, for example, using the KMeans algorithm to analyze the user's data usage patterns. The clustering is performed as follows:
[0761] python
[0762] utilization = np.array([300, 450, 500])
[0763] kmeans = KMeans(n_clusters=3)
[0764] clusters = kmeans.fit_predict(utilization.reshape(-1, 1))
[0765] Step 6:
[0766] The server selects the pricing plan that best fits the user's budget and specific needs based on the results of the clustering algorithm. It also adjusts the proposal based on the user's emotional state (e.g., "dissatisfied"). For example, if the emotion is "dissatisfied," it prioritizes proposals with more features. The optimal plan is selected as follows:
[0767] python
[0768] Choose the plan that best fits your budget
[0769] best_plan_index_budget = np.argmin(np.abs(np.array([3000, 4500, 5000]) - 4000))
[0770] Emotion-Based Adjustment
[0771] if user_data['emotion'] == "unhappy":
[0772] best_plan_index = np.argmax(np.array([3000, 4500, 5000])) Select the plan with the highest price
[0773] else:
[0774] best_plan_index = best_plan_index_budget
[0775] recommended_plan = plans[best_plan_index]
[0776] Step 7:
[0777] The server returns the selected optimal pricing plan to the user's device. The data format of the recommended plan is again sent in JSON format as follows:
[0778] json
[0779] {
[0780] "name": "Plan C",
[0781] "price": 5000,
[0782] "features": ["unlimited calls", "data", "add data"]
[0783] }
[0784] Step 8:
[0785] The device analyzes the recommended plan received from the server and displays it to the user. Specifically, the plan name, price, and features are displayed on the screen. For example, "Plan C: 5,000 yen, unlimited calls, data communication, additional data" may be displayed.
[0786] Step 9:
[0787] The user can review the recommended plans displayed on the device, allowing them to select the plan that best suits their usage, budget, specific needs, and emotional state.
[0788] This allows users to easily find the best pricing plan, saving money, and by utilizing the emotion engine, increasing user satisfaction.
[0789] Example 2
[0790] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0791] Conventional pricing plan selection systems propose optimal plans by considering only the user's usage, budget, and needs, but do not reflect the user's emotional state. Therefore, there is a need for a plan selection system that considers the user's emotions and provides a higher level of satisfaction.
[0792] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0793] In this invention, the server includes means for inputting the usage status of the user's mobile communication terminal, means for communicating with a host computer including a generative model that generates an optimal service plan based on the user's usage status, means for displaying the optimal service plan provided by the host computer to the user, and means for recognizing the user's emotional state and transmitting it to the host computer. This makes it possible to propose an optimal service plan that takes into account the user's emotional state in addition to their usage status, budget, and needs.
[0794] A "mobile communication terminal" refers to a terminal that can be carried by a user and has communication capabilities.
[0795] "Usage status" refers to data relating to how a user has used a communication terminal in the past and present.
[0796] "Generative model" refers to an algorithm that calculates and generates an optimal service plan based on input data.
[0797] "Host Computer" refers to a central processing unit that communicates with user terminals, processes data, and generates service plans.
[0798] "Emotional state" refers to data that indicates the user's current emotion (e.g., satisfied, dissatisfied).
[0799] "Service plan" refers to a plan that includes fees and service content related to the use of a mobile communication terminal.
[0800] "Classification algorithm" refers to a machine learning algorithm (e.g., KMeans) for classifying data into several groups.
[0801] "Planned expenditure" refers to the budget that the user plans to spend each month or within a certain period of time.
[0802] A "request" refers to a need for a particular service or feature that a user desires.
[0803] The present invention combines a system that proposes optimal service plans based on the user's mobile communication terminal usage, spending plan, and specific requirements with an emotion engine that recognizes the user's emotional state. By taking the user's emotional state into consideration, the system proposes more appropriate service plans that will provide greater satisfaction to the user.
[0804] System Overview
[0805] The system consists of the following main components:
[0806] User terminal: A device through which a user inputs mobile communication terminal usage information, spending plans, specific requests, and even emotional state.
[0807] Server: Receives information sent from the user device, calculates and proposes the optimal service plan using a generative AI model, and analyzes the user's emotional state using an emotion engine.
[0808] Display means: An interface that displays the optimal service plan provided by the server to the user.
[0809] Emotion engine: A component that recognizes the user's emotional state and sends it as data to the server.
[0810] Detailed description of the user device
[0811] The user device provides an interface for the user to input their mobile communication device usage, expenditure plan, specific requests, and even their emotional state using voice input or facial expressions. For example, the user inputs 300MB, 450MB, and 500MB of data usage over the past three months and sets a monthly budget of 4,000 yen. They also input specific requests such as "unlimited calls" and "data communication," and their emotional state such as "satisfied" or "dissatisfied." The input data is converted into a data format such as JSON and sent to the server.
[0812] The software used is a general data conversion library (e.g., Python's json library) and an HTTP communication library (e.g., requests).
[0813] Server details
[0814] The server generates an optimal service plan through the following process.
[0815] 1. Data reception:
[0816] The server receives data sent from the user's device using a framework that supports the HTTP protocol (e.g., Flask or Django).
[0817] 2. Load plan information:
[0818] The server loads various pricing plan information stored in a database into memory. The database can be MySQL or PostgreSQL.
[0819] 3. Applying clustering algorithms:
[0820] The server analyzes data usage patterns by applying clustering algorithms such as KMeans to the user's usage data. The library used is scikit-learn.
[0821] 4. Select the best plan:
[0822] The optimal plan is selected based on the clustering results, the user's spending plan, specific requests, and emotional state, and the emotional engine used is IBM Watson Natural Language Understanding.
[0823] 5. Returning the recommended plan:
[0824] The selected optimal plan is converted into JSON format and returned to the user's device.
[0825] Detailed explanation of display method
[0826] The user device analyzes the recommended plan received from the server and displays it on the screen, including specific information such as the plan name, price, and features.
[0827] Specific examples
[0828] For example, consider the case where a user enters the following information:
[0829] Data usage: 300MB, 450MB, 500MB
[0830] Monthly budget: 4,000 yen
[0831] Needs: Unlimited calls, data
[0832] Emotional state: Unsatisfied
[0833] Based on this information, the server selects the optimal plan (e.g., "Plan C": 5,000 yen, unlimited calls, data communication, additional data) and proposes it to the user. The user can then consider the recommended new plan and change from their current plan.
[0834] Example prompt sentence:
[0835] The data usage over the past three months is 300MB, 450MB, and 500MB, and the monthly budget is 4,000 yen. The needs are "unlimited calls" and "data communication," and the emotional state is "dissatisfied." Please suggest the optimal service plan based on this information.
[0836] In this way, the present invention is a system that provides a more optimal and satisfying pricing plan by taking into consideration the emotional state of the user in addition to the usage situation.
[0837] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0838] Step 1:
[0839] Users input their mobile phone usage, spending plans, specific needs, and emotional state into the device. Specific operations include launching the application, inputting the amount of data usage over the past three months (e.g., 300MB, 450MB, 500MB), setting a monthly budget (4,000 yen), selecting needs (e.g., unlimited calls, data), and inputting their emotional state (e.g., satisfied, dissatisfied). The input data is converted into JSON format.
[0840] input:
[0841] Data usage: 300MB, 450MB, 500MB
[0842] Monthly budget: 4,000 yen
[0843] Request: Unlimited calls, data
[0844] Emotional state: Unsatisfied
[0845] output:
[0846] User-supplied data in JSON format
[0847] Step 2:
[0848] The terminal sends the user-input data converted into JSON format to the server using an HTTP POST request. The communication protocol used is HTTP.
[0849] input:
[0850] User-supplied data in JSON format
[0851] output:
[0852] The request sent to the server
[0853] Step 3:
[0854] The server receives and analyzes the JSON data sent from the user terminal. The main software used is a framework (e.g., Flask, Django) that processes HTTP requests.
[0855] input:
[0856] Request sent to the server
[0857] output:
[0858] Parsed user-input data
[0859] Step 4:
[0860] The server loads carrier plan information from an internal database (e.g., MySQL or PostgreSQL) and stores it in memory. The plan information includes plan name, price, features, etc.
[0861] input:
[0862] Database queries
[0863] output:
[0864] Pricing plan information stored in memory
[0865] Step 5:
[0866] The server analyzes user usage data using a clustering algorithm (e.g., KMeans), using the scikit-learn library.
[0867] input:
[0868] Parsed user-input data
[0869] Pricing plan information stored in memory
[0870] output:
[0871] Clustering results
[0872] Step 6:
[0873] The server selects the optimal service plan based on the results of the clustering algorithm, the user's spending plan, specific needs, and emotional state, using IBM Watson Natural Language Understanding as its emotion engine.
[0874] input:
[0875] Clustering results
[0876] The user's spending plan, specific needs, and emotional state
[0877] output:
[0878] The best service plan for you
[0879] Step 7:
[0880] The server converts the selected optimal service plan into JSON format and returns it to the user terminal using an HTTP POST request.
[0881] input:
[0882] The best service plan for you
[0883] output:
[0884] Optimal service plan in JSON format
[0885] Step 8:
[0886] The user device analyzes the recommended plan received from the server and displays it on the screen. Specific information such as the plan name, price, and features are displayed to the user.
[0887] input:
[0888] The optimal service plan received from the server in JSON format
[0889] output:
[0890] Recommended plan information displayed on the screen
[0891] As a specific example, if the data usage over the past three months is 300MB, 450MB, and 500MB, the budget is 4,000 yen, the request is unlimited calls and data communication, and the emotional state is dissatisfied, the server will select and propose "Plan C: 5,000 yen, unlimited calls, data communication, additional data" to the user.
[0892] (Application example 2)
[0893] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0894] The present invention aims to provide a system that can provide personalized product recommendations based on a user's purchasing history, budget, and specific needs, while also taking into account the user's emotional state, and also to provide a system that can dynamically adjust the recommendations based on the user's emotional state.
[0895] The specification processing by the specification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for inputting the user's purchase history, budget, and specific needs, means for communicating with the server including the generative model, means for displaying optimal products provided by the server to the user, an emotion recognition engine for recognizing the user's emotional state and transmitting emotion data to the server, and means for adjusting the content of suggestions based on the emotional state. This enables a deep understanding of the user's purchasing behavior and appropriate product suggestions based on emotions.
[0896] "User purchase history" is data such as the category, price, and purchase date and time of products purchased by the user in the past.
[0897] A "budget" is the amount of spending that a user is willing to make on a purchase.
[0898] "Specific needs" refer to specific demands and requests that users have for products, such as high quality, new arrivals, and emphasis on functionality.
[0899] A "generative model" is an algorithm or artificial intelligence model that generates optimal products and pricing plans based on past data.
[0900] The "means for communicating with the server" refers to an interface or protocol for sending and receiving data between the user terminal and the server.
[0901] "Best-fit products" are products selected based on a user's purchasing history, budget, specific needs, and emotional state.
[0902] An "emotion recognition engine" is a software or hardware system that recognizes emotions from a user's facial expressions and voice and analyzes them as data.
[0903] The "means for adjusting the proposed content" is a function that dynamically changes the content of the products proposed by the generative model based on the recognized emotional state of the user.
[0904] A "clustering algorithm" is a machine learning algorithm that analyzes user purchasing patterns and groups together data with similar patterns.
[0905] "Emotional state" refers to the psychological state or emotion a user has at a given moment, and includes, for example, excitement, boredom, irritation, etc.
[0906] The system for realizing the present invention comprises a user terminal, a server, a display means, and an emotion recognition engine. The entire system operates in the following steps:
[0907] User terminal configuration
[0908] The user device provides an interface for users to input their purchasing history, budget, and specific needs. The device also has a camera and microphone, which transmit data to an emotion recognition engine. Emotional states are recognized based on voice and facial expression data, and the data is sent to the server.
[0909] Server Configuration
[0910] The server receives the data sent from the user terminal and performs the following processing based on it:
[0911] Analysis of purchase history, budget, and needs data:
[0912] The server receives past purchase history, budget, and specific needs, and analyzes the data, which is then fed into a generative model.
[0913] Emotion recognition engine output analysis:
[0914] The server receives the user's emotional state sent by the emotion recognition engine and analyzes the data, for example, to determine whether the user is excited, bored, or annoyed.
[0915] Using generative models:
[0916] The server integrates purchase history, budget, needs, and emotional state to select the best products using a generative AI model, which uses a clustering algorithm (e.g., KMeans) based on past data.
[0917] Adjustments to selected products:
[0918] It adjusts suggestions based on the user's emotional state. For example, if the user is excited, it will prioritize new arrivals and popular items, if the user is bored, it will suggest special sale items, and if the user is irritated, it will avoid suggesting relatively expensive items.
[0919] Display means
[0920] The display means of the user terminal visually displays the selected products received from the server to the user, specifically, the product names, prices, and features are displayed on the screen.
[0921] Prompt Sentence Examples
[0922] Here is an example of the prompt you will see when using the system:
[0923] "Build a system that suggests optimal products based on a user's past purchase history, budget, and specific needs, and also takes into account the user's emotional state. The objectives are as follows:
[0924] 1. Receive information about your users' purchasing history, budget, and needs, and tailor your recommendations accordingly.
[0925] 2. Recognize emotions from user image data and optimize suggestions.
[0926] Specific examples
[0927] For example, if a user's past purchase history is "Electronics 30,000 yen, Fashion 15,000 yen," their budget is 20,000 yen, and their needs are set as "High quality, new arrivals," the emotion recognition engine may recognize the user's emotional state as "Excited." Based on this data, the system will suggest "High Quality Headphones (18,000 yen)" as the optimal product.
[0928] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0929] Step 1:
[0930] The user's device inputs their purchasing history, budget, and specific needs. This input can be done manually or imported from an existing database. The input data is converted into a standard data format such as JSON format for later processing. Specifically, data such as the category, amount, and purchase date of the user's past purchases is entered.
[0931] Step 2:
[0932] The user device uses a camera and microphone to collect image and audio data of the user, which is then analyzed by an emotion recognition engine to determine the user's emotional state, for example, whether the user is excited, bored, or annoyed.
[0933] Step 3:
[0934] The user device sends data about their purchase history, budget, specific needs, and emotional state to the server, in a standardized format (e.g., JSON).
[0935] Step 4:
[0936] The server receives and analyzes data sent from the user's device. The received data includes purchase history, budget, specific needs, and emotional state. First, the server analyzes the purchase history, budget, and needs and supplies the data to a generative model. Then, it analyzes data sent from the emotion recognition engine to determine the user's emotional state.
[0937] Step 5:
[0938] The server analyzes the user's purchasing patterns using a clustering algorithm (e.g., KMeans) based on their purchase history, budget, and needs. Based on the optimal cluster, it generates a product list that best suits the user's patterns. For example, for a user who frequently purchases items in the electronics category, it will prioritize the selection of new products in that category.
[0939] Step 6:
[0940] The server adjusts the generated product list based on the user's emotional state. For example, if the user is excited, new arrivals and popular items will be placed at the top of the list. If the user is bored, sale items and special offers will be prioritized. If the user is frustrated, high-priced items will be avoided and cost-effective items will be suggested.
[0941] Step 7:
[0942] The server then sends the optimized product list to the user's device, often again in JSON format, and includes details such as product name, price, and features.
[0943] Step 8:
[0944] The user device analyzes the product list received from the server and visually displays it to the user. For example, the list may be displayed as "High Quality Headphones (18,000 yen)" on the user's screen. The user can then select the most suitable product based on this suggestion.
[0945] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0946] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0947] In the above embodiment, an example in which the specific processing is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the smart glasses 214.
[0948] [Third embodiment]
[0949] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0950] 5, the data processing system 310 includes the data processing device 12 and a headset type terminal 314. An example of the data processing device 12 is a server.
[0951] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0952] The headset type terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a display 343. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the display 343 are also connected to the bus 52.
[0953] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0954] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0955] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0956] Fig. 6 shows an example of the main functions of the data processing device 12 and the headset type terminal 314. As shown in Fig. 6, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0957] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0958] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0959] In the headset type terminal 314, a reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0960] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the headset type terminal 314 will be referred to as the "terminal."
[0961] This invention is a system that proposes the most suitable rate plan based on the user's mobile phone usage, budget, and specific needs. Below, the program processing of this system is explained in natural language and with concrete examples.
[0962] System Overview
[0963] The system consists of three main components:
[0964] 1. User terminal: A device through which users input their mobile phone usage information, budget, and special needs.
[0965] 2. Server: Receives information sent from the user terminal, calculates the optimal pricing plan using the generative model, and proposes it.
[0966] 3. Display means: An interface that displays the optimal rate plan sent from the server to the user.
[0967] User terminal processing
[0968] The user terminal provides an interface for the user to input their mobile phone usage, budget, and specific needs. For example, the user inputs their data usage over the past three months as 300MB, 450MB, and 500MB, and sets a monthly budget of 4,000 yen. They also input their specific needs, such as "unlimited calls" and "data communication."
[0969] The input data is converted into a data format such as JSON format and sent to the server.
[0970] Server Processing
[0971] The server does the following:
[0972] 1. Data reception:
[0973] The server receives data sent from the user's device, including usage, budget, and specific needs.
[0974] 2. Load plan information:
[0975] The server loads the plan information for each carrier, including the plan name, price, and features (e.g., "unlimited calling," "data," etc.).
[0976] 3. Applying clustering algorithms:
[0977] The server analyzes the user's usage patterns using a clustering algorithm (e.g., KMeans) based on the user's usage data.
[0978] 4. Select the best plan:
[0979] Based on the results of the clustering algorithm, the system selects the pricing plan that best fits the user's budget and specific needs. For example, it selects the plan with the closest price to the user's budget of 4,000 yen.
[0980] 5. Returning the recommended plan:
[0981] The server returns the selected optimal rate plan to the user terminal.
[0982] Display method processing
[0983] The user terminal displays the optimal pricing plan received from the server, including the plan name, price, and features.
[0984] Specific examples
[0985] For example, suppose the data usage over the past three months was 300MB, 450MB, and 500MB, the user's budget was 4,000 yen, and their needs were "unlimited calls" and "data communication." Based on this information, the server selects the optimal plan (e.g., "Plan B": 4,500 yen, unlimited calls, data communication) and presents it to the user. In this case, the user is likely to be able to save money by checking the newly recommended plan and replacing their current plan.
[0986] In this way, the present invention is a system that utilizes machine learning and data analysis to propose optimal pricing plans to users based on information about their mobile phone usage, allowing users to save money and use mobile phone services efficiently.
[0987] The processing flow will be explained below.
[0988] Step 1:
[0989] The user inputs their mobile phone usage information (e.g., data usage over the past few months), their budget, and their specific needs into their device. Specifically, they input "300MB, 450MB, 500MB" as usage information, "4,000 yen" as budget, and "unlimited calls" and "data communication" as needs.
[0990] Step 2:
[0991] The terminal converts the data entered by the user into a standard format such as JSON and sends it to the server. Specifically, the data is sent in the following format:
[0992] json
[0993] {
[0994] "utilization": [300, 450, 500],
[0995] "budget": 4000,
[0996] "needs": ["unlimited calls", "data"]
[0997] }
[0998] Step 3:
[0999] The server receives user data sent from the terminal, analyzes the received data, and converts it into an internal data structure.
[1000] Step 4:
[1001] The server loads the plan information for each carrier from its internal database and stores it in memory. The plan information includes the plan name, price, and features. For example:
[1002] json
[1003] [
[1004] {"name": "Plan A", "price": 3000, "features": ["Data communication"]},
[1005] {"name": "Plan B", "price": 4500, "features": ["unlimited calls", "data communication"]},
[1006] {"name": "Plan C", "price": 5000, "features": ["unlimited calls", "data", "additional data"]}
[1007] ]
[1008] Step 5:
[1009] The server applies a clustering algorithm based on the user usage data. For example, it uses the KMeans algorithm to analyze the user's data usage patterns. Specifically, it performs clustering as follows:
[1010] python
[1011] utilization = np.array([300, 450, 500])
[1012] kmeans = KMeans(n_clusters=3)
[1013] clusters = kmeans.fit_predict(utilization.reshape(-1, 1))
[1014] Step 6:
[1015] The server selects the pricing plan that best fits the user's budget based on the results of the clustering algorithm. It selects the plan with the closest price to the user's budget (e.g., 4,000 yen). For example, it selects the optimal plan as follows:
[1016] python
[1017] best_plan_index = np.argmin(np.abs(np.array([3000, 4500, 5000]) - 4000))
[1018] recommended_plan = plans[best_plan_index]
[1019] Step 7:
[1020] The server returns the selected optimal pricing plan to the user's device. The data format of the recommended plan is again sent in JSON format as follows:
[1021] json
[1022] {
[1023] "name": "Plan B",
[1024] "price": 4500,
[1025] "features": ["unlimited calls", "data"]
[1026] }
[1027] Step 8:
[1028] The device analyzes the recommended plan received from the server and displays it to the user. Specifically, the plan name, price, and features are displayed on the screen. For example, "Plan B: 4,500 yen, unlimited calls, data communication" is displayed.
[1029] Step 9:
[1030] Users will see recommended plans displayed on their device, allowing them to choose the plan that best suits their usage, budget, and specific needs.
[1031] This allows users to easily find the best pricing plan and save money.
[1032] Example 1
[1033] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1034] Modern communication services are becoming more diverse, and many users face the challenge of finding the optimal pricing plan for their usage and budget. Finding the optimal plan requires a great deal of time and effort, especially when monthly usage and budgets fluctuate. Furthermore, finding the right plan becomes even more difficult for users with specific needs. A system that can solve these issues and provide users with efficient and optimal pricing plans is needed.
[1035] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[1036] In this invention, the server includes a means for inputting the usage status of the user's mobile device, a means for communicating with the server including a generative model that generates an optimal pricing plan based on the user's usage status, budget, and specific needs, and a means for displaying the optimal pricing plan provided by the server to the user. This allows the user to automatically receive the optimal pricing plan based on their usage status and needs, enabling them to efficiently and easily select the optimal plan.
[1037] "User" or "customer" refers to a person who uses a mobile terminal.
[1038] "Mobile terminal" refers to a device that allows a user to use a communication service. Specifically, it includes smartphones and tablets.
[1039] "Usage status" refers to information about how a user used a mobile device over a certain period of time, including data usage and call duration.
[1040] "Budget" refers to the amount of money a user can spend on communication services each month.
[1041] "Specific needs" refers to the specific demands or desires that users have for communication services, such as "unlimited calls" or "data communications."
[1042] A "generative model" refers to an algorithm or program that calculates or selects the optimal pricing plan based on user input information.
[1043] "Server" refers to a computing device that receives data sent from a user terminal and calculates the optimal pricing plan using a generative model.
[1044] "Means of communication" refers to the mechanism by which a user device and a server send and receive data. Specifically, this includes the Internet and mobile networks.
[1045] "Plan Information" refers to data related to the pricing plans offered by each carrier, including plan names, prices, and features.
[1046] "Clustering algorithm" refers to an algorithm for classifying user usage patterns based on usage data, including, for example, the KMeans algorithm.
[1047] The "display means" refers to a mechanism for visually presenting the optimal rate plan received from the server to the user. Specifically, this includes a user interface and a display.
[1048] This invention is a system that proposes optimal pricing plans based on a user's mobile device usage, budget, and specific needs. This system is primarily composed of three components: a user device, a server, and a display means.
[1049] User terminal processing
[1050] Users use their mobile devices to input their usage, budget, and specific needs. Specifically, users input their data usage over the past three months, their monthly budget, and their specific needs (e.g., "unlimited calls" or "data communication"). This information is entered through a user interface. The entered information is converted into a data structure such as JSON format and sent to the server.
[1051] Server Processing
[1052] The server receives data sent from the user's device. This data includes usage, budget, and specific needs. The server first analyzes and validates this data. It then loads the carrier's pricing plan information from a database. The loaded information includes the plan name, price, and features (such as "unlimited calls" or "data communication").
[1053] The server then applies a clustering algorithm to analyze the user's usage patterns. Specifically, it uses the KMeans algorithm to classify users into multiple clusters, taking into account their data usage and budget. Based on the results, it selects the pricing plan that best suits the user's budget and specific needs. For example, if a user's budget is 4,000 yen and they prioritize "unlimited calls" and "data communication," it will suggest the optimal pricing plan (e.g., "Plan B": 4,500 yen, unlimited calls, data communication).
[1054] The selected optimal pricing plan is converted back into a data structure such as JSON format and sent back to the user's device.
[1055] Display method processing
[1056] The user device displays the optimal pricing plan information received from the server on its interface. This display includes the plan name, price, features, etc. The user can use this information to decide whether to change to a pricing plan that suits their usage situation and budget.
[1057] Prompt Sentence Examples
[1058] An example of a prompt to input to a generative AI model is as follows:
[1059] "Please suggest the optimal plan based on the user's data usage over the past three months, their budget, and their specific needs. Specifically, the data usage is 300MB, 450MB, and 500MB, with a monthly budget of 4,000 yen, and the specific needs are 'unlimited calls' and 'data communication.'"
[1060] In this way, the system uses machine learning and data analysis to efficiently recommend the most suitable plan for each user based on their usage information, allowing them to save money and use their mobile phone service more efficiently.
[1061] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1062] Step 1: User enters usage, budget, and specific needs
[1063] Using the mobile device interface, users input their data usage over the past three months, their monthly budget, and their specific needs (e.g., "unlimited calls" or "data usage"). The input data is converted to JSON format, which allows it to be sent to the server.
[1064] Step 2: The device sends the input data to the server
[1065] The device converts the information entered by the user into JSON format and sends it to the server. The input data includes the amount of data usage over the past three months (e.g., 300MB, 450MB, 500MB), the monthly budget (e.g., 4,000 yen), and specific needs (e.g., "unlimited calls" or "data communication"). By sending the JSON data, the device allows the server to analyze the data.
[1066] Step 3: The server receives and validates the data
[1067] The server receives the JSON data sent from the terminal. The server first performs validation processing to check whether the format and content of the received data are correct. The validation processing detects missing data and format errors.
[1068] Step 4: The server loads the plan information
[1069] The server loads the pricing plan information of each carrier from the database. The loaded information includes the plan name, price, and features (e.g., "unlimited calls" and "data communication"). For example, "Plan A: 3,000 yen, unlimited calls" and "Plan B: 4,500 yen, unlimited calls, data communication." This allows the server to obtain basic data for selecting a plan that meets the user's requirements.
[1070] Step 5: The server applies the clustering algorithm
[1071] The server applies a clustering algorithm (such as KMeans) to user usage data to analyze usage patterns. The input data is usage (e.g., 300MB, 450MB, 500MB of data usage) and budget (e.g., 4,000 yen), and based on this, users are classified into multiple clusters. The algorithm assigns data points to the optimal cluster, so user patterns become clear.
[1072] Step 6: The server selects the best pricing plan
[1073] Based on the results of the clustering algorithm, the server selects the plan that best suits the user's budget and specific needs. For example, it matches the plan that best suits the user's budget and specific needs based on the usage patterns obtained from the clustering results. As a result, a plan such as "Plan B: 4,500 yen, unlimited calls, data communication" may be selected.
[1074] Step 7: The server returns the optimal plan information to the device.
[1075] The server converts the selected optimal plan into JSON format and returns it to the user's device. The returned data includes the plan name (e.g., "Plan B"), price (e.g., 4,500 yen), and features (e.g., "unlimited calls" and "data communication"). This allows the server to provide information to the user and share the selection results.
[1076] Step 8: The device receives and displays the data from the server.
[1077] The terminal receives the optimal plan information from the server and displays it on the user interface. The displayed information includes the plan name (e.g., "Plan B"), price (e.g., 4,500 yen), and features (e.g., "unlimited calls" and "data communication"). This allows the user to check the proposed plan, compare it with their current plan, and make the optimal selection.
[1078] (Application example 1)
[1079] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1080] Conventional systems that propose optimal pricing plans sometimes did not adequately protect user data, posing security threats. Another problem was the lack of reliability in the secure processing and transmission of user data. Furthermore, user authentication procedures were insufficient, increasing the risk of unauthorized access. It was necessary to resolve these security issues and achieve both the protection of user data and accurate pricing plan proposals.
[1081] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[1082] In this invention, the server includes a means for encrypting mobile phone usage data, a means for transmitting the encrypted data, and a means for implementing multi-factor authentication. This strengthens the security of user data, reduces the risk of data leakage to third parties due to encryption, and enables data to be processed safely. Furthermore, multi-factor authentication reduces the risk of unauthorized access and enables highly reliable authentication.
[1083] "Mobile phone usage" refers to a user's past usage patterns of data traffic, call minutes, and other communication services.
[1084] "Generative model" is a general term for algorithms used to generate optimal pricing plans based on user input data.
[1085] "Data processing device" refers to a system that receives data sent by users, analyzes it, and calculates the optimal pricing plan.
[1086] "Encryption" is a security technology that converts data into a format that cannot be deciphered by third parties.
[1087] "Multi-factor authentication" is an authentication method that enhances security by having users provide multiple authentication factors when entering data or using a service.
[1088] A "clustering algorithm" is a computational method for grouping similar data and analyzing user usage patterns.
[1089] "User terminal" refers to a device used by a user to input information, including a smartphone or tablet.
[1090] "Optimal Rate Plan" refers to the mobile phone rate plan that best suits a user, generated based on the user's usage, budget, and specific needs.
[1091] "Transmission means" refers to the technology or protocol for transmitting data from a user terminal to a data processing device.
[1092] "Safe state" refers to a state in which data is encrypted and unauthorized access by third parties is prevented.
[1093] "Usage patterns" refers to trends and characteristics of data that show how users use mobile phone services.
[1094] This invention is a security-enhanced system that proposes optimal pricing plans based on a user's mobile phone usage, budget, and specific needs. The system includes a user terminal, a data processing device, and encryption and multi-factor authentication capabilities.
[1095] User terminal processing
[1096] The user device provides an interface for the user to input their mobile phone usage, budget, and specific needs. For example, the user inputs 300MB, 450MB, and 500MB of data usage over the past three months, and sets a monthly budget of 4,000 yen. They also input their specific needs, such as "unlimited calls" and "data communication." The input data is converted into a data format, such as JSON format.
[1097] Data encryption and transmission
[1098] Data entered at a user terminal is first encrypted using security technologies such as the Fernet library, and the encrypted data is then sent to a data processing device using secure communication means.
[1099] Data processing device processing
[1100] The data processing device receives and decrypts the encrypted data sent from the user terminal. It then analyzes the user's usage data using a clustering algorithm (e.g., KMeans clustering) to select the optimal pricing plan, taking into account the user's budget and specific needs.
[1101] Re-encrypt and return the plan
[1102] The selected optimal rate plan is then encrypted again and sent to the user terminal, which then decrypts the received encrypted plan and displays it to the user.
[1103] Implementing multi-factor authentication
[1104] The system employs multi-factor authentication (e.g. SMS authentication and in-app notifications) that users must pass before entering any data, significantly enhancing security and reducing the risk of unauthorized access.
[1105] Hardware and software used
[1106] Hardware:
[1107] Smartphone or tablet
[1108] Cloud or on-premise servers
[1109] Software and Libraries:
[1110] Python
[1111] requests: A library for sending data
[1112] cryptography: a library for encrypting and decrypting data
[1113] KMeans clustering: a custom library containing a clustering algorithm
[1114] authentication: A custom library that provides multi-factor authentication
[1115] Specific examples
[1116] For example, a user can use a smartphone app to input their data usage over the past three months (300MB, 450MB, 500MB), their monthly budget (4,000 yen), and their specific needs ("unlimited calls"). The application uses encryption technology to securely transmit the data, and a data processor provides the optimal plan (e.g., "Plan B" for 4,500 yen, unlimited calls, and data).
[1117] Prompt Sentence Examples
[1118] "A user enters their data usage over the past three months (300MB, 450MB, 500MB), their monthly budget (4,000 yen), and any special needs ('unlimited calls') into a smartphone app. The app encrypts the data and sends it to a server. The server uses a clustering algorithm to select the optimal plan, decrypts the user's encrypted data, and returns the plan, which is then re-encrypted. The user's smartphone app then decrypts the plan and displays it to the user."
[1119] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1120] Step 1:
[1121] A user uses a smartphone or tablet to input their mobile phone usage, budget, and specific needs. Specifically, the user enters their data usage over the past three months (e.g., 300MB, 450MB, 500MB), monthly budget (e.g., ¥4,000), and needs (e.g., "unlimited calls") into a dedicated application. The device converts this data into JSON format and prepares it for the next processing step.
[1122] input:
[1123] Data usage
[1124] budget
[1125] Specific needs
[1126] output:
[1127] User data in JSON format
[1128] Step 2:
[1129] The terminal encrypts the entered user data. This encryption process uses an encryption library called Fernet. Specifically, the user data is encoded using an encryption key to protect it from being leaked to third parties. The encrypted data is then sent to the server using a secure protocol (e.g., HTTPS).
[1130] input:
[1131] User data in JSON format
[1132] output:
[1133] Encrypted user data
[1134] Step 3:
[1135] The server then decrypts the encrypted data, using the same Fernet library used for encryption. As a result, the server receives data including the user's usage, budget, and specific needs.
[1136] input:
[1137] Encrypted user data
[1138] output:
[1139] Decrypted user data
[1140] Step 4:
[1141] The server uses the decrypted user data to apply a clustering algorithm, specifically the KMeans clustering algorithm, to analyze the user's usage patterns, classifying the user data into multiple clusters and identifying the most suitable pricing plan for the user.
[1142] input:
[1143] Decrypted user data
[1144] output:
[1145] Clustering results
[1146] Step 5:
[1147] Based on the clustering results, the server selects the optimal pricing plan that takes into account the user's budget and specific needs. For example, if the user's budget is 4,000 yen, the server selects the pricing plan closest to that. This information is then re-encrypted and sent back to the user's device.
[1148] input:
[1149] Clustering results
[1150] output:
[1151] Best encrypted pricing plans
[1152] Step 6:
[1153] The device receives the encrypted best price plan from the server, decrypts it using an encryption key shared with the server, and displays the decrypted data in a user-friendly format.
[1154] input:
[1155] Best encrypted pricing plans
[1156] output:
[1157] Decrypted best price plan
[1158] Step 7:
[1159] The user can confirm the optimal plan displayed on the device and, if necessary, proceed with the process to change to this plan within the application.
[1160] input:
[1161] Decrypted best price plan
[1162] output:
[1163] Check the best rate plan and change it
[1164] Through these steps, users can safely and efficiently access the most suitable rate plan.
[1165] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1166] The present invention combines a system that proposes optimal pricing plans based on a user's mobile phone usage, budget, and specific needs with an emotion engine that recognizes the user's emotions. By taking into account the user's emotional state, the system proposes more appropriate pricing plans that will provide greater satisfaction to the user.
[1167] System Overview
[1168] The system consists of the following main components:
[1169] 1. User terminal: A device through which a user inputs mobile phone usage information, budget, specific needs, and even emotional state.
[1170] 2. Server: Receives information sent from the user device, calculates and proposes the optimal pricing plan using a generative model, and analyzes the user's emotional state using an emotion engine.
[1171] 3. Display means: An interface that displays the optimal pricing plan provided by the server to the user.
[1172] 4. Emotion engine: This component recognizes the user's emotional state and sends it to the server as data.
[1173] User terminal processing
[1174] The user terminal provides an interface for users to input their mobile phone usage, budget, specific needs, and even emotional state using voice input or facial expressions. For example, a user inputs 300MB, 450MB, and 500MB of data usage over the past three months and sets a monthly budget of 4,000 yen. They also input their specific needs, such as "unlimited calls" and "data communication," and their emotional state, such as "satisfied" or "dissatisfied."
[1175] The input data is converted into a data format such as JSON format and sent to the server.
[1176] Server Processing
[1177] The server does the following:
[1178] 1. Data reception:
[1179] The server receives data sent from the user's device, including usage, budget, specific needs, and emotional state.
[1180] 2. Load plan information:
[1181] The server loads the plan information of each carrier from its internal database and stores it in memory. The plan information includes the plan name, price, and features (e.g., "unlimited calls," "data communication," etc.).
[1182] 3. Applying clustering algorithms:
[1183] The server analyzes the user's data usage patterns using a clustering algorithm (e.g., KMeans) based on the user's usage data.
[1184] 4. Select the best plan:
[1185] Based on the results of the clustering algorithm, the system selects the pricing plan that best fits the user's budget and specific needs. It also tailors the proposal based on their emotional state: for example, if they're "satisfied," it suggests a plan similar to their current plan, while if they're "dissatisfied," it suggests a bigger change.
[1186] 5. Returning the recommended plan:
[1187] The server returns the selected optimal pricing plan to the user's device. The data format of the recommended plan is again sent in JSON format as follows:
[1188] json
[1189] {
[1190] "name": "Plan B",
[1191] "price": 4500,
[1192] "features": ["unlimited calls", "data"]
[1193] }
[1194] Display method processing
[1195] The user device analyzes the recommended plan received from the server and displays it to the user. Specifically, the plan name, price, and features are displayed on the screen. For example, "Plan B: 4,500 yen, unlimited calls, data communication" is displayed.
[1196] Specific examples
[1197] For example, suppose the data usage over the past three months was 300MB, 450MB, and 500MB, the user's budget was 4,000 yen, and their needs were "unlimited calls" and "data communication." In addition, suppose the emotional state was entered as "dissatisfied." Based on this information, the server selects the optimal plan (e.g., "Plan C": 5,000 yen, unlimited calls, data communication, additional data) and proposes it to the user. The user can check the newly recommended plan and improve their price performance by changing from their current plan.
[1198] In this way, the present invention is a system that uses machine learning and data analysis to propose optimal pricing plans to users based on their emotional state as well as information about their mobile phone usage, allowing users to save money and achieve greater satisfaction.
[1199] The processing flow will be explained below.
[1200] Step 1:
[1201] The user inputs mobile phone usage information (e.g., data usage over the past few months), budget, specific needs, and even emotional state using voice input or facial expressions into the user terminal. Specifically, the user inputs "300MB, 450MB, 500MB" as usage information, "4000 yen" as budget, "unlimited calls" and "data communication" as needs, and "dissatisfied" as emotional state.
[1202] Step 2:
[1203] The device converts the data entered by the user into a standard format such as JSON, extracts emotion data using an emotion engine, and sends it to the server. The format of the data sent is as follows:
[1204] json
[1205] {
[1206] "utilization": [300, 450, 500],
[1207] "budget": 4000,
[1208] "needs": ["unlimited calls", "data"],
[1209] "emotion": "dissatisfied"
[1210] }
[1211] Step 3:
[1212] The server receives user data sent from the device, analyzes it, and converts it into an internal data structure. Here, it separates data related to usage, budget, specific needs, and emotional state, and obtains the values of each element.
[1213] Step 4:
[1214] The server loads the plan information of each carrier from its internal database and stores it in memory. The plan information includes the plan name, price, and features (e.g., "unlimited calls," "data communication," etc.). For example, the server loads the following information:
[1215] json
[1216] [
[1217] {"name": "Plan A", "price": 3000, "features": ["Data communication"]},
[1218] {"name": "Plan B", "price": 4500, "features": ["unlimited calls", "data communication"]},
[1219] {"name": "Plan C", "price": 5000, "features": ["unlimited calls", "data", "additional data"]}
[1220] ]
[1221] Step 5:
[1222] The server applies a clustering algorithm based on the user usage data, for example, using the KMeans algorithm to analyze the user's data usage patterns. The clustering is performed as follows:
[1223] python
[1224] utilization = np.array([300, 450, 500])
[1225] kmeans = KMeans(n_clusters=3)
[1226] clusters = kmeans.fit_predict(utilization.reshape(-1, 1))
[1227] Step 6:
[1228] The server selects the pricing plan that best fits the user's budget and specific needs based on the results of the clustering algorithm. It also adjusts the proposal based on the user's emotional state (e.g., "dissatisfied"). For example, if the emotion is "dissatisfied," it prioritizes proposals with more features. The optimal plan is selected as follows:
[1229] python
[1230] Choose the plan that best fits your budget
[1231] best_plan_index_budget = np.argmin(np.abs(np.array([3000, 4500, 5000]) - 4000))
[1232] Emotion-Based Adjustment
[1233] if user_data['emotion'] == "unhappy":
[1234] best_plan_index = np.argmax(np.array([3000, 4500, 5000])) Select the plan with the highest price
[1235] else:
[1236] best_plan_index = best_plan_index_budget
[1237] recommended_plan = plans[best_plan_index]
[1238] Step 7:
[1239] The server returns the selected optimal pricing plan to the user's device. The data format of the recommended plan is again sent in JSON format as follows:
[1240] json
[1241] {
[1242] "name": "Plan C",
[1243] "price": 5000,
[1244] "features": ["unlimited calls", "data", "add data"]
[1245] }
[1246] Step 8:
[1247] The device analyzes the recommended plan received from the server and displays it to the user. Specifically, the plan name, price, and features are displayed on the screen. For example, "Plan C: 5,000 yen, unlimited calls, data communication, additional data" may be displayed.
[1248] Step 9:
[1249] The user can review the recommended plans displayed on the device, allowing them to select the plan that best suits their usage, budget, specific needs, and emotional state.
[1250] This allows users to easily find the best pricing plan, saving money, and by utilizing the emotion engine, increasing user satisfaction.
[1251] Example 2
[1252] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1253] Conventional pricing plan selection systems propose optimal plans by considering only the user's usage, budget, and needs, but do not reflect the user's emotional state. Therefore, there is a need for a plan selection system that considers the user's emotions and provides a higher level of satisfaction.
[1254] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[1255] In this invention, the server includes means for inputting the usage status of the user's mobile communication terminal, means for communicating with a host computer including a generative model that generates an optimal service plan based on the user's usage status, means for displaying the optimal service plan provided by the host computer to the user, and means for recognizing the user's emotional state and transmitting it to the host computer. This makes it possible to propose an optimal service plan that takes into account the user's emotional state in addition to their usage status, budget, and needs.
[1256] A "mobile communication terminal" refers to a terminal that can be carried by a user and has communication capabilities.
[1257] "Usage status" refers to data relating to how a user has used a communication terminal in the past and present.
[1258] "Generative model" refers to an algorithm that calculates and generates an optimal service plan based on input data.
[1259] "Host Computer" refers to a central processing unit that communicates with user terminals, processes data, and generates service plans.
[1260] "Emotional state" refers to data that indicates the user's current emotion (e.g., satisfied, dissatisfied).
[1261] "Service plan" refers to a plan that includes fees and service content related to the use of a mobile communication terminal.
[1262] "Classification algorithm" refers to a machine learning algorithm (e.g., KMeans) for classifying data into several groups.
[1263] "Planned expenditure" refers to the budget that the user plans to spend each month or within a certain period of time.
[1264] A "request" refers to a need for a particular service or feature that a user desires.
[1265] The present invention combines a system that proposes optimal service plans based on the user's mobile communication terminal usage, spending plan, and specific requirements with an emotion engine that recognizes the user's emotional state. By taking the user's emotional state into consideration, the system proposes more appropriate service plans that will provide greater satisfaction to the user.
[1266] System Overview
[1267] The system consists of the following main components:
[1268] User terminal: A device through which a user inputs mobile communication terminal usage information, spending plans, specific requests, and even emotional state.
[1269] Server: Receives information sent from the user device, calculates and proposes the optimal service plan using a generative AI model, and analyzes the user's emotional state using an emotion engine.
[1270] Display means: An interface that displays the optimal service plan provided by the server to the user.
[1271] Emotion engine: A component that recognizes the user's emotional state and sends it as data to the server.
[1272] Detailed description of the user device
[1273] The user device provides an interface for the user to input their mobile communication device usage, expenditure plan, specific requests, and even their emotional state using voice input or facial expressions. For example, the user inputs 300MB, 450MB, and 500MB of data usage over the past three months and sets a monthly budget of 4,000 yen. They also input specific requests such as "unlimited calls" and "data communication," and their emotional state such as "satisfied" or "dissatisfied." The input data is converted into a data format such as JSON and sent to the server.
[1274] The software used is a general data conversion library (e.g., Python's json library) and an HTTP communication library (e.g., requests).
[1275] Server details
[1276] The server generates an optimal service plan through the following process.
[1277] 1. Data reception:
[1278] The server receives data sent from the user's device using a framework that supports the HTTP protocol (e.g., Flask or Django).
[1279] 2. Load plan information:
[1280] The server loads various pricing plan information stored in a database into memory. The database can be MySQL or PostgreSQL.
[1281] 3. Applying clustering algorithms:
[1282] The server analyzes data usage patterns by applying clustering algorithms such as KMeans to the user's usage data. The library used is scikit-learn.
[1283] 4. Select the best plan:
[1284] The optimal plan is selected based on the clustering results, the user's spending plan, specific requests, and emotional state, and the emotional engine used is IBM Watson Natural Language Understanding.
[1285] 5. Returning the recommended plan:
[1286] The selected optimal plan is converted into JSON format and returned to the user's device.
[1287] Detailed explanation of display method
[1288] The user device analyzes the recommended plan received from the server and displays it on the screen, including specific information such as the plan name, price, and features.
[1289] Specific examples
[1290] For example, consider the case where a user enters the following information:
[1291] Data usage: 300MB, 450MB, 500MB
[1292] Monthly budget: 4,000 yen
[1293] Needs: Unlimited calls, data
[1294] Emotional state: Unsatisfied
[1295] Based on this information, the server selects the optimal plan (e.g., "Plan C": 5,000 yen, unlimited calls, data communication, additional data) and proposes it to the user. The user can then consider the recommended new plan and change from their current plan.
[1296] Example prompt sentence:
[1297] The data usage over the past three months is 300MB, 450MB, and 500MB, and the monthly budget is 4,000 yen. The needs are "unlimited calls" and "data communication," and the emotional state is "dissatisfied." Please suggest the optimal service plan based on this information.
[1298] In this way, the present invention is a system that provides a more optimal and satisfying pricing plan by taking into consideration the emotional state of the user in addition to the usage situation.
[1299] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1300] Step 1:
[1301] Users input their mobile phone usage, spending plans, specific needs, and emotional state into the device. Specific operations include launching the application, inputting the amount of data usage over the past three months (e.g., 300MB, 450MB, 500MB), setting a monthly budget (4,000 yen), selecting needs (e.g., unlimited calls, data), and inputting their emotional state (e.g., satisfied, dissatisfied). The input data is converted into JSON format.
[1302] input:
[1303] Data usage: 300MB, 450MB, 500MB
[1304] Monthly budget: 4,000 yen
[1305] Request: Unlimited calls, data
[1306] Emotional state: Unsatisfied
[1307] output:
[1308] User-supplied data in JSON format
[1309] Step 2:
[1310] The terminal sends the user-input data converted into JSON format to the server using an HTTP POST request. The communication protocol used is HTTP.
[1311] input:
[1312] User-supplied data in JSON format
[1313] output:
[1314] The request sent to the server
[1315] Step 3:
[1316] The server receives and analyzes the JSON data sent from the user terminal. The main software used is a framework (e.g., Flask, Django) that processes HTTP requests.
[1317] input:
[1318] Request sent to the server
[1319] output:
[1320] Parsed user-input data
[1321] Step 4:
[1322] The server loads carrier plan information from an internal database (e.g., MySQL or PostgreSQL) and stores it in memory. The plan information includes plan name, price, features, etc.
[1323] input:
[1324] Database queries
[1325] output:
[1326] Pricing plan information stored in memory
[1327] Step 5:
[1328] The server analyzes user usage data using a clustering algorithm (e.g., KMeans), using the scikit-learn library.
[1329] input:
[1330] Parsed user-input data
[1331] Pricing plan information stored in memory
[1332] output:
[1333] Clustering results
[1334] Step 6:
[1335] The server selects the optimal service plan based on the results of the clustering algorithm, the user's spending plan, specific needs, and emotional state, using IBM Watson Natural Language Understanding as its emotion engine.
[1336] input:
[1337] Clustering results
[1338] The user's spending plan, specific needs, and emotional state
[1339] output:
[1340] The best service plan for you
[1341] Step 7:
[1342] The server converts the selected optimal service plan into JSON format and returns it to the user terminal using an HTTP POST request.
[1343] input:
[1344] The best service plan for you
[1345] output:
[1346] Optimal service plan in JSON format
[1347] Step 8:
[1348] The user device analyzes the recommended plan received from the server and displays it on the screen. Specific information such as the plan name, price, and features are displayed to the user.
[1349] input:
[1350] The optimal service plan received from the server in JSON format
[1351] output:
[1352] Recommended plan information displayed on the screen
[1353] As a specific example, if the data usage over the past three months is 300MB, 450MB, and 500MB, the budget is 4,000 yen, the request is unlimited calls and data communication, and the emotional state is dissatisfied, the server will select and propose "Plan C: 5,000 yen, unlimited calls, data communication, additional data" to the user.
[1354] (Application example 2)
[1355] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1356] The present invention aims to provide a system that can provide personalized product recommendations based on a user's purchasing history, budget, and specific needs, while also taking into account the user's emotional state, and also to provide a system that can dynamically adjust the recommendations based on the user's emotional state.
[1357] The specification processing by the specification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for inputting the user's purchase history, budget, and specific needs, means for communicating with the server including the generative model, means for displaying optimal products provided by the server to the user, an emotion recognition engine for recognizing the user's emotional state and transmitting emotion data to the server, and means for adjusting the content of suggestions based on the emotional state. This enables a deep understanding of the user's purchasing behavior and appropriate product suggestions based on emotions.
[1358] "User purchase history" is data such as the category, price, and purchase date and time of products purchased by the user in the past.
[1359] A "budget" is the amount of spending that a user is willing to make on a purchase.
[1360] "Specific needs" refer to specific demands and requests that users have for products, such as high quality, new arrivals, and emphasis on functionality.
[1361] A "generative model" is an algorithm or artificial intelligence model that generates optimal products and pricing plans based on past data.
[1362] The "means for communicating with the server" refers to an interface or protocol for sending and receiving data between the user terminal and the server.
[1363] "Best-fit products" are products selected based on a user's purchasing history, budget, specific needs, and emotional state.
[1364] An "emotion recognition engine" is a software or hardware system that recognizes emotions from a user's facial expressions and voice and analyzes them as data.
[1365] The "means for adjusting the proposed content" is a function that dynamically changes the content of the products proposed by the generative model based on the recognized emotional state of the user.
[1366] A "clustering algorithm" is a machine learning algorithm that analyzes user purchasing patterns and groups together data with similar patterns.
[1367] "Emotional state" refers to the psychological state or emotion a user has at a given moment, and includes, for example, excitement, boredom, irritation, etc.
[1368] The system for realizing the present invention comprises a user terminal, a server, a display means, and an emotion recognition engine. The entire system operates in the following steps:
[1369] User terminal configuration
[1370] The user device provides an interface for users to input their purchasing history, budget, and specific needs. The device also has a camera and microphone, which transmit data to an emotion recognition engine. Emotional states are recognized based on voice and facial expression data, and the data is sent to the server.
[1371] Server Configuration
[1372] The server receives the data sent from the user terminal and performs the following processing based on it:
[1373] Analysis of purchase history, budget, and needs data:
[1374] The server receives past purchase history, budget, and specific needs, and analyzes the data, which is then fed into a generative model.
[1375] Emotion recognition engine output analysis:
[1376] The server receives the user's emotional state sent by the emotion recognition engine and analyzes the data, for example, to determine whether the user is excited, bored, or annoyed.
[1377] Using generative models:
[1378] The server integrates purchase history, budget, needs, and emotional state to select the best products using a generative AI model, which uses a clustering algorithm (e.g., KMeans) based on past data.
[1379] Adjustments to selected products:
[1380] It adjusts suggestions based on the user's emotional state. For example, if the user is excited, it will prioritize new arrivals and popular items, if the user is bored, it will suggest special sale items, and if the user is irritated, it will avoid suggesting relatively expensive items.
[1381] Display means
[1382] The display means of the user terminal visually displays the selected products received from the server to the user, specifically, the product names, prices, and features are displayed on the screen.
[1383] Prompt Sentence Examples
[1384] Here is an example of the prompt you will see when using the system:
[1385] "Build a system that suggests optimal products based on a user's past purchase history, budget, and specific needs, and also takes into account the user's emotional state. The objectives are as follows:
[1386] 1. Receive information about your users' purchasing history, budget, and needs, and tailor your recommendations accordingly.
[1387] 2. Recognize emotions from user image data and optimize suggestions.
[1388] Specific examples
[1389] For example, if a user's past purchase history is "Electronics 30,000 yen, Fashion 15,000 yen," their budget is 20,000 yen, and their needs are set as "High quality, new arrivals," the emotion recognition engine may recognize the user's emotional state as "Excited." Based on this data, the system will suggest "High Quality Headphones (18,000 yen)" as the optimal product.
[1390] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1391] Step 1:
[1392] The user's device inputs their purchasing history, budget, and specific needs. This input can be done manually or imported from an existing database. The input data is converted into a standard data format such as JSON format for later processing. Specifically, data such as the category, amount, and purchase date of the user's past purchases is entered.
[1393] Step 2:
[1394] The user device uses a camera and microphone to collect image and audio data of the user, which is then analyzed by an emotion recognition engine to determine the user's emotional state, for example, whether the user is excited, bored, or annoyed.
[1395] Step 3:
[1396] The user device sends data about their purchase history, budget, specific needs, and emotional state to the server, in a standardized format (e.g., JSON).
[1397] Step 4:
[1398] The server receives and analyzes data sent from the user's device. The received data includes purchase history, budget, specific needs, and emotional state. First, the server analyzes the purchase history, budget, and needs and supplies the data to a generative model. Then, it analyzes data sent from the emotion recognition engine to determine the user's emotional state.
[1399] Step 5:
[1400] The server analyzes the user's purchasing patterns using a clustering algorithm (e.g., KMeans) based on their purchase history, budget, and needs. Based on the optimal cluster, it generates a product list that best suits the user's patterns. For example, for a user who frequently purchases items in the electronics category, it will prioritize the selection of new products in that category.
[1401] Step 6:
[1402] The server adjusts the generated product list based on the user's emotional state. For example, if the user is excited, new arrivals and popular items will be placed at the top of the list. If the user is bored, sale items and special offers will be prioritized. If the user is frustrated, high-priced items will be avoided and cost-effective items will be suggested.
[1403] Step 7:
[1404] The server then sends the optimized product list to the user's device, often again in JSON format, and includes details such as product name, price, and features.
[1405] Step 8:
[1406] The user device analyzes the product list received from the server and visually displays it to the user. For example, the list may be displayed as "High Quality Headphones (18,000 yen)" on the user's screen. The user can then select the most suitable product based on this suggestion.
[1407] The specific processing unit 290 transmits the result of the specific processing to the headset type terminal 314. In the headset type terminal 314, the control unit 46A causes the speaker 240 and the display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[1408] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1409] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the headset type terminal 314.
[1410] [Fourth embodiment]
[1411] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1412] 7, a data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.
[1413] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[1414] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a control target 443. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the control target 443 are also connected to the bus 52.
[1415] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[1416] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[1417] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[1418] The control object 443 includes a display device, LEDs in the eyes, and motors for driving the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the emotions of the robot 414 can be expressed by controlling these motors. In addition, the facial expressions of the robot 414 can also be expressed by controlling the light emission state of the LEDs in the eyes of the robot 414.
[1419] Fig. 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Fig. 8, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[1420] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[1421] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[1422] In the robot 414, the processor 46 performs the reception output process. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[1423] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1424] This invention is a system that proposes the most suitable rate plan based on the user's mobile phone usage, budget, and specific needs. Below, the program processing of this system is explained in natural language and with concrete examples.
[1425] System Overview
[1426] The system consists of three main components:
[1427] 1. User terminal: A device through which users input their mobile phone usage information, budget, and special needs.
[1428] 2. Server: Receives information sent from the user terminal, calculates the optimal pricing plan using the generative model, and proposes it.
[1429] 3. Display means: An interface that displays the optimal rate plan sent from the server to the user.
[1430] User terminal processing
[1431] The user terminal provides an interface for the user to input their mobile phone usage, budget, and specific needs. For example, the user inputs their data usage over the past three months as 300MB, 450MB, and 500MB, and sets a monthly budget of 4,000 yen. They also input their specific needs, such as "unlimited calls" and "data communication."
[1432] The input data is converted into a data format such as JSON format and sent to the server.
[1433] Server Processing
[1434] The server does the following:
[1435] 1. Data reception:
[1436] The server receives data sent from the user's device, including usage, budget, and specific needs.
[1437] 2. Load plan information:
[1438] The server loads the plan information for each carrier, including the plan name, price, and features (e.g., "unlimited calling," "data," etc.).
[1439] 3. Applying clustering algorithms:
[1440] The server analyzes the user's usage patterns using a clustering algorithm (e.g., KMeans) based on the user's usage data.
[1441] 4. Select the best plan:
[1442] Based on the results of the clustering algorithm, the system selects the pricing plan that best fits the user's budget and specific needs. For example, it selects the plan with the closest price to the user's budget of 4,000 yen.
[1443] 5. Returning the recommended plan:
[1444] The server returns the selected optimal rate plan to the user terminal.
[1445] Display method processing
[1446] The user terminal displays the optimal pricing plan received from the server, including the plan name, price, and features.
[1447] Specific examples
[1448] For example, suppose the data usage over the past three months was 300MB, 450MB, and 500MB, the user's budget was 4,000 yen, and their needs were "unlimited calls" and "data communication." Based on this information, the server selects the optimal plan (e.g., "Plan B": 4,500 yen, unlimited calls, data communication) and presents it to the user. In this case, the user is likely to be able to save money by checking the newly recommended plan and replacing their current plan.
[1449] In this way, the present invention is a system that utilizes machine learning and data analysis to propose optimal pricing plans to users based on information about their mobile phone usage, allowing users to save money and use mobile phone services efficiently.
[1450] The processing flow will be explained below.
[1451] Step 1:
[1452] The user inputs their mobile phone usage information (e.g., data usage over the past few months), their budget, and their specific needs into their device. Specifically, they input "300MB, 450MB, 500MB" as usage information, "4,000 yen" as budget, and "unlimited calls" and "data communication" as needs.
[1453] Step 2:
[1454] The terminal converts the data entered by the user into a standard format such as JSON and sends it to the server. Specifically, the data is sent in the following format:
[1455] json
[1456] {
[1457] "utilization": [300, 450, 500],
[1458] "budget": 4000,
[1459] "needs": ["unlimited calls", "data"]
[1460] }
[1461] Step 3:
[1462] The server receives user data sent from the terminal, analyzes the received data, and converts it into an internal data structure.
[1463] Step 4:
[1464] The server loads the plan information for each carrier from its internal database and stores it in memory. The plan information includes the plan name, price, and features. For example:
[1465] json
[1466] [
[1467] {"name": "Plan A", "price": 3000, "features": ["Data communication"]},
[1468] {"name": "Plan B", "price": 4500, "features": ["unlimited calls", "data communication"]},
[1469] {"name": "Plan C", "price": 5000, "features": ["unlimited calls", "data", "additional data"]}
[1470] ]
[1471] Step 5:
[1472] The server applies a clustering algorithm based on the user usage data. For example, it uses the KMeans algorithm to analyze the user's data usage patterns. Specifically, it performs clustering as follows:
[1473] python
[1474] utilization = np.array([300, 450, 500])
[1475] kmeans = KMeans(n_clusters=3)
[1476] clusters = kmeans.fit_predict(utilization.reshape(-1, 1))
[1477] Step 6:
[1478] The server selects the pricing plan that best fits the user's budget based on the results of the clustering algorithm. It selects the plan with the closest price to the user's budget (e.g., 4,000 yen). For example, it selects the optimal plan as follows:
[1479] python
[1480] best_plan_index = np.argmin(np.abs(np.array([3000, 4500, 5000]) - 4000))
[1481] recommended_plan = plans[best_plan_index]
[1482] Step 7:
[1483] The server returns the selected optimal pricing plan to the user's device. The data format of the recommended plan is again sent in JSON format as follows:
[1484] json
[1485] {
[1486] "name": "Plan B",
[1487] "price": 4500,
[1488] "features": ["unlimited calls", "data"]
[1489] }
[1490] Step 8:
[1491] The device analyzes the recommended plan received from the server and displays it to the user. Specifically, the plan name, price, and features are displayed on the screen. For example, "Plan B: 4,500 yen, unlimited calls, data communication" is displayed.
[1492] Step 9:
[1493] Users will see recommended plans displayed on their device, allowing them to choose the plan that best suits their usage, budget, and specific needs.
[1494] This allows users to easily find the best pricing plan and save money.
[1495] Example 1
[1496] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1497] Modern communication services are becoming more diverse, and many users face the challenge of finding the optimal pricing plan for their usage and budget. Finding the optimal plan requires a great deal of time and effort, especially when monthly usage and budgets fluctuate. Furthermore, finding the right plan becomes even more difficult for users with specific needs. A system that can solve these issues and provide users with efficient and optimal pricing plans is needed.
[1498] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[1499] In this invention, the server includes a means for inputting the usage status of the user's mobile device, a means for communicating with the server including a generative model that generates an optimal pricing plan based on the user's usage status, budget, and specific needs, and a means for displaying the optimal pricing plan provided by the server to the user. This allows the user to automatically receive the optimal pricing plan based on their usage status and needs, enabling them to efficiently and easily select the optimal plan.
[1500] "User" or "customer" refers to a person who uses a mobile terminal.
[1501] "Mobile terminal" refers to a device that allows a user to use a communication service. Specifically, it includes smartphones and tablets.
[1502] "Usage status" refers to information about how a user used a mobile device over a certain period of time, including data usage and call duration.
[1503] "Budget" refers to the amount of money a user can spend on communication services each month.
[1504] "Specific needs" refers to the specific demands or desires that users have for communication services, such as "unlimited calls" or "data communications."
[1505] A "generative model" refers to an algorithm or program that calculates or selects the optimal pricing plan based on user input information.
[1506] "Server" refers to a computing device that receives data sent from a user terminal and calculates the optimal pricing plan using a generative model.
[1507] "Means of communication" refers to the mechanism by which a user device and a server send and receive data. Specifically, this includes the Internet and mobile networks.
[1508] "Plan Information" refers to data related to the pricing plans offered by each carrier, including plan names, prices, and features.
[1509] "Clustering algorithm" refers to an algorithm for classifying user usage patterns based on usage data, including, for example, the KMeans algorithm.
[1510] The "display means" refers to a mechanism for visually presenting the optimal rate plan received from the server to the user. Specifically, this includes a user interface and a display.
[1511] This invention is a system that proposes optimal pricing plans based on a user's mobile device usage, budget, and specific needs. This system is primarily composed of three components: a user device, a server, and a display means.
[1512] User terminal processing
[1513] Users use their mobile devices to input their usage, budget, and specific needs. Specifically, users input their data usage over the past three months, their monthly budget, and their specific needs (e.g., "unlimited calls" or "data communication"). This information is entered through a user interface. The entered information is converted into a data structure such as JSON format and sent to the server.
[1514] Server Processing
[1515] The server receives data sent from the user's device. This data includes usage, budget, and specific needs. The server first analyzes and validates this data. It then loads the carrier's pricing plan information from a database. The loaded information includes the plan name, price, and features (such as "unlimited calls" or "data communication").
[1516] The server then applies a clustering algorithm to analyze the user's usage patterns. Specifically, it uses the KMeans algorithm to classify users into multiple clusters, taking into account their data usage and budget. Based on the results, it selects the pricing plan that best suits the user's budget and specific needs. For example, if a user's budget is 4,000 yen and they prioritize "unlimited calls" and "data communication," it will suggest the optimal pricing plan (e.g., "Plan B": 4,500 yen, unlimited calls, data communication).
[1517] The selected optimal pricing plan is converted back into a data structure such as JSON format and sent back to the user's device.
[1518] Display method processing
[1519] The user device displays the optimal pricing plan information received from the server on its interface. This display includes the plan name, price, features, etc. The user can use this information to decide whether to change to a pricing plan that suits their usage situation and budget.
[1520] Prompt Sentence Examples
[1521] An example of a prompt to input to a generative AI model is as follows:
[1522] "Please suggest the optimal plan based on the user's data usage over the past three months, their budget, and their specific needs. Specifically, the data usage is 300MB, 450MB, and 500MB, with a monthly budget of 4,000 yen, and the specific needs are 'unlimited calls' and 'data communication.'"
[1523] In this way, the system uses machine learning and data analysis to efficiently recommend the most suitable plan for each user based on their usage information, allowing them to save money and use their mobile phone service more efficiently.
[1524] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1525] Step 1: User enters usage, budget, and specific needs
[1526] Using the mobile device interface, users input their data usage over the past three months, their monthly budget, and their specific needs (e.g., "unlimited calls" or "data usage"). The input data is converted to JSON format, which allows it to be sent to the server.
[1527] Step 2: The device sends the input data to the server
[1528] The device converts the information entered by the user into JSON format and sends it to the server. The input data includes the amount of data usage over the past three months (e.g., 300MB, 450MB, 500MB), the monthly budget (e.g., 4,000 yen), and specific needs (e.g., "unlimited calls" or "data communication"). By sending the JSON data, the device allows the server to analyze the data.
[1529] Step 3: The server receives and validates the data
[1530] The server receives the JSON data sent from the terminal. The server first performs validation processing to check whether the format and content of the received data are correct. The validation processing detects missing data and format errors.
[1531] Step 4: The server loads the plan information
[1532] The server loads the pricing plan information of each carrier from the database. The loaded information includes the plan name, price, and features (e.g., "unlimited calls" and "data communication"). For example, "Plan A: 3,000 yen, unlimited calls" and "Plan B: 4,500 yen, unlimited calls, data communication." This allows the server to obtain basic data for selecting a plan that meets the user's requirements.
[1533] Step 5: The server applies the clustering algorithm
[1534] The server applies a clustering algorithm (such as KMeans) to user usage data to analyze usage patterns. The input data is usage (e.g., 300MB, 450MB, 500MB of data usage) and budget (e.g., 4,000 yen), and based on this, users are classified into multiple clusters. The algorithm assigns data points to the optimal cluster, so user patterns become clear.
[1535] Step 6: The server selects the best pricing plan
[1536] Based on the results of the clustering algorithm, the server selects the plan that best suits the user's budget and specific needs. For example, it matches the plan that best suits the user's budget and specific needs based on the usage patterns obtained from the clustering results. As a result, a plan such as "Plan B: 4,500 yen, unlimited calls, data communication" may be selected.
[1537] Step 7: The server returns the optimal plan information to the device.
[1538] The server converts the selected optimal plan into JSON format and returns it to the user's device. The returned data includes the plan name (e.g., "Plan B"), price (e.g., 4,500 yen), and features (e.g., "unlimited calls" and "data communication"). This allows the server to provide information to the user and share the selection results.
[1539] Step 8: The device receives and displays the data from the server.
[1540] The terminal receives the optimal plan information from the server and displays it on the user interface. The displayed information includes the plan name (e.g., "Plan B"), price (e.g., 4,500 yen), and features (e.g., "unlimited calls" and "data communication"). This allows the user to check the proposed plan, compare it with their current plan, and make the optimal selection.
[1541] (Application example 1)
[1542] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1543] Conventional systems that propose optimal pricing plans sometimes did not adequately protect user data, posing security threats. Another problem was the lack of reliability in the secure processing and transmission of user data. Furthermore, user authentication procedures were insufficient, increasing the risk of unauthorized access. It was necessary to resolve these security issues and achieve both the protection of user data and accurate pricing plan proposals.
[1544] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[1545] In this invention, the server includes a means for encrypting mobile phone usage data, a means for transmitting the encrypted data, and a means for implementing multi-factor authentication. This strengthens the security of user data, reduces the risk of data leakage to third parties due to encryption, and enables data to be processed safely. Furthermore, multi-factor authentication reduces the risk of unauthorized access and enables highly reliable authentication.
[1546] "Mobile phone usage" refers to a user's past usage patterns of data traffic, call minutes, and other communication services.
[1547] "Generative model" is a general term for algorithms used to generate optimal pricing plans based on user input data.
[1548] "Data processing device" refers to a system that receives data sent by users, analyzes it, and calculates the optimal pricing plan.
[1549] "Encryption" is a security technology that converts data into a format that cannot be deciphered by third parties.
[1550] "Multi-factor authentication" is an authentication method that enhances security by having users provide multiple authentication factors when entering data or using a service.
[1551] A "clustering algorithm" is a computational method for grouping similar data and analyzing user usage patterns.
[1552] "User terminal" refers to a device used by a user to input information, including a smartphone or tablet.
[1553] "Optimal Rate Plan" refers to the mobile phone rate plan that best suits a user, generated based on the user's usage, budget, and specific needs.
[1554] "Transmission means" refers to the technology or protocol for transmitting data from a user terminal to a data processing device.
[1555] "Safe state" refers to a state in which data is encrypted and unauthorized access by third parties is prevented.
[1556] "Usage patterns" refers to trends and characteristics of data that show how users use mobile phone services.
[1557] This invention is a security-enhanced system that proposes optimal pricing plans based on a user's mobile phone usage, budget, and specific needs. The system includes a user terminal, a data processing device, and encryption and multi-factor authentication capabilities.
[1558] User terminal processing
[1559] The user device provides an interface for the user to input their mobile phone usage, budget, and specific needs. For example, the user inputs 300MB, 450MB, and 500MB of data usage over the past three months, and sets a monthly budget of 4,000 yen. They also input their specific needs, such as "unlimited calls" and "data communication." The input data is converted into a data format, such as JSON format.
[1560] Data encryption and transmission
[1561] Data entered at a user terminal is first encrypted using security technologies such as the Fernet library, and the encrypted data is then sent to a data processing device using secure communication means.
[1562] Data processing device processing
[1563] The data processing device receives and decrypts the encrypted data sent from the user terminal. It then analyzes the user's usage data using a clustering algorithm (e.g., KMeans clustering) to select the optimal pricing plan, taking into account the user's budget and specific needs.
[1564] Re-encrypt and return the plan
[1565] The selected optimal rate plan is then encrypted again and sent to the user terminal, which then decrypts the received encrypted plan and displays it to the user.
[1566] Implementing multi-factor authentication
[1567] The system employs multi-factor authentication (e.g. SMS authentication and in-app notifications) that users must pass before entering any data, significantly enhancing security and reducing the risk of unauthorized access.
[1568] Hardware and software used
[1569] Hardware:
[1570] Smartphone or tablet
[1571] Cloud or on-premise servers
[1572] Software and Libraries:
[1573] Python
[1574] requests: A library for sending data
[1575] cryptography: a library for encrypting and decrypting data
[1576] KMeans clustering: a custom library containing a clustering algorithm
[1577] authentication: A custom library that provides multi-factor authentication
[1578] Specific examples
[1579] For example, a user can use a smartphone app to input their data usage over the past three months (300MB, 450MB, 500MB), their monthly budget (4,000 yen), and their specific needs ("unlimited calls"). The application uses encryption technology to securely transmit the data, and a data processor provides the optimal plan (e.g., "Plan B" for 4,500 yen, unlimited calls, and data).
[1580] Prompt Sentence Examples
[1581] "A user enters their data usage over the past three months (300MB, 450MB, 500MB), their monthly budget (4,000 yen), and any special needs ('unlimited calls') into a smartphone app. The app encrypts the data and sends it to a server. The server uses a clustering algorithm to select the optimal plan, decrypts the user's encrypted data, and returns the plan, which is then re-encrypted. The user's smartphone app then decrypts the plan and displays it to the user."
[1582] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1583] Step 1:
[1584] A user uses a smartphone or tablet to input their mobile phone usage, budget, and specific needs. Specifically, the user enters their data usage over the past three months (e.g., 300MB, 450MB, 500MB), monthly budget (e.g., ¥4,000), and needs (e.g., "unlimited calls") into a dedicated application. The device converts this data into JSON format and prepares it for the next processing step.
[1585] input:
[1586] Data usage
[1587] budget
[1588] Specific needs
[1589] output:
[1590] User data in JSON format
[1591] Step 2:
[1592] The terminal encrypts the entered user data. This encryption process uses an encryption library called Fernet. Specifically, the user data is encoded using an encryption key to protect it from being leaked to third parties. The encrypted data is then sent to the server using a secure protocol (e.g., HTTPS).
[1593] input:
[1594] User data in JSON format
[1595] output:
[1596] Encrypted user data
[1597] Step 3:
[1598] The server then decrypts the encrypted data, using the same Fernet library used for encryption. As a result, the server receives data including the user's usage, budget, and specific needs.
[1599] input:
[1600] Encrypted user data
[1601] output:
[1602] Decrypted user data
[1603] Step 4:
[1604] The server uses the decrypted user data to apply a clustering algorithm, specifically the KMeans clustering algorithm, to analyze the user's usage patterns, classifying the user data into multiple clusters and identifying the most suitable pricing plan for the user.
[1605] input:
[1606] Decrypted user data
[1607] output:
[1608] Clustering results
[1609] Step 5:
[1610] Based on the clustering results, the server selects the optimal pricing plan that takes into account the user's budget and specific needs. For example, if the user's budget is 4,000 yen, the server selects the pricing plan closest to that. This information is then re-encrypted and sent back to the user's device.
[1611] input:
[1612] Clustering results
[1613] output:
[1614] Best encrypted pricing plans
[1615] Step 6:
[1616] The device receives the encrypted best price plan from the server, decrypts it using an encryption key shared with the server, and displays the decrypted data in a user-friendly format.
[1617] input:
[1618] Best encrypted pricing plans
[1619] output:
[1620] Decrypted best price plan
[1621] Step 7:
[1622] The user can confirm the optimal plan displayed on the device and, if necessary, proceed with the process to change to this plan within the application.
[1623] input:
[1624] Decrypted best price plan
[1625] output:
[1626] Check the best rate plan and change it
[1627] Through these steps, users can safely and efficiently access the most suitable rate plan.
[1628] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1629] The present invention combines a system that proposes optimal pricing plans based on a user's mobile phone usage, budget, and specific needs with an emotion engine that recognizes the user's emotions. By taking into account the user's emotional state, the system proposes more appropriate pricing plans that will provide greater satisfaction to the user.
[1630] System Overview
[1631] The system consists of the following main components:
[1632] 1. User terminal: A device through which a user inputs mobile phone usage information, budget, specific needs, and even emotional state.
[1633] 2. Server: Receives information sent from the user device, calculates and proposes the optimal pricing plan using a generative model, and analyzes the user's emotional state using an emotion engine.
[1634] 3. Display means: An interface that displays the optimal pricing plan provided by the server to the user.
[1635] 4. Emotion engine: This component recognizes the user's emotional state and sends it to the server as data.
[1636] User terminal processing
[1637] The user terminal provides an interface for users to input their mobile phone usage, budget, specific needs, and even emotional state using voice input or facial expressions. For example, a user inputs 300MB, 450MB, and 500MB of data usage over the past three months and sets a monthly budget of 4,000 yen. They also input their specific needs, such as "unlimited calls" and "data communication," and their emotional state, such as "satisfied" or "dissatisfied."
[1638] The input data is converted into a data format such as JSON format and sent to the server.
[1639] Server Processing
[1640] The server does the following:
[1641] 1. Data reception:
[1642] The server receives data sent from the user's device, including usage, budget, specific needs, and emotional state.
[1643] 2. Load plan information:
[1644] The server loads the plan information of each carrier from its internal database and stores it in memory. The plan information includes the plan name, price, and features (e.g., "unlimited calls," "data communication," etc.).
[1645] 3. Applying clustering algorithms:
[1646] The server analyzes the user's data usage patterns using a clustering algorithm (e.g., KMeans) based on the user's usage data.
[1647] 4. Select the best plan:
[1648] Based on the results of the clustering algorithm, the system selects the pricing plan that best fits the user's budget and specific needs. It also tailors the proposal based on their emotional state: for example, if they're "satisfied," it suggests a plan similar to their current plan, while if they're "dissatisfied," it suggests a bigger change.
[1649] 5. Returning the recommended plan:
[1650] The server returns the selected optimal pricing plan to the user's device. The data format of the recommended plan is again sent in JSON format as follows:
[1651] json
[1652] {
[1653] "name": "Plan B",
[1654] "price": 4500,
[1655] "features": ["unlimited calls", "data"]
[1656] }
[1657] Display method processing
[1658] The user device analyzes the recommended plan received from the server and displays it to the user. Specifically, the plan name, price, and features are displayed on the screen. For example, "Plan B: 4,500 yen, unlimited calls, data communication" is displayed.
[1659] Specific examples
[1660] For example, suppose the data usage over the past three months was 300MB, 450MB, and 500MB, the user's budget was 4,000 yen, and their needs were "unlimited calls" and "data communication." In addition, suppose the emotional state was entered as "dissatisfied." Based on this information, the server selects the optimal plan (e.g., "Plan C": 5,000 yen, unlimited calls, data communication, additional data) and proposes it to the user. The user can check the newly recommended plan and improve their price performance by changing from their current plan.
[1661] In this way, the present invention is a system that uses machine learning and data analysis to propose optimal pricing plans to users based on their emotional state as well as information about their mobile phone usage, allowing users to save money and achieve greater satisfaction.
[1662] The processing flow will be explained below.
[1663] Step 1:
[1664] The user inputs mobile phone usage information (e.g., data usage over the past few months), budget, specific needs, and even emotional state using voice input or facial expressions into the user terminal. Specifically, the user inputs "300MB, 450MB, 500MB" as usage information, "4000 yen" as budget, "unlimited calls" and "data communication" as needs, and "dissatisfied" as emotional state.
[1665] Step 2:
[1666] The device converts the data entered by the user into a standard format such as JSON, extracts emotion data using an emotion engine, and sends it to the server. The format of the data sent is as follows:
[1667] json
[1668] {
[1669] "utilization": [300, 450, 500],
[1670] "budget": 4000,
[1671] "needs": ["unlimited calls", "data"],
[1672] "emotion": "dissatisfied"
[1673] }
[1674] Step 3:
[1675] The server receives user data sent from the device, analyzes it, and converts it into an internal data structure. Here, it separates data related to usage, budget, specific needs, and emotional state, and obtains the values of each element.
[1676] Step 4:
[1677] The server loads the plan information of each carrier from its internal database and stores it in memory. The plan information includes the plan name, price, and features (e.g., "unlimited calls," "data communication," etc.). For example, the server loads the following information:
[1678] json
[1679] [
[1680] {"name": "Plan A", "price": 3000, "features": ["Data communication"]},
[1681] {"name": "Plan B", "price": 4500, "features": ["unlimited calls", "data communication"]},
[1682] {"name": "Plan C", "price": 5000, "features": ["unlimited calls", "data", "additional data"]}
[1683] ]
[1684] Step 5:
[1685] The server applies a clustering algorithm based on the user usage data, for example, using the KMeans algorithm to analyze the user's data usage patterns. The clustering is performed as follows:
[1686] python
[1687] utilization = np.array([300, 450, 500])
[1688] kmeans = KMeans(n_clusters=3)
[1689] clusters = kmeans.fit_predict(utilization.reshape(-1, 1))
[1690] Step 6:
[1691] The server selects the pricing plan that best fits the user's budget and specific needs based on the results of the clustering algorithm. It also adjusts the proposal based on the user's emotional state (e.g., "dissatisfied"). For example, if the emotion is "dissatisfied," it prioritizes proposals with more features. The optimal plan is selected as follows:
[1692] python
[1693] Choose the plan that best fits your budget
[1694] best_plan_index_budget = np.argmin(np.abs(np.array([3000, 4500, 5000]) - 4000))
[1695] Emotion-Based Adjustment
[1696] if user_data['emotion'] == "unhappy":
[1697] best_plan_index = np.argmax(np.array([3000, 4500, 5000])) Select the plan with the highest price
[1698] else:
[1699] best_plan_index = best_plan_index_budget
[1700] recommended_plan = plans[best_plan_index]
[1701] Step 7:
[1702] The server returns the selected optimal pricing plan to the user's device. The data format of the recommended plan is again sent in JSON format as follows:
[1703] json
[1704] {
[1705] "name": "Plan C",
[1706] "price": 5000,
[1707] "features": ["unlimited calls", "data", "add data"]
[1708] }
[1709] Step 8:
[1710] The device analyzes the recommended plan received from the server and displays it to the user. Specifically, the plan name, price, and features are displayed on the screen. For example, "Plan C: 5,000 yen, unlimited calls, data communication, additional data" may be displayed.
[1711] Step 9:
[1712] The user can review the recommended plans displayed on the device, allowing them to select the plan that best suits their usage, budget, specific needs, and emotional state.
[1713] This allows users to easily find the best pricing plan, saving money, and by utilizing the emotion engine, increasing user satisfaction.
[1714] Example 2
[1715] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1716] Conventional pricing plan selection systems propose optimal plans by considering only the user's usage, budget, and needs, but do not reflect the user's emotional state. Therefore, there is a need for a plan selection system that considers the user's emotions and provides a higher level of satisfaction.
[1717] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[1718] In this invention, the server includes means for inputting the usage status of the user's mobile communication terminal, means for communicating with a host computer including a generative model that generates an optimal service plan based on the user's usage status, means for displaying the optimal service plan provided by the host computer to the user, and means for recognizing the user's emotional state and transmitting it to the host computer. This makes it possible to propose an optimal service plan that takes into account the user's emotional state in addition to their usage status, budget, and needs.
[1719] A "mobile communication terminal" refers to a terminal that can be carried by a user and has communication capabilities.
[1720] "Usage status" refers to data relating to how a user has used a communication terminal in the past and present.
[1721] "Generative model" refers to an algorithm that calculates and generates an optimal service plan based on input data.
[1722] "Host Computer" refers to a central processing unit that communicates with user terminals, processes data, and generates service plans.
[1723] "Emotional state" refers to data that indicates the user's current emotion (e.g., satisfied, dissatisfied).
[1724] "Service plan" refers to a plan that includes fees and service content related to the use of a mobile communication terminal.
[1725] "Classification algorithm" refers to a machine learning algorithm (e.g., KMeans) for classifying data into several groups.
[1726] "Planned expenditure" refers to the budget that the user plans to spend each month or within a certain period of time.
[1727] A "request" refers to a need for a particular service or feature that a user desires.
[1728] The present invention combines a system that proposes optimal service plans based on the user's mobile communication terminal usage, spending plan, and specific requirements with an emotion engine that recognizes the user's emotional state. By taking the user's emotional state into consideration, the system proposes more appropriate service plans that will provide greater satisfaction to the user.
[1729] System Overview
[1730] The system consists of the following main components:
[1731] User terminal: A device through which a user inputs mobile communication terminal usage information, spending plans, specific requests, and even emotional state.
[1732] Server: Receives information sent from the user device, calculates and proposes the optimal service plan using a generative AI model, and analyzes the user's emotional state using an emotion engine.
[1733] Display means: An interface that displays the optimal service plan provided by the server to the user.
[1734] Emotion engine: A component that recognizes the user's emotional state and sends it as data to the server.
[1735] Detailed description of the user device
[1736] The user device provides an interface for the user to input their mobile communication device usage, expenditure plan, specific requests, and even their emotional state using voice input or facial expressions. For example, the user inputs 300MB, 450MB, and 500MB of data usage over the past three months and sets a monthly budget of 4,000 yen. They also input specific requests such as "unlimited calls" and "data communication," and their emotional state such as "satisfied" or "dissatisfied." The input data is converted into a data format such as JSON and sent to the server.
[1737] The software used is a general data conversion library (e.g., Python's json library) and an HTTP communication library (e.g., requests).
[1738] Server details
[1739] The server generates an optimal service plan through the following process.
[1740] 1. Data reception:
[1741] The server receives data sent from the user's device using a framework that supports the HTTP protocol (e.g., Flask or Django).
[1742] 2. Load plan information:
[1743] The server loads various pricing plan information stored in a database into memory. The database can be MySQL or PostgreSQL.
[1744] 3. Applying clustering algorithms:
[1745] The server analyzes data usage patterns by applying clustering algorithms such as KMeans to the user's usage data. The library used is scikit-learn.
[1746] 4. Select the best plan:
[1747] The optimal plan is selected based on the clustering results, the user's spending plan, specific requests, and emotional state, and the emotional engine used is IBM Watson Natural Language Understanding.
[1748] 5. Returning the recommended plan:
[1749] The selected optimal plan is converted into JSON format and returned to the user's device.
[1750] Detailed explanation of display method
[1751] The user device analyzes the recommended plan received from the server and displays it on the screen, including specific information such as the plan name, price, and features.
[1752] Specific examples
[1753] For example, consider the case where a user enters the following information:
[1754] Data usage: 300MB, 450MB, 500MB
[1755] Monthly budget: 4,000 yen
[1756] Needs: Unlimited calls, data
[1757] Emotional state: Unsatisfied
[1758] Based on this information, the server selects the optimal plan (e.g., "Plan C": 5,000 yen, unlimited calls, data communication, additional data) and proposes it to the user. The user can then consider the recommended new plan and change from their current plan.
[1759] Example prompt sentence:
[1760] The data usage over the past three months is 300MB, 450MB, and 500MB, and the monthly budget is 4,000 yen. The needs are "unlimited calls" and "data communication," and the emotional state is "dissatisfied." Please suggest the optimal service plan based on this information.
[1761] In this way, the present invention is a system that provides a more optimal and satisfying pricing plan by taking into consideration the emotional state of the user in addition to the usage situation.
[1762] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1763] Step 1:
[1764] Users input their mobile phone usage, spending plans, specific needs, and emotional state into the device. Specific operations include launching the application, inputting the amount of data usage over the past three months (e.g., 300MB, 450MB, 500MB), setting a monthly budget (4,000 yen), selecting needs (e.g., unlimited calls, data), and inputting their emotional state (e.g., satisfied, dissatisfied). The input data is converted into JSON format.
[1765] input:
[1766] Data usage: 300MB, 450MB, 500MB
[1767] Monthly budget: 4,000 yen
[1768] Request: Unlimited calls, data
[1769] Emotional state: Unsatisfied
[1770] output:
[1771] User-supplied data in JSON format
[1772] Step 2:
[1773] The terminal sends the user-input data converted into JSON format to the server using an HTTP POST request. The communication protocol used is HTTP.
[1774] input:
[1775] User-supplied data in JSON format
[1776] output:
[1777] The request sent to the server
[1778] Step 3:
[1779] The server receives and analyzes the JSON data sent from the user terminal. The main software used is a framework (e.g., Flask, Django) that processes HTTP requests.
[1780] input:
[1781] Request sent to the server
[1782] output:
[1783] Parsed user-input data
[1784] Step 4:
[1785] The server loads carrier plan information from an internal database (e.g., MySQL or PostgreSQL) and stores it in memory. The plan information includes plan name, price, features, etc.
[1786] input:
[1787] Database queries
[1788] output:
[1789] Pricing plan information stored in memory
[1790] Step 5:
[1791] The server analyzes user usage data using a clustering algorithm (e.g., KMeans), using the scikit-learn library.
[1792] input:
[1793] Parsed user-input data
[1794] Pricing plan information stored in memory
[1795] output:
[1796] Clustering results
[1797] Step 6:
[1798] The server selects the optimal service plan based on the results of the clustering algorithm, the user's spending plan, specific needs, and emotional state, using IBM Watson Natural Language Understanding as its emotion engine.
[1799] input:
[1800] Clustering results
[1801] The user's spending plan, specific needs, and emotional state
[1802] output:
[1803] The best service plan for you
[1804] Step 7:
[1805] The server converts the selected optimal service plan into JSON format and returns it to the user terminal using an HTTP POST request.
[1806] input:
[1807] The best service plan for you
[1808] output:
[1809] Optimal service plan in JSON format
[1810] Step 8:
[1811] The user device analyzes the recommended plan received from the server and displays it on the screen. Specific information such as the plan name, price, and features are displayed to the user.
[1812] input:
[1813] The optimal service plan received from the server in JSON format
[1814] output:
[1815] Recommended plan information displayed on the screen
[1816] As a specific example, if the data usage over the past three months is 300MB, 450MB, and 500MB, the budget is 4,000 yen, the request is unlimited calls and data communication, and the emotional state is dissatisfied, the server will select and propose "Plan C: 5,000 yen, unlimited calls, data communication, additional data" to the user.
[1817] (Application example 2)
[1818] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1819] The present invention aims to provide a system that can provide personalized product recommendations based on a user's purchasing history, budget, and specific needs, while also taking into account the user's emotional state, and also to provide a system that can dynamically adjust the recommendations based on the user's emotional state.
[1820] The specification processing by the specification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for inputting the user's purchase history, budget, and specific needs, means for communicating with the server including the generative model, means for displaying optimal products provided by the server to the user, an emotion recognition engine for recognizing the user's emotional state and transmitting emotion data to the server, and means for adjusting the content of suggestions based on the emotional state. This enables a deep understanding of the user's purchasing behavior and appropriate product suggestions based on emotions.
[1821] "User purchase history" is data such as the category, price, and purchase date and time of products purchased by the user in the past.
[1822] A "budget" is the amount of spending that a user is willing to make on a purchase.
[1823] "Specific needs" refer to specific demands and requests that users have for products, such as high quality, new arrivals, and emphasis on functionality.
[1824] A "generative model" is an algorithm or artificial intelligence model that generates optimal products and pricing plans based on past data.
[1825] The "means for communicating with the server" refers to an interface or protocol for sending and receiving data between the user terminal and the server.
[1826] "Best-fit products" are products selected based on a user's purchasing history, budget, specific needs, and emotional state.
[1827] An "emotion recognition engine" is a software or hardware system that recognizes emotions from a user's facial expressions and voice and analyzes them as data.
[1828] The "means for adjusting the proposed content" is a function that dynamically changes the content of the products proposed by the generative model based on the recognized emotional state of the user.
[1829] A "clustering algorithm" is a machine learning algorithm that analyzes user purchasing patterns and groups together data with similar patterns.
[1830] "Emotional state" refers to the psychological state or emotion a user has at a given moment, and includes, for example, excitement, boredom, irritation, etc.
[1831] The system for realizing the present invention comprises a user terminal, a server, a display means, and an emotion recognition engine. The entire system operates in the following steps:
[1832] User terminal configuration
[1833] The user device provides an interface for users to input their purchasing history, budget, and specific needs. The device also has a camera and microphone, which transmit data to an emotion recognition engine. Emotional states are recognized based on voice and facial expression data, and the data is sent to the server.
[1834] Server Configuration
[1835] The server receives the data sent from the user terminal and performs the following processing based on it:
[1836] Analysis of purchase history, budget, and needs data:
[1837] The server receives past purchase history, budget, and specific needs, and analyzes the data, which is then fed into a generative model.
[1838] Emotion recognition engine output analysis:
[1839] The server receives the user's emotional state sent by the emotion recognition engine and analyzes the data, for example, to determine whether the user is excited, bored, or annoyed.
[1840] Using generative models:
[1841] The server integrates purchase history, budget, needs, and emotional state to select the best products using a generative AI model, which uses a clustering algorithm (e.g., KMeans) based on past data.
[1842] Adjustments to selected products:
[1843] It adjusts suggestions based on the user's emotional state. For example, if the user is excited, it will prioritize new arrivals and popular items, if the user is bored, it will suggest special sale items, and if the user is irritated, it will avoid suggesting relatively expensive items.
[1844] Display means
[1845] The display means of the user terminal visually displays the selected products received from the server to the user, specifically, the product names, prices, and features are displayed on the screen.
[1846] Prompt Sentence Examples
[1847] Here is an example of the prompt you will see when using the system:
[1848] "Build a system that suggests optimal products based on a user's past purchase history, budget, and specific needs, and also takes into account the user's emotional state. The objectives are as follows:
[1849] 1. Receive information about your users' purchasing history, budget, and needs, and tailor your recommendations accordingly.
[1850] 2. Recognize emotions from user image data and optimize suggestions.
[1851] Specific examples
[1852] For example, if a user's past purchase history is "Electronics 30,000 yen, Fashion 15,000 yen," their budget is 20,000 yen, and their needs are set as "High quality, new arrivals," the emotion recognition engine may recognize the user's emotional state as "Excited." Based on this data, the system will suggest "High Quality Headphones (18,000 yen)" as the optimal product.
[1853] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1854] Step 1:
[1855] The user's device inputs their purchasing history, budget, and specific needs. This input can be done manually or imported from an existing database. The input data is converted into a standard data format such as JSON format for later processing. Specifically, data such as the category, amount, and purchase date of the user's past purchases is entered.
[1856] Step 2:
[1857] The user device uses a camera and microphone to collect image and audio data of the user, which is then analyzed by an emotion recognition engine to determine the user's emotional state, for example, whether the user is excited, bored, or annoyed.
[1858] Step 3:
[1859] The user device sends data about their purchase history, budget, specific needs, and emotional state to the server, in a standardized format (e.g., JSON).
[1860] Step 4:
[1861] The server receives and analyzes data sent from the user's device. The received data includes purchase history, budget, specific needs, and emotional state. First, the server analyzes the purchase history, budget, and needs and supplies the data to a generative model. Then, it analyzes data sent from the emotion recognition engine to determine the user's emotional state.
[1862] Step 5:
[1863] The server analyzes the user's purchasing patterns using a clustering algorithm (e.g., KMeans) based on their purchase history, budget, and needs. Based on the optimal cluster, it generates a product list that best suits the user's patterns. For example, for a user who frequently purchases items in the electronics category, it will prioritize the selection of new products in that category.
[1864] Step 6:
[1865] The server adjusts the generated product list based on the user's emotional state. For example, if the user is excited, new arrivals and popular items will be placed at the top of the list. If the user is bored, sale items and special offers will be prioritized. If the user is frustrated, high-priced items will be avoided and cost-effective items will be suggested.
[1866] Step 7:
[1867] The server then sends the optimized product list to the user's device, often again in JSON format, and includes details such as product name, price, and features.
[1868] Step 8:
[1869] The user device analyzes the product list received from the server and visually displays it to the user. For example, the list may be displayed as "High Quality Headphones (18,000 yen)" on the user's screen. The user can then select the most suitable product based on this suggestion.
[1870] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the control target 443 to output the result of the specific processing. The microphone 238 acquires voice indicating a user input regarding the result of the specific processing. The control unit 46A transmits voice data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.
[1871] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1872] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the robot 414.
[1873] The emotion identification model 59 as an emotion engine may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to an emotion map (see FIG. 9), which is a specific mapping. Similarly, the emotion identification model 59 may determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[1874] FIG. 9 is a diagram illustrating an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and actions arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion includes both affect and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.
[1875] These emotions are distributed in the 3 o'clock direction on emotion map 400, and typically fluctuate between relief and anxiety. In the right half of emotion map 400, situational awareness dominates over internal sensations, resulting in a sense of calm.
[1876] The inside of emotion map 400 represents what is going on in the mind, and the outside of emotion map 400 represents behavior, so the further you go outside emotion map 400, the more visible the emotions become (the more they are expressed in behavior).
[1877] Human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. Emotions can also be created for robots, automobiles, and motorcycles, based on various balances, such as posture and remaining battery life. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. An emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on Voice Emotion Recognition and Emotional Brain Physiological Signal Analysis Systems, Tokushima University, Doctoral Dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map lists emotions belonging to the "reaction" domain, where sensation is dominant. The right half of the emotion map lists emotions belonging to the "situation" domain, where situational awareness is dominant.
[1878] The emotion map defines two emotions that promote learning. One is a negative emotion on the situation side, around the middle of "repentance" or "reflection." In other words, this occurs when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is a positive emotion on the response side, around "desire." In other words, this occurs when the robot experiences positive feelings such as "I want more" or "I want to know more."
[1879] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values indicating each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple pieces of training data that are combinations of user input and emotion values indicating each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions that are located close to each other have similar values, as in the emotion map 900 shown in FIG. 10. FIG. 10 shows an example in which multiple emotions, "relieved," "calm," and "reassuring," have similar emotion values.
[1880] The system according to the present disclosure has been described above mainly with respect to the functions of the data processing device 12, but the system according to the present disclosure is not necessarily implemented on a server. The system according to the present disclosure may be implemented as a general information processing system. The present disclosure may be implemented, for example, as a software program running on a personal computer or an application running on a smartphone, etc. The method according to the present disclosure may be provided to users in the form of SaaS (Software as a Service).
[1881] In the above embodiment, an example was given in which the specific processing is performed by one computer 22, but the technology of the present disclosure is not limited to this, and the specific processing may be distributed and performed by a plurality of computers including the computer 22. For example, the data generation model 58 may be provided in an external device of the data processing device 12, and data may be generated in the external device in accordance with input data.
[1882] In the above embodiment, an example in which the specific processing program 56 is stored in the storage 32 has been described, but the technology of the present disclosure is not limited to this. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-transitory storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-transitory storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes the specific processing in accordance with the specific processing program 56.
[1883] Alternatively, the specific processing program 56 may be stored in a storage device such as a server connected to the data processing device 12 via the network 54, and the specific processing program 56 may be downloaded and installed on the computer 22 in response to a request from the data processing device 12.
[1884] It is not necessary to store all of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store all of the specific processing program 56 in the storage 32; only a portion of the specific processing program 56 may be stored.
[1885] The hardware resource for executing a specific process can be any of the following processors: An example of a processor is a CPU, which is a general-purpose processor that functions as a hardware resource for executing a specific process by executing software, i.e., a program. Another example of a processor is a dedicated electrical circuit, such as an FPGA (Field-Programmable Gate Array), a PLD (Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit), which is a processor with a circuit configuration designed specifically for executing a specific process. Each processor has built-in or connected memory, and each processor uses the memory to execute the specific process.
[1886] The hardware resource that executes the specific processing may be configured with one of these various processors, or may be configured with a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Also, the hardware resource that executes the specific processing may be a single processor.
[1887] As an example of a system configured with a single processor, first, one processor is configured by combining one or more CPUs and software, and this processor functions as a hardware resource that executes a specific process. Second, there is a system that uses a processor that realizes the functions of an entire system including multiple hardware resources that execute a specific process on a single IC chip, as typified by SoC (System-on-a-chip). In this way, a specific process is realized using one or more of the above-mentioned various processors as hardware resources.
[1888] Furthermore, the hardware structure of these various processors can be, more specifically, an electric circuit that combines circuit elements such as semiconductor devices. The specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps may be deleted, new steps may be added, or the processing order may be rearranged, without departing from the spirit of the invention.
[1889] The above-described description and illustrations are a detailed explanation of the parts related to the technology of the present disclosure and are merely an example of the technology of the present disclosure. For example, the above description of the configuration, functions, actions, and effects is an explanation of an example of the configuration, functions, actions, and effects of the parts related to the technology of the present disclosure. Therefore, it goes without saying that unnecessary parts may be deleted, new elements may be added, or replacements may be made to the above-described description and illustrations within the scope of the gist of the technology of the present disclosure. Furthermore, to avoid confusion and facilitate understanding of the parts related to the technology of the present disclosure, the above-described description and illustrations omit explanations of common technical knowledge that do not require particular explanation to enable the implementation of the technology of the present disclosure.
[1890] All publications, patent applications, and technical standards mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent application, or technical standard was specifically and individually indicated to be incorporated by reference.
[1891] The following is further disclosed regarding the above embodiment.
[1892] (Claim 1)
[1893] A means for inputting the user's mobile phone usage status;
[1894] means for communicating with a server including a generative model for generating an optimal pricing plan based on the user's usage;
[1895] means for displaying to a user the optimal rate plan provided by the server;
[1896] A system including:
[1897] (Claim 2)
[1898] a means for inputting a user's budget and specific needs;
[1899] means for the generative model to evaluate an optimal pricing plan based on the budget and particular needs;
[1900] 10. The system of claim 1, comprising:
[1901] (Claim 3)
[1902] means for the generative model to analyze user usage patterns using a clustering algorithm;
[1903] means for selecting an optimal pricing plan based on the results of the clustering algorithm;
[1904] 10. The system of claim 1, comprising:
[1905] "Example 1"
[1906] (Claim 1)
[1907] A means for inputting the usage status of a user's mobile terminal;
[1908] means for communicating with a server containing a generative model that generates optimal pricing plans based on the user's usage, budget, and specific needs;
[1909] means for displaying to a user the optimal rate plan provided by the server;
[1910] A system including:
[1911] (Claim 2)
[1912] a means for inputting a user's budget and specific needs;
[1913] means for the generative model to evaluate an optimal pricing plan based on the budget and particular needs;
[1914] 10. The system of claim 1, comprising:
[1915] (Claim 3)
[1916] means for the generative model to analyze user usage patterns using a clustering algorithm;
[1917] means for selecting an optimal pricing plan based on the results of the clustering algorithm;
[1918] 10. The system of claim 1, comprising:
[1919] "Application Example 1"
[1920] (Claim 1)
[1921] A means for inputting the user's mobile phone usage status;
[1922] means for communicating with a data processing device that includes a generative model for generating an optimal pricing plan based on the user's usage;
[1923] means for displaying to a user the optimal rate plan provided by the data processing device;
[1924] means for encrypting mobile phone usage data;
[1925] means for transmitting the encrypted data to the data processing device;
[1926] A system including:
[1927] (Claim 2)
[1928] a means for inputting a user's budget and specific needs;
[1929] means for the generative model to evaluate an optimal pricing plan based on the budget and particular needs;
[1930] means for encrypting the optimum rate plan calculated by the data processing device and retransmitting it to the user terminal;
[1931] 10. The system of claim 1, comprising:
[1932] (Claim 3)
[1933] means for the generative model to analyze user usage patterns using a clustering algorithm;
[1934] means for selecting an optimal pricing plan based on the results of the clustering algorithm;
[1935] means for implementing multi-factor authentication upon data entry by said user;
[1936] 10. The system of claim 1, comprising:
[1937] (Claim 4)
[1938] means for permitting data entry after a user is authenticated using the multi-factor authentication;
[1939] a means for storing the data in an encrypted state in the data processing device and for processing the data;
[1940] 4. The system of claim 3, comprising:
[1941] "Example 2: Combining Emotion Engines"
[1942] (Claim 1)
[1943] A means for inputting the usage status of a user's mobile communication terminal;
[1944] means for communicating with a host computer that includes a generative model for generating an optimal service plan based on the user's usage;
[1945] means for displaying to a user the optimum service plan provided by the host computer;
[1946] means for recognizing and transmitting the emotional state of a user to said host computer;
[1947] A system including:
[1948] (Claim 2)
[1949] means for inputting the user's spending schedule and specific requirements;
[1950] means for the generative model to evaluate an optimal service plan based on the spending budget and specific requirements;
[1951] 10. The system of claim 1, comprising:
[1952] (Claim 3)
[1953] means for the generative model to analyze user usage patterns using a classification algorithm;
[1954] means for selecting an optimal service plan based on the results of the classification algorithm;
[1955] 10. The system of claim 1, comprising:
[1956] "Application example 2 when combining emotion engines"
[1957] (Claim 1)
[1958] a means for inputting the user's purchasing history, budget, and specific needs;
[1959] A means for communicating with a server including a generative model that generates optimal products based on the user's purchase history, budget, and needs;
[1960] means for displaying to a user the most suitable product provided by the server;
[1961] an emotion recognition engine that recognizes an emotional state of a user and transmits emotion data to the server;
[1962] a means for adjusting the suggestions based on the emotional state;
[1963] A system including:
[1964] (Claim 2)
[1965] 10. The system of claim 1, further comprising means for adjusting new product suggestions based on the emotional state of the user.
[1966] (Claim 3)
[1967] means for the generative model to analyze user patterns using a clustering algorithm of past purchase history;
[1968] means for selecting the most suitable product based on the result of the clustering algorithm;
[1969] 10. The system of claim 1, comprising: [Explanation of symbols]
[1970] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>
Claims
1. A means for inputting the user's mobile phone usage status; means for communicating with a server including a generative model for generating an optimal pricing plan based on the user's usage; means for displaying to a user the optimal rate plan provided by the server; A system including:
2. a means for inputting a user's budget and specific needs; means for the generative model to evaluate an optimal pricing plan based on the budget and particular needs; The system of claim 1 , comprising:
3. means for the generative model to analyze user usage patterns using a clustering algorithm; means for selecting an optimal pricing plan based on the results of the clustering algorithm; The system of claim 1 , comprising:
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A