system
The system enhances weather forecast accuracy by training a machine learning model with past and local weather data, providing transparent accuracy rates, and improving predictions through user input, addressing the limitations of conventional methods.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-26
- Publication Date
- 2026-03-10
AI Technical Summary
Conventional weather forecasts lack accuracy and reliability due to reliance on past weather data without incorporating local user data, and there is no mechanism to improve forecasts in real time or provide transparency about their accuracy.
A system that collects and stores past weather data, trains a machine learning model, predicts future weather, calculates and publishes the accuracy rate, and improves forecast accuracy by utilizing local weather data collected from users.
Provides highly accurate and reliable weather forecasts by continuously improving model accuracy through user feedback and transparency about forecast reliability.
Smart Images

Figure 2026041348000001_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] Conventional weather forecasts utilize past weather data to make predictions, but the accuracy of these predictions is limited. Furthermore, the accuracy rate of the forecast results is not disclosed, making it difficult for users to determine the reliability of the weather forecast provided. Furthermore, there is no mechanism for utilizing local weather data from users, preventing improvements in accuracy in real time. The present invention aims to solve these problems and provide a system that provides highly accurate and reliable weather forecasts. [Means for solving the problem]
[0005] The present invention solves the above-mentioned problems with a system including: means for collecting and storing past weather data; means for training a machine learning model using the collected weather data; means for predicting future weather using the trained machine learning model; means for providing the future forecast results based on a user request; means for calculating the accuracy rate of the forecast by comparing the provided forecast results with actual weather data; means for publishing the calculated accuracy rate; and means for collecting local weather data from users and using it to improve the accuracy of the machine learning model. Specifically, the system collects local weather data provided by users and feeds it back into the machine learning model to constantly improve the accuracy of the forecast. Furthermore, the system aims to improve user trust by publishing the accuracy rate of the forecast results.
[0006] "Past weather data" refers to information such as temperature, humidity, wind speed, air pressure, and weather conditions observed in the past.
[0007] A "machine learning model" is a predictive algorithm built using machine learning techniques that learns patterns and relationships from past data.
[0008] "Training" refers to the process of inputting historical weather data into a machine learning model, learning from the data, and improving its prediction accuracy.
[0009] "Forecasting" refers to using trained machine learning models to estimate future weather conditions.
[0010] "User" refers to a person who uses the system to request a weather forecast.
[0011] A "request" refers to a user's request for a future weather forecast for a particular date, time and location.
[0012] "Prediction results" are information about future weather generated by the machine learning model, including temperature, humidity, wind speed, air pressure, and weather conditions.
[0013] The "accuracy rate" is an indicator of the accuracy of a forecast, calculated by comparing the forecast results with actual weather data.
[0014] "Making it public" means making the accuracy rate information calculated by the system available to general users.
[0015] "Local weather data" refers to information such as temperature, humidity, wind speed, air pressure, and weather conditions observed at the user's current location.
[0016] "Feedback" refers to incorporating local weather data collected from users into the machine learning model. [Brief explanation of the drawings]
[0017] [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 illustrating 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
[0018] 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.
[0019] First, the terms used in the following description will be explained.
[0020] 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).
[0021] 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.
[0022] 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.
[0023] 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.
[0024] 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."
[0025] [First embodiment]
[0026] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0027] 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.
[0028] 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).
[0029] 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.
[0030] 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.
[0031] 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.
[0032] 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.
[0033] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0034] 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.
[0035] 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.
[0036] 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.
[0037] 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."
[0038] The following describes in detail the mode for carrying out the present invention. The present invention is a system that collects and stores past weather data, trains a machine learning model, and generates and provides weather forecasts based on user requests. Furthermore, the accuracy rate of the forecast results is made public, and the accuracy of the forecasts is improved using local weather data collected from users.
[0039] Server Processing
[0040] Collection and storage of historical data
[0041] The server periodically accesses the API of the weather data provider to obtain past weather data, including the date, time, temperature, humidity, wind speed, air pressure, and weather conditions, and stores this data in a database.
[0042] Training a machine learning model
[0043] The server uses the collected historical weather data to train machine learning models, specifically using machine learning algorithms such as long short-term memory (LSTM) networks to learn weather patterns from the data.
[0044] Generate and provide weather forecasts
[0045] When a user requests weather, the server uses a trained machine learning model to predict future weather conditions, including temperature, humidity, wind speed, air pressure, and weather conditions, and returns the forecast to the user.
[0046] Calculation and publication of prediction accuracy rate
[0047] The server compares the actual weather data with the forecast results, calculates the accuracy rate of the forecast, and stores the results in a database. The accuracy rate is then periodically calculated and made public on a website or other platform.
[0048] Collecting local weather data
[0049] The server receives local weather data sent by the user, which is also stored in a database and used to train the next machine learning model.
[0050] Terminal handling
[0051] Sending a weather request
[0052] Based on the user's input, the device sends a weather forecast request to the server, including location and date / time information.
[0053] Receiving and displaying prediction results
[0054] Once the forecast is received from the server, the device displays it to the user, including information such as temperature, humidity, wind speed, air pressure, and weather conditions.
[0055] Sending local weather data
[0056] The device sends the weather data entered by the user for the current location to the server, including temperature, humidity, wind speed, air pressure, and weather conditions.
[0057] User Action
[0058] Check the weather forecast
[0059] The user uses the terminal to request a weather forecast and check the returned forecast results.
[0060] Providing local weather data
[0061] The user inputs weather data for their current location into the terminal and transmits it to the server.
[0062] To give a specific example, a user sends a request from their device asking for "the weather in Tokyo three days from now." The server that receives this request generates a prediction using an AI model and returns the result to the device: "Tokyo three days from now will be sunny, with a maximum temperature of 25 degrees and a minimum temperature of 17 degrees." The device that receives this prediction then displays the result to the user.
[0063] Additionally, when a user provides local weather data, for example by entering "current location is Osaka, weather is cloudy, temperature is 22 degrees" into the device, the data is sent to the server, which stores it in a database and uses it to train the next AI model.
[0064] The above is a specific embodiment of the present invention. In this way, a system is constructed that provides highly accurate and reliable weather forecasts and utilizes user feedback to improve prediction accuracy.
[0065] The processing flow will be explained below.
[0066] Step 1:
[0067] Collection of historical data
[0068] The server periodically accesses the API of the weather data service to obtain past weather data. Specifically, it sends an API request to obtain detailed data such as date and time, temperature, humidity, wind speed, air pressure, and weather conditions. This data is then automatically stored in a database.
[0069] Step 2:
[0070] Training a machine learning model
[0071] The server uses the collected historical weather data to train a machine learning model. Specifically, it preprocesses the dataset and splits it into training data and test data. It then uses an appropriate machine learning algorithm, such as a long short-term memory (LSTM) network, to train the model and find optimal parameters. The trained model is then stored for use in future predictions.
[0072] Step 3:
[0073] Sending a weather request
[0074] A user sends a weather forecast request from a device. Specifically, the user inputs through the device's application that they want to know the weather forecast for a specific location and date and time. The device then sends the request to the server.
[0075] Step 4:
[0076] Generate weather forecasts
[0077] The server predicts future weather based on the received user request. Specifically, it inputs the location and date and time of the user request into a machine learning model to generate forecast results (weather, temperature, humidity, wind speed, air pressure, etc.).
[0078] Step 5:
[0079] Response of prediction results
[0080] The server returns the generated prediction result to the user. Specifically, the prediction result is returned to the terminal that sent the request, and the terminal displays it to the user.
[0081] Step 6:
[0082] Calculating the accuracy rate of predictions
[0083] The server acquires and compares actual weather data with forecast data. Specifically, it periodically acquires actual weather data and compares it with forecast data generated in the past to calculate the accuracy rate. The calculation results are stored in a database.
[0084] Step 7:
[0085] Publication of accuracy rate
[0086] The server publishes the calculated accuracy rate, and provides statistical information on the accuracy rate to users on a website or within the app.
[0087] Step 8:
[0088] Local weather data collection
[0089] The user inputs weather data for their current location and sends it from the device to the server. Specifically, the user inputs temperature, humidity, wind speed, air pressure, weather conditions, etc. into the application, and the device sends the data to the server.
[0090] Step 9:
[0091] Local data storage and use
[0092] The server stores the received local weather data in a database, which is then used the next time the machine learning model is trained to improve its accuracy.
[0093] The above is the specific processing flow of the program. As a result, the system of the present invention can provide highly accurate weather forecasts and continuously improve the accuracy of predictions by utilizing user feedback.
[0094] Example 1
[0095] 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."
[0096] Modern weather forecasting systems are required to improve their forecast accuracy. In particular, it is important to provide more reliable weather forecasts by effectively utilizing past weather data and incorporating local weather data collected from users. In addition, it is necessary to increase transparency and improve reliability by disclosing the accuracy rate of forecasts to users.
[0097] 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.
[0098] In this invention, the server includes means for collecting and storing past weather data, means for training a machine learning model using the collected weather data, means for predicting future weather using the trained machine learning model, means for providing the future forecast results based on a user request, means for calculating the accuracy rate of the forecast by comparing the provided forecast results with actual weather data, means for publishing the calculated accuracy rate, means for collecting local weather data from the user and using it to improve the accuracy of the machine learning model, and means for the terminal to display the forecast results to the user. This makes it possible to effectively utilize past weather data and local weather data to provide highly accurate and reliable weather forecasts.
[0099] "Past weather data" refers to information such as past dates and times, temperatures, humidity, wind speed, air pressure, and weather conditions that are necessary to make predictions.
[0100] "Collection means" refers to the method or system for obtaining data from the API of a weather data provision service, etc.
[0101] "Storage means" refers to a method or system for storing collected data in a storage device such as a database.
[0102] A "machine learning model" refers to an algorithm or network that uses past data to learn weather patterns and predict future weather.
[0103] "Training method" refers to a method or system for training a machine learning model using collected weather data.
[0104] "Forecasting tool" refers to a method or system for predicting future weather using a trained machine learning model.
[0105] A "request" refers to a request for a prediction sent by a user.
[0106] The "provision means" refers to a method or system for returning the prediction results generated based on the user's request to the user.
[0107] "Accuracy rate" refers to an index that shows the degree of agreement between the forecast results and actual weather data.
[0108] "Calculation means" refers to a method or system for comparing the provided forecast results with actual weather data and calculating the accuracy rate.
[0109] "Disclosure means" refers to a method or system for informing users of the calculated accuracy rate.
[0110] "Terminal" refers to the equipment or device through which a user sends a request and receives and displays prediction results.
[0111] "Local weather data" refers to information such as temperature, humidity, wind speed, air pressure, and weather conditions observed by the user at their current location.
[0112] "Collected local data" refers to weather data provided by the user.
[0113] A "long short-term memory network" is a type of machine learning algorithm used to learn patterns in time series data.
[0114] MODE FOR CARRYING OUT THE INVENTION
[0115] This system collects and stores past weather data, trains a machine learning model, and generates and provides weather forecasts based on user requests. Furthermore, it publishes the accuracy rate of the forecast results and uses local weather data collected from users to improve the forecast accuracy.
[0116] Hardware and Software Configuration
[0117] Server Configuration
[0118] The server can run on a high performance computing (HPC) system or a cloud-based virtual machine (VM) environment. The server includes the following key software:
[0119] Operating system: Linux (registered trademark)
[0120] Database management system: MySQL (registered trademark) or PostgreSQL
[0121] Programming language: Python
[0122] Machine learning library: TENSORFLOW (registered trademark) or PyTorch
[0123] Device configuration
[0124] A terminal is a device operated by a user, such as a smartphone, tablet, or personal computer. The terminal has an internet connection and runs applications, including:
[0125] Operating system: iOS, ANDROID or Windows
[0126] API Client: HTTP client library (e.g. axios, fetch)
[0127] Server Processing
[0128] The server periodically accesses the API of a weather data provider to obtain past weather data such as date and time, temperature, humidity, wind speed, air pressure, and weather conditions. The obtained data is stored in a MySQL or PostgreSQL database. This data is used to train machine learning models such as long short-term memory (LSTM) networks using the TensorFlow or PyTorch machine learning libraries built in Python.
[0129] The trained model predicts future weather in response to user requests. For example, if a user requests, "I want to know the weather in Tokyo three days from now," the server generates a weather forecast based on this request and replies with the result, "Tokyo three days from now will be sunny, with a maximum temperature of 25 degrees and a minimum temperature of 17 degrees."
[0130] Terminal handling
[0131] When a user inputs a request into the device, the device uses an HTTP client library to send the request to the server. The forecast results received from the server are analyzed and displayed by the device. For example, if a user inputs "Weather in Tokyo in 3 days," the device will return the forecast results, "Sunny, maximum temperature 25 degrees, minimum temperature 17 degrees," and display them to the user.
[0132] User Roles
[0133] The user inputs a request into the device and checks the forecast results returned by the server. The user also inputs weather data for their current location into the device and sends it to the server. For example, by inputting "Current location: Osaka, Weather: Cloudy, Temperature: 22 degrees," this data is sent to the server and used for training the next machine learning model.
[0134] Specific examples
[0135] Requesting weather forecasts and receiving forecast results
[0136] A user sends a request from their device to find out "the weather in Tokyo three days from now." The server that receives this request generates a prediction using an AI model and returns the result to the device: "Tokyo three days from now will be sunny, with a maximum temperature of 25 degrees and a minimum temperature of 17 degrees." The device then displays this prediction to the user.
[0137] Providing local weather data
[0138] When a user provides local weather data, for example by entering "current location is Osaka, weather is cloudy, temperature is 22 degrees" into the device, the data is sent to the server, which stores it in a database and uses it to train the next AI model.
[0139] This system can provide highly accurate and reliable weather forecasts, and can utilize user feedback to improve the accuracy of the forecasts.
[0140] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0141] Step 1:
[0142] The server accesses the API of the weather data provider service to obtain past weather data such as date and time, temperature, humidity, wind speed, air pressure, and weather conditions. The obtained data is received in JSON format. This inputs the past weather data to the server. The server parses the obtained JSON format data and inserts it into the corresponding database table. The parsed data is saved in the database.
[0143] (Input: Past weather data API response (JSON format) / Output: Weather data stored in the database)
[0144] Step 2:
[0145] The server uses the historical weather data stored in the database to train a machine learning model using the Python library TensorFlow or PyTorch. It uses a long short-term memory (LSTM) network and provides five years of data as input. The server trains the data through the LSTM network, and the trained model is output.
[0146] (Input: Historical weather data retrieved from a database / Output: Trained machine learning model)
[0147] Step 3:
[0148] The user inputs a request such as "Weather in Tokyo in three days" into the terminal. The terminal sends this request to the server using the HTTP protocol. The request includes location and date / time information and is input to the server.
[0149] (Input: User's weather forecast request (location and date / time) / Output: API request to the server)
[0150] Step 4:
[0151] The server generates a weather forecast based on a user request using the stored weather data and a trained machine learning model. For example, for a request such as "Tokyo, three days later," the server provides input data to the machine learning model and generates a forecast result such as "sunny, maximum temperature 25 degrees, minimum temperature 17 degrees." The forecast result is formatted in JSON format and returned as an API response.
[0152] (Input: User request, trained machine learning model / Output: Weather forecast results (JSON format))
[0153] Step 5:
[0154] The device analyzes the JSON formatted forecast results received from the server and displays them to the user. Specifically, the analyzed data is displayed on the screen, and the user is notified that "Tokyo will be sunny in three days, with a maximum temperature of 25 degrees and a minimum temperature of 17 degrees."
[0155] (Input: API response from the server (forecast result) / Output: Weather forecast displayed to the user)
[0156] Step 6:
[0157] The user inputs the weather data for their current location into the device and sends it to the server. For example, by inputting "Current location: Osaka, Weather: Cloudy, Temperature: 22 degrees", this data is sent to the server. The data is input from the device to the server.
[0158] (Input: Input of local weather data by the user / Output: Sending data to the server)
[0159] Step 7:
[0160] The server stores the local weather data sent by the user in a database, analyzes the received data, and inserts it into the corresponding database table. This data is used to train the next machine learning model.
[0161] (Input: Local weather data from the user / Output: Local weather data stored in the database)
[0162] Step 8:
[0163] The server compares past forecasts with actual weather data to calculate the accuracy rate. For example, it compares forecasts from the past week with actual data and calculates the percentage of accurate temperature predictions. The calculated accuracy rate is stored in a database.
[0164] (Input: Past forecast results, actual weather data / Output: Calculated accuracy rate)
[0165] Step 9:
[0166] The server publishes the calculated accuracy rate on a website, etc. Specifically, it updates a page that displays the accuracy rate in HTML format and informs users of the prediction accuracy.
[0167] (Input: Calculated accuracy rate / Output: Accuracy rate published on the website)
[0168] The above is the specific processing flow of the program of this system.
[0169] (Application example 1)
[0170] 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."
[0171] Conventional weather forecasting systems have the drawback of only providing users with forecast results, without providing any additional information or services. In particular, they are inadequate in addressing the impact of weather conditions on daily life. For example, they lack assistance in selecting appropriate foods and drinks on bad weather or extremely hot days. Furthermore, there are limited means to improve the accuracy of the system using user feedback. Therefore, a new weather forecasting system that can provide added value to users is needed.
[0172] 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.
[0173] In this invention, the server includes means for collecting and storing past weather data, means for training a machine learning model using the collected weather data, and means for predicting future weather using the trained machine learning model. This includes means for providing future forecast results based on a user request, means for calculating the accuracy rate of the forecast by comparing the provided forecast results with actual weather data, means for publishing the calculated accuracy rate, means for collecting local weather data from the user and using it to improve the accuracy of the machine learning model, and means for suggesting optimal foods to the user based on the weather forecast. This makes it possible to provide the user with highly accurate and reliable weather forecasts and to suggest optimal foods and beverages suited to the weather conditions of the day.
[0174] "Past weather data" refers to weather information such as temperature, humidity, wind speed, air pressure, and weather conditions recorded in the past.
[0175] A "machine learning model" is an algorithm or system that learns from past data and makes predictions and classifications based on new data.
[0176] A "user request" is a request for a weather forecast based on a user-specified location and date and time.
[0177] "Prediction results" refer to future weather information generated by machine learning models.
[0178] The "accuracy rate" is an indicator that shows how closely the forecast results match the actual weather data.
[0179] "Local weather data" refers to real-time weather information such as temperature, humidity, wind speed, air pressure, and weather conditions at a specific location and time.
[0180] "Accuracy improvement" refers to data collection and algorithm improvements to improve the predictive accuracy of machine learning models.
[0181] "Optimal food suggestions" refers to recommending foods and drinks to the user that suit the weather conditions at the time based on the weather forecast.
[0182] The following describes in detail the mode for carrying out the present invention. The present invention is a system that collects and stores past weather data, trains a machine learning model, and generates and provides weather forecasts based on user requests. Furthermore, the system publishes the accuracy rate of the forecast results and improves the accuracy of the forecasts using local weather data collected from users. Additionally, the system includes a function that suggests optimal foods to users based on the weather forecast.
[0183] Server Processing
[0184] Collection and storage of historical data
[0185] The server uses an API to access a weather data provider and periodically retrieves past weather data. This data includes the date, time, temperature, humidity, wind speed, air pressure, and weather conditions, and the retrieved data is stored in a database. The specific API name used is WeatherAPI.
[0186] Training a machine learning model
[0187] The server uses collected historical weather data to learn weather patterns using machine learning algorithms such as linear regression and long short-term memory (LSTM) networks, for example, using Python machine learning libraries such as scikit-learn and TensorFlow.
[0188] Generate and provide weather forecasts
[0189] When a user requests weather, the server uses a trained machine learning model to predict future weather conditions, including temperature, humidity, wind speed, air pressure, and weather conditions, and returns the forecast to the user.
[0190] Calculation and publication of prediction accuracy rate
[0191] The server compares the actual weather data with the forecast results, calculates the accuracy rate of the forecast, and stores the results in a database. The accuracy rate is then periodically calculated and made public on a website or other platform.
[0192] Collecting local weather data
[0193] The server receives local weather data sent by the user, which is also stored in a database and used to train the next machine learning model.
[0194] Recommendations for the best foods
[0195] Based on the weather forecast data, the server will suggest food and drink options to the user that best fit the weather conditions of the day, for example, hot soup or curry on a rainy day, or cold salad or ice cream on a hot day, using a weather-based food suggestion algorithm, as shown in the Python code example.
[0196] Terminal handling
[0197] Sending a weather request
[0198] Based on the user's input, the device sends a weather forecast request to the server, including location and date / time information.
[0199] Receiving and displaying prediction results
[0200] Once the forecast is received from the server, the device displays it to the user, including information such as temperature, humidity, wind speed, air pressure, and weather conditions. It also suggests the best foods and drinks to eat based on the weather forecast.
[0201] Sending local weather data
[0202] The device sends the weather data entered by the user for the current location to the server, including temperature, humidity, wind speed, air pressure, and weather conditions.
[0203] User Action
[0204] Check the weather forecast
[0205] Users can use the device to request a weather forecast, view the forecast results, and find out the best food and drink options based on the weather conditions for that day.
[0206] Providing local weather data
[0207] The user inputs weather data for their current location into the device and sends it to the server. For example, they input information such as "Current location is Tokyo, weather is sunny, temperature is 25 degrees."
[0208] As a specific example, a user requests "the weather in Tokyo three days from now." The server that receives this request uses a machine learning model to make a prediction and returns the result to the device: "Tokyo will be sunny in three days, with a maximum temperature of 25 degrees and a minimum temperature of 17 degrees." The device that receives this displays this prediction result along with a food suggestion such as "We recommend a cold salad to match the weather three days from now."
[0209] Example prompts to be input to the generative AI model
[0210] "Get the past 30 days of weather data for Tokyo, train a machine learning model to predict the most popular food for that day, and make food suggestions based on the current weather."
[0211] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0212] Step 1:
[0213] Collecting and storing historical weather data
[0214] The server periodically accesses a weather data provider through an API (for example, WeatherAPI) to obtain past weather data. The input is data such as temperature, humidity, wind speed, air pressure, and weather conditions obtained from the API. This data is then stored in a database. Specifically, a query is executed and the obtained data is inserted into a relational database such as MySQL.
[0215] Step 2:
[0216] Training a machine learning model
[0217] The server uses the stored historical weather data to train the machine learning model. The input is historical weather data extracted from the database. The data is taken and trained using Python libraries such as scikit-learn and TensorFlow, applying linear regression and long short-term memory (LSTM) network algorithms. The output is a trained machine learning model.
[0218] Step 3:
[0219] Generate and provide weather forecasts
[0220] When a request is sent from a user, the server uses a trained machine learning model to predict future weather. The input is the location and date and time information specified by the user. The request is received, input into the model, and a prediction is made. The prediction result includes temperature, humidity, wind speed, air pressure, weather conditions, etc., and is returned to the user. The output is the prediction result, which is sent to the terminal.
[0221] Step 4:
[0222] Calculation and publication of prediction accuracy rate
[0223] The server compares the actual weather data with the forecast results and calculates the accuracy rate of the forecast. The input is the actual weather data and the forecast results. The actual weather data is retrieved from the database and compared with the forecast data to calculate the accuracy rate. The calculated accuracy rate is saved in the database and periodically published on a website, etc. The output is the calculated accuracy rate.
[0224] Step 5:
[0225] Collecting local weather data
[0226] The server receives local weather data sent by the user. The input is the weather data for the user's current location, including temperature, humidity, wind speed, air pressure, and weather conditions. The received data is stored in a database and used to train the next machine learning model. Specifically, the data is POSTed to the server using an API, and then inserted into the database on the server side.
[0227] Step 6:
[0228] Recommendations for the best foods
[0229] The server uses weather forecast data to suggest foods and drinks that are best suited to the weather conditions of the day to the user. The input is weather forecast data and the user's location information. A trained machine learning model is used to suggest foods based on the current weather conditions. The output is the suggested foods and drinks, which are sent to the device. Specifically, an algorithm is used to analyze the relationship between weather data and foods, and the results are returned to the user's device.
[0230] Step 7:
[0231] Sending a weather request
[0232] The device sends a weather forecast request to the server based on the user's input. The input is the location and date and time information specified by the user. The request is sent to the server using the HTTP protocol as a GET request. The output is the request sent to the server and awaits the receipt of the forecast result.
[0233] Step 8:
[0234] Receiving and displaying prediction results
[0235] When the device receives the prediction results from the server, it displays them to the user. The input is the prediction results and food suggestions returned from the server. The displayed information includes temperature, humidity, wind speed, air pressure, weather conditions, and suggested foods and drinks. Specifically, the information is rendered in the user interface using a display template.
[0236] Step 9:
[0237] Sending local weather data
[0238] The device sends the weather data for the current location entered by the user to the server. The input is information provided by the user, such as temperature, humidity, wind speed, pressure, and weather conditions. This is sent to the server via an HTTP POST request, ready to be stored. The output is the data sent to the server.
[0239] 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.
[0240] The following describes in detail the embodiments of the present invention. The present invention is a system that collects and stores past weather data, trains a machine learning model, and generates and provides weather forecasts based on user requests. Furthermore, the system publishes the accuracy rate of the forecast results and improves the accuracy of the forecasts using local weather data collected from users. Furthermore, the present invention incorporates an emotion engine that recognizes the user's emotions and adjusts the presentation of the weather forecast based on the user's emotions.
[0241] Server Processing
[0242] Collection and storage of historical data
[0243] The server periodically accesses the API of the weather data provider to obtain past weather data, including the date, time, temperature, humidity, wind speed, air pressure, and weather conditions, and stores this data in a database.
[0244] Training a machine learning model
[0245] The server uses the collected historical weather data to train a machine learning model. Specifically, it preprocesses the dataset and splits it into training and test data. It then uses an appropriate machine learning algorithm, such as a long short-term memory (LSTM) network, to train the model. The trained model is then stored for use in future predictions.
[0246] Generate and provide weather forecasts
[0247] When a user requests weather, the server uses a trained machine learning model to predict future weather conditions, including temperature, humidity, wind speed, air pressure, and weather conditions, and returns the forecast to the user.
[0248] Calculation and publication of prediction accuracy rate
[0249] The server compares the actual weather data with the forecast results, calculates the accuracy rate of the forecast, and stores the results in a database. The accuracy rate is then periodically calculated and made public on a website or other platform.
[0250] Collecting local weather data
[0251] The server receives local weather data sent by the user, which is also stored in a database and used to train the next machine learning model.
[0252] Emotion engine processing
[0253] The emotion engine installed on the server analyzes data and sensor information sent by the user to recognize the user's emotions. For example, an algorithm is used to determine emotions from text entered by the user, facial expressions acquired through a camera and microphone, and tone of voice. After the emotion is determined, the server adjusts the way the weather forecast is presented based on the emotional data. For example, if the user is feeling stressed, the server can display the weather forecast in friendlier language.
[0254] Terminal handling
[0255] Sending a weather request
[0256] Based on the user's input, the device sends a weather forecast request to the server, including location and date / time information.
[0257] Receiving and displaying prediction results
[0258] Once the forecast is received from the server, the device displays it to the user, including temperature, humidity, wind speed, air pressure, and weather conditions. Furthermore, the display method is customized based on the user's emotions.
[0259] Sending local weather data
[0260] The device sends the weather data entered by the user for the current location to the server, including temperature, humidity, wind speed, air pressure, and weather conditions.
[0261] User Action
[0262] Check the weather forecast
[0263] The user uses the terminal to request a weather forecast and check the returned forecast results.
[0264] Providing local weather data
[0265] The user inputs weather data for their current location into the device and sends it to the server. The user can also input their emotional state if desired, which may be collected automatically through the device's camera or microphone.
[0266] To give a specific example, when a user sends a request from their device asking for "the weather in Tokyo three days from now," the server that receives the request uses an AI model to generate a prediction and returns the result to the device: "Tokyo three days from now will be sunny, with a maximum temperature of 25 degrees and a minimum temperature of 17 degrees." The device then displays this prediction to the user. If the device determines that the user is feeling stressed, it adjusts the display method and displays a message that will help them relax.
[0267] When a user reports that the weather in their current location is cloudy and the temperature is 22 degrees, this data is sent to the server, which stores it in a database. This data is then used the next time the AI model is trained, improving its prediction accuracy.
[0268] The above is a specific embodiment of the present invention, which provides highly accurate and reliable weather forecasts and builds a system that utilizes user feedback and emotion data to continuously improve the accuracy of predictions and the user experience.
[0269] The processing flow will be explained below.
[0270] Step 1:
[0271] Collection and storage of historical data
[0272] The server periodically accesses the API of the weather data provider to obtain past weather data. For example, it obtains weather chart data from the previous day at midnight every day and stores detailed data such as the date, time, temperature, humidity, wind speed, air pressure, and weather conditions in a database.
[0273] Step 2:
[0274] Training a machine learning model
[0275] The server trains a machine learning model using historical weather data. Specifically, it preprocesses the dataset and splits it into training data and test data. It then uses machine learning algorithms such as long short-term memory (LSTM) networks to train the model. Once trained, the model is saved for use in making predictions.
[0276] Step 3:
[0277] Collecting user emotion data
[0278] The device collects the user's emotional data. For example, it uses the device's camera to read the user's facial expressions and uses an emotion recognition algorithm to determine the user's emotions. The user can also manually report their emotions. This data is temporarily stored on the device.
[0279] Step 4:
[0280] Sending a weather request
[0281] The user requests a weather forecast through the device. Specifically, the user inputs the weather forecast for a specific location and date and time using the application, and submits the request. At this time, the collected emotion data is also sent to the server.
[0282] Step 5:
[0283] Generate and provide weather forecasts
[0284] The server generates a weather forecast based on the received request. First, it uses the location and date / time information from the request to predict future weather using a trained machine learning model. Then it analyzes the user's emotional data and adjusts the way the forecast is presented. For example, if the user is feeling stressed, it will present the forecast with a friendly message to help them relax. The forecast is then returned to the device.
[0285] Step 6:
[0286] Receiving and displaying prediction results
[0287] The device receives the forecast results from the server and displays them to the user, including information on temperature, humidity, wind speed, air pressure, and weather conditions. The device also displays the results in a way that reflects the user's emotions.
[0288] Step 7:
[0289] Calculation and publication of prediction accuracy rate
[0290] The server compares the actual weather data with the forecast results to calculate the accuracy rate. Specifically, it compares previously generated forecast data with actual data to calculate accuracy, and stores the results in a database. This accuracy rate is periodically published on a website or within the application.
[0291] Step 8:
[0292] Sending local weather data
[0293] Users input their current location's weather data into their device and send it to the server. The data includes temperature, humidity, wind speed, air pressure, and weather conditions. The data is sent to the server and used to improve accuracy.
[0294] Step 9:
[0295] Local data storage and use
[0296] The server stores the received local weather data in a database, which is then used the next time the machine learning model is trained to improve its prediction accuracy.
[0297] This is the specific processing flow of the program. This process enables the server to provide highly accurate weather forecasts and present personalized weather information that takes the user's emotions into account. Furthermore, the collected local weather data and emotion data are used to continuously improve the accuracy of the model.
[0298] Example 2
[0299] 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."
[0300] Conventional weather forecasting systems often lack sufficient forecast accuracy and are unable to incorporate user feedback or emotions. This results in unreliable forecasts and a poor user experience. To address this issue, a system was needed that could use past weather data to make highly accurate forecasts and analyze user emotions to optimize the way information is provided.
[0301] 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.
[0302] In this invention, the server includes: means for collecting and storing past weather data; means for training a machine learning model using the collected weather data; means for predicting future weather using the trained machine learning model; means for providing the future forecast results based on a user request; means for calculating the accuracy rate of the forecast by comparing the provided forecast results with actual weather data; means for publishing the calculated accuracy rate; means for collecting local weather data from users and using it to improve the accuracy of the machine learning model; and means for adjusting the presentation method of the weather forecast based on the emotion analysis by the emotion engine, which includes an emotion engine for analyzing user emotions. This enables highly accurate weather forecasts and continuously improves the accuracy of predictions and the user experience by utilizing user feedback and emotion data.
[0303] "Past weather data" refers to meteorological information such as temperature, humidity, wind speed, air pressure, and weather conditions observed over a certain period of time in the past.
[0304] "Collection means" refers to a device or software that has the function of accessing the API of the weather data provision service and acquiring data.
[0305] "Storage means" refers to a device or software that has the function of storing collected data in a database.
[0306] A "machine learning model" refers to an algorithm that is trained using past data to predict future weather.
[0307] "Training tool" refers to the process or device that uses a dataset to train a machine learning model.
[0308] "Forecasting tool" refers to a device or software that uses trained machine learning models to estimate future weather conditions.
[0309] "Providing means" refers to a device or software that transmits predicted weather information in response to a request from a user.
[0310] "Accuracy rate calculation means" refers to a function for comparing the forecast results with actual weather data and evaluating the accuracy of the forecast.
[0311] "Publication means" refers to a device or software that has the function of making the calculated accuracy rate publicly available via a website or API.
[0312] "Local weather data" refers to weather information such as temperature, humidity, wind speed, air pressure, and weather conditions observed by the user at their current location.
[0313] "Emotion engine" refers to a device or software that has an algorithm for analyzing a user's emotions.
[0314] "Emotion analysis means" refers to a function that uses an emotion engine to determine emotions from a user's text, images, and voice.
[0315] "Presentation method adjustment means" refers to a function that changes the display and presentation method of the weather forecast based on the results of emotion analysis.
[0316] This invention is a system that collects and stores past weather data, trains a machine learning model, and generates and provides weather forecasts based on user requests. Furthermore, it publishes the accuracy rate of the forecast results and improves the forecast accuracy using local weather data collected from users. Furthermore, this invention incorporates an emotion engine that recognizes the user's emotions and adjusts the presentation of the weather forecast based on the user's emotions.
[0317] First, the server periodically accesses the API of a specific weather data provider to collect past weather data. This data includes date, time, temperature, humidity, wind speed, air pressure, and weather conditions. The collected data is retrieved using the Python requests library, formatted using the pandas library, and stored in a MySQL database. This allows for efficient management of large amounts of weather data over long periods of time.
[0318] Next, the server trains a machine learning model using the collected data. Specifically, it preprocesses the dataset and splits it into training data and test data. For data preprocessing, it uses the scikit-learn library to fill in NaN values and normalize the data. For training, it uses TensorFlow to build a long short-term memory (LSTM) network and train the model. For example, it sets the input shape of the LSTM model and trains it for 50 epochs. The trained model is saved for use in future weather forecasts.
[0319] When a user requests a weather forecast for a specific location and date and time, the device sends the request to the server as an HTTP POST request. For example, a request such as "Please tell me the weather in Tokyo three days from now" is sent to the server. The server receives the request and uses the trained LSTM model to predict future weather. The forecast results include temperature, humidity, wind speed, air pressure, and weather conditions, and this information is returned to the device. The device then displays the received forecast results in an easy-to-read format for the user.
[0320] The server also periodically compares the forecast results with actual weather data to calculate the accuracy rate of the forecast. The accuracy rate is calculated using parameters such as mean_absolute_error. The calculation results are stored in a database and made public via a website or API.
[0321] In addition, users can input their current weather data from their device and send it to the server. This data includes temperature, humidity, wind speed, air pressure, weather conditions, etc. The collected local weather data will be used in the next model training to improve forecast accuracy.
[0322] Additionally, the server is equipped with an emotion engine that analyzes emotions from text data sent by the user, as well as facial expressions and tone of voice captured through the camera and microphone. The TextBlob library can be used for emotion analysis. For example, if a user types "I'm feeling stressed right now," the emotional state is analyzed and determined to be stress. Based on the analysis results, the server adjusts the way the forecast is presented. For example, if the user is feeling stressed, the server will display a weather forecast in more friendly language.
[0323] As a specific example, if a user requests the device, "Please tell me the weather in Tokyo three days from now," the server will use the LSTM model to make a prediction and return a result such as, "Tokyo will be sunny three days from now, with a maximum temperature of 25 degrees and a minimum temperature of 17 degrees." The device will then display this result to the user. On the other hand, if the user reports, "The weather at my current location is cloudy, with a temperature of 22 degrees," this data will be sent to the server and stored in the database. This data will be used the next time the model is trained, contributing to improved prediction accuracy.
[0324] In this way, the present invention can provide highly accurate and reliable weather forecasts, and by leveraging user feedback and sentiment data, the system continuously improves the accuracy of the forecasts and the user experience.
[0325] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0326] Step 1:
[0327] Collection and storage of historical data
[0328] The server periodically accesses the API of the weather data provider to obtain past weather data. Specifically, it uses the Python requests library to collect data from the API.
[0329] (Input) API request and date / time filter
[0330] (Data processing) Convert the acquired data into a data frame using the pandas library, and supplement and normalize missing data.
[0331] (Output) Formatted data to store in the database
[0332] The formatted data is saved in a MySQL database.
[0333] Step 2:
[0334] Training a machine learning model
[0335] The server trains a machine learning model using the collected historical weather data, splitting the dataset into training and test data using a Python script, and preprocessing it using the scikit-learn library.
[0336] (Input) Historical weather data from a database
[0337] (Data processing) NaN value completion, data normalization, and splitting into training and test data
[0338] (Output) Dataset in a format suitable for LSTM models
[0339] Build and train a Long Short-Term Memory (LSTM) network using TensorFlow, then save the trained model.
[0340] Step 3:
[0341] Sending a weather request
[0342] The device sends the weather forecast request entered by the user to the server as an HTTP POST request, including location, date, and time information.
[0343] (Input) User-specified location and date / time information
[0344] (Data processing) Convert request data into JSON format
[0345] (Output) HTTP POST request to the server
[0346] For example, a user sends a request saying, "Tell me the weather in Tokyo three days from now."
[0347] Step 4:
[0348] Generate weather forecasts
[0349] The server analyzes the received request data and predicts future weather using a trained LSTM model.
[0350] (Input) Request data and trained model
[0351] (Data processing) Convert the request data into a format suitable for the model and perform predictions
[0352] (Output) Forecast results (temperature, humidity, wind speed, air pressure, weather conditions, etc.)
[0353] The prediction results are generated in JSON format and returned to the device.
[0354] Step 5:
[0355] Receiving and displaying prediction results
[0356] The terminal receives the prediction results from the server and displays them to the user. The prediction results are visually presented using a user-friendly GUI component.
[0357] (Input) Prediction result data from the server
[0358] (Data processing) Convert received data into an appropriate display format
[0359] (Output) Forecast results displayed to the user (maximum and minimum temperatures, weather conditions, etc.)
[0360] For example, it displays "Tokyo will be sunny in three days, with a maximum temperature of 25 degrees and a minimum temperature of 17 degrees."
[0361] Step 6:
[0362] Calculation and publication of prediction accuracy rate
[0363] The server compares the actual weather data with the forecast results and calculates the accuracy rate.
[0364] (Input) Forecast results and actual weather data
[0365] (Data processing) Calculate the error using methods such as mean_absolute_error
[0366] (Output) Calculated accuracy rate data
[0367] The accuracy rate is stored in a database and made public via a website or API.
[0368] Step 7:
[0369] Collecting local weather data
[0370] The user sends weather data for their current location from the device. For example, they input "The weather in my current location is cloudy, and the temperature is 22 degrees."
[0371] (Input) Local weather data observed by the user
[0372] (Data processing) Convert data into JSON format
[0373] (Output) HTTP POST request to the server
[0374] The server stores the received data in a database and uses it the next time the model is trained.
[0375] Step 8:
[0376] Emotion engine processing
[0377] The emotion engine installed on the server analyzes data sent by users and sensor information to recognize emotions. For example, it uses the TextBlob library to analyze emotions in text data.
[0378] (Input) Text sent by the user, camera footage, audio data, etc.
[0379] (Data processing) Emotion scoring of text, feature extraction and analysis of video and audio
[0380] (Output) Analyzed emotion data
[0381] Based on the results of the sentiment analysis, the server adjusts the way the predictions are presented, for example, if the user is feeling stressed, it will display a weather forecast in friendly language.
[0382] (Application example 2)
[0383] 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."
[0384] While conventional weather forecasting systems are excellent at collecting and forecasting weather data, they are not practical for actual business operations, especially food delivery, where weather conditions directly affect delivery efficiency and driver safety. Furthermore, they do not adjust service delivery methods based on the emotions of users and delivery personnel, preventing improvements in user satisfaction. Therefore, there is a need for a system that effectively utilizes weather information to optimize delivery operations and provide a comfortable experience for users and delivery personnel.
[0385] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0386] In this invention, the server includes means for collecting and storing past weather data, means for training a machine learning model using the collected weather data, means for predicting future weather using the trained machine learning model, means for providing the future forecast result based on a user request, means for calculating the accuracy rate of the forecast by comparing the provided forecast result with actual weather data, means for publishing the calculated accuracy rate, means for collecting local weather data from users and using it to improve the accuracy of the machine learning model, means for optimizing logistics routes based on weather conditions, and means for analyzing emotional data of users and delivery personnel and adjusting the service provision method based on the emotional data. This enables efficient delivery route selection based on weather information and personalized service provision based on the emotions of users and delivery personnel.
[0387] "Weather data" is information about weather conditions such as temperature, humidity, wind speed, air pressure and weather conditions.
[0388] A "machine learning model" is a collection of algorithms that use collected data to learn patterns and predict future situations.
[0389] "Means for predicting future weather" refers to processing means for calculating and predicting future weather conditions using a machine learning model.
[0390] "User request" refers to an inquiry or request for information that a user wants to know.
[0391] The "means for providing forecast results" is a processing means for displaying or notifying future weather forecast data to a user.
[0392] The "means for calculating the accuracy rate" is a processing means for comparing the predicted results with actual weather data and evaluating the accuracy of the prediction.
[0393] "Means for publishing accuracy rates" are processing means for publishing information about the accuracy of the calculated predictions.
[0394] "Local weather data" is weather information for the current location provided by the user.
[0395] The "means for optimizing logistics routes based on weather conditions" refers to a processing means for selecting the most efficient and safe delivery route using collected and predicted weather data.
[0396] "Means for analyzing emotional data" refers to processing means for recognizing and assessing the emotional state of the user and delivery participants.
[0397] The "means for adjusting the method of providing the service" refers to a processing means for changing and adjusting the content of the service based on the analyzed emotion data so that the user and delivery personnel can have a better experience.
[0398] The following describes in detail an embodiment of the present invention, showing the processing flow of the entire system involving the server, terminals, and users, as well as the respective hardware and software configurations.
[0399] Server Processing
[0400] Collection and storage of historical data
[0401] The server periodically accesses the API of the weather data provider to obtain past weather data. The obtained data includes information such as date and time, temperature, humidity, wind speed, air pressure, and weather conditions, and is stored in a database. This is done using Python and a REST API.
[0402] Training a machine learning model
[0403] The server uses the collected historical weather data to train a machine learning model. Specifically, it preprocesses the dataset and splits it into training and test data. It then uses an appropriate machine learning algorithm, such as a long short-term memory (LSTM) network, to train the model. Software used includes Keras and TensorFlow.
[0404] Generate and provide weather forecasts
[0405] When a user requests weather, the server uses a trained machine learning model to predict future weather conditions. The forecast includes temperature, humidity, wind speed, pressure, and weather conditions, and returns the results to the user. This process is also implemented in Python.
[0406] Calculation and publication of prediction accuracy rate
[0407] The server compares the actual weather data with the forecast results, calculates the accuracy rate of the forecast, and stores it in a database. This accuracy rate is calculated periodically and made public on a website or other platform.
[0408] Collecting local weather data
[0409] The server receives local weather data sent by the user and stores it in a database, which is also used to train the next machine learning model.
[0410] Emotion engine processing
[0411] The emotion engine installed on the server analyzes data and sensor information sent by the user to recognize the user's emotions. For example, an algorithm is used to determine emotions from text entered by the user, facial expressions acquired through the camera and microphone, and tone of voice. After the emotion is determined, the server adjusts the way the weather forecast is presented based on that emotional data. The software used includes an emotion analysis algorithm.
[0412] Optimize logistics routes based on weather conditions
[0413] The server calculates optimal logistics routes based on predicted weather data, improving delivery efficiency and driver safety.
[0414] Terminal handling
[0415] Sending a weather request
[0416] Based on the user's input, the device sends a weather forecast request to the server, including location and date / time information.
[0417] Receiving and displaying prediction results
[0418] Once the forecast is received from the server, the device displays it to the user, including temperature, humidity, wind speed, air pressure, and weather conditions. Furthermore, the display method is customized based on the user's emotions.
[0419] Sending local weather data
[0420] The device sends the weather data entered by the user for the current location to the server, including temperature, humidity, wind speed, air pressure, and weather conditions.
[0421] User Action
[0422] Check the weather forecast
[0423] The user uses the terminal to request a weather forecast and check the returned forecast results.
[0424] Providing local weather data
[0425] The user inputs weather data for their current location into the device and sends it to the server. The user can also input their emotional state if desired, which may be collected automatically through the device's camera or microphone.
[0426] Specific examples
[0427] When a user sends a request to know "the weather in Tokyo three days from now," the server uses an AI model to generate a prediction and returns the result to the device: "Tokyo will be sunny in three days, with a maximum temperature of 25 degrees and a minimum temperature of 17 degrees." The device then displays this prediction to the user. If the device determines that the user is feeling stressed, it adjusts the display method and displays a message to help the user relax.
[0428] Example prompts for generative AI models
[0429] The user requests "Weather in Tokyo 3 days from now." Please forecast the weather using a machine learning model based on past weather data. Also, since the user seems stressed, please display a message to help them relax.
[0430] This creates a system that provides highly accurate and reliable weather forecasts, while also leveraging user feedback and sentiment data to continuously improve the accuracy of predictions and the user experience.
[0431] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0432] Step 1:
[0433] Collection and storage of historical data
[0434] The server periodically accesses the API of the weather data provider to obtain past weather data such as date, time, temperature, humidity, wind speed, air pressure, weather conditions, etc. After receiving this data, the server stores it in a database.
[0435] Input: API response from weather data provider
[0436] Output: Stored historical weather data (database entries)
[0437] What it does: The server uses a Python script to make requests to the API and inserts the retrieved data into the database in JSON format.
[0438] Step 2:
[0439] Training a machine learning model
[0440] The server trains a machine learning model using the weather data collected in step 1. It preprocesses the data and splits it into training data and test data, then trains it with a long short-term memory (LSTM) network.
[0441] Input: Historical weather data (records from database)
[0442] Output: A trained machine learning model
[0443] What it does: The server preprocesses the data using Keras and TensorFlow, trains the model, and saves the training results.
[0444] Step 3:
[0445] Sending a weather request
[0446] The user inputs a weather forecast request for a specific location and date and time from the terminal, and the request is sent from the terminal to the server.
[0447] Input: User requests location and date
[0448] Output: Request data to the server
[0449] What happens: A user uses a smartphone or tablet to send a request through the application's UI.
[0450] Step 4:
[0451] Generate and provide weather forecasts
[0452] The server uses the trained machine learning model to predict future weather data based on the request received in step 3. It returns the prediction results to the user.
[0453] Input: User request, trained machine learning model
[0454] Output: Future weather forecast data (sent to device)
[0455] How it works: The server uses a Python script to run the model to make predictions and return the results to the device.
[0456] Step 5:
[0457] Calculation and publication of prediction accuracy rate
[0458] The server compares the forecast results with actual weather data and calculates the accuracy rate of the forecast. This accuracy rate is stored in a database and periodically made public.
[0459] Input: Forecast results, actual weather data
[0460] Output: Accuracy rate (stored in database), public information (website, etc.)
[0461] How it works: The server uses a Python script to calculate the accuracy rate and stores the results in a database and on a web server.
[0462] Step 6:
[0463] Sending local weather data
[0464] The user inputs the weather data for their current location into the terminal and sends it to the server.
[0465] Input: Weather data provided by the user (temperature, humidity, etc.)
[0466] Output: Weather data to the server
[0467] Specific behavior: The user enters data through the application and presses the submit button.
[0468] Step 7:
[0469] Emotion engine processing
[0470] The server analyzes the data sent by the user and the sensor information of the device to recognize the user's emotional state.
[0471] Input: User text input, camera footage, microphone audio
[0472] Output: Emotional state data
[0473] What happens: The server runs a sentiment analysis algorithm to determine the user's sentiment.
[0474] Step 8:
[0475] Optimize logistics routes based on weather conditions
[0476] The server calculates the optimal logistics route based on predicted weather data.
[0477] Input: predicted weather data, current route information
[0478] Output: Optimized logistics routes
[0479] Specific operation: The server runs an optimization algorithm to calculate the optimal route and send it to the delivery system.
[0480] Step 9:
[0481] Adapting service delivery based on sentiment data
[0482] The server adjusts the way the service is displayed and notification messages based on the emotional data.
[0483] Input: Emotion data, service content
[0484] Output: Coordinated service display and notification messages
[0485] Specific operation: The server analyzes the emotion data, determines the appropriate means of providing the service, and sends it to the terminal.
[0486] 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.
[0487] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (registered trademark) (Internet search engine).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (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.
[0488] 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.
[0489] [Second embodiment]
[0490] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0491] 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.
[0492] 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).
[0493] 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.
[0494] 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.
[0495] 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).
[0496] 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.
[0497] 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.
[0498] 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.
[0499] 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.
[0500] 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.
[0501] 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."
[0502] The following describes in detail the mode for carrying out the present invention. The present invention is a system that collects and stores past weather data, trains a machine learning model, and generates and provides weather forecasts based on user requests. Furthermore, the accuracy rate of the forecast results is made public, and the accuracy of the forecasts is improved using local weather data collected from users.
[0503] Server Processing
[0504] Collection and storage of historical data
[0505] The server periodically accesses the API of the weather data provider to obtain past weather data, including the date, time, temperature, humidity, wind speed, air pressure, and weather conditions, and stores this data in a database.
[0506] Training a machine learning model
[0507] The server uses the collected historical weather data to train machine learning models, specifically using machine learning algorithms such as long short-term memory (LSTM) networks to learn weather patterns from the data.
[0508] Generate and provide weather forecasts
[0509] When a user requests weather, the server uses a trained machine learning model to predict future weather conditions, including temperature, humidity, wind speed, air pressure, and weather conditions, and returns the forecast to the user.
[0510] Calculation and publication of prediction accuracy rate
[0511] The server compares the actual weather data with the forecast results, calculates the accuracy rate of the forecast, and stores the results in a database. The accuracy rate is then periodically calculated and made public on a website or other platform.
[0512] Collecting local weather data
[0513] The server receives local weather data sent by the user, which is also stored in a database and used to train the next machine learning model.
[0514] Terminal handling
[0515] Sending a weather request
[0516] Based on the user's input, the device sends a weather forecast request to the server, including location and date / time information.
[0517] Receiving and displaying prediction results
[0518] Once the forecast is received from the server, the device displays it to the user, including information such as temperature, humidity, wind speed, air pressure, and weather conditions.
[0519] Sending local weather data
[0520] The device sends the weather data entered by the user for the current location to the server, including temperature, humidity, wind speed, air pressure, and weather conditions.
[0521] User Action
[0522] Check the weather forecast
[0523] The user uses the terminal to request a weather forecast and check the returned forecast results.
[0524] Providing local weather data
[0525] The user inputs weather data for their current location into the terminal and transmits it to the server.
[0526] To give a specific example, a user sends a request from their device asking for "the weather in Tokyo three days from now." The server that receives this request generates a prediction using an AI model and returns the result to the device: "Tokyo three days from now will be sunny, with a maximum temperature of 25 degrees and a minimum temperature of 17 degrees." The device that receives this prediction then displays the result to the user.
[0527] Additionally, when a user provides local weather data, for example by entering "current location is Osaka, weather is cloudy, temperature is 22 degrees" into the device, the data is sent to the server, which stores it in a database and uses it to train the next AI model.
[0528] The above is a specific embodiment of the present invention. In this way, a system is constructed that provides highly accurate and reliable weather forecasts and utilizes user feedback to improve prediction accuracy.
[0529] The processing flow will be explained below.
[0530] Step 1:
[0531] Collection of historical data
[0532] The server periodically accesses the API of the weather data service to obtain past weather data. Specifically, it sends an API request to obtain detailed data such as date and time, temperature, humidity, wind speed, air pressure, and weather conditions. This data is then automatically stored in a database.
[0533] Step 2:
[0534] Training a machine learning model
[0535] The server uses the collected historical weather data to train a machine learning model. Specifically, it preprocesses the dataset and splits it into training data and test data. It then uses an appropriate machine learning algorithm, such as a long short-term memory (LSTM) network, to train the model and find optimal parameters. The trained model is then stored for use in future predictions.
[0536] Step 3:
[0537] Sending a weather request
[0538] A user sends a weather forecast request from a device. Specifically, the user inputs through the device's application that they want to know the weather forecast for a specific location and date and time. The device then sends the request to the server.
[0539] Step 4:
[0540] Generate weather forecasts
[0541] The server predicts future weather based on the received user request. Specifically, it inputs the location and date and time of the user request into a machine learning model and generates a forecast result (weather, temperature, humidity, wind speed, air pressure, etc.).
[0542] Step 5:
[0543] Response of prediction results
[0544] The server returns the generated prediction result to the user. Specifically, the prediction result is returned to the terminal that sent the request, and the terminal displays it to the user.
[0545] Step 6:
[0546] Calculating the accuracy rate of predictions
[0547] The server acquires and compares actual weather data with forecast data. Specifically, it periodically acquires actual weather data and compares it with forecast data generated in the past to calculate the accuracy rate. The calculation results are stored in a database.
[0548] Step 7:
[0549] Publication of accuracy rate
[0550] The server publishes the calculated accuracy rate, and provides statistical information on the accuracy rate to users on a website or within the app.
[0551] Step 8:
[0552] Local weather data collection
[0553] The user inputs weather data for their current location and sends it from the device to the server. Specifically, the user inputs temperature, humidity, wind speed, air pressure, weather conditions, etc. into the application, and the device sends the data to the server.
[0554] Step 9:
[0555] Local data storage and use
[0556] The server stores the received local weather data in a database, which is then used the next time the machine learning model is trained to improve its accuracy.
[0557] The above is the specific processing flow of the program. As a result, the system of the present invention can provide highly accurate weather forecasts and continuously improve the accuracy of predictions by utilizing user feedback.
[0558] Example 1
[0559] 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."
[0560] Modern weather forecasting systems are required to improve their forecast accuracy. In particular, it is important to provide more reliable weather forecasts by effectively utilizing past weather data and incorporating local weather data collected from users. In addition, it is necessary to increase transparency and improve reliability by disclosing the accuracy rate of forecasts to users.
[0561] 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.
[0562] In this invention, the server includes means for collecting and storing past weather data, means for training a machine learning model using the collected weather data, means for predicting future weather using the trained machine learning model, means for providing the future forecast results based on a user request, means for calculating the accuracy rate of the forecast by comparing the provided forecast results with actual weather data, means for publishing the calculated accuracy rate, means for collecting local weather data from the user and using it to improve the accuracy of the machine learning model, and means for the terminal to display the forecast results to the user. This makes it possible to effectively utilize past weather data and local weather data to provide highly accurate and reliable weather forecasts.
[0563] "Past weather data" refers to information such as past dates and times, temperatures, humidity, wind speed, air pressure, and weather conditions that are necessary to make predictions.
[0564] "Collection means" refers to the method or system for obtaining data from the API of a weather data provision service, etc.
[0565] "Storage means" refers to a method or system for storing collected data in a storage device such as a database.
[0566] A "machine learning model" refers to an algorithm or network that uses past data to learn weather patterns and predict future weather.
[0567] "Training method" refers to a method or system for training a machine learning model using collected weather data.
[0568] "Forecasting tool" refers to a method or system for predicting future weather using a trained machine learning model.
[0569] A "request" refers to a request for a prediction sent by a user.
[0570] The "provision means" refers to a method or system for returning the prediction results generated based on the user's request to the user.
[0571] "Accuracy rate" refers to an index that shows the degree of agreement between the forecast results and actual weather data.
[0572] "Calculation means" refers to a method or system for comparing the provided forecast results with actual weather data and calculating the accuracy rate.
[0573] "Disclosure means" refers to a method or system for informing users of the calculated accuracy rate.
[0574] "Terminal" refers to the equipment or device through which a user sends a request and receives and displays prediction results.
[0575] "Local weather data" refers to information such as temperature, humidity, wind speed, air pressure, and weather conditions observed by the user at their current location.
[0576] "Collected local data" refers to weather data provided by the user.
[0577] A "long short-term memory network" is a type of machine learning algorithm used to learn patterns in time series data.
[0578] MODE FOR CARRYING OUT THE INVENTION
[0579] This system collects and stores past weather data, trains a machine learning model, and generates and provides weather forecasts based on user requests. Furthermore, it publishes the accuracy rate of the forecast results and uses local weather data collected from users to improve the forecast accuracy.
[0580] Hardware and Software Configuration
[0581] Server Configuration
[0582] The server can run on a high performance computing (HPC) system or a cloud-based virtual machine (VM) environment. The server includes the following key software:
[0583] Operating system: Linux
[0584] Database management system: MySQL or PostgreSQL
[0585] Programming language: Python
[0586] Machine learning library: TensorFlow or PyTorch
[0587] Device configuration
[0588] A terminal is a device operated by a user, such as a smartphone, tablet, or personal computer. The terminal has an internet connection and runs applications, including:
[0589] Operating system: iOS, Android or Windows
[0590] API Client: HTTP client library (e.g. axios, fetch)
[0591] Server Processing
[0592] The server periodically accesses the API of a weather data provider to obtain past weather data such as date and time, temperature, humidity, wind speed, air pressure, and weather conditions. The obtained data is stored in a MySQL or PostgreSQL database. This data is used to train machine learning models such as long short-term memory (LSTM) networks using the TensorFlow or PyTorch machine learning libraries built in Python.
[0593] The trained model predicts future weather in response to user requests. For example, if a user requests, "I want to know the weather in Tokyo three days from now," the server generates a weather forecast based on this request and replies with the result, "Tokyo three days from now will be sunny, with a maximum temperature of 25 degrees and a minimum temperature of 17 degrees."
[0594] Terminal handling
[0595] When a user inputs a request into the device, the device uses an HTTP client library to send the request to the server. The forecast results received from the server are analyzed and displayed by the device. For example, if a user inputs "Weather in Tokyo in 3 days," the device will return the forecast results, "Sunny, maximum temperature 25 degrees, minimum temperature 17 degrees," and display them to the user.
[0596] User Roles
[0597] The user inputs a request into the device and checks the forecast results returned by the server. The user also inputs weather data for their current location into the device and sends it to the server. For example, by inputting "Current location: Osaka, Weather: Cloudy, Temperature: 22 degrees," this data is sent to the server and used for training the next machine learning model.
[0598] Specific examples
[0599] Requesting weather forecasts and receiving forecast results
[0600] A user sends a request from their device to find out "the weather in Tokyo three days from now." The server that receives this request generates a prediction using an AI model and returns the result to the device: "Tokyo three days from now will be sunny, with a maximum temperature of 25 degrees and a minimum temperature of 17 degrees." The device then displays this prediction to the user.
[0601] Providing local weather data
[0602] When a user provides local weather data, for example by entering "current location is Osaka, weather is cloudy, temperature is 22 degrees" into the device, the data is sent to the server, which stores it in a database and uses it to train the next AI model.
[0603] This system can provide highly accurate and reliable weather forecasts, and can utilize user feedback to improve the accuracy of the forecasts.
[0604] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0605] Step 1:
[0606] The server accesses the API of the weather data provider service to obtain past weather data such as date and time, temperature, humidity, wind speed, air pressure, and weather conditions. The obtained data is received in JSON format. This inputs the past weather data to the server. The server parses the obtained JSON format data and inserts it into the corresponding database table. The parsed data is saved in the database.
[0607] (Input: Past weather data API response (JSON format) / Output: Weather data stored in the database)
[0608] Step 2:
[0609] The server uses the historical weather data stored in the database to train a machine learning model using the Python library TensorFlow or PyTorch. It uses a long short-term memory (LSTM) network and provides five years of data as input. The server trains the data through the LSTM network, and the trained model is output.
[0610] (Input: Historical weather data retrieved from a database / Output: Trained machine learning model)
[0611] Step 3:
[0612] The user inputs a request such as "Weather in Tokyo in three days" into the terminal. The terminal sends this request to the server using the HTTP protocol. The request includes location and date / time information and is input to the server.
[0613] (Input: User's weather forecast request (location and date / time) / Output: API request to the server)
[0614] Step 4:
[0615] The server generates a weather forecast based on a user request using the stored weather data and a trained machine learning model. For example, for a request such as "Tokyo, three days later," the server provides input data to the machine learning model and generates a forecast result such as "sunny, maximum temperature 25 degrees, minimum temperature 17 degrees." The forecast result is formatted in JSON format and returned as an API response.
[0616] (Input: User request, trained machine learning model / Output: Weather forecast results (JSON format))
[0617] Step 5:
[0618] The device analyzes the JSON formatted forecast results received from the server and displays them to the user. Specifically, the analyzed data is displayed on the screen, and the user is notified that "Tokyo will be sunny in three days, with a maximum temperature of 25 degrees and a minimum temperature of 17 degrees."
[0619] (Input: API response from the server (forecast result) / Output: Weather forecast displayed to the user)
[0620] Step 6:
[0621] The user inputs the weather data for their current location into the device and sends it to the server. For example, by inputting "Current location: Osaka, Weather: Cloudy, Temperature: 22 degrees", this data is sent to the server. The data is input from the device to the server.
[0622] (Input: Input of local weather data by the user / Output: Sending data to the server)
[0623] Step 7:
[0624] The server stores the local weather data sent by the user in a database, analyzes the received data, and inserts it into the corresponding database table. This data is used to train the next machine learning model.
[0625] (Input: Local weather data from the user / Output: Local weather data stored in the database)
[0626] Step 8:
[0627] The server compares past forecasts with actual weather data to calculate the accuracy rate. For example, it compares forecasts from the past week with actual data and calculates the percentage of accurate temperature predictions. The calculated accuracy rate is stored in a database.
[0628] (Input: Past forecast results, actual weather data / Output: Calculated accuracy rate)
[0629] Step 9:
[0630] The server publishes the calculated accuracy rate on a website, etc. Specifically, it updates a page that displays the accuracy rate in HTML format and informs users of the prediction accuracy.
[0631] (Input: Calculated accuracy rate / Output: Accuracy rate published on the website)
[0632] The above is the specific processing flow of the program of this system.
[0633] (Application example 1)
[0634] 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."
[0635] Conventional weather forecasting systems have the drawback of only providing users with forecast results, without providing any additional information or services. In particular, they are inadequate in addressing the impact of weather conditions on daily life. For example, they lack assistance in selecting appropriate foods and drinks on bad weather or extremely hot days. Furthermore, there are limited means to improve the accuracy of the system using user feedback. Therefore, a new weather forecasting system that can provide added value to users is needed.
[0636] 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.
[0637] In this invention, the server includes means for collecting and storing past weather data, means for training a machine learning model using the collected weather data, and means for predicting future weather using the trained machine learning model. This includes means for providing future forecast results based on a user request, means for calculating the accuracy rate of the forecast by comparing the provided forecast results with actual weather data, means for publishing the calculated accuracy rate, means for collecting local weather data from the user and using it to improve the accuracy of the machine learning model, and means for suggesting optimal foods to the user based on the weather forecast. This makes it possible to provide the user with highly accurate and reliable weather forecasts and to suggest optimal foods and beverages suited to the weather conditions of the day.
[0638] "Past weather data" refers to weather information such as temperature, humidity, wind speed, air pressure, and weather conditions recorded in the past.
[0639] A "machine learning model" is an algorithm or system that learns from past data and makes predictions and classifications based on new data.
[0640] A "user request" is a request for a weather forecast based on a user-specified location and date and time.
[0641] "Prediction results" refer to future weather information generated by machine learning models.
[0642] The "accuracy rate" is an indicator that shows how closely the forecast results match the actual weather data.
[0643] "Local weather data" refers to real-time weather information such as temperature, humidity, wind speed, air pressure, and weather conditions at a specific location and time.
[0644] "Accuracy improvement" refers to data collection and algorithm improvements to improve the predictive accuracy of machine learning models.
[0645] "Optimal food suggestions" refers to recommending foods and drinks to the user that suit the weather conditions at the time based on the weather forecast.
[0646] The following describes in detail the mode for carrying out the present invention. The present invention is a system that collects and stores past weather data, trains a machine learning model, and generates and provides weather forecasts based on user requests. Furthermore, the system publishes the accuracy rate of the forecast results and improves the accuracy of the forecasts using local weather data collected from users. Additionally, the system includes a function that suggests optimal foods to users based on the weather forecast.
[0647] Server Processing
[0648] Collection and storage of historical data
[0649] The server uses an API to access a weather data provider and periodically retrieves past weather data. This data includes the date, time, temperature, humidity, wind speed, air pressure, and weather conditions, and the retrieved data is stored in a database. The specific API name used is WeatherAPI.
[0650] Training a machine learning model
[0651] The server uses collected historical weather data to learn weather patterns using machine learning algorithms such as linear regression and long short-term memory (LSTM) networks, for example, using Python machine learning libraries such as scikit-learn and TensorFlow.
[0652] Generate and provide weather forecasts
[0653] When a user requests weather, the server uses a trained machine learning model to predict future weather conditions, including temperature, humidity, wind speed, air pressure, and weather conditions, and returns the forecast to the user.
[0654] Calculation and publication of prediction accuracy rate
[0655] The server compares the actual weather data with the forecast results, calculates the accuracy rate of the forecast, and stores the results in a database. The accuracy rate is then periodically calculated and made public on a website or other platform.
[0656] Collecting local weather data
[0657] The server receives local weather data sent by the user, which is also stored in a database and used to train the next machine learning model.
[0658] Recommendations for the best foods
[0659] Based on the weather forecast data, the server will suggest food and drink options to the user that best fit the weather conditions of the day, for example, hot soup or curry on a rainy day, or cold salad or ice cream on a hot day, using a weather-based food suggestion algorithm, as shown in the Python code example.
[0660] Terminal handling
[0661] Sending a weather request
[0662] Based on the user's input, the device sends a weather forecast request to the server, including location and date / time information.
[0663] Receiving and displaying prediction results
[0664] Once the forecast is received from the server, the device displays it to the user, including information such as temperature, humidity, wind speed, air pressure, and weather conditions. It also suggests the best foods and drinks to eat based on the weather forecast.
[0665] Sending local weather data
[0666] The device sends the weather data entered by the user for the current location to the server, including temperature, humidity, wind speed, air pressure, and weather conditions.
[0667] User Action
[0668] Check the weather forecast
[0669] Users can use the device to request a weather forecast, view the forecast results, and find out the best food and drink options based on the weather conditions for that day.
[0670] Providing local weather data
[0671] The user inputs weather data for their current location into the device and sends it to the server. For example, they input information such as "Current location is Tokyo, weather is sunny, temperature is 25 degrees."
[0672] As a specific example, a user requests "the weather in Tokyo three days from now." The server that receives this request uses a machine learning model to make a prediction and returns the result to the device: "Tokyo will be sunny in three days, with a maximum temperature of 25 degrees and a minimum temperature of 17 degrees." The device that receives this displays this prediction result along with a food suggestion such as "We recommend a cold salad to match the weather three days from now."
[0673] Example prompts to be input to the generative AI model
[0674] "Get the past 30 days of weather data for Tokyo, train a machine learning model to predict the most popular food for that day, and make food suggestions based on the current weather."
[0675] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0676] Step 1:
[0677] Collecting and storing historical weather data
[0678] The server periodically accesses a weather data provider through an API (for example, WeatherAPI) to obtain past weather data. The input is data such as temperature, humidity, wind speed, air pressure, and weather conditions obtained from the API. This data is then stored in a database. Specifically, a query is executed and the obtained data is inserted into a relational database such as MySQL.
[0679] Step 2:
[0680] Training a machine learning model
[0681] The server uses the stored historical weather data to train the machine learning model. The input is historical weather data extracted from the database. The data is taken and trained using Python libraries such as scikit-learn and TensorFlow, applying linear regression and long short-term memory (LSTM) network algorithms. The output is a trained machine learning model.
[0682] Step 3:
[0683] Generate and provide weather forecasts
[0684] When a request is sent from a user, the server uses a trained machine learning model to predict future weather. The input is the location and date and time information specified by the user. The request is received, input into the model, and a prediction is made. The prediction result includes temperature, humidity, wind speed, air pressure, weather conditions, etc., and is returned to the user. The output is the prediction result, which is sent to the terminal.
[0685] Step 4:
[0686] Calculation and publication of prediction accuracy rate
[0687] The server compares the actual weather data with the forecast results and calculates the accuracy rate of the forecast. The input is the actual weather data and the forecast results. The actual weather data is retrieved from the database and compared with the forecast data to calculate the accuracy rate. The calculated accuracy rate is saved in the database and periodically published on a website, etc. The output is the calculated accuracy rate.
[0688] Step 5:
[0689] Collecting local weather data
[0690] The server receives local weather data sent by the user. The input is the weather data for the user's current location, including temperature, humidity, wind speed, air pressure, and weather conditions. The received data is stored in a database and used to train the next machine learning model. Specifically, the data is POSTed to the server using an API, and then inserted into the database on the server side.
[0691] Step 6:
[0692] Recommendations for the best foods
[0693] The server uses weather forecast data to suggest foods and drinks that are best suited to the weather conditions of the day to the user. The input is weather forecast data and the user's location information. A trained machine learning model is used to suggest foods based on the current weather conditions. The output is the suggested foods and drinks, which are sent to the device. Specifically, an algorithm is used to analyze the relationship between weather data and foods, and the results are returned to the user's device.
[0694] Step 7:
[0695] Sending a weather request
[0696] The device sends a weather forecast request to the server based on the user's input. The input is the location and date and time information specified by the user. The request is sent to the server using the HTTP protocol as a GET request. The output is the request sent to the server and awaits the receipt of the forecast result.
[0697] Step 8:
[0698] Receiving and displaying prediction results
[0699] When the device receives the prediction results from the server, it displays them to the user. The input is the prediction results and food suggestions returned from the server. The displayed information includes temperature, humidity, wind speed, air pressure, weather conditions, and suggested foods and drinks. Specifically, the information is rendered in the user interface using a display template.
[0700] Step 9:
[0701] Sending local weather data
[0702] The device sends the weather data for the current location entered by the user to the server. The input is information provided by the user, such as temperature, humidity, wind speed, pressure, and weather conditions. This is sent to the server via an HTTP POST request, ready to be stored. The output is the data sent to the server.
[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 following describes in detail the embodiments of the present invention. The present invention is a system that collects and stores past weather data, trains a machine learning model, and generates and provides weather forecasts based on user requests. Furthermore, the system publishes the accuracy rate of the forecast results and improves the accuracy of the forecasts using local weather data collected from users. Furthermore, the present invention incorporates an emotion engine that recognizes the user's emotions and adjusts the presentation of the weather forecast based on the user's emotions.
[0705] Server Processing
[0706] Collection and storage of historical data
[0707] The server periodically accesses the API of the weather data provider to obtain past weather data, including the date, time, temperature, humidity, wind speed, air pressure, and weather conditions, and stores this data in a database.
[0708] Training a machine learning model
[0709] The server uses the collected historical weather data to train a machine learning model. Specifically, it preprocesses the dataset and splits it into training and test data. It then uses an appropriate machine learning algorithm, such as a long short-term memory (LSTM) network, to train the model. The trained model is then stored for use in future predictions.
[0710] Generate and provide weather forecasts
[0711] When a user requests weather, the server uses a trained machine learning model to predict future weather conditions, including temperature, humidity, wind speed, air pressure, and weather conditions, and returns the forecast to the user.
[0712] Calculation and publication of prediction accuracy rate
[0713] The server compares the actual weather data with the forecast results, calculates the accuracy rate of the forecast, and stores the results in a database. The accuracy rate is then periodically calculated and made public on a website or other platform.
[0714] Collecting local weather data
[0715] The server receives local weather data sent by the user, which is also stored in a database and used to train the next machine learning model.
[0716] Emotion engine processing
[0717] The emotion engine installed on the server analyzes data and sensor information sent by the user to recognize the user's emotions. For example, an algorithm is used to determine emotions from text entered by the user, facial expressions acquired through a camera and microphone, and tone of voice. After the emotion is determined, the server adjusts the way the weather forecast is presented based on the emotional data. For example, if the user is feeling stressed, the server can display the weather forecast in friendlier language.
[0718] Terminal handling
[0719] Sending a weather request
[0720] Based on the user's input, the device sends a weather forecast request to the server, including location and date / time information.
[0721] Receiving and displaying prediction results
[0722] Once the forecast is received from the server, the device displays it to the user, including temperature, humidity, wind speed, air pressure, and weather conditions. Furthermore, the display method is customized based on the user's emotions.
[0723] Sending local weather data
[0724] The device sends the weather data entered by the user for the current location to the server, including temperature, humidity, wind speed, air pressure, and weather conditions.
[0725] User Action
[0726] Check the weather forecast
[0727] The user uses the terminal to request a weather forecast and check the returned forecast results.
[0728] Providing local weather data
[0729] The user inputs weather data for their current location into the device and sends it to the server. The user can also input their emotional state if desired, which may be collected automatically through the device's camera or microphone.
[0730] To give a specific example, when a user sends a request from their device asking for "the weather in Tokyo three days from now," the server that receives the request uses an AI model to generate a prediction and returns the result to the device: "Tokyo three days from now will be sunny, with a maximum temperature of 25 degrees and a minimum temperature of 17 degrees." The device then displays this prediction to the user. If the device determines that the user is feeling stressed, it adjusts the display method and displays a message that will help them relax.
[0731] When a user reports that the weather in their current location is cloudy and the temperature is 22 degrees, this data is sent to the server, which stores it in a database. This data is then used the next time the AI model is trained, improving its prediction accuracy.
[0732] The above is a specific embodiment of the present invention, which provides highly accurate and reliable weather forecasts and builds a system that utilizes user feedback and emotion data to continuously improve the accuracy of predictions and the user experience.
[0733] The processing flow will be explained below.
[0734] Step 1:
[0735] Collection and storage of historical data
[0736] The server periodically accesses the API of the weather data provider to obtain past weather data. For example, it obtains weather chart data from the previous day at midnight every day and stores detailed data such as the date, time, temperature, humidity, wind speed, air pressure, and weather conditions in a database.
[0737] Step 2:
[0738] Training a machine learning model
[0739] The server trains a machine learning model using historical weather data. Specifically, it preprocesses the dataset and splits it into training data and test data. It then uses machine learning algorithms such as long short-term memory (LSTM) networks to train the model. Once trained, the model is saved for use in making predictions.
[0740] Step 3:
[0741] Collecting user emotion data
[0742] The device collects the user's emotional data. For example, it uses the device's camera to read the user's facial expressions and uses an emotion recognition algorithm to determine the user's emotions. The user can also manually report their emotions. This data is temporarily stored on the device.
[0743] Step 4:
[0744] Sending a weather request
[0745] The user requests a weather forecast through the device. Specifically, the user inputs the weather forecast for a specific location and date and time using the application, and submits the request. At this time, the collected emotion data is also sent to the server.
[0746] Step 5:
[0747] Generate and provide weather forecasts
[0748] The server generates a weather forecast based on the received request. First, it uses the location and date / time information from the request to predict future weather using a trained machine learning model. Then it analyzes the user's emotional data and adjusts the way the forecast is presented. For example, if the user is feeling stressed, it will present the forecast with a friendly message to help them relax. The forecast is then returned to the device.
[0749] Step 6:
[0750] Receiving and displaying prediction results
[0751] The device receives the forecast results from the server and displays them to the user, including information on temperature, humidity, wind speed, air pressure, and weather conditions. The device also displays the results in a way that reflects the user's emotions.
[0752] Step 7:
[0753] Calculation and publication of prediction accuracy rate
[0754] The server compares the actual weather data with the forecast results to calculate the accuracy rate. Specifically, it compares previously generated forecast data with actual data to calculate accuracy, and stores the results in a database. This accuracy rate is periodically published on a website or within the application.
[0755] Step 8:
[0756] Sending local weather data
[0757] Users input their current location's weather data into their device and send it to the server. The data includes temperature, humidity, wind speed, air pressure, and weather conditions. The data is sent to the server and used to improve accuracy.
[0758] Step 9:
[0759] Local data storage and use
[0760] The server stores the received local weather data in a database, which is then used the next time the machine learning model is trained to improve its prediction accuracy.
[0761] This is the specific processing flow of the program. This process enables the server to provide highly accurate weather forecasts and present personalized weather information that takes the user's emotions into account. Furthermore, the collected local weather data and emotion data are used to continuously improve the accuracy of the model.
[0762] Example 2
[0763] 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."
[0764] Conventional weather forecasting systems often lack sufficient forecast accuracy and are unable to incorporate user feedback or emotions. This results in unreliable forecasts and a poor user experience. To address this issue, a system was needed that could use past weather data to make highly accurate forecasts and analyze user emotions to optimize the way information is provided.
[0765] 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.
[0766] In this invention, the server includes: means for collecting and storing past weather data; means for training a machine learning model using the collected weather data; means for predicting future weather using the trained machine learning model; means for providing the future forecast results based on a user request; means for calculating the accuracy rate of the forecast by comparing the provided forecast results with actual weather data; means for publishing the calculated accuracy rate; means for collecting local weather data from users and using it to improve the accuracy of the machine learning model; and means for adjusting the presentation method of the weather forecast based on the emotion analysis by the emotion engine, which includes an emotion engine for analyzing user emotions. This enables highly accurate weather forecasts and continuously improves the accuracy of predictions and the user experience by utilizing user feedback and emotion data.
[0767] "Past weather data" refers to meteorological information such as temperature, humidity, wind speed, air pressure, and weather conditions observed over a certain period of time in the past.
[0768] "Collection means" refers to a device or software that has the function of accessing the API of the weather data provision service and acquiring data.
[0769] "Storage means" refers to a device or software that has the function of storing collected data in a database.
[0770] A "machine learning model" refers to an algorithm that is trained using past data to predict future weather.
[0771] "Training tool" refers to the process or device that uses a dataset to train a machine learning model.
[0772] "Forecasting tool" refers to a device or software that uses trained machine learning models to estimate future weather conditions.
[0773] "Providing means" refers to a device or software that transmits predicted weather information in response to a request from a user.
[0774] "Accuracy rate calculation means" refers to a function for comparing the forecast results with actual weather data and evaluating the accuracy of the forecast.
[0775] "Publication means" refers to a device or software that has the function of making the calculated accuracy rate publicly available via a website or API.
[0776] "Local weather data" refers to weather information such as temperature, humidity, wind speed, air pressure, and weather conditions observed by the user at their current location.
[0777] "Emotion engine" refers to a device or software that has an algorithm for analyzing a user's emotions.
[0778] "Emotion analysis means" refers to a function that uses an emotion engine to determine emotions from a user's text, images, and voice.
[0779] "Presentation method adjustment means" refers to a function that changes the display and presentation method of the weather forecast based on the results of emotion analysis.
[0780] This invention is a system that collects and stores past weather data, trains a machine learning model, and generates and provides weather forecasts based on user requests. Furthermore, it publishes the accuracy rate of the forecast results and improves the forecast accuracy using local weather data collected from users. Furthermore, this invention incorporates an emotion engine that recognizes the user's emotions and adjusts the presentation of the weather forecast based on the user's emotions.
[0781] First, the server periodically accesses the API of a specific weather data provider to collect past weather data. This data includes date, time, temperature, humidity, wind speed, air pressure, and weather conditions. The collected data is retrieved using the Python requests library, formatted using the pandas library, and stored in a MySQL database. This allows for efficient management of large amounts of weather data over long periods of time.
[0782] Next, the server trains a machine learning model using the collected data. Specifically, it preprocesses the dataset and splits it into training data and test data. For data preprocessing, it uses the scikit-learn library to fill in NaN values and normalize the data. For training, it uses TensorFlow to build a long short-term memory (LSTM) network and train the model. For example, it sets the input shape of the LSTM model and trains it for 50 epochs. The trained model is saved for use in future weather forecasts.
[0783] When a user requests a weather forecast for a specific location and date and time, the device sends the request to the server as an HTTP POST request. For example, a request such as "Please tell me the weather in Tokyo three days from now" is sent to the server. The server receives the request and uses the trained LSTM model to predict future weather. The forecast results include temperature, humidity, wind speed, air pressure, and weather conditions, and this information is returned to the device. The device then displays the received forecast results in an easy-to-read format for the user.
[0784] The server also periodically compares the forecast results with actual weather data to calculate the accuracy rate of the forecast. The accuracy rate is calculated using parameters such as mean_absolute_error. The calculation results are stored in a database and made public via a website or API.
[0785] In addition, users can input their current weather data from their device and send it to the server. This data includes temperature, humidity, wind speed, air pressure, weather conditions, etc. The collected local weather data will be used in the next model training to improve forecast accuracy.
[0786] Additionally, the server is equipped with an emotion engine that analyzes emotions from text data sent by the user, as well as facial expressions and tone of voice captured through the camera and microphone. The TextBlob library can be used for emotion analysis. For example, if a user types "I'm feeling stressed right now," the emotional state is analyzed and determined to be stress. Based on the analysis results, the server adjusts the way the forecast is presented. For example, if the user is feeling stressed, the server will display a weather forecast in more friendly language.
[0787] As a specific example, if a user requests the device, "Please tell me the weather in Tokyo three days from now," the server will use the LSTM model to make a prediction and return a result such as, "Tokyo will be sunny three days from now, with a maximum temperature of 25 degrees and a minimum temperature of 17 degrees." The device will then display this result to the user. On the other hand, if the user reports, "The weather at my current location is cloudy, with a temperature of 22 degrees," this data will be sent to the server and stored in the database. This data will be used the next time the model is trained, contributing to improved prediction accuracy.
[0788] In this way, the present invention can provide highly accurate and reliable weather forecasts, and by leveraging user feedback and sentiment data, the system continuously improves the accuracy of the forecasts and the user experience.
[0789] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0790] Step 1:
[0791] Collection and storage of historical data
[0792] The server periodically accesses the API of the weather data provider to obtain past weather data. Specifically, it uses the Python requests library to collect data from the API.
[0793] (Input) API request and date / time filter
[0794] (Data processing) Convert the acquired data into a data frame using the pandas library, and supplement and normalize missing data.
[0795] (Output) Formatted data to store in the database
[0796] The formatted data is saved in a MySQL database.
[0797] Step 2:
[0798] Training a machine learning model
[0799] The server trains a machine learning model using the collected historical weather data, splitting the dataset into training and test data using a Python script, and preprocessing it using the scikit-learn library.
[0800] (Input) Historical weather data from a database
[0801] (Data processing) NaN value completion, data normalization, and splitting into training and test data
[0802] (Output) Dataset in a format suitable for LSTM models
[0803] Build and train a Long Short-Term Memory (LSTM) network using TensorFlow, then save the trained model.
[0804] Step 3:
[0805] Sending a weather request
[0806] The device sends the weather forecast request entered by the user to the server as an HTTP POST request, including location, date, and time information.
[0807] (Input) User-specified location and date / time information
[0808] (Data processing) Convert request data into JSON format
[0809] (Output) HTTP POST request to the server
[0810] For example, a user sends a request saying, "Tell me the weather in Tokyo three days from now."
[0811] Step 4:
[0812] Generate weather forecasts
[0813] The server analyzes the received request data and predicts future weather using a trained LSTM model.
[0814] (Input) Request data and trained model
[0815] (Data processing) Convert the request data into a format suitable for the model and perform predictions
[0816] (Output) Forecast results (temperature, humidity, wind speed, air pressure, weather conditions, etc.)
[0817] The prediction results are generated in JSON format and returned to the device.
[0818] Step 5:
[0819] Receiving and displaying prediction results
[0820] The terminal receives the prediction results from the server and displays them to the user. The prediction results are visually presented using a user-friendly GUI component.
[0821] (Input) Prediction result data from the server
[0822] (Data processing) Convert received data into an appropriate display format
[0823] (Output) Forecast results displayed to the user (maximum and minimum temperatures, weather conditions, etc.)
[0824] For example, it displays "Tokyo will be sunny in three days, with a maximum temperature of 25 degrees and a minimum temperature of 17 degrees."
[0825] Step 6:
[0826] Calculation and publication of prediction accuracy rate
[0827] The server compares the actual weather data with the forecast results and calculates the accuracy rate.
[0828] (Input) Forecast results and actual weather data
[0829] (Data processing) Calculate the error using methods such as mean_absolute_error
[0830] (Output) Calculated accuracy rate data
[0831] The accuracy rate is stored in a database and made public via a website or API.
[0832] Step 7:
[0833] Collecting local weather data
[0834] The user sends weather data for their current location from the device. For example, they input "The weather in my current location is cloudy, and the temperature is 22 degrees."
[0835] (Input) Local weather data observed by the user
[0836] (Data processing) Convert data into JSON format
[0837] (Output) HTTP POST request to the server
[0838] The server stores the received data in a database and uses it the next time the model is trained.
[0839] Step 8:
[0840] Emotion engine processing
[0841] The emotion engine installed on the server analyzes data sent by users and sensor information to recognize emotions. For example, it uses the TextBlob library to analyze emotions in text data.
[0842] (Input) Text sent by the user, camera footage, audio data, etc.
[0843] (Data processing) Emotion scoring of text, feature extraction and analysis of video and audio
[0844] (Output) Analyzed emotion data
[0845] Based on the results of the sentiment analysis, the server adjusts the way the predictions are presented, for example, if the user is feeling stressed, it will display a weather forecast in friendly language.
[0846] (Application example 2)
[0847] 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."
[0848] While conventional weather forecasting systems are excellent at collecting and forecasting weather data, they are not practical for actual business operations, especially food delivery, where weather conditions directly affect delivery efficiency and driver safety. Furthermore, they do not adjust service delivery methods based on the emotions of users and delivery personnel, preventing improvements in user satisfaction. Therefore, there is a need for a system that effectively utilizes weather information to optimize delivery operations and provide a comfortable experience for users and delivery personnel.
[0849] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0850] In this invention, the server includes means for collecting and storing past weather data, means for training a machine learning model using the collected weather data, means for predicting future weather using the trained machine learning model, means for providing the future forecast result based on a user request, means for calculating the accuracy rate of the forecast by comparing the provided forecast result with actual weather data, means for publishing the calculated accuracy rate, means for collecting local weather data from users and using it to improve the accuracy of the machine learning model, means for optimizing logistics routes based on weather conditions, and means for analyzing emotional data of users and delivery personnel and adjusting the service provision method based on the emotional data. This enables efficient delivery route selection based on weather information and personalized service provision based on the emotions of users and delivery personnel.
[0851] "Weather data" is information about weather conditions such as temperature, humidity, wind speed, air pressure and weather conditions.
[0852] A "machine learning model" is a collection of algorithms that use collected data to learn patterns and predict future situations.
[0853] "Means for predicting future weather" refers to processing means for calculating and predicting future weather conditions using a machine learning model.
[0854] "User request" refers to an inquiry or request for information that a user wants to know.
[0855] The "means for providing forecast results" is a processing means for displaying or notifying future weather forecast data to a user.
[0856] The "means for calculating the accuracy rate" is a processing means for comparing the predicted results with actual weather data and evaluating the accuracy of the prediction.
[0857] "Means for publishing accuracy rates" are processing means for publishing information about the accuracy of the calculated predictions.
[0858] "Local weather data" is weather information for the current location provided by the user.
[0859] The "means for optimizing logistics routes based on weather conditions" refers to a processing means for selecting the most efficient and safe delivery route using collected and predicted weather data.
[0860] "Means for analyzing emotional data" refers to processing means for recognizing and assessing the emotional state of the user and delivery participants.
[0861] The "means for adjusting the method of providing the service" refers to a processing means for changing and adjusting the content of the service based on the analyzed emotion data so that the user and delivery personnel can have a better experience.
[0862] The following describes in detail an embodiment of the present invention, showing the processing flow of the entire system involving the server, terminals, and users, as well as the respective hardware and software configurations.
[0863] Server Processing
[0864] Collection and storage of historical data
[0865] The server periodically accesses the API of the weather data provider to obtain past weather data. The obtained data includes information such as date and time, temperature, humidity, wind speed, air pressure, and weather conditions, and is stored in a database. This is done using Python and a REST API.
[0866] Training a machine learning model
[0867] The server uses the collected historical weather data to train a machine learning model. Specifically, it preprocesses the dataset and splits it into training and test data. It then uses an appropriate machine learning algorithm, such as a long short-term memory (LSTM) network, to train the model. Software used includes Keras and TensorFlow.
[0868] Generate and provide weather forecasts
[0869] When a user requests weather, the server uses a trained machine learning model to predict future weather conditions. The forecast includes temperature, humidity, wind speed, pressure, and weather conditions, and returns the results to the user. This process is also implemented in Python.
[0870] Calculation and publication of prediction accuracy rate
[0871] The server compares the actual weather data with the forecast results, calculates the accuracy rate of the forecast, and stores it in a database. This accuracy rate is calculated periodically and made public on a website or other platform.
[0872] Collecting local weather data
[0873] The server receives local weather data sent by the user and stores it in a database, which is also used to train the next machine learning model.
[0874] Emotion engine processing
[0875] The emotion engine installed on the server analyzes data and sensor information sent by the user to recognize the user's emotions. For example, an algorithm is used to determine emotions from text entered by the user, facial expressions acquired through the camera and microphone, and tone of voice. After the emotion is determined, the server adjusts the way the weather forecast is presented based on that emotional data. The software used includes an emotion analysis algorithm.
[0876] Optimize logistics routes based on weather conditions
[0877] The server calculates optimal logistics routes based on predicted weather data, improving delivery efficiency and driver safety.
[0878] Terminal handling
[0879] Sending a weather request
[0880] Based on the user's input, the device sends a weather forecast request to the server, including location and date / time information.
[0881] Receiving and displaying prediction results
[0882] Once the forecast is received from the server, the device displays it to the user, including temperature, humidity, wind speed, air pressure, and weather conditions. Furthermore, the display method is customized based on the user's emotions.
[0883] Sending local weather data
[0884] The device sends the weather data entered by the user for the current location to the server, including temperature, humidity, wind speed, air pressure, and weather conditions.
[0885] User Action
[0886] Check the weather forecast
[0887] The user uses the terminal to request a weather forecast and check the returned forecast results.
[0888] Providing local weather data
[0889] The user inputs weather data for their current location into the device and sends it to the server. The user can also input their emotional state if desired, which may be collected automatically through the device's camera or microphone.
[0890] Specific examples
[0891] When a user sends a request to know "the weather in Tokyo three days from now," the server uses an AI model to generate a prediction and returns the result to the device: "Tokyo will be sunny in three days, with a maximum temperature of 25 degrees and a minimum temperature of 17 degrees." The device then displays this prediction to the user. If the device determines that the user is feeling stressed, it adjusts the display method and displays a message to help the user relax.
[0892] Example prompts for generative AI models
[0893] The user requests "Weather in Tokyo 3 days from now." Please forecast the weather using a machine learning model based on past weather data. Also, since the user seems stressed, please display a message to help them relax.
[0894] This creates a system that provides highly accurate and reliable weather forecasts, while also leveraging user feedback and sentiment data to continuously improve the accuracy of predictions and the user experience.
[0895] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0896] Step 1:
[0897] Collection and storage of historical data
[0898] The server periodically accesses the API of the weather data provider to obtain past weather data such as date, time, temperature, humidity, wind speed, air pressure, weather conditions, etc. After receiving this data, the server stores it in a database.
[0899] Input: API response from weather data provider
[0900] Output: Stored historical weather data (database entries)
[0901] What it does: The server uses a Python script to make requests to the API and inserts the retrieved data into the database in JSON format.
[0902] Step 2:
[0903] Training a machine learning model
[0904] The server trains a machine learning model using the weather data collected in step 1. It preprocesses the data and splits it into training data and test data, then trains it with a long short-term memory (LSTM) network.
[0905] Input: Historical weather data (records from database)
[0906] Output: A trained machine learning model
[0907] What it does: The server preprocesses the data using Keras and TensorFlow, trains the model, and saves the training results.
[0908] Step 3:
[0909] Sending a weather request
[0910] The user inputs a weather forecast request for a specific location and date and time from the terminal, and the request is sent from the terminal to the server.
[0911] Input: User requests location and date
[0912] Output: Request data to the server
[0913] What happens: A user uses a smartphone or tablet to send a request through the application's UI.
[0914] Step 4:
[0915] Generate and provide weather forecasts
[0916] The server uses the trained machine learning model to predict future weather data based on the request received in step 3. It returns the prediction results to the user.
[0917] Input: User request, trained machine learning model
[0918] Output: Future weather forecast data (sent to device)
[0919] How it works: The server uses a Python script to run the model to make predictions and return the results to the device.
[0920] Step 5:
[0921] Calculation and publication of prediction accuracy rate
[0922] The server compares the forecast results with actual weather data and calculates the accuracy rate of the forecast. This accuracy rate is stored in a database and periodically made public.
[0923] Input: Forecast results, actual weather data
[0924] Output: Accuracy rate (stored in database), public information (website, etc.)
[0925] How it works: The server uses a Python script to calculate the accuracy rate and stores the results in a database and on a web server.
[0926] Step 6:
[0927] Sending local weather data
[0928] The user inputs the weather data for their current location into the terminal and sends it to the server.
[0929] Input: Weather data provided by the user (temperature, humidity, etc.)
[0930] Output: Weather data to the server
[0931] Specific behavior: The user enters data through the application and presses the submit button.
[0932] Step 7:
[0933] Emotion engine processing
[0934] The server analyzes the data sent by the user and the sensor information of the device to recognize the user's emotional state.
[0935] Input: User text input, camera footage, microphone audio
[0936] Output: Emotional state data
[0937] What happens: The server runs a sentiment analysis algorithm to determine the user's sentiment.
[0938] Step 8:
[0939] Optimize logistics routes based on weather conditions
[0940] The server calculates the optimal logistics route based on predicted weather data.
[0941] Input: predicted weather data, current route information
[0942] Output: Optimized logistics routes
[0943] Specific operation: The server runs an optimization algorithm to calculate the optimal route and send it to the delivery system.
[0944] Step 9:
[0945] Adapting service delivery based on sentiment data
[0946] The server adjusts the way the service is displayed and notification messages based on the emotional data.
[0947] Input: Emotion data, service content
[0948] Output: Coordinated service display and notification messages
[0949] Specific operation: The server analyzes the emotion data, determines the appropriate means of providing the service, and sends it to the terminal.
[0950] 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.
[0951] 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.
[0952] 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.
[0953] [Third embodiment]
[0954] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0955] 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.
[0956] 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).
[0957] 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.
[0958] 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.
[0959] 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).
[0960] 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.
[0961] 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.
[0962] 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.
[0963] 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.
[0964] 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.
[0965] 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."
[0966] The following describes in detail the mode for carrying out the present invention. The present invention is a system that collects and stores past weather data, trains a machine learning model, and generates and provides weather forecasts based on user requests. Furthermore, the accuracy rate of the forecast results is made public, and the accuracy of the forecasts is improved using local weather data collected from users.
[0967] Server Processing
[0968] Collection and storage of historical data
[0969] The server periodically accesses the API of the weather data provider to obtain past weather data, including the date, time, temperature, humidity, wind speed, air pressure, and weather conditions, and stores this data in a database.
[0970] Training a machine learning model
[0971] The server uses the collected historical weather data to train machine learning models, specifically using machine learning algorithms such as long short-term memory (LSTM) networks to learn weather patterns from the data.
[0972] Generate and provide weather forecasts
[0973] When a user requests weather, the server uses a trained machine learning model to predict future weather conditions, including temperature, humidity, wind speed, air pressure, and weather conditions, and returns the forecast to the user.
[0974] Calculation and publication of prediction accuracy rate
[0975] The server compares the actual weather data with the forecast results, calculates the accuracy rate of the forecast, and stores the results in a database. The accuracy rate is then periodically calculated and made public on a website or other platform.
[0976] Collecting local weather data
[0977] The server receives local weather data sent by the user, which is also stored in a database and used to train the next machine learning model.
[0978] Terminal handling
[0979] Sending a weather request
[0980] Based on the user's input, the device sends a weather forecast request to the server, including location and date / time information.
[0981] Receiving and displaying prediction results
[0982] Once the forecast is received from the server, the device displays it to the user, including information such as temperature, humidity, wind speed, air pressure, and weather conditions.
[0983] Sending local weather data
[0984] The device sends the weather data entered by the user for the current location to the server, including temperature, humidity, wind speed, air pressure, and weather conditions.
[0985] User Action
[0986] Check the weather forecast
[0987] The user uses the terminal to request a weather forecast and check the returned forecast results.
[0988] Providing local weather data
[0989] The user inputs weather data for their current location into the terminal and transmits it to the server.
[0990] To give a specific example, a user sends a request from their device asking for "the weather in Tokyo three days from now." The server that receives this request generates a prediction using an AI model and returns the result to the device: "Tokyo three days from now will be sunny, with a maximum temperature of 25 degrees and a minimum temperature of 17 degrees." The device that receives this prediction then displays the result to the user.
[0991] Additionally, when a user provides local weather data, for example by entering "current location is Osaka, weather is cloudy, temperature is 22 degrees" into the device, the data is sent to the server, which stores it in a database and uses it to train the next AI model.
[0992] The above is a specific embodiment of the present invention. In this way, a system is constructed that provides highly accurate and reliable weather forecasts and utilizes user feedback to improve prediction accuracy.
[0993] The processing flow will be explained below.
[0994] Step 1:
[0995] Collection of historical data
[0996] The server periodically accesses the API of the weather data service to obtain past weather data. Specifically, it sends an API request to obtain detailed data such as date and time, temperature, humidity, wind speed, air pressure, and weather conditions. This data is then automatically stored in a database.
[0997] Step 2:
[0998] Training a machine learning model
[0999] The server uses the collected historical weather data to train a machine learning model. Specifically, it preprocesses the dataset and splits it into training data and test data. It then uses an appropriate machine learning algorithm, such as a long short-term memory (LSTM) network, to train the model and find optimal parameters. The trained model is then stored for use in future predictions.
[1000] Step 3:
[1001] Sending a weather request
[1002] A user sends a weather forecast request from a device. Specifically, the user inputs through the device's application that they want to know the weather forecast for a specific location and date and time. The device then sends the request to the server.
[1003] Step 4:
[1004] Generate weather forecasts
[1005] The server predicts future weather based on the received user request. Specifically, it inputs the location and date and time of the user request into a machine learning model and generates a forecast result (weather, temperature, humidity, wind speed, air pressure, etc.).
[1006] Step 5:
[1007] Response of prediction results
[1008] The server returns the generated prediction result to the user. Specifically, the prediction result is returned to the terminal that sent the request, and the terminal displays it to the user.
[1009] Step 6:
[1010] Calculating the accuracy rate of predictions
[1011] The server acquires and compares actual weather data with forecast data. Specifically, it periodically acquires actual weather data and compares it with forecast data generated in the past to calculate the accuracy rate. The calculation results are stored in a database.
[1012] Step 7:
[1013] Publication of accuracy rate
[1014] The server publishes the calculated accuracy rate, and provides statistical information on the accuracy rate to users on a website or within the app.
[1015] Step 8:
[1016] Local weather data collection
[1017] The user inputs weather data for their current location and sends it from the device to the server. Specifically, the user inputs temperature, humidity, wind speed, air pressure, weather conditions, etc. into the application, and the device sends the data to the server.
[1018] Step 9:
[1019] Local data storage and use
[1020] The server stores the received local weather data in a database, which is then used the next time the machine learning model is trained to improve its accuracy.
[1021] The above is the specific processing flow of the program. As a result, the system of the present invention can provide highly accurate weather forecasts and continuously improve the accuracy of predictions by utilizing user feedback.
[1022] Example 1
[1023] 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."
[1024] Modern weather forecasting systems are required to improve their forecast accuracy. In particular, it is important to provide more reliable weather forecasts by effectively utilizing past weather data and incorporating local weather data collected from users. In addition, it is necessary to increase transparency and improve reliability by disclosing the accuracy rate of forecasts to users.
[1025] 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.
[1026] In this invention, the server includes means for collecting and storing past weather data, means for training a machine learning model using the collected weather data, means for predicting future weather using the trained machine learning model, means for providing the future forecast results based on a user request, means for calculating the accuracy rate of the forecast by comparing the provided forecast results with actual weather data, means for publishing the calculated accuracy rate, means for collecting local weather data from the user and using it to improve the accuracy of the machine learning model, and means for the terminal to display the forecast results to the user. This makes it possible to effectively utilize past weather data and local weather data to provide highly accurate and reliable weather forecasts.
[1027] "Past weather data" refers to information such as past dates and times, temperatures, humidity, wind speed, air pressure, and weather conditions that are necessary to make predictions.
[1028] "Collection means" refers to the method or system for obtaining data from the API of a weather data provision service, etc.
[1029] "Storage means" refers to a method or system for storing collected data in a storage device such as a database.
[1030] A "machine learning model" refers to an algorithm or network that uses past data to learn weather patterns and predict future weather.
[1031] "Training method" refers to a method or system for training a machine learning model using collected weather data.
[1032] "Forecasting tool" refers to a method or system for predicting future weather using a trained machine learning model.
[1033] A "request" refers to a request for a prediction sent by a user.
[1034] The "provision means" refers to a method or system for returning the prediction results generated based on the user's request to the user.
[1035] "Accuracy rate" refers to an index that shows the degree of agreement between the forecast results and actual weather data.
[1036] "Calculation means" refers to a method or system for comparing the provided forecast results with actual weather data and calculating the accuracy rate.
[1037] "Disclosure means" refers to a method or system for informing users of the calculated accuracy rate.
[1038] "Terminal" refers to the equipment or device through which a user sends a request and receives and displays prediction results.
[1039] "Local weather data" refers to information such as temperature, humidity, wind speed, air pressure, and weather conditions observed by the user at their current location.
[1040] "Collected local data" refers to weather data provided by the user.
[1041] A "long short-term memory network" is a type of machine learning algorithm used to learn patterns in time series data.
[1042] MODE FOR CARRYING OUT THE INVENTION
[1043] This system collects and stores past weather data, trains a machine learning model, and generates and provides weather forecasts based on user requests. Furthermore, it publishes the accuracy rate of the forecast results and uses local weather data collected from users to improve the forecast accuracy.
[1044] Hardware and Software Configuration
[1045] Server Configuration
[1046] The server can run on a high performance computing (HPC) system or a cloud-based virtual machine (VM) environment. The server includes the following key software:
[1047] Operating system: Linux
[1048] Database management system: MySQL or PostgreSQL
[1049] Programming language: Python
[1050] Machine learning library: TensorFlow or PyTorch
[1051] Device configuration
[1052] A terminal is a device operated by a user, such as a smartphone, tablet, or personal computer. The terminal has an internet connection and runs applications, including:
[1053] Operating system: iOS, Android or Windows
[1054] API Client: HTTP client library (e.g. axios, fetch)
[1055] Server Processing
[1056] The server periodically accesses the API of a weather data provider to obtain past weather data such as date and time, temperature, humidity, wind speed, air pressure, and weather conditions. The obtained data is stored in a MySQL or PostgreSQL database. This data is used to train machine learning models such as long short-term memory (LSTM) networks using the TensorFlow or PyTorch machine learning libraries built in Python.
[1057] The trained model predicts future weather in response to user requests. For example, if a user requests, "I want to know the weather in Tokyo three days from now," the server generates a weather forecast based on this request and replies with the result, "Tokyo three days from now will be sunny, with a maximum temperature of 25 degrees and a minimum temperature of 17 degrees."
[1058] Terminal handling
[1059] When a user inputs a request into the device, the device uses an HTTP client library to send the request to the server. The forecast results received from the server are analyzed and displayed by the device. For example, if a user inputs "Weather in Tokyo in 3 days," the device will return the forecast results, "Sunny, maximum temperature 25 degrees, minimum temperature 17 degrees," and display them to the user.
[1060] User Roles
[1061] The user inputs a request into the device and checks the forecast results returned by the server. The user also inputs weather data for their current location into the device and sends it to the server. For example, by inputting "Current location: Osaka, Weather: Cloudy, Temperature: 22 degrees," this data is sent to the server and used for training the next machine learning model.
[1062] Specific examples
[1063] Requesting weather forecasts and receiving forecast results
[1064] A user sends a request from their device to find out "the weather in Tokyo three days from now." The server that receives this request generates a prediction using an AI model and returns the result to the device: "Tokyo three days from now will be sunny, with a maximum temperature of 25 degrees and a minimum temperature of 17 degrees." The device then displays this prediction to the user.
[1065] Providing local weather data
[1066] When a user provides local weather data, for example by entering "current location is Osaka, weather is cloudy, temperature is 22 degrees" into the device, the data is sent to the server, which stores it in a database and uses it to train the next AI model.
[1067] This system can provide highly accurate and reliable weather forecasts, and can utilize user feedback to improve the accuracy of the forecasts.
[1068] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1069] Step 1:
[1070] The server accesses the API of the weather data provider service to obtain past weather data such as date and time, temperature, humidity, wind speed, air pressure, and weather conditions. The obtained data is received in JSON format. This inputs the past weather data to the server. The server parses the obtained JSON format data and inserts it into the corresponding database table. The parsed data is saved in the database.
[1071] (Input: Past weather data API response (JSON format) / Output: Weather data stored in the database)
[1072] Step 2:
[1073] The server uses the historical weather data stored in the database to train a machine learning model using the Python library TensorFlow or PyTorch. It uses a long short-term memory (LSTM) network and provides five years of data as input. The server trains the data through the LSTM network, and the trained model is output.
[1074] (Input: Historical weather data retrieved from a database / Output: Trained machine learning model)
[1075] Step 3:
[1076] The user inputs a request such as "Weather in Tokyo in three days" into the terminal. The terminal sends this request to the server using the HTTP protocol. The request includes location and date / time information and is input to the server.
[1077] (Input: User's weather forecast request (location and date / time) / Output: API request to the server)
[1078] Step 4:
[1079] The server generates a weather forecast based on a user request using the stored weather data and a trained machine learning model. For example, for a request such as "Tokyo, three days later," the server provides input data to the machine learning model and generates a forecast result such as "sunny, maximum temperature 25 degrees, minimum temperature 17 degrees." The forecast result is formatted in JSON format and returned as an API response.
[1080] (Input: User request, trained machine learning model / Output: Weather forecast results (JSON format))
[1081] Step 5:
[1082] The device analyzes the JSON formatted forecast results received from the server and displays them to the user. Specifically, the analyzed data is displayed on the screen, and the user is notified that "Tokyo will be sunny in three days, with a maximum temperature of 25 degrees and a minimum temperature of 17 degrees."
[1083] (Input: API response from the server (forecast result) / Output: Weather forecast displayed to the user)
[1084] Step 6:
[1085] The user inputs the weather data for their current location into the device and sends it to the server. For example, by inputting "Current location: Osaka, Weather: Cloudy, Temperature: 22 degrees", this data is sent to the server. The data is input from the device to the server.
[1086] (Input: Input of local weather data by the user / Output: Sending data to the server)
[1087] Step 7:
[1088] The server stores the local weather data sent by the user in a database, analyzes the received data, and inserts it into the corresponding database table. This data is used to train the next machine learning model.
[1089] (Input: Local weather data from the user / Output: Local weather data stored in the database)
[1090] Step 8:
[1091] The server compares past forecasts with actual weather data to calculate the accuracy rate. For example, it compares forecasts from the past week with actual data and calculates the percentage of accurate temperature predictions. The calculated accuracy rate is stored in a database.
[1092] (Input: Past forecast results, actual weather data / Output: Calculated accuracy rate)
[1093] Step 9:
[1094] The server publishes the calculated accuracy rate on a website, etc. Specifically, it updates a page that displays the accuracy rate in HTML format and informs users of the prediction accuracy.
[1095] (Input: Calculated accuracy rate / Output: Accuracy rate published on the website)
[1096] The above is the specific processing flow of the program of this system.
[1097] (Application example 1)
[1098] 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."
[1099] Conventional weather forecasting systems have the drawback of only providing users with forecast results, without providing any additional information or services. In particular, they are inadequate in addressing the impact of weather conditions on daily life. For example, they lack assistance in selecting appropriate foods and drinks on bad weather or extremely hot days. Furthermore, there are limited means to improve the accuracy of the system using user feedback. Therefore, a new weather forecasting system that can provide added value to users is needed.
[1100] 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.
[1101] In this invention, the server includes means for collecting and storing past weather data, means for training a machine learning model using the collected weather data, and means for predicting future weather using the trained machine learning model. This includes means for providing future forecast results based on a user request, means for calculating the accuracy rate of the forecast by comparing the provided forecast results with actual weather data, means for publishing the calculated accuracy rate, means for collecting local weather data from the user and using it to improve the accuracy of the machine learning model, and means for suggesting optimal foods to the user based on the weather forecast. This makes it possible to provide the user with highly accurate and reliable weather forecasts and to suggest optimal foods and beverages suited to the weather conditions of the day.
[1102] "Past weather data" refers to weather information such as temperature, humidity, wind speed, air pressure, and weather conditions recorded in the past.
[1103] A "machine learning model" is an algorithm or system that learns from past data and makes predictions and classifications based on new data.
[1104] A "user request" is a request for a weather forecast based on a user-specified location and date and time.
[1105] "Prediction results" refer to future weather information generated by machine learning models.
[1106] The "accuracy rate" is an indicator that shows how closely the forecast results match the actual weather data.
[1107] "Local weather data" refers to real-time weather information such as temperature, humidity, wind speed, air pressure, and weather conditions at a specific location and time.
[1108] "Accuracy improvement" refers to data collection and algorithm improvements to improve the predictive accuracy of machine learning models.
[1109] "Optimal food suggestions" refers to recommending foods and drinks to the user that suit the weather conditions at the time based on the weather forecast.
[1110] The following describes in detail the mode for carrying out the present invention. The present invention is a system that collects and stores past weather data, trains a machine learning model, and generates and provides weather forecasts based on user requests. Furthermore, the system publishes the accuracy rate of the forecast results and improves the accuracy of the forecasts using local weather data collected from users. Additionally, the system includes a function that suggests optimal foods to users based on the weather forecast.
[1111] Server Processing
[1112] Collection and storage of historical data
[1113] The server uses an API to access a weather data provider and periodically retrieves past weather data. This data includes the date, time, temperature, humidity, wind speed, air pressure, and weather conditions, and the retrieved data is stored in a database. The specific API name used is WeatherAPI.
[1114] Training a machine learning model
[1115] The server uses collected historical weather data to learn weather patterns using machine learning algorithms such as linear regression and long short-term memory (LSTM) networks, for example, using Python machine learning libraries such as scikit-learn and TensorFlow.
[1116] Generate and provide weather forecasts
[1117] When a user requests weather, the server uses a trained machine learning model to predict future weather conditions, including temperature, humidity, wind speed, air pressure, and weather conditions, and returns the forecast to the user.
[1118] Calculation and publication of prediction accuracy rate
[1119] The server compares the actual weather data with the forecast results, calculates the accuracy rate of the forecast, and stores the results in a database. The accuracy rate is then periodically calculated and made public on a website or other platform.
[1120] Collecting local weather data
[1121] The server receives local weather data sent by the user, which is also stored in a database and used to train the next machine learning model.
[1122] Recommendations for the best foods
[1123] Based on the weather forecast data, the server will suggest food and drink options to the user that best fit the weather conditions of the day, for example, hot soup or curry on a rainy day, or cold salad or ice cream on a hot day, using a weather-based food suggestion algorithm, as shown in the Python code example.
[1124] Terminal handling
[1125] Sending a weather request
[1126] Based on the user's input, the device sends a weather forecast request to the server, including location and date / time information.
[1127] Receiving and displaying prediction results
[1128] Once the forecast is received from the server, the device displays it to the user, including information such as temperature, humidity, wind speed, air pressure, and weather conditions. It also suggests the best foods and drinks to eat based on the weather forecast.
[1129] Sending local weather data
[1130] The device sends the weather data entered by the user for the current location to the server, including temperature, humidity, wind speed, air pressure, and weather conditions.
[1131] User Action
[1132] Check the weather forecast
[1133] Users can use the device to request a weather forecast, view the forecast results, and find out the best food and drink options based on the weather conditions for that day.
[1134] Providing local weather data
[1135] The user inputs weather data for their current location into the device and sends it to the server. For example, they input information such as "Current location is Tokyo, weather is sunny, temperature is 25 degrees."
[1136] As a specific example, a user requests "the weather in Tokyo three days from now." The server that receives this request uses a machine learning model to make a prediction and returns the result to the device: "Tokyo will be sunny in three days, with a maximum temperature of 25 degrees and a minimum temperature of 17 degrees." The device that receives this displays this prediction result along with a food suggestion such as "We recommend a cold salad to match the weather three days from now."
[1137] Example prompts to be input to the generative AI model
[1138] "Get the past 30 days of weather data for Tokyo, train a machine learning model to predict the most popular food for that day, and make food suggestions based on the current weather."
[1139] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1140] Step 1:
[1141] Collecting and storing historical weather data
[1142] The server periodically accesses a weather data provider through an API (for example, WeatherAPI) to obtain past weather data. The input is data such as temperature, humidity, wind speed, air pressure, and weather conditions obtained from the API. This data is then stored in a database. Specifically, a query is executed and the obtained data is inserted into a relational database such as MySQL.
[1143] Step 2:
[1144] Training a machine learning model
[1145] The server uses the stored historical weather data to train the machine learning model. The input is historical weather data extracted from the database. The data is taken and trained using Python libraries such as scikit-learn and TensorFlow, applying linear regression and long short-term memory (LSTM) network algorithms. The output is a trained machine learning model.
[1146] Step 3:
[1147] Generate and provide weather forecasts
[1148] When a request is sent from a user, the server uses a trained machine learning model to predict future weather. The input is the location and date and time information specified by the user. The request is received, input into the model, and a prediction is made. The prediction result includes temperature, humidity, wind speed, air pressure, weather conditions, etc., and is returned to the user. The output is the prediction result, which is sent to the terminal.
[1149] Step 4:
[1150] Calculation and publication of prediction accuracy rate
[1151] The server compares the actual weather data with the forecast results and calculates the accuracy rate of the forecast. The input is the actual weather data and the forecast results. The actual weather data is retrieved from the database and compared with the forecast data to calculate the accuracy rate. The calculated accuracy rate is saved in the database and periodically published on a website, etc. The output is the calculated accuracy rate.
[1152] Step 5:
[1153] Collecting local weather data
[1154] The server receives local weather data sent by the user. The input is the weather data for the user's current location, including temperature, humidity, wind speed, air pressure, and weather conditions. The received data is stored in a database and used to train the next machine learning model. Specifically, the data is POSTed to the server using an API, and then inserted into the database on the server side.
[1155] Step 6:
[1156] Recommendations for the best foods
[1157] The server uses weather forecast data to suggest foods and drinks that are best suited to the weather conditions of the day to the user. The input is weather forecast data and the user's location information. A trained machine learning model is used to suggest foods based on the current weather conditions. The output is the suggested foods and drinks, which are sent to the device. Specifically, an algorithm is used to analyze the relationship between weather data and foods, and the results are returned to the user's device.
[1158] Step 7:
[1159] Sending a weather request
[1160] The device sends a weather forecast request to the server based on the user's input. The input is the location and date and time information specified by the user. The request is sent to the server using the HTTP protocol as a GET request. The output is the request sent to the server and awaits the receipt of the forecast result.
[1161] Step 8:
[1162] Receiving and displaying prediction results
[1163] When the device receives the prediction results from the server, it displays them to the user. The input is the prediction results and food suggestions returned from the server. The displayed information includes temperature, humidity, wind speed, air pressure, weather conditions, and suggested foods and drinks. Specifically, the information is rendered in the user interface using a display template.
[1164] Step 9:
[1165] Sending local weather data
[1166] The device sends the weather data for the current location entered by the user to the server. The input is information provided by the user, such as temperature, humidity, wind speed, pressure, and weather conditions. This is sent to the server via an HTTP POST request, ready to be stored. The output is the data sent to the server.
[1167] 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.
[1168] The following describes in detail the embodiments of the present invention. The present invention is a system that collects and stores past weather data, trains a machine learning model, and generates and provides weather forecasts based on user requests. Furthermore, the system publishes the accuracy rate of the forecast results and improves the accuracy of the forecasts using local weather data collected from users. Furthermore, the present invention incorporates an emotion engine that recognizes the user's emotions and adjusts the presentation of the weather forecast based on the user's emotions.
[1169] Server Processing
[1170] Collection and storage of historical data
[1171] The server periodically accesses the API of the weather data provider to obtain past weather data, including the date, time, temperature, humidity, wind speed, air pressure, and weather conditions, and stores this data in a database.
[1172] Training a machine learning model
[1173] The server uses the collected historical weather data to train a machine learning model. Specifically, it preprocesses the dataset and splits it into training and test data. It then uses an appropriate machine learning algorithm, such as a long short-term memory (LSTM) network, to train the model. The trained model is then stored for use in future predictions.
[1174] Generate and provide weather forecasts
[1175] When a user requests weather, the server uses a trained machine learning model to predict future weather conditions, including temperature, humidity, wind speed, air pressure, and weather conditions, and returns the forecast to the user.
[1176] Calculation and publication of prediction accuracy rate
[1177] The server compares the actual weather data with the forecast results, calculates the accuracy rate of the forecast, and stores the results in a database. The accuracy rate is then periodically calculated and made public on a website or other platform.
[1178] Collecting local weather data
[1179] The server receives local weather data sent by the user, which is also stored in a database and used to train the next machine learning model.
[1180] Emotion engine processing
[1181] The emotion engine installed on the server analyzes data and sensor information sent by the user to recognize the user's emotions. For example, an algorithm is used to determine emotions from text entered by the user, facial expressions acquired through a camera and microphone, and tone of voice. After the emotion is determined, the server adjusts the way the weather forecast is presented based on the emotional data. For example, if the user is feeling stressed, the server can display the weather forecast in friendlier language.
[1182] Terminal handling
[1183] Sending a weather request
[1184] Based on the user's input, the device sends a weather forecast request to the server, including location and date / time information.
[1185] Receiving and displaying prediction results
[1186] Once the forecast is received from the server, the device displays it to the user, including temperature, humidity, wind speed, air pressure, and weather conditions. Furthermore, the display method is customized based on the user's emotions.
[1187] Sending local weather data
[1188] The device sends the weather data entered by the user for the current location to the server, including temperature, humidity, wind speed, air pressure, and weather conditions.
[1189] User Action
[1190] Check the weather forecast
[1191] The user uses the terminal to request a weather forecast and check the returned forecast results.
[1192] Providing local weather data
[1193] The user inputs weather data for their current location into the device and sends it to the server. The user can also input their emotional state if desired, which may be collected automatically through the device's camera or microphone.
[1194] To give a specific example, when a user sends a request from their device asking for "the weather in Tokyo three days from now," the server that receives the request uses an AI model to generate a prediction and returns the result to the device: "Tokyo three days from now will be sunny, with a maximum temperature of 25 degrees and a minimum temperature of 17 degrees." The device then displays this prediction to the user. If the device determines that the user is feeling stressed, it adjusts the display method and displays a message that will help them relax.
[1195] When a user reports that the weather in their current location is cloudy and the temperature is 22 degrees, this data is sent to the server, which stores it in a database. This data is then used the next time the AI model is trained, improving its prediction accuracy.
[1196] The above is a specific embodiment of the present invention, which provides highly accurate and reliable weather forecasts and builds a system that utilizes user feedback and emotion data to continuously improve the accuracy of predictions and the user experience.
[1197] The processing flow will be explained below.
[1198] Step 1:
[1199] Collection and storage of historical data
[1200] The server periodically accesses the API of the weather data provider to obtain past weather data. For example, it obtains weather chart data from the previous day at midnight every day and stores detailed data such as the date, time, temperature, humidity, wind speed, air pressure, and weather conditions in a database.
[1201] Step 2:
[1202] Training a machine learning model
[1203] The server trains a machine learning model using historical weather data. Specifically, it preprocesses the dataset and splits it into training data and test data. It then uses machine learning algorithms such as long short-term memory (LSTM) networks to train the model. Once trained, the model is saved for use in making predictions.
[1204] Step 3:
[1205] Collecting user emotion data
[1206] The device collects the user's emotional data. For example, it uses the device's camera to read the user's facial expressions and uses an emotion recognition algorithm to determine the user's emotions. The user can also manually report their emotions. This data is temporarily stored on the device.
[1207] Step 4:
[1208] Sending a weather request
[1209] The user requests a weather forecast through the device. Specifically, the user inputs the weather forecast for a specific location and date and time using the application, and submits the request. At this time, the collected emotion data is also sent to the server.
[1210] Step 5:
[1211] Generate and provide weather forecasts
[1212] The server generates a weather forecast based on the received request. First, it uses the location and date / time information from the request to predict future weather using a trained machine learning model. Then it analyzes the user's emotional data and adjusts the way the forecast is presented. For example, if the user is feeling stressed, it will present the forecast with a friendly message to help them relax. The forecast is then returned to the device.
[1213] Step 6:
[1214] Receiving and displaying prediction results
[1215] The device receives the forecast results from the server and displays them to the user, including information on temperature, humidity, wind speed, air pressure, and weather conditions. The device also displays the results in a way that reflects the user's emotions.
[1216] Step 7:
[1217] Calculation and publication of prediction accuracy rate
[1218] The server compares the actual weather data with the forecast results to calculate the accuracy rate. Specifically, it compares previously generated forecast data with actual data to calculate accuracy, and stores the results in a database. This accuracy rate is periodically published on a website or within the application.
[1219] Step 8:
[1220] Sending local weather data
[1221] Users input their current location's weather data into their device and send it to the server. The data includes temperature, humidity, wind speed, air pressure, and weather conditions. The data is sent to the server and used to improve accuracy.
[1222] Step 9:
[1223] Local data storage and use
[1224] The server stores the received local weather data in a database, which is then used the next time the machine learning model is trained to improve its prediction accuracy.
[1225] This is the specific processing flow of the program. This process enables the server to provide highly accurate weather forecasts and present personalized weather information that takes the user's emotions into account. Furthermore, the collected local weather data and emotion data are used to continuously improve the accuracy of the model.
[1226] Example 2
[1227] 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."
[1228] Conventional weather forecasting systems often lack sufficient forecast accuracy and are unable to incorporate user feedback or emotions. This results in unreliable forecasts and a poor user experience. To address this issue, a system was needed that could use past weather data to make highly accurate forecasts and analyze user emotions to optimize the way information is provided.
[1229] 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.
[1230] In this invention, the server includes: means for collecting and storing past weather data; means for training a machine learning model using the collected weather data; means for predicting future weather using the trained machine learning model; means for providing the future forecast results based on a user request; means for calculating the accuracy rate of the forecast by comparing the provided forecast results with actual weather data; means for publishing the calculated accuracy rate; means for collecting local weather data from users and using it to improve the accuracy of the machine learning model; and means for adjusting the presentation method of the weather forecast based on the emotion analysis by the emotion engine, which includes an emotion engine for analyzing user emotions. This enables highly accurate weather forecasts and continuously improves the accuracy of predictions and the user experience by utilizing user feedback and emotion data.
[1231] "Past weather data" refers to meteorological information such as temperature, humidity, wind speed, air pressure, and weather conditions observed over a certain period of time in the past.
[1232] "Collection means" refers to a device or software that has the function of accessing the API of the weather data provision service and acquiring data.
[1233] "Storage means" refers to a device or software that has the function of storing collected data in a database.
[1234] A "machine learning model" refers to an algorithm that is trained using past data to predict future weather.
[1235] "Training tool" refers to the process or device that uses a dataset to train a machine learning model.
[1236] "Forecasting tool" refers to a device or software that uses trained machine learning models to estimate future weather conditions.
[1237] "Providing means" refers to a device or software that transmits predicted weather information in response to a request from a user.
[1238] "Accuracy rate calculation means" refers to a function for comparing the forecast results with actual weather data and evaluating the accuracy of the forecast.
[1239] "Publication means" refers to a device or software that has the function of making the calculated accuracy rate publicly available via a website or API.
[1240] "Local weather data" refers to weather information such as temperature, humidity, wind speed, air pressure, and weather conditions observed by the user at their current location.
[1241] "Emotion engine" refers to a device or software that has an algorithm for analyzing a user's emotions.
[1242] "Emotion analysis means" refers to a function that uses an emotion engine to determine emotions from a user's text, images, and voice.
[1243] "Presentation method adjustment means" refers to a function that changes the display and presentation method of the weather forecast based on the results of emotion analysis.
[1244] This invention is a system that collects and stores past weather data, trains a machine learning model, and generates and provides weather forecasts based on user requests. Furthermore, it publishes the accuracy rate of the forecast results and improves the forecast accuracy using local weather data collected from users. Furthermore, this invention incorporates an emotion engine that recognizes the user's emotions and adjusts the presentation of the weather forecast based on the user's emotions.
[1245] First, the server periodically accesses the API of a specific weather data provider to collect past weather data. This data includes date, time, temperature, humidity, wind speed, air pressure, and weather conditions. The collected data is retrieved using the Python requests library, formatted using the pandas library, and stored in a MySQL database. This allows for efficient management of large amounts of weather data over long periods of time.
[1246] Next, the server trains a machine learning model using the collected data. Specifically, it preprocesses the dataset and splits it into training data and test data. For data preprocessing, it uses the scikit-learn library to fill in NaN values and normalize the data. For training, it uses TensorFlow to build a long short-term memory (LSTM) network and train the model. For example, it sets the input shape of the LSTM model and trains it for 50 epochs. The trained model is saved for use in future weather forecasts.
[1247] When a user requests a weather forecast for a specific location and date and time, the device sends the request to the server as an HTTP POST request. For example, a request such as "Please tell me the weather in Tokyo three days from now" is sent to the server. The server receives the request and uses the trained LSTM model to predict future weather. The forecast results include temperature, humidity, wind speed, air pressure, and weather conditions, and this information is returned to the device. The device then displays the received forecast results in an easy-to-read format for the user.
[1248] The server also periodically compares the forecast results with actual weather data to calculate the accuracy rate of the forecast. The accuracy rate is calculated using parameters such as mean_absolute_error. The calculation results are stored in a database and made public via a website or API.
[1249] In addition, users can input their current weather data from their device and send it to the server. This data includes temperature, humidity, wind speed, air pressure, weather conditions, etc. The collected local weather data will be used in the next model training to improve forecast accuracy.
[1250] Additionally, the server is equipped with an emotion engine that analyzes emotions from text data sent by the user, as well as facial expressions and tone of voice captured through the camera and microphone. The TextBlob library can be used for emotion analysis. For example, if a user types "I'm feeling stressed right now," the emotional state is analyzed and determined to be stress. Based on the analysis results, the server adjusts the way the forecast is presented. For example, if the user is feeling stressed, the server will display a weather forecast in more friendly language.
[1251] As a specific example, if a user requests the device, "Please tell me the weather in Tokyo three days from now," the server will use the LSTM model to make a prediction and return a result such as, "Tokyo will be sunny three days from now, with a maximum temperature of 25 degrees and a minimum temperature of 17 degrees." The device will then display this result to the user. On the other hand, if the user reports, "The weather at my current location is cloudy, with a temperature of 22 degrees," this data will be sent to the server and stored in the database. This data will be used the next time the model is trained, contributing to improved prediction accuracy.
[1252] In this way, the present invention can provide highly accurate and reliable weather forecasts, and by leveraging user feedback and sentiment data, the system continuously improves the accuracy of the forecasts and the user experience.
[1253] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1254] Step 1:
[1255] Collection and storage of historical data
[1256] The server periodically accesses the API of the weather data provider to obtain past weather data. Specifically, it uses the Python requests library to collect data from the API.
[1257] (Input) API request and date / time filter
[1258] (Data processing) Convert the acquired data into a data frame using the pandas library, and supplement and normalize missing data.
[1259] (Output) Formatted data to store in the database
[1260] The formatted data is saved in a MySQL database.
[1261] Step 2:
[1262] Training a machine learning model
[1263] The server trains a machine learning model using the collected historical weather data, splitting the dataset into training and test data using a Python script, and preprocessing it using the scikit-learn library.
[1264] (Input) Historical weather data from a database
[1265] (Data processing) NaN value completion, data normalization, and splitting into training and test data
[1266] (Output) Dataset in a format suitable for LSTM models
[1267] Build and train a Long Short-Term Memory (LSTM) network using TensorFlow, then save the trained model.
[1268] Step 3:
[1269] Sending a weather request
[1270] The device sends the weather forecast request entered by the user to the server as an HTTP POST request, including location, date, and time information.
[1271] (Input) User-specified location and date / time information
[1272] (Data processing) Convert request data into JSON format
[1273] (Output) HTTP POST request to the server
[1274] For example, a user sends a request saying, "Tell me the weather in Tokyo three days from now."
[1275] Step 4:
[1276] Generate weather forecasts
[1277] The server analyzes the received request data and predicts future weather using a trained LSTM model.
[1278] (Input) Request data and trained model
[1279] (Data processing) Convert the request data into a format suitable for the model and perform predictions
[1280] (Output) Forecast results (temperature, humidity, wind speed, air pressure, weather conditions, etc.)
[1281] The prediction results are generated in JSON format and returned to the device.
[1282] Step 5:
[1283] Receiving and displaying prediction results
[1284] The terminal receives the prediction results from the server and displays them to the user. The prediction results are visually presented using a user-friendly GUI component.
[1285] (Input) Prediction result data from the server
[1286] (Data processing) Convert received data into an appropriate display format
[1287] (Output) Forecast results displayed to the user (maximum and minimum temperatures, weather conditions, etc.)
[1288] For example, it displays "Tokyo will be sunny in three days, with a maximum temperature of 25 degrees and a minimum temperature of 17 degrees."
[1289] Step 6:
[1290] Calculation and publication of prediction accuracy rate
[1291] The server compares the actual weather data with the forecast results and calculates the accuracy rate.
[1292] (Input) Forecast results and actual weather data
[1293] (Data processing) Calculate the error using methods such as mean_absolute_error
[1294] (Output) Calculated accuracy rate data
[1295] The accuracy rate is stored in a database and made public via a website or API.
[1296] Step 7:
[1297] Collecting local weather data
[1298] The user sends weather data for their current location from the device. For example, they input "The weather in my current location is cloudy, and the temperature is 22 degrees."
[1299] (Input) Local weather data observed by the user
[1300] (Data processing) Convert data into JSON format
[1301] (Output) HTTP POST request to the server
[1302] The server stores the received data in a database and uses it the next time the model is trained.
[1303] Step 8:
[1304] Emotion engine processing
[1305] The emotion engine installed on the server analyzes data sent by users and sensor information to recognize emotions. For example, it uses the TextBlob library to analyze emotions in text data.
[1306] (Input) Text sent by the user, camera footage, audio data, etc.
[1307] (Data processing) Emotion scoring of text, feature extraction and analysis of video and audio
[1308] (Output) Analyzed emotion data
[1309] Based on the results of the sentiment analysis, the server adjusts the way the predictions are presented, for example, if the user is feeling stressed, it will display a weather forecast in friendly language.
[1310] (Application example 2)
[1311] 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."
[1312] While conventional weather forecasting systems are excellent at collecting and forecasting weather data, they are not practical for actual business operations, especially food delivery, where weather conditions directly affect delivery efficiency and driver safety. Furthermore, they do not adjust service delivery methods based on the emotions of users and delivery personnel, preventing improvements in user satisfaction. Therefore, there is a need for a system that effectively utilizes weather information to optimize delivery operations and provide a comfortable experience for users and delivery personnel.
[1313] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1314] In this invention, the server includes means for collecting and storing past weather data, means for training a machine learning model using the collected weather data, means for predicting future weather using the trained machine learning model, means for providing the future forecast result based on a user request, means for calculating the accuracy rate of the forecast by comparing the provided forecast result with actual weather data, means for publishing the calculated accuracy rate, means for collecting local weather data from users and using it to improve the accuracy of the machine learning model, means for optimizing logistics routes based on weather conditions, and means for analyzing emotional data of users and delivery personnel and adjusting the service provision method based on the emotional data. This enables efficient delivery route selection based on weather information and personalized service provision based on the emotions of users and delivery personnel.
[1315] "Weather data" is information about weather conditions such as temperature, humidity, wind speed, air pressure and weather conditions.
[1316] A "machine learning model" is a collection of algorithms that use collected data to learn patterns and predict future situations.
[1317] "Means for predicting future weather" refers to processing means for calculating and predicting future weather conditions using a machine learning model.
[1318] "User request" refers to an inquiry or request for information that a user wants to know.
[1319] The "means for providing forecast results" is a processing means for displaying or notifying future weather forecast data to a user.
[1320] The "means for calculating the accuracy rate" is a processing means for comparing the predicted results with actual weather data and evaluating the accuracy of the prediction.
[1321] "Means for publishing accuracy rates" are processing means for publishing information about the accuracy of the calculated predictions.
[1322] "Local weather data" is weather information for the current location provided by the user.
[1323] The "means for optimizing logistics routes based on weather conditions" refers to a processing means for selecting the most efficient and safe delivery route using collected and predicted weather data.
[1324] "Means for analyzing emotional data" refers to processing means for recognizing and assessing the emotional state of the user and delivery participants.
[1325] The "means for adjusting the method of providing the service" refers to a processing means for changing and adjusting the content of the service based on the analyzed emotion data so that the user and delivery personnel can have a better experience.
[1326] The following describes in detail an embodiment of the present invention, showing the processing flow of the entire system involving the server, terminals, and users, as well as the respective hardware and software configurations.
[1327] Server Processing
[1328] Collection and storage of historical data
[1329] The server periodically accesses the API of the weather data provider to obtain past weather data. The obtained data includes information such as date and time, temperature, humidity, wind speed, air pressure, and weather conditions, and is stored in a database. This is done using Python and a REST API.
[1330] Training a machine learning model
[1331] The server uses the collected historical weather data to train a machine learning model. Specifically, it preprocesses the dataset and splits it into training and test data. It then uses an appropriate machine learning algorithm, such as a long short-term memory (LSTM) network, to train the model. Software used includes Keras and TensorFlow.
[1332] Generate and provide weather forecasts
[1333] When a user requests weather, the server uses a trained machine learning model to predict future weather conditions. The forecast includes temperature, humidity, wind speed, pressure, and weather conditions, and returns the results to the user. This process is also implemented in Python.
[1334] Calculation and publication of prediction accuracy rate
[1335] The server compares the actual weather data with the forecast results, calculates the accuracy rate of the forecast, and stores it in a database. This accuracy rate is calculated periodically and made public on a website or other platform.
[1336] Collecting local weather data
[1337] The server receives local weather data sent by the user and stores it in a database, which is also used to train the next machine learning model.
[1338] Emotion engine processing
[1339] The emotion engine installed on the server analyzes data and sensor information sent by the user to recognize the user's emotions. For example, an algorithm is used to determine emotions from text entered by the user, facial expressions acquired through the camera and microphone, and tone of voice. After the emotion is determined, the server adjusts the way the weather forecast is presented based on that emotional data. The software used includes an emotion analysis algorithm.
[1340] Optimize logistics routes based on weather conditions
[1341] The server calculates optimal logistics routes based on predicted weather data, improving delivery efficiency and driver safety.
[1342] Terminal handling
[1343] Sending a weather request
[1344] Based on the user's input, the device sends a weather forecast request to the server, including location and date / time information.
[1345] Receiving and displaying prediction results
[1346] Once the forecast is received from the server, the device displays it to the user, including temperature, humidity, wind speed, air pressure, and weather conditions. Furthermore, the display method is customized based on the user's emotions.
[1347] Sending local weather data
[1348] The device sends the weather data entered by the user for the current location to the server, including temperature, humidity, wind speed, air pressure, and weather conditions.
[1349] User Action
[1350] Check the weather forecast
[1351] The user uses the terminal to request a weather forecast and check the returned forecast results.
[1352] Providing local weather data
[1353] The user inputs weather data for their current location into the device and sends it to the server. The user can also input their emotional state if desired, which may be collected automatically through the device's camera or microphone.
[1354] Specific examples
[1355] When a user sends a request to know "the weather in Tokyo three days from now," the server uses an AI model to generate a prediction and returns the result to the device: "Tokyo will be sunny in three days, with a maximum temperature of 25 degrees and a minimum temperature of 17 degrees." The device then displays this prediction to the user. If the device determines that the user is feeling stressed, it adjusts the display method and displays a message to help the user relax.
[1356] Example prompts for generative AI models
[1357] The user requests "Weather in Tokyo 3 days from now." Please forecast the weather using a machine learning model based on past weather data. Also, since the user seems stressed, please display a message to help them relax.
[1358] This creates a system that provides highly accurate and reliable weather forecasts, while also leveraging user feedback and sentiment data to continuously improve the accuracy of predictions and the user experience.
[1359] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1360] Step 1:
[1361] Collection and storage of historical data
[1362] The server periodically accesses the API of the weather data provider to obtain past weather data such as date, time, temperature, humidity, wind speed, air pressure, weather conditions, etc. After receiving this data, the server stores it in a database.
[1363] Input: API response from weather data provider
[1364] Output: Stored historical weather data (database entries)
[1365] What it does: The server uses a Python script to make requests to the API and inserts the retrieved data into the database in JSON format.
[1366] Step 2:
[1367] Training a machine learning model
[1368] The server trains a machine learning model using the weather data collected in step 1. It preprocesses the data and splits it into training data and test data, then trains it with a long short-term memory (LSTM) network.
[1369] Input: Historical weather data (records from database)
[1370] Output: A trained machine learning model
[1371] What it does: The server preprocesses the data using Keras and TensorFlow, trains the model, and saves the training results.
[1372] Step 3:
[1373] Sending a weather request
[1374] The user inputs a weather forecast request for a specific location and date and time from the terminal, and the request is sent from the terminal to the server.
[1375] Input: User requests location and date
[1376] Output: Request data to the server
[1377] What happens: A user uses a smartphone or tablet to send a request through the application's UI.
[1378] Step 4:
[1379] Generate and provide weather forecasts
[1380] The server uses the trained machine learning model to predict future weather data based on the request received in step 3. It returns the prediction results to the user.
[1381] Input: User request, trained machine learning model
[1382] Output: Future weather forecast data (sent to device)
[1383] How it works: The server uses a Python script to run the model to make predictions and return the results to the device.
[1384] Step 5:
[1385] Calculation and publication of prediction accuracy rate
[1386] The server compares the forecast results with actual weather data and calculates the accuracy rate of the forecast. This accuracy rate is stored in a database and periodically made public.
[1387] Input: Forecast results, actual weather data
[1388] Output: Accuracy rate (stored in database), public information (website, etc.)
[1389] How it works: The server uses a Python script to calculate the accuracy rate and stores the results in a database and on a web server.
[1390] Step 6:
[1391] Sending local weather data
[1392] The user inputs the weather data for their current location into the terminal and sends it to the server.
[1393] Input: Weather data provided by the user (temperature, humidity, etc.)
[1394] Output: Weather data to the server
[1395] Specific behavior: The user enters data through the application and presses the submit button.
[1396] Step 7:
[1397] Emotion engine processing
[1398] The server analyzes the data sent by the user and the sensor information of the device to recognize the user's emotional state.
[1399] Input: User text input, camera footage, microphone audio
[1400] Output: Emotional state data
[1401] What happens: The server runs a sentiment analysis algorithm to determine the user's sentiment.
[1402] Step 8:
[1403] Optimize logistics routes based on weather conditions
[1404] The server calculates the optimal logistics route based on predicted weather data.
[1405] Input: predicted weather data, current route information
[1406] Output: Optimized logistics routes
[1407] Specific operation: The server runs an optimization algorithm to calculate the optimal route and send it to the delivery system.
[1408] Step 9:
[1409] Adapting service delivery based on sentiment data
[1410] The server adjusts the way the service is displayed and notification messages based on the emotional data.
[1411] Input: Emotion data, service content
[1412] Output: Coordinated service display and notification messages
[1413] Specific operation: The server analyzes the emotion data, determines the appropriate means of providing the service, and sends it to the terminal.
[1414] 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.
[1415] 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.
[1416] 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.
[1417] [Fourth embodiment]
[1418] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1419] 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.
[1420] 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).
[1421] 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.
[1422] 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.
[1423] 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).
[1424] 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.
[1425] 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.
[1426] 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.
[1427] 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.
[1428] 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.
[1429] 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.
[1430] 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."
[1431] The following describes in detail the mode for carrying out the present invention. The present invention is a system that collects and stores past weather data, trains a machine learning model, and generates and provides weather forecasts based on user requests. Furthermore, the accuracy rate of the forecast results is made public, and the accuracy of the forecasts is improved using local weather data collected from users.
[1432] Server Processing
[1433] Collection and storage of historical data
[1434] The server periodically accesses the API of the weather data provider to obtain past weather data, including the date, time, temperature, humidity, wind speed, air pressure, and weather conditions, and stores this data in a database.
[1435] Training a machine learning model
[1436] The server uses the collected historical weather data to train machine learning models, specifically using machine learning algorithms such as long short-term memory (LSTM) networks to learn weather patterns from the data.
[1437] Generate and provide weather forecasts
[1438] When a user requests weather, the server uses a trained machine learning model to predict future weather conditions, including temperature, humidity, wind speed, air pressure, and weather conditions, and returns the forecast to the user.
[1439] Calculation and publication of prediction accuracy rate
[1440] The server compares the actual weather data with the forecast results, calculates the accuracy rate of the forecast, and stores the results in a database. The accuracy rate is then periodically calculated and made public on a website or other platform.
[1441] Collecting local weather data
[1442] The server receives local weather data sent by the user, which is also stored in a database and used to train the next machine learning model.
[1443] Terminal handling
[1444] Sending a weather request
[1445] Based on the user's input, the device sends a weather forecast request to the server, including location and date / time information.
[1446] Receiving and displaying prediction results
[1447] Once the forecast is received from the server, the device displays it to the user, including information such as temperature, humidity, wind speed, air pressure, and weather conditions.
[1448] Sending local weather data
[1449] The device sends the weather data entered by the user for the current location to the server, including temperature, humidity, wind speed, air pressure, and weather conditions.
[1450] User Action
[1451] Check the weather forecast
[1452] The user uses the terminal to request a weather forecast and check the returned forecast results.
[1453] Providing local weather data
[1454] The user inputs weather data for their current location into the terminal and transmits it to the server.
[1455] To give a specific example, a user sends a request from their device asking for "the weather in Tokyo three days from now." The server that receives this request generates a prediction using an AI model and returns the result to the device: "Tokyo three days from now will be sunny, with a maximum temperature of 25 degrees and a minimum temperature of 17 degrees." The device that receives this prediction then displays the result to the user.
[1456] Additionally, when a user provides local weather data, for example by entering "current location is Osaka, weather is cloudy, temperature is 22 degrees" into the device, the data is sent to the server, which stores it in a database and uses it to train the next AI model.
[1457] The above is a specific embodiment of the present invention. In this way, a system is constructed that provides highly accurate and reliable weather forecasts and utilizes user feedback to improve prediction accuracy.
[1458] The processing flow will be explained below.
[1459] Step 1:
[1460] Collection of historical data
[1461] The server periodically accesses the API of the weather data service to obtain past weather data. Specifically, it sends an API request to obtain detailed data such as date and time, temperature, humidity, wind speed, air pressure, and weather conditions. This data is then automatically stored in a database.
[1462] Step 2:
[1463] Training a machine learning model
[1464] The server uses the collected historical weather data to train a machine learning model. Specifically, it preprocesses the dataset and splits it into training data and test data. It then uses an appropriate machine learning algorithm, such as a long short-term memory (LSTM) network, to train the model and find optimal parameters. The trained model is then stored for use in future predictions.
[1465] Step 3:
[1466] Sending a weather request
[1467] A user sends a weather forecast request from a device. Specifically, the user inputs through the device's application that they want to know the weather forecast for a specific location and date and time. The device then sends the request to the server.
[1468] Step 4:
[1469] Generate weather forecasts
[1470] The server predicts future weather based on the received user request. Specifically, it inputs the location and date and time of the user request into a machine learning model to generate forecast results (weather, temperature, humidity, wind speed, air pressure, etc.).
[1471] Step 5:
[1472] Response of prediction results
[1473] The server returns the generated prediction result to the user. Specifically, the prediction result is returned to the terminal that sent the request, and the terminal displays it to the user.
[1474] Step 6:
[1475] Calculating the accuracy rate of predictions
[1476] The server acquires and compares actual weather data with forecast data. Specifically, it periodically acquires actual weather data and compares it with forecast data generated in the past to calculate the accuracy rate. The calculation results are stored in a database.
[1477] Step 7:
[1478] Publication of accuracy rate
[1479] The server publishes the calculated accuracy rate, and provides statistical information on the accuracy rate to users on a website or within the app.
[1480] Step 8:
[1481] Local weather data collection
[1482] The user inputs weather data for their current location and sends it from the device to the server. Specifically, the user inputs temperature, humidity, wind speed, air pressure, weather conditions, etc. into the application, and the device sends the data to the server.
[1483] Step 9:
[1484] Local data storage and use
[1485] The server stores the received local weather data in a database, which is then used the next time the machine learning model is trained to improve its accuracy.
[1486] The above is the specific processing flow of the program. As a result, the system of the present invention can provide highly accurate weather forecasts and continuously improve the accuracy of predictions by utilizing user feedback.
[1487] Example 1
[1488] 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."
[1489] Modern weather forecasting systems are required to improve their forecast accuracy. In particular, it is important to provide more reliable weather forecasts by effectively utilizing past weather data and incorporating local weather data collected from users. In addition, it is necessary to increase transparency and improve reliability by disclosing the accuracy rate of forecasts to users.
[1490] 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.
[1491] In this invention, the server includes means for collecting and storing past weather data, means for training a machine learning model using the collected weather data, means for predicting future weather using the trained machine learning model, means for providing the future forecast results based on a user request, means for calculating the accuracy rate of the forecast by comparing the provided forecast results with actual weather data, means for publishing the calculated accuracy rate, means for collecting local weather data from the user and using it to improve the accuracy of the machine learning model, and means for the terminal to display the forecast results to the user. This makes it possible to effectively utilize past weather data and local weather data to provide highly accurate and reliable weather forecasts.
[1492] "Past weather data" refers to information such as past dates and times, temperatures, humidity, wind speed, air pressure, and weather conditions that are necessary to make predictions.
[1493] "Collection means" refers to the method or system for obtaining data from the API of a weather data provision service, etc.
[1494] "Storage means" refers to a method or system for storing collected data in a storage device such as a database.
[1495] A "machine learning model" refers to an algorithm or network that uses past data to learn weather patterns and predict future weather.
[1496] "Training method" refers to a method or system for training a machine learning model using collected weather data.
[1497] "Forecasting tool" refers to a method or system for predicting future weather using a trained machine learning model.
[1498] A "request" refers to a request for a prediction sent by a user.
[1499] The "provision means" refers to a method or system for returning the prediction results generated based on the user's request to the user.
[1500] "Accuracy rate" refers to an index that shows the degree of agreement between the forecast results and actual weather data.
[1501] "Calculation means" refers to a method or system for comparing the provided forecast results with actual weather data and calculating the accuracy rate.
[1502] "Disclosure means" refers to a method or system for informing users of the calculated accuracy rate.
[1503] "Terminal" refers to the equipment or device through which a user sends a request and receives and displays prediction results.
[1504] "Local weather data" refers to information such as temperature, humidity, wind speed, air pressure, and weather conditions observed by the user at their current location.
[1505] "Collected local data" refers to weather data provided by the user.
[1506] A "long short-term memory network" is a type of machine learning algorithm used to learn patterns in time series data.
[1507] MODE FOR CARRYING OUT THE INVENTION
[1508] This system collects and stores past weather data, trains a machine learning model, and generates and provides weather forecasts based on user requests. Furthermore, it publishes the accuracy rate of the forecast results and uses local weather data collected from users to improve the forecast accuracy.
[1509] Hardware and Software Configuration
[1510] Server Configuration
[1511] The server can run on a high performance computing (HPC) system or a cloud-based virtual machine (VM) environment. The server includes the following key software:
[1512] Operating system: Linux
[1513] Database management system: MySQL or PostgreSQL
[1514] Programming language: Python
[1515] Machine learning library: TensorFlow or PyTorch
[1516] Device configuration
[1517] A terminal is a device operated by a user, such as a smartphone, tablet, or personal computer. The terminal has an internet connection and runs applications, including:
[1518] Operating system: iOS, Android or Windows
[1519] API Client: HTTP client library (e.g. axios, fetch)
[1520] Server Processing
[1521] The server periodically accesses the API of a weather data provider to obtain past weather data such as date and time, temperature, humidity, wind speed, air pressure, and weather conditions. The obtained data is stored in a MySQL or PostgreSQL database. This data is used to train machine learning models such as long short-term memory (LSTM) networks using the TensorFlow or PyTorch machine learning libraries built in Python.
[1522] The trained model predicts future weather in response to user requests. For example, if a user requests, "I want to know the weather in Tokyo three days from now," the server generates a weather forecast based on this request and replies with the result, "Tokyo three days from now will be sunny, with a maximum temperature of 25 degrees and a minimum temperature of 17 degrees."
[1523] Terminal handling
[1524] When a user inputs a request into the device, the device uses an HTTP client library to send the request to the server. The forecast results received from the server are analyzed and displayed by the device. For example, if a user inputs "Weather in Tokyo in 3 days," the device will return the forecast results, "Sunny, maximum temperature 25 degrees, minimum temperature 17 degrees," and display them to the user.
[1525] User Roles
[1526] The user inputs a request into the device and checks the forecast results returned by the server. The user also inputs weather data for their current location into the device and sends it to the server. For example, by inputting "Current location: Osaka, Weather: Cloudy, Temperature: 22 degrees," this data is sent to the server and used for training the next machine learning model.
[1527] Specific examples
[1528] Requesting weather forecasts and receiving forecast results
[1529] A user sends a request from their device to find out "the weather in Tokyo three days from now." The server that receives this request generates a prediction using an AI model and returns the result to the device: "Tokyo three days from now will be sunny, with a maximum temperature of 25 degrees and a minimum temperature of 17 degrees." The device then displays this prediction to the user.
[1530] Providing local weather data
[1531] When a user provides local weather data, for example by entering "current location is Osaka, weather is cloudy, temperature is 22 degrees" into the device, the data is sent to the server, which stores it in a database and uses it to train the next AI model.
[1532] This system can provide highly accurate and reliable weather forecasts, and can utilize user feedback to improve the accuracy of the forecasts.
[1533] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1534] Step 1:
[1535] The server accesses the API of the weather data provider service to obtain past weather data such as date and time, temperature, humidity, wind speed, air pressure, and weather conditions. The obtained data is received in JSON format. This inputs the past weather data to the server. The server parses the obtained JSON format data and inserts it into the corresponding database table. The parsed data is saved in the database.
[1536] (Input: Past weather data API response (JSON format) / Output: Weather data stored in the database)
[1537] Step 2:
[1538] The server uses the historical weather data stored in the database to train a machine learning model using the Python library TensorFlow or PyTorch. It uses a long short-term memory (LSTM) network and provides five years of data as input. The server trains the data through the LSTM network, and the trained model is output.
[1539] (Input: Historical weather data retrieved from a database / Output: Trained machine learning model)
[1540] Step 3:
[1541] The user inputs a request such as "Weather in Tokyo in three days" into the terminal. The terminal sends this request to the server using the HTTP protocol. The request includes location and date / time information and is input to the server.
[1542] (Input: User's weather forecast request (location and date / time) / Output: API request to the server)
[1543] Step 4:
[1544] The server generates a weather forecast based on a user request using the stored weather data and a trained machine learning model. For example, for a request such as "Tokyo, three days later," the server provides input data to the machine learning model and generates a forecast result such as "sunny, maximum temperature 25 degrees, minimum temperature 17 degrees." The forecast result is formatted in JSON format and returned as an API response.
[1545] (Input: User request, trained machine learning model / Output: Weather forecast results (JSON format))
[1546] Step 5:
[1547] The device analyzes the JSON formatted forecast results received from the server and displays them to the user. Specifically, the analyzed data is displayed on the screen, and the user is notified that "Tokyo will be sunny in three days, with a maximum temperature of 25 degrees and a minimum temperature of 17 degrees."
[1548] (Input: API response from the server (forecast result) / Output: Weather forecast displayed to the user)
[1549] Step 6:
[1550] The user inputs the weather data for their current location into the device and sends it to the server. For example, by inputting "Current location: Osaka, Weather: Cloudy, Temperature: 22 degrees", this data is sent to the server. The data is input from the device to the server.
[1551] (Input: Input of local weather data by the user / Output: Sending data to the server)
[1552] Step 7:
[1553] The server stores the local weather data sent by the user in a database, analyzes the received data, and inserts it into the corresponding database table. This data is used to train the next machine learning model.
[1554] (Input: Local weather data from the user / Output: Local weather data stored in the database)
[1555] Step 8:
[1556] The server compares past forecasts with actual weather data to calculate the accuracy rate. For example, it compares forecasts from the past week with actual data and calculates the percentage of accurate temperature predictions. The calculated accuracy rate is stored in a database.
[1557] (Input: Past forecast results, actual weather data / Output: Calculated accuracy rate)
[1558] Step 9:
[1559] The server publishes the calculated accuracy rate on a website, etc. Specifically, it updates a page that displays the accuracy rate in HTML format and informs users of the prediction accuracy.
[1560] (Input: Calculated accuracy rate / Output: Accuracy rate published on the website)
[1561] The above is the specific processing flow of the program of this system.
[1562] (Application example 1)
[1563] 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."
[1564] Conventional weather forecasting systems have the drawback of only providing users with forecast results, without providing any additional information or services. In particular, they are inadequate in addressing the impact of weather conditions on daily life. For example, they lack assistance in selecting appropriate foods and drinks on bad weather or extremely hot days. Furthermore, there are limited means to improve the accuracy of the system using user feedback. Therefore, a new weather forecasting system that can provide added value to users is needed.
[1565] 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.
[1566] In this invention, the server includes means for collecting and storing past weather data, means for training a machine learning model using the collected weather data, and means for predicting future weather using the trained machine learning model. This includes means for providing future forecast results based on a user request, means for calculating the accuracy rate of the forecast by comparing the provided forecast results with actual weather data, means for publishing the calculated accuracy rate, means for collecting local weather data from the user and using it to improve the accuracy of the machine learning model, and means for suggesting optimal foods to the user based on the weather forecast. This makes it possible to provide the user with highly accurate and reliable weather forecasts and to suggest optimal foods and beverages suited to the weather conditions of the day.
[1567] "Past weather data" refers to weather information such as temperature, humidity, wind speed, air pressure, and weather conditions recorded in the past.
[1568] A "machine learning model" is an algorithm or system that learns from past data and makes predictions and classifications based on new data.
[1569] A "user request" is a request for a weather forecast based on a user-specified location and date and time.
[1570] "Prediction results" refer to future weather information generated by machine learning models.
[1571] The "accuracy rate" is an indicator that shows how closely the forecast results match the actual weather data.
[1572] "Local weather data" refers to real-time weather information such as temperature, humidity, wind speed, air pressure, and weather conditions at a specific location and time.
[1573] "Accuracy improvement" refers to data collection and algorithm improvements to improve the predictive accuracy of machine learning models.
[1574] "Optimal food suggestions" refers to recommending foods and drinks to the user that suit the weather conditions at the time based on the weather forecast.
[1575] The following describes in detail the mode for carrying out the present invention. The present invention is a system that collects and stores past weather data, trains a machine learning model, and generates and provides weather forecasts based on user requests. Furthermore, the system publishes the accuracy rate of the forecast results and improves the accuracy of the forecasts using local weather data collected from users. Additionally, the system includes a function that suggests optimal foods to users based on the weather forecast.
[1576] Server Processing
[1577] Collection and storage of historical data
[1578] The server uses an API to access a weather data provider and periodically retrieves past weather data. This data includes the date, time, temperature, humidity, wind speed, air pressure, and weather conditions, and the retrieved data is stored in a database. The specific API name used is WeatherAPI.
[1579] Training a machine learning model
[1580] The server uses collected historical weather data to learn weather patterns using machine learning algorithms such as linear regression and long short-term memory (LSTM) networks, for example, using Python machine learning libraries such as scikit-learn and TensorFlow.
[1581] Generate and provide weather forecasts
[1582] When a user requests weather, the server uses a trained machine learning model to predict future weather conditions, including temperature, humidity, wind speed, air pressure, and weather conditions, and returns the forecast to the user.
[1583] Calculation and publication of prediction accuracy rate
[1584] The server compares the actual weather data with the forecast results, calculates the accuracy rate of the forecast, and stores the results in a database. The accuracy rate is then periodically calculated and made public on a website or other platform.
[1585] Collecting local weather data
[1586] The server receives local weather data sent by the user, which is also stored in a database and used to train the next machine learning model.
[1587] Recommendations for the best foods
[1588] Based on the weather forecast data, the server will suggest food and drink options to the user that best fit the weather conditions of the day, for example, hot soup or curry on a rainy day, or cold salad or ice cream on a hot day, using a weather-based food suggestion algorithm, as shown in the Python code example.
[1589] Terminal handling
[1590] Sending a weather request
[1591] Based on the user's input, the device sends a weather forecast request to the server, including location and date / time information.
[1592] Receiving and displaying prediction results
[1593] Once the forecast is received from the server, the device displays it to the user, including information such as temperature, humidity, wind speed, air pressure, and weather conditions. It also suggests the best foods and drinks to eat based on the weather forecast.
[1594] Sending local weather data
[1595] The device sends the weather data entered by the user for the current location to the server, including temperature, humidity, wind speed, air pressure, and weather conditions.
[1596] User Action
[1597] Check the weather forecast
[1598] Users can use the device to request a weather forecast, view the forecast results, and find out the best food and drink options based on the weather conditions for that day.
[1599] Providing local weather data
[1600] The user inputs weather data for their current location into the device and sends it to the server. For example, they input information such as "Current location is Tokyo, weather is sunny, temperature is 25 degrees."
[1601] As a specific example, a user requests "the weather in Tokyo three days from now." The server that receives this request uses a machine learning model to make a prediction and returns the result to the device: "Tokyo will be sunny in three days, with a maximum temperature of 25 degrees and a minimum temperature of 17 degrees." The device that receives this displays this prediction result along with a food suggestion such as "We recommend a cold salad to match the weather three days from now."
[1602] Example prompts to be input to the generative AI model
[1603] "Get the past 30 days of weather data for Tokyo, train a machine learning model to predict the most popular food for that day, and make food suggestions based on the current weather."
[1604] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1605] Step 1:
[1606] Collecting and storing historical weather data
[1607] The server periodically accesses a weather data provider through an API (for example, WeatherAPI) to obtain past weather data. The input is data such as temperature, humidity, wind speed, air pressure, and weather conditions obtained from the API. This data is then stored in a database. Specifically, a query is executed and the obtained data is inserted into a relational database such as MySQL.
[1608] Step 2:
[1609] Training a machine learning model
[1610] The server uses the stored historical weather data to train the machine learning model. The input is historical weather data extracted from the database. The data is taken and trained using Python libraries such as scikit-learn and TensorFlow, applying linear regression and long short-term memory (LSTM) network algorithms. The output is a trained machine learning model.
[1611] Step 3:
[1612] Generate and provide weather forecasts
[1613] When a request is sent from a user, the server uses a trained machine learning model to predict future weather. The input is the location and date and time information specified by the user. The request is received, input into the model, and a prediction is made. The prediction result includes temperature, humidity, wind speed, air pressure, weather conditions, etc., and is returned to the user. The output is the prediction result, which is sent to the terminal.
[1614] Step 4:
[1615] Calculation and publication of prediction accuracy rate
[1616] The server compares the actual weather data with the forecast results and calculates the accuracy rate of the forecast. The input is the actual weather data and the forecast results. The actual weather data is retrieved from the database and compared with the forecast data to calculate the accuracy rate. The calculated accuracy rate is saved in the database and periodically published on a website, etc. The output is the calculated accuracy rate.
[1617] Step 5:
[1618] Collecting local weather data
[1619] The server receives local weather data sent by the user. The input is the weather data for the user's current location, including temperature, humidity, wind speed, air pressure, and weather conditions. The received data is stored in a database and used to train the next machine learning model. Specifically, the data is POSTed to the server using an API, and then inserted into the database on the server side.
[1620] Step 6:
[1621] Recommendations for the best foods
[1622] The server uses weather forecast data to suggest foods and drinks that are best suited to the weather conditions of the day to the user. The input is weather forecast data and the user's location information. A trained machine learning model is used to suggest foods based on the current weather conditions. The output is the suggested foods and drinks, which are sent to the device. Specifically, an algorithm is used to analyze the relationship between weather data and foods, and the results are returned to the user's device.
[1623] Step 7:
[1624] Sending a weather request
[1625] The device sends a weather forecast request to the server based on the user's input. The input is the location and date and time information specified by the user. The request is sent to the server using the HTTP protocol as a GET request. The output is the request sent to the server and awaits the receipt of the forecast result.
[1626] Step 8:
[1627] Receiving and displaying prediction results
[1628] When the device receives the prediction results from the server, it displays them to the user. The input is the prediction results and food suggestions returned from the server. The displayed information includes temperature, humidity, wind speed, air pressure, weather conditions, and suggested foods and drinks. Specifically, the information is rendered in the user interface using a display template.
[1629] Step 9:
[1630] Sending local weather data
[1631] The device sends the weather data for the current location entered by the user to the server. The input is information provided by the user, such as temperature, humidity, wind speed, pressure, and weather conditions. This is sent to the server via an HTTP POST request, ready to be stored. The output is the data sent to the server.
[1632] 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.
[1633] The following describes in detail the embodiments of the present invention. The present invention is a system that collects and stores past weather data, trains a machine learning model, and generates and provides weather forecasts based on user requests. Furthermore, the system publishes the accuracy rate of the forecast results and improves the accuracy of the forecasts using local weather data collected from users. Furthermore, the present invention incorporates an emotion engine that recognizes the user's emotions and adjusts the presentation of the weather forecast based on the user's emotions.
[1634] Server Processing
[1635] Collection and storage of historical data
[1636] The server periodically accesses the API of the weather data provider to obtain past weather data, including the date, time, temperature, humidity, wind speed, air pressure, and weather conditions, and stores this data in a database.
[1637] Training a machine learning model
[1638] The server uses the collected historical weather data to train a machine learning model. Specifically, it preprocesses the dataset and splits it into training and test data. It then uses an appropriate machine learning algorithm, such as a long short-term memory (LSTM) network, to train the model. The trained model is then stored for use in future predictions.
[1639] Generate and provide weather forecasts
[1640] When a user requests weather, the server uses a trained machine learning model to predict future weather conditions, including temperature, humidity, wind speed, air pressure, and weather conditions, and returns the forecast to the user.
[1641] Calculation and publication of prediction accuracy rate
[1642] The server compares the actual weather data with the forecast results, calculates the accuracy rate of the forecast, and stores the results in a database. The accuracy rate is then periodically calculated and made public on a website or other platform.
[1643] Collecting local weather data
[1644] The server receives local weather data sent by the user, which is also stored in a database and used to train the next machine learning model.
[1645] Emotion engine processing
[1646] The emotion engine installed on the server analyzes data and sensor information sent by the user to recognize the user's emotions. For example, an algorithm is used to determine emotions from text entered by the user, facial expressions acquired through a camera and microphone, and tone of voice. After the emotion is determined, the server adjusts the way the weather forecast is presented based on the emotional data. For example, if the user is feeling stressed, the server can display the weather forecast in friendlier language.
[1647] Terminal handling
[1648] Sending a weather request
[1649] Based on the user's input, the device sends a weather forecast request to the server, including location and date / time information.
[1650] Receiving and displaying prediction results
[1651] Once the forecast is received from the server, the device displays it to the user, including temperature, humidity, wind speed, air pressure, and weather conditions. Furthermore, the display method is customized based on the user's emotions.
[1652] Sending local weather data
[1653] The device sends the weather data entered by the user for the current location to the server, including temperature, humidity, wind speed, air pressure, and weather conditions.
[1654] User Action
[1655] Check the weather forecast
[1656] The user uses the terminal to request a weather forecast and check the returned forecast results.
[1657] Providing local weather data
[1658] The user inputs weather data for their current location into the device and sends it to the server. The user can also input their emotional state if desired, which may be collected automatically through the device's camera or microphone.
[1659] To give a specific example, when a user sends a request from their device asking for "the weather in Tokyo three days from now," the server that receives the request uses an AI model to generate a prediction and returns the result to the device: "Tokyo three days from now will be sunny, with a maximum temperature of 25 degrees and a minimum temperature of 17 degrees." The device then displays this prediction to the user. If the device determines that the user is feeling stressed, it adjusts the display method and displays a message that will help them relax.
[1660] When a user reports that the weather in their current location is cloudy and the temperature is 22 degrees, this data is sent to the server, which stores it in a database. This data is then used the next time the AI model is trained, improving its prediction accuracy.
[1661] The above is a specific embodiment of the present invention, which provides highly accurate and reliable weather forecasts and builds a system that utilizes user feedback and emotion data to continuously improve the accuracy of predictions and the user experience.
[1662] The processing flow will be explained below.
[1663] Step 1:
[1664] Collection and storage of historical data
[1665] The server periodically accesses the API of the weather data provider to obtain past weather data. For example, it obtains weather chart data from the previous day at midnight every day and stores detailed data such as the date, time, temperature, humidity, wind speed, air pressure, and weather conditions in a database.
[1666] Step 2:
[1667] Training a machine learning model
[1668] The server trains a machine learning model using historical weather data. Specifically, it preprocesses the dataset and splits it into training data and test data. It then uses machine learning algorithms such as long short-term memory (LSTM) networks to train the model. Once trained, the model is saved for use in making predictions.
[1669] Step 3:
[1670] Collecting user emotion data
[1671] The device collects the user's emotional data. For example, it uses the device's camera to read the user's facial expressions and uses an emotion recognition algorithm to determine the user's emotions. The user can also manually report their emotions. This data is temporarily stored on the device.
[1672] Step 4:
[1673] Sending a weather request
[1674] The user requests a weather forecast through the device. Specifically, the user inputs the weather forecast for a specific location and date and time using the application, and submits the request. At this time, the collected emotion data is also sent to the server.
[1675] Step 5:
[1676] Generate and provide weather forecasts
[1677] The server generates a weather forecast based on the received request. First, it uses the location and date / time information from the request to predict future weather using a trained machine learning model. Then it analyzes the user's emotional data and adjusts the way the forecast is presented. For example, if the user is feeling stressed, it will present the forecast with a friendly message to help them relax. The forecast is then returned to the device.
[1678] Step 6:
[1679] Receiving and displaying prediction results
[1680] The device receives the forecast results from the server and displays them to the user, including information on temperature, humidity, wind speed, air pressure, and weather conditions. The device also displays the results in a way that reflects the user's emotions.
[1681] Step 7:
[1682] Calculation and publication of prediction accuracy rate
[1683] The server compares the actual weather data with the forecast results to calculate the accuracy rate. Specifically, it compares previously generated forecast data with actual data to calculate accuracy, and stores the results in a database. This accuracy rate is periodically published on a website or within the application.
[1684] Step 8:
[1685] Sending local weather data
[1686] Users input their current location's weather data into their device and send it to the server. The data includes temperature, humidity, wind speed, air pressure, and weather conditions. The data is sent to the server and used to improve accuracy.
[1687] Step 9:
[1688] Local data storage and use
[1689] The server stores the received local weather data in a database, which is then used the next time the machine learning model is trained to improve its prediction accuracy.
[1690] This is the specific processing flow of the program. This process enables the server to provide highly accurate weather forecasts and present personalized weather information that takes the user's emotions into account. Furthermore, the collected local weather data and emotion data are used to continuously improve the accuracy of the model.
[1691] Example 2
[1692] 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."
[1693] Conventional weather forecasting systems often lack sufficient forecast accuracy and are unable to incorporate user feedback or emotions. This results in unreliable forecasts and a poor user experience. To address this issue, a system was needed that could use past weather data to make highly accurate forecasts and analyze user emotions to optimize the way information is provided.
[1694] 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.
[1695] In this invention, the server includes: means for collecting and storing past weather data; means for training a machine learning model using the collected weather data; means for predicting future weather using the trained machine learning model; means for providing the future forecast results based on a user request; means for calculating the accuracy rate of the forecast by comparing the provided forecast results with actual weather data; means for publishing the calculated accuracy rate; means for collecting local weather data from users and using it to improve the accuracy of the machine learning model; and means for adjusting the presentation method of the weather forecast based on the emotion analysis by the emotion engine, which includes an emotion engine for analyzing user emotions. This enables highly accurate weather forecasts and continuously improves the accuracy of predictions and the user experience by utilizing user feedback and emotion data.
[1696] "Past weather data" refers to meteorological information such as temperature, humidity, wind speed, air pressure, and weather conditions observed over a certain period of time in the past.
[1697] "Collection means" refers to a device or software that has the function of accessing the API of the weather data provision service and acquiring data.
[1698] "Storage means" refers to a device or software that has the function of storing collected data in a database.
[1699] A "machine learning model" refers to an algorithm that is trained using past data to predict future weather.
[1700] "Training tool" refers to the process or device that uses a dataset to train a machine learning model.
[1701] "Forecasting tool" refers to a device or software that uses trained machine learning models to estimate future weather conditions.
[1702] "Providing means" refers to a device or software that transmits predicted weather information in response to a request from a user.
[1703] "Accuracy rate calculation means" refers to a function for comparing the forecast results with actual weather data and evaluating the accuracy of the forecast.
[1704] "Publication means" refers to a device or software that has the function of making the calculated accuracy rate publicly available via a website or API.
[1705] "Local weather data" refers to weather information such as temperature, humidity, wind speed, air pressure, and weather conditions observed by the user at their current location.
[1706] "Emotion engine" refers to a device or software that has an algorithm for analyzing a user's emotions.
[1707] "Emotion analysis means" refers to a function that uses an emotion engine to determine emotions from a user's text, images, and voice.
[1708] "Presentation method adjustment means" refers to a function that changes the display and presentation method of the weather forecast based on the results of emotion analysis.
[1709] This invention is a system that collects and stores past weather data, trains a machine learning model, and generates and provides weather forecasts based on user requests. Furthermore, it publishes the accuracy rate of the forecast results and improves the forecast accuracy using local weather data collected from users. Furthermore, this invention incorporates an emotion engine that recognizes the user's emotions and adjusts the presentation of the weather forecast based on the user's emotions.
[1710] First, the server periodically accesses the API of a specific weather data provider to collect past weather data. This data includes date, time, temperature, humidity, wind speed, air pressure, and weather conditions. The collected data is retrieved using the Python requests library, formatted using the pandas library, and stored in a MySQL database. This allows for efficient management of large amounts of weather data over long periods of time.
[1711] Next, the server trains a machine learning model using the collected data. Specifically, it preprocesses the dataset and splits it into training data and test data. For data preprocessing, it uses the scikit-learn library to fill in NaN values and normalize the data. For training, it uses TensorFlow to build a long short-term memory (LSTM) network and train the model. For example, it sets the input shape of the LSTM model and trains it for 50 epochs. The trained model is saved for use in future weather forecasts.
[1712] When a user requests a weather forecast for a specific location and date and time, the device sends the request to the server as an HTTP POST request. For example, a request such as "Please tell me the weather in Tokyo three days from now" is sent to the server. The server receives the request and uses the trained LSTM model to predict future weather. The forecast results include temperature, humidity, wind speed, air pressure, and weather conditions, and this information is returned to the device. The device then displays the received forecast results in an easy-to-read format for the user.
[1713] The server also periodically compares the forecast results with actual weather data to calculate the accuracy rate of the forecast. The accuracy rate is calculated using parameters such as mean_absolute_error. The calculation results are stored in a database and made public via a website or API.
[1714] In addition, users can input their current weather data from their device and send it to the server. This data includes temperature, humidity, wind speed, air pressure, weather conditions, etc. The collected local weather data will be used in the next model training to improve forecast accuracy.
[1715] Additionally, the server is equipped with an emotion engine that analyzes emotions from text data sent by the user, as well as facial expressions and tone of voice captured through the camera and microphone. The TextBlob library can be used for emotion analysis. For example, if a user types "I'm feeling stressed right now," the emotional state is analyzed and determined to be stress. Based on the analysis results, the server adjusts the way the forecast is presented. For example, if the user is feeling stressed, the server will display a weather forecast in more friendly language.
[1716] As a specific example, if a user requests the device, "Please tell me the weather in Tokyo three days from now," the server will use the LSTM model to make a prediction and return a result such as, "Tokyo will be sunny three days from now, with a maximum temperature of 25 degrees and a minimum temperature of 17 degrees." The device will then display this result to the user. On the other hand, if the user reports, "The weather at my current location is cloudy, with a temperature of 22 degrees," this data will be sent to the server and stored in the database. This data will be used the next time the model is trained, contributing to improved prediction accuracy.
[1717] In this way, the present invention can provide highly accurate and reliable weather forecasts, and by leveraging user feedback and sentiment data, the system continuously improves the accuracy of the forecasts and the user experience.
[1718] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1719] Step 1:
[1720] Collection and storage of historical data
[1721] The server periodically accesses the API of the weather data provider to obtain past weather data. Specifically, it uses the Python requests library to collect data from the API.
[1722] (Input) API request and date / time filter
[1723] (Data processing) Convert the acquired data into a data frame using the pandas library, and supplement and normalize missing data.
[1724] (Output) Formatted data to store in the database
[1725] The formatted data is saved in a MySQL database.
[1726] Step 2:
[1727] Training a machine learning model
[1728] The server trains a machine learning model using the collected historical weather data, splitting the dataset into training and test data using a Python script, and preprocessing it using the scikit-learn library.
[1729] (Input) Historical weather data from a database
[1730] (Data processing) NaN value completion, data normalization, and splitting into training and test data
[1731] (Output) Dataset in a format suitable for LSTM models
[1732] Build and train a Long Short-Term Memory (LSTM) network using TensorFlow, then save the trained model.
[1733] Step 3:
[1734] Sending a weather request
[1735] The device sends the weather forecast request entered by the user to the server as an HTTP POST request, including location, date, and time information.
[1736] (Input) User-specified location and date / time information
[1737] (Data processing) Convert request data into JSON format
[1738] (Output) HTTP POST request to the server
[1739] For example, a user sends a request saying, "Tell me the weather in Tokyo three days from now."
[1740] Step 4:
[1741] Generate weather forecasts
[1742] The server analyzes the received request data and predicts future weather using a trained LSTM model.
[1743] (Input) Request data and trained model
[1744] (Data processing) Convert the request data into a format suitable for the model and perform predictions
[1745] (Output) Forecast results (temperature, humidity, wind speed, air pressure, weather conditions, etc.)
[1746] The prediction results are generated in JSON format and returned to the device.
[1747] Step 5:
[1748] Receiving and displaying prediction results
[1749] The terminal receives the prediction results from the server and displays them to the user. The prediction results are visually presented using a user-friendly GUI component.
[1750] (Input) Prediction result data from the server
[1751] (Data processing) Convert received data into an appropriate display format
[1752] (Output) Forecast results displayed to the user (maximum and minimum temperatures, weather conditions, etc.)
[1753] For example, it displays "Tokyo will be sunny in three days, with a maximum temperature of 25 degrees and a minimum temperature of 17 degrees."
[1754] Step 6:
[1755] Calculation and publication of prediction accuracy rate
[1756] The server compares the actual weather data with the forecast results and calculates the accuracy rate.
[1757] (Input) Forecast results and actual weather data
[1758] (Data processing) Calculate the error using methods such as mean_absolute_error
[1759] (Output) Calculated accuracy rate data
[1760] The accuracy rate is stored in a database and made public via a website or API.
[1761] Step 7:
[1762] Collecting local weather data
[1763] The user sends weather data for their current location from the device. For example, they input "The weather in my current location is cloudy, and the temperature is 22 degrees."
[1764] (Input) Local weather data observed by the user
[1765] (Data processing) Convert data into JSON format
[1766] (Output) HTTP POST request to the server
[1767] The server stores the received data in a database and uses it the next time the model is trained.
[1768] Step 8:
[1769] Emotion engine processing
[1770] The emotion engine installed on the server analyzes data sent by users and sensor information to recognize emotions. For example, it uses the TextBlob library to analyze emotions in text data.
[1771] (Input) Text sent by the user, camera footage, audio data, etc.
[1772] (Data processing) Emotion scoring of text, feature extraction and analysis of video and audio
[1773] (Output) Analyzed emotion data
[1774] Based on the results of the sentiment analysis, the server adjusts the way the predictions are presented, for example, if the user is feeling stressed, it will display a weather forecast in friendly language.
[1775] (Application example 2)
[1776] 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."
[1777] While conventional weather forecasting systems are excellent at collecting and forecasting weather data, they are not practical for actual business operations, especially food delivery, where weather conditions directly affect delivery efficiency and driver safety. Furthermore, they do not adjust service delivery methods based on the emotions of users and delivery personnel, preventing improvements in user satisfaction. Therefore, there is a need for a system that effectively utilizes weather information to optimize delivery operations and provide a comfortable experience for users and delivery personnel.
[1778] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1779] In this invention, the server includes means for collecting and storing past weather data, means for training a machine learning model using the collected weather data, means for predicting future weather using the trained machine learning model, means for providing the future forecast result based on a user request, means for calculating the accuracy rate of the forecast by comparing the provided forecast result with actual weather data, means for publishing the calculated accuracy rate, means for collecting local weather data from users and using it to improve the accuracy of the machine learning model, means for optimizing logistics routes based on weather conditions, and means for analyzing emotional data of users and delivery personnel and adjusting the service provision method based on the emotional data. This enables efficient delivery route selection based on weather information and personalized service provision based on the emotions of users and delivery personnel.
[1780] "Weather data" is information about weather conditions such as temperature, humidity, wind speed, air pressure and weather conditions.
[1781] A "machine learning model" is a collection of algorithms that use collected data to learn patterns and predict future situations.
[1782] "Means for predicting future weather" refers to processing means for calculating and predicting future weather conditions using a machine learning model.
[1783] "User request" refers to an inquiry or request for information that a user wants to know.
[1784] The "means for providing forecast results" is a processing means for displaying or notifying future weather forecast data to a user.
[1785] The "means for calculating the accuracy rate" is a processing means for comparing the predicted results with actual weather data and evaluating the accuracy of the prediction.
[1786] "Means for publishing accuracy rates" are processing means for publishing information about the accuracy of the calculated predictions.
[1787] "Local weather data" is weather information for the current location provided by the user.
[1788] The "means for optimizing logistics routes based on weather conditions" refers to a processing means for selecting the most efficient and safe delivery route using collected and predicted weather data.
[1789] "Means for analyzing emotional data" refers to processing means for recognizing and assessing the emotional state of the user and delivery participants.
[1790] The "means for adjusting the method of providing the service" refers to a processing means for changing and adjusting the content of the service based on the analyzed emotion data so that the user and delivery personnel can have a better experience.
[1791] The following describes in detail an embodiment of the present invention, showing the processing flow of the entire system involving the server, terminals, and users, as well as the respective hardware and software configurations.
[1792] Server Processing
[1793] Collection and storage of historical data
[1794] The server periodically accesses the API of the weather data provider to obtain past weather data. The obtained data includes information such as date and time, temperature, humidity, wind speed, air pressure, and weather conditions, and is stored in a database. This is done using Python and a REST API.
[1795] Training a machine learning model
[1796] The server uses the collected historical weather data to train a machine learning model. Specifically, it preprocesses the dataset and splits it into training and test data. It then uses an appropriate machine learning algorithm, such as a long short-term memory (LSTM) network, to train the model. Software used includes Keras and TensorFlow.
[1797] Generate and provide weather forecasts
[1798] When a user requests weather, the server uses a trained machine learning model to predict future weather conditions. The forecast includes temperature, humidity, wind speed, pressure, and weather conditions, and returns the results to the user. This process is also implemented in Python.
[1799] Calculation and publication of prediction accuracy rate
[1800] The server compares the actual weather data with the forecast results, calculates the accuracy rate of the forecast, and stores it in a database. This accuracy rate is calculated periodically and made public on a website or other platform.
[1801] Collecting local weather data
[1802] The server receives local weather data sent by the user and stores it in a database, which is also used to train the next machine learning model.
[1803] Emotion engine processing
[1804] The emotion engine installed on the server analyzes data and sensor information sent by the user to recognize the user's emotions. For example, an algorithm is used to determine emotions from text entered by the user, facial expressions acquired through the camera and microphone, and tone of voice. After the emotion is determined, the server adjusts the way the weather forecast is presented based on that emotional data. The software used includes an emotion analysis algorithm.
[1805] Optimize logistics routes based on weather conditions
[1806] The server calculates optimal logistics routes based on predicted weather data, improving delivery efficiency and driver safety.
[1807] Terminal handling
[1808] Sending a weather request
[1809] Based on the user's input, the device sends a weather forecast request to the server, including location and date / time information.
[1810] Receiving and displaying prediction results
[1811] Once the forecast is received from the server, the device displays it to the user, including temperature, humidity, wind speed, air pressure, and weather conditions. Furthermore, the display method is customized based on the user's emotions.
[1812] Sending local weather data
[1813] The device sends the weather data entered by the user for the current location to the server, including temperature, humidity, wind speed, air pressure, and weather conditions.
[1814] User Action
[1815] Check the weather forecast
[1816] The user uses the terminal to request a weather forecast and check the returned forecast results.
[1817] Providing local weather data
[1818] The user inputs weather data for their current location into the device and sends it to the server. The user can also input their emotional state if desired, which may be collected automatically through the device's camera or microphone.
[1819] Specific examples
[1820] When a user sends a request to know "the weather in Tokyo three days from now," the server uses an AI model to generate a prediction and returns the result to the device: "Tokyo will be sunny in three days, with a maximum temperature of 25 degrees and a minimum temperature of 17 degrees." The device then displays this prediction to the user. If the device determines that the user is feeling stressed, it adjusts the display method and displays a message to help the user relax.
[1821] Example prompts for generative AI models
[1822] The user requests "Weather in Tokyo 3 days from now." Please forecast the weather using a machine learning model based on past weather data. Also, since the user seems stressed, please display a message to help them relax.
[1823] This creates a system that provides highly accurate and reliable weather forecasts, while also leveraging user feedback and sentiment data to continuously improve the accuracy of predictions and the user experience.
[1824] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1825] Step 1:
[1826] Collection and storage of historical data
[1827] The server periodically accesses the API of the weather data provider to obtain past weather data such as date, time, temperature, humidity, wind speed, air pressure, weather conditions, etc. After receiving this data, the server stores it in a database.
[1828] Input: API response from weather data provider
[1829] Output: Stored historical weather data (database entries)
[1830] What it does: The server uses a Python script to make requests to the API and inserts the retrieved data into the database in JSON format.
[1831] Step 2:
[1832] Training a machine learning model
[1833] The server trains a machine learning model using the weather data collected in step 1. It preprocesses the data and splits it into training data and test data, then trains it with a long short-term memory (LSTM) network.
[1834] Input: Historical weather data (records from database)
[1835] Output: A trained machine learning model
[1836] What it does: The server preprocesses the data using Keras and TensorFlow, trains the model, and saves the training results.
[1837] Step 3:
[1838] Sending a weather request
[1839] The user inputs a weather forecast request for a specific location and date and time from the terminal, and the request is sent from the terminal to the server.
[1840] Input: User requests location and date
[1841] Output: Request data to the server
[1842] What happens: A user uses a smartphone or tablet to send a request through the application's UI.
[1843] Step 4:
[1844] Generate and provide weather forecasts
[1845] The server uses the trained machine learning model to predict future weather data based on the request received in step 3. It returns the prediction results to the user.
[1846] Input: User request, trained machine learning model
[1847] Output: Future weather forecast data (sent to device)
[1848] How it works: The server uses a Python script to run the model to make predictions and return the results to the device.
[1849] Step 5:
[1850] Calculation and publication of prediction accuracy rate
[1851] The server compares the forecast results with actual weather data and calculates the accuracy rate of the forecast. This accuracy rate is stored in a database and periodically made public.
[1852] Input: Forecast results, actual weather data
[1853] Output: Accuracy rate (stored in database), public information (website, etc.)
[1854] How it works: The server uses a Python script to calculate the accuracy rate and stores the results in a database and on a web server.
[1855] Step 6:
[1856] Sending local weather data
[1857] The user inputs the weather data for their current location into the terminal and sends it to the server.
[1858] Input: Weather data provided by the user (temperature, humidity, etc.) ...
Claims
1. a means for collecting and storing historical weather data; means for training a machine learning model using the collected weather data; A means for predicting future weather using the trained machine learning model; means for providing the future prediction results based on a request from a user; means for comparing the provided forecast result with actual weather data to calculate the accuracy rate of the forecast; means for publishing the calculated accuracy rate; a means for collecting local weather data from users and using the data to improve the accuracy of the machine learning model; A system including:
2. 2. The system of claim 1, wherein the collected local weather data includes temperature, humidity, wind speed, barometric pressure, and weather conditions.
3. 10. The system of claim 1, wherein the machine learning model uses a machine learning algorithm that includes a long short-term memory network.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A