System

The system addresses the issue of boredom in exercise apps by recommending personalized walking routes and destinations based on user preferences, enhancing motivation through engaging exercise experiences.

JP2026014985APending Publication Date: 2026-01-29SOFTBANK GROUP CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024116459
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-07-19
Publication Date
2026-01-29

AI Technical Summary

Technical Problem

Conventional exercise promotion applications fail to provide users with diverse and engaging walking routes and destinations tailored to their preferences, leading to boredom and decreased motivation.

Method used

A system that integrates user location, step count goals, and hobby preferences to recommend personalized walking routes and destinations, using a server to calculate optimal paths and suggest interesting locations based on user input.

Benefits of technology

Enhances user motivation by providing varied and enjoyable exercise experiences, ensuring users achieve their step goals while engaging with destinations that align with their interests.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026014985000001_ABST
    Figure 2026014985000001_ABST
Patent Text Reader

Abstract

A system is provided.SOLUTION: A system, comprising: means for receiving a step goal and a current location of a user; means for identifying a destination based on the received step goal and current location; and means for generating and presenting to the user a route to the identified destination.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

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 exercise promotion applications have had problems such as users finding it difficult to know how far they should walk to achieve their target number of steps, and users becoming bored by always walking the same route. Furthermore, they lack the functionality to recommend suitable destinations for users with specific hobbies and preferences, which can lead to a decrease in exercise motivation. The present invention aims to solve these problems and provide a system that increases users' motivation to exercise. [Means for solving the problem]

[0005] The present invention provides a system that includes a means for receiving a user's step count goal and current location, a means for identifying a destination based on the received step count goal and current location, and a means for generating a route to the identified destination and presenting it to the user. The system also includes a means for receiving and saving the user's hobby and preference information, and a means for filtering destinations based on the user's hobby and preference information. This system allows the user to know the optimal route for achieving their step count goal, and further recommends destinations based on the user's hobby and preference, increasing the variety and enjoyment of exercise. As a result, it is expected that the user's motivation to exercise will be maintained and improved.

[0006] "User" refers to an individual who uses this system.

[0007] "Step goal" refers to a target number of steps a user sets that they would like to achieve in a day or in a particular exercise session.

[0008] "Current location" refers to location information at the time the user starts exercising.

[0009] "Means of receiving" refers to means of obtaining information through input from a user or a device such as a GPS.

[0010] A "destination" refers to a location that a user aims to reach when walking or exercising.

[0011] "Means of identification" refers to the algorithms or processes that select appropriate destinations based on the information received.

[0012] "Route generation means" refers to software or a service that calculates a route from a user's current location to a destination.

[0013] "Presentation means" refers to an interface that displays the calculated route and destination to the user visually or audibly.

[0014] "Hobbies and Preference Information" refers to data about favorite activities and interests that a user registers or provides to the app.

[0015] "Storage means" refers to a process or device that permanently stores received information in a database or storage.

[0016] "Filtering means" refers to an algorithm or process that selects relevant destinations based on stored interest and preference information.

[0017] "System" refers to the combination of hardware and software that together provide all of the aforementioned functions. [Brief explanation of the drawings]

[0018] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10]1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 3 is a sequence diagram showing a processing flow of the data processing system according to the first embodiment. [Figure 12] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION

[0019] 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.

[0020] First, the terms used in the following description will be explained.

[0021] 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).

[0022] 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.

[0023] 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.

[0024] 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.

[0025] 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."

[0026] [First embodiment]

[0027] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.

[0028] 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.

[0029] 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).

[0030] 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.

[0031] 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.

[0032] 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.

[0033] 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.

[0034] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.

[0035] 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.

[0036] 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.

[0037] 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.

[0038] 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."

[0039] The system according to the present invention can propose an optimal route for a user to achieve their step goal and can also recommend attractive destinations based on the user's hobbies and preferences. Specific embodiments of the system will be described below.

[0040] First, when a user launches the app, the device prompts the user to enter profile information, daily step goals, walking time, etc. The information entered by the user is sent from the device to the server, which then stores it in a database.

[0041] Next, when the user starts walking, they input the number of steps they want to walk. For example, if they input "I want to walk 2,000 more steps," the device obtains the user's current location information from GPS and sends it to the server. Based on the user's current location and the target number of steps, the server searches for nearby destinations that are suitable for achieving the target number of steps. The server uses geographic information and interesting spot data in the database to identify destinations within a 2,000-step radius (approximately 1.6 km) and generates a list.

[0042] This list is sent to the device, and the user can select a specific destination from it. For the selected destination, the server calculates the optimal route and sends the route information to the device. Based on the received route information, the device generates a navigation screen and provides guidance to the user. The user continues walking according to this navigation and achieves the set goal.

[0043] Furthermore, for advanced users, this system also has a function that recommends destinations based on the user's hobbies and preferences. Users can register their hobbies and preferences in their profile beforehand. For example, a user who likes movies can set "movie theaters," while a user who enjoys visiting cafes can set "cafes." This information is stored on the server, and when the user starts walking, they input their "mood for the day," and the server searches for the optimal destination based on this information, the user's current location, and the target number of steps.

[0044] For example, if a user selects "cafe hopping," the server searches for nearby cafes and suggests a course connecting multiple cafes suitable for achieving the step goal. The user can select this course and begin navigation, enjoying cafe hopping while achieving the step goal.

[0045] As described above, this system can increase motivation to exercise by providing a variety of routes and destinations so that users can achieve their goals while enjoying exercise.

[0046] As a concrete example, suppose User A inputs "I want to walk 2000 more steps" into the app. The app obtains the current location, and the server lists parks within 2000 steps. When User A selects the park as a destination, the app starts navigation, and User A walks the specified route to reach the park.

[0047] In another example, User B selects "cafe hopping" and enters a goal of 3,000 steps. The server searches for nearby cafes and suggests a cafe hopping course that covers 3,000 steps. User B can achieve his or her step goal by following this course.

[0048] The above is a specific embodiment of the system according to the present invention.

[0049] The processing flow will be explained below.

[0050] Step 1:

[0051] The user launches the app, which displays a screen for the user to enter profile information (name, age, gender, hobbies, and preferences).

[0052] Step 2:

[0053] The user enters profile information and presses the "Register" button. The device assembles the entered information into a packet and sends it to the server.

[0054] Step 3:

[0055] The server parses the received user information and stores it in the database. The server returns a response to the device indicating successful registration.

[0056] Step 4:

[0057] The user enters the information on the screen where they set their daily step goal and walking time. The device then sends the setting information to the server.

[0058] Step 5:

[0059] The server stores the received information, such as the step goal and walking time, in a database. The server returns a response to the device indicating that the setting was successful.

[0060] Step 6:

[0061] The user inputs the target number of steps (for example, "I want to walk 2000 more steps"). The device obtains the current location information from the GPS and sends it to the server along with the user's input.

[0062] Step 7:

[0063] The server receives the current location and the target number of steps, calculates the reachable range based on the target number of steps, and searches the database for destinations within this range.

[0064] Step 8:

[0065] The server generates a list of destinations as search results, such as nearby parks and cafes.

[0066] Step 9:

[0067] The server transmits the generated destination list to the terminal, and the terminal displays the received destination list to the user.

[0068] Step 10:

[0069] The user selects a destination, and the terminal transmits the selected destination information to the server.

[0070] Step 11:

[0071] The server calculates the optimal route to the selected destination and sends the calculated route information to the terminal.

[0072] Step 12:

[0073] The device generates a navigation screen based on the received route information and displays it to the user. The user then begins walking according to the navigation.

[0074] Step 13:

[0075] When the user finishes walking, the app collects the step count data, and the device sends the collected data to the server.

[0076] Step 14:

[0077] The server stores the received step count data in a database and returns the step count result to the device.

[0078] Step 15:

[0079] The terminal displays the received results to the user. If the user achieves the goal, a completion message is displayed.

[0080] Example 1

[0081] 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."

[0082] In modern society, daily exercise is recommended to maintain health. However, it is difficult to exercise continuously in busy lifestyles, and maintaining motivation is also a challenge. When it comes to walking in particular, the monotonous route and destination decision-making process can be tedious, which is a factor that discourages people from continuing to exercise. Furthermore, the lack of destination suggestions tailored to individual users' hobbies and preferences means that walking tends to become a mere chore.

[0083] 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.

[0084] In this invention, the server includes a means for receiving the user's step count goal and current location, a means for searching for destination candidates based on the received step count goal and current location, a means for generating a list of destination candidates and presenting it to the user, a means for calculating an optimal route to the destination selected by the user, and a means for generating a navigation screen for presenting the calculated route to the user. This allows the user to be suggested an optimal route that matches their step count goal, making it easier to maintain motivation for exercise. Furthermore, by suggesting destinations of interest based on the user's hobbies and preferences, walking becomes more enjoyable.

[0085] The "user's step count goal" is the target value for the number of steps that the user wants to achieve in a day.

[0086] "Current location" is information that indicates the geographical location where the user is located when the user starts walking.

[0087] "Receive" means that the terminal or server receives input such as data or location information from the user.

[0088] The "target number of steps" refers to the number of additional steps that the user sets when walking.

[0089] A "destination" is a location that is set as the end point of a user's walking route.

[0090] "Destination candidates" refer to multiple possible destinations that the server searches for based on the user's current location and target number of steps.

[0091] A "list" is a table for displaying multiple destination candidates side by side.

[0092] A "route" is a path or route from a current location to a destination.

[0093] A "navigation screen" is an interface that visually guides the user along the optimal route to their destination.

[0094] "Hobby and preference information" is information about categories and activities in which the user is interested.

[0095] "Filtering" refers to the operation of narrowing down candidates based on specific conditions.

[0096] "To calculate" means to process some input data and derive a result.

[0097] The system according to the present invention proposes an optimal route for a user to achieve a step count goal, and further recommends attractive destinations based on the user's hobbies and preferences. Specific embodiments of the system are described below.

[0098] The following hardware and software are used to realize this system.

[0099] Hardware:

[0100] Smartphone or tablet device

[0101] server

[0102] software:

[0103] Mobile application (iOS / Android)

[0104] Server-side software (Python, Node.js, etc.)

[0105] Database (MySQL, MongoDB, etc.)

[0106] Geographic Information System (GIS) APIs (such as Google Maps API)

[0107] First, when a user launches the app, the device prompts the user to enter profile information, daily step goal, walking time, etc. The information entered by the user is sent from the device to the server, which then stores it in a database. For example, if a user sets their daily step goal as 8,000 steps and walking time as 30 minutes, this is stored in the database.

[0108] Next, the user inputs the number of steps they want to take when they start walking. For example, if the user inputs "I want to walk 2000 more steps," the device will use GPS to obtain their current location information and send it to the server. The server will search for nearby destination candidates based on the user's current location and the target number of steps. A list of candidates such as parks and libraries within a 2000-step (approximately 1.6 km) radius will be generated and sent to the device.

[0109] When the user selects a specific destination from the list, the device sends that information to the server. The server calculates the optimal route and sends that route information to the device. The device generates a navigation screen based on the received route information and provides guidance to the user. The user continues walking according to this navigation and achieves the set goal.

[0110] Furthermore, this system also has the function of recommending destinations based on the user's hobbies and preferences. Users can register their hobbies and preferences in their profile beforehand. For example, a user who likes movies would set "movie theaters," while a user who likes to visit cafes would set "cafes." This information is stored on the server, and when the user starts walking, they input their "mood for the day." The server then searches for and lists the best destinations based on this information, the user's current location, and the target number of steps.

[0111] For example, if User A enters "I want to walk 2000 more steps" into the app, the app will obtain the current location and the server will list parks within 2000 steps. If User A selects a park as a destination, the app will start navigation and User A will walk the specified route to reach the park.

[0112] In another example, User B selects "cafe hopping" and enters a goal of 3,000 steps. The server searches for nearby cafes and suggests a cafe hopping course that covers 3,000 steps. User B can achieve his or her step goal by following this course.

[0113] Examples of prompts that can be used include:

[0114] "I want to go to the park within 2000 steps."

[0115] "Please suggest a 3,000-step cafe tour course."

[0116] "Tell me a recommended walking course that suits my mood today."

[0117] The above is a specific embodiment of the system according to the present invention. This system allows users to achieve their goals while enjoying exercise, and can increase their motivation to exercise.

[0118] The flow of the identification process in the first embodiment will be described with reference to FIG.

[0119] An explanation of the processing flow of this system's program, broken down into processing steps

[0120] Step 1: Entering the user's profile

[0121] Input: The user enters profile information into the app, such as daily step goal and walking time.

[0122] Operation:

[0123] 1. The user launches the app and enters their profile information.

[0124] 2. The terminal receives the entered profile information.

[0125] 3. The device sends the received information to the server.

[0126] Output: The server stores the profile information in a database.

[0127] As a specific example of operation, a user inputs a daily step goal of 8,000 steps and a walking time of 30 minutes, which is then sent to the server and stored in a database.

[0128] Step 2: Enter your target number of steps and current location

[0129] Input: The user inputs the target number of steps (e.g., 2000 steps) when starting a walk.

[0130] Operation:

[0131] 1. The user inputs the target number of steps.

[0132] 2. The device uses GPS to obtain its current location information.

[0133] 3. The device sends its current location and target number of steps to the server.

[0134] Output: The server receives the target number of steps and the current location.

[0135] As a specific example of operation, the user inputs "I want to walk 2000 more steps," and the device obtains the current location from the GPS and sends it to the server.

[0136] Step 3: Search for destination candidates and generate a list

[0137] Input: Current location information and target number of steps received by the server.

[0138] Operation:

[0139] 1. The server searches the database for nearby destinations based on the current location and the target number of steps.

[0140] 2. The server generates a list of candidate destinations.

[0141] 3. The server sends the generated list to the terminal.

[0142] Output: The device receives a list of potential destinations.

[0143] As a specific example of how it works, the server searches for destinations such as parks and libraries based on a distance of within 2,000 steps (approximately 1.6 km) from the current location, creates a list, and sends it to the terminal.

[0144] Step 4: Select a destination and suggest a route

[0145] Input: The user selects a specific destination from a list of possible destinations.

[0146] Operation:

[0147] 1. The device displays a list of potential destinations to the user.

[0148] 2. The user selects a specific destination from a list.

[0149] 3. The terminal sends the selected destination information to the server.

[0150] 4. The server calculates the optimal route.

[0151] 5. The server sends the calculated route information to the terminal.

[0152] 6. The device generates a navigation screen based on the received route information and provides guidance to the user.

[0153] Output: The terminal displays the route information.

[0154] As a specific example of how it works, the user selects "park" from the list, and the device sends that information to the server. The server calculates the optimal route and sends it back to the device, which then displays the route on the navigation screen.

[0155] Step 5: Recommend destinations based on preferences (optional)

[0156] Input: Interests and preferences previously entered by the user.

[0157] Operation:

[0158] 1. The user registers their hobbies and interests in their profile.

[0159] 2. The device sends this information to the server.

[0160] 3. The server stores the information in a database.

[0161] -- At the start of walking --

[0162] 1. The user inputs "Today's Mood" when starting a walk.

[0163] 2. The device sends its current location and "today's mood" to the server.

[0164] 3. The server searches for a destination based on the hobby and preference information, current location, and target number of steps.

[0165] 4. The server lists the search results and sends them to the device.

[0166] 5. The user selects from the list and receives navigation information.

[0167] Output: A preference-based destination list displayed on the device.

[0168] As a specific example of how this works, if a user sets "cafe hopping" in their profile and selects "cafe hopping" when starting a walk, the server will search for nearby cafes and suggest a cafe hopping course that matches their step goal.

[0169] The above is the specific processing flow of the program for this system.

[0170] (Application example 1)

[0171] 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."

[0172] Conventional walking support systems only aim to help users achieve their step goals, and do not suggest specific destinations or routes to make walking more enjoyable. This creates the problem that users can become bored with monotonous walking and find it difficult to maintain their motivation to exercise. Furthermore, they lack the functionality to recommend attractive destinations based on users' hobbies and preferences, making it difficult to provide walking routes that meet the individual needs of users.

[0173] 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.

[0174] In this invention, the server includes means for receiving a user's step count goal and current location, means for identifying a destination based on the received step count goal and current location, means for generating a route to the identified destination and presenting it to the user, means for filtering destinations based on the user's hobbies and preferences and proposing multiple destinations that meet the step count goal, and means for providing and displaying an optimal navigation route using the Google Maps API. This allows the user to achieve their goal while enjoying interesting destinations during walking, thereby maintaining their motivation to exercise.

[0175] A "step goal" is a specific number of steps that a user wants to walk in a day.

[0176] "Current location" is geographical location information of the location where the user is currently located.

[0177] A "destination" is a specific location that a user aims to reach when walking.

[0178] A "route" is a path that a user takes to reach a destination from their current location.

[0179] "Hobbies and preferences" is information that represents the user's personal interests and tastes.

[0180] "Filtering" is the process of sorting data based on specific criteria.

[0181] "Google Maps API" is a program interface that uses Google's map services to provide functions such as route guidance.

[0182] "Navigation" refers to providing guidance to help a user reach a destination.

[0183] "Profile information" is data related to a user's basic information and personal settings.

[0184] A "server" is a computer system that provides services to clients over a network.

[0185] A "database" is a system for efficiently storing, retrieving, and managing data.

[0186] The present invention is a navigation system that proposes an optimal route based on the user's current location and preferences to help the user achieve a step goal. The system consists of a server, a terminal, and a user.

[0187] First, the user starts up the device and enters their profile information, step goal, and walking time. The server receives this information and stores it in a database. Next, when the user starts walking and enters their goal number of steps, the device obtains their current location information from GPS and sends it to the server. The server searches for destinations within an achievable range based on the user's current location and step goal. For this, a distance calculation tool such as the Geopy library can be used.

[0188] The server then filters the results using the user's hobby and preference information to create a list of destinations that match the user's interests. For example, if a user enjoys cafe hopping, the server can suggest nearby cafes that are aligned with the user's step goal. This suggestion uses the Google Maps API to generate an optimal navigation route and send it to the device.

[0189] The device generates a navigation screen based on the received route information and provides guidance to the user. The user can continue walking by following the navigation and achieve the set goal. This allows the user to avoid getting bored with monotonous walking and maintain motivation to exercise by visiting interesting places.

[0190] As a concrete example, suppose User A inputs "I want to walk 2000 more steps" into the device. The device obtains the current location, and the server lists destinations such as parks and cafes that are accessible within 2000 steps. When User A selects a specific cafe as a destination, the device uses the Google Maps API to display the optimal navigation route, allowing the user to reach the destination by following that route.

[0191] An example prompt for a generative AI model might look like this:

[0192] "Write a Python program that calculates the distance between the user's current location and a destination, and generates the optimal route to reach a step goal set by the user. The user profile also includes information about hobbies and preferences, such as visiting physical stores like cafes and parks. Provide route guidance using the Google Maps API."

[0193] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[0194] Step 1:

[0195] The user starts up the device and enters profile information (e.g., age, gender, etc.), step goal (e.g., 2,000 steps), and walking time (e.g., 30 minutes). This information is sent from the device to the server.

[0196] Input: User profile information, step goal, walking time

[0197] Output: Profile information is saved on the server

[0198] Step 2:

[0199] When a user starts walking, they input the target number of steps (e.g., 2000 more steps). The device obtains the current location information from GPS and sends it to the server.

[0200] Input: User's step goal, current location

[0201] Output: Current location and step goal sent to server

[0202] Step 3:

[0203] The server searches for destinations within reach based on the user's current location and step goal. This process uses the Geopy library to calculate distances and identify destinations within the goal distance.

[0204] Input: Current location, step goal

[0205] Output: List of destinations within the target distance

[0206] Step 4:

[0207] The server filters the list of destinations using the user's hobbies and preferences (e.g., "I like cafe hopping"), thereby displaying only destinations that match the user's interests.

[0208] Input: List of destinations within the target distance, hobby and preference information

[0209] Output: Filtered list of destinations

[0210] Step 5:

[0211] The server uses the Google Maps API to generate the optimal navigation route for the filtered destination and send it to the device.

[0212] Input: Filtered destination list, current location information

[0213] Output: Optimal navigation route information

[0214] Step 6:

[0215] The device generates a navigation screen based on the received route information and provides guidance to the user, displaying information such as the distance to the destination and the estimated arrival time.

[0216] Input: Navigation route information

[0217] Output: Navigation screen display

[0218] Step 7:

[0219] The user continues walking according to the navigation and reaches the set step goal. If the current location is updated along the way, the server recalculates and provides new route information as necessary.

[0220] Input: Updated current location

[0221] Output: New navigation route information (if necessary)

[0222] 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.

[0223] The present invention is a system that proposes an optimal route for achieving a user's step goal and further recommends attractive destinations based on the user's hobbies, preferences, and emotions. This system has the function of recognizing the user's current location and emotions, and filtering and presenting appropriate destinations based on these. Specific embodiments of the system are described below.

[0224] First, when a user launches the app, the device displays a screen that prompts the user to enter profile information (name, age, gender, hobbies, preferences, emotional state). The information entered by the user is sent from the device to the server, which then stores the received information in a database.

[0225] Next, when the user starts walking, they input their target number of steps. For example, the user might input "I want to walk 2,000 more steps." The device obtains this information and the user's current location from GPS and sends it to the server. The server then searches for nearby reachable destinations based on the user's current location and target number of steps. The server also uses an emotion engine to recognize emotions from the user's input and filters destinations based on the emotion information stored in the database. For example, if the user feels like relaxing, parks and cafes will be recommended first.

[0226] The server sends the destination list generated as a search result to the terminal. The user can select a specific destination from the list. For the selected destination, the server calculates the optimal route and sends the route information to the terminal. The terminal generates a navigation screen based on the received route information and provides guidance to the user. The user starts walking to the destination according to the navigation.

[0227] Furthermore, this system has the function of filtering destinations based on the user's hobbies, preferences, and emotions, and proposing the most suitable route. For example, if a user selects "cafe hopping" and the emotion engine recognizes the emotion "I want to relax," the server will search for nearby cafes and propose a route connecting cafes with a relaxing atmosphere. This allows the user to spend some time relaxing while achieving their step goal.

[0228] As a concrete example, if User A enters "I want to walk 2000 more steps" into the app and selects "Tired" as his / her current emotion, the server uses this information to search for nearby destinations such as a relaxing park or a quiet cafe. If User A selects a park as his / her destination, the app will start navigation, and User A will walk the specified route to reach the park. Furthermore, since User A's emotional state is updated continuously during this process, it is possible for the suggested routes and destinations to change in real time.

[0229] As another example, if User B selects "cafe hopping" and the current emotion is recognized as "needing to relieve stress," the server will search for nearby cafes and suggest several cafes where User B can relax. User B can follow the suggested route and achieve his / her step goal while enjoying cafe hopping.

[0230] As described above, the system of the present invention can enhance the motivation of exercise by providing a variety of routes and destinations so that users can achieve their goals while enjoying exercise. Furthermore, by recognizing the user's emotional state and making recommendations accordingly, the system provides a more personalized exercise experience.

[0231] The processing flow will be explained below.

[0232] Step 1:

[0233] The user launches the app. The device displays a screen that prompts the user to enter profile information (name, age, gender, hobbies, preferences, and emotional state).

[0234] Step 2:

[0235] The user enters profile information and presses the "Register" button. The device assembles the entered information into a packet and sends it to the server.

[0236] Step 3:

[0237] The server parses the received user information and stores it in the database. The server returns a response to the device indicating successful registration.

[0238] Step 4:

[0239] The user enters the information on the screen where they set their daily step goal and walking time. The device then sends the setting information to the server.

[0240] Step 5:

[0241] The server stores the received step goal and walking time information in a database, and returns a response to the device indicating that the setting was successful.

[0242] Step 6:

[0243] The user inputs the target number of steps (for example, "I want to walk 2000 more steps"). The device obtains the current location information from the GPS and sends it to the server along with the user's input.

[0244] Step 7:

[0245] The server receives the current location and the target number of steps, and calculates the reachable range (distance) based on the target number of steps.

[0246] Step 8:

[0247] The server uses geographic information and points of interest data in its database to search for destinations within the calculated distance.

[0248] Step 9:

[0249] The server transmits the destination list generated as a search result to the terminal, and the terminal displays the received destination list to the user.

[0250] Step 10:

[0251] The user selects a destination, for example, "a nearby park." The terminal transmits the selected destination information to the server.

[0252] Step 11:

[0253] The server calculates the optimal route to the selected destination and sends the calculated route information to the terminal.

[0254] Step 12:

[0255] The device generates a navigation screen based on the received route information and displays it to the user. The user then begins walking according to the navigation.

[0256] Step 13:

[0257] While the user is walking, the app recognizes the user's emotional state using an emotion engine, for example, by collecting emotions through camera or voice input.

[0258] Step 14:

[0259] The device sends the emotional state to the server, which stores the received emotional information in a database.

[0260] Step 15:

[0261] The server filters suitable destinations for the user based on the emotion information and updates the route as needed.

[0262] Step 16:

[0263] The server sends updated route information and recommended destination information to the device, which then displays the updated information to the user.

[0264] Step 17:

[0265] The user follows the instructions and reaches the destination. When the user finishes walking, the app collects the step count data. The device then sends the collected data to the server.

[0266] Step 18:

[0267] The server stores the received step count data in a database and returns the step count result to the device.

[0268] Step 19:

[0269] The terminal displays the received results to the user. If the user achieves the goal, a completion message is displayed.

[0270] Example 2

[0271] 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."

[0272] Conventional walking navigation systems could provide destinations based on a user's step goal and current location, but they did not provide personalized suggestions that took into account the user's individual emotional state, hobbies, and preferences. This resulted in a lack of motivation for users to not only achieve their goals, but also to enjoy walking more continuously. The present invention aims to solve these problems and provide a system that can provide users with an optimal walking experience that suits their emotions, hobbies, and preferences.

[0273] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes means for receiving the user's step count target and current location, means for identifying a destination based on the received step count target and current location, means for recognizing the user's emotional state and filtering destinations based on the emotional state, means for generating a route to the identified destination and presenting it to the user, and means for inputting profile information and storing the information in a database. This allows the user to receive suggestions for optimal walking routes and destinations that match their emotional state and hobbies and preferences.

[0274] A "step goal" is a specific number of steps that a user sets to achieve while walking.

[0275] "Current location" refers to the real-time geographic location of the user when they start walking.

[0276] A "destination" is a candidate location where the user should head to in order to achieve the step goal.

[0277] "Emotional state" refers to information that indicates the psychological state that the user is currently feeling.

[0278] "Profile information" refers to information that includes a user's personal information (such as name, age, gender, hobbies, and preferences) and emotional state.

[0279] "Filtering" is the process of selecting and extracting data based on specific conditions.

[0280] A "route" is a specific path a user takes to reach a destination.

[0281] A "database" is an information repository that stores user profile information and destination information.

[0282] The present invention is a system that proposes an optimal route for achieving a user's step goal and also recommends attractive destinations based on the user's hobbies, preferences, and emotions. This system has the function of recognizing the user's current location and emotions, and filtering and presenting appropriate destinations based on these. Specifically, the system is implemented using the following hardware and software.

[0283] Hardware and Software Configuration

[0284] Device: A portable electronic device, such as a smartphone or tablet, that runs applications, accepts input from the user, and displays data from a server.

[0285] Server: A computing resource installed in a cloud environment or data center. It processes data received from users, searches for and filters destinations, and calculates routes.

[0286] GPS module: A geolocation information acquisition device built into a device that acquires the user's current location in real time.

[0287] Database: A repository of information that stores user profile information, hobbies, preferences, emotional states, and destination information.

[0288] Program processing overview

[0289] 1. User Actions:

[0290] A user starts the app and enters their profile information (name, age, gender, hobbies, preferences, emotional state), which is then sent from the device to the server and stored in a database.

[0291] When starting a walk, the user inputs the target number of steps. For example, the user can set a goal such as "I want to walk 2000 more steps."

[0292] 2. The device performs the following actions:

[0293] The terminal displays a profile information input screen for the user.

[0294] The terminal acquires the user's current location from the GPS and transmits it to the server along with target step count information.

[0295] The terminal generates a navigation screen based on the route information received from the server and provides guidance to the user.

[0296] 3. The server performs the following actions:

[0297] The server stores the user profile information sent from the terminal in a database.

[0298] The server searches a database for reachable destinations based on the user's current location and target number of steps.

[0299] The server uses an emotion engine to analyze the user's input emotional state and filter appropriate destinations.

[0300] The server sends the filtered list of destinations to the terminal and calculates the optimal route to the destinations selected by the user.

[0301] Specific examples

[0302] Example 1

[0303] If a user inputs "I want to walk 2,000 more steps" and selects "Tired" as their current emotion, the server uses this information to search for nearby parks and quiet cafes where they can relax. If the user selects "park," the app will begin navigation, and the user will walk the specified route to the park. During this process, the user's emotional state is constantly updated, and route and destination suggestions may change in real time.

[0304] Example 2

[0305] If the user selects "cafe hopping" and their current emotion is recognized as "needing to relieve stress," the server will search for nearby cafes and suggest several cafes where they can relax. The user can follow the suggested route and achieve their step goal while enjoying cafe hopping.

[0306] Prompt Sentence Examples

[0307] User: Name: Yamada Hanako, 25 years old, female. Hobbies: Walking and visiting cafes. Emotional state: I want to relax. Next, I want to walk another 1,500 steps.

[0308] Device: Current location obtained (latitude 35.7128, longitude 139.7759). Data will be sent to the server.

[0309] Server: We've found Park B, Cafe D, and Cafe E where you can relax.

[0310] Device: Select a destination. Destination B, Park. Start route navigation.

[0311] User: Start walking according to the navigation.

[0312] As described above, the system according to the present invention can provide the optimal route and destination by taking into consideration the user's step goal, current location, emotional state, and hobbies and preferences, thereby enabling the user to achieve their goal while enjoying continuous walking.

[0313] The flow of the identification process in the second embodiment will be described with reference to FIG.

[0314] Step 1: Enter and submit your user profile information

[0315] The user launches the app and enters their profile information (name, age, gender, hobbies, preferences, and emotional state).

[0316] Input: User profile information.

[0317] The terminal displays an input screen and collects information entered by the user.

[0318] Action: The user enters "Taro Tanaka, 30 years old, male, hobbies are reading and jogging, current emotion is stressed" and clicks the "Submit" button.

[0319] The terminal transmits the collected profile information to the server.

[0320] Output: The profile information sent by the device to the server.

[0321] Step 2: Enter and send your target number of steps and current location

[0322] The user inputs a walking goal, for example, "I want to walk 2000 more steps."

[0323] Input: The user's target number of steps.

[0324] The device obtains the user's current location from the GPS.

[0325] Operation: The user enters "2000 steps" and presses the "Start" button. The device obtains the current location (latitude 35.6895, longitude 139.6917) from the GPS.

[0326] The device sends the target number of steps and the current location to the server.

[0327] Output: The target number of steps and current location sent by the device to the server.

[0328] Step 3: Find reachable destinations

[0329] Based on the current location and target number of steps received by the server, a database is searched for destinations within a reachable range.

[0330] Input: Current location and target number of steps received by the server.

[0331] How it works: The server searches the database for places within 2000 steps around "latitude 35.6895, longitude 139.6917". For example, it lists parks, cafes, shopping malls, etc.

[0332] Output: A server-generated list of destinations.

[0333] Step 4: Filtering destinations based on sentiment

[0334] The server uses an emotion engine to analyze the user's input emotional state.

[0335] Input: The user's emotional state.

[0336] The server filters the list of reachable destinations based on the analysis results.

[0337] How it works: Based on the user's input that they are "feeling stressed," the emotion engine prioritizes a list of places suitable for relaxation, such as parks or quiet cafes.

[0338] Output: The filtered list of destinations.

[0339] Step 5: Send and view the filtered destination list

[0340] The server sends the filtered destination list to the terminal.

[0341] Input: A filtered list of destinations.

[0342] The terminal displays the received destination list.

[0343] Operation: The server sends "Park A," "Cafe B," and "Cafe C" to the device, which displays them to the user.

[0344] Output: The destination list displayed by the device.

[0345] Step 6: Select destination and calculate route

[0346] The user selects one from the filtered list of destinations.

[0347] Input: The user's selected destination.

[0348] The server calculates the optimal route to the selected destination.

[0349] Operation: The user selects "Park A" and presses the "OK" button. The server calculates the route and sends it to the device.

[0350] The server sends the route information to the terminal.

[0351] Output: The route information sent by the server to the device.

[0352] Step 7: Navigate and start walking

[0353] Navigation is provided based on the route information received by the device.

[0354] Input: Route information sent by the server.

[0355] Operation: The device displays "Route to Park A" on the navigation screen. The user begins walking along that route.

[0356] The user starts walking according to the navigation.

[0357] Output: Location updates as the user moves towards their destination.

[0358] The above are the specific processing steps and details of the program of this system. The specific operations at each step are designed to enable users to select the optimal route and destination in real time, providing a personalized walking experience.

[0359] (Application example 2)

[0360] 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."

[0361] Conventional step goal achievement systems have the problem of being unable to provide a personalized experience because they are unable to identify destinations that take into account the user's emotional state, hobbies, and preferences. This has led to problems such as a lack of interest and motivation for users to achieve their goals.

[0362] 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.

[0363] In this invention, the server includes means for receiving the user's step count goal and current location, means for recognizing and receiving the user's emotional state, means for identifying a destination based on the received step count goal, current location, and emotional state, and means for generating a route to the identified destination and presenting it to the user, thereby making it possible to propose an optimal destination and route taking into consideration the user's emotional state and hobbies and preferences.

[0364] A "user step goal" is a particular number of steps that a user wishes to achieve.

[0365] "Current location" refers to the geographic coordinates of where the user is located.

[0366] "Emotional state" refers to a user's current state of mind or mood.

[0367] "Hobby and preference information" refers to information about the user's interests and preferences.

[0368] A "destination" is a location to which a user is heading.

[0369] A "route" is the path a user takes to reach a destination.

[0370] "Filtering" means sorting out information based on specific conditions.

[0371] A "specific distance" is the range within which a user can move.

[0372] This invention proposes an optimal route for achieving a user's step goal and recommends attractive destinations based on the user's hobbies, preferences, and emotions. This system recognizes the user's current location and emotional state, and then filters and presents appropriate destinations based on these.

[0373] Program Generation

[0374] The system that realizes this application works according to the following process:

[0375] Hardware and Software Use

[0376] Hardware: Smartphone

[0377] software:

[0378] GPS function: To obtain your current location

[0379] Generative AI Models: To Recognize Users' Emotional States

[0380] Cloud server: for storing and processing data

[0381] Flask: To build a WebAPI

[0382] Data Processing and Data Calculation

[0383] 1. Location information acquisition:

[0384] When a user launches the app on their smartphone, the app uses the GPS to obtain their current location, which is expressed in the form of latitude and longitude.

[0385] 2. Recognition of emotional states:

[0386] Using a generative AI model, the system recognizes the emotional state input by the user (e.g., wanting to relax, feeling tired, etc.) and stores it in a database.

[0387] 3. Set a step goal:

[0388] The user enters a step goal into the app (e.g., "I want to walk 3,000 more steps"), which determines the distance they should travel.

[0389] 4. Destination Filtering:

[0390] The server searches for nearby destinations based on the user's current location, emotional state, and hobbies and preferences. Destinations include stores, parks, cafes, and other locations pre-registered in a database.

[0391] 5. Generate routes:

[0392] The server calculates the optimal route to the specified destination and presents it to the user, inputting the following prompt into the generative AI model:

[0393] Based on the user information below, please suggest three relaxing places nearby.

[0394] Step goal: 3000 more steps

[0395] Current emotional state: I want to relax

[0396] Current location coordinates: (35.6895, 139.6917)

[0397] 6. Providing navigation:

[0398] Once the user selects a destination, the smartphone app will begin navigation and guide the user to the destination.

[0399] Specific examples

[0400] If User A enters "I want to walk 2000 more steps" into the app and selects "Tired" as his / her current emotional state, the server uses this information to search for nearby destinations such as relaxing parks or quiet cafes. If User A selects a park as his / her destination, the app will start navigation, and User A will walk the specified route to the park. Furthermore, since User A's emotional state is updated as it progresses, it is possible for the suggested routes and destinations to change in real time.

[0401] As described above, the system of the present invention can enhance the motivation of exercise by providing a variety of routes and destinations so that users can achieve their goals while enjoying exercise. Furthermore, by recognizing the user's emotional state and making recommendations accordingly, the system provides a more personalized exercise experience.

[0402] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[0403] Step 1:

[0404] The user launches the smartphone app and enters profile information (name, age, gender, hobbies, preferences, and emotional state).

[0405] Input: User profile information

[0406] Data processing: The device receives the entered information and sends it to the server.

[0407] Output: User profile information stored on the server

[0408] Step 2:

[0409] The user enters a step goal into the app and starts walking.

[0410] Input: User's step goal (e.g., "3000 more steps")

[0411] Data processing: The device receives the step goal and obtains the current location using the GPS function.

[0412] Output: Step goal and current location sent to the server

[0413] Step 3:

[0414] The server recognizes the user's emotional state using a generative AI model and stores it in a database.

[0415] Input: User's emotional state (e.g., "I want to relax")

[0416] Data processing: The generative AI model analyzes the emotional state and sends the results to the server

[0417] Output: User's emotional state stored on the server

[0418] Step 4:

[0419] The server searches for nearby destinations based on the user's step goal, current location, and emotional state.

[0420] Input: Step goal, current location, emotional state

[0421] Data processing: The server queries the database based on this information and generates an appropriate list of destinations.

[0422] Output: Destination list

[0423] Step 5:

[0424] The server filters destinations from the generated destination list based on the user's interest and preference information.

[0425] Input: Destination list, hobby and preference information

[0426] Data processing: The server uses the appropriate recommendation algorithm to filter the list

[0427] Output: Filtered list of destinations

[0428] Step 6:

[0429] The user selects the desired destination from the filtered destinations.

[0430] Input: Filtered list of destinations

[0431] Data processing: User selectable

[0432] Output: Selected destination

[0433] Step 7:

[0434] The server calculates the optimal route based on the selected destination.

[0435] Input: User's current location, selected destination

[0436] Data processing: Generate optimal routes using route calculation algorithms

[0437] Output: Optimal route information

[0438] Step 8:

[0439] The terminal presents the optimal route received from the server to the user and starts navigation.

[0440] Input: Optimal route information

[0441] Data processing: The device generates a navigation screen based on route information

[0442] Output: The navigation screen that the user sees

[0443] For example, if a user inputs "I want to walk 2000 more steps" and selects "Tired" as their emotional state, the server will suggest nearby parks and quiet cafes where they can relax. After that, the user selects the park as their destination, and the app will display the optimal route and begin navigation.

[0444] 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.

[0445] 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.

[0446] 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.

[0447] [Second embodiment]

[0448] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.

[0449] 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.

[0450] 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).

[0451] 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.

[0452] 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.

[0453] 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).

[0454] 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.

[0455] 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.

[0456] 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.

[0457] 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.

[0458] 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.

[0459] 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."

[0460] The system according to the present invention can propose an optimal route for a user to achieve their step goal and can also recommend attractive destinations based on the user's hobbies and preferences. Specific embodiments of the system will be described below.

[0461] First, when a user launches the app, the device prompts the user to enter profile information, daily step goals, walking time, etc. The information entered by the user is sent from the device to the server, which then stores it in a database.

[0462] Next, when the user starts walking, they input the number of steps they want to walk. For example, if they input "I want to walk 2,000 more steps," the device obtains the user's current location information from GPS and sends it to the server. Based on the user's current location and the target number of steps, the server searches for nearby destinations that are suitable for achieving the target number of steps. The server uses geographic information and interesting spot data in the database to identify destinations within a 2,000-step radius (approximately 1.6 km) and generates a list.

[0463] This list is sent to the device, and the user can select a specific destination from it. For the selected destination, the server calculates the optimal route and sends the route information to the device. Based on the received route information, the device generates a navigation screen and provides guidance to the user. The user continues walking according to this navigation and achieves the set goal.

[0464] Furthermore, for advanced users, this system also has a function that recommends destinations based on the user's hobbies and preferences. Users can register their hobbies and preferences in their profile beforehand. For example, a user who likes movies can set "movie theaters," while a user who enjoys visiting cafes can set "cafes." This information is stored on the server, and when the user starts walking, they input their "mood for the day," and the server searches for the optimal destination based on this information, the user's current location, and the target number of steps.

[0465] For example, if a user selects "cafe hopping," the server searches for nearby cafes and suggests a course connecting multiple cafes suitable for achieving the step goal. The user can select this course and begin navigation, enjoying cafe hopping while achieving the step goal.

[0466] As described above, this system can increase motivation to exercise by providing a variety of routes and destinations so that users can achieve their goals while enjoying exercise.

[0467] As a concrete example, suppose User A inputs "I want to walk 2000 more steps" into the app. The app obtains the current location, and the server lists parks within 2000 steps. When User A selects the park as a destination, the app starts navigation, and User A walks the specified route to reach the park.

[0468] In another example, User B selects "cafe hopping" and enters a goal of 3,000 steps. The server searches for nearby cafes and suggests a cafe hopping course that covers 3,000 steps. User B can achieve his or her step goal by following this course.

[0469] The above is a specific embodiment of the system according to the present invention.

[0470] The processing flow will be explained below.

[0471] Step 1:

[0472] The user launches the app, which displays a screen for the user to enter profile information (name, age, gender, hobbies, and preferences).

[0473] Step 2:

[0474] The user enters profile information and presses the "Register" button. The device assembles the entered information into a packet and sends it to the server.

[0475] Step 3:

[0476] The server parses the received user information and stores it in the database. The server returns a response to the device indicating successful registration.

[0477] Step 4:

[0478] The user enters the information on the screen where they set their daily step goal and walking time. The device then sends the setting information to the server.

[0479] Step 5:

[0480] The server stores the received information, such as the step goal and walking time, in a database. The server returns a response to the device indicating that the setting was successful.

[0481] Step 6:

[0482] The user inputs the target number of steps (for example, "I want to walk 2000 more steps"). The device obtains the current location information from the GPS and sends it to the server along with the user's input.

[0483] Step 7:

[0484] The server receives the current location and the target number of steps, calculates the reachable range based on the target number of steps, and searches the database for destinations within this range.

[0485] Step 8:

[0486] The server generates a list of destinations as search results, such as nearby parks and cafes.

[0487] Step 9:

[0488] The server transmits the generated destination list to the terminal, and the terminal displays the received destination list to the user.

[0489] Step 10:

[0490] The user selects a destination, and the terminal transmits the selected destination information to the server.

[0491] Step 11:

[0492] The server calculates the optimal route to the selected destination and sends the calculated route information to the terminal.

[0493] Step 12:

[0494] The device generates a navigation screen based on the received route information and displays it to the user. The user then begins walking according to the navigation.

[0495] Step 13:

[0496] When the user finishes walking, the app collects the step count data, and the device sends the collected data to the server.

[0497] Step 14:

[0498] The server stores the received step count data in a database and returns the step count result to the device.

[0499] Step 15:

[0500] The terminal displays the received results to the user. If the user achieves the goal, a completion message is displayed.

[0501] Example 1

[0502] 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."

[0503] In modern society, daily exercise is recommended to maintain health. However, it is difficult to exercise continuously in busy lifestyles, and maintaining motivation is also a challenge. When it comes to walking in particular, the monotonous route and destination decision-making process can be tedious, which is a factor that discourages people from continuing to exercise. Furthermore, the lack of destination suggestions tailored to individual users' hobbies and preferences means that walking tends to become a mere chore.

[0504] 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.

[0505] In this invention, the server includes a means for receiving the user's step count goal and current location, a means for searching for destination candidates based on the received step count goal and current location, a means for generating a list of destination candidates and presenting it to the user, a means for calculating an optimal route to the destination selected by the user, and a means for generating a navigation screen for presenting the calculated route to the user. This allows the user to be suggested an optimal route that matches their step count goal, making it easier to maintain motivation for exercise. Furthermore, by suggesting destinations of interest based on the user's hobbies and preferences, walking becomes more enjoyable.

[0506] The "user's step count goal" is the target value for the number of steps that the user wants to achieve in a day.

[0507] "Current location" is information that indicates the geographical location where the user is located when the user starts walking.

[0508] "Receive" means that the terminal or server receives input such as data or location information from the user.

[0509] The "target number of steps" refers to the number of additional steps that the user sets when walking.

[0510] A "destination" is a location that is set as the end point of a user's walking route.

[0511] "Destination candidates" refer to multiple possible destinations that the server searches for based on the user's current location and target number of steps.

[0512] A "list" is a table for displaying multiple destination candidates side by side.

[0513] A "route" is a path or route from a current location to a destination.

[0514] A "navigation screen" is an interface that visually guides the user along the optimal route to their destination.

[0515] "Hobby and preference information" is information about categories and activities in which the user is interested.

[0516] "Filtering" refers to the operation of narrowing down candidates based on specific conditions.

[0517] "To calculate" means to process some input data and derive a result.

[0518] The system according to the present invention proposes an optimal route for a user to achieve a step count goal, and further recommends attractive destinations based on the user's hobbies and preferences. Specific embodiments of the system are described below.

[0519] The following hardware and software are used to realize this system.

[0520] Hardware:

[0521] Smartphone or tablet device

[0522] server

[0523] software:

[0524] Mobile application (iOS / Android)

[0525] Server-side software (Python, Node.js, etc.)

[0526] Database (MySQL, MongoDB, etc.)

[0527] Geographic Information System (GIS) APIs (such as Google Maps API)

[0528] First, when a user launches the app, the device prompts the user to enter profile information, daily step goal, walking time, etc. The information entered by the user is sent from the device to the server, which then stores it in a database. For example, if a user sets their daily step goal as 8,000 steps and walking time as 30 minutes, this is stored in the database.

[0529] Next, the user inputs the number of steps they want to take when they start walking. For example, if the user inputs "I want to walk 2000 more steps," the device will use GPS to obtain their current location information and send it to the server. The server will search for nearby destination candidates based on the user's current location and the target number of steps. A list of candidates such as parks and libraries within a 2000-step (approximately 1.6 km) radius will be generated and sent to the device.

[0530] When the user selects a specific destination from the list, the device sends that information to the server. The server calculates the optimal route and sends that route information to the device. The device generates a navigation screen based on the received route information and provides guidance to the user. The user continues walking according to this navigation and achieves the set goal.

[0531] Furthermore, this system also has the function of recommending destinations based on the user's hobbies and preferences. Users can register their hobbies and preferences in their profile beforehand. For example, a user who likes movies would set "movie theaters," while a user who likes to visit cafes would set "cafes." This information is stored on the server, and when the user starts walking, they input their "mood for the day." The server then searches for and lists the best destinations based on this information, the user's current location, and the target number of steps.

[0532] For example, if User A enters "I want to walk 2000 more steps" into the app, the app will obtain the current location and the server will list parks within 2000 steps. If User A selects a park as a destination, the app will start navigation and User A will walk the specified route to reach the park.

[0533] In another example, User B selects "cafe hopping" and enters a goal of 3,000 steps. The server searches for nearby cafes and suggests a cafe hopping course that covers 3,000 steps. User B can achieve his or her step goal by following this course.

[0534] Examples of prompts that can be used include:

[0535] "I want to go to the park within 2000 steps."

[0536] "Please suggest a 3,000-step cafe tour course."

[0537] "Tell me a recommended walking course that suits my mood today."

[0538] The above is a specific embodiment of the system according to the present invention. This system allows users to achieve their goals while enjoying exercise, and can increase their motivation to exercise.

[0539] The flow of the identification process in the first embodiment will be described with reference to FIG.

[0540] An explanation of the processing flow of this system's program, broken down into processing steps

[0541] Step 1: Entering the user's profile

[0542] Input: The user enters profile information into the app, such as daily step goal and walking time.

[0543] Operation:

[0544] 1. The user launches the app and enters their profile information.

[0545] 2. The terminal receives the entered profile information.

[0546] 3. The device sends the received information to the server.

[0547] Output: The server stores the profile information in a database.

[0548] As a specific example of operation, a user inputs a daily step goal of 8,000 steps and a walking time of 30 minutes, which is then sent to the server and stored in a database.

[0549] Step 2: Enter your target number of steps and current location

[0550] Input: The user inputs the target number of steps (e.g., 2000 steps) when starting a walk.

[0551] Operation:

[0552] 1. The user inputs the target number of steps.

[0553] 2. The device uses GPS to obtain its current location information.

[0554] 3. The device sends its current location and target number of steps to the server.

[0555] Output: The server receives the target number of steps and the current location.

[0556] As a specific example of operation, the user inputs "I want to walk 2000 more steps," and the device obtains the current location from the GPS and sends it to the server.

[0557] Step 3: Search for destination candidates and generate a list

[0558] Input: Current location information and target number of steps received by the server.

[0559] Operation:

[0560] 1. The server searches the database for nearby destinations based on the current location and the target number of steps.

[0561] 2. The server generates a list of candidate destinations.

[0562] 3. The server sends the generated list to the terminal.

[0563] Output: The device receives a list of potential destinations.

[0564] As a specific example of how it works, the server searches for destinations such as parks and libraries based on a distance of within 2,000 steps (approximately 1.6 km) from the current location, creates a list, and sends it to the terminal.

[0565] Step 4: Select a destination and suggest a route

[0566] Input: The user selects a specific destination from a list of possible destinations.

[0567] Operation:

[0568] 1. The device displays a list of potential destinations to the user.

[0569] 2. The user selects a specific destination from a list.

[0570] 3. The terminal sends the selected destination information to the server.

[0571] 4. The server calculates the optimal route.

[0572] 5. The server sends the calculated route information to the terminal.

[0573] 6. The device generates a navigation screen based on the received route information and provides guidance to the user.

[0574] Output: The terminal displays the route information.

[0575] As a specific example of how it works, the user selects "park" from the list, and the device sends that information to the server. The server calculates the optimal route and sends it back to the device, which then displays the route on the navigation screen.

[0576] Step 5: Recommend destinations based on preferences (optional)

[0577] Input: Interests and preferences previously entered by the user.

[0578] Operation:

[0579] 1. The user registers their hobbies and interests in their profile.

[0580] 2. The device sends this information to the server.

[0581] 3. The server stores the information in a database.

[0582] -- At the start of walking --

[0583] 1. The user inputs "Today's Mood" when starting a walk.

[0584] 2. The device sends its current location and "today's mood" to the server.

[0585] 3. The server searches for a destination based on the hobby and preference information, current location, and target number of steps.

[0586] 4. The server lists the search results and sends them to the device.

[0587] 5. The user selects from the list and receives navigation information.

[0588] Output: A preference-based destination list displayed on the device.

[0589] As a specific example of how this works, if a user sets "cafe hopping" in their profile and selects "cafe hopping" when starting a walk, the server will search for nearby cafes and suggest a cafe hopping course that matches their step goal.

[0590] The above is the specific processing flow of the program for this system.

[0591] (Application example 1)

[0592] 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."

[0593] Conventional walking support systems only aim to help users achieve their step goals, and do not suggest specific destinations or routes to make walking more enjoyable. This creates the problem that users can become bored with monotonous walking and find it difficult to maintain their motivation to exercise. Furthermore, they lack the functionality to recommend attractive destinations based on users' hobbies and preferences, making it difficult to provide walking routes that meet the individual needs of users.

[0594] 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.

[0595] In this invention, the server includes means for receiving a user's step count goal and current location, means for identifying a destination based on the received step count goal and current location, means for generating a route to the identified destination and presenting it to the user, means for filtering destinations based on the user's hobbies and preferences and proposing multiple destinations that meet the step count goal, and means for providing and displaying an optimal navigation route using the Google Maps API. This allows the user to achieve their goal while enjoying interesting destinations during walking, thereby maintaining their motivation to exercise.

[0596] A "step goal" is a specific number of steps that a user wants to walk in a day.

[0597] "Current location" is geographical location information of the location where the user is currently located.

[0598] A "destination" is a specific location that a user aims to reach when walking.

[0599] A "route" is a path that a user takes to reach a destination from their current location.

[0600] "Hobbies and preferences" is information that represents the user's personal interests and tastes.

[0601] "Filtering" is the process of sorting data based on specific criteria.

[0602] "Google Maps API" is a program interface that uses Google's map services to provide functions such as route guidance.

[0603] "Navigation" refers to providing guidance to help a user reach a destination.

[0604] "Profile information" is data related to a user's basic information and personal settings.

[0605] A "server" is a computer system that provides services to clients over a network.

[0606] A "database" is a system for efficiently storing, retrieving, and managing data.

[0607] The present invention is a navigation system that proposes an optimal route based on the user's current location and preferences to help the user achieve a step goal. The system consists of a server, a terminal, and a user.

[0608] First, the user starts up the device and enters their profile information, step goal, and walking time. The server receives this information and stores it in a database. Next, when the user starts walking and enters their goal number of steps, the device obtains their current location information from GPS and sends it to the server. The server searches for destinations within an achievable range based on the user's current location and step goal. For this, a distance calculation tool such as the Geopy library can be used.

[0609] The server then filters the results using the user's hobby and preference information to create a list of destinations that match the user's interests. For example, if a user enjoys cafe hopping, the server can suggest nearby cafes that are aligned with the user's step goal. This suggestion uses the Google Maps API to generate an optimal navigation route and send it to the device.

[0610] The device generates a navigation screen based on the received route information and provides guidance to the user. The user can continue walking by following the navigation and achieve the set goal. This allows the user to avoid getting bored with monotonous walking and maintain motivation to exercise by visiting interesting places.

[0611] As a concrete example, suppose User A inputs "I want to walk 2000 more steps" into the device. The device obtains the current location, and the server lists destinations such as parks and cafes that are accessible within 2000 steps. When User A selects a specific cafe as a destination, the device uses the Google Maps API to display the optimal navigation route, allowing the user to reach the destination by following that route.

[0612] An example prompt for a generative AI model might look like this:

[0613] "Write a Python program that calculates the distance between the user's current location and a destination, and generates the optimal route to reach a step goal set by the user. The user profile also includes information about hobbies and preferences, such as visiting physical stores like cafes and parks. Provide route guidance using the Google Maps API."

[0614] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[0615] Step 1:

[0616] The user starts up the device and enters profile information (e.g., age, gender, etc.), step goal (e.g., 2,000 steps), and walking time (e.g., 30 minutes). This information is sent from the device to the server.

[0617] Input: User profile information, step goal, walking time

[0618] Output: Profile information is saved on the server

[0619] Step 2:

[0620] When a user starts walking, they input the target number of steps (e.g., 2000 more steps). The device obtains the current location information from GPS and sends it to the server.

[0621] Input: User's step goal, current location

[0622] Output: Current location and step goal sent to server

[0623] Step 3:

[0624] The server searches for destinations within reach based on the user's current location and step goal. This process uses the Geopy library to calculate distances and identify destinations within the goal distance.

[0625] Input: Current location, step goal

[0626] Output: List of destinations within the target distance

[0627] Step 4:

[0628] The server filters the list of destinations using the user's hobbies and preferences (e.g., "I like cafe hopping"), thereby displaying only destinations that match the user's interests.

[0629] Input: List of destinations within the target distance, hobby and preference information

[0630] Output: Filtered list of destinations

[0631] Step 5:

[0632] The server uses the Google Maps API to generate the optimal navigation route for the filtered destination and send it to the device.

[0633] Input: Filtered destination list, current location information

[0634] Output: Optimal navigation route information

[0635] Step 6:

[0636] The device generates a navigation screen based on the received route information and provides guidance to the user, displaying information such as the distance to the destination and the estimated arrival time.

[0637] Input: Navigation route information

[0638] Output: Navigation screen display

[0639] Step 7:

[0640] The user continues walking according to the navigation and reaches the set step goal. If the current location is updated along the way, the server recalculates and provides new route information as necessary.

[0641] Input: Updated current location

[0642] Output: New navigation route information (if necessary)

[0643] 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.

[0644] The present invention is a system that proposes an optimal route for achieving a user's step goal and further recommends attractive destinations based on the user's hobbies, preferences, and emotions. This system has the function of recognizing the user's current location and emotions, and filtering and presenting appropriate destinations based on these. Specific embodiments of the system are described below.

[0645] First, when a user launches the app, the device displays a screen that prompts the user to enter profile information (name, age, gender, hobbies, preferences, emotional state). The information entered by the user is sent from the device to the server, which then stores the received information in a database.

[0646] Next, when the user starts walking, they input their target number of steps. For example, the user might input "I want to walk 2,000 more steps." The device obtains this information and the user's current location from GPS and sends it to the server. The server then searches for nearby reachable destinations based on the user's current location and target number of steps. The server also uses an emotion engine to recognize emotions from the user's input and filters destinations based on the emotion information stored in the database. For example, if the user feels like relaxing, parks and cafes will be recommended first.

[0647] The server sends the destination list generated as a search result to the terminal. The user can select a specific destination from the list. For the selected destination, the server calculates the optimal route and sends the route information to the terminal. The terminal generates a navigation screen based on the received route information and provides guidance to the user. The user starts walking to the destination according to the navigation.

[0648] Furthermore, this system has the function of filtering destinations based on the user's hobbies, preferences, and emotions, and proposing the most suitable route. For example, if a user selects "cafe hopping" and the emotion engine recognizes the emotion "I want to relax," the server will search for nearby cafes and propose a route connecting cafes with a relaxing atmosphere. This allows the user to spend some time relaxing while achieving their step goal.

[0649] As a concrete example, if User A enters "I want to walk 2000 more steps" into the app and selects "Tired" as his / her current emotion, the server uses this information to search for nearby destinations such as a relaxing park or a quiet cafe. If User A selects a park as his / her destination, the app will start navigation, and User A will walk the specified route to reach the park. Furthermore, since User A's emotional state is updated continuously during this process, it is possible for the suggested routes and destinations to change in real time.

[0650] As another example, if User B selects "cafe hopping" and the current emotion is recognized as "needing to relieve stress," the server will search for nearby cafes and suggest several cafes where User B can relax. User B can follow the suggested route and achieve his / her step goal while enjoying cafe hopping.

[0651] As described above, the system of the present invention can enhance the motivation of exercise by providing a variety of routes and destinations so that users can achieve their goals while enjoying exercise. Furthermore, by recognizing the user's emotional state and making recommendations accordingly, the system provides a more personalized exercise experience.

[0652] The processing flow will be explained below.

[0653] Step 1:

[0654] The user launches the app. The device displays a screen that prompts the user to enter profile information (name, age, gender, hobbies, preferences, and emotional state).

[0655] Step 2:

[0656] The user enters profile information and presses the "Register" button. The device assembles the entered information into a packet and sends it to the server.

[0657] Step 3:

[0658] The server parses the received user information and stores it in the database. The server returns a response to the device indicating successful registration.

[0659] Step 4:

[0660] The user enters the information on the screen where they set their daily step goal and walking time. The device then sends the setting information to the server.

[0661] Step 5:

[0662] The server stores the received step goal and walking time information in a database, and returns a response to the device indicating that the setting was successful.

[0663] Step 6:

[0664] The user inputs the target number of steps (for example, "I want to walk 2000 more steps"). The device obtains the current location information from the GPS and sends it to the server along with the user's input.

[0665] Step 7:

[0666] The server receives the current location and the target number of steps, and calculates the reachable range (distance) based on the target number of steps.

[0667] Step 8:

[0668] The server uses geographic information and points of interest data in its database to search for destinations within the calculated distance.

[0669] Step 9:

[0670] The server transmits the destination list generated as a search result to the terminal, and the terminal displays the received destination list to the user.

[0671] Step 10:

[0672] The user selects a destination, for example, "a nearby park." The terminal transmits the selected destination information to the server.

[0673] Step 11:

[0674] The server calculates the optimal route to the selected destination and sends the calculated route information to the terminal.

[0675] Step 12:

[0676] The device generates a navigation screen based on the received route information and displays it to the user. The user then begins walking according to the navigation.

[0677] Step 13:

[0678] While the user is walking, the app recognizes the user's emotional state using an emotion engine, for example, by collecting emotions through camera or voice input.

[0679] Step 14:

[0680] The device sends the emotional state to the server, which stores the received emotional information in a database.

[0681] Step 15:

[0682] The server filters suitable destinations for the user based on the emotion information and updates the route as needed.

[0683] Step 16:

[0684] The server sends updated route information and recommended destination information to the device, which then displays the updated information to the user.

[0685] Step 17:

[0686] The user follows the instructions and reaches the destination. When the user finishes walking, the app collects the step count data. The device then sends the collected data to the server.

[0687] Step 18:

[0688] The server stores the received step count data in a database and returns the step count result to the device.

[0689] Step 19:

[0690] The terminal displays the received results to the user. If the user achieves the goal, a completion message is displayed.

[0691] Example 2

[0692] 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."

[0693] Conventional walking navigation systems could provide destinations based on a user's step goal and current location, but they did not provide personalized suggestions that took into account the user's individual emotional state, hobbies, and preferences. This resulted in a lack of motivation for users to not only achieve their goals, but also to enjoy walking more continuously. The present invention aims to solve these problems and provide a system that can provide users with an optimal walking experience that suits their emotions, hobbies, and preferences.

[0694] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes means for receiving the user's step count target and current location, means for identifying a destination based on the received step count target and current location, means for recognizing the user's emotional state and filtering destinations based on the emotional state, means for generating a route to the identified destination and presenting it to the user, and means for inputting profile information and storing the information in a database. This allows the user to receive suggestions for optimal walking routes and destinations that match their emotional state and hobbies and preferences.

[0695] A "step goal" is a specific number of steps that a user sets to achieve while walking.

[0696] "Current location" refers to the real-time geographic location of the user when they start walking.

[0697] A "destination" is a candidate location where the user should head to in order to achieve the step goal.

[0698] "Emotional state" refers to information that indicates the psychological state that the user is currently feeling.

[0699] "Profile information" refers to information that includes a user's personal information (such as name, age, gender, hobbies, and preferences) and emotional state.

[0700] "Filtering" is the process of selecting and extracting data based on specific conditions.

[0701] A "route" is a specific path a user takes to reach a destination.

[0702] A "database" is an information repository that stores user profile information and destination information.

[0703] The present invention is a system that proposes an optimal route for achieving a user's step goal and also recommends attractive destinations based on the user's hobbies, preferences, and emotions. This system has the function of recognizing the user's current location and emotions, and filtering and presenting appropriate destinations based on these. Specifically, the system is implemented using the following hardware and software.

[0704] Hardware and Software Configuration

[0705] Device: A portable electronic device, such as a smartphone or tablet, that runs applications, accepts input from the user, and displays data from a server.

[0706] Server: A computing resource installed in a cloud environment or data center. It processes data received from users, searches for and filters destinations, and calculates routes.

[0707] GPS module: A geolocation information acquisition device built into a device that acquires the user's current location in real time.

[0708] Database: A repository of information that stores user profile information, hobbies, preferences, emotional states, and destination information.

[0709] Program processing overview

[0710] 1. User Actions:

[0711] A user starts the app and enters their profile information (name, age, gender, hobbies, preferences, emotional state), which is then sent from the device to the server and stored in a database.

[0712] When starting a walk, the user inputs the target number of steps. For example, the user can set a goal such as "I want to walk 2000 more steps."

[0713] 2. The device performs the following actions:

[0714] The terminal displays a profile information input screen for the user.

[0715] The terminal acquires the user's current location from the GPS and transmits it to the server along with target step count information.

[0716] The terminal generates a navigation screen based on the route information received from the server and provides guidance to the user.

[0717] 3. The server performs the following actions:

[0718] The server stores the user profile information sent from the terminal in a database.

[0719] The server searches a database for reachable destinations based on the user's current location and target number of steps.

[0720] The server uses an emotion engine to analyze the user's input emotional state and filter appropriate destinations.

[0721] The server sends the filtered list of destinations to the terminal and calculates the optimal route to the destinations selected by the user.

[0722] Specific examples

[0723] Example 1

[0724] If a user inputs "I want to walk 2,000 more steps" and selects "Tired" as their current emotion, the server uses this information to search for nearby parks and quiet cafes where they can relax. If the user selects "park," the app will begin navigation, and the user will walk the specified route to the park. During this process, the user's emotional state is constantly updated, and route and destination suggestions may change in real time.

[0725] Example 2

[0726] If the user selects "cafe hopping" and their current emotion is recognized as "needing to relieve stress," the server will search for nearby cafes and suggest several cafes where they can relax. The user can follow the suggested route and achieve their step goal while enjoying cafe hopping.

[0727] Prompt Sentence Examples

[0728] User: Name: Yamada Hanako, 25 years old, female. Hobbies: Walking and visiting cafes. Emotional state: I want to relax. Next, I want to walk another 1,500 steps.

[0729] Device: Current location obtained (latitude 35.7128, longitude 139.7759). Data will be sent to the server.

[0730] Server: We've found Park B, Cafe D, and Cafe E where you can relax.

[0731] Device: Select a destination. Destination B, Park. Start route navigation.

[0732] User: Start walking according to the navigation.

[0733] As described above, the system according to the present invention can provide the optimal route and destination by taking into consideration the user's step goal, current location, emotional state, and hobbies and preferences, thereby enabling the user to achieve their goal while enjoying continuous walking.

[0734] The flow of the identification process in the second embodiment will be described with reference to FIG.

[0735] Step 1: Enter and submit your user profile information

[0736] The user launches the app and enters their profile information (name, age, gender, hobbies, preferences, and emotional state).

[0737] Input: User profile information.

[0738] The terminal displays an input screen and collects information entered by the user.

[0739] Action: The user enters "Taro Tanaka, 30 years old, male, hobbies are reading and jogging, current emotion is stressed" and clicks the "Submit" button.

[0740] The terminal transmits the collected profile information to the server.

[0741] Output: The profile information sent by the device to the server.

[0742] Step 2: Enter and send your target number of steps and current location

[0743] The user inputs a walking goal, for example, "I want to walk 2000 more steps."

[0744] Input: The user's target number of steps.

[0745] The device obtains the user's current location from the GPS.

[0746] Operation: The user enters "2000 steps" and presses the "Start" button. The device obtains the current location (latitude 35.6895, longitude 139.6917) from the GPS.

[0747] The device sends the target number of steps and the current location to the server.

[0748] Output: The target number of steps and current location sent by the device to the server.

[0749] Step 3: Find reachable destinations

[0750] Based on the current location and target number of steps received by the server, a database is searched for destinations within a reachable range.

[0751] Input: Current location and target number of steps received by the server.

[0752] How it works: The server searches the database for places within 2000 steps around "latitude 35.6895, longitude 139.6917". For example, it lists parks, cafes, shopping malls, etc.

[0753] Output: A server-generated list of destinations.

[0754] Step 4: Filtering destinations based on sentiment

[0755] The server uses an emotion engine to analyze the user's input emotional state.

[0756] Input: The user's emotional state.

[0757] The server filters the list of reachable destinations based on the analysis results.

[0758] How it works: Based on the user's input that they are "feeling stressed," the emotion engine prioritizes a list of places suitable for relaxation, such as parks or quiet cafes.

[0759] Output: The filtered list of destinations.

[0760] Step 5: Send and view the filtered destination list

[0761] The server sends the filtered destination list to the terminal.

[0762] Input: A filtered list of destinations.

[0763] The terminal displays the received destination list.

[0764] Operation: The server sends "Park A," "Cafe B," and "Cafe C" to the device, which displays them to the user.

[0765] Output: The destination list displayed by the device.

[0766] Step 6: Select destination and calculate route

[0767] The user selects one from the filtered list of destinations.

[0768] Input: The user's selected destination.

[0769] The server calculates the optimal route to the selected destination.

[0770] Operation: The user selects "Park A" and presses the "OK" button. The server calculates the route and sends it to the device.

[0771] The server sends the route information to the terminal.

[0772] Output: The route information sent by the server to the device.

[0773] Step 7: Navigate and start walking

[0774] Navigation is provided based on the route information received by the device.

[0775] Input: Route information sent by the server.

[0776] Operation: The device displays "Route to Park A" on the navigation screen. The user begins walking along that route.

[0777] The user starts walking according to the navigation.

[0778] Output: Location updates as the user moves towards their destination.

[0779] The above are the specific processing steps and details of the program of this system. The specific operations at each step are designed to enable users to select the optimal route and destination in real time, providing a personalized walking experience.

[0780] (Application example 2)

[0781] 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."

[0782] Conventional step goal achievement systems have the problem of being unable to provide a personalized experience because they are unable to identify destinations that take into account the user's emotional state, hobbies, and preferences. This has led to problems such as a lack of interest and motivation for users to achieve their goals.

[0783] 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.

[0784] In this invention, the server includes means for receiving the user's step count goal and current location, means for recognizing and receiving the user's emotional state, means for identifying a destination based on the received step count goal, current location, and emotional state, and means for generating a route to the identified destination and presenting it to the user, thereby making it possible to propose an optimal destination and route taking into consideration the user's emotional state and hobbies and preferences.

[0785] A "user step goal" is a particular number of steps that a user wishes to achieve.

[0786] "Current location" refers to the geographic coordinates of where the user is located.

[0787] "Emotional state" refers to a user's current state of mind or mood.

[0788] "Hobby and preference information" refers to information about the user's interests and preferences.

[0789] A "destination" is a location to which a user is heading.

[0790] A "route" is the path a user takes to reach a destination.

[0791] "Filtering" means sorting out information based on specific conditions.

[0792] A "specific distance" is the range within which a user can move.

[0793] This invention proposes an optimal route for achieving a user's step goal and recommends attractive destinations based on the user's hobbies, preferences, and emotions. This system recognizes the user's current location and emotional state, and then filters and presents appropriate destinations based on these.

[0794] Program Generation

[0795] The system that realizes this application works according to the following process:

[0796] Hardware and Software Use

[0797] Hardware: Smartphone

[0798] software:

[0799] GPS function: To obtain your current location

[0800] Generative AI Models: To Recognize Users' Emotional States

[0801] Cloud server: for storing and processing data

[0802] Flask: To build a WebAPI

[0803] Data Processing and Data Calculation

[0804] 1. Location information acquisition:

[0805] When a user launches the app on their smartphone, the app uses the GPS to obtain their current location, which is expressed in the form of latitude and longitude.

[0806] 2. Recognition of emotional states:

[0807] Using a generative AI model, the system recognizes the emotional state input by the user (e.g., wanting to relax, feeling tired, etc.) and stores it in a database.

[0808] 3. Set a step goal:

[0809] The user enters a step goal into the app (e.g., "I want to walk 3,000 more steps"), which determines the distance they should travel.

[0810] 4. Destination Filtering:

[0811] The server searches for nearby destinations based on the user's current location, emotional state, and hobbies and preferences. Destinations include stores, parks, cafes, and other locations pre-registered in a database.

[0812] 5. Generate routes:

[0813] The server calculates the optimal route to the specified destination and presents it to the user, inputting the following prompt into the generative AI model:

[0814] Based on the user information below, please suggest three relaxing places nearby.

[0815] Step goal: 3000 more steps

[0816] Current emotional state: I want to relax

[0817] Current location coordinates: (35.6895, 139.6917)

[0818] 6. Providing navigation:

[0819] Once the user selects a destination, the smartphone app will begin navigation and guide the user to the destination.

[0820] Specific examples

[0821] If User A enters "I want to walk 2000 more steps" into the app and selects "Tired" as his / her current emotional state, the server uses this information to search for nearby destinations such as relaxing parks or quiet cafes. If User A selects a park as his / her destination, the app will start navigation, and User A will walk the specified route to the park. Furthermore, since User A's emotional state is updated as it progresses, it is possible for the suggested routes and destinations to change in real time.

[0822] As described above, the system of the present invention can enhance the motivation of exercise by providing a variety of routes and destinations so that users can achieve their goals while enjoying exercise. Furthermore, by recognizing the user's emotional state and making recommendations accordingly, the system provides a more personalized exercise experience.

[0823] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[0824] Step 1:

[0825] The user launches the smartphone app and enters profile information (name, age, gender, hobbies, preferences, and emotional state).

[0826] Input: User profile information

[0827] Data processing: The device receives the entered information and sends it to the server.

[0828] Output: User profile information stored on the server

[0829] Step 2:

[0830] The user enters a step goal into the app and starts walking.

[0831] Input: User's step goal (e.g., "3000 more steps")

[0832] Data processing: The device receives the step goal and obtains the current location using the GPS function.

[0833] Output: Step goal and current location sent to the server

[0834] Step 3:

[0835] The server recognizes the user's emotional state using a generative AI model and stores it in a database.

[0836] Input: User's emotional state (e.g., "I want to relax")

[0837] Data processing: The generative AI model analyzes the emotional state and sends the results to the server

[0838] Output: User's emotional state stored on the server

[0839] Step 4:

[0840] The server searches for nearby destinations based on the user's step goal, current location, and emotional state.

[0841] Input: Step goal, current location, emotional state

[0842] Data processing: The server queries the database based on this information and generates an appropriate list of destinations.

[0843] Output: Destination list

[0844] Step 5:

[0845] The server filters destinations from the generated destination list based on the user's interest and preference information.

[0846] Input: Destination list, hobby and preference information

[0847] Data processing: The server uses the appropriate recommendation algorithm to filter the list

[0848] Output: Filtered list of destinations

[0849] Step 6:

[0850] The user selects the desired destination from the filtered destinations.

[0851] Input: Filtered list of destinations

[0852] Data processing: User selectable

[0853] Output: Selected destination

[0854] Step 7:

[0855] The server calculates the optimal route based on the selected destination.

[0856] Input: User's current location, selected destination

[0857] Data processing: Generate optimal routes using route calculation algorithms

[0858] Output: Optimal route information

[0859] Step 8:

[0860] The terminal presents the optimal route received from the server to the user and starts navigation.

[0861] Input: Optimal route information

[0862] Data processing: The device generates a navigation screen based on route information

[0863] Output: The navigation screen that the user sees

[0864] For example, if a user inputs "I want to walk 2000 more steps" and selects "Tired" as their emotional state, the server will suggest nearby parks and quiet cafes where they can relax. After that, the user selects the park as their destination, and the app will display the optimal route and begin navigation.

[0865] 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.

[0866] 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.

[0867] 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.

[0868] [Third embodiment]

[0869] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.

[0870] 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.

[0871] 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).

[0872] 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.

[0873] 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.

[0874] 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).

[0875] 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.

[0876] 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.

[0877] 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.

[0878] 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.

[0879] 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.

[0880] 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."

[0881] The system according to the present invention can propose an optimal route for a user to achieve their step goal and can also recommend attractive destinations based on the user's hobbies and preferences. Specific embodiments of the system will be described below.

[0882] First, when a user launches the app, the device prompts the user to enter profile information, daily step goals, walking time, etc. The information entered by the user is sent from the device to the server, which then stores it in a database.

[0883] Next, when the user starts walking, they input the number of steps they want to walk. For example, if they input "I want to walk 2,000 more steps," the device obtains the user's current location information from GPS and sends it to the server. Based on the user's current location and the target number of steps, the server searches for nearby destinations that are suitable for achieving the target number of steps. The server uses geographic information and interesting spot data in the database to identify destinations within a 2,000-step radius (approximately 1.6 km) and generates a list.

[0884] This list is sent to the device, and the user can select a specific destination from it. For the selected destination, the server calculates the optimal route and sends the route information to the device. Based on the received route information, the device generates a navigation screen and provides guidance to the user. The user continues walking according to this navigation and achieves the set goal.

[0885] Furthermore, for advanced users, this system also has a function that recommends destinations based on the user's hobbies and preferences. Users can register their hobbies and preferences in their profile beforehand. For example, a user who likes movies can set "movie theaters," while a user who enjoys visiting cafes can set "cafes." This information is stored on the server, and when the user starts walking, they input their "mood for the day," and the server searches for the optimal destination based on this information, the user's current location, and the target number of steps.

[0886] For example, if a user selects "cafe hopping," the server searches for nearby cafes and suggests a course connecting multiple cafes suitable for achieving the step goal. The user can select this course and begin navigation, enjoying cafe hopping while achieving the step goal.

[0887] As described above, this system can increase motivation to exercise by providing a variety of routes and destinations so that users can achieve their goals while enjoying exercise.

[0888] As a concrete example, suppose User A inputs "I want to walk 2000 more steps" into the app. The app obtains the current location, and the server lists parks within 2000 steps. When User A selects the park as a destination, the app starts navigation, and User A walks the specified route to reach the park.

[0889] In another example, User B selects "cafe hopping" and enters a goal of 3,000 steps. The server searches for nearby cafes and suggests a cafe hopping course that covers 3,000 steps. User B can achieve his or her step goal by following this course.

[0890] The above is a specific embodiment of the system according to the present invention.

[0891] The processing flow will be explained below.

[0892] Step 1:

[0893] The user launches the app, which displays a screen for the user to enter profile information (name, age, gender, hobbies, and preferences).

[0894] Step 2:

[0895] The user enters profile information and presses the "Register" button. The device assembles the entered information into a packet and sends it to the server.

[0896] Step 3:

[0897] The server parses the received user information and stores it in the database. The server returns a response to the device indicating successful registration.

[0898] Step 4:

[0899] The user enters the information on the screen where they set their daily step goal and walking time. The device then sends the setting information to the server.

[0900] Step 5:

[0901] The server stores the received information, such as the step goal and walking time, in a database. The server returns a response to the device indicating that the setting was successful.

[0902] Step 6:

[0903] The user inputs the target number of steps (for example, "I want to walk 2000 more steps"). The device obtains the current location information from the GPS and sends it to the server along with the user's input.

[0904] Step 7:

[0905] The server receives the current location and the target number of steps, calculates the reachable range based on the target number of steps, and searches the database for destinations within this range.

[0906] Step 8:

[0907] The server generates a list of destinations as search results, such as nearby parks and cafes.

[0908] Step 9:

[0909] The server transmits the generated destination list to the terminal, and the terminal displays the received destination list to the user.

[0910] Step 10:

[0911] The user selects a destination, and the terminal transmits the selected destination information to the server.

[0912] Step 11:

[0913] The server calculates the optimal route to the selected destination and sends the calculated route information to the terminal.

[0914] Step 12:

[0915] The device generates a navigation screen based on the received route information and displays it to the user. The user then begins walking according to the navigation.

[0916] Step 13:

[0917] When the user finishes walking, the app collects the step count data, and the device sends the collected data to the server.

[0918] Step 14:

[0919] The server stores the received step count data in a database and returns the step count result to the device.

[0920] Step 15:

[0921] The terminal displays the received results to the user. If the user achieves the goal, a completion message is displayed.

[0922] Example 1

[0923] 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."

[0924] In modern society, daily exercise is recommended to maintain health. However, it is difficult to exercise continuously in busy lifestyles, and maintaining motivation is also a challenge. When it comes to walking in particular, the monotonous route and destination decision-making process can be tedious, which is a factor that discourages people from continuing to exercise. Furthermore, the lack of destination suggestions tailored to individual users' hobbies and preferences means that walking tends to become a mere chore.

[0925] 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.

[0926] In this invention, the server includes a means for receiving the user's step count goal and current location, a means for searching for destination candidates based on the received step count goal and current location, a means for generating a list of destination candidates and presenting it to the user, a means for calculating an optimal route to the destination selected by the user, and a means for generating a navigation screen for presenting the calculated route to the user. This allows the user to be suggested an optimal route that matches their step count goal, making it easier to maintain motivation for exercise. Furthermore, by suggesting destinations of interest based on the user's hobbies and preferences, walking becomes more enjoyable.

[0927] The "user's step count goal" is the target value for the number of steps that the user wants to achieve in a day.

[0928] "Current location" is information that indicates the geographical location where the user is located when the user starts walking.

[0929] "Receive" means that the terminal or server receives input such as data or location information from the user.

[0930] The "target number of steps" refers to the number of additional steps that the user sets when walking.

[0931] A "destination" is a location that is set as the end point of a user's walking route.

[0932] "Destination candidates" refer to multiple possible destinations that the server searches for based on the user's current location and target number of steps.

[0933] A "list" is a table for displaying multiple destination candidates side by side.

[0934] A "route" is a path or route from a current location to a destination.

[0935] A "navigation screen" is an interface that visually guides the user along the optimal route to their destination.

[0936] "Hobby and preference information" is information about categories and activities in which the user is interested.

[0937] "Filtering" refers to the operation of narrowing down candidates based on specific conditions.

[0938] "To calculate" means to process some input data and derive a result.

[0939] The system according to the present invention proposes an optimal route for a user to achieve a step count goal, and further recommends attractive destinations based on the user's hobbies and preferences. Specific embodiments of the system are described below.

[0940] The following hardware and software are used to realize this system.

[0941] Hardware:

[0942] Smartphone or tablet device

[0943] server

[0944] software:

[0945] Mobile application (iOS / Android)

[0946] Server-side software (Python, Node.js, etc.)

[0947] Database (MySQL, MongoDB, etc.)

[0948] Geographic Information System (GIS) APIs (such as Google Maps API)

[0949] First, when a user launches the app, the device prompts the user to enter profile information, daily step goal, walking time, etc. The information entered by the user is sent from the device to the server, which then stores it in a database. For example, if a user sets their daily step goal as 8,000 steps and walking time as 30 minutes, this is stored in the database.

[0950] Next, the user inputs the number of steps they want to take when they start walking. For example, if the user inputs "I want to walk 2000 more steps," the device will use GPS to obtain their current location information and send it to the server. The server will search for nearby destination candidates based on the user's current location and the target number of steps. A list of candidates such as parks and libraries within a 2000-step (approximately 1.6 km) radius will be generated and sent to the device.

[0951] When the user selects a specific destination from the list, the device sends that information to the server. The server calculates the optimal route and sends that route information to the device. The device generates a navigation screen based on the received route information and provides guidance to the user. The user continues walking according to this navigation and achieves the set goal.

[0952] Furthermore, this system also has the function of recommending destinations based on the user's hobbies and preferences. Users can register their hobbies and preferences in their profile beforehand. For example, a user who likes movies would set "movie theaters," while a user who likes to visit cafes would set "cafes." This information is stored on the server, and when the user starts walking, they input their "mood for the day." The server then searches for and lists the best destinations based on this information, the user's current location, and the target number of steps.

[0953] For example, if User A enters "I want to walk 2000 more steps" into the app, the app will obtain the current location and the server will list parks within 2000 steps. If User A selects a park as a destination, the app will start navigation and User A will walk the specified route to reach the park.

[0954] In another example, User B selects "cafe hopping" and enters a goal of 3,000 steps. The server searches for nearby cafes and suggests a cafe hopping course that covers 3,000 steps. User B can achieve his or her step goal by following this course.

[0955] Examples of prompts that can be used include:

[0956] "I want to go to the park within 2000 steps."

[0957] "Please suggest a 3,000-step cafe tour course."

[0958] "Tell me a recommended walking course that suits my mood today."

[0959] The above is a specific embodiment of the system according to the present invention. This system allows users to achieve their goals while enjoying exercise, and can increase their motivation to exercise.

[0960] The flow of the identification process in the first embodiment will be described with reference to FIG.

[0961] An explanation of the processing flow of this system's program, broken down into processing steps

[0962] Step 1: Entering the user's profile

[0963] Input: The user enters profile information into the app, such as daily step goal and walking time.

[0964] Operation:

[0965] 1. The user launches the app and enters their profile information.

[0966] 2. The terminal receives the entered profile information.

[0967] 3. The device sends the received information to the server.

[0968] Output: The server stores the profile information in a database.

[0969] As a specific example of operation, a user inputs a daily step goal of 8,000 steps and a walking time of 30 minutes, which is then sent to the server and stored in a database.

[0970] Step 2: Enter your target number of steps and current location

[0971] Input: The user inputs the target number of steps (e.g., 2000 steps) when starting a walk.

[0972] Operation:

[0973] 1. The user inputs the target number of steps.

[0974] 2. The device uses GPS to obtain its current location information.

[0975] 3. The device sends its current location and target number of steps to the server.

[0976] Output: The server receives the target number of steps and the current location.

[0977] As a specific example of operation, the user inputs "I want to walk 2000 more steps," and the device obtains the current location from the GPS and sends it to the server.

[0978] Step 3: Search for destination candidates and generate a list

[0979] Input: Current location information and target number of steps received by the server.

[0980] Operation:

[0981] 1. The server searches the database for nearby destinations based on the current location and the target number of steps.

[0982] 2. The server generates a list of candidate destinations.

[0983] 3. The server sends the generated list to the terminal.

[0984] Output: The device receives a list of potential destinations.

[0985] As a specific example of how it works, the server searches for destinations such as parks and libraries based on a distance of within 2,000 steps (approximately 1.6 km) from the current location, creates a list, and sends it to the terminal.

[0986] Step 4: Select a destination and suggest a route

[0987] Input: The user selects a specific destination from a list of possible destinations.

[0988] Operation:

[0989] 1. The device displays a list of potential destinations to the user.

[0990] 2. The user selects a specific destination from a list.

[0991] 3. The terminal sends the selected destination information to the server.

[0992] 4. The server calculates the optimal route.

[0993] 5. The server sends the calculated route information to the terminal.

[0994] 6. The device generates a navigation screen based on the received route information and provides guidance to the user.

[0995] Output: The terminal displays the route information.

[0996] As a specific example of how it works, the user selects "park" from the list, and the device sends that information to the server. The server calculates the optimal route and sends it back to the device, which then displays the route on the navigation screen.

[0997] Step 5: Recommend destinations based on preferences (optional)

[0998] Input: Interests and preferences previously entered by the user.

[0999] Operation:

[1000] 1. The user registers their hobbies and interests in their profile.

[1001] 2. The device sends this information to the server.

[1002] 3. The server stores the information in a database.

[1003] -- At the start of walking --

[1004] 1. The user inputs "Today's Mood" when starting a walk.

[1005] 2. The device sends its current location and "today's mood" to the server.

[1006] 3. The server searches for a destination based on the hobby and preference information, current location, and target number of steps.

[1007] 4. The server lists the search results and sends them to the device.

[1008] 5. The user selects from the list and receives navigation information.

[1009] Output: A preference-based destination list displayed on the device.

[1010] As a specific example of how this works, if a user sets "cafe hopping" in their profile and selects "cafe hopping" when starting a walk, the server will search for nearby cafes and suggest a cafe hopping course that matches their step goal.

[1011] The above is the specific processing flow of the program for this system.

[1012] (Application example 1)

[1013] 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."

[1014] Conventional walking support systems only aim to help users achieve their step goals, and do not suggest specific destinations or routes to make walking more enjoyable. This creates the problem that users can become bored with monotonous walking and find it difficult to maintain their motivation to exercise. Furthermore, they lack the functionality to recommend attractive destinations based on users' hobbies and preferences, making it difficult to provide walking routes that meet the individual needs of users.

[1015] 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.

[1016] In this invention, the server includes means for receiving a user's step count goal and current location, means for identifying a destination based on the received step count goal and current location, means for generating a route to the identified destination and presenting it to the user, means for filtering destinations based on the user's hobbies and preferences and proposing multiple destinations that meet the step count goal, and means for providing and displaying an optimal navigation route using the Google Maps API. This allows the user to achieve their goal while enjoying interesting destinations during walking, thereby maintaining their motivation to exercise.

[1017] A "step goal" is a specific number of steps that a user wants to walk in a day.

[1018] "Current location" is geographical location information of the location where the user is currently located.

[1019] A "destination" is a specific location that a user aims to reach when walking.

[1020] A "route" is a path that a user takes to reach a destination from their current location.

[1021] "Hobbies and preferences" is information that represents the user's personal interests and tastes.

[1022] "Filtering" is the process of sorting data based on specific criteria.

[1023] "Google Maps API" is a program interface that uses Google's map services to provide functions such as route guidance.

[1024] "Navigation" refers to providing guidance to help a user reach a destination.

[1025] "Profile information" is data related to a user's basic information and personal settings.

[1026] A "server" is a computer system that provides services to clients over a network.

[1027] A "database" is a system for efficiently storing, retrieving, and managing data.

[1028] The present invention is a navigation system that proposes an optimal route based on the user's current location and preferences to help the user achieve a step goal. The system consists of a server, a terminal, and a user.

[1029] First, the user starts up the device and enters their profile information, step goal, and walking time. The server receives this information and stores it in a database. Next, when the user starts walking and enters their goal number of steps, the device obtains their current location information from GPS and sends it to the server. The server searches for destinations within an achievable range based on the user's current location and step goal. For this, a distance calculation tool such as the Geopy library can be used.

[1030] The server then filters the results using the user's hobby and preference information to create a list of destinations that match the user's interests. For example, if a user enjoys cafe hopping, the server can suggest nearby cafes that are aligned with the user's step goal. This suggestion uses the Google Maps API to generate an optimal navigation route and send it to the device.

[1031] The device generates a navigation screen based on the received route information and provides guidance to the user. The user can continue walking by following the navigation and achieve the set goal. This allows the user to avoid getting bored with monotonous walking and maintain motivation to exercise by visiting interesting places.

[1032] As a concrete example, suppose User A inputs "I want to walk 2000 more steps" into the device. The device obtains the current location, and the server lists destinations such as parks and cafes that are accessible within 2000 steps. When User A selects a specific cafe as a destination, the device uses the Google Maps API to display the optimal navigation route, allowing the user to reach the destination by following that route.

[1033] An example prompt for a generative AI model might look like this:

[1034] "Write a Python program that calculates the distance between the user's current location and a destination, and generates the optimal route to reach a step goal set by the user. The user profile also includes information about hobbies and preferences, such as visiting physical stores like cafes and parks. Provide route guidance using the Google Maps API."

[1035] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[1036] Step 1:

[1037] The user starts up the device and enters profile information (e.g., age, gender, etc.), step goal (e.g., 2,000 steps), and walking time (e.g., 30 minutes). This information is sent from the device to the server.

[1038] Input: User profile information, step goal, walking time

[1039] Output: Profile information is saved on the server

[1040] Step 2:

[1041] When a user starts walking, they input the target number of steps (e.g., 2000 more steps). The device obtains the current location information from GPS and sends it to the server.

[1042] Input: User's step goal, current location

[1043] Output: Current location and step goal sent to server

[1044] Step 3:

[1045] The server searches for destinations within reach based on the user's current location and step goal. This process uses the Geopy library to calculate distances and identify destinations within the goal distance.

[1046] Input: Current location, step goal

[1047] Output: List of destinations within the target distance

[1048] Step 4:

[1049] The server filters the list of destinations using the user's hobbies and preferences (e.g., "I like cafe hopping"), thereby displaying only destinations that match the user's interests.

[1050] Input: List of destinations within the target distance, hobby and preference information

[1051] Output: Filtered list of destinations

[1052] Step 5:

[1053] The server uses the Google Maps API to generate the optimal navigation route for the filtered destination and send it to the device.

[1054] Input: Filtered destination list, current location information

[1055] Output: Optimal navigation route information

[1056] Step 6:

[1057] The device generates a navigation screen based on the received route information and provides guidance to the user, displaying information such as the distance to the destination and the estimated arrival time.

[1058] Input: Navigation route information

[1059] Output: Navigation screen display

[1060] Step 7:

[1061] The user continues walking according to the navigation and reaches the set step goal. If the current location is updated along the way, the server recalculates and provides new route information as necessary.

[1062] Input: Updated current location

[1063] Output: New navigation route information (if necessary)

[1064] 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.

[1065] The present invention is a system that proposes an optimal route for achieving a user's step goal and further recommends attractive destinations based on the user's hobbies, preferences, and emotions. This system has the function of recognizing the user's current location and emotions, and filtering and presenting appropriate destinations based on these. Specific embodiments of the system are described below.

[1066] First, when a user launches the app, the device displays a screen that prompts the user to enter profile information (name, age, gender, hobbies, preferences, emotional state). The information entered by the user is sent from the device to the server, which then stores the received information in a database.

[1067] Next, when the user starts walking, they input their target number of steps. For example, the user might input "I want to walk 2,000 more steps." The device obtains this information and the user's current location from GPS and sends it to the server. The server then searches for nearby reachable destinations based on the user's current location and target number of steps. The server also uses an emotion engine to recognize emotions from the user's input and filters destinations based on the emotion information stored in the database. For example, if the user feels like relaxing, parks and cafes will be recommended first.

[1068] The server sends the destination list generated as a search result to the terminal. The user can select a specific destination from the list. For the selected destination, the server calculates the optimal route and sends the route information to the terminal. The terminal generates a navigation screen based on the received route information and provides guidance to the user. The user starts walking to the destination according to the navigation.

[1069] Furthermore, this system has the function of filtering destinations based on the user's hobbies, preferences, and emotions, and proposing the most suitable route. For example, if a user selects "cafe hopping" and the emotion engine recognizes the emotion "I want to relax," the server will search for nearby cafes and propose a route connecting cafes with a relaxing atmosphere. This allows the user to spend some time relaxing while achieving their step goal.

[1070] As a concrete example, if User A enters "I want to walk 2000 more steps" into the app and selects "Tired" as his / her current emotion, the server uses this information to search for nearby destinations such as a relaxing park or a quiet cafe. If User A selects a park as his / her destination, the app will start navigation, and User A will walk the specified route to reach the park. Furthermore, since User A's emotional state is updated continuously during this process, it is possible for the suggested routes and destinations to change in real time.

[1071] As another example, if User B selects "cafe hopping" and the current emotion is recognized as "needing to relieve stress," the server will search for nearby cafes and suggest several cafes where User B can relax. User B can follow the suggested route and achieve his / her step goal while enjoying cafe hopping.

[1072] As described above, the system of the present invention can enhance the motivation of exercise by providing a variety of routes and destinations so that users can achieve their goals while enjoying exercise. Furthermore, by recognizing the user's emotional state and making recommendations accordingly, the system provides a more personalized exercise experience.

[1073] The processing flow will be explained below.

[1074] Step 1:

[1075] The user launches the app. The device displays a screen that prompts the user to enter profile information (name, age, gender, hobbies, preferences, and emotional state).

[1076] Step 2:

[1077] The user enters profile information and presses the "Register" button. The device assembles the entered information into a packet and sends it to the server.

[1078] Step 3:

[1079] The server parses the received user information and stores it in the database. The server returns a response to the device indicating successful registration.

[1080] Step 4:

[1081] The user enters the information on the screen where they set their daily step goal and walking time. The device then sends the setting information to the server.

[1082] Step 5:

[1083] The server stores the received step goal and walking time information in a database, and returns a response to the device indicating that the setting was successful.

[1084] Step 6:

[1085] The user inputs the target number of steps (for example, "I want to walk 2000 more steps"). The device obtains the current location information from the GPS and sends it to the server along with the user's input.

[1086] Step 7:

[1087] The server receives the current location and the target number of steps, and calculates the reachable range (distance) based on the target number of steps.

[1088] Step 8:

[1089] The server uses geographic information and points of interest data in its database to search for destinations within the calculated distance.

[1090] Step 9:

[1091] The server transmits the destination list generated as a search result to the terminal, and the terminal displays the received destination list to the user.

[1092] Step 10:

[1093] The user selects a destination, for example, "a nearby park." The terminal transmits the selected destination information to the server.

[1094] Step 11:

[1095] The server calculates the optimal route to the selected destination and sends the calculated route information to the terminal.

[1096] Step 12:

[1097] The device generates a navigation screen based on the received route information and displays it to the user. The user then begins walking according to the navigation.

[1098] Step 13:

[1099] While the user is walking, the app recognizes the user's emotional state using an emotion engine, for example, by collecting emotions through camera or voice input.

[1100] Step 14:

[1101] The device sends the emotional state to the server, which stores the received emotional information in a database.

[1102] Step 15:

[1103] The server filters suitable destinations for the user based on the emotion information and updates the route as needed.

[1104] Step 16:

[1105] The server sends updated route information and recommended destination information to the device, which then displays the updated information to the user.

[1106] Step 17:

[1107] The user follows the instructions and reaches the destination. When the user finishes walking, the app collects the step count data. The device then sends the collected data to the server.

[1108] Step 18:

[1109] The server stores the received step count data in a database and returns the step count result to the device.

[1110] Step 19:

[1111] The terminal displays the received results to the user. If the user achieves the goal, a completion message is displayed.

[1112] Example 2

[1113] 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."

[1114] Conventional walking navigation systems could provide destinations based on a user's step goal and current location, but they did not provide personalized suggestions that took into account the user's individual emotional state, hobbies, and preferences. This resulted in a lack of motivation for users to not only achieve their goals, but also to enjoy walking more continuously. The present invention aims to solve these problems and provide a system that can provide users with an optimal walking experience that suits their emotions, hobbies, and preferences.

[1115] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes means for receiving the user's step count target and current location, means for identifying a destination based on the received step count target and current location, means for recognizing the user's emotional state and filtering destinations based on the emotional state, means for generating a route to the identified destination and presenting it to the user, and means for inputting profile information and storing the information in a database. This allows the user to receive suggestions for optimal walking routes and destinations that match their emotional state and hobbies and preferences.

[1116] A "step goal" is a specific number of steps that a user sets to achieve while walking.

[1117] "Current location" refers to the real-time geographic location of the user when they start walking.

[1118] A "destination" is a candidate location where the user should head to in order to achieve the step goal.

[1119] "Emotional state" refers to information that indicates the psychological state that the user is currently feeling.

[1120] "Profile information" refers to information that includes a user's personal information (such as name, age, gender, hobbies, and preferences) and emotional state.

[1121] "Filtering" is the process of selecting and extracting data based on specific conditions.

[1122] A "route" is a specific path a user takes to reach a destination.

[1123] A "database" is an information repository that stores user profile information and destination information.

[1124] The present invention is a system that proposes an optimal route for achieving a user's step goal and also recommends attractive destinations based on the user's hobbies, preferences, and emotions. This system has the function of recognizing the user's current location and emotions, and filtering and presenting appropriate destinations based on these. Specifically, the system is implemented using the following hardware and software.

[1125] Hardware and Software Configuration

[1126] Device: A portable electronic device, such as a smartphone or tablet, that runs applications, accepts input from the user, and displays data from a server.

[1127] Server: A computing resource installed in a cloud environment or data center. It processes data received from users, searches for and filters destinations, and calculates routes.

[1128] GPS module: A geolocation information acquisition device built into a device that acquires the user's current location in real time.

[1129] Database: A repository of information that stores user profile information, hobbies, preferences, emotional states, and destination information.

[1130] Program processing overview

[1131] 1. User Actions:

[1132] A user starts the app and enters their profile information (name, age, gender, hobbies, preferences, emotional state), which is then sent from the device to the server and stored in a database.

[1133] When starting a walk, the user inputs the target number of steps. For example, the user can set a goal such as "I want to walk 2000 more steps."

[1134] 2. The device performs the following actions:

[1135] The terminal displays a profile information input screen for the user.

[1136] The terminal acquires the user's current location from the GPS and transmits it to the server along with target step count information.

[1137] The terminal generates a navigation screen based on the route information received from the server and provides guidance to the user.

[1138] 3. The server performs the following actions:

[1139] The server stores the user profile information sent from the terminal in a database.

[1140] The server searches a database for reachable destinations based on the user's current location and target number of steps.

[1141] The server uses an emotion engine to analyze the user's input emotional state and filter appropriate destinations.

[1142] The server sends the filtered list of destinations to the terminal and calculates the optimal route to the destinations selected by the user.

[1143] Specific examples

[1144] Example 1

[1145] If a user inputs "I want to walk 2,000 more steps" and selects "Tired" as their current emotion, the server uses this information to search for nearby parks and quiet cafes where they can relax. If the user selects "park," the app will begin navigation, and the user will walk the specified route to the park. During this process, the user's emotional state is constantly updated, and route and destination suggestions may change in real time.

[1146] Example 2

[1147] If the user selects "cafe hopping" and their current emotion is recognized as "needing to relieve stress," the server will search for nearby cafes and suggest several cafes where they can relax. The user can follow the suggested route and achieve their step goal while enjoying cafe hopping.

[1148] Prompt Sentence Examples

[1149] User: Name: Yamada Hanako, 25 years old, female. Hobbies: Walking and visiting cafes. Emotional state: I want to relax. Next, I want to walk another 1,500 steps.

[1150] Device: Current location obtained (latitude 35.7128, longitude 139.7759). Data will be sent to the server.

[1151] Server: We've found Park B, Cafe D, and Cafe E where you can relax.

[1152] Device: Select a destination. Destination B, Park. Start route navigation.

[1153] User: Start walking according to the navigation.

[1154] As described above, the system according to the present invention can provide the optimal route and destination by taking into consideration the user's step goal, current location, emotional state, and hobbies and preferences, thereby enabling the user to achieve their goal while enjoying continuous walking.

[1155] The flow of the identification process in the second embodiment will be described with reference to FIG.

[1156] Step 1: Enter and submit your user profile information

[1157] The user launches the app and enters their profile information (name, age, gender, hobbies, preferences, and emotional state).

[1158] Input: User profile information.

[1159] The terminal displays an input screen and collects information entered by the user.

[1160] Action: The user enters "Taro Tanaka, 30 years old, male, hobbies are reading and jogging, current emotion is stressed" and clicks the "Submit" button.

[1161] The terminal transmits the collected profile information to the server.

[1162] Output: The profile information sent by the device to the server.

[1163] Step 2: Enter and send your target number of steps and current location

[1164] The user inputs a walking goal, for example, "I want to walk 2000 more steps."

[1165] Input: The user's target number of steps.

[1166] The device obtains the user's current location from the GPS.

[1167] Operation: The user enters "2000 steps" and presses the "Start" button. The device obtains the current location (latitude 35.6895, longitude 139.6917) from the GPS.

[1168] The device sends the target number of steps and the current location to the server.

[1169] Output: The target number of steps and current location sent by the device to the server.

[1170] Step 3: Find reachable destinations

[1171] Based on the current location and target number of steps received by the server, a database is searched for destinations within a reachable range.

[1172] Input: Current location and target number of steps received by the server.

[1173] How it works: The server searches the database for places within 2000 steps around "latitude 35.6895, longitude 139.6917". For example, it lists parks, cafes, shopping malls, etc.

[1174] Output: A server-generated list of destinations.

[1175] Step 4: Filtering destinations based on sentiment

[1176] The server uses an emotion engine to analyze the user's input emotional state.

[1177] Input: The user's emotional state.

[1178] The server filters the list of reachable destinations based on the analysis results.

[1179] How it works: Based on the user's input that they are "feeling stressed," the emotion engine prioritizes a list of places suitable for relaxation, such as parks or quiet cafes.

[1180] Output: The filtered list of destinations.

[1181] Step 5: Send and view the filtered destination list

[1182] The server sends the filtered destination list to the terminal.

[1183] Input: A filtered list of destinations.

[1184] The terminal displays the received destination list.

[1185] Operation: The server sends "Park A," "Cafe B," and "Cafe C" to the device, which displays them to the user.

[1186] Output: The destination list displayed by the device.

[1187] Step 6: Select destination and calculate route

[1188] The user selects one from the filtered list of destinations.

[1189] Input: The user's selected destination.

[1190] The server calculates the optimal route to the selected destination.

[1191] Operation: The user selects "Park A" and presses the "OK" button. The server calculates the route and sends it to the device.

[1192] The server sends the route information to the terminal.

[1193] Output: The route information sent by the server to the device.

[1194] Step 7: Navigate and start walking

[1195] Navigation is provided based on the route information received by the device.

[1196] Input: Route information sent by the server.

[1197] Operation: The device displays "Route to Park A" on the navigation screen. The user begins walking along that route.

[1198] The user starts walking according to the navigation.

[1199] Output: Location updates as the user moves towards their destination.

[1200] The above are the specific processing steps and details of the program of this system. The specific operations at each step are designed to enable users to select the optimal route and destination in real time, providing a personalized walking experience.

[1201] (Application example 2)

[1202] 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."

[1203] Conventional step goal achievement systems have the problem of being unable to provide a personalized experience because they are unable to identify destinations that take into account the user's emotional state, hobbies, and preferences. This has led to problems such as a lack of interest and motivation for users to achieve their goals.

[1204] 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.

[1205] In this invention, the server includes means for receiving the user's step count goal and current location, means for recognizing and receiving the user's emotional state, means for identifying a destination based on the received step count goal, current location, and emotional state, and means for generating a route to the identified destination and presenting it to the user, thereby making it possible to propose an optimal destination and route taking into consideration the user's emotional state and hobbies and preferences.

[1206] A "user step goal" is a particular number of steps that a user wishes to achieve.

[1207] "Current location" refers to the geographic coordinates of where the user is located.

[1208] "Emotional state" refers to a user's current state of mind or mood.

[1209] "Hobby and preference information" refers to information about the user's interests and preferences.

[1210] A "destination" is a location to which a user is heading.

[1211] A "route" is the path a user takes to reach a destination.

[1212] "Filtering" means sorting out information based on specific conditions.

[1213] A "specific distance" is the range within which a user can move.

[1214] This invention proposes an optimal route for achieving a user's step goal and recommends attractive destinations based on the user's hobbies, preferences, and emotions. This system recognizes the user's current location and emotional state, and then filters and presents appropriate destinations based on these.

[1215] Program Generation

[1216] The system that realizes this application works according to the following process:

[1217] Hardware and Software Use

[1218] Hardware: Smartphone

[1219] software:

[1220] GPS function: To obtain your current location

[1221] Generative AI Models: To Recognize Users' Emotional States

[1222] Cloud server: for storing and processing data

[1223] Flask: To build a WebAPI

[1224] Data Processing and Data Calculation

[1225] 1. Location information acquisition:

[1226] When a user launches the app on their smartphone, the app uses the GPS to obtain their current location, which is expressed in the form of latitude and longitude.

[1227] 2. Recognition of emotional states:

[1228] Using a generative AI model, the system recognizes the emotional state input by the user (e.g., wanting to relax, feeling tired, etc.) and stores it in a database.

[1229] 3. Set a step goal:

[1230] The user enters a step goal into the app (e.g., "I want to walk 3,000 more steps"), which determines the distance they should travel.

[1231] 4. Destination Filtering:

[1232] The server searches for nearby destinations based on the user's current location, emotional state, and hobbies and preferences. Destinations include stores, parks, cafes, and other locations pre-registered in a database.

[1233] 5. Generate routes:

[1234] The server calculates the optimal route to the specified destination and presents it to the user, inputting the following prompt into the generative AI model:

[1235] Based on the user information below, please suggest three relaxing places nearby.

[1236] Step goal: 3000 more steps

[1237] Current emotional state: I want to relax

[1238] Current location coordinates: (35.6895, 139.6917)

[1239] 6. Providing navigation:

[1240] Once the user selects a destination, the smartphone app will begin navigation and guide the user to the destination.

[1241] Specific examples

[1242] If User A enters "I want to walk 2000 more steps" into the app and selects "Tired" as his / her current emotional state, the server uses this information to search for nearby destinations such as relaxing parks or quiet cafes. If User A selects a park as his / her destination, the app will start navigation, and User A will walk the specified route to the park. Furthermore, since User A's emotional state is updated as it progresses, it is possible for the suggested routes and destinations to change in real time.

[1243] As described above, the system of the present invention can enhance the motivation of exercise by providing a variety of routes and destinations so that users can achieve their goals while enjoying exercise. Furthermore, by recognizing the user's emotional state and making recommendations accordingly, the system provides a more personalized exercise experience.

[1244] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[1245] Step 1:

[1246] The user launches the smartphone app and enters profile information (name, age, gender, hobbies, preferences, and emotional state).

[1247] Input: User profile information

[1248] Data processing: The device receives the entered information and sends it to the server.

[1249] Output: User profile information stored on the server

[1250] Step 2:

[1251] The user enters a step goal into the app and starts walking.

[1252] Input: User's step goal (e.g., "3000 more steps")

[1253] Data processing: The device receives the step goal and obtains the current location using the GPS function.

[1254] Output: Step goal and current location sent to the server

[1255] Step 3:

[1256] The server recognizes the user's emotional state using a generative AI model and stores it in a database.

[1257] Input: User's emotional state (e.g., "I want to relax")

[1258] Data processing: The generative AI model analyzes the emotional state and sends the results to the server

[1259] Output: User's emotional state stored on the server

[1260] Step 4:

[1261] The server searches for nearby destinations based on the user's step goal, current location, and emotional state.

[1262] Input: Step goal, current location, emotional state

[1263] Data processing: The server queries the database based on this information and generates an appropriate list of destinations.

[1264] Output: Destination list

[1265] Step 5:

[1266] The server filters destinations from the generated destination list based on the user's interest and preference information.

[1267] Input: Destination list, hobby and preference information

[1268] Data processing: The server uses the appropriate recommendation algorithm to filter the list

[1269] Output: Filtered list of destinations

[1270] Step 6:

[1271] The user selects the desired destination from the filtered destinations.

[1272] Input: Filtered list of destinations

[1273] Data processing: User selectable

[1274] Output: Selected destination

[1275] Step 7:

[1276] The server calculates the optimal route based on the selected destination.

[1277] Input: User's current location, selected destination

[1278] Data processing: Generate optimal routes using route calculation algorithms

[1279] Output: Optimal route information

[1280] Step 8:

[1281] The terminal presents the optimal route received from the server to the user and starts navigation.

[1282] Input: Optimal route information

[1283] Data processing: The device generates a navigation screen based on route information

[1284] Output: The navigation screen that the user sees

[1285] For example, if a user inputs "I want to walk 2000 more steps" and selects "Tired" as their emotional state, the server will suggest nearby parks and quiet cafes where they can relax. After that, the user selects the park as their destination, and the app will display the optimal route and begin navigation.

[1286] 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.

[1287] 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.

[1288] 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.

[1289] [Fourth embodiment]

[1290] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.

[1291] 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.

[1292] 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).

[1293] 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.

[1294] 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.

[1295] 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).

[1296] 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.

[1297] 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.

[1298] 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.

[1299] 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.

[1300] 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.

[1301] 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.

[1302] 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."

[1303] The system according to the present invention can propose an optimal route for a user to achieve their step goal and can also recommend attractive destinations based on the user's hobbies and preferences. Specific embodiments of the system will be described below.

[1304] First, when a user launches the app, the device prompts the user to enter profile information, daily step goals, walking time, etc. The information entered by the user is sent from the device to the server, which then stores it in a database.

[1305] Next, when the user starts walking, they input the number of steps they want to walk. For example, if they input "I want to walk 2,000 more steps," the device obtains the user's current location information from GPS and sends it to the server. Based on the user's current location and the target number of steps, the server searches for nearby destinations that are suitable for achieving the target number of steps. The server uses geographic information and interesting spot data in the database to identify destinations within a 2,000-step radius (approximately 1.6 km) and generates a list.

[1306] This list is sent to the device, and the user can select a specific destination from it. For the selected destination, the server calculates the optimal route and sends the route information to the device. Based on the received route information, the device generates a navigation screen and provides guidance to the user. The user continues walking according to this navigation and achieves the set goal.

[1307] Furthermore, for advanced users, this system also has a function that recommends destinations based on the user's hobbies and preferences. Users can register their hobbies and preferences in their profile beforehand. For example, a user who likes movies can set "movie theaters," while a user who enjoys visiting cafes can set "cafes." This information is stored on the server, and when the user starts walking, they input their "mood for the day," and the server searches for the optimal destination based on this information, the user's current location, and the target number of steps.

[1308] For example, if a user selects "cafe hopping," the server searches for nearby cafes and suggests a course connecting multiple cafes suitable for achieving the step goal. The user can select this course and begin navigation, enjoying cafe hopping while achieving the step goal.

[1309] As described above, this system can increase motivation to exercise by providing a variety of routes and destinations so that users can achieve their goals while enjoying exercise.

[1310] As a concrete example, suppose User A inputs "I want to walk 2000 more steps" into the app. The app obtains the current location, and the server lists parks within 2000 steps. When User A selects the park as a destination, the app starts navigation, and User A walks the specified route to reach the park.

[1311] In another example, User B selects "cafe hopping" and enters a goal of 3,000 steps. The server searches for nearby cafes and suggests a cafe hopping course that covers 3,000 steps. User B can achieve his or her step goal by following this course.

[1312] The above is a specific embodiment of the system according to the present invention.

[1313] The processing flow will be explained below.

[1314] Step 1:

[1315] The user launches the app, which displays a screen for the user to enter profile information (name, age, gender, hobbies, and preferences).

[1316] Step 2:

[1317] The user enters profile information and presses the "Register" button. The device assembles the entered information into a packet and sends it to the server.

[1318] Step 3:

[1319] The server parses the received user information and stores it in the database. The server returns a response to the device indicating successful registration.

[1320] Step 4:

[1321] The user enters the information on the screen where they set their daily step goal and walking time. The device then sends the setting information to the server.

[1322] Step 5:

[1323] The server stores the received information, such as the step goal and walking time, in a database. The server returns a response to the device indicating that the setting was successful.

[1324] Step 6:

[1325] The user inputs the target number of steps (for example, "I want to walk 2000 more steps"). The device obtains the current location information from the GPS and sends it to the server along with the user's input.

[1326] Step 7:

[1327] The server receives the current location and the target number of steps, calculates the reachable range based on the target number of steps, and searches the database for destinations within this range.

[1328] Step 8:

[1329] The server generates a list of destinations as search results, such as nearby parks and cafes.

[1330] Step 9:

[1331] The server transmits the generated destination list to the terminal, and the terminal displays the received destination list to the user.

[1332] Step 10:

[1333] The user selects a destination, and the terminal transmits the selected destination information to the server.

[1334] Step 11:

[1335] The server calculates the optimal route to the selected destination and sends the calculated route information to the terminal.

[1336] Step 12:

[1337] The device generates a navigation screen based on the received route information and displays it to the user. The user then begins walking according to the navigation.

[1338] Step 13:

[1339] When the user finishes walking, the app collects the step count data, and the device sends the collected data to the server.

[1340] Step 14:

[1341] The server stores the received step count data in a database and returns the step count result to the device.

[1342] Step 15:

[1343] The terminal displays the received results to the user. If the user achieves the goal, a completion message is displayed.

[1344] Example 1

[1345] 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."

[1346] In modern society, daily exercise is recommended to maintain health. However, it is difficult to exercise continuously in busy lifestyles, and maintaining motivation is also a challenge. When it comes to walking in particular, the monotonous route and destination decision-making process can be tedious, which is a factor that discourages people from continuing to exercise. Furthermore, the lack of destination suggestions tailored to individual users' hobbies and preferences means that walking tends to become a mere chore.

[1347] 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.

[1348] In this invention, the server includes a means for receiving the user's step count goal and current location, a means for searching for destination candidates based on the received step count goal and current location, a means for generating a list of destination candidates and presenting it to the user, a means for calculating an optimal route to the destination selected by the user, and a means for generating a navigation screen for presenting the calculated route to the user. This allows the user to be suggested an optimal route that matches their step count goal, making it easier to maintain motivation for exercise. Furthermore, by suggesting destinations of interest based on the user's hobbies and preferences, walking becomes more enjoyable.

[1349] The "user's step count goal" is the target value for the number of steps that the user wants to achieve in a day.

[1350] "Current location" is information that indicates the geographical location where the user is located when the user starts walking.

[1351] "Receive" means that the terminal or server receives input such as data or location information from the user.

[1352] The "target number of steps" refers to the number of additional steps that the user sets when walking.

[1353] A "destination" is a location that is set as the end point of a user's walking route.

[1354] "Destination candidates" refer to multiple possible destinations that the server searches for based on the user's current location and target number of steps.

[1355] A "list" is a table for displaying multiple destination candidates side by side.

[1356] A "route" is a path or route from a current location to a destination.

[1357] A "navigation screen" is an interface that visually guides the user along the optimal route to their destination.

[1358] "Hobby and preference information" is information about categories and activities in which the user is interested.

[1359] "Filtering" refers to the operation of narrowing down candidates based on specific conditions.

[1360] "To calculate" means to process some input data and derive a result.

[1361] The system according to the present invention proposes an optimal route for a user to achieve a step count goal, and further recommends attractive destinations based on the user's hobbies and preferences. Specific embodiments of the system are described below.

[1362] The following hardware and software are used to realize this system.

[1363] Hardware:

[1364] Smartphone or tablet device

[1365] server

[1366] software:

[1367] Mobile application (iOS / Android)

[1368] Server-side software (Python, Node.js, etc.)

[1369] Database (MySQL, MongoDB, etc.)

[1370] Geographic Information System (GIS) APIs (such as Google Maps API)

[1371] First, when a user launches the app, the device prompts the user to enter profile information, daily step goal, walking time, etc. The information entered by the user is sent from the device to the server, which then stores it in a database. For example, if a user sets their daily step goal as 8,000 steps and walking time as 30 minutes, this is stored in the database.

[1372] Next, the user inputs the number of steps they want to take when they start walking. For example, if the user inputs "I want to walk 2000 more steps," the device will use GPS to obtain their current location information and send it to the server. The server will search for nearby destination candidates based on the user's current location and the target number of steps. A list of candidates such as parks and libraries within a 2000-step (approximately 1.6 km) radius will be generated and sent to the device.

[1373] When the user selects a specific destination from the list, the device sends that information to the server. The server calculates the optimal route and sends that route information to the device. The device generates a navigation screen based on the received route information and provides guidance to the user. The user continues walking according to this navigation and achieves the set goal.

[1374] Furthermore, this system also has the function of recommending destinations based on the user's hobbies and preferences. Users can register their hobbies and preferences in their profile beforehand. For example, a user who likes movies would set "movie theaters," while a user who likes to visit cafes would set "cafes." This information is stored on the server, and when the user starts walking, they input their "mood for the day." The server then searches for and lists the best destinations based on this information, the user's current location, and the target number of steps.

[1375] For example, if User A enters "I want to walk 2000 more steps" into the app, the app will obtain the current location and the server will list parks within 2000 steps. If User A selects a park as a destination, the app will start navigation and User A will walk the specified route to reach the park.

[1376] In another example, User B selects "cafe hopping" and enters a goal of 3,000 steps. The server searches for nearby cafes and suggests a cafe hopping course that covers 3,000 steps. User B can achieve his or her step goal by following this course.

[1377] Examples of prompts that can be used include:

[1378] "I want to go to the park within 2000 steps."

[1379] "Please suggest a 3,000-step cafe tour course."

[1380] "Tell me a recommended walking course that suits my mood today."

[1381] The above is a specific embodiment of the system according to the present invention. This system allows users to achieve their goals while enjoying exercise, and can increase their motivation to exercise.

[1382] The flow of the identification process in the first embodiment will be described with reference to FIG.

[1383] An explanation of the processing flow of this system's program, broken down into processing steps

[1384] Step 1: Entering the user's profile

[1385] Input: The user enters profile information into the app, such as daily step goal and walking time.

[1386] Operation:

[1387] 1. The user launches the app and enters their profile information.

[1388] 2. The terminal receives the entered profile information.

[1389] 3. The device sends the received information to the server.

[1390] Output: The server stores the profile information in a database.

[1391] As a specific example of operation, a user inputs a daily step goal of 8,000 steps and a walking time of 30 minutes, which is then sent to the server and stored in a database.

[1392] Step 2: Enter your target number of steps and current location

[1393] Input: The user inputs the target number of steps (e.g., 2000 steps) when starting a walk.

[1394] Operation:

[1395] 1. The user inputs the target number of steps.

[1396] 2. The device uses GPS to obtain its current location information.

[1397] 3. The device sends its current location and target number of steps to the server.

[1398] Output: The server receives the target number of steps and the current location.

[1399] As a specific example of operation, the user inputs "I want to walk 2000 more steps," and the device obtains the current location from the GPS and sends it to the server.

[1400] Step 3: Search for destination candidates and generate a list

[1401] Input: Current location information and target number of steps received by the server.

[1402] Operation:

[1403] 1. The server searches the database for nearby destinations based on the current location and the target number of steps.

[1404] 2. The server generates a list of candidate destinations.

[1405] 3. The server sends the generated list to the terminal.

[1406] Output: The device receives a list of potential destinations.

[1407] As a specific example of how it works, the server searches for destinations such as parks and libraries based on a distance of within 2,000 steps (approximately 1.6 km) from the current location, creates a list, and sends it to the terminal.

[1408] Step 4: Select a destination and suggest a route

[1409] Input: The user selects a specific destination from a list of possible destinations.

[1410] Operation:

[1411] 1. The device displays a list of potential destinations to the user.

[1412] 2. The user selects a specific destination from a list.

[1413] 3. The terminal sends the selected destination information to the server.

[1414] 4. The server calculates the optimal route.

[1415] 5. The server sends the calculated route information to the terminal.

[1416] 6. The device generates a navigation screen based on the received route information and provides guidance to the user.

[1417] Output: The terminal displays the route information.

[1418] As a specific example of how it works, the user selects "park" from the list, and the device sends that information to the server. The server calculates the optimal route and sends it back to the device, which then displays the route on the navigation screen.

[1419] Step 5: Recommend destinations based on preferences (optional)

[1420] Input: Interests and preferences previously entered by the user.

[1421] Operation:

[1422] 1. The user registers their hobbies and interests in their profile.

[1423] 2. The device sends this information to the server.

[1424] 3. The server stores the information in a database.

[1425] -- At the start of walking --

[1426] 1. The user inputs "Today's Mood" when starting a walk.

[1427] 2. The device sends its current location and "today's mood" to the server.

[1428] 3. The server searches for a destination based on the hobby and preference information, current location, and target number of steps.

[1429] 4. The server lists the search results and sends them to the device.

[1430] 5. The user selects from the list and receives navigation information.

[1431] Output: A preference-based destination list displayed on the device.

[1432] As a specific example of how this works, if a user sets "cafe hopping" in their profile and selects "cafe hopping" when starting a walk, the server will search for nearby cafes and suggest a cafe hopping course that matches their step goal.

[1433] The above is the specific processing flow of the program for this system.

[1434] (Application example 1)

[1435] 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."

[1436] Conventional walking support systems only aim to help users achieve their step goals, and do not suggest specific destinations or routes to make walking more enjoyable. This creates the problem that users can become bored with monotonous walking and find it difficult to maintain their motivation to exercise. Furthermore, they lack the functionality to recommend attractive destinations based on users' hobbies and preferences, making it difficult to provide walking routes that meet the individual needs of users.

[1437] 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.

[1438] In this invention, the server includes means for receiving a user's step count goal and current location, means for identifying a destination based on the received step count goal and current location, means for generating a route to the identified destination and presenting it to the user, means for filtering destinations based on the user's hobbies and preferences and proposing multiple destinations that meet the step count goal, and means for providing and displaying an optimal navigation route using the Google Maps API. This allows the user to achieve their goal while enjoying interesting destinations during walking, thereby maintaining their motivation to exercise.

[1439] A "step goal" is a specific number of steps that a user wants to walk in a day.

[1440] "Current location" is geographical location information of the location where the user is currently located.

[1441] A "destination" is a specific location that a user aims to reach when walking.

[1442] A "route" is a path that a user takes to reach a destination from their current location.

[1443] "Hobbies and preferences" is information that represents the user's personal interests and tastes.

[1444] "Filtering" is the process of sorting data based on specific criteria.

[1445] "Google Maps API" is a program interface that uses Google's map services to provide functions such as route guidance.

[1446] "Navigation" refers to providing guidance to help a user reach a destination.

[1447] "Profile information" is data related to a user's basic information and personal settings.

[1448] A "server" is a computer system that provides services to clients over a network.

[1449] A "database" is a system for efficiently storing, retrieving, and managing data.

[1450] The present invention is a navigation system that proposes an optimal route based on the user's current location and preferences to help the user achieve a step goal. The system consists of a server, a terminal, and a user.

[1451] First, the user starts up the device and enters their profile information, step goal, and walking time. The server receives this information and stores it in a database. Next, when the user starts walking and enters their goal number of steps, the device obtains their current location information from GPS and sends it to the server. The server searches for destinations within an achievable range based on the user's current location and step goal. For this, a distance calculation tool such as the Geopy library can be used.

[1452] The server then filters the results using the user's hobby and preference information to create a list of destinations that match the user's interests. For example, if a user enjoys cafe hopping, the server can suggest nearby cafes that are aligned with the user's step goal. This suggestion uses the Google Maps API to generate an optimal navigation route and send it to the device.

[1453] The device generates a navigation screen based on the received route information and provides guidance to the user. The user can continue walking by following the navigation and achieve the set goal. This allows the user to avoid getting bored with monotonous walking and maintain motivation to exercise by visiting interesting places.

[1454] As a concrete example, suppose User A inputs "I want to walk 2000 more steps" into the device. The device obtains the current location, and the server lists destinations such as parks and cafes that are accessible within 2000 steps. When User A selects a specific cafe as a destination, the device uses the Google Maps API to display the optimal navigation route, allowing the user to reach the destination by following that route.

[1455] An example prompt for a generative AI model might look like this:

[1456] "Write a Python program that calculates the distance between the user's current location and a destination, and generates the optimal route to reach a step goal set by the user. The user profile also includes information about hobbies and preferences, such as visiting physical stores like cafes and parks. Provide route guidance using the Google Maps API."

[1457] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[1458] Step 1:

[1459] The user starts up the device and enters profile information (e.g., age, gender, etc.), step goal (e.g., 2,000 steps), and walking time (e.g., 30 minutes). This information is sent from the device to the server.

[1460] Input: User profile information, step goal, walking time

[1461] Output: Profile information is saved on the server

[1462] Step 2:

[1463] When a user starts walking, they input the target number of steps (e.g., 2000 more steps). The device obtains the current location information from GPS and sends it to the server.

[1464] Input: User's step goal, current location

[1465] Output: Current location and step goal sent to server

[1466] Step 3:

[1467] The server searches for destinations within reach based on the user's current location and step goal. This process uses the Geopy library to calculate distances and identify destinations within the goal distance.

[1468] Input: Current location, step goal

[1469] Output: List of destinations within the target distance

[1470] Step 4:

[1471] The server filters the list of destinations using the user's hobbies and preferences (e.g., "I like cafe hopping"), thereby displaying only destinations that match the user's interests.

[1472] Input: List of destinations within the target distance, hobby and preference information

[1473] Output: Filtered list of destinations

[1474] Step 5:

[1475] The server uses the Google Maps API to generate the optimal navigation route for the filtered destination and send it to the device.

[1476] Input: Filtered destination list, current location information

[1477] Output: Optimal navigation route information

[1478] Step 6:

[1479] The device generates a navigation screen based on the received route information and provides guidance to the user, displaying information such as the distance to the destination and the estimated arrival time.

[1480] Input: Navigation route information

[1481] Output: Navigation screen display

[1482] Step 7:

[1483] The user continues walking according to the navigation and reaches the set step goal. If the current location is updated along the way, the server recalculates and provides new route information as necessary.

[1484] Input: Updated current location

[1485] Output: New navigation route information (if necessary)

[1486] 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.

[1487] The present invention is a system that proposes an optimal route for achieving a user's step goal and further recommends attractive destinations based on the user's hobbies, preferences, and emotions. This system has the function of recognizing the user's current location and emotions, and filtering and presenting appropriate destinations based on these. Specific embodiments of the system are described below.

[1488] First, when a user launches the app, the device displays a screen that prompts the user to enter profile information (name, age, gender, hobbies, preferences, emotional state). The information entered by the user is sent from the device to the server, which then stores the received information in a database.

[1489] Next, when the user starts walking, they input their target number of steps. For example, the user might input "I want to walk 2,000 more steps." The device obtains this information and the user's current location from GPS and sends it to the server. The server then searches for nearby reachable destinations based on the user's current location and target number of steps. The server also uses an emotion engine to recognize emotions from the user's input and filters destinations based on the emotion information stored in the database. For example, if the user feels like relaxing, parks and cafes will be recommended first.

[1490] The server sends the destination list generated as a search result to the terminal. The user can select a specific destination from the list. For the selected destination, the server calculates the optimal route and sends the route information to the terminal. The terminal generates a navigation screen based on the received route information and provides guidance to the user. The user starts walking to the destination according to the navigation.

[1491] Furthermore, this system has the function of filtering destinations based on the user's hobbies, preferences, and emotions, and proposing the most suitable route. For example, if a user selects "cafe hopping" and the emotion engine recognizes the emotion "I want to relax," the server will search for nearby cafes and propose a route connecting cafes with a relaxing atmosphere. This allows the user to spend some time relaxing while achieving their step goal.

[1492] As a concrete example, if User A enters "I want to walk 2000 more steps" into the app and selects "Tired" as his / her current emotion, the server uses this information to search for nearby destinations such as a relaxing park or a quiet cafe. If User A selects a park as his / her destination, the app will start navigation, and User A will walk the specified route to reach the park. Furthermore, since User A's emotional state is updated continuously during this process, it is possible for the suggested routes and destinations to change in real time.

[1493] As another example, if User B selects "cafe hopping" and the current emotion is recognized as "needing to relieve stress," the server will search for nearby cafes and suggest several cafes where User B can relax. User B can follow the suggested route and achieve his / her step goal while enjoying cafe hopping.

[1494] As described above, the system of the present invention can enhance the motivation of exercise by providing a variety of routes and destinations so that users can achieve their goals while enjoying exercise. Furthermore, by recognizing the user's emotional state and making recommendations accordingly, the system provides a more personalized exercise experience.

[1495] The processing flow will be explained below.

[1496] Step 1:

[1497] The user launches the app. The device displays a screen that prompts the user to enter profile information (name, age, gender, hobbies, preferences, and emotional state).

[1498] Step 2:

[1499] The user enters profile information and presses the "Register" button. The device assembles the entered information into a packet and sends it to the server.

[1500] Step 3:

[1501] The server parses the received user information and stores it in the database. The server returns a response to the device indicating successful registration.

[1502] Step 4:

[1503] The user enters the information on the screen where they set their daily step goal and walking time. The device then sends the setting information to the server.

[1504] Step 5:

[1505] The server stores the received step goal and walking time information in a database, and returns a response to the device indicating that the setting was successful.

[1506] Step 6:

[1507] The user inputs the target number of steps (for example, "I want to walk 2000 more steps"). The device obtains the current location information from the GPS and sends it to the server along with the user's input.

[1508] Step 7:

[1509] The server receives the current location and the target number of steps, and calculates the reachable range (distance) based on the target number of steps.

[1510] Step 8:

[1511] The server uses geographic information and points of interest data in its database to search for destinations within the calculated distance.

[1512] Step 9:

[1513] The server transmits the destination list generated as a search result to the terminal, and the terminal displays the received destination list to the user.

[1514] Step 10:

[1515] The user selects a destination, for example, "a nearby park." The terminal transmits the selected destination information to the server.

[1516] Step 11:

[1517] The server calculates the optimal route to the selected destination and sends the calculated route information to the terminal.

[1518] Step 12:

[1519] The device generates a navigation screen based on the received route information and displays it to the user. The user then begins walking according to the navigation.

[1520] Step 13:

[1521] While the user is walking, the app recognizes the user's emotional state using an emotion engine, for example, by collecting emotions through camera or voice input.

[1522] Step 14:

[1523] The device sends the emotional state to the server, which stores the received emotional information in a database.

[1524] Step 15:

[1525] The server filters suitable destinations for the user based on the emotion information and updates the route as needed.

[1526] Step 16:

[1527] The server sends updated route information and recommended destination information to the device, which then displays the updated information to the user.

[1528] Step 17:

[1529] The user follows the instructions and reaches the destination. When the user finishes walking, the app collects the step count data. The device then sends the collected data to the server.

[1530] Step 18:

[1531] The server stores the received step count data in a database and returns the step count result to the device.

[1532] Step 19:

[1533] The terminal displays the received results to the user. If the user achieves the goal, a completion message is displayed.

[1534] Example 2

[1535] 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."

[1536] Conventional walking navigation systems could provide destinations based on a user's step goal and current location, but they did not provide personalized suggestions that took into account the user's individual emotional state, hobbies, and preferences. This resulted in a lack of motivation for users to not only achieve their goals, but also to enjoy walking more continuously. The present invention aims to solve these problems and provide a system that can provide users with an optimal walking experience that suits their emotions, hobbies, and preferences.

[1537] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes means for receiving the user's step count target and current location, means for identifying a destination based on the received step count target and current location, means for recognizing the user's emotional state and filtering destinations based on the emotional state, means for generating a route to the identified destination and presenting it to the user, and means for inputting profile information and storing the information in a database. This allows the user to receive suggestions for optimal walking routes and destinations that match their emotional state and hobbies and preferences.

[1538] A "step goal" is a specific number of steps that a user sets to achieve while walking.

[1539] "Current location" refers to the real-time geographic location of the user when they start walking.

[1540] A "destination" is a candidate location where the user should head to in order to achieve the step goal.

[1541] "Emotional state" refers to information that indicates the psychological state that the user is currently feeling.

[1542] "Profile information" refers to information that includes a user's personal information (such as name, age, gender, hobbies, and preferences) and emotional state.

[1543] "Filtering" is the process of selecting and extracting data based on specific conditions.

[1544] A "route" is a specific path a user takes to reach a destination.

[1545] A "database" is an information repository that stores user profile information and destination information.

[1546] The present invention is a system that proposes an optimal route for achieving a user's step goal and also recommends attractive destinations based on the user's hobbies, preferences, and emotions. This system has the function of recognizing the user's current location and emotions, and filtering and presenting appropriate destinations based on these. Specifically, the system is implemented using the following hardware and software.

[1547] Hardware and Software Configuration

[1548] Device: A portable electronic device, such as a smartphone or tablet, that runs applications, accepts input from the user, and displays data from a server.

[1549] Server: A computing resource installed in a cloud environment or data center. It processes data received from users, searches for and filters destinations, and calculates routes.

[1550] GPS module: A geolocation information acquisition device built into a device that acquires the user's current location in real time.

[1551] Database: A repository of information that stores user profile information, hobbies, preferences, emotional states, and destination information.

[1552] Program processing overview

[1553] 1. User Actions:

[1554] A user starts the app and enters their profile information (name, age, gender, hobbies, preferences, emotional state), which is then sent from the device to the server and stored in a database.

[1555] When starting a walk, the user inputs the target number of steps. For example, the user can set a goal such as "I want to walk 2000 more steps."

[1556] 2. The device performs the following actions:

[1557] The terminal displays a profile information input screen for the user.

[1558] The terminal acquires the user's current location from the GPS and transmits it to the server along with target step count information.

[1559] The terminal generates a navigation screen based on the route information received from the server and provides guidance to the user.

[1560] 3. The server performs the following actions:

[1561] The server stores the user profile information sent from the terminal in a database.

[1562] The server searches a database for reachable destinations based on the user's current location and target number of steps.

[1563] The server uses an emotion engine to analyze the user's input emotional state and filter appropriate destinations.

[1564] The server sends the filtered list of destinations to the terminal and calculates the optimal route to the destinations selected by the user.

[1565] Specific examples

[1566] Example 1

[1567] If a user inputs "I want to walk 2,000 more steps" and selects "Tired" as their current emotion, the server uses this information to search for nearby parks and quiet cafes where they can relax. If the user selects "park," the app will begin navigation, and the user will walk the specified route to the park. During this process, the user's emotional state is constantly updated, and route and destination suggestions may change in real time.

[1568] Example 2

[1569] If the user selects "cafe hopping" and their current emotion is recognized as "needing to relieve stress," the server will search for nearby cafes and suggest several cafes where they can relax. The user can follow the suggested route and achieve their step goal while enjoying cafe hopping.

[1570] Prompt Sentence Examples

[1571] User: Name: Yamada Hanako, 25 years old, female. Hobbies: Walking and visiting cafes. Emotional state: I want to relax. Next, I want to walk another 1,500 steps.

[1572] Device: Current location obtained (latitude 35.7128, longitude 139.7759). Data will be sent to the server.

[1573] Server: We've found Park B, Cafe D, and Cafe E where you can relax.

[1574] Device: Select a destination. Destination B, Park. Start route navigation.

[1575] User: Start walking according to the navigation.

[1576] As described above, the system according to the present invention can provide the optimal route and destination by taking into consideration the user's step goal, current location, emotional state, and hobbies and preferences, thereby enabling the user to achieve their goal while enjoying continuous walking.

[1577] The flow of the identification process in the second embodiment will be described with reference to FIG.

[1578] Step 1: Enter and submit your user profile information

[1579] The user launches the app and enters their profile information (name, age, gender, hobbies, preferences, and emotional state).

[1580] Input: User profile information.

[1581] The terminal displays an input screen and collects information entered by the user.

[1582] Action: The user enters "Taro Tanaka, 30 years old, male, hobbies are reading and jogging, current emotion is stressed" and clicks the "Submit" button.

[1583] The terminal transmits the collected profile information to the server.

[1584] Output: The profile information sent by the device to the server.

[1585] Step 2: Enter and send your target number of steps and current location

[1586] The user inputs a walking goal, for example, "I want to walk 2000 more steps."

[1587] Input: The user's target number of steps.

[1588] The device obtains the user's current location from the GPS.

[1589] Operation: The user enters "2000 steps" and presses the "Start" button. The device obtains the current location (latitude 35.6895, longitude 139.6917) from the GPS.

[1590] The device sends the target number of steps and the current location to the server.

[1591] Output: The target number of steps and current location sent by the device to the server.

[1592] Step 3: Find reachable destinations

[1593] Based on the current location and target number of steps received by the server, a database is searched for destinations within a reachable range.

[1594] Input: Current location and target number of steps received by the server.

[1595] How it works: The server searches the database for places within 2000 steps around "latitude 35.6895, longitude 139.6917". For example, it lists parks, cafes, shopping malls, etc.

[1596] Output: A server-generated list of destinations.

[1597] Step 4: Filtering destinations based on sentiment

[1598] The server uses an emotion engine to analyze the user's input emotional state.

[1599] Input: The user's emotional state.

[1600] The server filters the list of reachable destinations based on the analysis results.

[1601] How it works: Based on the user's input that they are "feeling stressed," the emotion engine prioritizes a list of places suitable for relaxation, such as parks or quiet cafes.

[1602] Output: The filtered list of destinations.

[1603] Step 5: Send and view the filtered destination list

[1604] The server sends the filtered destination list to the terminal.

[1605] Input: A filtered list of destinations.

[1606] The terminal displays the received destination list.

[1607] Operation: The server sends "Park A," "Cafe B," and "Cafe C" to the device, which displays them to the user.

[1608] Output: The destination list displayed by the device.

[1609] Step 6: Select destination and calculate route

[1610] The user selects one from the filtered list of destinations.

[1611] Input: The user's selected destination.

[1612] The server calculates the optimal route to the selected destination.

[1613] Operation: The user selects "Park A" and presses the "OK" button. The server calculates the route and sends it to the device.

[1614] The server sends the route information to the terminal.

[1615] Output: The route information sent by the server to the device.

[1616] Step 7: Navigate and start walking

[1617] Navigation is provided based on the route information received by the device.

[1618] Input: Route information sent by the server.

[1619] Operation: The device displays "Route to Park A" on the navigation screen. The user begins walking along that route.

[1620] The user starts walking according to the navigation.

[1621] Output: Location updates as the user moves towards their destination.

[1622] The above are the specific processing steps and details of the program of this system. The specific operations at each step are designed to enable users to select the optimal route and destination in real time, providing a personalized walking experience.

[1623] (Application example 2)

[1624] 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."

[1625] Conventional step goal achievement systems have the problem of being unable to provide a personalized experience because they are unable to identify destinations that take into account the user's emotional state, hobbies, and preferences. This has led to problems such as a lack of interest and motivation for users to achieve their goals.

[1626] 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.

[1627] In this invention, the server includes means for receiving the user's step count goal and current location, means for recognizing and receiving the user's emotional state, means for identifying a destination based on the received step count goal, current location, and emotional state, and means for generating a route to the identified destination and presenting it to the user, thereby making it possible to propose an optimal destination and route taking into consideration the user's emotional state and hobbies and preferences.

[1628] A "user step goal" is a particular number of steps that a user wishes to achieve.

[1629] "Current location" refers to the geographic coordinates of where the user is located.

[1630] "Emotional state" refers to a user's current state of mind or mood.

[1631] "Hobby and preference information" refers to information about the user's interests and preferences.

[1632] A "destination" is a location to which a user is heading.

[1633] A "route" is the path a user takes to reach a destination.

[1634] "Filtering" means sorting out information based on specific conditions.

[1635] A "specific distance" is the range within which a user can move.

[1636] This invention proposes an optimal route for achieving a user's step goal and recommends attractive destinations based on the user's hobbies, preferences, and emotions. This system recognizes the user's current location and emotional state, and then filters and presents appropriate destinations based on these.

[1637] Program Generation

[1638] The system that realizes this application works according to the following process:

[1639] Hardware and Software Use

[1640] Hardware: Smartphone

[1641] software:

[1642] GPS function: To obtain your current location

[1643] Generative AI Models: To Recognize Users' Emotional States

[1644] Cloud server: for storing and processing data

[1645] Flask: To build a WebAPI

[1646] Data Processing and Data Calculation

[1647] 1. Location information acquisition:

[1648] When a user launches the app on their smartphone, the app uses the GPS to obtain their current location, which is expressed in the form of latitude and longitude.

[1649] 2. Recognition of emotional states:

[1650] Using a generative AI model, the system recognizes the emotional state input by the user (e.g., wanting to relax, feeling tired, etc.) and stores it in a database.

[1651] 3. Set a step goal:

[1652] The user enters a step goal into the app (e.g., "I want to walk 3,000 more steps"), which determines the distance they should travel.

[1653] 4. Destination Filtering:

[1654] The server searches for nearby destinations based on the user's current location, emotional state, and hobbies and preferences. Destinations include stores, parks, cafes, and other locations pre-registered in a database.

[1655] 5. Generate routes:

[1656] The server calculates the optimal route to the specified destination and presents it to the user, inputting the following prompt into the generative AI model:

[1657] Based on the user information below, please suggest three relaxing places nearby.

[1658] Step goal: 3000 more steps

[1659] Current emotional state: I want to relax

[1660] Current location coordinates: (35.6895, 139.6917)

[1661] 6. Providing navigation:

[1662] Once the user selects a destination, the smartphone app will begin navigation and guide the user to the destination.

[1663] Specific examples

[1664] If User A enters "I want to walk 2000 more steps" into the app and selects "Tired" as his / her current emotional state, the server uses this information to search for nearby destinations such as relaxing parks or quiet cafes. If User A selects a park as his / her destination, the app will start navigation, and User A will walk the specified route to the park. Furthermore, since User A's emotional state is updated as it progresses, it is possible for the suggested routes and destinations to change in real time.

[1665] As described above, the system of the present invention can enhance the motivation of exercise by providing a variety of routes and destinations so that users can achieve their goals while enjoying exercise. Furthermore, by recognizing the user's emotional state and making recommendations accordingly, the system provides a more personalized exercise experience.

[1666] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[1667] Step 1:

[1668] The user launches the smartphone app and enters profile information (name, age, gender, hobbies, preferences, and emotional state).

[1669] Input: User profile information

[1670] Data processing: The device receives the entered information and sends it to the server.

[1671] Output: User profile information stored on the server

[1672] Step 2:

[1673] The user enters a step goal into the app and starts walking.

[1674] Input: User's step goal (e.g., "3000 more steps")

[1675] Data processing: The device receives the step goal and obtains the current location using the GPS function.

[1676] Output: Step goal and current location sent to the server

[1677] Step 3:

[1678] The server recognizes the user's emotional state using a generative AI model and stores it in a database.

[1679] Input: User's emotional state (e.g., "I want to relax")

[1680] Data processing: The generative AI model analyzes the emotional state and sends the results to the server

[1681] Output: User's emotional state stored on the server

[1682] Step 4:

[1683] The server searches for nearby destinations based on the user's step goal, current location, and emotional state.

[1684] Input: Step goal, current location, emotional state

[1685] Data processing: The server queries the database based on this information and generates an appropriate list of destinations.

[1686] Output: Destination list

[1687] Step 5:

[1688] The server filters destinations from the generated destination list based on the user's interest and preference information.

[1689] Input: Destination list, hobby and preference information

[1690] Data processing: The server uses the appropriate recommendation algorithm to filter the list

[1691] Output: Filtered list of destinations

[1692] Step 6:

[1693] The user selects the desired destination from the filtered destinations.

[1694] Input: Filtered list of destinations

[1695] Data processing: User selectable

[1696] Output: Selected destination

[1697] Step 7:

[1698] The server calculates the optimal route based on the selected destination.

[1699] Input: User's current location, selected destination

[1700] Data processing: Generate optimal routes using route calculation algorithms

[1701] Output: Optimal route information

[1702] Step 8:

[1703] The terminal presents the optimal route received from the server to the user and starts navigation.

[1704] Input: Optimal route information

[1705] Data processing: The device generates a navigation screen based on route information

[1706] Output: The navigation screen that the user sees

[1707] For example, if a user inputs "I want to walk 2000 more steps" and selects "Tired" as their emotional state, the server will suggest nearby parks and quiet cafes where they can relax. After that, the user selects the park as their destination, and the app will display the optimal route and begin navigation.

[1708] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the control target 443 to output the result of the specific processing. The microphone 238 acquires voice indicating a user input regarding the result of the specific processing. The control unit 46A transmits voice data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.

[1709] 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.

[1710] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the robot 414.

[1711] The emotion identification model 59 as an emotion engine may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to an emotion map (see FIG. 9), which is a specific mapping. Similarly, the emotion identification model 59 may determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.

[1712] FIG. 9 is a diagram illustrating an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and actions arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion includes both affect and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.

[1713] These emotions are distributed in the 3 o'clock direction on emotion map 400, and typically fluctuate between relief and anxiety. In the right half of emotion map 400, situational awareness dominates over internal sensations, resulting in a sense of calm.

[1714] The inside of emotion map 400 represents what is going on in the mind, and the outside of emotion map 400 represents behavior, so the further you go outside emotion map 400, the more visible the emotions become (the more they are expressed in behavior).

[1715] Human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. Emotions can also be created for robots, automobiles, and motorcycles, based on various balances, such as posture and remaining battery life. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. An emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on Voice Emotion Recognition and Emotional Brain Physiological Signal Analysis Systems, Tokushima University, Doctoral Dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map lists emotions belonging to the "reaction" domain, where sensation is dominant. The right half of the emotion map lists emotions belonging to the "situation" domain, where situational awareness is dominant.

[1716] The emotion map defines two emotions that promote learning. One is a negative emotion on the situation side, around the middle of "repentance" or "reflection." In other words, this occurs when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is a positive emotion on the response side, around "desire." In other words, this occurs when the robot experiences positive feelings such as "I want more" or "I want to know more."

[1717] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values ​​indicating each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple pieces of training data that are combinations of user input and emotion values ​​indicating each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions that are located close to each other have similar values, as in the emotion map 900 shown in FIG. 10. FIG. 10 shows an example in which multiple emotions, "relieved," "calm," and "reassuring," have similar emotion values.

[1718] The system according to the present disclosure has been described above mainly with respect to the functions of the data processing device 12, but the system according to the present disclosure is not necessarily implemented on a server. The system according to the present disclosure may be implemented as a general information processing system. The present disclosure may be implemented, for example, as a software program running on a personal computer or an application running on a smartphone, etc. The method according to the present disclosure may be provided to users in the form of SaaS (Software as a Service).

[1719] In the above embodiment, an example was given in which the specific processing is performed by one computer 22, but the technology of the present disclosure is not limited to this, and the specific processing may be distributed and performed by a plurality of computers including the computer 22. For example, the data generation model 58 may be provided in an external device of the data processing device 12, and data may be generated in the external device in accordance with input data.

[1720] In the above embodiment, an example in which the specific processing program 56 is stored in the storage 32 has been described, but the technology of the present disclosure is not limited to this. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-transitory storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-transitory storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes the specific processing in accordance with the specific processing program 56.

[1721] Alternatively, the specific processing program 56 may be stored in a storage device such as a server connected to the data processing device 12 via the network 54, and the specific processing program 56 may be downloaded and installed on the computer 22 in response to a request from the data processing device 12.

[1722] It is not necessary to store all of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store all of the specific processing program 56 in the storage 32; only a portion of the specific processing program 56 may be stored.

[1723] The hardware resource for executing a specific process can be any of the following processors: An example of a processor is a CPU, which is a general-purpose processor that functions as a hardware resource for executing a specific process by executing software, i.e., a program. Another example of a processor is a dedicated electrical circuit, such as an FPGA (Field-Programmable Gate Array), a PLD (Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit), which is a processor with a circuit configuration designed specifically for executing a specific process. Each processor has built-in or connected memory, and each processor uses the memory to execute the specific process.

[1724] The hardware resource that executes the specific processing may be configured with one of these various processors, or may be configured with a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Also, the hardware resource that executes the specific processing may be a single processor.

[1725] As an example of a system configured with a single processor, first, one processor is configured by combining one or more CPUs and software, and this processor functions as a hardware resource that executes a specific process. Second, there is a system that uses a processor that realizes the functions of an entire system including multiple hardware resources that execute a specific process on a single IC chip, as typified by SoC (System-on-a-chip). In this way, a specific process is realized using one or more of the above-mentioned various processors as hardware resources.

[1726] Furthermore, the hardware structure of these various processors can be, more specifically, an electric circuit that combines circuit elements such as semiconductor devices. The specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps may be deleted, new steps may be added, or the processing order may be rearranged, without departing from the spirit of the invention.

[1727] The above-described description and illustrations are a detailed explanation of the parts related to the technology of the present disclosure and are merely an example of the technology of the present disclosure. For example, the above description of the configuration, functions, actions, and effects is an explanation of an example of the configuration, functions, actions, and effects of the parts related to the technology of the present disclosure. Therefore, it goes without saying that unnecessary parts may be deleted, new elements may be added, or replacements may be made to the above-described description and illustrations within the scope of the gist of the technology of the present disclosure. Furthermore, to avoid confusion and facilitate understanding of the parts related to the technology of the present disclosure, the above-described description and illustrations omit explanations of common technical knowledge that do not require particular explanation to enable the implementation of the technology of the present disclosure.

[1728] All publications, patent applications, and technical standards mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent application, or technical standard was specifically and individually indicated to be incorporated by reference.

[1729] The following is further disclosed regarding the above embodiment.

[1730] (Claim 1)

[1731] means for receiving a user's step goal and current location;

[1732] means for identifying a destination based on the received step goal and the current location;

[1733] means for generating a route to the identified destination and presenting it to the user;

[1734] A system including:

[1735] (Claim 2)

[1736] means for receiving and storing user interest and preference information;

[1737] A means for filtering destinations based on user's interest and preference information;

[1738] The system of claim 1 further comprising:

[1739] (Claim 3)

[1740] means for calculating a specific distance based on the received step goal;

[1741] means for searching for destinations within a calculated distance from a user's current location;

[1742] The system of claim 1 further comprising:

[1743] "Example 1"

[1744] (Claim 1)

[1745] means for receiving a user's step goal and current location;

[1746] a means for searching for destination candidates based on the received step count goal and the current location;

[1747] means for generating a list of destination candidates and presenting it to a user;

[1748] means for calculating an optimal route to a user-selected destination;

[1749] means for generating a navigation screen for presenting the calculated route to a user;

[1750] ...

[1751] A system including:

[1752] (Claim 2)

[1753] means for receiving and storing user interest and preference information;

[1754] A means for filtering destinations based on user's interest and preference information;

[1755] The system of claim 1 further comprising:

[1756] (Claim 3)

[1757] means for calculating a specific distance based on the received step goal;

[1758] means for searching for destinations within a calculated distance from a user's current location;

[1759] The system of claim 1 further comprising:

[1760] "Application Example 1"

[1761] (Claim 1)

[1762] means for receiving a user's step goal and current location;

[1763] means for identifying a destination based on the received step goal and the current location;

[1764] means for generating a route to the identified destination and presenting it to the user;

[1765] means for filtering destinations based on the user's preferences and tastes and suggesting multiple destinations to meet the step goal;

[1766] A means to provide and display optimal navigation routes using Google Maps API,

[1767] A system including:

[1768] (Claim 2)

[1769] means for receiving and storing user interest and preference information;

[1770] A means for filtering destinations based on user's interest and preference information;

[1771] means for calculating an optimal route to a selected destination in real time based on the user's preferences and step count goal, and generating a navigation screen;

[1772] A means for inputting user profile information, daily step goals, and walking time;

[1773] The system of claim 1 further comprising:

[1774] (Claim 3)

[1775] means for calculating a specific distance based on the received step goal;

[1776] means for searching for destinations within a calculated distance from a user's current location;

[1777] A means of storing information entered by the user and optimizing destinations and routes based on that information;

[1778] The system of claim 1 further comprising:

[1779] "Example 2: Combining Emotion Engines"

[1780] (Claim 1)

[1781] means for receiving a user's step goal and current location;

[1782] means for identifying a destination based on the received step goal and the current location;

[1783] means for recognizing an emotional state of a user and filtering destinations based on the emotional state;

[1784] means for generating a route to the identified destination and presenting it to the user;

[1785] a means for prompting the user to enter profile information and storing the information in a database;

[1786] A system including:

[1787] (Claim 2)

[1788] means for receiving and storing user interest and preference information;

[1789] A means for filtering destinations based on user's interest and preference information;

[1790] a means for real-time destination suggestions according to the emotional state;

[1791] The system of claim 1 further comprising:

[1792] (Claim 3)

[1793] means for calculating a specific distance based on the received step goal;

[1794] means for searching for destinations within a calculated distance from a user's current location;

[1795] means for suggesting destinations based on the user's emotional state and preferences;

[1796] The system of claim 1 further comprising:

[1797] "Application example 2 when combining emotion engines"

[1798] (Claim 1)

[1799] means for receiving a user's step goal and current location;

[1800] means for recognizing and receiving an emotional state of a user;

[1801] means for determining a destination based on the received step goal and the current location and emotional state;

[1802] means for generating a route to the identified destination and presenting it to the user;

[1803] A system including:

[1804] (Claim 2)

[1805] means for receiving and storing user interest and preference information;

[1806] means for filtering destinations based on the user's taste and preference information and emotional state;

[1807] The system of claim 1 further comprising:

[1808] (Claim 3)

[1809] means for calculating a specific distance based on the received step goal;

[1810] means for searching for destinations within a calculated distance from a user's current location;

[1811] The system of claim 1 further comprising: [Explanation of symbols]

[1812] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>

Claims

1. means for receiving a user's step goal and current location; means for identifying a destination based on the received step goal and the current location; means for generating a route to the identified destination and presenting it to the user; A system including:

2. means for receiving and storing user interest and preference information; A means for filtering destinations based on user's interest and preference information; The system of claim 1 further comprising:

3. means for calculating a specific distance based on the received step goal; means for searching for destinations within a calculated distance from a user's current location; The system of claim 1 further comprising:

Citation Information

Patent Citations

  • Persona chatbot control method and system

    JP2022180282A