system
A system using machine learning and emotion analysis to recommend election candidates based on user interests and emotions addresses the challenge of low voter turnout by simplifying candidate selection.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-09-30
- Publication Date
- 2026-04-09
AI Technical Summary
The decreasing voter turnout, particularly among young people, is attributed to their difficulty in obtaining and understanding candidate information, making it cumbersome to find suitable candidates.
A system that collects candidate profiles, policies, and past achievements, analyzes them using machine learning algorithms like TF-IDF vectorization and KMeans clustering, and recommends suitable candidates based on user interests and emotions, allowing easy access and interaction through various devices.
Facilitates informed voting decisions by enabling users to easily find candidates matching their interests and emotions, thereby increasing voter turnout.
Smart Images

Figure 2026062125000001_ABST
Abstract
Description
Technical Field
[0004] , , , ,
[0005] , , , , ,
[0003] , , ,
[0001] The technology of the present disclosure relates to a system.
Background Art
[0002] Patent Document 1 discloses a method for controlling a persona chatbot, which is performed by at least one processor, including steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to an explanation of a 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
Summary of the Invention
Problems to be Solved by the Invention
[0004] In Japanese elections, the voter turnout has been decreasing year by year, and in particular, the low voter turnout among young people has become a problem. One of the factors contributing to this problem is that young people do not fully understand the information of candidates and feel that it is troublesome to go to vote. Therefore, it is required to improve the voter turnout by enabling young people to easily obtain information about candidates and easily find candidates suitable for themselves.
Means for Solving the Problems
[0005] This invention provides a system comprising means for collecting profiles, policies, and past performance of multiple candidates; means for storing the collected data in a database; means for analyzing the stored data using a machine learning algorithm and clustering candidates based on user interests; means for recommending appropriate candidates to the user based on the clustering results; and means for users to log in and register with the system. This system allows users to easily obtain candidate information based on their interests and encourages voting behavior. In particular, it is expected to improve voter turnout by making it easier for young people to obtain information on candidates and find the candidate that is best suited to them.
[0006] The term "candidate" refers to a person who is running for election.
[0007] A "profile" refers to information including a candidate's basic personal information and background.
[0008] "Policy" refers to the specific measures and policies that a candidate has put forward as part of their campaign promises.
[0009] "Past achievements" refers to the accomplishments and behavioral history that the candidate has achieved in the past.
[0010] A "database" refers to a data structure used to organize, efficiently store, and manage collected information.
[0011] A "machine learning algorithm" refers to a computational method used to learn patterns from data and perform predictions and classifications.
[0012] Clustering refers to a machine learning technique that groups similar data together.
[0013] "Recommendation" refers to the act of presenting users with what is considered to be the most suitable option.
[0014] "Login" refers to the process and action of authentication that a user undergoes in order to access a system.
[0015] "Registration" refers to the procedure and operation in which a new user provides their own information to the system to obtain the qualification for use.
[0016] "TF-IDF vectorizer" refers to a method of vectorizing a document based on the word frequency and inverse document frequency.
[0017] "KMeans clustering" refers to a clustering method that divides data points into a specific number of groups.
[0018] "User" refers to a person who is the subject using the system.
Brief Description of Drawings
[0019] [Figure 1] It is a conceptual diagram showing an example of the configuration of a data processing system according to the first embodiment. [Figure 2] It is a conceptual diagram showing an example of the main functions of a data processing device and a smart device according to the first embodiment. [Figure 3] It is a conceptual diagram showing an example of the configuration of a data processing system according to the second embodiment. [Figure 4] It is a conceptual diagram showing an example of the main functions of a data processing device and smart glasses according to the second embodiment. [Figure 5] It is a conceptual diagram showing an example of the configuration of a data processing system according to the third embodiment. [Figure 6] It is a conceptual diagram showing an example of the main functions of a data processing device and a headset-type terminal according to the third embodiment. [Figure 7] It is a conceptual diagram showing an example of the configuration of a data processing system according to the fourth embodiment. [Figure 8] It is a conceptual diagram showing an example of the main functions of a data processing device and a robot according to the fourth embodiment. [Figure 9] It shows an emotion map to which a plurality of emotions are mapped. [Figure 10]Shows an emotion map to which multiple emotions are mapped. [Figure 11] It is a sequence diagram showing the processing flow of the data processing system in Example 1. [Figure 12] It is a sequence diagram showing the processing flow of the data processing system in Application Example 1. [Figure 13] It is a sequence diagram showing the processing flow of the data processing system in Example 2 when an emotion engine is combined. [Figure 14] It is a sequence diagram showing the processing flow of the data processing system in Application Example 2 when an emotion engine is combined.
Mode for Carrying Out the Invention
[0020] Hereinafter, an example of an embodiment of a system according to the technology of the present disclosure will be described according to the accompanying drawings.
[0021] First, the terms used in the following description will be described.
[0022] In the following embodiments, a numbered processor (hereinafter simply referred to as "processor") may be a single arithmetic unit or a combination of multiple arithmetic units. Also, the processor may be a single type of arithmetic unit or a combination of multiple types of arithmetic units. Examples of arithmetic units include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), an APU (Accelerated Processing Unit), and the like.
[0023] In the following embodiments, a numbered RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a work memory by the processor.
[0024] In the following embodiments, the signed storage is one or more non-volatile storage devices that store various programs and various parameters. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), or magnetic tapes.
[0025] In the following embodiments, the signed communication interface (I / F) is an interface that includes a communication processor and an antenna, etc. The communication interface manages communication between multiple computers. Examples of communication standards applicable to the communication interface include wireless communication standards such as 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), or Bluetooth (registered trademark).
[0026] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." That is, "A and / or B" means that it may be A alone, or B alone, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" applies when expressing three or more things linked by "and / or."
[0027] [First Embodiment]
[0028] Figure 1 shows an example of the configuration of the data processing system 10 according to the first embodiment.
[0029] As shown in Figure 1, the 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.
[0030] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0031] The smart device 14 comprises a computer 36, a reception device 38, an output device 40, a camera 42, and a communication interface 44. The computer 36 comprises a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The reception device 38, output device 40, and camera 42 are also connected to the bus 52.
[0032] The reception device 38 is equipped with a touch panel 38A and a microphone 38B, etc., and receives user input. The touch panel 38A receives user input by detecting contact with an object (e.g., a pen or finger). The microphone 38B receives user input by detecting the user's voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and 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.
[0033] 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 perceptible to the user 20 (e.g., audio and / or text). The display 40A displays visible information such as text and images according to instructions from the processor 46. The speaker 40B outputs audio according to instructions from the processor 46. The camera 42 is a small digital camera equipped with an optical system such as a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0034] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various types of information between processor 46 and processor 28 via network 54.
[0035] Figure 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0036] As shown in Figure 2, in the data processing device 12, a specific processing 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" related to the technology of this 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 according to the specific processing program 56 executed on the RAM 30.
[0037] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0038] In the smart device 14, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The reception output program 60 is used in conjunction with a 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0039] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".
[0040] This invention relates to a system for collecting, analyzing, and recommending information on multiple candidates in order to solve the problem of users choosing who to vote for. This system mainly consists of a server, a terminal, and user interaction.
[0041] Server Processing
[0042] First, the server collects profiles, policies, and past achievements of multiple candidates from the internet. Specifically, the server sends HTTP requests to specific websites, parses the received HTML data, and extracts information about each candidate. The extracted information is stored in a database and used for later analysis.
[0043] Next, the server runs a machine learning algorithm using the stored data. Specifically, it uses a TF-IDF vectorizer to vectorize the candidates' policy content and then inputs this vectorized data into a clustering algorithm (e.g., KMeans clustering). This classifies the candidates into several clusters. The classification results are stored in a database and used for recommendations to users.
[0044] Terminal processing
[0045] When a user uses the system, they log in or register from their terminal. They enter a username and password for user authentication, and are authenticated by the server. During this process, the user gains permission to access the system.
[0046] User processing
[0047] Users provide information about their interests and priorities. The terminal prompts the user to input information about policies, social issues, etc., that they are interested in, and sends this information to the server. Based on this user information, the server recommends the most suitable candidates to the user from clustering results stored on the server.
[0048] Users can view information on recommended candidates and choose the one that best matches their interests. This is expected to make voting decisions easier for users and increase voter turnout.
[0049] Specific example
[0050] For example, let's assume that many young people are interested in "educational reform" and "improving working conditions." Based on these interests, the server analyzes the policies of candidates and identifies candidates with abundant information on educational reform and working conditions. Users who log in through their terminal and enter that they are interested in education and working conditions will be recommended candidates categorized into these clusters. As a result, users can quickly and easily obtain candidate information that suits them, which facilitates their voting decisions.
[0051] In this way, the present invention realizes a new election information provision system that encourages young people to vote and contributes to improving voter turnout in elections.
[0052] The following describes the processing flow.
[0053] Step 1:
[0054] The server collects data from the internet.
[0055] The server sends an HTTP request to the specified URL (e.g., a website containing information about a candidate). It parses the received HTML data and extracts the candidate's name, policies, background information, etc. The extracted information is compiled into a list and stored in the server's database.
[0056] Step 2:
[0057] The server analyzes the data using machine learning algorithms.
[0058] The server uses a TF-IDF (Term Frequency-Inverse Document Frequency) vectorizer to vectorize the stored data. Next, the vectorized data is fed into a clustering algorithm (e.g., KMeans clustering) to classify each candidate into a specific cluster. The results are then stored in a database.
[0059] Step 3:
[0060] The terminal performs user authentication.
[0061] Users access the system from their terminals to log in or register. The user enters their username and password, which the terminal sends to the server. The server verifies this against the database, and if the user is correctly authenticated, grants access.
[0062] Step 4:
[0063] The device collects the user's interests.
[0064] Users input information about their interests and priorities, such as policies or social issues they are interested in. The device then sends this information to the server.
[0065] Step 5:
[0066] The server recommends suitable candidates to the user.
[0067] The server references the candidate data clustered in the previous step based on the user's interests. It identifies candidates belonging to clusters that match the user's interests and sends that information to the terminal.
[0068] Step 6:
[0069] The device displays recommended candidates to the user.
[0070] The user's device displays information about recommended candidates received from the server. Based on this information, the user can select the candidate they believe is best suited to them.
[0071] Step 7:
[0072] Users consider the recommended candidates.
[0073] Users can view detailed information about recommended candidates and consider which candidate best matches their interests. This makes it easier for them to choose who to vote for.
[0074] Through these steps, users can easily obtain information on suitable candidates based on their interests, resulting in a system that is expected to increase voter turnout in elections.
[0075] (Example 1)
[0076] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."
[0077] Traditionally, it has been difficult for users to select the right candidate in an election, and gathering and comparing information on numerous candidates has been extremely cumbersome. As a result, users have been unable to select a suitable candidate based on their interests, leading to a decline in voter turnout. This invention aims to solve this problem of user voter selection and improve voter turnout.
[0078] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0079] In this invention, the server includes means for collecting profiles, policies, and past performance of multiple candidates; means for storing the collected data in a database; means for analyzing the stored data using a machine learning algorithm and clustering candidates based on the user's interests; means for recommending appropriate candidates to the user based on the clustering results; means for the user to log in and register with the system; means for collecting information about the user's interests and priorities and recommending appropriate candidates based on this; means for vectorizing candidate information and applying the clustering algorithm; and means for storing the clustering results after application in a database and using them for recommendations to the user. As a result, users can quickly and easily obtain candidate information that best matches their interests, which is expected to facilitate voting decisions and increase voter turnout.
[0080] A "candidate" refers to a person running for election, and includes information such as their profile, policies, and past achievements.
[0081] A "profile" includes information such as the candidate's personal information, background, education, and work history.
[0082] "Policy" refers to the content of the promises, plans, and specific measures presented by a candidate.
[0083] "Track record" refers to the achievements, accomplishments, and relevant work experience that the candidate has accomplished in the past.
[0084] A "database" refers to an information system used to systematically store and manage information such as the profiles, policies, and achievements of multiple candidates.
[0085] A "machine learning algorithm" refers to computational methods and models used to analyze large amounts of data and perform pattern recognition and prediction.
[0086] "Clustering" refers to a technique that uses machine learning algorithms to classify data into several groups (clusters).
[0087] "Recommendation" refers to the act of selecting and presenting the most appropriate candidate based on the user's interests.
[0088] "Logging in" refers to the act of a user entering authentication information in order to be granted access to a system.
[0089] "Interests" refer to policies, social issues, and personal priorities that users consider important.
[0090] "Vectorization" refers to a technique that converts text data into numerical data and transforms it into a format suitable for machine learning algorithms.
[0091] A "clustering algorithm" refers to a specific computational method used to classify data into clusters.
[0092] This invention is a system built to solve the problem of users choosing who to vote for in an election, and its implementation requires interaction between a server, a terminal, and the user.
[0093] Server Processing
[0094] The server first collects candidate profiles, policies, and past achievements from multiple sources on the internet. This collection is done by sending HTTP requests using the Python "Requests" library to retrieve data from web pages. The retrieved HTML data is then parsed using the "BeautifulSoup" library to extract the necessary information. This information is stored in a "MySQL®" database.
[0095] Next, the server analyzes the stored data using machine learning algorithms. Specifically, it uses the "TF-IDF vectorizer" from "scikit-learn" to quantify the candidates' policy content, and then inputs this quantified data into the "KMeans clustering algorithm" to perform clustering. The clustering results are then stored again in the database and used for recommendations to users.
[0096] Terminal processing
[0097] When a user uses the system, they log in or register from their terminal. The user enters a username and password, which are authenticated by the server. The "OAuth 2.0" protocol is used for authentication. Through this process, the user gains permission to access the system.
[0098] User processing
[0099] Users input information about their interests and priorities through a terminal. The terminal receives the input from the user and sends that information to the server. Based on this user information, the server recommends the most suitable candidates to the user from the stored clustering results.
[0100] Information about recommended candidates is displayed on the device. Users can view this information and select the candidate that best matches their interests.
[0101] Specific example
[0102] For example, suppose many young users are interested in "educational reform" or "improving working conditions." In this case, the server analyzes candidates' policies based on these interests and identifies suitable candidates. When a user logs in through their device and enters that they are interested in "educational reform" and "improving working conditions," the server recommends clustered candidates based on this information. As a result, users can quickly and easily obtain information on candidates that best match their interests.
[0103] Examples of prompts include, "Tell me which candidates are proactive in educational reform," and "Which candidates are committed to improving working conditions?"
[0104] In this way, the present invention is a system that enables users to more easily select the appropriate candidate to vote for, thereby contributing to an increase in voter turnout in elections.
[0105] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0106] Step 1: Collecting candidate data
[0107] The server collects profiles, policies, and past achievements of multiple candidates from the internet. The server uses the Python "Requests" library to send HTTP requests to specific websites, and then parses the received HTML data with "BeautifulSoup" to extract information for each candidate. In this step, the input is the candidate's webpage URL, and the output is the extracted candidate's profile, policies, and past achievements. For example, data is retrieved using "Requests.get('https: / / example.com / candidate_profiles')" and then parsed using "BeautifulSoup(response.text, 'html.parser')".
[0108] Step 2: Saving to the database
[0109] The server saves the extracted candidate information to a MySQL database. The server connects to the database using "mysql.connector" and executes SQL queries such as "INSERT INTO candidates (name, policy, experience) VALUES (%s, %s, %s)". The input is the candidate's profile, policy, and experience, and the output is the data stored in the database.
[0110] Step 3: Data vectorization
[0111] The server converts the stored candidate data into numerical data in preparation for analysis using machine learning algorithms. Specifically, it uses the "TF-IDF vectorizer" from "scikit-learn" to vectorize the candidates' policy text. The input is the candidates' policy text, and the output is a "TF-IDF" vector. For example, it is executed as "TfidfVectorizer().fit_transform(policies)".
[0112] Step 4: Clustering
[0113] The server inputs the vectorized data into the KMeans clustering algorithm to classify candidates into several groups. The input is a TF-IDF vector, and the output is the clustering result. The server uses "from sklearn.cluster import KMeans" and performs clustering with "KMeans(n_clusters=5).fit(vectors)".
[0114] Step 5: Saving the clustering results
[0115] The clustering results are saved to a database and prepared for use in recommending to users. The input is the clustering results, and the output is the clustering information saved in the database. The server saves this information using an SQL query such as "UPDATE candidates SET cluster_id = %s WHERE id = %s".
[0116] Step 6: User Authentication
[0117] When a user uses the system, they log in or register from their device. The device prompts the user for a username and password and sends this data to the server. The input is the username and password, and the output is an authentication token. The server performs authentication using the "OAuth 2.0" protocol.
[0118] Step 7: Enter your concerns
[0119] The user inputs their interests and priorities through the terminal. The terminal receives the user input and sends that information to the server. The input is the user's interests and priorities, and the output is the user information sent to the server. For example, the user might input information such as "Policies of interest: Improving working conditions."
[0120] Step 8: Candidate Recommendation
[0121] The server recommends appropriate candidates from stored clustering results based on the user's interests. The input is the user's interests, and the output is information about the recommended candidates. The server extracts appropriate candidates by executing SQL queries such as "SELECT FROM candidates WHERE cluster_id = %s".
[0122] Step 9: Information Viewing
[0123] The user views information on recommended candidates displayed on their device. The input is information on the recommended candidates, and the output is the candidate's profile and policy information that the user views. Based on this information, the user can select the candidate that best matches their interests. Examples of prompts include, "Tell me about candidates who are proactive in educational reform," and "Which candidates are focused on improving working conditions?"
[0124] In this way, the present invention realizes a system that allows users to quickly and easily obtain information on candidates that best match their interests, thereby facilitating their voting decisions.
[0125] (Application Example 1)
[0126] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."
[0127] Traditional election information systems are only available online and are not designed for use in physical stores. Therefore, there is a lack of means to provide candidate information to users visiting physical stores. Furthermore, there are few ways for users to directly and interactively obtain candidate information through devices. As a result, access to election information is limited, making it difficult to contribute to increasing voter turnout.
[0128] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0129] In this invention, the server includes means for collecting the profiles, policies, and past performance of multiple candidates; means for storing the collected data in a database; means for analyzing the stored data using a machine learning algorithm and clustering candidates based on the user's interests; means for recommending appropriate candidates to the user based on the clustering results; means for the user to log in and register with the system; means for the user to input their interests via an interactive display; and means for providing candidate information to the user in a physical store. This makes it possible for users to interactively obtain candidate information and select appropriate candidates even in a physical store.
[0130] A "profile" is data about a candidate's basic personal information and background.
[0131] "Policies" refer to information about the specific action plans and policies that candidates put forward as their campaign promises.
[0132] "Past performance" refers to data on the candidate's achievements and results to date.
[0133] "Means of collection" refers to the methods and technologies used to gather necessary information from the internet, databases, and other sources.
[0134] A "database" is a system for comprehensively managing and storing collected data.
[0135] A "machine learning algorithm" is an algorithm used to analyze collected data and find meaningful patterns and relationships.
[0136] Clustering is the process of classifying data into several groups.
[0137] An "interactive display" refers to a display device that allows users to directly operate and input / output data.
[0138] A "physical store" is a location where sales and services are provided in a physical place; it is a real store, not an online one.
[0139] "Recommendation methods" refer to the methods and technologies used to select and present appropriate candidates based on the user's interests.
[0140] The system implementing this invention is realized through a configuration in which a server, terminals, and users interact. The roles of each component are described in detail below.
[0141] Server Processing
[0142] The server first collects profiles, policies, and past achievements of multiple candidates from the internet. It sends HTTP requests to specific websites and parses the received HTML data to extract information about each candidate. This analysis uses the Python requests library and BeautifulSoup. The collected data is stored in a database for later analysis.
[0143] Next, the server runs a machine learning algorithm using the stored data. Specifically, it uses TfidfVectorizer to vectorize the candidates' policy content and then inputs this vectorized data into the KMeans clustering algorithm. This classifies candidates with similar policies into several clusters. The classification results are stored in a database and used for recommendations to users.
[0144] Terminal processing
[0145] When a user uses the system, they must first log in or register from their terminal. They enter a username and password for user authentication, and the authentication is performed by the server. During this process, the user gains permission to access the system.
[0146] Subsequently, users provide information on policies and social issues of interest via interactive displays or tablet devices installed in the store. These interactive displays are equipped with an interface for users to directly input information. The information entered from the device is sent to a server, initiating the recommendation process.
[0147] User processing
[0148] Users input their interests using an interactive input screen displayed on the screen. When they enter information about policies or social issues they are interested in, that information is sent to the server. Based on the input information, the server recommends the most suitable candidates from stored clustering results.
[0149] Specifically, the server vectorizes the user's interests and compares them to already clustered data to identify appropriate candidates. Recommended candidates are displayed on the screen, allowing the user to browse the information and select the candidate that best matches their interests. This interactive process makes it easier for users to make voting decisions.
[0150] Below are examples of prompt messages for young people interested in educational reform.
[0151] Example of a prompt:
[0152] "I'm interested in educational reform."
[0153] "I'd like to know about policies regarding environmental issues and working conditions."
[0154] In this way, a system is realized that allows users to interactively obtain candidate information and select the appropriate candidate even within a physical store.
[0155] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0156] Step 1:
[0157] The server collects profiles, policies, and past achievements of multiple candidates from the internet. Specifically, it uses the requests library to send HTTP requests to specific websites and parses the received HTML data using the BeautifulSoup library. The input here is the URL of the website where the candidate information is posted, and the output is a dataset containing each candidate's profile, policies, and past achievements.
[0158] Step 2:
[0159] The server stores the collected data in a database. This database centrally manages information on each candidate and is used for later analysis. The input here is the candidate dataset collected in step 1, and the output is the well-formed data stored in the database.
[0160] Step 3:
[0161] The server executes machine learning algorithms using the stored data. Specifically, it vectorizes the collected policy information using TfidfVectorizer and performs KMeans clustering. The input is the policy data from the stored database, and the output is information about candidates classified by the clustering.
[0162] Step 4:
[0163] Users log in to or register with the system using a terminal. A username and password are entered for user authentication, which is then authenticated by the server. The input here represents the user's authentication information, and the output represents the granting of access privileges to the system.
[0164] Step 5:
[0165] Users provide information on policies and social issues of interest using an interactive display. This display includes an interface for direct user input. The input here is information about the user's interests, and the output is the transmission of this information to the server.
[0166] Step 6:
[0167] The server recommends the most suitable candidates based on the information submitted by the user and stored clustering results. Specifically, it vectorizes the user's input information using TfidfVectorizer and identifies the most suitable candidates based on existing clusters. The input is information about the user's interests, and the output is a list of recommended candidates.
[0168] Step 7:
[0169] The user views information about recommended candidates via the device's interactive display. The input here is a list of recommended candidates received from the server, and the output is the candidate information viewed by the user.
[0170] By explaining the data processing, data calculations, and specific operations performed at each step, the processing flow of this system can be clearly understood.
[0171] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0172] This invention is a system that collects and analyzes candidate information and recommends appropriate candidates to help users make more informed votes in elections. This system not only uses a machine learning algorithm based on the selected candidate information to make recommendations based on the user's interests, but also incorporates an emotion engine that recognizes the user's emotions.
[0173] Server Processing
[0174] The server collects data from the internet. Specifically, it uses scraping techniques to collect profiles, policies, and past achievements of multiple candidates from specific websites. This information is then extracted, organized, and stored in a database.
[0175] The server uses the stored data to execute machine learning algorithms. Specifically, it uses a TF-IDF vectorizer to vectorize the policy content of candidates, and then inputs this vectorized data into the KMeans clustering algorithm to classify it into clusters. The classification results are stored in a database and used for recommendations to users.
[0176] Furthermore, the server is equipped with an emotion engine to recognize emotions from user input. The emotion engine analyzes the user's reactions and input information when viewing candidate information and records their emotional state in a database.
[0177] Terminal processing
[0178] When a user accesses the system, they first log in or register from their terminal. During this process, the user enters their username and password and undergoes authentication. The server then verifies this against the database and grants access.
[0179] Next, the user enters information about their interests and priorities. This information concerns policies and social issues and is sent from the device to the server.
[0180] User processing
[0181] The server recommends appropriate candidates based on the clustering results derived from the user's input information. Simultaneously, the sentiment engine is activated to analyze the user's emotions. When the user views detailed information about recommended candidates, the sentiment engine analyzes their reaction and stores the results in a database. This enables recommendations that take the user's emotional state into account.
[0182] Specific example
[0183] For example, let's assume that many young people are interested in "educational reform" and "improving working conditions." The server collects candidate information focused on "educational reform" and "improving working conditions" from the internet, analyzes it, and stores it in a database. When a user accesses the system and inputs that they are interested in educational reform or working conditions, the server recommends candidates that match based on clustering results and sentiment engine analysis.
[0184] Users can view this recommendation information through their devices and select the most suitable candidates based on their own feelings and interests. Because this recommendation process takes into account the user's interests and emotional state, it enables more accurate and personalized recommendations.
[0185] Through the above process, users will be able to more easily select the most suitable candidate based on their own emotions and interests, and it is expected that voter turnout will increase.
[0186] The following describes the processing flow.
[0187] Step 1:
[0188] The server collects data from the internet.
[0189] The server sends an HTTP request to a specific website and receives HTML data containing profiles, policies, and past achievements of multiple candidates. This HTML data is then parsed to extract candidate names, policies, background information, and other relevant details. The extracted information is organized into a list format and stored in a database.
[0190] Step 2:
[0191] The server analyzes the data using machine learning algorithms.
[0192] The server uses the stored data to vectorize the candidates' policy content using a TF-IDF vectorizer. The vectorized data is then input into the KMeans clustering algorithm to classify each candidate into a specific cluster. The clustering results are stored in a database and used for subsequent user recommendations.
[0193] Step 3:
[0194] The terminal performs user authentication.
[0195] The user accesses the system from their terminal and enters their username and password to log in or register. The terminal sends this authentication information to the server, which then verifies it against the database. If authentication is successful, the user gains permission to access the system.
[0196] Step 4:
[0197] The device collects the user's interests.
[0198] Users input information about policies and social issues they are interested in. The device collects this information and sends it to the server.
[0199] Step 5:
[0200] The server recommends suitable candidates to the user.
[0201] Based on user input, the server identifies appropriate candidates from stored clustering results and creates a recommendation list. During this process, an emotion engine is activated to analyze user emotions from input and site behavior patterns, and considers emotional states when selecting candidates.
[0202] Step 6:
[0203] The device displays recommended candidates to the user.
[0204] The terminal displays a list of recommended candidates received from the server to the user. Based on this, the user can view detailed information about candidates that match their interests.
[0205] Step 7:
[0206] Users consider the recommended candidates.
[0207] Users view detailed information on recommended candidates and, while also considering their real-time emotional state analyzed by the emotion engine, select the candidate they believe is best suited to them. The emotion engine analyzes the user's responses and stores the results in a database. This information will be used to improve future recommendations.
[0208] These steps will enable users to easily obtain relevant candidate information based on their interests and emotional state, resulting in a system that is expected to increase voter turnout.
[0209] (Example 2)
[0210] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".
[0211] Traditional election systems have struggled to efficiently collect and analyze candidate information and provide personalized recommendations based on users' interests and sentiments. As a result, users are overwhelmed by the sheer volume of information, making it difficult to select the best candidate and potentially leading to lower voter turnout.
[0212] The identification processing performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for collecting the profiles, policies, and past performance of multiple candidates; means for storing the collected data in a database; means for analyzing the stored data using a machine learning algorithm and clustering candidates based on the user's interests; means for recommending appropriate candidates to the user based on the clustering results; means for the user to log in and register with the system; and means for analyzing the user's reaction when viewing detailed information of recommended candidates using an emotion engine and storing the results in a database. This makes it possible to recommend appropriate candidates based on the user's interests and emotions.
[0213] - "Means of collection" refers to the means of obtaining a candidate's profile, policies, and past performance from the internet using specific methods (e.g., web scraping techniques).
[0214] "Means of storing in a database" refers to storage devices and systems for structuring, efficiently managing, and accessing collected candidate information.
[0215] A "machine learning algorithm" is a computational method used to analyze collected data, identify specific patterns and relationships, and train models.
[0216] "Clustering methods" refer to techniques that use machine learning algorithms to group data that have similar characteristics.
[0217] "Means for recommending appropriate candidates" refers to methods for presenting the candidate that best matches the user, based on clustering results and user input information.
[0218] An "emotion engine" is a technology that analyzes user responses and input information to automatically recognize psychological states and emotions.
[0219] This invention is a system that collects and analyzes candidate information and recommends suitable candidates to help users make more informed votes in elections. This system includes the following configuration and processing procedures.
[0220] Server Processing
[0221] The server collects candidate information from specific websites (e.g., election pamphlets and candidate websites). Specifically, it uses scraping techniques (e.g., BeautifulSoup or Scrapy) to obtain profiles, policies, and past achievements of multiple candidates. This collected information is stored in a database.
[0222] Using the stored data, the server executes machine learning algorithms. First, it uses a TF-IDF vectorizer to vectorize the candidates' policy content. This vectorized data is then input into the KMeans clustering algorithm to classify the candidates into clusters. The categorized information is also stored in the database and used for recommendations.
[0223] Furthermore, the server is equipped with an emotion engine that recognizes user emotions. The emotion engine analyzes the user's reactions and text input when viewing candidate information and records their emotional state in a database. This engine uses emotion analysis libraries (such as TextBlob or VADER).
[0224] Terminal processing
[0225] When a user accesses the system, they first log in or register from their terminal. Here, the user enters their username and password, and the server verifies this against the database to grant access.
[0226] After logging in, users enter information about their interests and priorities. Examples include information on policies and social issues such as educational reform and improving working conditions. This information is sent from the device to the server.
[0227] User processing
[0228] The server recommends candidates by combining clustering results and sentiment engine analysis results based on the user's input information. Detailed information about the recommended candidates is displayed on the terminal for the user to view. At this time, the sentiment engine analyzes the user's response, and the results are also stored in the database. This ensures that future recommendations take the user's emotional state into account.
[0229] Specific example
[0230] For example, if many young people are interested in "educational reform" or "improving working conditions," the server collects candidate information related to these topics from the internet and stores it in a database. When a user accesses the system and enters that they are interested in educational reform or working conditions, the server recommends matching candidates based on clustering results and a sentiment engine.
[0231] Users can view recommended candidate information on their device and select the best candidate based on their own feelings and interests. The following is an example of a prompt message.
[0232] "I am interested in educational reform and working conditions. Please recommend suitable candidates based on these interests."
[0233] With this configuration, users can find the most suitable candidate based on their interests and feelings, which is expected to increase voter turnout in elections.
[0234] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0235] Step 1:
[0236] Data collection
[0237] The server collects candidate information from specific websites (e.g., election pamphlets and candidate websites) using scraping techniques (e.g., BeautifulSoup or Scrapy). Specifically, it extracts data such as candidate profiles, policies, and past achievements. The input is the URL of the website, and the output is a list of candidate information. This list is stored in a database.
[0238] Step 2:
[0239] Data storage
[0240] The server stores the collected candidate information in a database. Specifically, it stores the information in a structured format (e.g., JSON or SQL). The input is a list of candidate information, and the output is the candidate information stored in the database. This allows for efficient information management and facilitates searching and access.
[0241] Step 3:
[0242] Data vectorization
[0243] The server uses a TF-IDF vectorizer to vectorize the policy content of candidates stored in the database. This is a process of analyzing policy documents and quantifying the importance of each word. The input is the text data of the policy content, and the output is vectorized data. This makes the policy content numerically comparable.
[0244] Step 4:
[0245] Clustering
[0246] The server uses the vectorized data to run the KMeans clustering algorithm and classify candidates into clusters. This groups candidates with similar policies. The input is vectorized data, and the output is candidate information classified into clusters. This cluster information is also stored in the database.
[0247] Step 5:
[0248] User Authentication
[0249] The terminal handles user login and registration for accessing the system. The user enters a username and password, which the server verifies against the database. The input is the user's authentication information, and the output is the access permission status. Upon successful authentication, the user can access the system.
[0250] Step 6:
[0251] Enter your interests
[0252] The terminal provides an interface for users to input information about their interests and priorities. Users input information such as educational reform or improvements to working conditions. The input is information about the user's interests, and the output is interest data sent to the server. This data is used for analysis on the server.
[0253] Step 7:
[0254] Candidate Recommendation
[0255] The server recommends appropriate candidates by combining clustering results and sentiment engine analysis results based on user input. Specifically, it selects and displays candidates from clusters that match the user's interests. The input is the user's interest data and clustering results, and the output is a list of recommended candidates. This list is displayed on the terminal.
[0256] Step 8:
[0257] Emotion analysis
[0258] The server uses an emotion engine to analyze a user's reaction when they view recommended candidate information. The emotion engine analyzes text and behavioral data to recognize the user's emotional state. The input is the user's reaction data, and the output is the result of the emotional state analysis. This analysis result is stored in a database and used in subsequent recommendation processes.
[0259] Step 9:
[0260] Information update
[0261] The server updates its database and machine learning model based on newly collected data and user sentiment analysis results. This continuously improves the accuracy of recommendations. The input is new data and sentiment analysis results, and the output is the updated database and machine learning model.
[0262] As a result, this system enables the recommendation of the most suitable candidates based on the user's interests and emotions.
[0263] (Application Example 2)
[0264] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."
[0265] Traditional election candidate recommendation systems only recommend candidates based on user interests, without considering user emotional states, which leads to a decrease in recommendation accuracy. Similarly, traditional advertising systems struggle to provide personalized ads that take user emotions into account, resulting in underutilized advertising effectiveness.
[0266] The identification processing performed by the identification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for collecting the profiles, policies, and past performance of multiple candidates; means for storing the collected data in a database; means for analyzing the stored data using a machine learning algorithm and clustering candidates based on the user's interests; means for recommending appropriate candidates to the user based on the clustering results; means having an emotion recognition engine that recognizes emotions from the user's input information and adjusts the recommendations based on the analysis results; and means for the user to log in and register with the system. This makes it possible to recommend more personalized candidates and advertisements that simultaneously consider the user's interests and emotional state.
[0267] A "profile" is detailed information about a candidate, such as their background, qualifications, and achievements.
[0268] "Policies" refer to the promises, plans, opinions, and suggestions on social issues proposed by candidates.
[0269] "Past achievements" refers to the results and accomplishments that the candidate has achieved in their previous duties and other activities.
[0270] A "database" is a collection of information that is systematically stored and made searchable and analyzeable as needed.
[0271] A "machine learning algorithm" refers to a series of methods in which a computer program learns patterns from data and performs predictions and classifications based on those patterns.
[0272] Clustering is an analytical technique that classifies data into groups (clusters) based on similarity.
[0273] An "emotion recognition engine" is a program that analyzes user input and responses to recognize emotions and their state.
[0274] "Login" refers to the authentication process that allows a user to access a system.
[0275] "Registration" refers to the process by which a user creates a new account in the system and provides the necessary information.
[0276] This invention is a system that collects and analyzes candidate information and recommends suitable candidates to help users make more informed votes in elections. Because this system incorporates an emotion engine that recognizes user emotions, it enables personalized recommendations.
[0277] First, the server collects candidate profiles, policies, and past achievements from the internet. This collection is done using web scraping techniques. The collected data is stored in a database. The server then analyzes the data using machine learning algorithms. Specifically, it uses a TF-IDF vectorizer to vectorize the candidate's policy content, and then inputs this vectorized data into the KMeans clustering algorithm to classify it into clusters. The classification results are stored in the database and used for recommending candidates to users.
[0278] Next, the server has an emotion engine that recognizes emotions from user input information. This emotion engine analyzes the user's reactions and input information when viewing candidate information and records their emotional state in a database. This makes it possible to make recommendations that take the user's emotional state into account.
[0279] Users access the system using their smartphones and first log in or register. This authentication process involves entering a username and password. Next, users enter information about their interests and priorities, which is sent to the server. Based on this input, the server recommends suitable candidates using clustering results and sentiment engine analysis.
[0280] The reactions of users who view candidate information displayed on the terminal are also analyzed by the emotion engine, and the results are stored in the database. This enables more suitable candidates to be recommended when the user accesses again.
[0281] For example, when a user inputs "interested in education reform and labor environment", the server first collects candidate information related to "education reform" and "labor environment" from the Internet. Based on this information, clustering is performed, the emotional state of the user is analyzed, and the optimal candidate is recommended based on the results.
[0282] As a specific example, assume that a user accesses the system using their smartphone and inputs "interested in education reform and labor rights". The emotion engine analyzes the emotion of this input sentence, identifies candidates that have a positive impact, and recommends advertisements and information related to those candidates to the user.
[0283] Example of input prompt sentence for the generative AI model:
[0284] Please generate examples of personalized advertisements recommended based on the user's interests and emotions.
[0285] Input: I am interested in education reform and labor rights.
[0286] In this way, it becomes easier for the user to select the optimal candidate based on their interests and emotional state, and the voting behavior in the election becomes better.
[0287] The flow of the specific process in Application Example 2 will be described using FIG. 14.
[0288] Step 1:
[0289] The server collects candidate information. Specifically, it uses web scraping techniques to obtain candidate profiles, policies, and past achievements from the internet. This involves sending web requests and parsing HTML to extract the necessary information. The input is web pages on the internet, and the output is a list of objects containing candidate information.
[0290] Step 2:
[0291] The server stores the collected data in a database. This database is a relational database designed to store candidate data in an easily organized format. The input is the candidate information obtained in step 1, and the output is the data recorded in the database.
[0292] Step 3:
[0293] The server analyzes data stored in the database using machine learning algorithms. Specifically, it uses a TF-IDF vectorizer to vectorize the policy content of candidates, and then inputs this vectorized data into the KMeans clustering algorithm to classify it into clusters. The input is the stored candidate information, and the output is the clustered data.
[0294] Step 4:
[0295] The server recommends suitable candidates to the user based on the clustering results. To recommend suitable candidates, an algorithm is used that matches the clustering results with the user's input information. The input consists of the clustering results and the user's input information, and the output is a list of candidates to recommend to the user.
[0296] Step 5:
[0297] The server has an emotion recognition engine that recognizes emotions from user input and adjusts recommendations based on the analysis results. The emotion recognition engine analyzes the user's reactions and input information when viewing candidate information and records their emotional state in a database. In this step, the input is the user's input information and reactions, and the output is the emotion score.
[0298] Step 6:
[0299] The terminal provides a means for users to log in and register with the system. Users enter their username and password to authenticate with the server. The input is the user's authentication information, and the output is the authentication success or failure status.
[0300] Step 7:
[0301] The terminal provides a means for the user to input information about their interests and priorities. This includes interfaces such as text boxes and checkboxes. The input is the user's interests and priorities, and the output is the user's input information sent to the server.
[0302] Step 8:
[0303] The server recommends appropriate candidates based on the user's interests and priorities, using clustering results and sentiment engine analysis. This process simultaneously considers the user's interests and emotional state. The input is the user's input information and sentiment score, and the output is a list of optimal candidates.
[0304] Step 9:
[0305] The device displays recommended candidate information to the user. When the user views the detailed information, their reaction is analyzed again by the sentiment engine, enabling more accurate recommendations. The input is a list of recommended candidates, and the output is the user's viewing reaction and the display of detailed information.
[0306] Examples of input prompts for a generative AI model:
[0307] Please generate an example of recommending personalized advertisements based on the user's interests and emotions.
[0308] Input: Interested in education reform and labor rights.
[0309] As a result, the overall processing flow progresses smoothly, enabling the recommendation of optimal candidates and advertisements according to the user's interests and emotions.
[0310] 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 voice indicating user input with respect to the result of the specific processing. The control unit 46A transmits voice 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 voice data.
[0311] The data generation model 58 is a so-called generative AI (Artificial Intelligence). As an example of the data generation model 58, ChatGPT (registered trademark) (Internet search <URL: https: / / openai.com / blog / chatgpt>), Gemini (registered trademark) (Internet search <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0312] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart device 14.
[0313] [Second Embodiment]
[0314] Figure 3 shows an example of the configuration of the data processing system 210 according to the second embodiment.
[0315] As shown in Figure 3, the data processing system 210 includes a data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0316] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0317] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication interface 44. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, and camera 42 are also connected to the bus 52.
[0318] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0319] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0320] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0321] Figure 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Figure 4, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0322] The specific processing program 56 is an example of a "program" relating to the technology of this 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.
[0323] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0324] In the smart glasses 214, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0325] Next, the identification processing performed by the identification processing unit 290 of the data processing device 12 will be described. 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".
[0326] This invention relates to a system for collecting, analyzing, and recommending information on multiple candidates in order to solve the problem of users choosing who to vote for. This system mainly consists of a server, a terminal, and user interaction.
[0327] Server Processing
[0328] First, the server collects profiles, policies, and past achievements of multiple candidates from the internet. Specifically, the server sends HTTP requests to specific websites, parses the received HTML data, and extracts information about each candidate. The extracted information is stored in a database and used for later analysis.
[0329] Next, the server runs a machine learning algorithm using the stored data. Specifically, it uses a TF-IDF vectorizer to vectorize the candidates' policy content and then inputs this vectorized data into a clustering algorithm (e.g., KMeans clustering). This classifies the candidates into several clusters. The classification results are stored in a database and used for recommendations to users.
[0330] Terminal processing
[0331] When a user uses the system, they log in or register from their terminal. They enter a username and password for user authentication, and are authenticated by the server. During this process, the user gains permission to access the system.
[0332] User processing
[0333] Users provide information about their interests and priorities. The terminal prompts the user to input information about policies, social issues, etc., that they are interested in, and sends this information to the server. Based on this user information, the server recommends the most suitable candidates to the user from clustering results stored on the server.
[0334] Users can view information on recommended candidates and choose the one that best matches their interests. This is expected to make voting decisions easier for users and increase voter turnout.
[0335] Specific example
[0336] For example, let's assume that many young people are interested in "educational reform" and "improving working conditions." Based on these interests, the server analyzes the policies of candidates and identifies candidates with abundant information on educational reform and working conditions. Users who log in through their terminal and enter that they are interested in education and working conditions will be recommended candidates categorized into these clusters. As a result, users can quickly and easily obtain candidate information that suits them, which facilitates their voting decisions.
[0337] In this way, the present invention realizes a new election information provision system that encourages young people to vote and contributes to improving voter turnout in elections.
[0338] The following describes the processing flow.
[0339] Step 1:
[0340] The server collects data from the internet.
[0341] The server sends an HTTP request to the specified URL (e.g., a website containing information about a candidate). It parses the received HTML data and extracts the candidate's name, policies, background information, etc. The extracted information is compiled into a list and stored in the server's database.
[0342] Step 2:
[0343] The server analyzes the data using machine learning algorithms.
[0344] The server uses a TF-IDF (Term Frequency-Inverse Document Frequency) vectorizer to vectorize the stored data. Next, the vectorized data is fed into a clustering algorithm (e.g., KMeans clustering) to classify each candidate into a specific cluster. The results are then stored in a database.
[0345] Step 3:
[0346] The terminal performs user authentication.
[0347] Users access the system from their terminals to log in or register. The user enters their username and password, which the terminal sends to the server. The server verifies this against the database, and if the user is correctly authenticated, grants access.
[0348] Step 4:
[0349] The device collects the user's interests.
[0350] Users input information about their interests and priorities, such as policies or social issues they are interested in. The device then sends this information to the server.
[0351] Step 5:
[0352] The server recommends suitable candidates to the user.
[0353] The server references the candidate data clustered in the previous step based on the user's interests. It identifies candidates belonging to clusters that match the user's interests and sends that information to the terminal.
[0354] Step 6:
[0355] The device displays recommended candidates to the user.
[0356] The user's device displays information about recommended candidates received from the server. Based on this information, the user can select the candidate they believe is best suited to them.
[0357] Step 7:
[0358] Users consider the recommended candidates.
[0359] Users can view detailed information about recommended candidates and consider which candidate best matches their interests. This makes it easier for them to choose who to vote for.
[0360] Through these steps, users can easily obtain information on suitable candidates based on their interests, resulting in a system that is expected to increase voter turnout in elections.
[0361] (Example 1)
[0362] Next, we will describe Example 1. 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."
[0363] Traditionally, it has been difficult for users to select the right candidate in an election, and gathering and comparing information on numerous candidates has been extremely cumbersome. As a result, users have been unable to select a suitable candidate based on their interests, leading to a decline in voter turnout. This invention aims to solve this problem of user voter selection and improve voter turnout.
[0364] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0365] In this invention, the server includes means for collecting profiles, policies, and past performance of multiple candidates; means for storing the collected data in a database; means for analyzing the stored data using a machine learning algorithm and clustering candidates based on the user's interests; means for recommending appropriate candidates to the user based on the clustering results; means for the user to log in and register with the system; means for collecting information about the user's interests and priorities and recommending appropriate candidates based on this; means for vectorizing candidate information and applying the clustering algorithm; and means for storing the clustering results after application in a database and using them for recommendations to the user. As a result, users can quickly and easily obtain candidate information that best matches their interests, which is expected to facilitate voting decisions and increase voter turnout.
[0366] A "candidate" refers to a person running for election, and includes information such as their profile, policies, and past achievements.
[0367] A "profile" includes information such as the candidate's personal information, background, education, and work history.
[0368] "Policy" refers to the content of the promises, plans, and specific measures presented by a candidate.
[0369] "Track record" refers to the achievements, accomplishments, and relevant work experience that the candidate has accomplished in the past.
[0370] A "database" refers to an information system used to systematically store and manage information such as the profiles, policies, and achievements of multiple candidates.
[0371] A "machine learning algorithm" refers to computational methods and models used to analyze large amounts of data and perform pattern recognition and prediction.
[0372] "Clustering" refers to a technique that uses machine learning algorithms to classify data into several groups (clusters).
[0373] "Recommendation" refers to the act of selecting and presenting the most appropriate candidate based on the user's interests.
[0374] "Logging in" refers to the act of a user entering authentication information in order to be granted access to a system.
[0375] "Interests" refer to policies, social issues, and personal priorities that users consider important.
[0376] "Vectorization" refers to a technique that converts text data into numerical data and transforms it into a format suitable for machine learning algorithms.
[0377] A "clustering algorithm" refers to a specific computational method used to classify data into clusters.
[0378] This invention is a system built to solve the problem of users choosing who to vote for in an election, and its implementation requires interaction between a server, a terminal, and the user.
[0379] Server Processing
[0380] The server first collects candidate profiles, policies, and past achievements from multiple sources on the internet. This collection is done by sending HTTP requests using the Python "Requests" library to retrieve data from web pages. The retrieved HTML data is then parsed using the "BeautifulSoup" library to extract the necessary information. This information is stored in a "MySQL" database.
[0381] Next, the server analyzes the stored data using machine learning algorithms. Specifically, it uses the "TF-IDF vectorizer" from "scikit-learn" to quantify the candidates' policy content, and then inputs this quantified data into the "KMeans clustering algorithm" to perform clustering. The clustering results are then stored again in the database and used for recommendations to users.
[0382] Terminal processing
[0383] When a user uses the system, they log in or register from their terminal. The user enters a username and password, which are authenticated by the server. The "OAuth 2.0" protocol is used for authentication. Through this process, the user gains permission to access the system.
[0384] User processing
[0385] Users input information about their interests and priorities through a terminal. The terminal receives the input from the user and sends that information to the server. Based on this user information, the server recommends the most suitable candidates to the user from the stored clustering results.
[0386] Information about recommended candidates is displayed on the device. Users can view this information and select the candidate that best matches their interests.
[0387] Specific example
[0388] For example, suppose many young users are interested in "educational reform" or "improving working conditions." In this case, the server analyzes candidates' policies based on these interests and identifies suitable candidates. When a user logs in through their device and enters that they are interested in "educational reform" and "improving working conditions," the server recommends clustered candidates based on this information. As a result, users can quickly and easily obtain information on candidates that best match their interests.
[0389] Examples of prompts include, "Tell me which candidates are proactive in educational reform," and "Which candidates are committed to improving working conditions?"
[0390] In this way, the present invention is a system that enables users to more easily select the appropriate candidate to vote for, thereby contributing to an increase in voter turnout in elections.
[0391] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0392] Step 1: Collecting candidate data
[0393] The server collects profiles, policies, and past achievements of multiple candidates from the internet. The server uses the Python "Requests" library to send HTTP requests to specific websites, and then parses the received HTML data with "BeautifulSoup" to extract information for each candidate. In this step, the input is the candidate's webpage URL, and the output is the extracted candidate's profile, policies, and past achievements. For example, data is retrieved using "Requests.get('https: / / example.com / candidate_profiles')" and then parsed using "BeautifulSoup(response.text, 'html.parser')".
[0394] Step 2: Saving to the database
[0395] The server saves the extracted candidate information to a MySQL database. The server connects to the database using "mysql.connector" and executes SQL queries such as "INSERT INTO candidates (name, policy, experience) VALUES (%s, %s, %s)". The input is the candidate's profile, policy, and experience, and the output is the data stored in the database.
[0396] Step 3: Data vectorization
[0397] The server converts the stored candidate data into numerical data in preparation for analysis using machine learning algorithms. Specifically, it uses the "TF-IDF vectorizer" from "scikit-learn" to vectorize the candidates' policy text. The input is the candidates' policy text, and the output is a "TF-IDF" vector. For example, it is executed as "TfidfVectorizer().fit_transform(policies)".
[0398] Step 4: Clustering
[0399] The server inputs the vectorized data into the KMeans clustering algorithm to classify candidates into several groups. The input is a TF-IDF vector, and the output is the clustering result. The server uses "from sklearn.cluster import KMeans" and performs clustering with "KMeans(n_clusters=5).fit(vectors)".
[0400] Step 5: Saving the clustering results
[0401] The clustering results are saved to a database and prepared for use in recommending to users. The input is the clustering results, and the output is the clustering information saved in the database. The server saves this information using an SQL query such as "UPDATE candidates SET cluster_id = %s WHERE id = %s".
[0402] Step 6: User Authentication
[0403] When a user uses the system, they log in or register from their device. The device prompts the user for a username and password and sends this data to the server. The input is the username and password, and the output is an authentication token. The server performs authentication using the "OAuth 2.0" protocol.
[0404] Step 7: Enter your concerns
[0405] The user inputs their interests and priorities through the terminal. The terminal receives the user input and sends that information to the server. The input is the user's interests and priorities, and the output is the user information sent to the server. For example, the user might input information such as "Policies of interest: Improving working conditions."
[0406] Step 8: Candidate Recommendation
[0407] The server recommends appropriate candidates from stored clustering results based on the user's interests. The input is the user's interests, and the output is information about the recommended candidates. The server extracts appropriate candidates by executing SQL queries such as "SELECT FROM candidates WHERE cluster_id = %s".
[0408] Step 9: Information Viewing
[0409] The user views information on recommended candidates displayed on their device. The input is information on the recommended candidates, and the output is the candidate's profile and policy information that the user views. Based on this information, the user can select the candidate that best matches their interests. Examples of prompts include, "Tell me about candidates who are proactive in educational reform," and "Which candidates are focused on improving working conditions?"
[0410] In this way, the present invention realizes a system that allows users to quickly and easily obtain information on candidates that best match their interests, thereby facilitating their voting decisions.
[0411] (Application Example 1)
[0412] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."
[0413] Traditional election information systems are only available online and are not designed for use in physical stores. Therefore, there is a lack of means to provide candidate information to users visiting physical stores. Furthermore, there are few ways for users to directly and interactively obtain candidate information through devices. As a result, access to election information is limited, making it difficult to contribute to increasing voter turnout.
[0414] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0415] In this invention, the server includes means for collecting the profiles, policies, and past performance of multiple candidates; means for storing the collected data in a database; means for analyzing the stored data using a machine learning algorithm and clustering candidates based on the user's interests; means for recommending appropriate candidates to the user based on the clustering results; means for the user to log in and register with the system; means for the user to input their interests via an interactive display; and means for providing candidate information to the user in a physical store. This makes it possible for users to interactively obtain candidate information and select appropriate candidates even in a physical store.
[0416] A "profile" is data about a candidate's basic personal information and background.
[0417] "Policies" refer to information about the specific action plans and policies that candidates put forward as their campaign promises.
[0418] "Past performance" refers to data on the candidate's achievements and results to date.
[0419] "Means of collection" refers to the methods and technologies used to gather necessary information from the internet, databases, and other sources.
[0420] A "database" is a system for comprehensively managing and storing collected data.
[0421] A "machine learning algorithm" is an algorithm used to analyze collected data and find meaningful patterns and relationships.
[0422] Clustering is the process of classifying data into several groups.
[0423] An "interactive display" refers to a display device that allows users to directly operate and input / output data.
[0424] A "physical store" is a location where sales and services are provided in a physical place; it is a real store, not an online one.
[0425] "Recommendation methods" refer to the methods and technologies used to select and present appropriate candidates based on the user's interests.
[0426] The system implementing this invention is realized through a configuration in which a server, terminals, and users interact. The roles of each component are described in detail below.
[0427] Server Processing
[0428] The server first collects profiles, policies, and past achievements of multiple candidates from the internet. It sends HTTP requests to specific websites and parses the received HTML data to extract information about each candidate. This analysis uses the Python requests library and BeautifulSoup. The collected data is stored in a database for later analysis.
[0429] Next, the server runs a machine learning algorithm using the stored data. Specifically, it uses TfidfVectorizer to vectorize the candidates' policy content and then inputs this vectorized data into the KMeans clustering algorithm. This classifies candidates with similar policies into several clusters. The classification results are stored in a database and used for recommendations to users.
[0430] Terminal processing
[0431] When a user uses the system, they must first log in or register from their terminal. They enter a username and password for user authentication, and the authentication is performed by the server. During this process, the user gains permission to access the system.
[0432] Subsequently, users provide information on policies and social issues of interest via interactive displays or tablet devices installed in the store. These interactive displays are equipped with an interface for users to directly input information. The information entered from the device is sent to a server, initiating the recommendation process.
[0433] User processing
[0434] Users input their interests using an interactive input screen displayed on the screen. When they enter information about policies or social issues they are interested in, that information is sent to the server. Based on the input information, the server recommends the most suitable candidates from stored clustering results.
[0435] Specifically, the server vectorizes the user's interests and compares them to already clustered data to identify appropriate candidates. Recommended candidates are displayed on the screen, allowing the user to browse the information and select the candidate that best matches their interests. This interactive process makes it easier for users to make voting decisions.
[0436] Below are examples of prompt messages for young people interested in educational reform.
[0437] Example of a prompt:
[0438] "I'm interested in educational reform."
[0439] "I'd like to know about policies regarding environmental issues and working conditions."
[0440] In this way, a system is realized that allows users to interactively obtain candidate information and select the appropriate candidate even within a physical store.
[0441] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0442] Step 1:
[0443] The server collects profiles, policies, and past achievements of multiple candidates from the internet. Specifically, it uses the requests library to send HTTP requests to specific websites and parses the received HTML data using the BeautifulSoup library. The input here is the URL of the website where the candidate information is posted, and the output is a dataset containing each candidate's profile, policies, and past achievements.
[0444] Step 2:
[0445] The server stores the collected data in a database. This database centrally manages information on each candidate and is used for later analysis. The input here is the candidate dataset collected in step 1, and the output is the well-formed data stored in the database.
[0446] Step 3:
[0447] The server executes machine learning algorithms using the stored data. Specifically, it vectorizes the collected policy information using TfidfVectorizer and performs KMeans clustering. The input is the policy data from the stored database, and the output is information about candidates classified by the clustering.
[0448] Step 4:
[0449] Users log in to or register with the system using a terminal. A username and password are entered for user authentication, which is then authenticated by the server. The input here represents the user's authentication information, and the output represents the granting of access privileges to the system.
[0450] Step 5:
[0451] Users provide information on policies and social issues of interest using an interactive display. This display includes an interface for direct user input. The input here is information about the user's interests, and the output is the transmission of this information to the server.
[0452] Step 6:
[0453] The server recommends the most suitable candidates based on the information submitted by the user and stored clustering results. Specifically, it vectorizes the user's input information using TfidfVectorizer and identifies the most suitable candidates based on existing clusters. The input is information about the user's interests, and the output is a list of recommended candidates.
[0454] Step 7:
[0455] The user views information about recommended candidates via the device's interactive display. The input here is a list of recommended candidates received from the server, and the output is the candidate information viewed by the user.
[0456] By explaining the data processing, data calculations, and specific operations performed at each step, the processing flow of this system can be clearly understood.
[0457] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0458] This invention is a system that collects and analyzes candidate information and recommends appropriate candidates to help users make more informed votes in elections. This system not only uses a machine learning algorithm based on the selected candidate information to make recommendations based on the user's interests, but also incorporates an emotion engine that recognizes the user's emotions.
[0459] Server Processing
[0460] The server collects data from the internet. Specifically, it uses scraping techniques to collect profiles, policies, and past achievements of multiple candidates from specific websites. This information is then extracted, organized, and stored in a database.
[0461] The server uses the stored data to execute machine learning algorithms. Specifically, it uses a TF-IDF vectorizer to vectorize the policy content of candidates, and then inputs this vectorized data into the KMeans clustering algorithm to classify it into clusters. The classification results are stored in a database and used for recommendations to users.
[0462] Furthermore, the server is equipped with an emotion engine to recognize emotions from user input. The emotion engine analyzes the user's reactions and input information when viewing candidate information and records their emotional state in a database.
[0463] Terminal processing
[0464] When a user accesses the system, they first log in or register from their terminal. During this process, the user enters their username and password and undergoes authentication. The server then verifies this against the database and grants access.
[0465] Next, the user enters information about their interests and priorities. This information concerns policies and social issues and is sent from the device to the server.
[0466] User processing
[0467] The server recommends appropriate candidates based on the clustering results derived from the user's input information. Simultaneously, the sentiment engine is activated to analyze the user's emotions. When the user views detailed information about recommended candidates, the sentiment engine analyzes their reaction and stores the results in a database. This enables recommendations that take the user's emotional state into account.
[0468] Specific example
[0469] For example, let's assume that many young people are interested in "educational reform" and "improving working conditions." The server collects candidate information focused on "educational reform" and "improving working conditions" from the internet, analyzes it, and stores it in a database. When a user accesses the system and inputs that they are interested in educational reform or working conditions, the server recommends candidates that match based on clustering results and sentiment engine analysis.
[0470] Users can view this recommendation information through their devices and select the most suitable candidates based on their own feelings and interests. Because this recommendation process takes into account the user's interests and emotional state, it enables more accurate and personalized recommendations.
[0471] Through the above process, users will be able to more easily select the most suitable candidate based on their own emotions and interests, and it is expected that voter turnout will increase.
[0472] The following describes the processing flow.
[0473] Step 1:
[0474] The server collects data from the internet.
[0475] The server sends an HTTP request to a specific website and receives HTML data containing profiles, policies, and past achievements of multiple candidates. This HTML data is then parsed to extract candidate names, policies, background information, and other relevant details. The extracted information is organized into a list format and stored in a database.
[0476] Step 2:
[0477] The server analyzes the data using machine learning algorithms.
[0478] The server uses the stored data to vectorize the candidates' policy content using a TF-IDF vectorizer. The vectorized data is then input into the KMeans clustering algorithm to classify each candidate into a specific cluster. The clustering results are stored in a database and used for subsequent user recommendations.
[0479] Step 3:
[0480] The terminal performs user authentication.
[0481] The user accesses the system from their terminal and enters their username and password to log in or register. The terminal sends this authentication information to the server, which then verifies it against the database. If authentication is successful, the user gains permission to access the system.
[0482] Step 4:
[0483] The device collects the user's interests.
[0484] Users input information about policies and social issues they are interested in. The device collects this information and sends it to the server.
[0485] Step 5:
[0486] The server recommends suitable candidates to the user.
[0487] Based on user input, the server identifies appropriate candidates from stored clustering results and creates a recommendation list. During this process, an emotion engine is activated to analyze user emotions from input and site behavior patterns, and considers emotional states when selecting candidates.
[0488] Step 6:
[0489] The device displays recommended candidates to the user.
[0490] The terminal displays a list of recommended candidates received from the server to the user. Based on this, the user can view detailed information about candidates that match their interests.
[0491] Step 7:
[0492] Users consider the recommended candidates.
[0493] Users view detailed information on recommended candidates and, while also considering their real-time emotional state analyzed by the emotion engine, select the candidate they believe is best suited to them. The emotion engine analyzes the user's responses and stores the results in a database. This information will be used to improve future recommendations.
[0494] These steps will enable users to easily obtain relevant candidate information based on their interests and emotional state, resulting in a system that is expected to increase voter turnout.
[0495] (Example 2)
[0496] Next, we will describe Example 2. 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".
[0497] Traditional election systems have struggled to efficiently collect and analyze candidate information and provide personalized recommendations based on users' interests and sentiments. As a result, users are overwhelmed by the sheer volume of information, making it difficult to select the best candidate and potentially leading to lower voter turnout.
[0498] The identification processing performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for collecting the profiles, policies, and past performance of multiple candidates; means for storing the collected data in a database; means for analyzing the stored data using a machine learning algorithm and clustering candidates based on the user's interests; means for recommending appropriate candidates to the user based on the clustering results; means for the user to log in and register with the system; and means for analyzing the user's reaction when viewing detailed information of recommended candidates using an emotion engine and storing the results in a database. This makes it possible to recommend appropriate candidates based on the user's interests and emotions.
[0499] - "Means of collection" refers to the means of obtaining a candidate's profile, policies, and past performance from the internet using specific methods (e.g., web scraping techniques).
[0500] "Means of storing in a database" refers to storage devices and systems for structuring, efficiently managing, and accessing collected candidate information.
[0501] A "machine learning algorithm" is a computational method used to analyze collected data, identify specific patterns and relationships, and train models.
[0502] "Clustering methods" refer to techniques that use machine learning algorithms to group data that have similar characteristics.
[0503] "Means for recommending appropriate candidates" refers to methods for presenting the candidate that best matches the user, based on clustering results and user input information.
[0504] An "emotion engine" is a technology that analyzes user responses and input information to automatically recognize psychological states and emotions.
[0505] This invention is a system that collects and analyzes candidate information and recommends suitable candidates to help users make more informed votes in elections. This system includes the following configuration and processing procedures.
[0506] Server Processing
[0507] The server collects candidate information from specific websites (e.g., election pamphlets and candidate websites). Specifically, it uses scraping techniques (e.g., BeautifulSoup or Scrapy) to obtain profiles, policies, and past achievements of multiple candidates. This collected information is stored in a database.
[0508] Using the stored data, the server executes machine learning algorithms. First, it uses a TF-IDF vectorizer to vectorize the candidates' policy content. This vectorized data is then input into the KMeans clustering algorithm to classify the candidates into clusters. The categorized information is also stored in the database and used for recommendations.
[0509] Furthermore, the server is equipped with an emotion engine that recognizes user emotions. The emotion engine analyzes the user's reactions and text input when viewing candidate information and records their emotional state in a database. This engine uses emotion analysis libraries (such as TextBlob or VADER).
[0510] Terminal processing
[0511] When a user accesses the system, they first log in or register from their terminal. Here, the user enters their username and password, and the server verifies this against the database to grant access.
[0512] After logging in, users enter information about their interests and priorities. Examples include information on policies and social issues such as educational reform and improving working conditions. This information is sent from the device to the server.
[0513] User processing
[0514] The server recommends candidates by combining clustering results and sentiment engine analysis results based on the user's input information. Detailed information about the recommended candidates is displayed on the terminal for the user to view. At this time, the sentiment engine analyzes the user's response, and the results are also stored in the database. This ensures that future recommendations take the user's emotional state into account.
[0515] Specific example
[0516] For example, if many young people are interested in "educational reform" or "improving working conditions," the server collects candidate information related to these topics from the internet and stores it in a database. When a user accesses the system and enters that they are interested in educational reform or working conditions, the server recommends matching candidates based on clustering results and a sentiment engine.
[0517] Users can view recommended candidate information on their device and select the best candidate based on their own feelings and interests. The following is an example of a prompt message.
[0518] "I am interested in educational reform and working conditions. Please recommend suitable candidates based on these interests."
[0519] With this configuration, users can find the most suitable candidate based on their interests and feelings, which is expected to increase voter turnout in elections.
[0520] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0521] Step 1:
[0522] Data collection
[0523] The server collects candidate information from specific websites (e.g., election pamphlets and candidate websites) using scraping techniques (e.g., BeautifulSoup or Scrapy). Specifically, it extracts data such as candidate profiles, policies, and past achievements. The input is the URL of the website, and the output is a list of candidate information. This list is stored in a database.
[0524] Step 2:
[0525] Data storage
[0526] The server stores the collected candidate information in a database. Specifically, it stores the information in a structured format (e.g., JSON or SQL). The input is a list of candidate information, and the output is the candidate information stored in the database. This allows for efficient information management and facilitates searching and access.
[0527] Step 3:
[0528] Data vectorization
[0529] The server uses a TF-IDF vectorizer to vectorize the policy content of candidates stored in the database. This is a process of analyzing policy documents and quantifying the importance of each word. The input is the text data of the policy content, and the output is vectorized data. This makes the policy content numerically comparable.
[0530] Step 4:
[0531] Clustering
[0532] The server uses the vectorized data to run the KMeans clustering algorithm and classify candidates into clusters. This groups candidates with similar policies. The input is vectorized data, and the output is candidate information classified into clusters. This cluster information is also stored in the database.
[0533] Step 5:
[0534] User Authentication
[0535] The terminal handles user login and registration for accessing the system. The user enters a username and password, which the server verifies against the database. The input is the user's authentication information, and the output is the access permission status. Upon successful authentication, the user can access the system.
[0536] Step 6:
[0537] Enter your interests
[0538] The terminal provides an interface for users to input information about their interests and priorities. Users input information such as educational reform or improvements to working conditions. The input is information about the user's interests, and the output is interest data sent to the server. This data is used for analysis on the server.
[0539] Step 7:
[0540] Candidate Recommendation
[0541] The server recommends appropriate candidates by combining clustering results and sentiment engine analysis results based on user input. Specifically, it selects and displays candidates from clusters that match the user's interests. The input is the user's interest data and clustering results, and the output is a list of recommended candidates. This list is displayed on the terminal.
[0542] Step 8:
[0543] Emotion analysis
[0544] The server uses an emotion engine to analyze a user's reaction when they view recommended candidate information. The emotion engine analyzes text and behavioral data to recognize the user's emotional state. The input is the user's reaction data, and the output is the result of the emotional state analysis. This analysis result is stored in a database and used in subsequent recommendation processes.
[0545] Step 9:
[0546] Information update
[0547] The server updates its database and machine learning model based on newly collected data and user sentiment analysis results. This continuously improves the accuracy of recommendations. The input is new data and sentiment analysis results, and the output is the updated database and machine learning model.
[0548] As a result, this system enables the recommendation of the most suitable candidates based on the user's interests and emotions.
[0549] (Application Example 2)
[0550] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."
[0551] Traditional election candidate recommendation systems only recommend candidates based on user interests, without considering user emotional states, which leads to a decrease in recommendation accuracy. Similarly, traditional advertising systems struggle to provide personalized ads that take user emotions into account, resulting in underutilized advertising effectiveness.
[0552] The identification processing performed by the identification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for collecting the profiles, policies, and past performance of multiple candidates; means for storing the collected data in a database; means for analyzing the stored data using a machine learning algorithm and clustering candidates based on the user's interests; means for recommending appropriate candidates to the user based on the clustering results; means having an emotion recognition engine that recognizes emotions from the user's input information and adjusts the recommendations based on the analysis results; and means for the user to log in and register with the system. This makes it possible to recommend more personalized candidates and advertisements that simultaneously consider the user's interests and emotional state.
[0553] A "profile" is detailed information about a candidate, such as their background, qualifications, and achievements.
[0554] "Policies" refer to the promises, plans, opinions, and suggestions on social issues proposed by candidates.
[0555] "Past achievements" refers to the results and accomplishments that the candidate has achieved in their previous duties and other activities.
[0556] A "database" is a collection of information that is systematically stored and made searchable and analyzeable as needed.
[0557] A "machine learning algorithm" refers to a series of methods in which a computer program learns patterns from data and performs predictions and classifications based on those patterns.
[0558] Clustering is an analytical technique that classifies data into groups (clusters) based on similarity.
[0559] An "emotion recognition engine" is a program that analyzes user input and responses to recognize emotions and their state.
[0560] "Login" refers to the authentication process that allows a user to access a system.
[0561] "Registration" refers to the process by which a user creates a new account in the system and provides the necessary information.
[0562] This invention is a system that collects and analyzes candidate information and recommends suitable candidates to help users make more informed votes in elections. Because this system incorporates an emotion engine that recognizes user emotions, it enables personalized recommendations.
[0563] First, the server collects candidate profiles, policies, and past achievements from the internet. This collection is done using web scraping techniques. The collected data is stored in a database. The server then analyzes the data using machine learning algorithms. Specifically, it uses a TF-IDF vectorizer to vectorize the candidate's policy content, and then inputs this vectorized data into the KMeans clustering algorithm to classify it into clusters. The classification results are stored in the database and used for recommending candidates to users.
[0564] Next, the server has an emotion engine that recognizes emotions from user input information. This emotion engine analyzes the user's reactions and input information when viewing candidate information and records their emotional state in a database. This makes it possible to make recommendations that take the user's emotional state into account.
[0565] Users access the system using their smartphones and first log in or register. This authentication process involves entering a username and password. Next, users enter information about their interests and priorities, which is sent to the server. Based on this input, the server recommends suitable candidates using clustering results and sentiment engine analysis.
[0566] The user's reaction to the candidate information displayed on their device is also analyzed by the sentiment engine, and the results are stored in a database. This makes it possible to recommend even more suitable candidates when the user accesses the site again.
[0567] For example, if a user enters "I am interested in educational reform and working conditions," the server first gathers candidate information related to "educational reform" and "working conditions" from the internet. Based on this information, it performs clustering, analyzes the user's emotional state, and recommends the most suitable candidates based on the results.
[0568] As a concrete example, suppose a user accesses the system using their smartphone and enters, "I am interested in educational reform and labor rights." The sentiment engine analyzes the sentiment of this input, identifies candidates who would have a positive impact, and recommends advertisements and information related to those candidates to the user.
[0569] Examples of input prompts for a generative AI model:
[0570] Please generate examples of personalized ad recommendations based on user interests and emotions.
[0571] Input: I am interested in educational reform and labor rights.
[0572] In this way, users can more easily select the most suitable candidate based on their interests and emotional state, leading to better voting behavior in elections.
[0573] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0574] Step 1:
[0575] The server collects candidate information. Specifically, it uses web scraping techniques to obtain candidate profiles, policies, and past achievements from the internet. This involves sending web requests and parsing HTML to extract the necessary information. The input is web pages on the internet, and the output is a list of objects containing candidate information.
[0576] Step 2:
[0577] The server stores the collected data in a database. This database is a relational database designed to store candidate data in an easily organized format. The input is the candidate information obtained in step 1, and the output is the data recorded in the database.
[0578] Step 3:
[0579] The server analyzes data stored in the database using machine learning algorithms. Specifically, it uses a TF-IDF vectorizer to vectorize the policy content of candidates, and then inputs this vectorized data into the KMeans clustering algorithm to classify it into clusters. The input is the stored candidate information, and the output is the clustered data.
[0580] Step 4:
[0581] The server recommends suitable candidates to the user based on the clustering results. To recommend suitable candidates, an algorithm is used that matches the clustering results with the user's input information. The input consists of the clustering results and the user's input information, and the output is a list of candidates to recommend to the user.
[0582] Step 5:
[0583] The server has an emotion recognition engine that recognizes emotions from user input and adjusts recommendations based on the analysis results. The emotion recognition engine analyzes the user's reactions and input information when viewing candidate information and records their emotional state in a database. In this step, the input is the user's input information and reactions, and the output is the emotion score.
[0584] Step 6:
[0585] The terminal provides a means for users to log in and register with the system. Users enter their username and password to authenticate with the server. The input is the user's authentication information, and the output is the authentication success or failure status.
[0586] Step 7:
[0587] The terminal provides a means for the user to input information about their interests and priorities. This includes interfaces such as text boxes and checkboxes. The input is the user's interests and priorities, and the output is the user's input information sent to the server.
[0588] Step 8:
[0589] The server recommends appropriate candidates based on the user's interests and priorities, using clustering results and sentiment engine analysis. This process simultaneously considers the user's interests and emotional state. The input is the user's input information and sentiment score, and the output is a list of optimal candidates.
[0590] Step 9:
[0591] The device displays recommended candidate information to the user. When the user views the detailed information, their reaction is analyzed again by the sentiment engine, enabling more accurate recommendations. The input is a list of recommended candidates, and the output is the user's viewing reaction and the display of detailed information.
[0592] Examples of input prompts for a generative AI model:
[0593] Please generate examples of personalized ad recommendations based on user interests and emotions.
[0594] Input: I am interested in educational reform and labor rights.
[0595] This allows the overall processing flow to run smoothly, enabling the recommendation of the most suitable candidates and advertisements based on the user's interests and emotions.
[0596] 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 user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[0597] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). An example of data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0598] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart glasses 214.
[0599] [Third Embodiment]
[0600] Figure 5 shows an example of the configuration of the data processing system 310 according to the third embodiment.
[0601] As shown in Figure 5, the data processing system 310 includes a data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.
[0602] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0603] The headset terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a display 343. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and display 343 are also connected to the bus 52.
[0604] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0605] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0606] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0607] Figure 6 shows an example of the main functions of the data processing device 12 and the headset terminal 314. As shown in Figure 6, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0608] The specific processing program 56 is an example of a "program" relating to the technology of this 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.
[0609] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0610] In the headset terminal 314, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0611] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the headset terminal 314 will be referred to as the "terminal".
[0612] This invention relates to a system for collecting, analyzing, and recommending information on multiple candidates in order to solve the problem of users choosing who to vote for. This system mainly consists of a server, a terminal, and user interaction.
[0613] Server Processing
[0614] First, the server collects profiles, policies, and past achievements of multiple candidates from the internet. Specifically, the server sends HTTP requests to specific websites, parses the received HTML data, and extracts information about each candidate. The extracted information is stored in a database and used for later analysis.
[0615] Next, the server runs a machine learning algorithm using the stored data. Specifically, it uses a TF-IDF vectorizer to vectorize the candidates' policy content and then inputs this vectorized data into a clustering algorithm (e.g., KMeans clustering). This classifies the candidates into several clusters. The classification results are stored in a database and used for recommendations to users.
[0616] Terminal processing
[0617] When a user uses the system, they log in or register from their terminal. They enter a username and password for user authentication, and are authenticated by the server. During this process, the user gains permission to access the system.
[0618] User processing
[0619] Users provide information about their interests and priorities. The terminal prompts the user to input information about policies, social issues, etc., that they are interested in, and sends this information to the server. Based on this user information, the server recommends the most suitable candidates to the user from clustering results stored on the server.
[0620] Users can view information on recommended candidates and choose the one that best matches their interests. This is expected to make voting decisions easier for users and increase voter turnout.
[0621] Specific example
[0622] For example, let's assume that many young people are interested in "educational reform" and "improving working conditions." Based on these interests, the server analyzes the policies of candidates and identifies candidates with abundant information on educational reform and working conditions. Users who log in through their terminal and enter that they are interested in education and working conditions will be recommended candidates categorized into these clusters. As a result, users can quickly and easily obtain candidate information that suits them, which facilitates their voting decisions.
[0623] In this way, the present invention realizes a new election information provision system that encourages young people to vote and contributes to improving voter turnout in elections.
[0624] The following describes the processing flow.
[0625] Step 1:
[0626] The server collects data from the internet.
[0627] The server sends an HTTP request to the specified URL (e.g., a website containing information about a candidate). It parses the received HTML data and extracts the candidate's name, policies, background information, etc. The extracted information is compiled into a list and stored in the server's database.
[0628] Step 2:
[0629] The server analyzes the data using machine learning algorithms.
[0630] The server uses a TF-IDF (Term Frequency-Inverse Document Frequency) vectorizer to vectorize the stored data. Next, the vectorized data is fed into a clustering algorithm (e.g., KMeans clustering) to classify each candidate into a specific cluster. The results are then stored in a database.
[0631] Step 3:
[0632] The terminal performs user authentication.
[0633] Users access the system from their terminals to log in or register. The user enters their username and password, which the terminal sends to the server. The server verifies this against the database, and if the user is correctly authenticated, grants access.
[0634] Step 4:
[0635] The device collects the user's interests.
[0636] Users input information about their interests and priorities, such as policies or social issues they are interested in. The device then sends this information to the server.
[0637] Step 5:
[0638] The server recommends suitable candidates to the user.
[0639] The server references the candidate data clustered in the previous step based on the user's interests. It identifies candidates belonging to clusters that match the user's interests and sends that information to the terminal.
[0640] Step 6:
[0641] The device displays recommended candidates to the user.
[0642] The user's device displays information about recommended candidates received from the server. Based on this information, the user can select the candidate they believe is best suited to them.
[0643] Step 7:
[0644] Users consider the recommended candidates.
[0645] Users can view detailed information about recommended candidates and consider which candidate best matches their interests. This makes it easier for them to choose who to vote for.
[0646] Through these steps, users can easily obtain information on suitable candidates based on their interests, resulting in a system that is expected to increase voter turnout in elections.
[0647] (Example 1)
[0648] Next, we will describe Example 1. 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."
[0649] Traditionally, it has been difficult for users to select the right candidate in an election, and gathering and comparing information on numerous candidates has been extremely cumbersome. As a result, users have been unable to select a suitable candidate based on their interests, leading to a decline in voter turnout. This invention aims to solve this problem of user voter selection and improve voter turnout.
[0650] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0651] In this invention, the server includes means for collecting profiles, policies, and past performance of multiple candidates; means for storing the collected data in a database; means for analyzing the stored data using a machine learning algorithm and clustering candidates based on the user's interests; means for recommending appropriate candidates to the user based on the clustering results; means for the user to log in and register with the system; means for collecting information about the user's interests and priorities and recommending appropriate candidates based on this; means for vectorizing candidate information and applying the clustering algorithm; and means for storing the clustering results after application in a database and using them for recommendations to the user. As a result, users can quickly and easily obtain candidate information that best matches their interests, which is expected to facilitate voting decisions and increase voter turnout.
[0652] A "candidate" refers to a person running for election, and includes information such as their profile, policies, and past achievements.
[0653] A "profile" includes information such as the candidate's personal information, background, education, and work history.
[0654] "Policy" refers to the content of the promises, plans, and specific measures presented by a candidate.
[0655] "Track record" refers to the achievements, accomplishments, and relevant work experience that the candidate has accomplished in the past.
[0656] A "database" refers to an information system used to systematically store and manage information such as the profiles, policies, and achievements of multiple candidates.
[0657] A "machine learning algorithm" refers to computational methods and models used to analyze large amounts of data and perform pattern recognition and prediction.
[0658] "Clustering" refers to a technique that uses machine learning algorithms to classify data into several groups (clusters).
[0659] "Recommendation" refers to the act of selecting and presenting the most appropriate candidate based on the user's interests.
[0660] "Logging in" refers to the act of a user entering authentication information in order to be granted access to a system.
[0661] "Interests" refer to policies, social issues, and personal priorities that users consider important.
[0662] "Vectorization" refers to a technique that converts text data into numerical data and transforms it into a format suitable for machine learning algorithms.
[0663] A "clustering algorithm" refers to a specific computational method used to classify data into clusters.
[0664] This invention is a system built to solve the problem of users choosing who to vote for in an election, and its implementation requires interaction between a server, a terminal, and the user.
[0665] Server Processing
[0666] The server first collects candidate profiles, policies, and past achievements from multiple sources on the internet. This collection is done by sending HTTP requests using the Python "Requests" library to retrieve data from web pages. The retrieved HTML data is then parsed using the "BeautifulSoup" library to extract the necessary information. This information is stored in a "MySQL" database.
[0667] Next, the server analyzes the stored data using machine learning algorithms. Specifically, it uses the "TF-IDF vectorizer" from "scikit-learn" to quantify the candidates' policy content, and then inputs this quantified data into the "KMeans clustering algorithm" to perform clustering. The clustering results are then stored again in the database and used for recommendations to users.
[0668] Terminal processing
[0669] When a user uses the system, they log in or register from their terminal. The user enters a username and password, which are authenticated by the server. The "OAuth 2.0" protocol is used for authentication. Through this process, the user gains permission to access the system.
[0670] User processing
[0671] Users input information about their interests and priorities through a terminal. The terminal receives the input from the user and sends that information to the server. Based on this user information, the server recommends the most suitable candidates to the user from the stored clustering results.
[0672] Information about recommended candidates is displayed on the device. Users can view this information and select the candidate that best matches their interests.
[0673] Specific example
[0674] For example, suppose many young users are interested in "educational reform" or "improving working conditions." In this case, the server analyzes candidates' policies based on these interests and identifies suitable candidates. When a user logs in through their device and enters that they are interested in "educational reform" and "improving working conditions," the server recommends clustered candidates based on this information. As a result, users can quickly and easily obtain information on candidates that best match their interests.
[0675] Examples of prompts include, "Tell me which candidates are proactive in educational reform," and "Which candidates are committed to improving working conditions?"
[0676] In this way, the present invention is a system that enables users to more easily select the appropriate candidate to vote for, thereby contributing to an increase in voter turnout in elections.
[0677] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0678] Step 1: Collecting candidate data
[0679] The server collects profiles, policies, and past achievements of multiple candidates from the internet. The server uses the Python "Requests" library to send HTTP requests to specific websites, and then parses the received HTML data with "BeautifulSoup" to extract information for each candidate. In this step, the input is the candidate's webpage URL, and the output is the extracted candidate's profile, policies, and past achievements. For example, data is retrieved using "Requests.get('https: / / example.com / candidate_profiles')" and then parsed using "BeautifulSoup(response.text, 'html.parser')".
[0680] Step 2: Saving to the database
[0681] The server saves the extracted candidate information to a MySQL database. The server connects to the database using "mysql.connector" and executes SQL queries such as "INSERT INTO candidates (name, policy, experience) VALUES (%s, %s, %s)". The input is the candidate's profile, policy, and experience, and the output is the data stored in the database.
[0682] Step 3: Data vectorization
[0683] The server converts the stored candidate data into numerical data in preparation for analysis using machine learning algorithms. Specifically, it uses the "TF-IDF vectorizer" from "scikit-learn" to vectorize the candidates' policy text. The input is the candidates' policy text, and the output is a "TF-IDF" vector. For example, it is executed as "TfidfVectorizer().fit_transform(policies)".
[0684] Step 4: Clustering
[0685] The server inputs the vectorized data into the KMeans clustering algorithm to classify candidates into several groups. The input is a TF-IDF vector, and the output is the clustering result. The server uses "from sklearn.cluster import KMeans" and performs clustering with "KMeans(n_clusters=5).fit(vectors)".
[0686] Step 5: Saving the clustering results
[0687] The clustering results are saved to a database and prepared for use in recommending to users. The input is the clustering results, and the output is the clustering information saved in the database. The server saves this information using an SQL query such as "UPDATE candidates SET cluster_id = %s WHERE id = %s".
[0688] Step 6: User Authentication
[0689] When a user uses the system, they log in or register from their device. The device prompts the user for a username and password and sends this data to the server. The input is the username and password, and the output is an authentication token. The server performs authentication using the "OAuth 2.0" protocol.
[0690] Step 7: Enter your concerns
[0691] The user inputs their interests and priorities through the terminal. The terminal receives the user input and sends that information to the server. The input is the user's interests and priorities, and the output is the user information sent to the server. For example, the user might input information such as "Policies of interest: Improving working conditions."
[0692] Step 8: Candidate Recommendation
[0693] The server recommends appropriate candidates from stored clustering results based on the user's interests. The input is the user's interests, and the output is information about the recommended candidates. The server extracts appropriate candidates by executing SQL queries such as "SELECT FROM candidates WHERE cluster_id = %s".
[0694] Step 9: Information Viewing
[0695] The user views information on recommended candidates displayed on their device. The input is information on the recommended candidates, and the output is the candidate's profile and policy information that the user views. Based on this information, the user can select the candidate that best matches their interests. Examples of prompts include, "Tell me about candidates who are proactive in educational reform," and "Which candidates are focused on improving working conditions?"
[0696] In this way, the present invention realizes a system that allows users to quickly and easily obtain information on candidates that best match their interests, thereby facilitating their voting decisions.
[0697] (Application Example 1)
[0698] Next, we will explain Application Example 1. In the following explanation, 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."
[0699] Traditional election information systems are only available online and are not designed for use in physical stores. Therefore, there is a lack of means to provide candidate information to users visiting physical stores. Furthermore, there are few ways for users to directly and interactively obtain candidate information through devices. As a result, access to election information is limited, making it difficult to contribute to increasing voter turnout.
[0700] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0701] In this invention, the server includes means for collecting the profiles, policies, and past performance of multiple candidates; means for storing the collected data in a database; means for analyzing the stored data using a machine learning algorithm and clustering candidates based on the user's interests; means for recommending appropriate candidates to the user based on the clustering results; means for the user to log in and register with the system; means for the user to input their interests via an interactive display; and means for providing candidate information to the user in a physical store. This makes it possible for users to interactively obtain candidate information and select appropriate candidates even in a physical store.
[0702] A "profile" is data about a candidate's basic personal information and background.
[0703] "Policies" refer to information about the specific action plans and policies that candidates put forward as their campaign promises.
[0704] "Past performance" refers to data on the candidate's achievements and results to date.
[0705] "Means of collection" refers to the methods and technologies used to gather necessary information from the internet, databases, and other sources.
[0706] A "database" is a system for comprehensively managing and storing collected data.
[0707] A "machine learning algorithm" is an algorithm used to analyze collected data and find meaningful patterns and relationships.
[0708] Clustering is the process of classifying data into several groups.
[0709] An "interactive display" refers to a display device that allows users to directly operate and input / output data.
[0710] A "physical store" is a location where sales and services are provided in a physical place; it is a real store, not an online one.
[0711] "Recommendation methods" refer to the methods and technologies used to select and present appropriate candidates based on the user's interests.
[0712] The system implementing this invention is realized through a configuration in which a server, terminals, and users interact. The roles of each component are described in detail below.
[0713] Server Processing
[0714] The server first collects profiles, policies, and past achievements of multiple candidates from the internet. It sends HTTP requests to specific websites and parses the received HTML data to extract information about each candidate. This analysis uses the Python requests library and BeautifulSoup. The collected data is stored in a database for later analysis.
[0715] Next, the server runs a machine learning algorithm using the stored data. Specifically, it uses TfidfVectorizer to vectorize the candidates' policy content and then inputs this vectorized data into the KMeans clustering algorithm. This classifies candidates with similar policies into several clusters. The classification results are stored in a database and used for recommendations to users.
[0716] Terminal processing
[0717] When a user uses the system, they must first log in or register from their terminal. They enter a username and password for user authentication, and the authentication is performed by the server. During this process, the user gains permission to access the system.
[0718] Subsequently, users provide information on policies and social issues of interest via interactive displays or tablet devices installed in the store. These interactive displays are equipped with an interface for users to directly input information. The information entered from the device is sent to a server, initiating the recommendation process.
[0719] User processing
[0720] Users input their interests using an interactive input screen displayed on the screen. When they enter information about policies or social issues they are interested in, that information is sent to the server. Based on the input information, the server recommends the most suitable candidates from stored clustering results.
[0721] Specifically, the server vectorizes the user's interests and compares them to already clustered data to identify appropriate candidates. Recommended candidates are displayed on the screen, allowing the user to browse the information and select the candidate that best matches their interests. This interactive process makes it easier for users to make voting decisions.
[0722] Below are examples of prompt messages for young people interested in educational reform.
[0723] Example of a prompt:
[0724] "I'm interested in educational reform."
[0725] "I'd like to know about policies regarding environmental issues and working conditions."
[0726] In this way, a system is realized that allows users to interactively obtain candidate information and select the appropriate candidate even within a physical store.
[0727] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0728] Step 1:
[0729] The server collects profiles, policies, and past achievements of multiple candidates from the internet. Specifically, it uses the requests library to send HTTP requests to specific websites and parses the received HTML data using the BeautifulSoup library. The input here is the URL of the website where the candidate information is posted, and the output is a dataset containing each candidate's profile, policies, and past achievements.
[0730] Step 2:
[0731] The server stores the collected data in a database. This database centrally manages information on each candidate and is used for later analysis. The input here is the candidate dataset collected in step 1, and the output is the well-formed data stored in the database.
[0732] Step 3:
[0733] The server executes machine learning algorithms using the stored data. Specifically, it vectorizes the collected policy information using TfidfVectorizer and performs KMeans clustering. The input is the policy data from the stored database, and the output is information about candidates classified by the clustering.
[0734] Step 4:
[0735] Users log in to or register with the system using a terminal. A username and password are entered for user authentication, which is then authenticated by the server. The input here represents the user's authentication information, and the output represents the granting of access privileges to the system.
[0736] Step 5:
[0737] Users provide information on policies and social issues of interest using an interactive display. This display includes an interface for direct user input. The input here is information about the user's interests, and the output is the transmission of this information to the server.
[0738] Step 6:
[0739] The server recommends the most suitable candidates based on the information submitted by the user and stored clustering results. Specifically, it vectorizes the user's input information using TfidfVectorizer and identifies the most suitable candidates based on existing clusters. The input is information about the user's interests, and the output is a list of recommended candidates.
[0740] Step 7:
[0741] The user views information about recommended candidates via the device's interactive display. The input here is a list of recommended candidates received from the server, and the output is the candidate information viewed by the user.
[0742] By explaining the data processing, data calculations, and specific operations performed at each step, the processing flow of this system can be clearly understood.
[0743] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0744] This invention is a system that collects and analyzes candidate information and recommends appropriate candidates to help users make more informed votes in elections. This system not only uses a machine learning algorithm based on the selected candidate information to make recommendations based on the user's interests, but also incorporates an emotion engine that recognizes the user's emotions.
[0745] Server Processing
[0746] The server collects data from the internet. Specifically, it uses scraping techniques to collect profiles, policies, and past achievements of multiple candidates from specific websites. This information is then extracted, organized, and stored in a database.
[0747] The server uses the stored data to execute machine learning algorithms. Specifically, it uses a TF-IDF vectorizer to vectorize the policy content of candidates, and then inputs this vectorized data into the KMeans clustering algorithm to classify it into clusters. The classification results are stored in a database and used for recommendations to users.
[0748] Furthermore, the server is equipped with an emotion engine to recognize emotions from user input. The emotion engine analyzes the user's reactions and input information when viewing candidate information and records their emotional state in a database.
[0749] Terminal processing
[0750] When a user accesses the system, they first log in or register from their terminal. During this process, the user enters their username and password and undergoes authentication. The server then verifies this against the database and grants access.
[0751] Next, the user enters information about their interests and priorities. This information concerns policies and social issues and is sent from the device to the server.
[0752] User processing
[0753] The server recommends appropriate candidates based on the clustering results derived from the user's input information. Simultaneously, the sentiment engine is activated to analyze the user's emotions. When the user views detailed information about recommended candidates, the sentiment engine analyzes their reaction and stores the results in a database. This enables recommendations that take the user's emotional state into account.
[0754] Specific example
[0755] For example, let's assume that many young people are interested in "educational reform" and "improving working conditions." The server collects candidate information focused on "educational reform" and "improving working conditions" from the internet, analyzes it, and stores it in a database. When a user accesses the system and inputs that they are interested in educational reform or working conditions, the server recommends candidates that match based on clustering results and sentiment engine analysis.
[0756] Users can view this recommendation information through their devices and select the most suitable candidates based on their own feelings and interests. Because this recommendation process takes into account the user's interests and emotional state, it enables more accurate and personalized recommendations.
[0757] Through the above process, users will be able to more easily select the most suitable candidate based on their own emotions and interests, and it is expected that voter turnout will increase.
[0758] The following describes the processing flow.
[0759] Step 1:
[0760] The server collects data from the internet.
[0761] The server sends an HTTP request to a specific website and receives HTML data containing profiles, policies, and past achievements of multiple candidates. This HTML data is then parsed to extract candidate names, policies, background information, and other relevant details. The extracted information is organized into a list format and stored in a database.
[0762] Step 2:
[0763] The server analyzes the data using machine learning algorithms.
[0764] The server uses the stored data to vectorize the candidates' policy content using a TF-IDF vectorizer. The vectorized data is then input into the KMeans clustering algorithm to classify each candidate into a specific cluster. The clustering results are stored in a database and used for subsequent user recommendations.
[0765] Step 3:
[0766] The terminal performs user authentication.
[0767] The user accesses the system from their terminal and enters their username and password to log in or register. The terminal sends this authentication information to the server, which then verifies it against the database. If authentication is successful, the user gains permission to access the system.
[0768] Step 4:
[0769] The device collects the user's interests.
[0770] Users input information about policies and social issues they are interested in. The device collects this information and sends it to the server.
[0771] Step 5:
[0772] The server recommends suitable candidates to the user.
[0773] Based on user input, the server identifies appropriate candidates from stored clustering results and creates a recommendation list. During this process, an emotion engine is activated to analyze user emotions from input and site behavior patterns, and considers emotional states when selecting candidates.
[0774] Step 6:
[0775] The device displays recommended candidates to the user.
[0776] The terminal displays a list of recommended candidates received from the server to the user. Based on this, the user can view detailed information about candidates that match their interests.
[0777] Step 7:
[0778] Users consider the recommended candidates.
[0779] Users view detailed information on recommended candidates and, while also considering their real-time emotional state analyzed by the emotion engine, select the candidate they believe is best suited to them. The emotion engine analyzes the user's responses and stores the results in a database. This information will be used to improve future recommendations.
[0780] These steps will enable users to easily obtain relevant candidate information based on their interests and emotional state, resulting in a system that is expected to increase voter turnout.
[0781] (Example 2)
[0782] Next, we will describe Example 2. 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."
[0783] Traditional election systems have struggled to efficiently collect and analyze candidate information and provide personalized recommendations based on users' interests and sentiments. As a result, users are overwhelmed by the sheer volume of information, making it difficult to select the best candidate and potentially leading to lower voter turnout.
[0784] The identification processing performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for collecting the profiles, policies, and past performance of multiple candidates; means for storing the collected data in a database; means for analyzing the stored data using a machine learning algorithm and clustering candidates based on the user's interests; means for recommending appropriate candidates to the user based on the clustering results; means for the user to log in and register with the system; and means for analyzing the user's reaction when viewing detailed information of recommended candidates using an emotion engine and storing the results in a database. This makes it possible to recommend appropriate candidates based on the user's interests and emotions.
[0785] - "Means of collection" refers to the means of obtaining a candidate's profile, policies, and past performance from the internet using specific methods (e.g., web scraping techniques).
[0786] "Means of storing in a database" refers to storage devices and systems for structuring, efficiently managing, and accessing collected candidate information.
[0787] A "machine learning algorithm" is a computational method used to analyze collected data, identify specific patterns and relationships, and train models.
[0788] "Clustering methods" refer to techniques that use machine learning algorithms to group data that have similar characteristics.
[0789] "Means for recommending appropriate candidates" refers to methods for presenting the candidate that best matches the user, based on clustering results and user input information.
[0790] An "emotion engine" is a technology that analyzes user responses and input information to automatically recognize psychological states and emotions.
[0791] This invention is a system that collects and analyzes candidate information and recommends suitable candidates to help users make more informed votes in elections. This system includes the following configuration and processing procedures.
[0792] Server Processing
[0793] The server collects candidate information from specific websites (e.g., election pamphlets and candidate websites). Specifically, it uses scraping techniques (e.g., BeautifulSoup or Scrapy) to obtain profiles, policies, and past achievements of multiple candidates. This collected information is stored in a database.
[0794] Using the stored data, the server executes machine learning algorithms. First, it uses a TF-IDF vectorizer to vectorize the candidates' policy content. This vectorized data is then input into the KMeans clustering algorithm to classify the candidates into clusters. The categorized information is also stored in the database and used for recommendations.
[0795] Furthermore, the server is equipped with an emotion engine that recognizes user emotions. The emotion engine analyzes the user's reactions and text input when viewing candidate information and records their emotional state in a database. This engine uses emotion analysis libraries (such as TextBlob or VADER).
[0796] Terminal processing
[0797] When a user accesses the system, they first log in or register from their terminal. Here, the user enters their username and password, and the server verifies this against the database to grant access.
[0798] After logging in, users enter information about their interests and priorities. Examples include information on policies and social issues such as educational reform and improving working conditions. This information is sent from the device to the server.
[0799] User processing
[0800] The server recommends candidates by combining clustering results and sentiment engine analysis results based on the user's input information. Detailed information about the recommended candidates is displayed on the terminal for the user to view. At this time, the sentiment engine analyzes the user's response, and the results are also stored in the database. This ensures that future recommendations take the user's emotional state into account.
[0801] Specific example
[0802] For example, if many young people are interested in "educational reform" or "improving working conditions," the server collects candidate information related to these topics from the internet and stores it in a database. When a user accesses the system and enters that they are interested in educational reform or working conditions, the server recommends matching candidates based on clustering results and a sentiment engine.
[0803] Users can view recommended candidate information on their device and select the best candidate based on their own feelings and interests. The following is an example of a prompt message.
[0804] "I am interested in educational reform and working conditions. Please recommend suitable candidates based on these interests."
[0805] With this configuration, users can find the most suitable candidate based on their interests and feelings, which is expected to increase voter turnout in elections.
[0806] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0807] Step 1:
[0808] Data collection
[0809] The server collects candidate information from specific websites (e.g., election pamphlets and candidate websites) using scraping techniques (e.g., BeautifulSoup or Scrapy). Specifically, it extracts data such as candidate profiles, policies, and past achievements. The input is the URL of the website, and the output is a list of candidate information. This list is stored in a database.
[0810] Step 2:
[0811] Data storage
[0812] The server stores the collected candidate information in a database. Specifically, it stores the information in a structured format (e.g., JSON or SQL). The input is a list of candidate information, and the output is the candidate information stored in the database. This allows for efficient information management and facilitates searching and access.
[0813] Step 3:
[0814] Data vectorization
[0815] The server uses a TF-IDF vectorizer to vectorize the policy content of candidates stored in the database. This is a process of analyzing policy documents and quantifying the importance of each word. The input is the text data of the policy content, and the output is vectorized data. This makes the policy content numerically comparable.
[0816] Step 4:
[0817] Clustering
[0818] The server uses the vectorized data to run the KMeans clustering algorithm and classify candidates into clusters. This groups candidates with similar policies. The input is vectorized data, and the output is candidate information classified into clusters. This cluster information is also stored in the database.
[0819] Step 5:
[0820] User Authentication
[0821] The terminal handles user login and registration for accessing the system. The user enters a username and password, which the server verifies against the database. The input is the user's authentication information, and the output is the access permission status. Upon successful authentication, the user can access the system.
[0822] Step 6:
[0823] Enter your interests
[0824] The terminal provides an interface for users to input information about their interests and priorities. Users input information such as educational reform or improvements to working conditions. The input is information about the user's interests, and the output is interest data sent to the server. This data is used for analysis on the server.
[0825] Step 7:
[0826] Candidate Recommendation
[0827] The server recommends appropriate candidates by combining clustering results and sentiment engine analysis results based on user input. Specifically, it selects and displays candidates from clusters that match the user's interests. The input is the user's interest data and clustering results, and the output is a list of recommended candidates. This list is displayed on the terminal.
[0828] Step 8:
[0829] Emotion analysis
[0830] The server uses an emotion engine to analyze a user's reaction when they view recommended candidate information. The emotion engine analyzes text and behavioral data to recognize the user's emotional state. The input is the user's reaction data, and the output is the result of the emotional state analysis. This analysis result is stored in a database and used in subsequent recommendation processes.
[0831] Step 9:
[0832] Information update
[0833] The server updates its database and machine learning model based on newly collected data and user sentiment analysis results. This continuously improves the accuracy of recommendations. The input is new data and sentiment analysis results, and the output is the updated database and machine learning model.
[0834] As a result, this system enables the recommendation of the most suitable candidates based on the user's interests and emotions.
[0835] (Application Example 2)
[0836] Next, we will explain application example 2. In the following explanation, 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."
[0837] Traditional election candidate recommendation systems only recommend candidates based on user interests, without considering user emotional states, which leads to a decrease in recommendation accuracy. Similarly, traditional advertising systems struggle to provide personalized ads that take user emotions into account, resulting in underutilized advertising effectiveness.
[0838] The identification processing performed by the identification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for collecting the profiles, policies, and past performance of multiple candidates; means for storing the collected data in a database; means for analyzing the stored data using a machine learning algorithm and clustering candidates based on the user's interests; means for recommending appropriate candidates to the user based on the clustering results; means having an emotion recognition engine that recognizes emotions from the user's input information and adjusts the recommendations based on the analysis results; and means for the user to log in and register with the system. This makes it possible to recommend more personalized candidates and advertisements that simultaneously consider the user's interests and emotional state.
[0839] A "profile" is detailed information about a candidate, such as their background, qualifications, and achievements.
[0840] "Policies" refer to the promises, plans, opinions, and suggestions on social issues proposed by candidates.
[0841] "Past achievements" refers to the results and accomplishments that the candidate has achieved in their previous duties and other activities.
[0842] A "database" is a collection of information that is systematically stored and made searchable and analyzeable as needed.
[0843] A "machine learning algorithm" refers to a series of methods in which a computer program learns patterns from data and performs predictions and classifications based on those patterns.
[0844] Clustering is an analytical technique that classifies data into groups (clusters) based on similarity.
[0845] An "emotion recognition engine" is a program that analyzes user input and responses to recognize emotions and their state.
[0846] "Login" refers to the authentication process that allows a user to access a system.
[0847] "Registration" refers to the process by which a user creates a new account in the system and provides the necessary information.
[0848] This invention is a system that collects and analyzes candidate information and recommends suitable candidates to help users make more informed votes in elections. Because this system incorporates an emotion engine that recognizes user emotions, it enables personalized recommendations.
[0849] First, the server collects candidate profiles, policies, and past achievements from the internet. This collection is done using web scraping techniques. The collected data is stored in a database. The server then analyzes the data using machine learning algorithms. Specifically, it uses a TF-IDF vectorizer to vectorize the candidate's policy content, and then inputs this vectorized data into the KMeans clustering algorithm to classify it into clusters. The classification results are stored in the database and used for recommending candidates to users.
[0850] Next, the server has an emotion engine that recognizes emotions from user input information. This emotion engine analyzes the user's reactions and input information when viewing candidate information and records their emotional state in a database. This makes it possible to make recommendations that take the user's emotional state into account.
[0851] Users access the system using their smartphones and first log in or register. This authentication process involves entering a username and password. Next, users enter information about their interests and priorities, which is sent to the server. Based on this input, the server recommends suitable candidates using clustering results and sentiment engine analysis.
[0852] The user's reaction to the candidate information displayed on their device is also analyzed by the sentiment engine, and the results are stored in a database. This makes it possible to recommend even more suitable candidates when the user accesses the site again.
[0853] For example, if a user enters "I am interested in educational reform and working conditions," the server first gathers candidate information related to "educational reform" and "working conditions" from the internet. Based on this information, it performs clustering, analyzes the user's emotional state, and recommends the most suitable candidates based on the results.
[0854] As a concrete example, suppose a user accesses the system using their smartphone and enters, "I am interested in educational reform and labor rights." The sentiment engine analyzes the sentiment of this input, identifies candidates who would have a positive impact, and recommends advertisements and information related to those candidates to the user.
[0855] Examples of input prompts for a generative AI model:
[0856] Please generate examples of personalized ad recommendations based on user interests and emotions.
[0857] Input: I am interested in educational reform and labor rights.
[0858] In this way, users can more easily select the most suitable candidate based on their interests and emotional state, leading to better voting behavior in elections.
[0859] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0860] Step 1:
[0861] The server collects candidate information. Specifically, it uses web scraping techniques to obtain candidate profiles, policies, and past achievements from the internet. This involves sending web requests and parsing HTML to extract the necessary information. The input is web pages on the internet, and the output is a list of objects containing candidate information.
[0862] Step 2:
[0863] The server stores the collected data in a database. This database is a relational database designed to store candidate data in an easily organized format. The input is the candidate information obtained in step 1, and the output is the data recorded in the database.
[0864] Step 3:
[0865] The server analyzes data stored in the database using machine learning algorithms. Specifically, it uses a TF-IDF vectorizer to vectorize the policy content of candidates, and then inputs this vectorized data into the KMeans clustering algorithm to classify it into clusters. The input is the stored candidate information, and the output is the clustered data.
[0866] Step 4:
[0867] The server recommends suitable candidates to the user based on the clustering results. To recommend suitable candidates, an algorithm is used that matches the clustering results with the user's input information. The input consists of the clustering results and the user's input information, and the output is a list of candidates to recommend to the user.
[0868] Step 5:
[0869] The server has an emotion recognition engine that recognizes emotions from user input and adjusts recommendations based on the analysis results. The emotion recognition engine analyzes the user's reactions and input information when viewing candidate information and records their emotional state in a database. In this step, the input is the user's input information and reactions, and the output is the emotion score.
[0870] Step 6:
[0871] The terminal provides a means for users to log in and register with the system. Users enter their username and password to authenticate with the server. The input is the user's authentication information, and the output is the authentication success or failure status.
[0872] Step 7:
[0873] The terminal provides a means for the user to input information about their interests and priorities. This includes interfaces such as text boxes and checkboxes. The input is the user's interests and priorities, and the output is the user's input information sent to the server.
[0874] Step 8:
[0875] The server recommends appropriate candidates based on the user's interests and priorities, using clustering results and sentiment engine analysis. This process simultaneously considers the user's interests and emotional state. The input is the user's input information and sentiment score, and the output is a list of optimal candidates.
[0876] Step 9:
[0877] The device displays recommended candidate information to the user. When the user views the detailed information, their reaction is analyzed again by the sentiment engine, enabling more accurate recommendations. The input is a list of recommended candidates, and the output is the user's viewing reaction and the display of detailed information.
[0878] Examples of input prompts for a generative AI model:
[0879] Please generate examples of personalized ad recommendations based on user interests and emotions.
[0880] Input: I am interested in educational reform and labor rights.
[0881] This allows the overall processing flow to run smoothly, enabling the recommendation of the most suitable candidates and advertisements based on the user's interests and emotions.
[0882] The specific processing unit 290 transmits the result of the specific processing to the headset terminal 314. In the headset terminal 314, the control unit 46A causes the speaker 240 and display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[0883] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). An example of data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0884] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and specific processing may also be performed by the headset terminal 314.
[0885] [Fourth Embodiment]
[0886] Figure 7 shows an example of the configuration of the data processing system 410 according to the fourth embodiment.
[0887] As shown in Figure 7, the 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.
[0888] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0889] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a controlled object 443. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and controlled object 443 are also connected to the bus 52.
[0890] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0891] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0892] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0893] The controlled object 443 includes a display device, LEDs in the eyes, and motors that drive 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 robot 414's emotions can be expressed by controlling these motors. Furthermore, the robot 414's facial expressions can also be expressed by controlling the illumination state of the LEDs in its eyes.
[0894] Figure 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Figure 8, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0895] The specific processing program 56 is an example of a "program" relating to the technology of this 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.
[0896] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0897] In robot 414, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0898] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0899] This invention relates to a system for collecting, analyzing, and recommending information on multiple candidates in order to solve the problem of users choosing who to vote for. This system mainly consists of a server, a terminal, and user interaction.
[0900] Server Processing
[0901] First, the server collects profiles, policies, and past achievements of multiple candidates from the internet. Specifically, the server sends HTTP requests to specific websites, parses the received HTML data, and extracts information about each candidate. The extracted information is stored in a database and used for later analysis.
[0902] Next, the server runs a machine learning algorithm using the stored data. Specifically, it uses a TF-IDF vectorizer to vectorize the candidates' policy content and then inputs this vectorized data into a clustering algorithm (e.g., KMeans clustering). This classifies the candidates into several clusters. The classification results are stored in a database and used for recommendations to users.
[0903] Terminal processing
[0904] When a user uses the system, they log in or register from their terminal. They enter a username and password for user authentication, and are authenticated by the server. During this process, the user gains permission to access the system.
[0905] User processing
[0906] Users provide information about their interests and priorities. The terminal prompts the user to input information about policies, social issues, etc., that they are interested in, and sends this information to the server. Based on this user information, the server recommends the most suitable candidates to the user from clustering results stored on the server.
[0907] Users can view information on recommended candidates and choose the one that best matches their interests. This is expected to make voting decisions easier for users and increase voter turnout.
[0908] Specific example
[0909] For example, let's assume that many young people are interested in "educational reform" and "improving working conditions." Based on these interests, the server analyzes the policies of candidates and identifies candidates with abundant information on educational reform and working conditions. Users who log in through their terminal and enter that they are interested in education and working conditions will be recommended candidates categorized into these clusters. As a result, users can quickly and easily obtain candidate information that suits them, which facilitates their voting decisions.
[0910] In this way, the present invention realizes a new election information provision system that encourages young people to vote and contributes to improving voter turnout in elections.
[0911] The following describes the processing flow.
[0912] Step 1:
[0913] The server collects data from the internet.
[0914] The server sends an HTTP request to the specified URL (e.g., a website containing information about a candidate). It parses the received HTML data and extracts the candidate's name, policies, background information, etc. The extracted information is compiled into a list and stored in the server's database.
[0915] Step 2:
[0916] The server analyzes the data using machine learning algorithms.
[0917] The server uses a TF-IDF (Term Frequency-Inverse Document Frequency) vectorizer to vectorize the stored data. Next, the vectorized data is fed into a clustering algorithm (e.g., KMeans clustering) to classify each candidate into a specific cluster. The results are then stored in a database.
[0918] Step 3:
[0919] The terminal performs user authentication.
[0920] Users access the system from their terminals to log in or register. The user enters their username and password, which the terminal sends to the server. The server verifies this against the database, and if the user is correctly authenticated, grants access.
[0921] Step 4:
[0922] The device collects the user's interests.
[0923] Users input information about their interests and priorities, such as policies or social issues they are interested in. The device then sends this information to the server.
[0924] Step 5:
[0925] The server recommends suitable candidates to the user.
[0926] The server references the candidate data clustered in the previous step based on the user's interests. It identifies candidates belonging to clusters that match the user's interests and sends that information to the terminal.
[0927] Step 6:
[0928] The device displays recommended candidates to the user.
[0929] The user's device displays information about recommended candidates received from the server. Based on this information, the user can select the candidate they believe is best suited to them.
[0930] Step 7:
[0931] Users consider the recommended candidates.
[0932] Users can view detailed information about recommended candidates and consider which candidate best matches their interests. This makes it easier for them to choose who to vote for.
[0933] Through these steps, users can easily obtain information on suitable candidates based on their interests, resulting in a system that is expected to increase voter turnout in elections.
[0934] (Example 1)
[0935] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0936] Traditionally, it has been difficult for users to select the right candidate in an election, and gathering and comparing information on numerous candidates has been extremely cumbersome. As a result, users have been unable to select a suitable candidate based on their interests, leading to a decline in voter turnout. This invention aims to solve this problem of user voter selection and improve voter turnout.
[0937] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0938] In this invention, the server includes means for collecting profiles, policies, and past performance of multiple candidates; means for storing the collected data in a database; means for analyzing the stored data using a machine learning algorithm and clustering candidates based on the user's interests; means for recommending appropriate candidates to the user based on the clustering results; means for the user to log in and register with the system; means for collecting information about the user's interests and priorities and recommending appropriate candidates based on this; means for vectorizing candidate information and applying the clustering algorithm; and means for storing the clustering results after application in a database and using them for recommendations to the user. As a result, users can quickly and easily obtain candidate information that best matches their interests, which is expected to facilitate voting decisions and increase voter turnout.
[0939] A "candidate" refers to a person running for election, and includes information such as their profile, policies, and past achievements.
[0940] A "profile" includes information such as the candidate's personal information, background, education, and work history.
[0941] "Policy" refers to the content of the promises, plans, and specific measures presented by a candidate.
[0942] "Track record" refers to the achievements, accomplishments, and relevant work experience that the candidate has accomplished in the past.
[0943] A "database" refers to an information system used to systematically store and manage information such as the profiles, policies, and achievements of multiple candidates.
[0944] A "machine learning algorithm" refers to computational methods and models used to analyze large amounts of data and perform pattern recognition and prediction.
[0945] "Clustering" refers to a technique that uses machine learning algorithms to classify data into several groups (clusters).
[0946] "Recommendation" refers to the act of selecting and presenting the most appropriate candidate based on the user's interests.
[0947] "Logging in" refers to the act of a user entering authentication information in order to be granted access to a system.
[0948] "Interests" refer to policies, social issues, and personal priorities that users consider important.
[0949] "Vectorization" refers to a technique that converts text data into numerical data and transforms it into a format suitable for machine learning algorithms.
[0950] A "clustering algorithm" refers to a specific computational method used to classify data into clusters.
[0951] This invention is a system built to solve the problem of users choosing who to vote for in an election, and its implementation requires interaction between a server, a terminal, and the user.
[0952] Server Processing
[0953] The server first collects candidate profiles, policies, and past achievements from multiple sources on the internet. This collection is done by sending HTTP requests using the Python "Requests" library to retrieve data from web pages. The retrieved HTML data is then parsed using the "BeautifulSoup" library to extract the necessary information. This information is stored in a "MySQL" database.
[0954] Next, the server analyzes the stored data using machine learning algorithms. Specifically, it uses the "TF-IDF vectorizer" from "scikit-learn" to quantify the candidates' policy content, and then inputs this quantified data into the "KMeans clustering algorithm" to perform clustering. The clustering results are then stored again in the database and used for recommendations to users.
[0955] Terminal processing
[0956] When a user uses the system, they log in or register from their terminal. The user enters a username and password, which are authenticated by the server. The "OAuth 2.0" protocol is used for authentication. Through this process, the user gains permission to access the system.
[0957] User processing
[0958] Users input information about their interests and priorities through a terminal. The terminal receives the input from the user and sends that information to the server. Based on this user information, the server recommends the most suitable candidates to the user from the stored clustering results.
[0959] Information about recommended candidates is displayed on the device. Users can view this information and select the candidate that best matches their interests.
[0960] Specific example
[0961] For example, suppose many young users are interested in "educational reform" or "improving working conditions." In this case, the server analyzes candidates' policies based on these interests and identifies suitable candidates. When a user logs in through their device and enters that they are interested in "educational reform" and "improving working conditions," the server recommends clustered candidates based on this information. As a result, users can quickly and easily obtain information on candidates that best match their interests.
[0962] Examples of prompts include, "Tell me which candidates are proactive in educational reform," and "Which candidates are committed to improving working conditions?"
[0963] In this way, the present invention is a system that enables users to more easily select the appropriate candidate to vote for, thereby contributing to an increase in voter turnout in elections.
[0964] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0965] Step 1: Collecting candidate data
[0966] The server collects profiles, policies, and past achievements of multiple candidates from the internet. The server uses the Python "Requests" library to send HTTP requests to specific websites, and then parses the received HTML data with "BeautifulSoup" to extract information for each candidate. In this step, the input is the candidate's webpage URL, and the output is the extracted candidate's profile, policies, and past achievements. For example, data is retrieved using "Requests.get('https: / / example.com / candidate_profiles')" and then parsed using "BeautifulSoup(response.text, 'html.parser')".
[0967] Step 2: Saving to the database
[0968] The server saves the extracted candidate information to a MySQL database. The server connects to the database using "mysql.connector" and executes SQL queries such as "INSERT INTO candidates (name, policy, experience) VALUES (%s, %s, %s)". The input is the candidate's profile, policy, and experience, and the output is the data stored in the database.
[0969] Step 3: Data vectorization
[0970] The server converts the stored candidate data into numerical data in preparation for analysis using machine learning algorithms. Specifically, it uses the "TF-IDF vectorizer" from "scikit-learn" to vectorize the candidates' policy text. The input is the candidates' policy text, and the output is a "TF-IDF" vector. For example, it is executed as "TfidfVectorizer().fit_transform(policies)".
[0971] Step 4: Clustering
[0972] The server inputs the vectorized data into the KMeans clustering algorithm to classify candidates into several groups. The input is a TF-IDF vector, and the output is the clustering result. The server uses "from sklearn.cluster import KMeans" and performs clustering with "KMeans(n_clusters=5).fit(vectors)".
[0973] Step 5: Saving the clustering results
[0974] The clustering results are saved to a database and prepared for use in recommending to users. The input is the clustering results, and the output is the clustering information saved in the database. The server saves this information using an SQL query such as "UPDATE candidates SET cluster_id = %s WHERE id = %s".
[0975] Step 6: User Authentication
[0976] When a user uses the system, they log in or register from their device. The device prompts the user for a username and password and sends this data to the server. The input is the username and password, and the output is an authentication token. The server performs authentication using the "OAuth 2.0" protocol.
[0977] Step 7: Enter your concerns
[0978] The user inputs their interests and priorities through the terminal. The terminal receives the user input and sends that information to the server. The input is the user's interests and priorities, and the output is the user information sent to the server. For example, the user might input information such as "Policies of interest: Improving working conditions."
[0979] Step 8: Candidate Recommendation
[0980] The server recommends appropriate candidates from stored clustering results based on the user's interests. The input is the user's interests, and the output is information about the recommended candidates. The server extracts appropriate candidates by executing SQL queries such as "SELECT FROM candidates WHERE cluster_id = %s".
[0981] Step 9: Information Viewing
[0982] The user views information on recommended candidates displayed on their device. The input is information on the recommended candidates, and the output is the candidate's profile and policy information that the user views. Based on this information, the user can select the candidate that best matches their interests. Examples of prompts include, "Tell me about candidates who are proactive in educational reform," and "Which candidates are focused on improving working conditions?"
[0983] In this way, the present invention realizes a system that allows users to quickly and easily obtain information on candidates that best match their interests, thereby facilitating their voting decisions.
[0984] (Application Example 1)
[0985] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0986] Traditional election information systems are only available online and are not designed for use in physical stores. Therefore, there is a lack of means to provide candidate information to users visiting physical stores. Furthermore, there are few ways for users to directly and interactively obtain candidate information through devices. As a result, access to election information is limited, making it difficult to contribute to increasing voter turnout.
[0987] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0988] In this invention, the server includes means for collecting the profiles, policies, and past performance of multiple candidates; means for storing the collected data in a database; means for analyzing the stored data using a machine learning algorithm and clustering candidates based on the user's interests; means for recommending appropriate candidates to the user based on the clustering results; means for the user to log in and register with the system; means for the user to input their interests via an interactive display; and means for providing candidate information to the user in a physical store. This makes it possible for users to interactively obtain candidate information and select appropriate candidates even in a physical store.
[0989] A "profile" is data about a candidate's basic personal information and background.
[0990] "Policies" refer to information about the specific action plans and policies that candidates put forward as their campaign promises.
[0991] "Past performance" refers to data on the candidate's achievements and results to date.
[0992] "Means of collection" refers to the methods and technologies used to gather necessary information from the internet, databases, and other sources.
[0993] A "database" is a system for comprehensively managing and storing collected data.
[0994] A "machine learning algorithm" is an algorithm used to analyze collected data and find meaningful patterns and relationships.
[0995] Clustering is the process of classifying data into several groups.
[0996] An "interactive display" refers to a display device that allows users to directly operate and input / output data.
[0997] A "physical store" is a location where sales and services are provided in a physical place; it is a real store, not an online one.
[0998] "Recommendation methods" refer to the methods and technologies used to select and present appropriate candidates based on the user's interests.
[0999] The system implementing this invention is realized through a configuration in which a server, terminals, and users interact. The roles of each component are described in detail below.
[1000] Server Processing
[1001] The server first collects profiles, policies, and past achievements of multiple candidates from the internet. It sends HTTP requests to specific websites and parses the received HTML data to extract information about each candidate. This analysis uses the Python requests library and BeautifulSoup. The collected data is stored in a database for later analysis.
[1002] Next, the server runs a machine learning algorithm using the stored data. Specifically, it uses TfidfVectorizer to vectorize the candidates' policy content and then inputs this vectorized data into the KMeans clustering algorithm. This classifies candidates with similar policies into several clusters. The classification results are stored in a database and used for recommendations to users.
[1003] Terminal processing
[1004] When a user uses the system, they must first log in or register from their terminal. They enter a username and password for user authentication, and the authentication is performed by the server. During this process, the user gains permission to access the system.
[1005] Subsequently, users provide information on policies and social issues of interest via interactive displays or tablet devices installed in the store. These interactive displays are equipped with an interface for users to directly input information. The information entered from the device is sent to a server, initiating the recommendation process.
[1006] User processing
[1007] Users input their interests using an interactive input screen displayed on the screen. When they enter information about policies or social issues they are interested in, that information is sent to the server. Based on the input information, the server recommends the most suitable candidates from stored clustering results.
[1008] Specifically, the server vectorizes the user's interests and compares them to already clustered data to identify appropriate candidates. Recommended candidates are displayed on the screen, allowing the user to browse the information and select the candidate that best matches their interests. This interactive process makes it easier for users to make voting decisions.
[1009] Below are examples of prompt messages for young people interested in educational reform.
[1010] Example of a prompt:
[1011] "I'm interested in educational reform."
[1012] "I'd like to know about policies regarding environmental issues and working conditions."
[1013] In this way, a system is realized that allows users to interactively obtain candidate information and select the appropriate candidate even within a physical store.
[1014] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[1015] Step 1:
[1016] The server collects profiles, policies, and past achievements of multiple candidates from the internet. Specifically, it uses the requests library to send HTTP requests to specific websites and parses the received HTML data using the BeautifulSoup library. The input here is the URL of the website where the candidate information is posted, and the output is a dataset containing each candidate's profile, policies, and past achievements.
[1017] Step 2:
[1018] The server stores the collected data in a database. This database centrally manages information on each candidate and is used for later analysis. The input here is the candidate dataset collected in step 1, and the output is the well-formed data stored in the database.
[1019] Step 3:
[1020] The server executes machine learning algorithms using the stored data. Specifically, it vectorizes the collected policy information using TfidfVectorizer and performs KMeans clustering. The input is the policy data from the stored database, and the output is information about candidates classified by the clustering.
[1021] Step 4:
[1022] Users log in to or register with the system using a terminal. A username and password are entered for user authentication, which is then authenticated by the server. The input here represents the user's authentication information, and the output represents the granting of access privileges to the system.
[1023] Step 5:
[1024] Users provide information on policies and social issues of interest using an interactive display. This display includes an interface for direct user input. The input here is information about the user's interests, and the output is the transmission of this information to the server.
[1025] Step 6:
[1026] The server recommends the most suitable candidates based on the information submitted by the user and stored clustering results. Specifically, it vectorizes the user's input information using TfidfVectorizer and identifies the most suitable candidates based on existing clusters. The input is information about the user's interests, and the output is a list of recommended candidates.
[1027] Step 7:
[1028] The user views information about recommended candidates via the device's interactive display. The input here is a list of recommended candidates received from the server, and the output is the candidate information viewed by the user.
[1029] By explaining the data processing, data calculations, and specific operations performed at each step, the processing flow of this system can be clearly understood.
[1030] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[1031] This invention is a system that collects and analyzes candidate information and recommends appropriate candidates to help users make more informed votes in elections. This system not only uses a machine learning algorithm based on the selected candidate information to make recommendations based on the user's interests, but also incorporates an emotion engine that recognizes the user's emotions.
[1032] Server Processing
[1033] The server collects data from the internet. Specifically, it uses scraping techniques to collect profiles, policies, and past achievements of multiple candidates from specific websites. This information is then extracted, organized, and stored in a database.
[1034] The server uses the stored data to execute machine learning algorithms. Specifically, it uses a TF-IDF vectorizer to vectorize the policy content of candidates, and then inputs this vectorized data into the KMeans clustering algorithm to classify it into clusters. The classification results are stored in a database and used for recommendations to users.
[1035] Furthermore, the server is equipped with an emotion engine to recognize emotions from user input. The emotion engine analyzes the user's reactions and input information when viewing candidate information and records their emotional state in a database.
[1036] Terminal processing
[1037] When a user accesses the system, they first log in or register from their terminal. During this process, the user enters their username and password and undergoes authentication. The server then verifies this against the database and grants access.
[1038] Next, the user enters information about their interests and priorities. This information concerns policies and social issues and is sent from the device to the server.
[1039] User processing
[1040] The server recommends appropriate candidates based on the clustering results derived from the user's input information. Simultaneously, the sentiment engine is activated to analyze the user's emotions. When the user views detailed information about recommended candidates, the sentiment engine analyzes their reaction and stores the results in a database. This enables recommendations that take the user's emotional state into account.
[1041] Specific example
[1042] For example, let's assume that many young people are interested in "educational reform" and "improving working conditions." The server collects candidate information focused on "educational reform" and "improving working conditions" from the internet, analyzes it, and stores it in a database. When a user accesses the system and inputs that they are interested in educational reform or working conditions, the server recommends candidates that match based on clustering results and sentiment engine analysis.
[1043] Users can view this recommendation information through their devices and select the most suitable candidates based on their own feelings and interests. Because this recommendation process takes into account the user's interests and emotional state, it enables more accurate and personalized recommendations.
[1044] Through the above process, users will be able to more easily select the most suitable candidate based on their own emotions and interests, and it is expected that voter turnout will increase.
[1045] The following describes the processing flow.
[1046] Step 1:
[1047] The server collects data from the internet.
[1048] The server sends an HTTP request to a specific website and receives HTML data containing profiles, policies, and past achievements of multiple candidates. This HTML data is then parsed to extract candidate names, policies, background information, and other relevant details. The extracted information is organized into a list format and stored in a database.
[1049] Step 2:
[1050] The server analyzes the data using machine learning algorithms.
[1051] The server uses the stored data to vectorize the candidates' policy content using a TF-IDF vectorizer. The vectorized data is then input into the KMeans clustering algorithm to classify each candidate into a specific cluster. The clustering results are stored in a database and used for subsequent user recommendations.
[1052] Step 3:
[1053] The terminal performs user authentication.
[1054] The user accesses the system from their terminal and enters their username and password to log in or register. The terminal sends this authentication information to the server, which then verifies it against the database. If authentication is successful, the user gains permission to access the system.
[1055] Step 4:
[1056] The device collects the user's interests.
[1057] Users input information about policies and social issues they are interested in. The device collects this information and sends it to the server.
[1058] Step 5:
[1059] The server recommends suitable candidates to the user.
[1060] Based on user input, the server identifies appropriate candidates from stored clustering results and creates a recommendation list. During this process, an emotion engine is activated to analyze user emotions from input and site behavior patterns, and considers emotional states when selecting candidates.
[1061] Step 6:
[1062] The device displays recommended candidates to the user.
[1063] The terminal displays a list of recommended candidates received from the server to the user. Based on this, the user can view detailed information about candidates that match their interests.
[1064] Step 7:
[1065] Users consider the recommended candidates.
[1066] Users view detailed information on recommended candidates and, while also considering their real-time emotional state analyzed by the emotion engine, select the candidate they believe is best suited to them. The emotion engine analyzes the user's responses and stores the results in a database. This information will be used to improve future recommendations.
[1067] These steps will enable users to easily obtain relevant candidate information based on their interests and emotional state, resulting in a system that is expected to increase voter turnout.
[1068] (Example 2)
[1069] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1070] Traditional election systems have struggled to efficiently collect and analyze candidate information and provide personalized recommendations based on users' interests and sentiments. As a result, users are overwhelmed by the sheer volume of information, making it difficult to select the best candidate and potentially leading to lower voter turnout.
[1071] The identification processing performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for collecting the profiles, policies, and past performance of multiple candidates; means for storing the collected data in a database; means for analyzing the stored data using a machine learning algorithm and clustering candidates based on the user's interests; means for recommending appropriate candidates to the user based on the clustering results; means for the user to log in and register with the system; and means for analyzing the user's reaction when viewing detailed information of recommended candidates using an emotion engine and storing the results in a database. This makes it possible to recommend appropriate candidates based on the user's interests and emotions.
[1072] - "Means of collection" refers to the means of obtaining a candidate's profile, policies, and past performance from the internet using specific methods (e.g., web scraping techniques).
[1073] "Means of storing in a database" refers to storage devices and systems for structuring, efficiently managing, and accessing collected candidate information.
[1074] A "machine learning algorithm" is a computational method used to analyze collected data, identify specific patterns and relationships, and train models.
[1075] "Clustering methods" refer to techniques that use machine learning algorithms to group data that have similar characteristics.
[1076] "Means for recommending appropriate candidates" refers to methods for presenting the candidate that best matches the user, based on clustering results and user input information.
[1077] An "emotion engine" is a technology that analyzes user responses and input information to automatically recognize psychological states and emotions.
[1078] This invention is a system that collects and analyzes candidate information and recommends suitable candidates to help users make more informed votes in elections. This system includes the following configuration and processing procedures.
[1079] Server Processing
[1080] The server collects candidate information from specific websites (e.g., election pamphlets and candidate websites). Specifically, it uses scraping techniques (e.g., BeautifulSoup or Scrapy) to obtain profiles, policies, and past achievements of multiple candidates. This collected information is stored in a database.
[1081] Using the stored data, the server executes machine learning algorithms. First, it uses a TF-IDF vectorizer to vectorize the candidates' policy content. This vectorized data is then input into the KMeans clustering algorithm to classify the candidates into clusters. The categorized information is also stored in the database and used for recommendations.
[1082] Furthermore, the server is equipped with an emotion engine that recognizes user emotions. The emotion engine analyzes the user's reactions and text input when viewing candidate information and records their emotional state in a database. This engine uses emotion analysis libraries (such as TextBlob or VADER).
[1083] Terminal processing
[1084] When a user accesses the system, they first log in or register from their terminal. Here, the user enters their username and password, and the server verifies this against the database to grant access.
[1085] After logging in, users enter information about their interests and priorities. Examples include information on policies and social issues such as educational reform and improving working conditions. This information is sent from the device to the server.
[1086] User processing
[1087] The server recommends candidates by combining clustering results and sentiment engine analysis results based on the user's input information. Detailed information about the recommended candidates is displayed on the terminal for the user to view. At this time, the sentiment engine analyzes the user's response, and the results are also stored in the database. This ensures that future recommendations take the user's emotional state into account.
[1088] Specific example
[1089] For example, if many young people are interested in "educational reform" or "improving working conditions," the server collects candidate information related to these topics from the internet and stores it in a database. When a user accesses the system and enters that they are interested in educational reform or working conditions, the server recommends matching candidates based on clustering results and a sentiment engine.
[1090] Users can view recommended candidate information on their device and select the best candidate based on their own feelings and interests. The following is an example of a prompt message.
[1091] "I am interested in educational reform and working conditions. Please recommend suitable candidates based on these interests."
[1092] With this configuration, users can find the most suitable candidate based on their interests and feelings, which is expected to increase voter turnout in elections.
[1093] The flow of the specific processing in Example 2 will be explained using Figure 13.
[1094] Step 1:
[1095] Data collection
[1096] The server collects candidate information from specific websites (e.g., election pamphlets and candidate websites) using scraping techniques (e.g., BeautifulSoup or Scrapy). Specifically, it extracts data such as candidate profiles, policies, and past achievements. The input is the URL of the website, and the output is a list of candidate information. This list is stored in a database.
[1097] Step 2:
[1098] Data storage
[1099] The server stores the collected candidate information in a database. Specifically, it stores the information in a structured format (e.g., JSON or SQL). The input is a list of candidate information, and the output is the candidate information stored in the database. This allows for efficient information management and facilitates searching and access.
[1100] Step 3:
[1101] Data vectorization
[1102] The server uses a TF-IDF vectorizer to vectorize the policy content of candidates stored in the database. This is a process of analyzing policy documents and quantifying the importance of each word. The input is the text data of the policy content, and the output is vectorized data. This makes the policy content numerically comparable.
[1103] Step 4:
[1104] Clustering
[1105] The server uses the vectorized data to run the KMeans clustering algorithm and classify candidates into clusters. This groups candidates with similar policies. The input is vectorized data, and the output is candidate information classified into clusters. This cluster information is also stored in the database.
[1106] Step 5:
[1107] User Authentication
[1108] The terminal handles user login and registration for accessing the system. The user enters a username and password, which the server verifies against the database. The input is the user's authentication information, and the output is the access permission status. Upon successful authentication, the user can access the system.
[1109] Step 6:
[1110] Enter your interests
[1111] The terminal provides an interface for users to input information about their interests and priorities. Users input information such as educational reform or improvements to working conditions. The input is information about the user's interests, and the output is interest data sent to the server. This data is used for analysis on the server.
[1112] Step 7:
[1113] Candidate Recommendation
[1114] The server recommends appropriate candidates by combining clustering results and sentiment engine analysis results based on user input. Specifically, it selects and displays candidates from clusters that match the user's interests. The input is the user's interest data and clustering results, and the output is a list of recommended candidates. This list is displayed on the terminal.
[1115] Step 8:
[1116] Emotion analysis
[1117] The server uses an emotion engine to analyze a user's reaction when they view recommended candidate information. The emotion engine analyzes text and behavioral data to recognize the user's emotional state. The input is the user's reaction data, and the output is the result of the emotional state analysis. This analysis result is stored in a database and used in subsequent recommendation processes.
[1118] Step 9:
[1119] Information update
[1120] The server updates its database and machine learning model based on newly collected data and user sentiment analysis results. This continuously improves the accuracy of recommendations. The input is new data and sentiment analysis results, and the output is the updated database and machine learning model.
[1121] As a result, this system enables the recommendation of the most suitable candidates based on the user's interests and emotions.
[1122] (Application Example 2)
[1123] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1124] Traditional election candidate recommendation systems only recommend candidates based on user interests, without considering user emotional states, which leads to a decrease in recommendation accuracy. Similarly, traditional advertising systems struggle to provide personalized ads that take user emotions into account, resulting in underutilized advertising effectiveness.
[1125] The identification processing performed by the identification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for collecting the profiles, policies, and past performance of multiple candidates; means for storing the collected data in a database; means for analyzing the stored data using a machine learning algorithm and clustering candidates based on the user's interests; means for recommending appropriate candidates to the user based on the clustering results; means having an emotion recognition engine that recognizes emotions from the user's input information and adjusts the recommendations based on the analysis results; and means for the user to log in and register with the system. This makes it possible to recommend more personalized candidates and advertisements that simultaneously consider the user's interests and emotional state.
[1126] A "profile" is detailed information about a candidate, such as their background, qualifications, and achievements.
[1127] "Policies" refer to the promises, plans, opinions, and suggestions on social issues proposed by candidates.
[1128] "Past achievements" refers to the results and accomplishments that the candidate has achieved in their previous duties and other activities.
[1129] A "database" is a collection of information that is systematically stored and made searchable and analyzeable as needed.
[1130] A "machine learning algorithm" refers to a series of methods in which a computer program learns patterns from data and performs predictions and classifications based on those patterns.
[1131] Clustering is an analytical technique that classifies data into groups (clusters) based on similarity.
[1132] An "emotion recognition engine" is a program that analyzes user input and responses to recognize emotions and their state.
[1133] "Login" refers to the authentication process that allows a user to access a system.
[1134] "Registration" refers to the process by which a user creates a new account in the system and provides the necessary information.
[1135] This invention is a system that collects and analyzes candidate information and recommends suitable candidates to help users make more informed votes in elections. Because this system incorporates an emotion engine that recognizes user emotions, it enables personalized recommendations.
[1136] First, the server collects candidate profiles, policies, and past achievements from the internet. This collection is done using web scraping techniques. The collected data is stored in a database. The server then analyzes the data using machine learning algorithms. Specifically, it uses a TF-IDF vectorizer to vectorize the candidate's policy content, and then inputs this vectorized data into the KMeans clustering algorithm to classify it into clusters. The classification results are stored in the database and used for recommending candidates to users.
[1137] Next, the server has an emotion engine that recognizes emotions from user input information. This emotion engine analyzes the user's reactions and input information when viewing candidate information and records their emotional state in a database. This makes it possible to make recommendations that take the user's emotional state into account.
[1138] Users access the system using their smartphones and first log in or register. This authentication process involves entering a username and password. Next, users enter information about their interests and priorities, which is sent to the server. Based on this input, the server recommends suitable candidates using clustering results and sentiment engine analysis.
[1139] The user's reaction to the candidate information displayed on their device is also analyzed by the sentiment engine, and the results are stored in a database. This makes it possible to recommend even more suitable candidates when the user accesses the site again.
[1140] For example, if a user enters "I am interested in educational reform and working conditions," the server first gathers candidate information related to "educational reform" and "working conditions" from the internet. Based on this information, it performs clustering, analyzes the user's emotional state, and recommends the most suitable candidates based on the results.
[1141] As a concrete example, suppose a user accesses the system using their smartphone and enters, "I am interested in educational reform and labor rights." The sentiment engine analyzes the sentiment of this input, identifies candidates who would have a positive impact, and recommends advertisements and information related to those candidates to the user.
[1142] Examples of input prompts for a generative AI model:
[1143] Please generate examples of personalized ad recommendations based on user interests and emotions.
[1144] Input: I am interested in educational reform and labor rights.
[1145] In this way, users can more easily select the most suitable candidate based on their interests and emotional state, leading to better voting behavior in elections.
[1146] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[1147] Step 1:
[1148] The server collects candidate information. Specifically, it uses web scraping techniques to obtain candidate profiles, policies, and past achievements from the internet. This involves sending web requests and parsing HTML to extract the necessary information. The input is web pages on the internet, and the output is a list of objects containing candidate information.
[1149] Step 2:
[1150] The server stores the collected data in a database. This database is a relational database designed to store candidate data in an easily organized format. The input is the candidate information obtained in step 1, and the output is the data recorded in the database.
[1151] Step 3:
[1152] The server analyzes data stored in the database using machine learning algorithms. Specifically, it uses a TF-IDF vectorizer to vectorize the policy content of candidates, and then inputs this vectorized data into the KMeans clustering algorithm to classify it into clusters. The input is the stored candidate information, and the output is the clustered data.
[1153] Step 4:
[1154] The server recommends suitable candidates to the user based on the clustering results. To recommend suitable candidates, an algorithm is used that matches the clustering results with the user's input information. The input consists of the clustering results and the user's input information, and the output is a list of candidates to recommend to the user.
[1155] Step 5:
[1156] The server has an emotion recognition engine that recognizes emotions from user input and adjusts recommendations based on the analysis results. The emotion recognition engine analyzes the user's reactions and input information when viewing candidate information and records their emotional state in a database. In this step, the input is the user's input information and reactions, and the output is the emotion score.
[1157] Step 6:
[1158] The terminal provides a means for users to log in and register with the system. Users enter their username and password to authenticate with the server. The input is the user's authentication information, and the output is the authentication success or failure status.
[1159] Step 7:
[1160] The terminal provides a means for the user to input information about their interests and priorities. This includes interfaces such as text boxes and checkboxes. The input is the user's interests and priorities, and the output is the user's input information sent to the server.
[1161] Step 8:
[1162] The server recommends appropriate candidates based on the user's interests and priorities, using clustering results and sentiment engine analysis. This process simultaneously considers the user's interests and emotional state. The input is the user's input information and sentiment score, and the output is a list of optimal candidates.
[1163] Step 9:
[1164] The device displays recommended candidate information to the user. When the user views the detailed information, their reaction is analyzed again by the sentiment engine, enabling more accurate recommendations. The input is a list of recommended candidates, and the output is the user's viewing reaction and the display of detailed information.
[1165] Examples of input prompts for a generative AI model:
[1166] Please generate examples of personalized ad recommendations based on user interests and emotions.
[1167] Input: I am interested in educational reform and labor rights.
[1168] This allows the overall processing flow to run smoothly, enabling the recommendation of the most suitable candidates and advertisements based on the user's interests and emotions.
[1169] 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 controlled object 443 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[1170] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). An example of data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1171] 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 this disclosure is not limited thereto, and the specific processing may also be performed by the robot 414.
[1172] Furthermore, the emotion identification model 59, acting 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 a specific mapping, which is an emotion map (see Figure 9). Similarly, the emotion identification model 59 may also determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[1173] Figure 9 shows an emotion map 400 in which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. The closer to the center of the concentric circles, the more primitive the emotions are located. Further out of the concentric circles, emotions representing states and actions arising from mental states are located. Emotion is a concept that includes feelings and mental states. On the left side of the concentric circles, emotions that are generally generated from reactions occurring in the brain are located. On the right side of the concentric circles, emotions that are generally induced by situational judgment are located. Above and below the concentric circles, emotions that are generally generated from reactions occurring in the brain and induced by situational judgment are located. In addition, the emotion of "pleasure" is located on the upper side of the concentric circles, and the emotion of "displeasure" is located on the lower side. Thus, in the emotion map 400, multiple emotions are mapped based on the structure in which emotions arise, and emotions that are likely to occur simultaneously are mapped close together.
[1174] These emotions are distributed at the 3 o'clock position on the Emotion Map 400, and usually fluctuate between feelings of security and anxiety. In the right half of the Emotion Map 400, situational awareness takes precedence over internal feelings, resulting in a calm impression.
[1175] The inside of the Emotion Map 400 represents inner thoughts, while the outside represents actions. Therefore, the further you go from the outside of the Emotion Map 400, the more visible (expressed in actions) your emotions become.
[1176] Here, human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. Similarly, in robots, cars, motorcycles, etc., emotions can be created based on various balances, such as posture and battery level. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. The emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on a system for analyzing brain physiological signals of speech emotion recognition and emotion, Tokushima University, doctoral dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map contains emotions belonging to a region called "response," where sensation is dominant. The right half of the emotion map contains emotions belonging to a region called "situation," where situational awareness is dominant.
[1177] The emotion map defines two emotions that promote learning. One is the emotion around the middle of the negative "repentance" and "reflection" on the situation side. In other words, it is 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 the emotion around the positive "desire" on the reaction side. In other words, it is when the robot has positive feelings such as "I want more" or "I want to know more."
[1178] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values representing each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple training data sets, which are combinations of user input and emotion values representing each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions located close together have similar values, as shown in the emotion map 900 in Figure 10. Figure 10 shows an example where multiple emotions such as "reassured," "calm," and "confident" have similar emotion values.
[1179] The above description primarily focuses on the functions of the data processing device 12 in relation to this disclosure. However, the system related to this disclosure is not necessarily implemented on a server. The system related to this disclosure may be implemented as a general information processing system. This disclosure may be implemented, for example, as a software program that runs on a personal computer or as an application that runs on a smartphone. The method related to this disclosure may be provided to users in SaaS (Software as a Service) format.
[1180] In the above embodiment, an example was given in which a specific process is performed by a single computer 22. However, the technology of this disclosure is not limited thereto, and a distributed processing of the specific process may be performed by multiple computers, including computer 22. For example, a data generation model 58 may be provided in an external device of the data processing device 12, and the external device may generate data according to the input data.
[1181] In the above embodiment, an example was given in which the specific processing program 56 is stored in the storage 32, but the technology of this disclosure is not limited thereto. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-temporary storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-temporary storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes specific processing according to the specific processing program 56.
[1182] 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.
[1183] Furthermore, it is not necessary to store the entirety 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 the entirety of the specific processing program 56 in the storage 32; it is acceptable to store only a portion of the specific processing program 56.
[1184] The following types of processors can be used as hardware resources to perform specific processing. Examples of processors include a CPU, a general-purpose processor that functions as a hardware resource to perform specific processing by executing software, i.e., a program. Other examples of processors include dedicated electrical circuits, such as FPGAs (Field-Programmable Gate Arrays), PLDs (Programmable Logic Devices), or ASICs (Application Specific Integrated Circuits), which have circuit configurations specifically designed to perform specific processing. All of these processors have built-in or connected memory, and all of them perform specific processing by using memory.
[1185] The hardware resource that performs a specific process may consist of one of these various processors, or it may consist of 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). Alternatively, the hardware resource that performs a specific process may consist of a single processor.
[1186] Examples of configurations using a single processor include, firstly, a configuration in which one or more CPUs and software are combined to form a single processor, and this processor functions as a hardware resource that performs a specific process. Secondly, there is a configuration using a processor that realizes the functions of the entire system, including multiple hardware resources that perform a specific process, on a single IC chip, as exemplified by SoCs (System-on-a-chip). In this way, a specific process is realized using one or more of the above types of processors as hardware resources.
[1187] Furthermore, the hardware structure of these various processors can more specifically utilize electrical circuits that combine circuit elements such as semiconductor devices. Also, the specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps can be deleted, new steps added, or the processing order rearranged, as long as it does not deviate from the main purpose.
[1188] The descriptions and illustrations presented above are detailed explanations of the technical aspects of this disclosure and are merely examples of the technical aspects. For example, the above descriptions of the structure, function, operation, and effect are examples of the structure, function, operation, and effect of the technical aspects of this disclosure. Therefore, it goes without saying that you may delete unnecessary parts, add new elements, or replace elements in the descriptions and illustrations presented above, as long as you do not deviate from the essence of the technical aspects of this disclosure. Furthermore, in order to avoid confusion and facilitate understanding of the technical aspects of this disclosure, explanations of common technical knowledge and the like that do not require special explanation to enable the implementation of the technical aspects of this disclosure have been omitted from the descriptions and illustrations presented above.
[1189] All documents, patent applications, and technical standards described herein are incorporated by reference to the same extent as if each individual document, patent application, and technical standard were specifically and individually noted to be incorporated by reference.
[1190] The following is further disclosed regarding the embodiments described above.
[1191] (Claim 1)
[1192] A means of collecting profiles, policies, and past achievements of multiple candidates,
[1193] A means of storing the collected data in a database,
[1194] A method for analyzing stored data using machine learning algorithms and clustering candidates based on user interests,
[1195] A method for recommending appropriate candidates to users based on clustering results,
[1196] The means by which users log in and register with the system,
[1197] A system that includes this.
[1198] (Claim 2)
[1199] The system according to claim 1, which collects data of multiple candidates using scraping technology.
[1200] (Claim 3)
[1201] The system according to claim 1, which vectorizes data collected using a TF-IDF vectorizer and classifies candidates using KMeans clustering.
[1202] "Example 1"
[1203] (Claim 1)
[1204] A means of collecting profiles, policies, and past achievements of multiple candidates,
[1205] A means of storing the collected data in a database,
[1206] A method for analyzing stored data using machine learning algorithms and clustering candidates based on user interests,
[1207] A method for recommending appropriate candidates to users based on clustering results,
[1208] The means by which users log in and register with the system,
[1209] A means of collecting information about users' interests and priorities and using this to recommend appropriate candidates,
[1210] A means of vectorizing candidate information and applying a clustering algorithm,
[1211] A method for saving the clustering results after application to a database and using it for user recommendations,
[1212] A system that includes this.
[1213] (Claim 2)
[1214] The system according to claim 1, which collects data of multiple candidates using scraping technology.
[1215] (Claim 3)
[1216] The system according to claim 1, which vectorizes data collected using TF-IDF vectorization technology and classifies candidates using a clustering algorithm.
[1217] "Application Example 1"
[1218] (Claim 1)
[1219] A means of collecting profiles, policies, and past achievements of multiple candidates,
[1220] A means of storing the collected data in a database,
[1221] A method for analyzing stored data using machine learning algorithms and clustering candidates based on user interests,
[1222] A method for recommending appropriate candidates to users based on clustering results,
[1223] The means by which users log in and register with the system,
[1224] A means for the user to input their interests via an interactive display,
[1225] A means of providing candidate information to users within a physical store,
[1226] A system that includes this.
[1227] (Claim 2)
[1228] The system according to claim 1, which collects data of multiple candidates using scraping technology.
[1229] (Claim 3)
[1230] The system according to claim 1, which vectorizes data collected using a TF-IDF vectorizer and classifies candidates using KMeans clustering.
[1231] "Example 2 of combining an emotion engine"
[1232] (Claim 1)
[1233] A means of collecting profiles, policies, and past achievements of multiple candidates,
[1234] A means of storing the collected data in a database,
[1235] A method for analyzing stored data using machine learning algorithms and clustering candidates based on user interests,
[1236] A method for recommending appropriate candidates to users based on clustering results,
[1237] The means by which users log in and register with the system,
[1238] A method for analyzing a user's reaction when viewing detailed information about a recommended candidate using an emotion engine and saving the results to a database,
[1239] A system that includes this.
[1240] (Claim 2)
[1241] The system according to claim 1, which collects data of multiple candidates using scraping technology.
[1242] (Claim 3)
[1243] The system according to claim 1, which vectorizes data collected using a TF-IDF vectorizer and classifies candidates using KMeans clustering.
[1244] "Application example 2 of combining emotional engines"
[1245] (Claim 1)
[1246] A means of collecting profiles, policies, and past achievements of multiple candidates,
[1247] A means of storing the collected data in a database,
[1248] A method for analyzing stored data using machine learning algorithms and clustering candidates based on user interests,
[1249] A method for recommending appropriate candidates to users based on clustering results,
[1250] A means that has an emotion recognition engine that recognizes emotions from user input information and adjusts recommendations based on the analysis results,
[1251] The means by which users log in and register with the system,
[1252] A system that includes this.
[1253] (Claim 2)
[1254] The system according to claim 1, which collects data of multiple candidates using scraping technology.
[1255] (Claim 3)
[1256] The system according to claim 1, which vectorizes data collected using a TF-IDF vectorizer and classifies candidates using KMeans clustering. [Explanation of symbols]
[1257] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Devices 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robots< / url:> < / url:> < / url:> < / url:>
Claims
1. A means of collecting profiles, policies, and past achievements of multiple candidates, A means of storing the collected data in a database, A method for analyzing stored data using machine learning algorithms and clustering candidates based on user interests, A method for recommending appropriate candidates to users based on clustering results, The means by which users log in and register with the system, A system that includes this.
2. The system according to claim 1, which collects data from multiple candidates using scraping technology.
3. The system according to claim 1, which vectorizes data collected using a TF-IDF vectorizer and classifies candidates using KMeans clustering.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A