System
A system for efficient price comparison and shopping route planning through inputting shopping lists, uploading promotional materials, and using image analysis to calculate optimal routes, addresses the challenge of manual price collection and sharing, enhancing household shopping efficiency.
Patent Information
- Application Number
- JP2024131404
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-07
- Publication Date
- 2026-02-20
AI Technical Summary
The rapid rise in prices necessitates efficient price comparison between stores for purchasing inexpensive products, but manually collecting and sharing price information is cumbersome and time-consuming, especially within households where each family member manages their own information.
A system that allows users to input shopping lists, upload flyers, receipts, and price tags, using image analysis to extract text information, calculate optimal shopping paths, and notify users of results, facilitating information sharing among family members.
Significantly reduces the complexity of information gathering and management, enabling efficient price comparisons and unified shopping plans within households.
Smart Images

Figure 2026028788000001_ABST
Abstract
Description
[Technical Field]
[0001] The technology of the present disclosure relates to a system. [Background technology]
[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]
[0004] In modern society, prices are rising rapidly, making it essential to compare prices between stores in order to efficiently purchase inexpensive products. However, collecting price information is cumbersome, and because each family member manages their own information, the information becomes personalized and difficult to share. Furthermore, manually checking prices and creating shopping lists requires a great deal of time and effort, which is a problem. [Means for solving the problem]
[0005] The present invention provides a means for users to input shopping lists and upload flyers, receipts, and price tags. The server extracts text information from the uploaded images and calculates the optimal shopping path based on the extracted data. The system also includes a means for notifying users of the calculation results. This allows for efficient collection of price information and provides the lowest price information, reducing the complexity of information gathering and facilitating information sharing among family members. The goal is to significantly improve the user's shopping experience.
[0006] A "shopping list" is a list of items that a user plans to purchase.
[0007] An "app" is a software application designed for use by users on devices such as smartphones and tablets.
[0008] "Uploading" is the act of a user sending data or files from a device to a server.
[0009] A "flyer" is an advertising sheet that lists product information and prices offered by a store.
[0010] "Receipt" means a proof of purchase that lists the details and prices of purchased items.
[0011] A "price tag" is a tag attached to a product that displays its price.
[0012] A "server" is a computer system that provides services to clients over a network.
[0013] "Image analysis" is the technical process by which a server extracts meaningful information from uploaded image data.
[0014] "Text information" is character data obtained through image analysis, and includes information such as product names and prices.
[0015] The "shopping path" is route information that indicates the optimal order in which to visit stores for efficient shopping.
[0016] The "information sharing function" is a function that allows users to share information with other family members. [Brief explanation of the drawings]
[0017] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 3 is a sequence diagram 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
[0018] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.
[0019] First, the terms used in the following description will be explained.
[0020] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).
[0021] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.
[0022] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.
[0023] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.
[0024] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."
[0025] [First embodiment]
[0026] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0027] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0028] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0029] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.
[0030] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0031] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0032] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.
[0033] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0034] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0035] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0036] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0037] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0038] This system allows users to efficiently compare prices and plan the optimal shopping route. The operation of this system is explained in detail below.
[0039] User shopping list input
[0040] First, users install the app on their device, create an account, and log in. After logging in, users enter a list of items they plan to purchase within the app. For example, they can manually enter items such as "milk, eggs, and bread."
[0041] Next, users upload images of store flyers, receipts, and product price tags through the app, which populates the system with up-to-date pricing information related to their shopping list.
[0042] Parsing data and extracting price information
[0043] When the device sends image data to the server, the server uses an image analysis algorithm to extract "text information" from the data. Specifically, it uses OCR (optical character recognition) technology to analyze the text data in the image and identify "product name," "price," and "store name." This information is then stored in a database and made accessible to other users.
[0044] For example, if an uploaded flyer states "Milk: 100 yen, eggs: 200 yen, bread: 150 yen," the server will organize and register this information in a database.
[0045] Proposal of the cheapest store and shopping route
[0046] The shopping list initially entered by the user is compared with the latest price information stored on the server. The server then searches for the store with the lowest price for each item and generates a list of the lowest-priced stores. Furthermore, the server uses the user's current location and the location information of each store to calculate an efficient shopping route. For example, a "shortest distance algorithm" or a "time optimization algorithm" could be used for this calculation.
[0047] The calculation results are sent to the device, and users can check the most efficient shopping route on the app, along with information such as "Milk: Supermarket A, Eggs: Discount Shop B, Bread: Supermarket C."
[0048] View and share your suggestions
[0049] After the suggestions are displayed on the device, users can use the "Share" button in the app to share the information with family and other interested parties, allowing for efficient shopping plans within the home and preventing information from becoming personal.
[0050] For example, if a user shares their "milk, eggs, and bread" purchasing plan and shopping route with their family, other family members can log in to the same app, view this information, and follow the same instructions to shop.
[0051] As described above, this system provides users with price comparisons and the best shopping routes, significantly reducing the complexity of information collection and management. It also provides a sharing function for family members, enabling an efficient shopping experience.
[0052] The processing flow will be explained below.
[0053] Step 1:
[0054] The user logs in to the app. The user enters their user ID and password on the login screen displayed on the device and taps the "Login" button. The device sends this information to the server.
[0055] Step 2:
[0056] The server receives the login information and checks it against an authentication database. If the server is successful, it generates an authentication token and sends it back to the device, allowing the user to access the app.
[0057] Step 3:
[0058] The user enters the shopping list within the app. The user manually enters the items they want to purchase on the app's "Shopping List" screen and taps the "Save" button. The device temporarily saves this in its local memory.
[0059] Step 4:
[0060] The user uploads an image of a flyer, receipt, or price tag by tapping the "Upload Image" button on the device, opening a file selection dialog, and selecting the image to upload. The device then sends the selected image to the server.
[0061] Step 5:
[0062] The server receives the image data. The server then performs OCR (optical character recognition) on the image to extract text information. Specifically, it identifies the product name, price, and store name and obtains them as text data.
[0063] Step 6:
[0064] The server saves the extracted text data in a database. The server organizes product names, prices, and store information and registers them in the database. If there are any duplicates, the database is updated with the latest information.
[0065] Step 7:
[0066] The server receives the user's shopping list and compares it with the lowest price information stored on the server. The server identifies the stores that offer the lowest prices for each item and generates a list of the lowest price stores.
[0067] Step 8:
[0068] The server uses the user's current location and the location information of each store to calculate the optimal shopping route, using algorithms for shortest distance and time optimization.
[0069] Step 9:
[0070] The server sends the generated list of cheapest stores and shopping route data to the terminal, which receives the data and stores it in its memory.
[0071] Step 10:
[0072] The device will display the cheapest stores and efficient shopping routes to users, who can then view detailed recommendations on the app interface.
[0073] Step 11:
[0074] Users can share information with their family members. Use the "Share" button on the device to share the suggestions via social media or messaging apps. Other family members who receive this information can then display the same data on their devices.
[0075] The above are the specific processing steps in this system.
[0076] Example 1
[0077] 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."
[0078] With conventional purchasing support systems, users had to manually compare prices at multiple stores, making it difficult to plan the most efficient purchasing route. It was also difficult for family members to share information, making it impossible to create an efficient purchasing plan. This resulted in the enormous effort required to collect and manage information, preventing optimal purchasing.
[0079] 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.
[0080] In this invention, the server includes a means for users to input a shopping list, a means for users to upload store promotional media, receipts, and price displays, a means for the server to extract text information from the uploaded images, a means for the server to calculate the optimal shopping route using the extracted text data, a means for the server to notify the user of the calculation results, and a means for the user to share information with other users. This allows users to efficiently collect price information and easily plan the optimal shopping route. It also makes it easy for family members to share information, allowing everyone to act based on a unified purchasing plan.
[0081] A "purchase list" is a list of products that a user plans to purchase.
[0082] "Store advertising media" refers to print and digital media used by stores to communicate pricing information for their products and services.
[0083] A "receipt" is a document issued when purchasing goods or services, and includes information such as the purchased item, price, and store name.
[0084] "Price display" refers to a tag or label that indicates the price of a product and is used to visually communicate the selling price of the product.
[0085] The "means of extracting text information from an image" refers to a technology that uses OCR (optical character recognition) technology to read text within an image as digital data.
[0086] "Means for calculating optimal shopping path" refers to algorithms or techniques for calculating a route that will allow a user to complete their shopping efficiently, and may use geographic information systems and shortest distance algorithms.
[0087] "Means for notifying the user of the calculation results" refers to a technology in which the server sends the calculation results to the user's terminal and displays them in a form that the user can visually confirm.
[0088] "Means for sharing information with other users" refers to a function that allows users to share purchase lists and purchasing path information with other users, including methods such as sending links via email or social media.
[0089] "Lowest price information" is information about the store that has the lowest price for the same product based on price data collected from multiple stores.
[0090] A "geographic information system" is a system that uses map data to manage and analyze spatial information, and is used for route searches and providing location information.
[0091] A "database" is a system that can systematically store, manage, and search information, and is located on a server.
[0092] The present invention provides a system that allows users to efficiently compare prices and plan an optimal shopping route. Specific embodiments of the system are described below.
[0093] User shopping list input
[0094] First, users install the "application" on their device, create an account, and log in. After logging in, users enter a list of items they plan to purchase within the application. For example, they can manually enter items such as "milk, eggs, bread."
[0095] Users then upload images of their store's "store promotional materials," receipts, and product "price tags" through the application, which populates the system with up-to-date pricing information related to their shopping list.
[0096] Parsing data and extracting price information
[0097] When the device sends image data to the server, the server uses OCR (optical character recognition) technology to extract text information from the data. Specifically, it uses an OCR engine (e.g., Tesseract) to analyze the text data in the image and identify the "product name," "price," and "store name." This information is stored in a database and can be accessed by other users later.
[0098] For example, if the uploaded store promotional media states "Milk: 100 yen, eggs: 200 yen, bread: 150 yen," the server will organize and register this information in a database.
[0099] Proposal of the cheapest store and shopping route
[0100] The shopping list initially entered by the user is compared with the latest price information stored on the server. The server then searches for the store with the lowest price for each item and generates a list of the lowest-priced stores. Furthermore, the server uses the user's current location and the location information of each store to calculate an efficient shopping route. For example, a "shortest distance algorithm" or a "time optimization algorithm" can be used for this calculation.
[0101] The calculation results are sent to the device, and the user can check the most efficient shopping route on the application, along with information such as "Milk: Store A, Eggs: Store B, Bread: Store C."
[0102] View and share your suggestions
[0103] After the recommendations are displayed on the device, users can use the "Share" button in the application to share the information with family and other stakeholders, allowing for efficient household shopping planning and preventing information from becoming personal.
[0104] For example, if a user shares their "milk, eggs, and bread" purchasing plan and shopping route with their family, other family members can log in to the same application, view this information, and follow the same instructions to shop.
[0105] Adding specific examples
[0106] Here are some example prompts to input to the generative AI model:
[0107] Example prompts
[0108] 1. "How does an application that provides the best prices on milk, eggs, and bread work?"
[0109] 2. "Explain how a system works that allows you to input a shopping list and suggests the best route for your shopping."
[0110] In this way, this system provides users with price comparisons and the best shopping routes, significantly reducing the complexity of information collection and management. It also provides a sharing function for family members, enabling an efficient shopping experience.
[0111] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0112] Step 1:
[0113] The user creates an account and logs in.
[0114] Specifically, the user launches the application, enters their email address and password on the account creation screen, and taps the "Register" button. The server receives this and creates a new user account in the database. The user then enters their email address and password on the login screen and taps the "Login" button, and the server authenticates and allows them to log in.
[0115] Input: User's email address, password
[0116] Output: New account creation, login authentication
[0117] Step 2:
[0118] The user enters their shopping list and uploads an image with pricing information.
[0119] Users manually enter the items they wish to purchase into the application's shopping list input form and tap the "Add" button. Next, they use the "Image Upload" function to take a photo of a flyer, receipt, or price display, and tap the "Send" button. The device then sends the captured image to the server.
[0120] Input: User's shopping list, image file
[0121] Output: Image file sent to the server
[0122] Step 3:
[0123] The device sends the image to the server.
[0124] The device compresses the captured image and sends it to the server in the appropriate format (e.g., JPEG, PNG). The server receives the image data.
[0125] Input: Image file from terminal
[0126] Output: Image files sent and received from the server
[0127] Step 4:
[0128] The server performs image analysis and extracts text data.
[0129] The server uses OCR technology (e.g., Tesseract) to extract text information from the received image. This process yields information such as the product name, price, and store name. For example, data such as "Milk: 100 yen, eggs: 200 yen, bread: 150 yen" can be extracted from an image of a flyer.
[0130] Input: Uploaded image file
[0131] Output: Extracted text data (product name, price, store name)
[0132] Step 5:
[0133] The server stores the extracted text data in a database.
[0134] The analyzed text data is divided into data fields and tagged as "product name," "price," and "store name." This information is then stored in a database management system (e.g., MySQL).
[0135] Input: Extracted text data
[0136] Output: Structured text data stored in a database
[0137] Step 6:
[0138] A user requests a search for the best price.
[0139] The user taps the application's "Find Best Price" button, sending a request to the server containing their shopping list and current location information.
[0140] Input: User search request (shopping list, current location information)
[0141] Output: Search request sent to server
[0142] Step 7:
[0143] The server calculates the lowest price and the best shopping route.
[0144] The server checks the price information in its database to find the store that offers the lowest price for each item, and then uses a geographic information system (e.g., Google Maps API) to calculate the best route from the user's current location to each store.
[0145] Input: Search request, pricing information in a database, geographic information system
[0146] Output: Lowest price information, optimal shopping route
[0147] Step 8:
[0148] The server sends the calculation results to the terminal, which displays them to the user.
[0149] The server sends the calculation results to the terminal, which then displays the lowest price information and shopping route on the user interface. Specifically, it displays a list such as "Milk: Store A, Eggs: Store B, Bread: Store C" and plots the shopping route on a map.
[0150] Input: Calculation results (lowest price information, shopping route)
[0151] Output: The result displayed in the user interface
[0152] Step 9:
[0153] Users share information.
[0154] Users tap the "Share" button within the application to generate a link to share their shopping list and route information with others, which can be sent via email or social media.
[0155] Input: Sharing request (shopping list, route information)
[0156] Output: Shared link generated and sent
[0157] (Application example 1)
[0158] 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."
[0159] Currently, many consumers spend time and effort comparing prices when shopping and choosing the best store. However, collecting price information from each store and finding the store with the cheapest products is tedious, and planning an efficient shopping route is even more difficult. Furthermore, there are limited ways to share shopping information with other members of the same household, making it difficult to centralize information. This invention aims to provide a system that allows users to efficiently compare price information and plan the best shopping route, while also facilitating information sharing among family members.
[0160] 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.
[0161] In this invention, the server includes means for a user to input a shopping list, means for the user to upload flyers, receipts, and price tags, means for the server to extract text information from the uploaded images, means for calculating an efficient shopping route using the user's current location information and store location information, means for the server to notify the user of the calculation results, and means for providing an information sharing function among family members, which enables the user to efficiently compare prices, plan the optimal shopping route, and share information among family members.
[0162] "User" refers to an individual or group of people who use the System to make purchases.
[0163] A "shopping list" refers to information that lists the items a user plans to purchase.
[0164] A "flyer" is a printed advertisement distributed by a store that contains product and price information.
[0165] "Receipt" refers to paper or electronic data containing detailed information and payment information for items purchased at a store.
[0166] "Price tag" refers to a label accompanying a product that contains price information.
[0167] "Server" refers to the central computer that manages and operates the entire system.
[0168] "Means for extracting text information from images" refers to the process of using optical character recognition (OCR) technology to analyze the text data in uploaded images and obtain information such as product names, prices, and store names.
[0169] "Current location information" refers to data that indicates the user's location.
[0170] "Store location information" refers to data indicating the geographic location of each store.
[0171] An "efficient shopping route" refers to the route a user takes to purchase the cheapest products in the shortest time and distance.
[0172] "Means of notification" refers to the process of conveying information such as calculation results and optimal routes to users.
[0173] "Information sharing function" refers to the function that allows users to exchange and view shopping information with other members.
[0174] This system allows users to efficiently compare prices and plan the optimal shopping route. The operation of this system is explained in detail below.
[0175] User shopping list input
[0176] First, users install the application on their device, create an account, and log in. After logging in, they can manually enter a list of items they plan to purchase within the app. For example, they can manually enter items such as "milk, eggs, and bread."
[0177] Next, users upload images of store flyers, receipts, and product price tags through the app, which populates the system with up-to-date pricing information related to their shopping list. At this stage, users take images using their smartphone camera and upload them to the app.
[0178] Parsing data and extracting price information
[0179] Image data sent by users is first sent to a server. The server uses an image analysis algorithm to extract text information from the data. Specifically, it uses OCR (optical character recognition) technology to analyze the text data in the image and identify the product name, price, and store name. This information is then stored in a database that can be accessed by other users.
[0180] For example, if an uploaded flyer states "Milk: 100 yen, eggs: 200 yen, bread: 150 yen," the server will organize and register this information in a database. This data processing uses the pytesseract library and OpenCV.
[0181] Proposal of the cheapest store and shopping route
[0182] The server compares the shopping list entered by the user with the latest price information stored on the server, searches for the store with the lowest price for each item, and generates a list of the lowest-priced stores.
[0183] Furthermore, the app uses the user's current location and the location information of each store to calculate an efficient shopping route. This calculation uses the "shortest distance algorithm" and "time optimization algorithm." Specifically, the route is calculated using the Google Maps API. The calculation results are sent to the device, and the user can check the efficient shopping route on the app along with information such as "Milk: Supermarket A, Eggs: Discount Shop B, Bread: Supermarket C."
[0184] View and share your suggestions
[0185] After the suggestions are displayed on the device, users can use the "Share" button in the app to share the information with family and other interested parties, allowing for efficient shopping plans within the home and preventing information from becoming personal.
[0186] For example, if a user shares their "milk, eggs, and bread" purchasing plan and shopping route with their family, other family members can log in to the same app, view this information, and follow the same instructions to shop.
[0187] The introduction of this system will enable users to efficiently compare prices, plan optimal shopping routes, and share information with family members.
[0188] Example prompts for generative AI models
[0189] "Please suggest stores where I can purchase the items listed below at the lowest prices and an efficient shopping route: milk, eggs, bread. Please also tell me how I can share this information with my family and friends."
[0190] As described above, this system provides users with price comparisons and the best shopping routes, significantly reducing the complexity of information collection and management. It also provides a sharing function for family members, enabling an efficient shopping experience.
[0191] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0192] Step 1:
[0193] A user installs an application on their device, creates an account, and logs in. This allows the user to use various functions of the system. The input is user information, and the output is the login authentication result.
[0194] Step 2:
[0195] The user inputs a shopping list into the app. Specifically, they manually enter the names of the products they plan to purchase into the app's input form. The input is the user's shopping list, and the output is the shopping list data stored in the system.
[0196] Step 3:
[0197] Users take pictures of store flyers, receipts, and price tags with their smartphone cameras and upload them through the app. The input is image data, and the output is image data sent to the server.
[0198] Step 4:
[0199] The server receives the uploaded image data and extracts text information using OCR (Optical Character Recognition) technology. Specifically, it uses the pytesseract library and OpenCV to analyze the image and obtain the product name, price, and store name. The input is the image data, and the output is the extracted text information.
[0200] Step 5:
[0201] The server saves the extracted text information in a database, which stores price information uploaded by multiple users. The input is the text information, and the output is the updated database.
[0202] Step 6:
[0203] The server compares the user's shopping list with the price information in the database and generates a list of stores with the cheapest items. This allows the user to know the store where they can buy the item they want to buy at the cheapest price. The input is the shopping list and the price database, and the output is the list of stores with the cheapest prices.
[0204] Step 7:
[0205] The server uses the user's current location information and the location information of each store to calculate an efficient shopping route. Specifically, it uses the Google Maps API to calculate the shortest distance and time-optimized route. The input is the user's current location and a list of stores with the lowest prices, and the output is the optimal shopping route.
[0206] Step 8:
[0207] The server notifies the user of the calculation results. The user can then check the list of lowest priced stores and the most efficient shopping route on the app. The input is the optimal shopping route, and the output is the route information displayed on the user's device screen.
[0208] Step 9:
[0209] Users can use the "Share" button in the app to share information with family and friends. For example, they can ask family members to log in to the same app and view the shared shopping route. The input is the operation of the Share button, and the output is the shared shopping information.
[0210] Step 10:
[0211] Family members and related parties can shop based on shared information to achieve an efficient shopping experience. This allows the person in charge of shopping in the household to shop using the latest lowest price information and the optimal route. The input is the shared shopping information, and the output is the actual shopping experience.
[0212] Through each of these steps, users can efficiently compare prices, plan optimal shopping routes, and share information with family members.
[0213] 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.
[0214] The present invention combines an emotion engine with a system that allows users to efficiently compare prices and plan their shopping. The operation of this system will now be described in detail.
[0215] User shopping list input
[0216] Users install the app on their device, create an account, and log in. After logging in, users enter a list of items they plan to purchase within the app. For example, they can manually enter items such as "milk, eggs, and bread."
[0217] Next, users upload images of store flyers, receipts, and product price tags through the app, which populates the system with up-to-date pricing information related to their shopping list.
[0218] Parsing data and extracting price information
[0219] When the device sends image data to the server, the server uses an image analysis algorithm to extract "text information" from the data. Specifically, it uses OCR (optical character recognition) technology to analyze the text data in the image and identify "product name," "price," and "store name." This information is then stored in a database and made accessible to other users.
[0220] For example, if an uploaded flyer states "Milk: 100 yen, eggs: 200 yen, bread: 150 yen," the server will organize and register this information in a database.
[0221] Proposal of the cheapest store and shopping route
[0222] The shopping list initially entered by the user is compared with the latest price information stored on the server. The server then searches for the store with the lowest price for each item and generates a list of the lowest-priced stores. Furthermore, the server uses the user's current location and the location information of each store to calculate an efficient shopping route. For example, a "shortest distance algorithm" or a "time optimization algorithm" could be used for this calculation.
[0223] The calculation results are sent to the device, and users can check the most efficient shopping route on the app, along with information such as "Milk: Supermarket A, Eggs: Discount Shop B, Bread: Supermarket C."
[0224] Emotion recognition and response using emotion engine
[0225] When a user uses the app, the emotion engine is activated and analyzes the user's facial expressions and voice data in real time. This analysis recognizes the user's emotional state (e.g., joy, anger, sadness, stress, etc.). Based on this data, the emotion engine makes suggestions according to the user's emotional state.
[0226] For example, if a user is feeling stressed, the emotion engine will send data to the server and suggest stores or products that can help reduce stress, such as recommending stores during less busy hours or products that have a relaxing effect.
[0227] View and share your suggestions
[0228] After the suggestions are displayed on the device, users can use the "Share" button in the app to share the information with family and other interested parties, allowing for efficient shopping plans within the home and preventing information from becoming personal.
[0229] For example, if a user shares their "milk, eggs, and bread" purchasing plan and shopping route with their family, other family members can log in to the same app, view this information, and follow the same instructions to shop.
[0230] As described above, this system provides users with price comparisons and the optimal shopping route, and also utilizes an emotion engine to make appropriate suggestions based on the user's emotional state, thereby achieving a personalized shopping experience that meets individual needs.By also providing a function for sharing information among family members, it can support efficient shopping plans.
[0231] The processing flow will be explained below.
[0232] Step 1:
[0233] The user logs in to the app. They enter their user ID and password on the login screen displayed on their device and tap the "Login" button. The device then sends this information to the server.
[0234] Step 2:
[0235] The server receives the login information and checks it against an authentication database. If the server is successful, it generates an authentication token and sends it back to the device, allowing the user to access the app.
[0236] Step 3:
[0237] The user enters the shopping list in the app. The user manually enters the items they want to purchase on the "Shopping List" screen of the app and taps the "Save" button. The device temporarily saves this in its local memory and sends the list data to the server.
[0238] Step 4:
[0239] The user uploads an image of a flyer, receipt, or price tag by tapping the "Upload Image" button on the device, opening a file selection dialog, and selecting the image to upload. The device then sends the selected image to the server.
[0240] Step 5:
[0241] The server receives the image data. It then analyzes the image using OCR (optical character recognition) technology and extracts text information. Specifically, it identifies the product name, price, and store name and obtains them as text data.
[0242] Step 6:
[0243] The server saves the extracted text data in a database. The server organizes product names, prices, and store information and registers them in the database. If there are any duplicates, the database is updated with the latest information.
[0244] Step 7:
[0245] The emotion engine recognizes the user's emotional state. The device collects the user's facial expressions and voice data and sends it to the server. The emotion engine on the server analyzes this data and determines the user's emotional state (e.g., joy, anger, sadness, stress, etc.).
[0246] Step 8:
[0247] The server makes optimal suggestions to users based on their shopping list and emotional state data. It compares the lowest price information stored on the server to identify stores that offer the lowest prices for each item. It also suggests stores and products that will reduce stress based on the user's emotional state.
[0248] Step 9:
[0249] The server uses the user's current location and the location information of each store to calculate the optimal shopping route. This calculation uses the shortest distance algorithm and time optimization algorithm. The server then sends the generated list of cheapest stores and shopping route data to the terminal.
[0250] Step 10:
[0251] The device stores the data received from the server in memory and displays the cheapest stores and efficient shopping routes to the user. The user can view detailed suggestions on the app interface.
[0252] Step 11:
[0253] Users can share information with their family members. Use the "Share" button on the device to share the suggestions via social media or messaging apps. Other family members who receive this information can then display the same data on their devices.
[0254] The above are the specific processing steps in the shopping support system that combines the emotion engine.
[0255] Example 2
[0256] 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."
[0257] Today's consumers spend a great deal of time and effort on their daily shopping. In particular, to find the cheapest product at multiple stores, they must check and compare information such as advertisements, receipts, and labels. Furthermore, there is a lack of services that take into account the emotional state of the user while shopping, which can lead to stress and dissatisfaction. Information sharing within the home is often difficult, making it difficult to plan an efficient shopping trip.
[0258] 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 a means for the user to input a shopping list, a means for the user to upload advertisements, receipts, and labels, a means for the server to extract text information from the uploaded images, a means for the server to calculate an optimal shopping route using the extracted text data, a means for the server to analyze the user's emotional state and make suggestions based on the emotional state, and a means for the server to notify the user of the calculation results. This allows the user to efficiently find the lowest priced products and receive personalized suggestions based on the user's emotional state. In addition, since information can be easily shared among family members, an efficient shopping plan can be made for the entire household.
[0259] "User" refers to an individual who uses the System to enter shopping lists or upload information.
[0260] A "shopping list" refers to a list of items a user plans to purchase.
[0261] "Advertising" refers to printed or digital media distributed by stores or retailers to inform people about their products or services.
[0262] "Receipt" means a paper or digital receipt detailing the items purchased and their prices.
[0263] "Label" refers to a tag or sticker that lists the product's price and name.
[0264] "Server" refers to the information processing device that serves as the core of the system for analyzing, storing, and calculating shopping information.
[0265] "Text information" refers to character data extracted from image data.
[0266] The "optimal shopping route" refers to the order in which a user visits stores in order to shop efficiently.
[0267] "Emotional state" refers to the user's current mental and emotional state.
[0268] "Emotional state-based suggestions" refers to shopping and store recommendations provided based on a user's psychological and emotional state.
[0269] "Notification" refers to the transmission of information by the server to inform the user of calculation results and suggestions.
[0270] The present invention combines an emotion engine with a system that allows users to efficiently compare prices and plan their shopping. The operation of this system will now be described in detail.
[0271] User Interface
[0272] Users create an account and log in using the app installed on their device. After logging in, users enter a list of items they plan to purchase within the app. For example, they can manually enter items such as "milk, eggs, and bread."
[0273] Uploading pricing information
[0274] Next, users upload images of store advertisements, receipts, and labels through the app, which inputs the latest price information related to their shopping list into the system. For example, if a user takes a photo of an advertisement for a nearby supermarket and uploads it, the photo will contain information such as "Milk: 100 yen, eggs: 200 yen, bread: 150 yen."
[0275] Data analysis and information extraction
[0276] The device sends image data to a server, which then uses an image analysis algorithm to extract text information from the data. Specifically, it uses OCR (optical character recognition) technology (e.g., Tesseract OCR) to analyze the text data in the image and identify the product name, price, and store name. This information is then stored in a database.
[0277] Price comparison and optimal shopping route calculation
[0278] The server compares the shopping list initially entered by the user with the latest price information stored. It searches for stores with the lowest prices for each item and generates a list of stores with the lowest prices. It then uses the user's current location and the location information of each store to calculate an efficient shopping route. The calculation uses a "shortest distance algorithm" and a "time optimization algorithm."
[0279] Use of emotion engine
[0280] When a user uses the app, the emotion engine is activated and analyzes the user's facial expressions and voice data in real time. This analysis recognizes the user's emotional state (e.g., joy, anger, sadness, stress, etc.). The emotion engine uses this data to make suggestions based on the user's emotional state. For example, if the user is feeling stressed, the emotion engine sends the data to the server and suggests stores and products that will help relieve stress.
[0281] Displaying and sharing proposals
[0282] The suggestions are displayed on the device, and the user can check the most efficient shopping route on the app along with information such as "Milk: Supermarket A, Eggs: Discount Shop B, Bread: Supermarket C." Furthermore, the information can be shared with family and friends using the "Share" button within the app, allowing for efficient household shopping plans.
[0283] Specific examples
[0284] As a concrete example, if a user plans to purchase "milk, eggs, and bread," they can take a photo of a flyer from a nearby supermarket and upload it. The server extracts the information "Milk: 100 yen, eggs: 200 yen, bread: 150 yen" from the flyer and saves it in a database. The server then suggests the stores with the lowest prices (Milk: Supermarket A, eggs: Discount Shop B, bread: Supermarket C) and calculates an efficient shopping route. The user can check the information displayed in the app and share it with family members to shop together.
[0285] Prompt Sentence Examples
[0286] Below are some examples of prompts to input to the generative AI model.
[0287] Please explain the process after the user enters their shopping list (e.g., milk, eggs, bread) through the app and uploads store advertisements and receipts. Explain in detail how OCR technology is used to extract price information and suggest the cheapest store, how an emotion engine is used to make suggestions based on the user's emotional state, and the algorithm that calculates the optimal shopping route.
[0288] As described above, this system provides users with price comparisons and the optimal shopping route, and also utilizes an emotion engine to make appropriate suggestions based on the user's emotional state, thereby achieving a personalized shopping experience that meets individual needs.By also providing a function for sharing information among family members, it can support efficient shopping plans.
[0289] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0290] Step 1:
[0291] Users create an account and log in to the app, then enter a shopping list of items they want to purchase into the app, which then stores the list in a database on the device.
[0292] Input: Shopping list entered into the app
[0293] Data processing: Input information is saved in the internal database
[0294] Output: Shopping list stored in the internal database
[0295] Specific behavior:
[0296] The user opens the app and logs in by entering their account information (username, password, etc.).
[0297] After logging in, you manually enter the items you plan to purchase, such as "milk, eggs, bread," in the app's interface.
[0298] The entered list is saved in the device.
[0299] Step 2:
[0300] Users upload store advertisements, receipts, and labels through the app, and the uploaded image data is sent from the device to the server.
[0301] Input: Images of advertisements, receipts, labels
[0302] Data processing: Send image data to the server
[0303] Output: Image data sent to the server
[0304] Specific behavior:
[0305] Users press an in-app "upload image" button to take a photo of the ad or receipt or select an existing image.
[0306] The app sends the image to the server.
[0307] Step 3:
[0308] The server receives the uploaded image data and extracts the text information using OCR technology (e.g., Tesseract OCR), which is then stored in a database.
[0309] Input: Uploaded image data
[0310] Data processing: Extraction of text information using OCR technology
[0311] Output: Extracted product name, price, and store name data
[0312] Specific behavior:
[0313] The server receives the image data and starts the OCR engine.
[0314] The server extracts text information such as "Milk: 100 yen, eggs: 200 yen, bread: 150 yen" and stores it in a database.
[0315] Step 4:
[0316] The server compares the user's shopping list with the latest price information stored and searches for the store with the lowest price for each item. Based on this, it generates a list of the cheapest stores and calculates an efficient shopping route.
[0317] Input: User's shopping list, extracted price information
[0318] Data processing: Matching with price information, searching for the cheapest store, calculating routes
[0319] Output: List of cheapest stores, optimal shopping route
[0320] Specific behavior:
[0321] The server retrieves the shopping list and price information from the database and searches for the store with the lowest price.
[0322] The server obtains the user's current location and the store's location information, and calculates the optimal shopping route using the Google Maps API or other tools.
[0323] The server generates optimal route information such as "Milk: Supermarket A, Eggs: Discount Shop B, Bread: Supermarket C."
[0324] Step 5:
[0325] When a user uses the app, the emotion engine is activated. It analyzes the user's facial expressions and voice data in real time to recognize their emotional state. Depending on their emotional state, it makes suggestions that can help reduce stress, etc.
[0326] Input: User's facial expression data, voice data
[0327] Data processing: Analysis of emotional state, generation of stress reduction suggestions
[0328] Output: Recommendations based on emotional state
[0329] Specific behavior:
[0330] The app activates the device's camera and microphone to record the user's facial expressions and voice.
[0331] The device sends this data to an emotion engine to analyze the emotional state.
[0332] If the emotion engine determines that the user is "feeling stressed," it sends data to the server and obtains store information that will help reduce stress.
[0333] The server will suggest less crowded stores and products that have a relaxing effect.
[0334] Step 6:
[0335] The server sends the suggestions to the device, and the app displays information such as "Milk: Supermarket A, Eggs: Discount Shop B, Bread: Supermarket C" along with an efficient shopping route. In addition, users can share the information with family and friends using the "Share" button within the app.
[0336] Input: Cheapest store list, optimal shopping route
[0337] Data processing: Displaying information on user devices and providing sharing functions
[0338] Output: Display of proposals, information sharing
[0339] Specific behavior:
[0340] The app receives suggestions from the server and displays a shopping route to the user: "Milk: Supermarket A, Eggs: Discount Shop B, Bread: Supermarket C."
[0341] Users press the "Share" button within the app to send information to family and relatives.
[0342] Family members and other people involved can log in to the same app and view the shared information.
[0343] (Application example 2)
[0344] 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."
[0345] Conventional shopping support systems are limited to providing information to help users shop efficiently, and have the problem of not being able to make suggestions that take into account the user's emotional state or stress level.In addition, it is difficult for family members to share shopping plan information, which limits the efficiency of shopping.
[0346] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes a means for the user to input a shopping list, a means for the user to upload advertising media, receipts, and price cards, a means for the server to extract text information from the uploaded images, a means for the server to calculate the optimal purchasing route using the extracted text data, a means for the server to notify the user of the calculation results, and a means for an emotion engine to analyze the emotional state of the user from facial expressions and voice data and adjust the content of suggestions according to the emotional state. This allows personalized suggestions to be provided according to the user's emotional state, and also makes it easy to share information among family members, making shopping efficient and comfortable.
[0347] A "user" is a person who uses the system to create a shopping list or obtain price information.
[0348] A "shopping list" is a list of items that a user plans to purchase.
[0349] "Advertising media" refers to flyers and promotional materials that contain product information offered by a store.
[0350] A "receipt" is a receipt issued by a store when a product is purchased.
[0351] "Price card" refers to the price tag attached to each product.
[0352] A "server" is a computer device that serves as the center of a system and processes and manages data.
[0353] "Text information" refers to text data extracted from advertising media, receipts, price cards, and the like.
[0354] A "purchase path" is the optimal route through stores that allows a user to shop efficiently.
[0355] The "emotion engine" is a system that analyzes a user's facial expressions and voice data in real time to identify their emotional state.
[0356] "Suggestion content" refers to information provided to users, such as product recommendations that take into consideration shopping efficiency and emotions.
[0357] The "family information sharing function" allows family members to share shopping plans and suggestions with each other.
[0358] The embodiment of the present invention will be specifically described below. This system is composed of the following main components.
[0359] 1. How users enter their shopping list:
[0360] Through a smartphone application, users can enter a list of items they plan to purchase, which might include words like "milk, eggs, bread."
[0361] 2. How users can upload advertising media, receipts, and price cards:
[0362] Users can use their smartphone's camera to take photos of store flyers and receipts and upload these images to the server through the application.
[0363] 3. How the server extracts text information from uploaded images:
[0364] The server uses an OCR (optical character recognition) library like pytesseract to extract text information from the uploaded image, resulting in data such as product name, price, and store name.
[0365] 4. The server uses the extracted character data to calculate the optimal purchase path:
[0366] The server matches the extracted text data with the user's shopping list, generates a list of stores and products with the lowest prices, and then uses the geopy library to calculate the shortest route to each store from the user's current location.
[0367] 5. How the server notifies the user of the results of the calculation:
[0368] The server sends the calculation results to the user's smartphone, and the user can then use the application to view a list of suggested lowest-priced stores and purchasing routes.
[0369] 6. How the emotion engine analyzes the user's emotional state from facial expressions and voice data and adjusts the suggestions accordingly:
[0370] The emotion engine analyzes the user's facial expressions and voice in real time through the smartphone's camera and microphone to estimate the user's emotional state. Based on this information, if the user is feeling stressed, it will recommend less crowded stores or products that have a relaxing effect.
[0371] 7. Family information sharing function:
[0372] Users can use the sharing function within the application to share shopping lists and purchasing route information with family members and other stakeholders, enabling efficient shopping planning within the home.
[0373] Examples:
[0374] The user enters "milk, eggs, bread" into a shopping list on their smartphone and uploads an image of a local supermarket flyer to the application. The application extracts product prices from the flyer, calculates the store offering the cheapest product, and the optimal shopping route, and makes suggestions to the user. Furthermore, if the emotion engine determines that the user is feeling stressed, it will make suggestions to avoid crowds.
[0375] Example of an input prompt for a generative AI model:
[0376] It automatically extracts product price information from images of flyers and receipts, and compares it with the shopping list entered by the user to list the stores with the lowest prices. It also calculates and suggests the optimal shopping route from the user's current location to each store. It also uses an emotion engine to make suggestions based on the user's emotional state.
[0377] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0378] Step 1:
[0379] A user inputs a shopping list using a smartphone application, and the input data is saved in list format within the application.
[0380] Input: List of items to be purchased (e.g. milk, eggs, bread)
[0381] Output: Shopping list data
[0382] Step 2:
[0383] Users take pictures of flyers or receipts with their smartphone cameras and upload the images to the server via the application.
[0384] Input: Image data of flyers, receipts, and price cards
[0385] Output: Image file uploaded to the server
[0386] Step 3:
[0387] The server uses the pytesseract library to perform OCR processing to extract character information from the uploaded image file, thereby obtaining the character data in the image as text.
[0388] Input: Uploaded image file
[0389] Output: Extracted text data (e.g. product name, price, store name)
[0390] Step 4:
[0391] The server analyzes the extracted text data and stores the price information of the corresponding product in a database. The data extracted from multiple images is integrated and organized.
[0392] Input: Extracted character data
[0393] Output: Price information stored in a database
[0394] Step 5:
[0395] The server compares the shopping list entered by the user with the price information stored in the database and lists the stores offering the cheapest products, taking into account the location of each store using the geopy library to calculate the optimal shopping path.
[0396] Input: Shopping list data, price information
[0397] Output: List of cheapest stores, optimal purchasing path
[0398] Step 6:
[0399] The server sends the calculated list of lowest-priced stores and the optimal shopping route to the user's smartphone application, where the user can view the information.
[0400] Input: List of lowest priced stores, optimal purchasing path
[0401] Output: List of lowest priced stores notified to the user, optimal purchasing path
[0402] Step 7:
[0403] The emotion engine is activated, collecting facial and voice data in real time via the user's smartphone camera and microphone, and analyzing their emotional state. Based on the analysis results, it makes recommendations for products and stores that match the user's emotional state.
[0404] Input: Real-time facial expression data, voice data
[0405] Output: Suggestions based on the user's emotional state
[0406] Step 8:
[0407] Users can use the sharing function within the application to share shopping lists and optimal purchasing route information with family members and other related parties. The shared information is also notified to the smartphone applications of other family members.
[0408] Input: Shopping list, optimal purchasing path
[0409] Output: Shared shopping list, optimal purchasing path
[0410] 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.
[0411] 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.
[0412] 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.
[0413] [Second embodiment]
[0414] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0415] 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.
[0416] 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).
[0417] 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.
[0418] 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.
[0419] 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).
[0420] 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.
[0421] 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.
[0422] 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.
[0423] 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.
[0424] 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.
[0425] 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."
[0426] This system allows users to efficiently compare prices and plan the optimal shopping route. The operation of this system is explained in detail below.
[0427] User shopping list input
[0428] First, users install the app on their device, create an account, and log in. After logging in, users enter a list of items they plan to purchase within the app. For example, they can manually enter items such as "milk, eggs, and bread."
[0429] Next, users upload images of store flyers, receipts, and product price tags through the app, which populates the system with up-to-date pricing information related to their shopping list.
[0430] Parsing data and extracting price information
[0431] When the device sends image data to the server, the server uses an image analysis algorithm to extract "text information" from the data. Specifically, it uses OCR (optical character recognition) technology to analyze the text data in the image and identify "product name," "price," and "store name." This information is then stored in a database and made accessible to other users.
[0432] For example, if an uploaded flyer states "Milk: 100 yen, eggs: 200 yen, bread: 150 yen," the server will organize and register this information in a database.
[0433] Proposal of the cheapest store and shopping route
[0434] The shopping list initially entered by the user is compared with the latest price information stored on the server. The server then searches for the store with the lowest price for each item and generates a list of the lowest-priced stores. Furthermore, the server uses the user's current location and the location information of each store to calculate an efficient shopping route. For example, a "shortest distance algorithm" or a "time optimization algorithm" could be used for this calculation.
[0435] The calculation results are sent to the device, and users can check the most efficient shopping route on the app, along with information such as "Milk: Supermarket A, Eggs: Discount Shop B, Bread: Supermarket C."
[0436] View and share your suggestions
[0437] After the suggestions are displayed on the device, users can use the "Share" button in the app to share the information with family and other interested parties, allowing for efficient shopping plans within the home and preventing information from becoming personal.
[0438] For example, if a user shares their "milk, eggs, and bread" purchasing plan and shopping route with their family, other family members can log in to the same app, view this information, and follow the same instructions to shop.
[0439] As described above, this system provides users with price comparisons and the best shopping routes, significantly reducing the complexity of information collection and management. It also provides a sharing function for family members, enabling an efficient shopping experience.
[0440] The processing flow will be explained below.
[0441] Step 1:
[0442] The user logs in to the app. The user enters their user ID and password on the login screen displayed on the device and taps the "Login" button. The device sends this information to the server.
[0443] Step 2:
[0444] The server receives the login information and checks it against an authentication database. If the server is successful, it generates an authentication token and sends it back to the device, allowing the user to access the app.
[0445] Step 3:
[0446] The user enters the shopping list within the app. The user manually enters the items they want to purchase on the app's "Shopping List" screen and taps the "Save" button. The device temporarily saves this in its local memory.
[0447] Step 4:
[0448] The user uploads an image of a flyer, receipt, or price tag by tapping the "Upload Image" button on the device, opening a file selection dialog, and selecting the image to upload. The device then sends the selected image to the server.
[0449] Step 5:
[0450] The server receives the image data. The server then performs OCR (optical character recognition) on the image to extract text information. Specifically, it identifies the product name, price, and store name and obtains them as text data.
[0451] Step 6:
[0452] The server saves the extracted text data in a database. The server organizes product names, prices, and store information and registers them in the database. If there are any duplicates, the database is updated with the latest information.
[0453] Step 7:
[0454] The server receives the user's shopping list and compares it with the lowest price information stored on the server. The server identifies the stores that offer the lowest prices for each item and generates a list of the lowest price stores.
[0455] Step 8:
[0456] The server uses the user's current location and the location information of each store to calculate the optimal shopping route, using algorithms for shortest distance and time optimization.
[0457] Step 9:
[0458] The server sends the generated list of cheapest stores and shopping route data to the terminal, which receives the data and stores it in its memory.
[0459] Step 10:
[0460] The device will display the cheapest stores and efficient shopping routes to users, who can then view detailed recommendations on the app interface.
[0461] Step 11:
[0462] Users can share information with their family members. Use the "Share" button on the device to share the suggestions via social media or messaging apps. Other family members who receive this information can then display the same data on their devices.
[0463] The above are the specific processing steps in this system.
[0464] Example 1
[0465] 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."
[0466] With conventional purchasing support systems, users had to manually compare prices at multiple stores, making it difficult to plan the most efficient purchasing route. It was also difficult for family members to share information, making it impossible to create an efficient purchasing plan. This resulted in the enormous effort required to collect and manage information, preventing optimal purchasing.
[0467] 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.
[0468] In this invention, the server includes a means for users to input a shopping list, a means for users to upload store promotional media, receipts, and price displays, a means for the server to extract text information from the uploaded images, a means for the server to calculate the optimal shopping route using the extracted text data, a means for the server to notify the user of the calculation results, and a means for the user to share information with other users. This allows users to efficiently collect price information and easily plan the optimal shopping route. It also makes it easy for family members to share information, allowing everyone to act based on a unified purchasing plan.
[0469] A "purchase list" is a list of products that a user plans to purchase.
[0470] "Store advertising media" refers to print and digital media used by stores to communicate pricing information for their products and services.
[0471] A "receipt" is a document issued when purchasing goods or services, and includes information such as the purchased item, price, and store name.
[0472] "Price display" refers to a tag or label that indicates the price of a product and is used to visually communicate the selling price of the product.
[0473] The "means of extracting text information from an image" refers to a technology that uses OCR (optical character recognition) technology to read text within an image as digital data.
[0474] "Means for calculating optimal shopping path" refers to algorithms or techniques for calculating a route that will allow a user to complete their shopping efficiently, and may use geographic information systems and shortest distance algorithms.
[0475] "Means for notifying the user of the calculation results" refers to a technology in which the server sends the calculation results to the user's terminal and displays them in a form that the user can visually confirm.
[0476] "Means for sharing information with other users" refers to a function that allows users to share purchase lists and purchasing path information with other users, including methods such as sending links via email or social media.
[0477] "Lowest price information" is information about the store that has the lowest price for the same product based on price data collected from multiple stores.
[0478] A "geographic information system" is a system that uses map data to manage and analyze spatial information, and is used for route searches and providing location information.
[0479] A "database" is a system that can systematically store, manage, and search information, and is located on a server.
[0480] The present invention provides a system that allows users to efficiently compare prices and plan an optimal shopping route. Specific embodiments of the system are described below.
[0481] User shopping list input
[0482] First, users install the "application" on their device, create an account, and log in. After logging in, users enter a list of items they plan to purchase within the application. For example, they can manually enter items such as "milk, eggs, bread."
[0483] Users then upload images of their store's "store promotional materials," receipts, and product "price tags" through the application, which populates the system with up-to-date pricing information related to their shopping list.
[0484] Parsing data and extracting price information
[0485] When the device sends image data to the server, the server uses OCR (optical character recognition) technology to extract text information from the data. Specifically, it uses an OCR engine (e.g., Tesseract) to analyze the text data in the image and identify the "product name," "price," and "store name." This information is stored in a database and can be accessed by other users later.
[0486] For example, if the uploaded store promotional media states "Milk: 100 yen, eggs: 200 yen, bread: 150 yen," the server will organize and register this information in a database.
[0487] Proposal of the cheapest store and shopping route
[0488] The shopping list initially entered by the user is compared with the latest price information stored on the server. The server then searches for the store with the lowest price for each item and generates a list of the lowest-priced stores. Furthermore, the server uses the user's current location and the location information of each store to calculate an efficient shopping route. For example, a "shortest distance algorithm" or a "time optimization algorithm" can be used for this calculation.
[0489] The calculation results are sent to the device, and the user can check the most efficient shopping route on the application, along with information such as "Milk: Store A, Eggs: Store B, Bread: Store C."
[0490] View and share your suggestions
[0491] After the recommendations are displayed on the device, users can use the "Share" button in the application to share the information with family and other stakeholders, allowing for efficient household shopping planning and preventing information from becoming personal.
[0492] For example, if a user shares their "milk, eggs, and bread" purchasing plan and shopping route with their family, other family members can log in to the same application, view this information, and follow the same instructions to shop.
[0493] Adding specific examples
[0494] Here are some example prompts to input to the generative AI model:
[0495] Example prompts
[0496] 1. "How does an application that provides the best prices on milk, eggs, and bread work?"
[0497] 2. "Explain how a system works that allows you to input a shopping list and suggests the best route for your shopping."
[0498] In this way, this system provides users with price comparisons and the best shopping routes, significantly reducing the complexity of information collection and management. It also provides a sharing function for family members, enabling an efficient shopping experience.
[0499] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0500] Step 1:
[0501] The user creates an account and logs in.
[0502] Specifically, the user launches the application, enters their email address and password on the account creation screen, and taps the "Register" button. The server receives this and creates a new user account in the database. The user then enters their email address and password on the login screen and taps the "Login" button, and the server authenticates and allows them to log in.
[0503] Input: User's email address, password
[0504] Output: New account creation, login authentication
[0505] Step 2:
[0506] The user enters their shopping list and uploads an image with pricing information.
[0507] Users manually enter the items they wish to purchase into the application's shopping list input form and tap the "Add" button. Next, they use the "Image Upload" function to take a photo of a flyer, receipt, or price display, and tap the "Send" button. The device then sends the captured image to the server.
[0508] Input: User's shopping list, image file
[0509] Output: Image file sent to the server
[0510] Step 3:
[0511] The device sends the image to the server.
[0512] The device compresses the captured image and sends it to the server in the appropriate format (e.g., JPEG, PNG). The server receives the image data.
[0513] Input: Image file from terminal
[0514] Output: Image files sent and received from the server
[0515] Step 4:
[0516] The server performs image analysis and extracts text data.
[0517] The server uses OCR technology (e.g., Tesseract) to extract text information from the received image. This process yields information such as the product name, price, and store name. For example, data such as "Milk: 100 yen, eggs: 200 yen, bread: 150 yen" can be extracted from an image of a flyer.
[0518] Input: Uploaded image file
[0519] Output: Extracted text data (product name, price, store name)
[0520] Step 5:
[0521] The server stores the extracted text data in a database.
[0522] The analyzed text data is divided into data fields and tagged as "product name," "price," and "store name." This information is then stored in a database management system (e.g., MySQL).
[0523] Input: Extracted text data
[0524] Output: Structured text data stored in a database
[0525] Step 6:
[0526] A user requests a search for the best price.
[0527] The user taps the application's "Find Best Price" button, sending a request to the server containing their shopping list and current location information.
[0528] Input: User search request (shopping list, current location information)
[0529] Output: Search request sent to server
[0530] Step 7:
[0531] The server calculates the lowest price and the best shopping route.
[0532] The server checks the price information in its database to find the store that offers the lowest price for each item, and then uses a geographic information system (e.g., Google Maps API) to calculate the best route from the user's current location to each store.
[0533] Input: Search request, pricing information in a database, geographic information system
[0534] Output: Lowest price information, optimal shopping route
[0535] Step 8:
[0536] The server sends the calculation results to the terminal, which displays them to the user.
[0537] The server sends the calculation results to the terminal, which then displays the lowest price information and shopping route on the user interface. Specifically, it displays a list such as "Milk: Store A, Eggs: Store B, Bread: Store C" and plots the shopping route on a map.
[0538] Input: Calculation results (lowest price information, shopping route)
[0539] Output: The result displayed in the user interface
[0540] Step 9:
[0541] Users share information.
[0542] Users tap the "Share" button within the application to generate a link to share their shopping list and route information with others, which can be sent via email or social media.
[0543] Input: Sharing request (shopping list, route information)
[0544] Output: Shared link generated and sent
[0545] (Application example 1)
[0546] 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."
[0547] Currently, many consumers spend time and effort comparing prices when shopping and choosing the best store. However, collecting price information from each store and finding the store with the cheapest products is tedious, and planning an efficient shopping route is even more difficult. Furthermore, there are limited ways to share shopping information with other members of the same household, making it difficult to centralize information. This invention aims to provide a system that allows users to efficiently compare price information and plan the best shopping route, while also facilitating information sharing among family members.
[0548] 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.
[0549] In this invention, the server includes means for a user to input a shopping list, means for the user to upload flyers, receipts, and price tags, means for the server to extract text information from the uploaded images, means for calculating an efficient shopping route using the user's current location information and store location information, means for the server to notify the user of the calculation results, and means for providing an information sharing function among family members, which enables the user to efficiently compare prices, plan the optimal shopping route, and share information among family members.
[0550] "User" refers to an individual or group of people who use the System to make purchases.
[0551] A "shopping list" refers to information that lists the items a user plans to purchase.
[0552] A "flyer" is a printed advertisement distributed by a store that contains product and price information.
[0553] "Receipt" refers to paper or electronic data containing detailed information and payment information for items purchased at a store.
[0554] "Price tag" refers to a label accompanying a product that contains price information.
[0555] "Server" refers to the central computer that manages and operates the entire system.
[0556] "Means for extracting text information from images" refers to the process of using optical character recognition (OCR) technology to analyze the text data in uploaded images and obtain information such as product names, prices, and store names.
[0557] "Current location information" refers to data that indicates the user's location.
[0558] "Store location information" refers to data indicating the geographic location of each store.
[0559] An "efficient shopping route" refers to the route a user takes to purchase the cheapest products in the shortest time and distance.
[0560] "Means of notification" refers to the process of conveying information such as calculation results and optimal routes to users.
[0561] "Information sharing function" refers to the function that allows users to exchange and view shopping information with other members.
[0562] This system allows users to efficiently compare prices and plan the optimal shopping route. The operation of this system is explained in detail below.
[0563] User shopping list input
[0564] First, users install the application on their device, create an account, and log in. After logging in, they can manually enter a list of items they plan to purchase within the app. For example, they can manually enter items such as "milk, eggs, and bread."
[0565] Next, users upload images of store flyers, receipts, and product price tags through the app, which populates the system with up-to-date pricing information related to their shopping list. At this stage, users take images using their smartphone camera and upload them to the app.
[0566] Parsing data and extracting price information
[0567] Image data sent by users is first sent to a server. The server uses an image analysis algorithm to extract text information from the data. Specifically, it uses OCR (optical character recognition) technology to analyze the text data in the image and identify the product name, price, and store name. This information is then stored in a database that can be accessed by other users.
[0568] For example, if an uploaded flyer states "Milk: 100 yen, eggs: 200 yen, bread: 150 yen," the server will organize and register this information in a database. This data processing uses the pytesseract library and OpenCV.
[0569] Proposal of the cheapest store and shopping route
[0570] The server compares the shopping list entered by the user with the latest price information stored on the server, searches for the store with the lowest price for each item, and generates a list of the lowest-priced stores.
[0571] Furthermore, the app uses the user's current location and the location information of each store to calculate an efficient shopping route. This calculation uses the "shortest distance algorithm" and "time optimization algorithm." Specifically, the route is calculated using the Google Maps API. The calculation results are sent to the device, and the user can check the efficient shopping route on the app along with information such as "Milk: Supermarket A, Eggs: Discount Shop B, Bread: Supermarket C."
[0572] View and share your suggestions
[0573] After the suggestions are displayed on the device, users can use the "Share" button in the app to share the information with family and other interested parties, allowing for efficient shopping plans within the home and preventing information from becoming personal.
[0574] For example, if a user shares their "milk, eggs, and bread" purchasing plan and shopping route with their family, other family members can log in to the same app, view this information, and follow the same instructions to shop.
[0575] The introduction of this system will enable users to efficiently compare prices, plan optimal shopping routes, and share information with family members.
[0576] Example prompts for generative AI models
[0577] "Please suggest stores where I can purchase the items listed below at the lowest prices and an efficient shopping route: milk, eggs, bread. Please also tell me how I can share this information with my family and friends."
[0578] As described above, this system provides users with price comparisons and the best shopping routes, significantly reducing the complexity of information collection and management. It also provides a sharing function for family members, enabling an efficient shopping experience.
[0579] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0580] Step 1:
[0581] A user installs an application on their device, creates an account, and logs in. This allows the user to use various functions of the system. The input is user information, and the output is the login authentication result.
[0582] Step 2:
[0583] The user inputs a shopping list into the app. Specifically, they manually enter the names of the products they plan to purchase into the app's input form. The input is the user's shopping list, and the output is the shopping list data stored in the system.
[0584] Step 3:
[0585] Users take pictures of store flyers, receipts, and price tags with their smartphone cameras and upload them through the app. The input is image data, and the output is image data sent to the server.
[0586] Step 4:
[0587] The server receives the uploaded image data and extracts text information using OCR (Optical Character Recognition) technology. Specifically, it uses the pytesseract library and OpenCV to analyze the image and obtain the product name, price, and store name. The input is the image data, and the output is the extracted text information.
[0588] Step 5:
[0589] The server saves the extracted text information in a database, which stores price information uploaded by multiple users. The input is the text information, and the output is the updated database.
[0590] Step 6:
[0591] The server compares the user's shopping list with the price information in the database and generates a list of stores with the cheapest items. This allows the user to know the store where they can buy the item they want to buy at the cheapest price. The input is the shopping list and the price database, and the output is the list of stores with the cheapest prices.
[0592] Step 7:
[0593] The server uses the user's current location information and the location information of each store to calculate an efficient shopping route. Specifically, it uses the Google Maps API to calculate the shortest distance and time-optimized route. The input is the user's current location and a list of stores with the lowest prices, and the output is the optimal shopping route.
[0594] Step 8:
[0595] The server notifies the user of the calculation results. The user can then check the list of lowest priced stores and the most efficient shopping route on the app. The input is the optimal shopping route, and the output is the route information displayed on the user's device screen.
[0596] Step 9:
[0597] Users can use the "Share" button in the app to share information with family and friends. For example, they can ask family members to log in to the same app and view the shared shopping route. The input is the operation of the Share button, and the output is the shared shopping information.
[0598] Step 10:
[0599] Family members and related parties can shop based on shared information to achieve an efficient shopping experience. This allows the person in charge of shopping in the household to shop using the latest lowest price information and the optimal route. The input is the shared shopping information, and the output is the actual shopping experience.
[0600] Through each of these steps, users can efficiently compare prices, plan optimal shopping routes, and share information with family members.
[0601] 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.
[0602] The present invention combines an emotion engine with a system that allows users to efficiently compare prices and plan their shopping. The operation of this system will now be described in detail.
[0603] User shopping list input
[0604] Users install the app on their device, create an account, and log in. After logging in, users enter a list of items they plan to purchase within the app. For example, they can manually enter items such as "milk, eggs, and bread."
[0605] Next, users upload images of store flyers, receipts, and product price tags through the app, which populates the system with up-to-date pricing information related to their shopping list.
[0606] Parsing data and extracting price information
[0607] When the device sends image data to the server, the server uses an image analysis algorithm to extract "text information" from the data. Specifically, it uses OCR (optical character recognition) technology to analyze the text data in the image and identify "product name," "price," and "store name." This information is then stored in a database and made accessible to other users.
[0608] For example, if an uploaded flyer states "Milk: 100 yen, eggs: 200 yen, bread: 150 yen," the server will organize and register this information in a database.
[0609] Proposal of the cheapest store and shopping route
[0610] The shopping list initially entered by the user is compared with the latest price information stored on the server. The server then searches for the store with the lowest price for each item and generates a list of the lowest-priced stores. Furthermore, the server uses the user's current location and the location information of each store to calculate an efficient shopping route. For example, a "shortest distance algorithm" or a "time optimization algorithm" could be used for this calculation.
[0611] The calculation results are sent to the device, and users can check the most efficient shopping route on the app, along with information such as "Milk: Supermarket A, Eggs: Discount Shop B, Bread: Supermarket C."
[0612] Emotion recognition and response using emotion engine
[0613] When a user uses the app, the emotion engine is activated and analyzes the user's facial expressions and voice data in real time. This analysis recognizes the user's emotional state (e.g., joy, anger, sadness, stress, etc.). Based on this data, the emotion engine makes suggestions according to the user's emotional state.
[0614] For example, if a user is feeling stressed, the emotion engine will send data to the server and suggest stores or products that can help reduce stress, such as recommending stores during less busy hours or products that have a relaxing effect.
[0615] View and share your suggestions
[0616] After the suggestions are displayed on the device, users can use the "Share" button in the app to share the information with family and other interested parties, allowing for efficient shopping plans within the home and preventing information from becoming personal.
[0617] For example, if a user shares their "milk, eggs, and bread" purchasing plan and shopping route with their family, other family members can log in to the same app, view this information, and follow the same instructions to shop.
[0618] As described above, this system provides users with price comparisons and the optimal shopping route, and also utilizes an emotion engine to make appropriate suggestions based on the user's emotional state, thereby achieving a personalized shopping experience that meets individual needs.By also providing a function for sharing information among family members, it can support efficient shopping plans.
[0619] The processing flow will be explained below.
[0620] Step 1:
[0621] The user logs in to the app. They enter their user ID and password on the login screen displayed on their device and tap the "Login" button. The device then sends this information to the server.
[0622] Step 2:
[0623] The server receives the login information and checks it against an authentication database. If the server is successful, it generates an authentication token and sends it back to the device, allowing the user to access the app.
[0624] Step 3:
[0625] The user enters the shopping list in the app. The user manually enters the items they want to purchase on the "Shopping List" screen of the app and taps the "Save" button. The device temporarily saves this in its local memory and sends the list data to the server.
[0626] Step 4:
[0627] The user uploads an image of a flyer, receipt, or price tag by tapping the "Upload Image" button on the device, opening a file selection dialog, and selecting the image to upload. The device then sends the selected image to the server.
[0628] Step 5:
[0629] The server receives the image data. It then analyzes the image using OCR (optical character recognition) technology and extracts text information. Specifically, it identifies the product name, price, and store name and obtains them as text data.
[0630] Step 6:
[0631] The server saves the extracted text data in a database. The server organizes product names, prices, and store information and registers them in the database. If there are any duplicates, the database is updated with the latest information.
[0632] Step 7:
[0633] The emotion engine recognizes the user's emotional state. The device collects the user's facial expressions and voice data and sends it to the server. The emotion engine on the server analyzes this data and determines the user's emotional state (e.g., joy, anger, sadness, stress, etc.).
[0634] Step 8:
[0635] The server makes optimal suggestions to users based on their shopping list and emotional state data. It compares the lowest price information stored on the server to identify stores that offer the lowest prices for each item. It also suggests stores and products that will reduce stress based on the user's emotional state.
[0636] Step 9:
[0637] The server uses the user's current location and the location information of each store to calculate the optimal shopping route. This calculation uses the shortest distance algorithm and time optimization algorithm. The server then sends the generated list of cheapest stores and shopping route data to the terminal.
[0638] Step 10:
[0639] The device stores the data received from the server in memory and displays the cheapest stores and efficient shopping routes to the user. The user can view detailed suggestions on the app interface.
[0640] Step 11:
[0641] Users can share information with their family members. Use the "Share" button on the device to share the suggestions via social media or messaging apps. Other family members who receive this information can then display the same data on their devices.
[0642] The above are the specific processing steps in the shopping support system that combines the emotion engine.
[0643] Example 2
[0644] 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."
[0645] Today's consumers spend a great deal of time and effort on their daily shopping. In particular, to find the cheapest product at multiple stores, they must check and compare information such as advertisements, receipts, and labels. Furthermore, there is a lack of services that take into account the emotional state of the user while shopping, which can lead to stress and dissatisfaction. Information sharing within the home is often difficult, making it difficult to plan an efficient shopping trip.
[0646] 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 a means for the user to input a shopping list, a means for the user to upload advertisements, receipts, and labels, a means for the server to extract text information from the uploaded images, a means for the server to calculate an optimal shopping route using the extracted text data, a means for the server to analyze the user's emotional state and make suggestions based on the emotional state, and a means for the server to notify the user of the calculation results. This allows the user to efficiently find the lowest priced products and receive personalized suggestions based on the user's emotional state. In addition, since information can be easily shared among family members, an efficient shopping plan can be made for the entire household.
[0647] "User" refers to an individual who uses the System to enter shopping lists or upload information.
[0648] A "shopping list" refers to a list of items a user plans to purchase.
[0649] "Advertising" refers to printed or digital media distributed by stores or retailers to inform people about their products or services.
[0650] "Receipt" means a paper or digital receipt detailing the items purchased and their prices.
[0651] "Label" refers to a tag or sticker that lists the product's price and name.
[0652] "Server" refers to the information processing device that serves as the core of the system for analyzing, storing, and calculating shopping information.
[0653] "Text information" refers to character data extracted from image data.
[0654] The "optimal shopping route" refers to the order in which a user visits stores in order to shop efficiently.
[0655] "Emotional state" refers to the user's current mental and emotional state.
[0656] "Emotional state-based suggestions" refers to shopping and store recommendations provided based on a user's psychological and emotional state.
[0657] "Notification" refers to the transmission of information by the server to inform the user of calculation results and suggestions.
[0658] The present invention combines an emotion engine with a system that allows users to efficiently compare prices and plan their shopping. The operation of this system will now be described in detail.
[0659] User Interface
[0660] Users create an account and log in using the app installed on their device. After logging in, users enter a list of items they plan to purchase within the app. For example, they can manually enter items such as "milk, eggs, and bread."
[0661] Uploading pricing information
[0662] Next, users upload images of store advertisements, receipts, and labels through the app, which inputs the latest price information related to their shopping list into the system. For example, if a user takes a photo of an advertisement for a nearby supermarket and uploads it, the photo will contain information such as "Milk: 100 yen, eggs: 200 yen, bread: 150 yen."
[0663] Data analysis and information extraction
[0664] The device sends image data to a server, which then uses an image analysis algorithm to extract text information from the data. Specifically, it uses OCR (optical character recognition) technology (e.g., Tesseract OCR) to analyze the text data in the image and identify the product name, price, and store name. This information is then stored in a database.
[0665] Price comparison and optimal shopping route calculation
[0666] The server compares the shopping list initially entered by the user with the latest price information stored. It searches for stores with the lowest prices for each item and generates a list of stores with the lowest prices. It then uses the user's current location and the location information of each store to calculate an efficient shopping route. The calculation uses a "shortest distance algorithm" and a "time optimization algorithm."
[0667] Use of emotion engine
[0668] When a user uses the app, the emotion engine is activated and analyzes the user's facial expressions and voice data in real time. This analysis recognizes the user's emotional state (e.g., joy, anger, sadness, stress, etc.). The emotion engine uses this data to make suggestions based on the user's emotional state. For example, if the user is feeling stressed, the emotion engine sends the data to the server and suggests stores and products that will help relieve stress.
[0669] Displaying and sharing proposals
[0670] The suggestions are displayed on the device, and the user can check the most efficient shopping route on the app along with information such as "Milk: Supermarket A, Eggs: Discount Shop B, Bread: Supermarket C." Furthermore, the information can be shared with family and friends using the "Share" button within the app, allowing for efficient household shopping plans.
[0671] Specific examples
[0672] As a concrete example, if a user plans to purchase "milk, eggs, and bread," they can take a photo of a flyer from a nearby supermarket and upload it. The server extracts the information "Milk: 100 yen, eggs: 200 yen, bread: 150 yen" from the flyer and saves it in a database. The server then suggests the stores with the lowest prices (Milk: Supermarket A, eggs: Discount Shop B, bread: Supermarket C) and calculates an efficient shopping route. The user can check the information displayed in the app and share it with family members to shop together.
[0673] Prompt Sentence Examples
[0674] Below are some examples of prompts to input to the generative AI model.
[0675] Please explain the process after the user enters their shopping list (e.g., milk, eggs, bread) through the app and uploads store advertisements and receipts. Explain in detail how OCR technology is used to extract price information and suggest the cheapest store, how an emotion engine is used to make suggestions based on the user's emotional state, and the algorithm that calculates the optimal shopping route.
[0676] As described above, this system provides users with price comparisons and the optimal shopping route, and also utilizes an emotion engine to make appropriate suggestions based on the user's emotional state, thereby achieving a personalized shopping experience that meets individual needs.By also providing a function for sharing information among family members, it can support efficient shopping plans.
[0677] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0678] Step 1:
[0679] Users create an account and log in to the app, then enter a shopping list of items they want to purchase into the app, which then stores the list in a database on the device.
[0680] Input: Shopping list entered into the app
[0681] Data processing: Input information is saved in the internal database
[0682] Output: Shopping list stored in the internal database
[0683] Specific behavior:
[0684] The user opens the app and logs in by entering their account information (username, password, etc.).
[0685] After logging in, you manually enter the items you plan to purchase, such as "milk, eggs, bread," in the app's interface.
[0686] The entered list is saved in the device.
[0687] Step 2:
[0688] Users upload store advertisements, receipts, and labels through the app, and the uploaded image data is sent from the device to the server.
[0689] Input: Images of advertisements, receipts, labels
[0690] Data processing: Send image data to the server
[0691] Output: Image data sent to the server
[0692] Specific behavior:
[0693] Users press an in-app "upload image" button to take a photo of the ad or receipt or select an existing image.
[0694] The app sends the image to the server.
[0695] Step 3:
[0696] The server receives the uploaded image data and extracts the text information using OCR technology (e.g., Tesseract OCR), which is then stored in a database.
[0697] Input: Uploaded image data
[0698] Data processing: Extraction of text information using OCR technology
[0699] Output: Extracted product name, price, and store name data
[0700] Specific behavior:
[0701] The server receives the image data and starts the OCR engine.
[0702] The server extracts text information such as "Milk: 100 yen, eggs: 200 yen, bread: 150 yen" and stores it in a database.
[0703] Step 4:
[0704] The server compares the user's shopping list with the latest price information stored and searches for the store with the lowest price for each item. Based on this, it generates a list of the cheapest stores and calculates an efficient shopping route.
[0705] Input: User's shopping list, extracted price information
[0706] Data processing: Matching with price information, searching for the cheapest store, calculating routes
[0707] Output: List of cheapest stores, optimal shopping route
[0708] Specific behavior:
[0709] The server retrieves the shopping list and price information from the database and searches for the store with the lowest price.
[0710] The server obtains the user's current location and the store's location information, and calculates the optimal shopping route using the Google Maps API or other tools.
[0711] The server generates optimal route information such as "Milk: Supermarket A, Eggs: Discount Shop B, Bread: Supermarket C."
[0712] Step 5:
[0713] When a user uses the app, the emotion engine is activated. It analyzes the user's facial expressions and voice data in real time to recognize their emotional state. Depending on their emotional state, it makes suggestions that can help reduce stress, etc.
[0714] Input: User's facial expression data, voice data
[0715] Data processing: Analysis of emotional state, generation of stress reduction suggestions
[0716] Output: Recommendations based on emotional state
[0717] Specific behavior:
[0718] The app activates the device's camera and microphone to record the user's facial expressions and voice.
[0719] The device sends this data to an emotion engine to analyze the emotional state.
[0720] If the emotion engine determines that the user is "feeling stressed," it sends data to the server and obtains store information that will help reduce stress.
[0721] The server will suggest less crowded stores and products that have a relaxing effect.
[0722] Step 6:
[0723] The server sends the suggestions to the device, and the app displays information such as "Milk: Supermarket A, Eggs: Discount Shop B, Bread: Supermarket C" along with an efficient shopping route. In addition, users can share the information with family and friends using the "Share" button within the app.
[0724] Input: Cheapest store list, optimal shopping route
[0725] Data processing: Displaying information on user devices and providing sharing functions
[0726] Output: Display of proposals, information sharing
[0727] Specific behavior:
[0728] The app receives suggestions from the server and displays a shopping route to the user: "Milk: Supermarket A, Eggs: Discount Shop B, Bread: Supermarket C."
[0729] Users press the "Share" button within the app to send information to family and relatives.
[0730] Family members and other people involved can log in to the same app and view the shared information.
[0731] (Application example 2)
[0732] 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."
[0733] Conventional shopping support systems are limited to providing information to help users shop efficiently, and have the problem of not being able to make suggestions that take into account the user's emotional state or stress level.In addition, it is difficult for family members to share shopping plan information, which limits the efficiency of shopping.
[0734] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes a means for the user to input a shopping list, a means for the user to upload advertising media, receipts, and price cards, a means for the server to extract text information from the uploaded images, a means for the server to calculate the optimal purchasing route using the extracted text data, a means for the server to notify the user of the calculation results, and a means for an emotion engine to analyze the emotional state of the user from facial expressions and voice data and adjust the content of suggestions according to the emotional state. This allows personalized suggestions to be provided according to the user's emotional state, and also makes it easy to share information among family members, making shopping efficient and comfortable.
[0735] A "user" is a person who uses the system to create a shopping list or obtain price information.
[0736] A "shopping list" is a list of items that a user plans to purchase.
[0737] "Advertising media" refers to flyers and promotional materials that contain product information offered by a store.
[0738] A "receipt" is a receipt issued by a store when a product is purchased.
[0739] "Price card" refers to the price tag attached to each product.
[0740] A "server" is a computer device that serves as the center of a system and processes and manages data.
[0741] "Text information" refers to text data extracted from advertising media, receipts, price cards, and the like.
[0742] A "purchase path" is the optimal route through stores that allows a user to shop efficiently.
[0743] The "emotion engine" is a system that analyzes a user's facial expressions and voice data in real time to identify their emotional state.
[0744] "Suggestion content" refers to information provided to users, such as product recommendations that take into consideration shopping efficiency and emotions.
[0745] The "family information sharing function" allows family members to share shopping plans and suggestions with each other.
[0746] The embodiment of the present invention will be specifically described below. This system is composed of the following main components.
[0747] 1. How users enter their shopping list:
[0748] Through a smartphone application, users can enter a list of items they plan to purchase, which might include words like "milk, eggs, bread."
[0749] 2. How users can upload advertising media, receipts, and price cards:
[0750] Users can use their smartphone's camera to take photos of store flyers and receipts and upload these images to the server through the application.
[0751] 3. How the server extracts text information from uploaded images:
[0752] The server uses an OCR (optical character recognition) library like pytesseract to extract text information from the uploaded image, resulting in data such as product name, price, and store name.
[0753] 4. The server uses the extracted character data to calculate the optimal purchase path:
[0754] The server matches the extracted text data with the user's shopping list, generates a list of stores and products with the lowest prices, and then uses the geopy library to calculate the shortest route to each store from the user's current location.
[0755] 5. How the server notifies the user of the results of the calculation:
[0756] The server sends the calculation results to the user's smartphone, and the user can then use the application to view a list of suggested lowest-priced stores and purchasing routes.
[0757] 6. How the emotion engine analyzes the user's emotional state from facial expressions and voice data and adjusts the suggestions accordingly:
[0758] The emotion engine analyzes the user's facial expressions and voice in real time through the smartphone's camera and microphone to estimate the user's emotional state. Based on this information, if the user is feeling stressed, it will recommend less crowded stores or products that have a relaxing effect.
[0759] 7. Family information sharing function:
[0760] Users can use the sharing function within the application to share shopping lists and purchasing route information with family members and other stakeholders, enabling efficient shopping planning within the home.
[0761] Examples:
[0762] The user enters "milk, eggs, bread" into a shopping list on their smartphone and uploads an image of a local supermarket flyer to the application. The application extracts product prices from the flyer, calculates the store offering the cheapest product, and the optimal shopping route, and makes suggestions to the user. Furthermore, if the emotion engine determines that the user is feeling stressed, it will make suggestions to avoid crowds.
[0763] Example of an input prompt for a generative AI model:
[0764] It automatically extracts product price information from images of flyers and receipts, and compares it with the shopping list entered by the user to list the stores with the lowest prices. It also calculates and suggests the optimal shopping route from the user's current location to each store. It also uses an emotion engine to make suggestions based on the user's emotional state.
[0765] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0766] Step 1:
[0767] A user inputs a shopping list using a smartphone application, and the input data is saved in list format within the application.
[0768] Input: List of items to be purchased (e.g. milk, eggs, bread)
[0769] Output: Shopping list data
[0770] Step 2:
[0771] Users take pictures of flyers or receipts with their smartphone cameras and upload the images to the server via the application.
[0772] Input: Image data of flyers, receipts, and price cards
[0773] Output: Image file uploaded to the server
[0774] Step 3:
[0775] The server uses the pytesseract library to perform OCR processing to extract character information from the uploaded image file, thereby obtaining the character data in the image as text.
[0776] Input: Uploaded image file
[0777] Output: Extracted text data (e.g. product name, price, store name)
[0778] Step 4:
[0779] The server analyzes the extracted text data and stores the price information of the corresponding product in a database. The data extracted from multiple images is integrated and organized.
[0780] Input: Extracted character data
[0781] Output: Price information stored in a database
[0782] Step 5:
[0783] The server compares the shopping list entered by the user with the price information stored in the database and lists the stores offering the cheapest products, taking into account the location of each store using the geopy library to calculate the optimal shopping path.
[0784] Input: Shopping list data, price information
[0785] Output: List of cheapest stores, optimal purchasing path
[0786] Step 6:
[0787] The server sends the calculated list of lowest-priced stores and the optimal shopping route to the user's smartphone application, where the user can view the information.
[0788] Input: List of lowest priced stores, optimal purchasing path
[0789] Output: List of lowest priced stores notified to the user, optimal purchasing path
[0790] Step 7:
[0791] The emotion engine is activated, collecting facial and voice data in real time via the user's smartphone camera and microphone, and analyzing their emotional state. Based on the analysis results, it makes recommendations for products and stores that match the user's emotional state.
[0792] Input: Real-time facial expression data, voice data
[0793] Output: Suggestions based on the user's emotional state
[0794] Step 8:
[0795] Users can use the sharing function within the application to share shopping lists and optimal purchasing route information with family members and other related parties. The shared information is also notified to the smartphone applications of other family members.
[0796] Input: Shopping list, optimal purchasing path
[0797] Output: Shared shopping list, optimal purchasing path
[0798] 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.
[0799] 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.
[0800] 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.
[0801] [Third embodiment]
[0802] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0803] 5, the data processing system 310 includes the data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.
[0804] 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).
[0805] 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.
[0806] 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.
[0807] 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).
[0808] 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.
[0809] 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.
[0810] 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.
[0811] 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.
[0812] 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.
[0813] 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."
[0814] This system allows users to efficiently compare prices and plan the optimal shopping route. The operation of this system is explained in detail below.
[0815] User shopping list input
[0816] First, users install the app on their device, create an account, and log in. After logging in, users enter a list of items they plan to purchase within the app. For example, they can manually enter items such as "milk, eggs, and bread."
[0817] Next, users upload images of store flyers, receipts, and product price tags through the app, which populates the system with up-to-date pricing information related to their shopping list.
[0818] Parsing data and extracting price information
[0819] When the device sends image data to the server, the server uses an image analysis algorithm to extract "text information" from the data. Specifically, it uses OCR (optical character recognition) technology to analyze the text data in the image and identify "product name," "price," and "store name." This information is then stored in a database and made accessible to other users.
[0820] For example, if an uploaded flyer states "Milk: 100 yen, eggs: 200 yen, bread: 150 yen," the server will organize and register this information in a database.
[0821] Proposal of the cheapest store and shopping route
[0822] The shopping list initially entered by the user is compared with the latest price information stored on the server. The server then searches for the store with the lowest price for each item and generates a list of the lowest-priced stores. Furthermore, the server uses the user's current location and the location information of each store to calculate an efficient shopping route. For example, a "shortest distance algorithm" or a "time optimization algorithm" could be used for this calculation.
[0823] The calculation results are sent to the device, and users can check the most efficient shopping route on the app, along with information such as "Milk: Supermarket A, Eggs: Discount Shop B, Bread: Supermarket C."
[0824] View and share your suggestions
[0825] After the suggestions are displayed on the device, users can use the "Share" button in the app to share the information with family and other interested parties, allowing for efficient shopping plans within the home and preventing information from becoming personal.
[0826] For example, if a user shares their "milk, eggs, and bread" purchasing plan and shopping route with their family, other family members can log in to the same app, view this information, and follow the same instructions to shop.
[0827] As described above, this system provides users with price comparisons and the best shopping routes, significantly reducing the complexity of information collection and management. It also provides a sharing function for family members, enabling an efficient shopping experience.
[0828] The processing flow will be explained below.
[0829] Step 1:
[0830] The user logs in to the app. The user enters their user ID and password on the login screen displayed on the device and taps the "Login" button. The device sends this information to the server.
[0831] Step 2:
[0832] The server receives the login information and checks it against an authentication database. If the server is successful, it generates an authentication token and sends it back to the device, allowing the user to access the app.
[0833] Step 3:
[0834] The user enters the shopping list within the app. The user manually enters the items they want to purchase on the app's "Shopping List" screen and taps the "Save" button. The device temporarily saves this in its local memory.
[0835] Step 4:
[0836] The user uploads an image of a flyer, receipt, or price tag by tapping the "Upload Image" button on the device, opening a file selection dialog, and selecting the image to upload. The device then sends the selected image to the server.
[0837] Step 5:
[0838] The server receives the image data. The server then performs OCR (optical character recognition) on the image to extract text information. Specifically, it identifies the product name, price, and store name and obtains them as text data.
[0839] Step 6:
[0840] The server saves the extracted text data in a database. The server organizes product names, prices, and store information and registers them in the database. If there are any duplicates, the database is updated with the latest information.
[0841] Step 7:
[0842] The server receives the user's shopping list and compares it with the lowest price information stored on the server. The server identifies the stores that offer the lowest prices for each item and generates a list of the lowest price stores.
[0843] Step 8:
[0844] The server uses the user's current location and the location information of each store to calculate the optimal shopping route, using algorithms for shortest distance and time optimization.
[0845] Step 9:
[0846] The server sends the generated list of cheapest stores and shopping route data to the terminal, which receives the data and stores it in its memory.
[0847] Step 10:
[0848] The device will display the cheapest stores and efficient shopping routes to users, who can then view detailed recommendations on the app interface.
[0849] Step 11:
[0850] Users can share information with their family members. Use the "Share" button on the device to share the suggestions via social media or messaging apps. Other family members who receive this information can then display the same data on their devices.
[0851] The above are the specific processing steps in this system.
[0852] Example 1
[0853] 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."
[0854] With conventional purchasing support systems, users had to manually compare prices at multiple stores, making it difficult to plan the most efficient purchasing route. It was also difficult for family members to share information, making it impossible to create an efficient purchasing plan. This resulted in the enormous effort required to collect and manage information, preventing optimal purchasing.
[0855] 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.
[0856] In this invention, the server includes a means for users to input a shopping list, a means for users to upload store promotional media, receipts, and price displays, a means for the server to extract text information from the uploaded images, a means for the server to calculate the optimal shopping route using the extracted text data, a means for the server to notify the user of the calculation results, and a means for the user to share information with other users. This allows users to efficiently collect price information and easily plan the optimal shopping route. It also makes it easy for family members to share information, allowing everyone to act based on a unified purchasing plan.
[0857] A "purchase list" is a list of products that a user plans to purchase.
[0858] "Store advertising media" refers to print and digital media used by stores to communicate pricing information for their products and services.
[0859] A "receipt" is a document issued when purchasing goods or services, and includes information such as the purchased item, price, and store name.
[0860] "Price display" refers to a tag or label that indicates the price of a product and is used to visually communicate the selling price of the product.
[0861] The "means of extracting text information from an image" refers to a technology that uses OCR (optical character recognition) technology to read text within an image as digital data.
[0862] "Means for calculating optimal shopping path" refers to algorithms or techniques for calculating a route that will allow a user to complete their shopping efficiently, and may use geographic information systems and shortest distance algorithms.
[0863] "Means for notifying the user of the calculation results" refers to a technology in which the server sends the calculation results to the user's terminal and displays them in a form that the user can visually confirm.
[0864] "Means for sharing information with other users" refers to a function that allows users to share purchase lists and purchasing path information with other users, including methods such as sending links via email or social media.
[0865] "Lowest price information" is information about the store that has the lowest price for the same product based on price data collected from multiple stores.
[0866] A "geographic information system" is a system that uses map data to manage and analyze spatial information, and is used for route searches and providing location information.
[0867] A "database" is a system that can systematically store, manage, and search information, and is located on a server.
[0868] The present invention provides a system that allows users to efficiently compare prices and plan an optimal shopping route. Specific embodiments of the system are described below.
[0869] User shopping list input
[0870] First, users install the "application" on their device, create an account, and log in. After logging in, users enter a list of items they plan to purchase within the application. For example, they can manually enter items such as "milk, eggs, bread."
[0871] Users then upload images of their store's "store promotional materials," receipts, and product "price tags" through the application, which populates the system with up-to-date pricing information related to their shopping list.
[0872] Parsing data and extracting price information
[0873] When the device sends image data to the server, the server uses OCR (optical character recognition) technology to extract text information from the data. Specifically, it uses an OCR engine (e.g., Tesseract) to analyze the text data in the image and identify the "product name," "price," and "store name." This information is stored in a database and can be accessed by other users later.
[0874] For example, if the uploaded store promotional media states "Milk: 100 yen, eggs: 200 yen, bread: 150 yen," the server will organize and register this information in a database.
[0875] Proposal of the cheapest store and shopping route
[0876] The shopping list initially entered by the user is compared with the latest price information stored on the server. The server then searches for the store with the lowest price for each item and generates a list of the lowest-priced stores. Furthermore, the server uses the user's current location and the location information of each store to calculate an efficient shopping route. For example, a "shortest distance algorithm" or a "time optimization algorithm" can be used for this calculation.
[0877] The calculation results are sent to the device, and the user can check the most efficient shopping route on the application, along with information such as "Milk: Store A, Eggs: Store B, Bread: Store C."
[0878] View and share your suggestions
[0879] After the recommendations are displayed on the device, users can use the "Share" button in the application to share the information with family and other stakeholders, allowing for efficient household shopping planning and preventing information from becoming personal.
[0880] For example, if a user shares their "milk, eggs, and bread" purchasing plan and shopping route with their family, other family members can log in to the same application, view this information, and follow the same instructions to shop.
[0881] Adding specific examples
[0882] Here are some example prompts to input to the generative AI model:
[0883] Example prompts
[0884] 1. "How does an application that provides the best prices on milk, eggs, and bread work?"
[0885] 2. "Explain how a system works that allows you to input a shopping list and suggests the best route for your shopping."
[0886] In this way, this system provides users with price comparisons and the best shopping routes, significantly reducing the complexity of information collection and management. It also provides a sharing function for family members, enabling an efficient shopping experience.
[0887] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0888] Step 1:
[0889] The user creates an account and logs in.
[0890] Specifically, the user launches the application, enters their email address and password on the account creation screen, and taps the "Register" button. The server receives this and creates a new user account in the database. The user then enters their email address and password on the login screen and taps the "Login" button, and the server authenticates and allows them to log in.
[0891] Input: User's email address, password
[0892] Output: New account creation, login authentication
[0893] Step 2:
[0894] The user enters their shopping list and uploads an image with pricing information.
[0895] Users manually enter the items they wish to purchase into the application's shopping list input form and tap the "Add" button. Next, they use the "Image Upload" function to take a photo of a flyer, receipt, or price display, and tap the "Send" button. The device then sends the captured image to the server.
[0896] Input: User's shopping list, image file
[0897] Output: Image file sent to the server
[0898] Step 3:
[0899] The device sends the image to the server.
[0900] The device compresses the captured image and sends it to the server in the appropriate format (e.g., JPEG, PNG). The server receives the image data.
[0901] Input: Image file from terminal
[0902] Output: Image files sent and received from the server
[0903] Step 4:
[0904] The server performs image analysis and extracts text data.
[0905] The server uses OCR technology (e.g., Tesseract) to extract text information from the received image. This process yields information such as the product name, price, and store name. For example, data such as "Milk: 100 yen, eggs: 200 yen, bread: 150 yen" can be extracted from an image of a flyer.
[0906] Input: Uploaded image file
[0907] Output: Extracted text data (product name, price, store name)
[0908] Step 5:
[0909] The server stores the extracted text data in a database.
[0910] The analyzed text data is divided into data fields and tagged as "product name," "price," and "store name." This information is then stored in a database management system (e.g., MySQL).
[0911] Input: Extracted text data
[0912] Output: Structured text data stored in a database
[0913] Step 6:
[0914] A user requests a search for the best price.
[0915] The user taps the application's "Find Best Price" button, sending a request to the server containing their shopping list and current location information.
[0916] Input: User search request (shopping list, current location information)
[0917] Output: Search request sent to server
[0918] Step 7:
[0919] The server calculates the lowest price and the best shopping route.
[0920] The server checks the price information in its database to find the store that offers the lowest price for each item, and then uses a geographic information system (e.g., Google Maps API) to calculate the best route from the user's current location to each store.
[0921] Input: Search request, pricing information in a database, geographic information system
[0922] Output: Lowest price information, optimal shopping route
[0923] Step 8:
[0924] The server sends the calculation results to the terminal, which displays them to the user.
[0925] The server sends the calculation results to the terminal, which then displays the lowest price information and shopping route on the user interface. Specifically, it displays a list such as "Milk: Store A, Eggs: Store B, Bread: Store C" and plots the shopping route on a map.
[0926] Input: Calculation results (lowest price information, shopping route)
[0927] Output: The result displayed in the user interface
[0928] Step 9:
[0929] Users share information.
[0930] Users tap the "Share" button within the application to generate a link to share their shopping list and route information with others, which can be sent via email or social media.
[0931] Input: Sharing request (shopping list, route information)
[0932] Output: Shared link generated and sent
[0933] (Application example 1)
[0934] 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."
[0935] Currently, many consumers spend time and effort comparing prices when shopping and choosing the best store. However, collecting price information from each store and finding the store with the cheapest products is tedious, and planning an efficient shopping route is even more difficult. Furthermore, there are limited ways to share shopping information with other members of the same household, making it difficult to centralize information. This invention aims to provide a system that allows users to efficiently compare price information and plan the best shopping route, while also facilitating information sharing among family members.
[0936] 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.
[0937] In this invention, the server includes means for a user to input a shopping list, means for the user to upload flyers, receipts, and price tags, means for the server to extract text information from the uploaded images, means for calculating an efficient shopping route using the user's current location information and store location information, means for the server to notify the user of the calculation results, and means for providing an information sharing function among family members, which enables the user to efficiently compare prices, plan the optimal shopping route, and share information among family members.
[0938] "User" refers to an individual or group of people who use the System to make purchases.
[0939] A "shopping list" refers to information that lists the items a user plans to purchase.
[0940] A "flyer" is a printed advertisement distributed by a store that contains product and price information.
[0941] "Receipt" refers to paper or electronic data containing detailed information and payment information for items purchased at a store.
[0942] "Price tag" refers to a label accompanying a product that contains price information.
[0943] "Server" refers to the central computer that manages and operates the entire system.
[0944] "Means for extracting text information from images" refers to the process of using optical character recognition (OCR) technology to analyze the text data in uploaded images and obtain information such as product names, prices, and store names.
[0945] "Current location information" refers to data that indicates the user's location.
[0946] "Store location information" refers to data indicating the geographic location of each store.
[0947] An "efficient shopping route" refers to the route a user takes to purchase the cheapest products in the shortest time and distance.
[0948] "Means of notification" refers to the process of conveying information such as calculation results and optimal routes to users.
[0949] "Information sharing function" refers to the function that allows users to exchange and view shopping information with other members.
[0950] This system allows users to efficiently compare prices and plan the optimal shopping route. The operation of this system is explained in detail below.
[0951] User shopping list input
[0952] First, users install the application on their device, create an account, and log in. After logging in, they can manually enter a list of items they plan to purchase within the app. For example, they can manually enter items such as "milk, eggs, and bread."
[0953] Next, users upload images of store flyers, receipts, and product price tags through the app, which populates the system with up-to-date pricing information related to their shopping list. At this stage, users take images using their smartphone camera and upload them to the app.
[0954] Parsing data and extracting price information
[0955] Image data sent by users is first sent to a server. The server uses an image analysis algorithm to extract text information from the data. Specifically, it uses OCR (optical character recognition) technology to analyze the text data in the image and identify the product name, price, and store name. This information is then stored in a database that can be accessed by other users.
[0956] For example, if an uploaded flyer states "Milk: 100 yen, eggs: 200 yen, bread: 150 yen," the server will organize and register this information in a database. This data processing uses the pytesseract library and OpenCV.
[0957] Proposal of the cheapest store and shopping route
[0958] The server compares the shopping list entered by the user with the latest price information stored on the server, searches for the store with the lowest price for each item, and generates a list of the lowest-priced stores.
[0959] Furthermore, the app uses the user's current location and the location information of each store to calculate an efficient shopping route. This calculation uses the "shortest distance algorithm" and "time optimization algorithm." Specifically, the route is calculated using the Google Maps API. The calculation results are sent to the device, and the user can check the efficient shopping route on the app along with information such as "Milk: Supermarket A, Eggs: Discount Shop B, Bread: Supermarket C."
[0960] View and share your suggestions
[0961] After the suggestions are displayed on the device, users can use the "Share" button in the app to share the information with family and other interested parties, allowing for efficient shopping plans within the home and preventing information from becoming personal.
[0962] For example, if a user shares their "milk, eggs, and bread" purchasing plan and shopping route with their family, other family members can log in to the same app, view this information, and follow the same instructions to shop.
[0963] The introduction of this system will enable users to efficiently compare prices, plan optimal shopping routes, and share information with family members.
[0964] Example prompts for generative AI models
[0965] "Please suggest stores where I can purchase the items listed below at the lowest prices and an efficient shopping route: milk, eggs, bread. Please also tell me how I can share this information with my family and friends."
[0966] As described above, this system provides users with price comparisons and the best shopping routes, significantly reducing the complexity of information collection and management. It also provides a sharing function for family members, enabling an efficient shopping experience.
[0967] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0968] Step 1:
[0969] A user installs an application on their device, creates an account, and logs in. This allows the user to use various functions of the system. The input is user information, and the output is the login authentication result.
[0970] Step 2:
[0971] The user inputs a shopping list into the app. Specifically, they manually enter the names of the products they plan to purchase into the app's input form. The input is the user's shopping list, and the output is the shopping list data stored in the system.
[0972] Step 3:
[0973] Users take pictures of store flyers, receipts, and price tags with their smartphone cameras and upload them through the app. The input is image data, and the output is image data sent to the server.
[0974] Step 4:
[0975] The server receives the uploaded image data and extracts text information using OCR (Optical Character Recognition) technology. Specifically, it uses the pytesseract library and OpenCV to analyze the image and obtain the product name, price, and store name. The input is the image data, and the output is the extracted text information.
[0976] Step 5:
[0977] The server saves the extracted text information in a database, which stores price information uploaded by multiple users. The input is the text information, and the output is the updated database.
[0978] Step 6:
[0979] The server compares the user's shopping list with the price information in the database and generates a list of stores with the cheapest items. This allows the user to know the store where they can buy the item they want to buy at the cheapest price. The input is the shopping list and the price database, and the output is the list of stores with the cheapest prices.
[0980] Step 7:
[0981] The server uses the user's current location information and the location information of each store to calculate an efficient shopping route. Specifically, it uses the Google Maps API to calculate the shortest distance and time-optimized route. The input is the user's current location and a list of stores with the lowest prices, and the output is the optimal shopping route.
[0982] Step 8:
[0983] The server notifies the user of the calculation results. The user can then check the list of lowest priced stores and the most efficient shopping route on the app. The input is the optimal shopping route, and the output is the route information displayed on the user's device screen.
[0984] Step 9:
[0985] Users can use the "Share" button in the app to share information with family and friends. For example, they can ask family members to log in to the same app and view the shared shopping route. The input is the operation of the Share button, and the output is the shared shopping information.
[0986] Step 10:
[0987] Family members and related parties can shop based on shared information to achieve an efficient shopping experience. This allows the person in charge of shopping in the household to shop using the latest lowest price information and the optimal route. The input is the shared shopping information, and the output is the actual shopping experience.
[0988] Through each of these steps, users can efficiently compare prices, plan optimal shopping routes, and share information with family members.
[0989] 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.
[0990] The present invention combines an emotion engine with a system that allows users to efficiently compare prices and plan their shopping. The operation of this system will now be described in detail.
[0991] User shopping list input
[0992] Users install the app on their device, create an account, and log in. After logging in, users enter a list of items they plan to purchase within the app. For example, they can manually enter items such as "milk, eggs, and bread."
[0993] Next, users upload images of store flyers, receipts, and product price tags through the app, which populates the system with up-to-date pricing information related to their shopping list.
[0994] Parsing data and extracting price information
[0995] When the device sends image data to the server, the server uses an image analysis algorithm to extract "text information" from the data. Specifically, it uses OCR (optical character recognition) technology to analyze the text data in the image and identify "product name," "price," and "store name." This information is then stored in a database and made accessible to other users.
[0996] For example, if an uploaded flyer states "Milk: 100 yen, eggs: 200 yen, bread: 150 yen," the server will organize and register this information in a database.
[0997] Proposal of the cheapest store and shopping route
[0998] The shopping list initially entered by the user is compared with the latest price information stored on the server. The server then searches for the store with the lowest price for each item and generates a list of the lowest-priced stores. Furthermore, the server uses the user's current location and the location information of each store to calculate an efficient shopping route. For example, a "shortest distance algorithm" or a "time optimization algorithm" could be used for this calculation.
[0999] The calculation results are sent to the device, and users can check the most efficient shopping route on the app, along with information such as "Milk: Supermarket A, Eggs: Discount Shop B, Bread: Supermarket C."
[1000] Emotion recognition and response using emotion engine
[1001] When a user uses the app, the emotion engine is activated and analyzes the user's facial expressions and voice data in real time. This analysis recognizes the user's emotional state (e.g., joy, anger, sadness, stress, etc.). Based on this data, the emotion engine makes suggestions according to the user's emotional state.
[1002] For example, if a user is feeling stressed, the emotion engine will send data to the server and suggest stores or products that can help reduce stress, such as recommending stores during less busy hours or products that have a relaxing effect.
[1003] View and share your suggestions
[1004] After the suggestions are displayed on the device, users can use the "Share" button in the app to share the information with family and other interested parties, allowing for efficient shopping plans within the home and preventing information from becoming personal.
[1005] For example, if a user shares their "milk, eggs, and bread" purchasing plan and shopping route with their family, other family members can log in to the same app, view this information, and follow the same instructions to shop.
[1006] As described above, this system provides users with price comparisons and the optimal shopping route, and also utilizes an emotion engine to make appropriate suggestions based on the user's emotional state, thereby achieving a personalized shopping experience that meets individual needs.By also providing a function for sharing information among family members, it can support efficient shopping plans.
[1007] The processing flow will be explained below.
[1008] Step 1:
[1009] The user logs in to the app. They enter their user ID and password on the login screen displayed on their device and tap the "Login" button. The device then sends this information to the server.
[1010] Step 2:
[1011] The server receives the login information and checks it against an authentication database. If the server is successful, it generates an authentication token and sends it back to the device, allowing the user to access the app.
[1012] Step 3:
[1013] The user enters the shopping list in the app. The user manually enters the items they want to purchase on the "Shopping List" screen of the app and taps the "Save" button. The device temporarily saves this in its local memory and sends the list data to the server.
[1014] Step 4:
[1015] The user uploads an image of a flyer, receipt, or price tag by tapping the "Upload Image" button on the device, opening a file selection dialog, and selecting the image to upload. The device then sends the selected image to the server.
[1016] Step 5:
[1017] The server receives the image data. It then analyzes the image using OCR (optical character recognition) technology and extracts text information. Specifically, it identifies the product name, price, and store name and obtains them as text data.
[1018] Step 6:
[1019] The server saves the extracted text data in a database. The server organizes product names, prices, and store information and registers them in the database. If there are any duplicates, the database is updated with the latest information.
[1020] Step 7:
[1021] The emotion engine recognizes the user's emotional state. The device collects the user's facial expressions and voice data and sends it to the server. The emotion engine on the server analyzes this data and determines the user's emotional state (e.g., joy, anger, sadness, stress, etc.).
[1022] Step 8:
[1023] The server makes optimal suggestions to users based on their shopping list and emotional state data. It compares the lowest price information stored on the server to identify stores that offer the lowest prices for each item. It also suggests stores and products that will reduce stress based on the user's emotional state.
[1024] Step 9:
[1025] The server uses the user's current location and the location information of each store to calculate the optimal shopping route. This calculation uses the shortest distance algorithm and time optimization algorithm. The server then sends the generated list of cheapest stores and shopping route data to the terminal.
[1026] Step 10:
[1027] The device stores the data received from the server in memory and displays the cheapest stores and efficient shopping routes to the user. The user can view detailed suggestions on the app interface.
[1028] Step 11:
[1029] Users can share information with their family members. Use the "Share" button on the device to share the suggestions via social media or messaging apps. Other family members who receive this information can then display the same data on their devices.
[1030] The above are the specific processing steps in the shopping support system that combines the emotion engine.
[1031] Example 2
[1032] 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."
[1033] Today's consumers spend a great deal of time and effort on their daily shopping. In particular, to find the cheapest product at multiple stores, they must check and compare information such as advertisements, receipts, and labels. Furthermore, there is a lack of services that take into account the emotional state of the user while shopping, which can lead to stress and dissatisfaction. Information sharing within the home is often difficult, making it difficult to plan an efficient shopping trip.
[1034] 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 a means for the user to input a shopping list, a means for the user to upload advertisements, receipts, and labels, a means for the server to extract text information from the uploaded images, a means for the server to calculate an optimal shopping route using the extracted text data, a means for the server to analyze the user's emotional state and make suggestions based on the emotional state, and a means for the server to notify the user of the calculation results. This allows the user to efficiently find the lowest priced products and receive personalized suggestions based on the user's emotional state. In addition, since information can be easily shared among family members, an efficient shopping plan can be made for the entire household.
[1035] "User" refers to an individual who uses the System to enter shopping lists or upload information.
[1036] A "shopping list" refers to a list of items a user plans to purchase.
[1037] "Advertising" refers to printed or digital media distributed by stores or retailers to inform people about their products or services.
[1038] "Receipt" means a paper or digital receipt detailing the items purchased and their prices.
[1039] "Label" refers to a tag or sticker that lists the product's price and name.
[1040] "Server" refers to the information processing device that serves as the core of the system for analyzing, storing, and calculating shopping information.
[1041] "Text information" refers to character data extracted from image data.
[1042] The "optimal shopping route" refers to the order in which a user visits stores in order to shop efficiently.
[1043] "Emotional state" refers to the user's current mental and emotional state.
[1044] "Emotional state-based suggestions" refers to shopping and store recommendations provided based on a user's psychological and emotional state.
[1045] "Notification" refers to the transmission of information by the server to inform the user of calculation results and suggestions.
[1046] The present invention combines an emotion engine with a system that allows users to efficiently compare prices and plan their shopping. The operation of this system will now be described in detail.
[1047] User Interface
[1048] Users create an account and log in using the app installed on their device. After logging in, users enter a list of items they plan to purchase within the app. For example, they can manually enter items such as "milk, eggs, and bread."
[1049] Uploading pricing information
[1050] Next, users upload images of store advertisements, receipts, and labels through the app, which inputs the latest price information related to their shopping list into the system. For example, if a user takes a photo of an advertisement for a nearby supermarket and uploads it, the photo will contain information such as "Milk: 100 yen, eggs: 200 yen, bread: 150 yen."
[1051] Data analysis and information extraction
[1052] The device sends image data to a server, which then uses an image analysis algorithm to extract text information from the data. Specifically, it uses OCR (optical character recognition) technology (e.g., Tesseract OCR) to analyze the text data in the image and identify the product name, price, and store name. This information is then stored in a database.
[1053] Price comparison and optimal shopping route calculation
[1054] The server compares the shopping list initially entered by the user with the latest price information stored. It searches for stores with the lowest prices for each item and generates a list of stores with the lowest prices. It then uses the user's current location and the location information of each store to calculate an efficient shopping route. The calculation uses a "shortest distance algorithm" and a "time optimization algorithm."
[1055] Use of emotion engine
[1056] When a user uses the app, the emotion engine is activated and analyzes the user's facial expressions and voice data in real time. This analysis recognizes the user's emotional state (e.g., joy, anger, sadness, stress, etc.). The emotion engine uses this data to make suggestions based on the user's emotional state. For example, if the user is feeling stressed, the emotion engine sends the data to the server and suggests stores and products that will help relieve stress.
[1057] Displaying and sharing proposals
[1058] The suggestions are displayed on the device, and the user can check the most efficient shopping route on the app along with information such as "Milk: Supermarket A, Eggs: Discount Shop B, Bread: Supermarket C." Furthermore, the information can be shared with family and friends using the "Share" button within the app, allowing for efficient household shopping plans.
[1059] Specific examples
[1060] As a concrete example, if a user plans to purchase "milk, eggs, and bread," they can take a photo of a flyer from a nearby supermarket and upload it. The server extracts the information "Milk: 100 yen, eggs: 200 yen, bread: 150 yen" from the flyer and saves it in a database. The server then suggests the stores with the lowest prices (Milk: Supermarket A, eggs: Discount Shop B, bread: Supermarket C) and calculates an efficient shopping route. The user can check the information displayed in the app and share it with family members to shop together.
[1061] Prompt Sentence Examples
[1062] Below are some examples of prompts to input to the generative AI model.
[1063] Please explain the process after the user enters their shopping list (e.g., milk, eggs, bread) through the app and uploads store advertisements and receipts. Explain in detail how OCR technology is used to extract price information and suggest the cheapest store, how an emotion engine is used to make suggestions based on the user's emotional state, and the algorithm that calculates the optimal shopping route.
[1064] As described above, this system provides users with price comparisons and the optimal shopping route, and also utilizes an emotion engine to make appropriate suggestions based on the user's emotional state, thereby achieving a personalized shopping experience that meets individual needs.By also providing a function for sharing information among family members, it can support efficient shopping plans.
[1065] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1066] Step 1:
[1067] Users create an account and log in to the app, then enter a shopping list of items they want to purchase into the app, which then stores the list in a database on the device.
[1068] Input: Shopping list entered into the app
[1069] Data processing: Input information is saved in the internal database
[1070] Output: Shopping list stored in the internal database
[1071] Specific behavior:
[1072] The user opens the app and logs in by entering their account information (username, password, etc.).
[1073] After logging in, you manually enter the items you plan to purchase, such as "milk, eggs, bread," in the app's interface.
[1074] The entered list is saved in the device.
[1075] Step 2:
[1076] Users upload store advertisements, receipts, and labels through the app, and the uploaded image data is sent from the device to the server.
[1077] Input: Images of advertisements, receipts, labels
[1078] Data processing: Send image data to the server
[1079] Output: Image data sent to the server
[1080] Specific behavior:
[1081] Users press an in-app "upload image" button to take a photo of the ad or receipt or select an existing image.
[1082] The app sends the image to the server.
[1083] Step 3:
[1084] The server receives the uploaded image data and extracts the text information using OCR technology (e.g., Tesseract OCR), which is then stored in a database.
[1085] Input: Uploaded image data
[1086] Data processing: Extraction of text information using OCR technology
[1087] Output: Extracted product name, price, and store name data
[1088] Specific behavior:
[1089] The server receives the image data and starts the OCR engine.
[1090] The server extracts text information such as "Milk: 100 yen, eggs: 200 yen, bread: 150 yen" and stores it in a database.
[1091] Step 4:
[1092] The server compares the user's shopping list with the latest price information stored and searches for the store with the lowest price for each item. Based on this, it generates a list of the cheapest stores and calculates an efficient shopping route.
[1093] Input: User's shopping list, extracted price information
[1094] Data processing: Matching with price information, searching for the cheapest store, calculating routes
[1095] Output: List of cheapest stores, optimal shopping route
[1096] Specific behavior:
[1097] The server retrieves the shopping list and price information from the database and searches for the store with the lowest price.
[1098] The server obtains the user's current location and the store's location information, and calculates the optimal shopping route using the Google Maps API or other tools.
[1099] The server generates optimal route information such as "Milk: Supermarket A, Eggs: Discount Shop B, Bread: Supermarket C."
[1100] Step 5:
[1101] When a user uses the app, the emotion engine is activated. It analyzes the user's facial expressions and voice data in real time to recognize their emotional state. Depending on their emotional state, it makes suggestions that can help reduce stress, etc.
[1102] Input: User's facial expression data, voice data
[1103] Data processing: Analysis of emotional state, generation of stress reduction suggestions
[1104] Output: Recommendations based on emotional state
[1105] Specific behavior:
[1106] The app activates the device's camera and microphone to record the user's facial expressions and voice.
[1107] The device sends this data to an emotion engine to analyze the emotional state.
[1108] If the emotion engine determines that the user is "feeling stressed," it sends data to the server and obtains store information that will help reduce stress.
[1109] The server will suggest less crowded stores and products that have a relaxing effect.
[1110] Step 6:
[1111] The server sends the suggestions to the device, and the app displays information such as "Milk: Supermarket A, Eggs: Discount Shop B, Bread: Supermarket C" along with an efficient shopping route. In addition, users can share the information with family and friends using the "Share" button within the app.
[1112] Input: Cheapest store list, optimal shopping route
[1113] Data processing: Displaying information on user devices and providing sharing functions
[1114] Output: Display of proposals, information sharing
[1115] Specific behavior:
[1116] The app receives suggestions from the server and displays a shopping route to the user: "Milk: Supermarket A, Eggs: Discount Shop B, Bread: Supermarket C."
[1117] Users press the "Share" button within the app to send information to family and relatives.
[1118] Family members and other people involved can log in to the same app and view the shared information.
[1119] (Application example 2)
[1120] 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."
[1121] Conventional shopping support systems are limited to providing information to help users shop efficiently, and have the problem of not being able to make suggestions that take into account the user's emotional state or stress level.In addition, it is difficult for family members to share shopping plan information, which limits the efficiency of shopping.
[1122] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes a means for the user to input a shopping list, a means for the user to upload advertising media, receipts, and price cards, a means for the server to extract text information from the uploaded images, a means for the server to calculate the optimal purchasing route using the extracted text data, a means for the server to notify the user of the calculation results, and a means for an emotion engine to analyze the emotional state of the user from facial expressions and voice data and adjust the content of suggestions according to the emotional state. This allows personalized suggestions to be provided according to the user's emotional state, and also makes it easy to share information among family members, making shopping efficient and comfortable.
[1123] A "user" is a person who uses the system to create a shopping list or obtain price information.
[1124] A "shopping list" is a list of items that a user plans to purchase.
[1125] "Advertising media" refers to flyers and promotional materials that contain product information offered by a store.
[1126] A "receipt" is a receipt issued by a store when a product is purchased.
[1127] "Price card" refers to the price tag attached to each product.
[1128] A "server" is a computer device that serves as the center of a system and processes and manages data.
[1129] "Text information" refers to text data extracted from advertising media, receipts, price cards, and the like.
[1130] A "purchase path" is the optimal route through stores that allows a user to shop efficiently.
[1131] The "emotion engine" is a system that analyzes a user's facial expressions and voice data in real time to identify their emotional state.
[1132] "Suggestion content" refers to information provided to users, such as product recommendations that take into consideration shopping efficiency and emotions.
[1133] The "family information sharing function" allows family members to share shopping plans and suggestions with each other.
[1134] The embodiment of the present invention will be specifically described below. This system is composed of the following main components.
[1135] 1. How users enter their shopping list:
[1136] Through a smartphone application, users can enter a list of items they plan to purchase, which might include words like "milk, eggs, bread."
[1137] 2. How users can upload advertising media, receipts, and price cards:
[1138] Users can use their smartphone's camera to take photos of store flyers and receipts and upload these images to the server through the application.
[1139] 3. How the server extracts text information from uploaded images:
[1140] The server uses an OCR (optical character recognition) library like pytesseract to extract text information from the uploaded image, resulting in data such as product name, price, and store name.
[1141] 4. The server uses the extracted character data to calculate the optimal purchase path:
[1142] The server matches the extracted text data with the user's shopping list, generates a list of stores and products with the lowest prices, and then uses the geopy library to calculate the shortest route to each store from the user's current location.
[1143] 5. How the server notifies the user of the results of the calculation:
[1144] The server sends the calculation results to the user's smartphone, and the user can then use the application to view a list of suggested lowest-priced stores and purchasing routes.
[1145] 6. How the emotion engine analyzes the user's emotional state from facial expressions and voice data and adjusts the suggestions accordingly:
[1146] The emotion engine analyzes the user's facial expressions and voice in real time through the smartphone's camera and microphone to estimate the user's emotional state. Based on this information, if the user is feeling stressed, it will recommend less crowded stores or products that have a relaxing effect.
[1147] 7. Family information sharing function:
[1148] Users can use the sharing function within the application to share shopping lists and purchasing route information with family members and other stakeholders, enabling efficient shopping planning within the home.
[1149] Examples:
[1150] The user enters "milk, eggs, bread" into a shopping list on their smartphone and uploads an image of a local supermarket flyer to the application. The application extracts product prices from the flyer, calculates the store offering the cheapest product, and the optimal shopping route, and makes suggestions to the user. Furthermore, if the emotion engine determines that the user is feeling stressed, it will make suggestions to avoid crowds.
[1151] Example of an input prompt for a generative AI model:
[1152] It automatically extracts product price information from images of flyers and receipts, and compares it with the shopping list entered by the user to list the stores with the lowest prices. It also calculates and suggests the optimal shopping route from the user's current location to each store. It also uses an emotion engine to make suggestions based on the user's emotional state.
[1153] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1154] Step 1:
[1155] A user inputs a shopping list using a smartphone application, and the input data is saved in list format within the application.
[1156] Input: List of items to be purchased (e.g. milk, eggs, bread)
[1157] Output: Shopping list data
[1158] Step 2:
[1159] Users take pictures of flyers or receipts with their smartphone cameras and upload the images to the server via the application.
[1160] Input: Image data of flyers, receipts, and price cards
[1161] Output: Image file uploaded to the server
[1162] Step 3:
[1163] The server uses the pytesseract library to perform OCR processing to extract character information from the uploaded image file, thereby obtaining the character data in the image as text.
[1164] Input: Uploaded image file
[1165] Output: Extracted text data (e.g. product name, price, store name)
[1166] Step 4:
[1167] The server analyzes the extracted text data and stores the price information of the corresponding product in a database. The data extracted from multiple images is integrated and organized.
[1168] Input: Extracted character data
[1169] Output: Price information stored in a database
[1170] Step 5:
[1171] The server compares the shopping list entered by the user with the price information stored in the database and lists the stores offering the cheapest products, taking into account the location of each store using the geopy library to calculate the optimal shopping path.
[1172] Input: Shopping list data, price information
[1173] Output: List of cheapest stores, optimal purchasing path
[1174] Step 6:
[1175] The server sends the calculated list of lowest-priced stores and the optimal shopping route to the user's smartphone application, where the user can view the information.
[1176] Input: List of lowest priced stores, optimal purchasing path
[1177] Output: List of lowest priced stores notified to the user, optimal purchasing path
[1178] Step 7:
[1179] The emotion engine is activated, collecting facial and voice data in real time via the user's smartphone camera and microphone, and analyzing their emotional state. Based on the analysis results, it makes recommendations for products and stores that match the user's emotional state.
[1180] Input: Real-time facial expression data, voice data
[1181] Output: Suggestions based on the user's emotional state
[1182] Step 8:
[1183] Users can use the sharing function within the application to share shopping lists and optimal purchasing route information with family members and other related parties. The shared information is also notified to the smartphone applications of other family members.
[1184] Input: Shopping list, optimal purchasing path
[1185] Output: Shared shopping list, optimal purchasing path
[1186] 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.
[1187] 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.
[1188] 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.
[1189] [Fourth embodiment]
[1190] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1191] 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.
[1192] 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).
[1193] 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.
[1194] 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.
[1195] 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).
[1196] 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.
[1197] 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.
[1198] 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.
[1199] 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.
[1200] 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.
[1201] 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.
[1202] 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."
[1203] This system allows users to efficiently compare prices and plan the optimal shopping route. The operation of this system is explained in detail below.
[1204] User shopping list input
[1205] First, users install the app on their device, create an account, and log in. After logging in, users enter a list of items they plan to purchase within the app. For example, they can manually enter items such as "milk, eggs, and bread."
[1206] Next, users upload images of store flyers, receipts, and product price tags through the app, which populates the system with up-to-date pricing information related to their shopping list.
[1207] Parsing data and extracting price information
[1208] When the device sends image data to the server, the server uses an image analysis algorithm to extract "text information" from the data. Specifically, it uses OCR (optical character recognition) technology to analyze the text data in the image and identify "product name," "price," and "store name." This information is then stored in a database and made accessible to other users.
[1209] For example, if an uploaded flyer states "Milk: 100 yen, eggs: 200 yen, bread: 150 yen," the server will organize and register this information in a database.
[1210] Proposal of the cheapest store and shopping route
[1211] The shopping list initially entered by the user is compared with the latest price information stored on the server. The server then searches for the store with the lowest price for each item and generates a list of the lowest-priced stores. Furthermore, the server uses the user's current location and the location information of each store to calculate an efficient shopping route. For example, a "shortest distance algorithm" or a "time optimization algorithm" could be used for this calculation.
[1212] The calculation results are sent to the device, and users can check the most efficient shopping route on the app, along with information such as "Milk: Supermarket A, Eggs: Discount Shop B, Bread: Supermarket C."
[1213] View and share your suggestions
[1214] After the suggestions are displayed on the device, users can use the "Share" button in the app to share the information with family and other interested parties, allowing for efficient shopping plans within the home and preventing information from becoming personal.
[1215] For example, if a user shares their "milk, eggs, and bread" purchasing plan and shopping route with their family, other family members can log in to the same app, view this information, and follow the same instructions to shop.
[1216] As described above, this system provides users with price comparisons and the best shopping routes, significantly reducing the complexity of information collection and management. It also provides a sharing function for family members, enabling an efficient shopping experience.
[1217] The processing flow will be explained below.
[1218] Step 1:
[1219] The user logs in to the app. The user enters their user ID and password on the login screen displayed on the device and taps the "Login" button. The device sends this information to the server.
[1220] Step 2:
[1221] The server receives the login information and checks it against an authentication database. If the server is successful, it generates an authentication token and sends it back to the device, allowing the user to access the app.
[1222] Step 3:
[1223] The user enters the shopping list within the app. The user manually enters the items they want to purchase on the app's "Shopping List" screen and taps the "Save" button. The device temporarily saves this in its local memory.
[1224] Step 4:
[1225] The user uploads an image of a flyer, receipt, or price tag by tapping the "Upload Image" button on the device, opening a file selection dialog, and selecting the image to upload. The device then sends the selected image to the server.
[1226] Step 5:
[1227] The server receives the image data. The server then performs OCR (optical character recognition) on the image to extract text information. Specifically, it identifies the product name, price, and store name and obtains them as text data.
[1228] Step 6:
[1229] The server saves the extracted text data in a database. The server organizes product names, prices, and store information and registers them in the database. If there are any duplicates, the database is updated with the latest information.
[1230] Step 7:
[1231] The server receives the user's shopping list and compares it with the lowest price information stored on the server. The server identifies the stores that offer the lowest prices for each item and generates a list of the lowest price stores.
[1232] Step 8:
[1233] The server uses the user's current location and the location information of each store to calculate the optimal shopping route, using algorithms for shortest distance and time optimization.
[1234] Step 9:
[1235] The server sends the generated list of cheapest stores and shopping route data to the terminal, which receives the data and stores it in its memory.
[1236] Step 10:
[1237] The device will display the cheapest stores and efficient shopping routes to users, who can then view detailed recommendations on the app interface.
[1238] Step 11:
[1239] Users can share information with their family members. Use the "Share" button on the device to share the suggestions via social media or messaging apps. Other family members who receive this information can then display the same data on their devices.
[1240] The above are the specific processing steps in this system.
[1241] Example 1
[1242] 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."
[1243] With conventional purchasing support systems, users had to manually compare prices at multiple stores, making it difficult to plan the most efficient purchasing route. It was also difficult for family members to share information, making it impossible to create an efficient purchasing plan. This resulted in the enormous effort required to collect and manage information, preventing optimal purchasing.
[1244] 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.
[1245] In this invention, the server includes a means for users to input a shopping list, a means for users to upload store promotional media, receipts, and price displays, a means for the server to extract text information from the uploaded images, a means for the server to calculate the optimal shopping route using the extracted text data, a means for the server to notify the user of the calculation results, and a means for the user to share information with other users. This allows users to efficiently collect price information and easily plan the optimal shopping route. It also makes it easy for family members to share information, allowing everyone to act based on a unified purchasing plan.
[1246] A "purchase list" is a list of products that a user plans to purchase.
[1247] "Store advertising media" refers to print and digital media used by stores to communicate pricing information for their products and services.
[1248] A "receipt" is a document issued when purchasing goods or services, and includes information such as the purchased item, price, and store name.
[1249] "Price display" refers to a tag or label that indicates the price of a product and is used to visually communicate the selling price of the product.
[1250] The "means of extracting text information from an image" refers to a technology that uses OCR (optical character recognition) technology to read text within an image as digital data.
[1251] "Means for calculating optimal shopping path" refers to algorithms or techniques for calculating a route that will allow a user to complete their shopping efficiently, and may use geographic information systems and shortest distance algorithms.
[1252] "Means for notifying the user of the calculation results" refers to a technology in which the server sends the calculation results to the user's terminal and displays them in a form that the user can visually confirm.
[1253] "Means for sharing information with other users" refers to a function that allows users to share purchase lists and purchasing path information with other users, including methods such as sending links via email or social media.
[1254] "Lowest price information" is information about the store that has the lowest price for the same product based on price data collected from multiple stores.
[1255] A "geographic information system" is a system that uses map data to manage and analyze spatial information, and is used for route searches and providing location information.
[1256] A "database" is a system that can systematically store, manage, and search information, and is located on a server.
[1257] The present invention provides a system that allows users to efficiently compare prices and plan an optimal shopping route. Specific embodiments of the system are described below.
[1258] User shopping list input
[1259] First, users install the "application" on their device, create an account, and log in. After logging in, users enter a list of items they plan to purchase within the application. For example, they can manually enter items such as "milk, eggs, bread."
[1260] Users then upload images of their store's "store promotional materials," receipts, and product "price tags" through the application, which populates the system with up-to-date pricing information related to their shopping list.
[1261] Parsing data and extracting price information
[1262] When the device sends image data to the server, the server uses OCR (optical character recognition) technology to extract text information from the data. Specifically, it uses an OCR engine (e.g., Tesseract) to analyze the text data in the image and identify the "product name," "price," and "store name." This information is stored in a database and can be accessed by other users later.
[1263] For example, if the uploaded store promotional media states "Milk: 100 yen, eggs: 200 yen, bread: 150 yen," the server will organize and register this information in a database.
[1264] Proposal of the cheapest store and shopping route
[1265] The shopping list initially entered by the user is compared with the latest price information stored on the server. The server then searches for the store with the lowest price for each item and generates a list of the lowest-priced stores. Furthermore, the server uses the user's current location and the location information of each store to calculate an efficient shopping route. For example, a "shortest distance algorithm" or a "time optimization algorithm" can be used for this calculation.
[1266] The calculation results are sent to the device, and the user can check the most efficient shopping route on the application, along with information such as "Milk: Store A, Eggs: Store B, Bread: Store C."
[1267] View and share your suggestions
[1268] After the recommendations are displayed on the device, users can use the "Share" button in the application to share the information with family and other stakeholders, allowing for efficient household shopping planning and preventing information from becoming personal.
[1269] For example, if a user shares their "milk, eggs, and bread" purchasing plan and shopping route with their family, other family members can log in to the same application, view this information, and follow the same instructions to shop.
[1270] Adding specific examples
[1271] Here are some example prompts to input to the generative AI model:
[1272] Example prompts
[1273] 1. "How does an application that provides the best prices on milk, eggs, and bread work?"
[1274] 2. "Explain how a system works that allows you to input a shopping list and suggests the best route for your shopping."
[1275] In this way, this system provides users with price comparisons and the best shopping routes, significantly reducing the complexity of information collection and management. It also provides a sharing function for family members, enabling an efficient shopping experience.
[1276] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1277] Step 1:
[1278] The user creates an account and logs in.
[1279] Specifically, the user launches the application, enters their email address and password on the account creation screen, and taps the "Register" button. The server receives this and creates a new user account in the database. The user then enters their email address and password on the login screen and taps the "Login" button, and the server authenticates and allows them to log in.
[1280] Input: User's email address, password
[1281] Output: New account creation, login authentication
[1282] Step 2:
[1283] The user enters their shopping list and uploads an image with pricing information.
[1284] Users manually enter the items they wish to purchase into the application's shopping list input form and tap the "Add" button. Next, they use the "Image Upload" function to take a photo of a flyer, receipt, or price display, and tap the "Send" button. The device then sends the captured image to the server.
[1285] Input: User's shopping list, image file
[1286] Output: Image file sent to the server
[1287] Step 3:
[1288] The device sends the image to the server.
[1289] The device compresses the captured image and sends it to the server in the appropriate format (e.g., JPEG, PNG). The server receives the image data.
[1290] Input: Image file from terminal
[1291] Output: Image files sent and received from the server
[1292] Step 4:
[1293] The server performs image analysis and extracts text data.
[1294] The server uses OCR technology (e.g., Tesseract) to extract text information from the received image. This process yields information such as the product name, price, and store name. For example, data such as "Milk: 100 yen, eggs: 200 yen, bread: 150 yen" can be extracted from an image of a flyer.
[1295] Input: Uploaded image file
[1296] Output: Extracted text data (product name, price, store name)
[1297] Step 5:
[1298] The server stores the extracted text data in a database.
[1299] The analyzed text data is divided into data fields and tagged as "product name," "price," and "store name." This information is then stored in a database management system (e.g., MySQL).
[1300] Input: Extracted text data
[1301] Output: Structured text data stored in a database
[1302] Step 6:
[1303] A user requests a search for the best price.
[1304] The user taps the application's "Find Best Price" button, sending a request to the server containing their shopping list and current location information.
[1305] Input: User search request (shopping list, current location information)
[1306] Output: Search request sent to server
[1307] Step 7:
[1308] The server calculates the lowest price and the best shopping route.
[1309] The server checks the price information in its database to find the store that offers the lowest price for each item, and then uses a geographic information system (e.g., Google Maps API) to calculate the best route from the user's current location to each store.
[1310] Input: Search request, pricing information in a database, geographic information system
[1311] Output: Lowest price information, optimal shopping route
[1312] Step 8:
[1313] The server sends the calculation results to the terminal, which displays them to the user.
[1314] The server sends the calculation results to the terminal, which then displays the lowest price information and shopping route on the user interface. Specifically, it displays a list such as "Milk: Store A, Eggs: Store B, Bread: Store C" and plots the shopping route on a map.
[1315] Input: Calculation results (lowest price information, shopping route)
[1316] Output: The result displayed in the user interface
[1317] Step 9:
[1318] Users share information.
[1319] Users tap the "Share" button within the application to generate a link to share their shopping list and route information with others, which can be sent via email or social media.
[1320] Input: Sharing request (shopping list, route information)
[1321] Output: Shared link generated and sent
[1322] (Application example 1)
[1323] 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."
[1324] Currently, many consumers spend time and effort comparing prices when shopping and choosing the best store. However, collecting price information from each store and finding the store with the cheapest products is tedious, and planning an efficient shopping route is even more difficult. Furthermore, there are limited ways to share shopping information with other members of the same household, making it difficult to centralize information. This invention aims to provide a system that allows users to efficiently compare price information and plan the best shopping route, while also facilitating information sharing among family members.
[1325] 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.
[1326] In this invention, the server includes means for a user to input a shopping list, means for the user to upload flyers, receipts, and price tags, means for the server to extract text information from the uploaded images, means for calculating an efficient shopping route using the user's current location information and store location information, means for the server to notify the user of the calculation results, and means for providing an information sharing function among family members, which enables the user to efficiently compare prices, plan the optimal shopping route, and share information among family members.
[1327] "User" refers to an individual or group of people who use the System to make purchases.
[1328] A "shopping list" refers to information that lists the items a user plans to purchase.
[1329] A "flyer" is a printed advertisement distributed by a store that contains product and price information.
[1330] "Receipt" refers to paper or electronic data containing detailed information and payment information for items purchased at a store.
[1331] "Price tag" refers to a label accompanying a product that contains price information.
[1332] "Server" refers to the central computer that manages and operates the entire system.
[1333] "Means for extracting text information from images" refers to the process of using optical character recognition (OCR) technology to analyze the text data in uploaded images and obtain information such as product names, prices, and store names.
[1334] "Current location information" refers to data that indicates the user's location.
[1335] "Store location information" refers to data indicating the geographic location of each store.
[1336] An "efficient shopping route" refers to the route a user takes to purchase the cheapest products in the shortest time and distance.
[1337] "Means of notification" refers to the process of conveying information such as calculation results and optimal routes to users.
[1338] "Information sharing function" refers to the function that allows users to exchange and view shopping information with other members.
[1339] This system allows users to efficiently compare prices and plan the optimal shopping route. The operation of this system is explained in detail below.
[1340] User shopping list input
[1341] First, users install the application on their device, create an account, and log in. After logging in, they can manually enter a list of items they plan to purchase within the app. For example, they can manually enter items such as "milk, eggs, and bread."
[1342] Next, users upload images of store flyers, receipts, and product price tags through the app, which populates the system with up-to-date pricing information related to their shopping list. At this stage, users take images using their smartphone camera and upload them to the app.
[1343] Parsing data and extracting price information
[1344] Image data sent by users is first sent to a server. The server uses an image analysis algorithm to extract text information from the data. Specifically, it uses OCR (optical character recognition) technology to analyze the text data in the image and identify the product name, price, and store name. This information is then stored in a database that can be accessed by other users.
[1345] For example, if an uploaded flyer states "Milk: 100 yen, eggs: 200 yen, bread: 150 yen," the server will organize and register this information in a database. This data processing uses the pytesseract library and OpenCV.
[1346] Proposal of the cheapest store and shopping route
[1347] The server compares the shopping list entered by the user with the latest price information stored on the server, searches for the store with the lowest price for each item, and generates a list of the lowest-priced stores.
[1348] Furthermore, the app uses the user's current location and the location information of each store to calculate an efficient shopping route. This calculation uses the "shortest distance algorithm" and "time optimization algorithm." Specifically, the route is calculated using the Google Maps API. The calculation results are sent to the device, and the user can check the efficient shopping route on the app along with information such as "Milk: Supermarket A, Eggs: Discount Shop B, Bread: Supermarket C."
[1349] View and share your suggestions
[1350] After the suggestions are displayed on the device, users can use the "Share" button in the app to share the information with family and other interested parties, allowing for efficient shopping plans within the home and preventing information from becoming personal.
[1351] For example, if a user shares their "milk, eggs, and bread" purchasing plan and shopping route with their family, other family members can log in to the same app, view this information, and follow the same instructions to shop.
[1352] The introduction of this system will enable users to efficiently compare prices, plan optimal shopping routes, and share information with family members.
[1353] Example prompts for generative AI models
[1354] "Please suggest stores where I can purchase the items listed below at the lowest prices and an efficient shopping route: milk, eggs, bread. Please also tell me how I can share this information with my family and friends."
[1355] As described above, this system provides users with price comparisons and the best shopping routes, significantly reducing the complexity of information collection and management. It also provides a sharing function for family members, enabling an efficient shopping experience.
[1356] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1357] Step 1:
[1358] A user installs an application on their device, creates an account, and logs in. This allows the user to use various functions of the system. The input is user information, and the output is the login authentication result.
[1359] Step 2:
[1360] The user inputs a shopping list into the app. Specifically, they manually enter the names of the products they plan to purchase into the app's input form. The input is the user's shopping list, and the output is the shopping list data stored in the system.
[1361] Step 3:
[1362] Users take pictures of store flyers, receipts, and price tags with their smartphone cameras and upload them through the app. The input is image data, and the output is image data sent to the server.
[1363] Step 4:
[1364] The server receives the uploaded image data and extracts text information using OCR (Optical Character Recognition) technology. Specifically, it uses the pytesseract library and OpenCV to analyze the image and obtain the product name, price, and store name. The input is the image data, and the output is the extracted text information.
[1365] Step 5:
[1366] The server saves the extracted text information in a database, which stores price information uploaded by multiple users. The input is the text information, and the output is the updated database.
[1367] Step 6:
[1368] The server compares the user's shopping list with the price information in the database and generates a list of stores with the cheapest items. This allows the user to know the store where they can buy the item they want to buy at the cheapest price. The input is the shopping list and the price database, and the output is the list of stores with the cheapest prices.
[1369] Step 7:
[1370] The server uses the user's current location information and the location information of each store to calculate an efficient shopping route. Specifically, it uses the Google Maps API to calculate the shortest distance and time-optimized route. The input is the user's current location and a list of stores with the lowest prices, and the output is the optimal shopping route.
[1371] Step 8:
[1372] The server notifies the user of the calculation results. The user can then check the list of lowest priced stores and the most efficient shopping route on the app. The input is the optimal shopping route, and the output is the route information displayed on the user's device screen.
[1373] Step 9:
[1374] Users can use the "Share" button in the app to share information with family and friends. For example, they can ask family members to log in to the same app and view the shared shopping route. The input is the operation of the Share button, and the output is the shared shopping information.
[1375] Step 10:
[1376] Family members and related parties can shop based on shared information to achieve an efficient shopping experience. This allows the person in charge of shopping in the household to shop using the latest lowest price information and the optimal route. The input is the shared shopping information, and the output is the actual shopping experience.
[1377] Through each of these steps, users can efficiently compare prices, plan optimal shopping routes, and share information with family members.
[1378] 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.
[1379] The present invention combines an emotion engine with a system that allows users to efficiently compare prices and plan their shopping. The operation of this system will now be described in detail.
[1380] User shopping list input
[1381] Users install the app on their device, create an account, and log in. After logging in, users enter a list of items they plan to purchase within the app. For example, they can manually enter items such as "milk, eggs, and bread."
[1382] Next, users upload images of store flyers, receipts, and product price tags through the app, which populates the system with up-to-date pricing information related to their shopping list.
[1383] Parsing data and extracting price information
[1384] When the device sends image data to the server, the server uses an image analysis algorithm to extract "text information" from the data. Specifically, it uses OCR (optical character recognition) technology to analyze the text data in the image and identify "product name," "price," and "store name." This information is then stored in a database and made accessible to other users.
[1385] For example, if an uploaded flyer states "Milk: 100 yen, eggs: 200 yen, bread: 150 yen," the server will organize and register this information in a database.
[1386] Proposal of the cheapest store and shopping route
[1387] The shopping list initially entered by the user is compared with the latest price information stored on the server. The server then searches for the store with the lowest price for each item and generates a list of the lowest-priced stores. Furthermore, the server uses the user's current location and the location information of each store to calculate an efficient shopping route. For example, a "shortest distance algorithm" or a "time optimization algorithm" could be used for this calculation.
[1388] The calculation results are sent to the device, and users can check the most efficient shopping route on the app, along with information such as "Milk: Supermarket A, Eggs: Discount Shop B, Bread: Supermarket C."
[1389] Emotion recognition and response using emotion engine
[1390] When a user uses the app, the emotion engine is activated and analyzes the user's facial expressions and voice data in real time. This analysis recognizes the user's emotional state (e.g., joy, anger, sadness, stress, etc.). Based on this data, the emotion engine makes suggestions according to the user's emotional state.
[1391] For example, if a user is feeling stressed, the emotion engine will send data to the server and suggest stores or products that can help reduce stress, such as recommending stores during less busy hours or products that have a relaxing effect.
[1392] View and share your suggestions
[1393] After the suggestions are displayed on the device, users can use the "Share" button in the app to share the information with family and other interested parties, allowing for efficient shopping plans within the home and preventing information from becoming personal.
[1394] For example, if a user shares their "milk, eggs, and bread" purchasing plan and shopping route with their family, other family members can log in to the same app, view this information, and follow the same instructions to shop.
[1395] As described above, this system provides users with price comparisons and the optimal shopping route, and also utilizes an emotion engine to make appropriate suggestions based on the user's emotional state, thereby achieving a personalized shopping experience that meets individual needs.By also providing a function for sharing information among family members, it can support efficient shopping plans.
[1396] The processing flow will be explained below.
[1397] Step 1:
[1398] The user logs in to the app. They enter their user ID and password on the login screen displayed on their device and tap the "Login" button. The device then sends this information to the server.
[1399] Step 2:
[1400] The server receives the login information and checks it against an authentication database. If the server is successful, it generates an authentication token and sends it back to the device, allowing the user to access the app.
[1401] Step 3:
[1402] The user enters the shopping list in the app. The user manually enters the items they want to purchase on the "Shopping List" screen of the app and taps the "Save" button. The device temporarily saves this in its local memory and sends the list data to the server.
[1403] Step 4:
[1404] The user uploads an image of a flyer, receipt, or price tag by tapping the "Upload Image" button on the device, opening a file selection dialog, and selecting the image to upload. The device then sends the selected image to the server.
[1405] Step 5:
[1406] The server receives the image data. It then analyzes the image using OCR (optical character recognition) technology and extracts text information. Specifically, it identifies the product name, price, and store name and obtains them as text data.
[1407] Step 6:
[1408] The server saves the extracted text data in a database. The server organizes product names, prices, and store information and registers them in the database. If there are any duplicates, the database is updated with the latest information.
[1409] Step 7:
[1410] The emotion engine recognizes the user's emotional state. The device collects the user's facial expressions and voice data and sends it to the server. The emotion engine on the server analyzes this data and determines the user's emotional state (e.g., joy, anger, sadness, stress, etc.).
[1411] Step 8:
[1412] The server makes optimal suggestions to users based on their shopping list and emotional state data. It compares the lowest price information stored on the server to identify stores that offer the lowest prices for each item. It also suggests stores and products that will reduce stress based on the user's emotional state.
[1413] Step 9:
[1414] The server uses the user's current location and the location information of each store to calculate the optimal shopping route. This calculation uses the shortest distance algorithm and time optimization algorithm. The server then sends the generated list of cheapest stores and shopping route data to the terminal.
[1415] Step 10:
[1416] The device stores the data received from the server in memory and displays the cheapest stores and efficient shopping routes to the user. The user can view detailed suggestions on the app interface.
[1417] Step 11:
[1418] Users can share information with their family members. Use the "Share" button on the device to share the suggestions via social media or messaging apps. Other family members who receive this information can then display the same data on their devices.
[1419] The above are the specific processing steps in the shopping support system that combines the emotion engine.
[1420] Example 2
[1421] 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."
[1422] Today's consumers spend a great deal of time and effort on their daily shopping. In particular, to find the cheapest product at multiple stores, they must check and compare information such as advertisements, receipts, and labels. Furthermore, there is a lack of services that take into account the emotional state of the user while shopping, which can lead to stress and dissatisfaction. Information sharing within the home is often difficult, making it difficult to plan an efficient shopping trip.
[1423] 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 a means for the user to input a shopping list, a means for the user to upload advertisements, receipts, and labels, a means for the server to extract text information from the uploaded images, a means for the server to calculate an optimal shopping route using the extracted text data, a means for the server to analyze the user's emotional state and make suggestions based on the emotional state, and a means for the server to notify the user of the calculation results. This allows the user to efficiently find the lowest priced products and receive personalized suggestions based on the user's emotional state. In addition, since information can be easily shared among family members, an efficient shopping plan can be made for the entire household.
[1424] "User" refers to an individual who uses the System to enter shopping lists or upload information.
[1425] A "shopping list" refers to a list of items a user plans to purchase.
[1426] "Advertising" refers to printed or digital media distributed by stores or retailers to inform people about their products or services.
[1427] "Receipt" means a paper or digital receipt detailing the items purchased and their prices.
[1428] "Label" refers to a tag or sticker that lists the product's price and name.
[1429] "Server" refers to the information processing device that serves as the core of the system for analyzing, storing, and calculating shopping information.
[1430] "Text information" refers to character data extracted from image data.
[1431] The "optimal shopping route" refers to the order in which a user visits stores in order to shop efficiently.
[1432] "Emotional state" refers to the user's current mental and emotional state.
[1433] "Emotional state-based suggestions" refers to shopping and store recommendations provided based on a user's psychological and emotional state.
[1434] "Notification" refers to the transmission of information by the server to inform the user of calculation results and suggestions.
[1435] The present invention combines an emotion engine with a system that allows users to efficiently compare prices and plan their shopping. The operation of this system will now be described in detail.
[1436] User Interface
[1437] Users create an account and log in using the app installed on their device. After logging in, users enter a list of items they plan to purchase within the app. For example, they can manually enter items such as "milk, eggs, and bread."
[1438] Uploading pricing information
[1439] Next, users upload images of store advertisements, receipts, and labels through the app, which inputs the latest price information related to their shopping list into the system. For example, if a user takes a photo of an advertisement for a nearby supermarket and uploads it, the photo will contain information such as "Milk: 100 yen, eggs: 200 yen, bread: 150 yen."
[1440] Data analysis and information extraction
[1441] The device sends image data to a server, which then uses an image analysis algorithm to extract text information from the data. Specifically, it uses OCR (optical character recognition) technology (e.g., Tesseract OCR) to analyze the text data in the image and identify the product name, price, and store name. This information is then stored in a database.
[1442] Price comparison and optimal shopping route calculation
[1443] The server compares the shopping list initially entered by the user with the latest price information stored. It searches for stores with the lowest prices for each item and generates a list of stores with the lowest prices. It then uses the user's current location and the location information of each store to calculate an efficient shopping route. The calculation uses a "shortest distance algorithm" and a "time optimization algorithm."
[1444] Use of emotion engine
[1445] When a user uses the app, the emotion engine is activated and analyzes the user's facial expressions and voice data in real time. This analysis recognizes the user's emotional state (e.g., joy, anger, sadness, stress, etc.). The emotion engine uses this data to make suggestions based on the user's emotional state. For example, if the user is feeling stressed, the emotion engine sends the data to the server and suggests stores and products that will help relieve stress.
[1446] Displaying and sharing proposals
[1447] The suggestions are displayed on the device, and the user can check the most efficient shopping route on the app along with information such as "Milk: Supermarket A, Eggs: Discount Shop B, Bread: Supermarket C." Furthermore, the information can be shared with family and friends using the "Share" button within the app, allowing for efficient household shopping plans.
[1448] Specific examples
[1449] As a concrete example, if a user plans to purchase "milk, eggs, and bread," they can take a photo of a flyer from a nearby supermarket and upload it. The server extracts the information "Milk: 100 yen, eggs: 200 yen, bread: 150 yen" from the flyer and saves it in a database. The server then suggests the stores with the lowest prices (Milk: Supermarket A, eggs: Discount Shop B, bread: Supermarket C) and calculates an efficient shopping route. The user can check the information displayed in the app and share it with family members to shop together.
[1450] Prompt Sentence Examples
[1451] Below are some examples of prompts to input to the generative AI model.
[1452] Please explain the process after the user enters their shopping list (e.g., milk, eggs, bread) through the app and uploads store advertisements and receipts. Explain in detail how OCR technology is used to extract price information and suggest the cheapest store, how an emotion engine is used to make suggestions based on the user's emotional state, and the algorithm that calculates the optimal shopping route.
[1453] As described above, this system provides users with price comparisons and the optimal shopping route, and also utilizes an emotion engine to make appropriate suggestions based on the user's emotional state, thereby achieving a personalized shopping experience that meets individual needs.By also providing a function for sharing information among family members, it can support efficient shopping plans.
[1454] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1455] Step 1:
[1456] Users create an account and log in to the app, then enter a shopping list of items they want to purchase into the app, which then stores the list in a database on the device.
[1457] Input: Shopping list entered into the app
[1458] Data processing: Input information is saved in the internal database
[1459] Output: Shopping list stored in the internal database
[1460] Specific behavior:
[1461] The user opens the app and logs in by entering their account information (username, password, etc.).
[1462] After logging in, you manually enter the items you plan to purchase, such as "milk, eggs, bread," in the app's interface.
[1463] The entered list is saved in the device.
[1464] Step 2:
[1465] Users upload store advertisements, receipts, and labels through the app, and the uploaded image data is sent from the device to the server.
[1466] Input: Images of advertisements, receipts, labels
[1467] Data processing: Send image data to the server
[1468] Output: Image data sent to the server
[1469] Specific behavior:
[1470] Users press an in-app "upload image" button to take a photo of the ad or receipt or select an existing image.
[1471] The app sends the image to the server.
[1472] Step 3:
[1473] The server receives the uploaded image data and extracts the text information using OCR technology (e.g., Tesseract OCR), which is then stored in a database.
[1474] Input: Uploaded image data
[1475] Data processing: Extraction of text information using OCR technology
[1476] Output: Extracted product name, price, and store name data
[1477] Specific behavior:
[1478] The server receives the image data and starts the OCR engine.
[1479] The server extracts text information such as "Milk: 100 yen, eggs: 200 yen, bread: 150 yen" and stores it in a database.
[1480] Step 4:
[1481] The server compares the user's shopping list with the latest price information stored and searches for the store with the lowest price for each item. Based on this, it generates a list of the cheapest stores and calculates an efficient shopping route.
[1482] Input: User's shopping list, extracted price information
[1483] Data processing: Matching with price information, searching for the cheapest store, calculating routes
[1484] Output: List of cheapest stores, optimal shopping route
[1485] Specific behavior:
[1486] The server retrieves the shopping list and price information from the database and searches for the store with the lowest price.
[1487] The server obtains the user's current location and the store's location information, and calculates the optimal shopping route using the Google Maps API or other tools.
[1488] The server generates optimal route information such as "Milk: Supermarket A, Eggs: Discount Shop B, Bread: Supermarket C."
[1489] Step 5:
[1490] When a user uses the app, the emotion engine is activated. It analyzes the user's facial expressions and voice data in real time to recognize their emotional state. Depending on their emotional state, it makes suggestions that can help reduce stress, etc.
[1491] Input: User's facial expression data, voice data
[1492] Data processing: Analysis of emotional state, generation of stress reduction suggestions
[1493] Output: Recommendations based on emotional state
[1494] Specific behavior:
[1495] The app activates the device's camera and microphone to record the user's facial expressions and voice.
[1496] The device sends this data to an emotion engine to analyze the emotional state.
[1497] If the emotion engine determines that the user is "feeling stressed," it sends data to the server and obtains store information that will help reduce stress.
[1498] The server will suggest less crowded stores and products that have a relaxing effect.
[1499] Step 6:
[1500] The server sends the suggestions to the device, and the app displays information such as "Milk: Supermarket A, Eggs: Discount Shop B, Bread: Supermarket C" along with an efficient shopping route. In addition, users can share the information with family and friends using the "Share" button within the app.
[1501] Input: Cheapest store list, optimal shopping route
[1502] Data processing: Displaying information on user devices and providing sharing functions
[1503] Output: Display of proposals, information sharing
[1504] Specific behavior:
[1505] The app receives suggestions from the server and displays a shopping route to the user: "Milk: Supermarket A, Eggs: Discount Shop B, Bread: Supermarket C."
[1506] Users press the "Share" button within the app to send information to family and relatives.
[1507] Family members and other people involved can log in to the same app and view the shared information.
[1508] (Application example 2)
[1509] 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."
[1510] Conventional shopping support systems are limited to providing information to help users shop efficiently, and have the problem of not being able to make suggestions that take into account the user's emotional state or stress level.In addition, it is difficult for family members to share shopping plan information, which limits the efficiency of shopping.
[1511] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes a means for the user to input a shopping list, a means for the user to upload advertising media, receipts, and price cards, a means for the server to extract text information from the uploaded images, a means for the server to calculate the optimal purchasing route using the extracted text data, a means for the server to notify the user of the calculation results, and a means for an emotion engine to analyze the emotional state of the user from facial expressions and voice data and adjust the content of suggestions according to the emotional state. This allows personalized suggestions to be provided according to the user's emotional state, and also makes it easy to share information among family members, making shopping efficient and comfortable.
[1512] A "user" is a person who uses the system to create a shopping list or obtain price information.
[1513] A "shopping list" is a list of items that a user plans to purchase.
[1514] "Advertising media" refers to flyers and promotional materials that contain product information offered by a store.
[1515] A "receipt" is a receipt issued by a store when a product is purchased.
[1516] "Price card" refers to the price tag attached to each product.
[1517] A "server" is a computer device that serves as the center of a system and processes and manages data.
[1518] "Text information" refers to text data extracted from advertising media, receipts, price cards, and the like.
[1519] A "purchase path" is the optimal route through stores that allows a user to shop efficiently.
[1520] The "emotion engine" is a system that analyzes a user's facial expressions and voice data in real time to identify their emotional state.
[1521] "Suggestion content" refers to information provided to users, such as product recommendations that take into consideration shopping efficiency and emotions.
[1522] The "family information sharing function" allows family members to share shopping plans and suggestions with each other.
[1523] The embodiment of the present invention will be specifically described below. This system is composed of the following main components.
[1524] 1. How users enter their shopping list:
[1525] Through a smartphone application, users can enter a list of items they plan to purchase, which might include words like "milk, eggs, bread."
[1526] 2. How users can upload advertising media, receipts, and price cards:
[1527] Users can use their smartphone's camera to take photos of store flyers and receipts and upload these images to the server through the application.
[1528] 3. How the server extracts text information from uploaded images:
[1529] The server uses an OCR (optical character recognition) library like pytesseract to extract text information from the uploaded image, resulting in data such as product name, price, and store name.
[1530] 4. The server uses the extracted character data to calculate the optimal purchase path:
[1531] The server matches the extracted text data with the user's shopping list, generates a list of stores and products with the lowest prices, and then uses the geopy library to calculate the shortest route to each store from the user's current location.
[1532] 5. How the server notifies the user of the results of the calculation:
[1533] The server sends the calculation results to the user's smartphone, and the user can then use the application to view a list of suggested lowest-priced stores and purchasing routes.
[1534] 6. How the emotion engine analyzes the user's emotional state from facial expressions and voice data and adjusts the suggestions accordingly:
[1535] The emotion engine analyzes the user's facial expressions and voice in real time through the smartphone's camera and microphone to estimate the user's emotional state. Based on this information, if the user is feeling stressed, it will recommend less crowded stores or products that have a relaxing effect.
[1536] 7. Family information sharing function:
[1537] Users can use the sharing function within the application to share shopping lists and purchasing route information with family members and other stakeholders, enabling efficient shopping planning within the home.
[1538] Examples:
[1539] The user enters "milk, eggs, bread" into a shopping list on their smartphone and uploads an image of a local supermarket flyer to the application. The application extracts product prices from the flyer, calculates the store offering the cheapest product, and the optimal shopping route, and makes suggestions to the user. Furthermore, if the emotion engine determines that the user is feeling stressed, it will make suggestions to avoid crowds.
[1540] Example of an input prompt for a generative AI model:
[1541] It automatically extracts product price information from images of flyers and receipts, and compares it with the shopping list entered by the user to list the stores with the lowest prices. It also calculates and suggests the optimal shopping route from the user's current location to each store. It also uses an emotion engine to make suggestions based on the user's emotional state.
[1542] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1543] Step 1:
[1544] A user inputs a shopping list using a smartphone application, and the input data is saved in list format within the application.
[1545] Input: List of items to be purchased (e.g. milk, eggs, bread)
[1546] Output: Shopping list data
[1547] Step 2:
[1548] Users take pictures of flyers or receipts with their smartphone cameras and upload the images to the server via the application.
[1549] Input: Image data of flyers, receipts, and price cards
[1550] Output: Image file uploaded to the server
[1551] Step 3:
[1552] The server uses the pytesseract library to perform OCR processing to extract character information from the uploaded image file, thereby obtaining the character data in the image as text.
[1553] Input: Uploaded image file
[1554] Output: Extracted text data (e.g. product name, price, store name)
[1555] Step 4:
[1556] The server analyzes the extracted text data and stores the price information of the corresponding product in a database. The data extracted from multiple images is integrated and organized.
[1557] Input: Extracted character data
[1558] Output: Price information stored in a database
[1559] Step 5:
[1560] The server compares the shopping list entered by the user with the price information stored in the database and lists the stores offering the cheapest products, taking into account the location of each store using the geopy library to calculate the optimal shopping path.
[1561] Input: Shopping list data, price information
[1562] Output: List of cheapest stores, optimal purchasing path
[1563] Step 6:
[1564] The server sends the calculated list of lowest-priced stores and the optimal shopping route to the user's smartphone application, where the user can view the information.
[1565] Input: List of lowest priced stores, optimal purchasing path
[1566] Output: List of lowest priced stores notified to the user, optimal purchasing path
[1567] Step 7:
[1568] The emotion engine is activated, collecting facial and voice data in real time via the user's smartphone camera and microphone, and analyzing their emotional state. Based on the analysis results, it makes recommendations for products and stores that match the user's emotional state.
[1569] Input: Real-time facial expression data, voice data
[1570] Output: Suggestions based on the user's emotional state
[1571] Step 8:
[1572] Users can use the sharing function within the application to share shopping lists and optimal purchasing route information with family members and other related parties. The shared information is also notified to the smartphone applications of other family members.
[1573] Input: Shopping list, optimal purchasing path
[1574] Output: Shared shopping list, optimal purchasing path
[1575] 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.
[1576] 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.
[1577] 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.
[1578] 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.
[1579] 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.
[1580] 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.
[1581] 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).
[1582] 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.
[1583] 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."
[1584] 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.
[1585] 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).
[1586] 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.
[1587] 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.
[1588] 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.
[1589] 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.
[1590] 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.
[1591] 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.
[1592] 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.
[1593] 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.
[1594] 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.
[1595] 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.
[1596] The following is further disclosed regarding the above embodiment.
[1597] (Claim 1)
[1598] a means for the user to input a shopping list;
[1599] A way for users to upload flyers, receipts, and price tags;
[1600] means for the server to extract text information from the uploaded image;
[1601] A means for the server to calculate an optimal shopping path using the extracted text data;
[1602] A system including a means for the server to notify the user of the results of the calculation.
[1603] (Claim 2)
[1604] The system of claim 1, wherein the server compares the user's shopping list with the extracted text data and provides the lowest price information.
[1605] (Claim 3)
[1606] 10. The system of claim 1, which provides a function for sharing information among family members.
[1607] "Example 1"
[1608] (Claim 1)
[1609] a means for a user to input a shopping list;
[1610] A means for users to upload store promotional materials, receipts, and price displays;
[1611] A means for the server to extract text information from the uploaded image;
[1612] A means for the server to calculate an optimal purchasing path using the extracted character data;
[1613] A means for the server to notify the user of the calculation results;
[1614] A system that includes a means for users to share information with other users.
[1615] (Claim 2)
[1616] The system according to claim 1, wherein the server compares the extracted character data with the user's purchase list and provides the lowest price information.
[1617] (Claim 3)
[1618] 10. The system of claim 1, wherein a geographic information system is used to provide efficient purchasing routes in the real world.
[1619] (Claim 4)
[1620] 2. The system of claim 1, wherein the extracted character data is stored in a database and made accessible to other users.
[1621] "Application Example 1"
[1622] (Claim 1)
[1623] a means for the user to input a shopping list;
[1624] A way for users to upload flyers, receipts, and price tags;
[1625] means for the server to extract text information from the uploaded image;
[1626] A means for the server to calculate an optimal shopping path using the extracted text data;
[1627] A means for calculating an efficient shopping route using the user's current location information and store location information;
[1628] A system including a means for the server to notify the user of the results of the calculation.
[1629] (Claim 2)
[1630] The system of claim 1, wherein the server compares the user's shopping list with the extracted text data and provides the lowest price information.
[1631] (Claim 3)
[1632] 10. The system of claim 1, which provides a function for sharing information among family members.
[1633] "Example 2: Combining Emotion Engines"
[1634] (Claim 1)
[1635] a means for the user to input a shopping list;
[1636] A means for users to upload advertisements, receipts, and labels;
[1637] means for the server to extract text information from the uploaded image;
[1638] A means for the server to calculate an optimal shopping route using the extracted text data;
[1639] A means for the server to analyze the emotional state of the user and make suggestions according to the emotional state;
[1640] A system including a means for the server to notify the user of the results of the calculation.
[1641] (Claim 2)
[1642] 10. The system of claim 1, wherein the server matches the user's shopping list with the extracted text data and provides lowest price information.
[1643] (Claim 3)
[1644] 10. The system of claim 1, which provides a function for sharing information among family members.
[1645] "Application example 2 when combining emotion engines"
[1646] (Claim 1)
[1647] a means for the user to input a shopping list;
[1648] a means for users to upload advertising media, receipts, and price cards;
[1649] A means for the server to extract text information from the uploaded image;
[1650] A means for the server to calculate an optimal purchasing path using the extracted character data;
[1651] A means for the server to notify the user of the calculation results;
[1652] A system including a means for an emotion engine to analyze a user's emotional state from facial expressions and voice data and adjust the content of suggestions according to the emotional state.
[1653] (Claim 2)
[1654] The system of claim 1, wherein the server compares the user's shopping list with the extracted character data and provides the lowest price information.
[1655] (Claim 3)
[1656] 10. The system of claim 1, which provides a function for sharing information among family members. [Explanation of symbols]
[1657] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>
Claims
1. a means for the user to input a shopping list; A way for users to upload flyers, receipts, and price tags; means for the server to extract text information from the uploaded image; A means for the server to calculate an optimal shopping path using the extracted text data; A system including a means for the server to notify the user of the results of the calculation.
2. 2. The system of claim 1, wherein the server compares the user's shopping list with the extracted text data and provides the lowest price information.
3. The system according to claim 1, which provides a function for sharing information among family members.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A