system
The system addresses the challenge of finding interesting content in AI-generated posts by analyzing and prioritizing user-preferred content, improving user experience through personalized recommendations.
Patent Information
- Application Number
- JP2024137995
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-19
- Publication Date
- 2026-03-04
AI Technical Summary
Users find it difficult to efficiently find interesting content among vast amounts of AI-generated social media and blog posts, leading to a poor user experience.
A system that collects posts from social networking sites and blog platforms, analyzes them using natural language processing, calculates a rating score based on user preferences, and prioritizes displaying highly rated posts, with user actions improving the rating model's accuracy.
Enables users to efficiently find content that interests them, enhancing the user experience by providing personalized and accurate content recommendations.
Smart Images

Figure 2026035152000001_ABST
Abstract
Description
[Technical Field]
[0001] The technology of the present disclosure relates to a system. [Background technology]
[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]
[0004] As generative AI automates social media and blog posting, it becomes increasingly difficult for users to find interesting posts written by humans among the vast amount of AI-generated content. This problem makes it difficult for users to efficiently access content that truly interests them, resulting in a poor user experience. Therefore, a mechanism is needed that allows users to efficiently find interesting content that is likely to interest them among the many posts. [Means for solving the problem]
[0005] To solve the above-mentioned problems, the present invention provides a system that includes a means for acquiring posts from social networking sites and blog platforms, and a means for analyzing the acquired posts using a natural language processing engine and extracting features. The system also includes a means for calculating a rating score for the posts based on the features, considering each user's preferences based on the rating score, selecting posts to be displayed preferentially, sending the selected posts to the user's device, notifying them of the posts, and displaying them. The system also includes a means for recording user actions such as "Like" and "Follow" and using the recorded actions to improve the accuracy of the rating model. In this way, the system of the present invention makes it easier for users to efficiently find content that interests them, improving the user experience.
[0006] "SNS" is an abbreviation for social networking service, a web service that allows users to interact with people online and share information.
[0007] "Blog" is an abbreviation of weblog, a website where individuals or organizations regularly publish information in the form of diaries, articles, etc.
[0008] A "platform" refers to the systems and services that form the foundation for providing specific services and applications.
[0009] "API" is an abbreviation for Application Programming Interface, an interface for exchanging functions and data between software programs.
[0010] "Post" refers to content such as text, images, and videos that users publish on social media or blogs.
[0011] A "natural language processing engine" refers to technology and software for analyzing and understanding human language.
[0012] "Features" refer to specific data attributes used to build models in data analysis.
[0013] A "rating score" is a numerical indicator of the quality and relevance of a post, and is used to evaluate the usefulness and interest of a post.
[0014] "User preferences" refers to the interests and preferences that a particular user has previously expressed.
[0015] "Customization" refers to the adjustment of services and content to the needs and preferences of a particular user.
[0016] "Notification" refers to the function of informing users of new information or the occurrence of events.
[0017] "Feedback" refers to reactions and evaluations collected from users to improve and adjust the system.
[0018] "Accuracy improvement" refers to the process of improving a system or model to enhance its performance. [Brief explanation of the drawings]
[0019] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7]FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 3 is a sequence diagram showing a processing flow of the data processing system according to the first embodiment. [Figure 12] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION
[0020] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.
[0021] First, the terms used in the following description will be explained.
[0022] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).
[0023] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.
[0024] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.
[0025] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.
[0026] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."
[0027] [First embodiment]
[0028] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0029] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0030] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0031] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.
[0032] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[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 of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0034] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.
[0035] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0036] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0037] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0038] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0039] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0040] The present invention is a system that collects posts from social networking sites and blog platforms, analyzes and evaluates the content of those posts, and prioritizes displaying highly rated posts to attract users' interest. The specific program processing of this system is described below.
[0041] overview
[0042] The system of the present invention consists of three main components: a server, a terminal, and a user. The server is responsible for collecting, analyzing, evaluating, selecting, and sending posts, while the terminal is responsible for notifying and displaying them. Users view posts and take action.
[0043] Program processing
[0044] Below, the specific operations of the server, terminal, and user are explained in natural language.
[0045] Server Operation
[0046] 1. Collecting posts:
[0047] The server periodically calls the API of the social networking site or blog platform to retrieve the latest posts, ensuring that the latest posts are always collected.
[0048] 2. Post Analysis:
[0049] The server passes the retrieved posts to a natural language processing (NLP) engine for tokenization, part-of-speech tagging, sentiment analysis, etc. For example, the server analyzes tweets and extracts part-of-speech information for each word. It also evaluates the post's positive / negative sentiment through sentiment analysis.
[0050] 3. Feature extraction:
[0051] Important features (keywords, sentiment scores, grammatical patterns, etc.) are extracted from the analysis results and stored in a database.
[0052] 4. Calculation of the rating score:
[0053] The server calculates an evaluation score based on the features, such as originality, similarity to other posts, and topicality. It also calculates a customized evaluation score by taking into account the user's past action data.
[0054] 5. Top Post Selection:
[0055] Based on the rating score, posts deemed interesting to each user are selected. For example, the server selects the top 10 posts with the highest rating score for user A.
[0056] 6. Content Submission:
[0057] The server sends the selected list of highly rated posts to the user's terminal, which receives the list and notifies the user.
[0058] Device behavior
[0059] 1. Notice and Display:
[0060] When the device receives a liked post from the server, it notifies the user, and when the user opens the app, it displays these posts first.
[0061] User behavior
[0062] 1. View and act on posts:
[0063] Users can view highly rated posts through their devices and "like" or "follow" posts they like. This action data is then sent to the server.
[0064] Specific examples
[0065] For example, suppose user A is interested in technology. The server uses the Twitter API to collect the latest technology-related tweets and analyzes these tweets using an NLP engine. Based on the features extracted through the analysis, it calculates a rating score and generates a customized score taking into account user A's past "like" and "follow" data. As a result, the server selects the top 10 most highly rated tweets and sends them to user A's device as a notification. The device notifies user A of new highly rated tweets and displays them in the app. When user A clicks "like," the data is sent to the server and used to improve the rating model.
[0066] In this way, the system of the present invention helps users efficiently find content that is likely to interest them, improving the user experience.
[0067] The processing flow will be explained below.
[0068] Step 1:
[0069] Collecting posts:
[0070] The server calls the API of the social media or blog platform to retrieve the latest posts at regular intervals.
[0071] The acquired post data is saved in the database, including the post ID, text, user information, timestamp, etc.
[0072] Step 2:
[0073] Post analysis:
[0074] The server passes the text of the retrieved post to a natural language processing (NLP) engine.
[0075] The NLP engine tokenizes the submitted text and tags it with parts of speech.
[0076] The server then performs a sentiment analysis and calculates a positive or negative sentiment score, for example, positive posts are given a high sentiment score.
[0077] Step 3:
[0078] Feature extraction:
[0079] The server extracts important features (keywords, sentiment scores, grammatical patterns, etc.) from the analysis results.
[0080] The extracted features are stored in a database.
[0081] Step 4:
[0082] Rating score calculation:
[0083] Based on the extracted features, the server calculates a score that evaluates each post's originality, similarity to other posts, and topicality.
[0084] The server also takes into account each user's past likes and follows to calculate a customized rating score for each user.
[0085] Step 5:
[0086] Top Post Selection:
[0087] The server selects the most highly rated posts based on the calculated rating score, taking into account each user's preferences.
[0088] For example, if a user is interested in technology, the app will select highly rated technology-related posts.
[0089] Step 6:
[0090] Submitting content:
[0091] The server sends the selected list of highly rated posts to each user's device.
[0092] The transmitted data includes the post content, URL, rating score, etc.
[0093] Step 7:
[0094] Notifications and Displays:
[0095] The device notifies the user based on the highly rated posts received from the server.
[0096] The device will use notification popups and in-app priority display to show users new, highly rated posts.
[0097] Step 8:
[0098] Recording user actions:
[0099] Users can "like" or "follow" posts displayed on their devices.
[0100] The terminal transmits these action data to the server.
[0101] Step 9:
[0102] Evaluation model improvements:
[0103] The server analyzes collected user action data such as "likes" and "follows" and performs retraining to improve the accuracy of the evaluation model.
[0104] The newly retrained model provides a more accurate rating score.
[0105] In this way, each step works in cooperation to realize a system that can provide users with content that is of high value on a priority basis.
[0106] Example 1
[0107] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0108] Social media and blog platforms have a huge number of posts, making it difficult for users to efficiently find content that interests them. Furthermore, existing systems do not adequately customize content based on user preferences, which can lead to users missing the posts that interest them most. This can lead to a poor user experience and reduced frequency of use of the platform.
[0109] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0110] In this invention, the server includes: means for acquiring posts from an SNS or blog platform; means for analyzing the acquired posts using a natural language processing engine and extracting features; means for calculating a rating score for the posts based on the features; means for selecting posts to be displayed preferentially based on each user's preferences based on the rating score; means for sending the selected posts to the user's device and notifying and displaying them; means for recording user actions such as "Like" and "Follow" and using the recorded actions to improve the accuracy of the rating model; means for periodically calling the API of the SNS or blog platform to acquire the latest posts; means for storing keywords, sentiment scores, and grammar patterns from the analysis results in a database; means for the device to receive the highly rated posts sent from the server and notify the user; and means for the user to view and select the highly rated posts through the device. This allows the most interesting content to be displayed preferentially based on the user's interests and preferences, enabling the user to efficiently find posts of interest.
[0111] "SNS" is an abbreviation for social networking service, an online platform where users can interact with each other and share information.
[0112] "Blog Platform" refers to a website or service that allows users to post and publish articles.
[0113] A "post" refers to content such as text, images, or videos that a user uploads to a social media or blogging platform.
[0114] A "natural language processing engine" refers to software or tools that allow a computer to analyze human language.
[0115] "Features" refer to important elements or parameters extracted for data analysis.
[0116] "Rating score" refers to a number calculated to quantitatively represent the value and interest of a post.
[0117] "Preferences" refers to the preferences or interests a user has for a particular type of content.
[0118] "Terminal" refers to devices used by users, such as smartphones, tablets, and computers.
[0119] "API" is an abbreviation for Application Programming Interface, and refers to an interface for using functions between different software applications.
[0120] "Tokenization" refers to the process of breaking text into smaller units such as words and phrases.
[0121] "Part-of-speech tagging" refers to the process of identifying and tagging each word with its part of speech.
[0122] "Sentiment analysis" refers to the process of assessing the emotional tone of text and classifying it as positive, negative, neutral, etc.
[0123] A "database" refers to a system that stores and manages data.
[0124] "Notifications" refers to alerts or messages that inform users of important information.
[0125] "Instructions" refer to the reactions and intentions that users express through actions such as "likes" and "follows."
[0126] This invention is a system that collects posts from social networking sites and blog platforms, analyzes and evaluates them, and provides them to users. This system consists of three main components: a server, a terminal, and a user. The specific hardware and software configurations, as well as the details of each process, are explained below.
[0127] Server Configuration
[0128] The server mainly consists of the following hardware and software:
[0129] Hardware:
[0130] A fast CPU, RAM, and large storage devices.
[0131] Internet connection interface.
[0132] software:
[0133] An operating system (e.g., Linux).
[0134] A database management system (e.g., MySQL®).
[0135] A natural language processing (NLP) engine (e.g., Google® Cloud Natural Language API).
[0136] API clients for social media platforms (e.g. Twitter API).
[0137] Device configuration
[0138] The terminal is used by the user and consists of the following hardware and software.
[0139] Hardware:
[0140] Smartphone, tablet, or computer.
[0141] Visual display and input interface (touchscreen, keyboard, etc.).
[0142] software:
[0143] Operating system (e.g., ANDROID, iOS, Windows).
[0144] Dedicated application or web browser.
[0145] User actions
[0146] The user accesses the system through a terminal and performs the following actions:
[0147] View posts.
[0148] Like or follow.
[0149] Get notified.
[0150] Specific processing flow
[0151] Collecting Posts
[0152] The server periodically calls the APIs of social media and blogging platforms to retrieve new posts. For example, it uses the Twitter API to retrieve the latest tweets containing a specific keyword (e.g., "technology").
[0153] Post Analysis
[0154] The server passes the collected posts to a natural language processing engine (e.g., Google Cloud Natural Language API) for tokenization, part-of-speech tagging, and sentiment analysis. The analysis results are extracted as features and stored in a database.
[0155] Calculating the reputation score
[0156] The server calculates evaluation scores based on the extracted features (e.g., keywords, sentiment scores), such as originality, similarity, and topicality. It also generates customized evaluation scores by taking into account the user's past action data (e.g., "likes" and "follows").
[0157] Selecting and sending your top posts
[0158] The server selects the most popular posts based on their rating scores and sends the list to the user's device, which receives the data and notifies the user.
[0159] User action record
[0160] When a user "likes" or "follows," the action data is sent from the device to the server and used to improve the evaluation model in the future.
[0161] Specific examples
[0162] For example, if User A is interested in technology, the server uses the Twitter API to collect the latest technology-related tweets. The collected tweets are analyzed using the Google Cloud Natural Language API to extract features. A rating score is then calculated, and a customized score is generated based on User A's past "likes" and "follows." The server then sends a list of highly rated tweets to User A's device, and User A is notified of new highly rated tweets.
[0163] Prompt Sentence Examples
[0164] "Please explain in detail the steps of a system that allows users to find and display the latest, most popular technology-related tweets."
[0165] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0166] Step 1:
[0167] The server periodically calls the API of the social networking or blogging platform to collect new posts. The input is the API endpoint of the social networking or blogging platform and the conditions for the posts to be collected (e.g., specific hashtags or keywords). The output is the collected post data, which is stored in a database.
[0168] What it does: Every hour, the server calls the Twitter API to retrieve the latest tweets containing the hashtag "technology" and stores them in a database.
[0169] Step 2:
[0170] The server passes the collected post data to a natural language processing engine (e.g., Google Cloud Natural Language API), which performs text tokenization, part-of-speech tagging, and sentiment analysis. The input is the collected post data, and the output is the analysis results. The analysis results are extracted as features such as keywords, sentiment scores, and grammatical patterns, and are stored in a database.
[0171] What it does: The server passes the collected tweets to the Google Cloud Natural Language API, tags each word in the tweet with a part-of-speech tag, rates the sentiment as positive or negative, and stores the results in a database.
[0172] Step 3:
[0173] The server extracts important features from the analysis results. The input is the analysis results obtained from the natural language processing engine, and the output is features such as keywords, sentiment scores, and grammatical patterns. These features are stored in a database.
[0174] Specific operation: The server extracts keywords such as "AI" and "Machine Learning" from tweets, calculates the sentiment score for the article, and stores it in the database.
[0175] Step 4:
[0176] The server calculates evaluation scores based on the features, such as originality, similarity, and topicality. In addition, it generates a customized evaluation score using the user's past action data (e.g., "likes" and "follows"). The input is the features and the user's past action data, and the output is the evaluation score.
[0177] How it works: The server calculates the originality and sentiment score of each tweet (the less similar it is to other posts, the higher the score) and generates a customized score taking into account User A's "like" history.
[0178] Step 5:
[0179] The server selects the highly rated posts. The input is the rating score, and the output is a list of the top-ranked posts. Based on the rating score, the server selects the posts that are deemed to be of the most interest to each user.
[0180] Specific operation: The server selects the top 10 tweets for user A based on their rating scores.
[0181] Step 6:
[0182] The server sends the selected list of highly rated posts to the user's device. The input is the list of highly rated posts, and the output is the transmitted data. HTTPS or other communication protocols are used.
[0183] Specific operation: The server sends a list of highly rated tweets to user A's device via HTTPS.
[0184] Step 7:
[0185] The device receives the liked posts sent from the server and notifies the user. The input is the list of liked posts sent from the server, and the output is the notification to the user. When the user opens the app, these posts are displayed preferentially.
[0186] Specific behavior: The device sends a push notification to User A saying, "There are new highly rated tweets." It also displays these tweets at the top of the app.
[0187] Step 8:
[0188] Users browse the highly rated posts through their devices and "like" or "follow" the posts they like. The input is the highly rated posts and user actions, and the output is the action data sent to the server. This action data is used to improve the rating model in the future.
[0189] Specific behavior: When User A "likes" a highly rated tweet, that action is sent to the server and used to improve the rating model.
[0190] (Application example 1)
[0191] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0192] In modern society, a vast amount of information is generated on social media and blog platforms, making it difficult for users to efficiently obtain information that interests them. There is also a demand for providing customized content based on user preferences, but conventional methods are insufficient to provide personalization that effectively reflects user preferences. Furthermore, a system is needed that can improve the accuracy of analyzing collected data and effectively select content that users highly rate.
[0193] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0194] In this invention, the server includes means for acquiring posts from a social networking site or blog platform, means for analyzing the acquired posts using a natural language processing engine and extracting features, means for calculating a rating score for the posts based on the features, means for selecting posts to be preferentially displayed based on the rating scores and taking each user's preferences into consideration, means for sending the selected posts to the user's device and notifying and displaying them, means for recording actions taken by the user and using the recorded actions to improve the accuracy of the rating model, means for calculating a similarity score for the posts based on the user's preferences, and means for selecting highly rated posts based on the similarity score. This makes it possible to efficiently select highly rated posts that interest users and improve the user experience.
[0195] "SNS and blog platforms" are services that allow users to post information and opinions on the Internet and interact with other users.
[0196] A "post" is any content such as a message, photo, video, or link that a user publishes on a social media or blog platform.
[0197] A "natural language processing engine" is a software technology that analyzes text data and understands its meaning, grammatical structure, emotions, etc.
[0198] "Features" are important attributes or information extracted from text data that serve as criteria for classification and evaluation.
[0199] "Rating score" means a numerical representation of the quality of a post and the level of user interest.
[0200] "User preferences" refer to the interests and preferences that a user has shown in the past.
[0201] "Posts that should be displayed preferentially" are posts that are more important or relevant than other posts and should be shown to users first.
[0202] A "notification" is an action that informs the user of new information or important events.
[0203] An "action" is an interaction a user makes, such as "liking," "following," or commenting.
[0204] A "rating model" is a set of algorithms and databases used to calculate user preferences and post ratings.
[0205] The "similarity score" is a number that indicates the similarity between the user's preferences and the content of the post.
[0206] A "highly rated post" is a post that has a high rating score and is judged to be of great interest to users.
[0207] This invention relates to a system that collects posts from social networking sites and blog platforms, analyzes and evaluates the content of those posts, and displays them preferentially to each user. This system consists of three main components: a server, a terminal, and a user.
[0208] Server Operation
[0209] 1. Collecting posts:
[0210] The server periodically calls the API of the social networking site or blog platform to retrieve the latest posts. This collection process uses an HTTP request to request data from the API and saves the post data obtained as a response. The required hardware is a server device with an internet connection, and the software uses the requests library.
[0211] 2. Post Analysis:
[0212] The post data is passed to a natural language processing engine for tokenization, part-of-speech tagging, and sentiment analysis. This allows important features to be extracted from each post. Specifically, the post text is tokenized using TextBlob, and sentiment analysis is performed to obtain a positive or negative sentiment score. These results are then stored in a database.
[0213] 3. Calculation of the rating score:
[0214] The evaluation score is calculated based on the extracted features. Furthermore, to generate a customized evaluation score that takes into account the user's preferences, the user's past action data is also referenced. The score calculation uses TF-IDF vectorization and cosine similarity using scikit-learn to evaluate the similarity between users and posts.
[0215] 4. Top Post Selection:
[0216] Based on a customized rating score, posts deemed most interesting to users are selected and then run through a selection algorithm to generate a personalized list for each user.
[0217] 5. Content Submission:
[0218] The selected list of highly rated posts is sent to the user's device using the HTTP protocol, and the device receives the list and notifies the user as needed.
[0219] Device behavior
[0220] 1. Notice and Display:
[0221] When the device receives a liked post sent from the server, it notifies the user. For example, push notifications are sometimes used on smartphones. The notified post is displayed preferentially within the application, allowing the user to quickly view posts that interest them.
[0222] User behavior
[0223] 1. View and act on posts:
[0224] Users can view highly rated posts on their devices and take actions such as "Like" or "Follow" based on their interests. These action data are sent to the server and used to improve the rating model.
[0225] Specific examples
[0226] If a user is interested in technology-related information, the server first collects the latest related posts from the social networking site's API. The collected posts are then analyzed using a natural language processing engine to perform sentiment analysis and keyword extraction. A rating score is calculated based on the analysis results, and a customized feed is generated for each user. This feed is sent to the device and notified to the user. The user can view the highly rated posts displayed and press "Like" on the ones they like. This data is then sent back to the server and used to improve the accuracy of future rating models.
[0227] Prompt Sentence Examples
[0228] We're collecting the latest relevant and positive posts based on your past tech likes and follows. Here are some of the most interesting posts:
[0229] Articles about the future of AI
[0230] Latest Gadget Reviews
[0231] Technology Startup Success Stories
[0232] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0233] Step 1:
[0234] Collecting Posts
[0235] The server periodically calls the API of the SNS or blog platform to retrieve the latest posts. Specifically, it retrieves post data from the SNS or blog platform using an HTTP request and stores it in the server's database. The input is the response from the SNS or blog platform's API, and the output is the retrieved post data.
[0236] Step 2:
[0237] Post Analysis
[0238] The server passes the acquired post data to a natural language processing engine for tokenization, part-of-speech tagging, and sentiment analysis. Specifically, it uses the TextBlob library to split each post text into tokens, tag each token with a part of speech, and then performs sentiment analysis. The input is the text portion of the post data collected in Step 1, and the output is the tokenized text, part-of-speech tags, and sentiment scores.
[0239] Step 3:
[0240] Feature extraction
[0241] The server extracts important features from the analysis results of natural language processing, such as sentiment scores, keywords, and grammatical patterns. These features are recorded in a database. The input is the analysis results from step 2, and the output is the extracted feature set.
[0242] Step 4:
[0243] Calculating the reputation score
[0244] The server calculates the rating score of the post based on the extracted features. It also takes into account the user's past action data to generate a customized rating score. Specifically, it uses the scikit-learn library to perform TF-IDF vectorization and calculate the similarity between the user's preferences and the post. The input is the user's past action data and the feature set extracted in step 3, and the output is the rating score for each post.
[0245] Step 5:
[0246] Selection of top-rated posts
[0247] The server selects posts that are deemed highly rated by the user based on the rating score. Through the selection algorithm, posts with high rating scores are listed for each user. The input is the rating score generated in step 4, and the output is a list of highly rated posts for each user.
[0248] Step 6:
[0249] Submitting content
[0250] The server sends the selected list of highly rated posts to the user's device. The HTTP protocol is used for communication, and the device receives the list and notifies the user as needed. The input is the list of highly rated posts generated in step 5, and the output is the result sent to the user's device.
[0251] Step 7:
[0252] Notifications and Displays
[0253] When the device receives a liked post sent from the server, it notifies the user. Specifically, push notifications are sometimes used on smartphones. The notified post is displayed preferentially within the application. The input is the list of liked posts received from the server, and the output is a notification to the user and display within the application.
[0254] Step 8:
[0255] Viewing and acting on posts
[0256] Users view highly rated posts through their devices and take actions such as "Like" or "Follow" based on their interests. These action data are sent to the server and used to improve the rating model. The input is the user's action, and the output is the action data sent to the server.
[0257] ---
[0258] Through the above steps, the present invention can efficiently select highly rated posts that interest users, improving the user experience.
[0259] Furthermore, an emotion engine that estimates the user's emotion may be combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion.
[0260] This invention is a system that collects posts from social networking sites and blog platforms, analyzes and evaluates them, and provides users with the most appropriate content. Furthermore, by combining it with an emotion engine, it is possible to recognize user emotions and utilize this data to provide even more accurate evaluations. The program processing of this system is explained below.
[0261] overview
[0262] The system of the present invention consists of four main components: a server, a terminal, a user, and an emotion engine. The server is responsible for collecting, analyzing, evaluating, selecting, and sending posts, while the terminal is responsible for notifying and displaying them. Users view posts and take action. The emotion engine recognizes the user's emotions and provides that data to the server.
[0263] Program processing
[0264] Below, the specific operations of the server, terminal, user, and emotion engine are explained in natural language.
[0265] Server Operation
[0266] 1. Collecting posts:
[0267] The server periodically calls the API of the social networking site or blog platform to retrieve the latest posts, which are then stored in a database.
[0268] 2. Post Analysis:
[0269] The server passes the text of the posts to a natural language processing (NLP) engine for tokenization, part-of-speech tagging, and sentiment analysis. Through the analysis, important features are extracted and stored in a database.
[0270] 3. Calculation of the rating score:
[0271] The server calculates a score based on the post's features, evaluating its originality, similarity to other posts, and topicality. It also calculates a customized evaluation score based on the user's past action data.
[0272] 4. Use of user sentiment data:
[0273] The server uses the user's emotional data provided by the emotion engine to calculate a more accurate rating score, for example, adjusting the rating score to take into account the positive emotions expressed by the user toward the post.
[0274] 5. Top Post Selection:
[0275] The server selects posts deemed interesting to each user based on their rating scores, taking into account the user's emotional data.
[0276] 6. Content Submission:
[0277] The server then sends the selected list of highly rated posts to each user's device. The data sent includes the post's content, URL, rating score, etc.
[0278] Device behavior
[0279] 1. Notice and Display:
[0280] The device will notify the user based on the likeable posts received from the server, and the device will prioritize displaying them as a notification pop-up or within the app.
[0281] User behavior
[0282] 1. View and act on posts:
[0283] Users can view highly rated posts through their devices and "like" or "follow" posts they like. These action data are then sent to the server.
[0284] Emotion Engine Operation
[0285] 1. Emotion Recognition:
[0286] The emotion engine recognizes the user's emotions by analyzing their facial expressions, voice tone, input text, etc. For example, if a user reacts to a post with a smile, it generates positive emotion data.
[0287] 2. Data provision:
[0288] The emotion engine sends the recognized emotion data to the server, which uses the emotion data to calculate the evaluation score.
[0289] Specific examples
[0290] For example, suppose User B is interested in health. The server analyzes health-related posts obtained via the API and extracts features. The emotion engine also collects emotional data that User B showed when viewing health-related posts in the past. The server calculates a rating score based on this data and increases the rating score for posts that show a high number of positive emotions. Finally, a list of highly rated posts is selected and sent to User B's device. The device notifies User B of new highly rated posts and displays them within the app. When User B clicks "Like," the data is sent to the server and used to improve the rating model.
[0291] In this way, by combining emotion engines, we can more accurately deliver content that users are truly interested in, improving the user experience.
[0292] The processing flow will be explained below.
[0293] Step 1:
[0294] Collecting posts:
[0295] The server calls the API of the social media or blog platform at regular intervals to obtain the latest post data.
[0296] The acquired post data is stored in a database along with metadata such as ID, text, user information, and timestamp.
[0297] Step 2:
[0298] Post analysis:
[0299] The server passes the collected posts to a natural language processing engine for analysis.
[0300] The NLP engine tokenizes the post text and performs part-of-speech tagging and sentiment analysis. For example, the word "Awesome!" is tagged with a positive score in sentiment analysis.
[0301] Step 3:
[0302] Feature extraction:
[0303] The server extracts important features (keywords, sentiment scores, grammatical patterns, etc.) from the analysis results.
[0304] The extracted features are stored in a database and are subsequently used to calculate the evaluation score.
[0305] Step 4:
[0306] Rating score calculation:
[0307] Based on the extracted features, the server calculates a score that evaluates each post's originality, similarity to other posts, and topicality.
[0308] It also calculates a customized rating score that takes into account the user's past likes and follows.
[0309] Step 5:
[0310] Use of user sentiment data:
[0311] The emotion engine collects emotion data by monitoring the user's facial expressions, voice tone, input text, etc. For example, if a user smiles after seeing a post, it generates positive emotion data.
[0312] The server uses the user's emotional data provided by the emotion engine to further customize the rating score.
[0313] Step 6:
[0314] Top Post Selection:
[0315] The server selects the most highly rated posts based on the calculated rating score, taking into account the user's emotional data.
[0316] For example, technology-related posts with positive sentiment data will be ranked higher in the rating score.
[0317] Step 7:
[0318] Submitting content:
[0319] The server sends the selected list of highly rated posts to each user's device.
[0320] The submitted data includes the post content, URL, rating score, etc.
[0321] Step 8:
[0322] Notifications and Displays:
[0323] The device notifies the user based on the highly rated posts received from the server.
[0324] These posts will be prioritized when users open the app, for example, with a notification popup announcing new, highly-rated posts.
[0325] Step 9:
[0326] Recording user actions:
[0327] Users can "like" or "follow" posts displayed on their devices.
[0328] The terminal transmits these action data to the server.
[0329] Step 10:
[0330] Evaluation model improvements:
[0331] The server analyzes the collected user action data such as "likes" and "follows" and uses it to improve the accuracy of the evaluation model.
[0332] The server uses the newly retrained model to provide a more accurate rating score.
[0333] In this way, each step works in tandem to create a system that prioritizes providing content that is of high value to users. The use of an emotion engine can more accurately reflect user interests and concerns, improving the user experience.
[0334] Example 2
[0335] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0336] Conventional content collection systems have struggled to provide content that fully takes into account user preferences and emotions. Furthermore, the ability to reflect user actions in rating models was limited, making it difficult to improve the user experience. Furthermore, the accuracy of rating posts was low, making it difficult to provide users with information that was truly useful to them.
[0337] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0338] In this invention, the server includes means for collecting posts from social networking sites and blog platforms, means for analyzing the acquired posts using a natural language processing engine and extracting features, means for calculating evaluation scores for the posts based on the features, means for calculating more accurate evaluation scores by taking user emotional data into account in the acquired evaluation scores, means for selecting posts to be preferentially displayed based on the evaluation scores and taking each user's preferences into account, means for sending the selected posts to the user's device and notifying and displaying them, and means for recording actions taken by the user (e.g., "Like" or "Follow") and using the recorded actions to improve the accuracy of the evaluation model. This makes it possible to provide highly accurate content that takes user preferences and emotions into account.
[0339] "SNS and blog platforms" refers to online social networking services and blog systems where users can post and share information.
[0340] A "post" refers to content such as text, images, videos, and links that a user uploads to a social media or blogging platform.
[0341] A "natural language processing engine" refers to a software program for analyzing text data and performing tasks such as tokenization, part-of-speech tagging, and sentiment analysis.
[0342] "Features" refer to important data points or attributes extracted from the analyzed posts and used to calculate the rating score.
[0343] "Evaluation score" refers to a numerical rating given to each post based on the post's originality, similarity, topicality, etc.
[0344] "Emotional data" refers to data that represents a user's emotional state and is obtained based on facial expressions, voice tone, and text analysis.
[0345] "Action" refers to the actions a user takes on a post, such as "liking" or "following."
[0346] "Device" refers to a device used by a User, such as a computer, smartphone, or tablet.
[0347] "API" refers to a set of protocols and tools provided for interfacing with other software applications.
[0348] "Tokenization" refers to the process of breaking down text data into smaller units, such as individual words or phrases.
[0349] "Part-of-speech tagging" refers to the process of assigning to each word in a text its grammatical category (noun, verb, adjective, etc.).
[0350] "Sentiment analysis" refers to the process of extracting emotional indicators from text or speech and classifying them into emotional categories such as positive, negative, or neutral.
[0351] A "database" refers to a system in which information is collected and stored in an organized manner, and there are various types such as MySQL and PostgreSQL.
[0352] This invention is a system that collects, analyzes, and evaluates posts from social networking sites and blog platforms to provide users with the most appropriate content. Specifically, it consists of four main components: a server, a terminal, a user, and an emotion engine. The main operations of this system are explained below.
[0353] Server Operation
[0354] 1. Collecting posts:
[0355] The server periodically calls the API of the social networking site or blog platform to retrieve the latest posts. For example, posts are collected using the Twitter API or blog API. The retrieved post data is then stored in a MySQL database.
[0356] 2. Post Analysis:
[0357] The server passes the text of the retrieved post to a natural language processing (NLP) engine for tokenization, part-of-speech tagging, and sentiment analysis. Specifically, it uses Google's BERT model and SpaCy. The key features extracted as a result of the analysis are stored in a database.
[0358] 3. Calculation of the rating score:
[0359] The server evaluates the originality, similarity, and topicality of posts based on the analyzed features and calculates a score. The evaluation uses a machine learning model using Python's SciPy library and Keras. The server also adjusts the evaluation score by taking into account the user's past action data (such as "likes" and "follows").
[0360] 4. Use of user sentiment data:
[0361] The server uses the user's emotion data provided by the emotion engine to calculate a more accurate rating score, for example, increasing the rating score for posts that express positive emotions.
[0362] 5. Select and submit your top submissions:
[0363] The server selects posts that are likely to be of interest to each user based on their rating scores, and sends a list of the selected highly rated posts to the user's device. The transmitted data includes the content of the post, its URL, rating score, etc.
[0364] Device behavior
[0365] The device notifies the user of the likeable posts received from the server and displays them preferentially within the app. Specifically, push notifications are used to notify users of new likeable posts.
[0366] User behavior
[0367] Users can view highly rated posts through their devices and "like" or "follow" posts they like. These action data are sent from the device to the server and used to improve the accuracy of the rating model.
[0368] Emotion Engine Operation
[0369] 1. Emotion Recognition:
[0370] The emotion engine analyzes the user's facial expressions, voice tone, input text, etc. to recognize the user's emotions. Examples include facial recognition using OpenCV, speech analysis using Google Cloud Speech-to-Text, and text analysis using NLTK. This generates an emotion score such as positive, negative, or neutral.
[0371] 2. Data provision:
[0372] The emotion engine sends the recognized emotion data to the server, which uses this data to recalculate the post's rating score and improve its accuracy.
[0373] Specific examples
[0374] For example, if User B is interested in health, the server analyzes health-related posts obtained via the API and extracts features. The emotion engine also collects emotional data that User B expressed when viewing health-related posts in the past. The server calculates a rating score based on this data and increases the rating score of posts that show a lot of positive emotions. In this process, libraries such as SciPy and Keras are used, as mentioned above. The final list of highly rated posts is sent to User B's device. The device notifies User B of new highly rated posts and displays them within the app. When User B clicks "Like," the data is sent to the server and used to improve the rating model.
[0375] Example prompts for generative AI models
[0376] "Please provide an overview of the system that collects, analyzes, and evaluates the latest health-related posts from social media and blog platforms to provide users with the most appropriate health information. Please also provide a detailed description of how the emotion engine utilizes emotion data."
[0377] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0378] Step 1:
[0379] Collecting Posts
[0380] The server calls the API of the social media or blog platform at regular intervals to retrieve the latest posts. Specifically, the server sends a request to the Twitter API or blog API to retrieve the latest post data that matches the specified keywords. At this stage, the input is the raw post data collected from the API, and the output is the post data that is saved in a database on the server. The server saves the retrieved post data in a MySQL database.
[0381] Step 2:
[0382] Post Analysis
[0383] The server passes the retrieved post text to a natural language processing (NLP) engine for analysis. Specifically, the server uses Google's BERT model or SpaCy to tokenize the post text, tag parts of speech, and perform sentiment analysis. At this stage, the input is the post text stored in the database, and the output is data including tokens, part-of-speech tags, and sentiment scores. The server extracts important features as the analysis results and stores them back in the database.
[0384] Step 3:
[0385] Calculating the reputation score
[0386] The server evaluates the originality, similarity, and topicality of posts based on the analyzed features and calculates a rating score. Specifically, the server calculates similarity scores using Python's SciPy library, and evaluates originality and topicality using machine learning models using TENSORFLOW (registered trademark) and Keras. At this stage, the input is the analyzed feature data, and the output is a rating score for each post. The server also takes into account the user's past action data (such as "likes" and "follows") to adjust the rating score.
[0387] Step 4:
[0388] Use of user sentiment data
[0389] The server uses the user's emotional data provided by the emotion engine to calculate a more accurate evaluation score. Specifically, the server adds the positive emotion score indicated by the user to the existing evaluation score. At this stage, the input is the emotional data sent from the emotion engine, and the output is the final evaluation score that takes the emotional data into account.
[0390] Step 5:
[0391] Selection of top-rated posts
[0392] The server selects posts that are likely to be of interest to each user based on their rating scores. Specifically, the server sorts the list of posts in descending order of rating score and selects the top posts. At this stage, the input is the post data with the final rating score, and the output is the selected list of highly rated posts.
[0393] Step 6:
[0394] Submitting content
[0395] The server sends the selected list of highly rated posts to each user's device. Specifically, the server sends the selected list of posts to the device API via a POST request. At this stage, the input is the selected list of highly rated posts, and the output is the data sent to the user's device.
[0396] Step 7:
[0397] Notifications and Displays
[0398] The device notifies the user based on the likeable posts received from the server. Specifically, the device generates a push notification and displays it preferentially within the app. At this stage, the input is the list of likeable posts received from the server, and the output is the notification and post information displayed to the user.
[0399] Step 8:
[0400] Viewing and acting on posts
[0401] Users view highly rated posts through their devices and "like" or "follow" posts they like. Specifically, when a user views a post within the app and presses the "like" button, that information is sent to the server. At this stage, the input is the user's action, and the output is the action data sent to the server.
[0402] Step 9:
[0403] Emotion recognition
[0404] The emotion engine analyzes the user's facial expression, voice tone, and input text to recognize the user's emotion. Specifically, the emotion engine recognizes facial expressions using OpenCV, analyzes voice using Google Cloud Speech-to-Text, and analyzes text using NLTK. At this stage, the input is the user's facial expression data, voice data, and text data, and the output is an emotion score.
[0405] Step 10:
[0406] Data provision
[0407] The emotion engine sends the recognized emotion data to the server. Specifically, it sends the emotion score generated by the emotion engine to the server in JSON format. At this stage, the input is the emotion score, and the output is the emotion data sent to the server.
[0408] (Application example 2)
[0409] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0410] In systems that analyze posts obtained from social media and blog platforms and provide users with the most appropriate content, conventional methods have limitations when it comes to using user emotion data to make more accurate content recommendations. Furthermore, there is a lack of mechanisms for quickly responding to changes in user preferences and providing appropriate content. Therefore, more personalized and real-time content recommendations are needed to improve the user experience.
[0411] The identification process 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 acquiring posts from an SNS or blog platform, means for analyzing the acquired posts using a natural language processing engine and extracting features, means for calculating a rating score for the posts based on the features, means for selecting posts to be preferentially displayed based on the rating score and taking each user's preferences into consideration, means for sending the selected posts to the user's device and notifying and displaying them, means for recording actions taken by the user and using the recorded actions to improve the accuracy of the rating model, means for acquiring the user's emotional data and incorporating it into the calculation of the rating score, and means for preferentially selecting content suitable for the user based on the emotional data. This enables more accurate content recommendations that take the user's emotions and preferences into consideration.
[0412] "SNS" is an abbreviation for social networking service, an online platform for users to communicate with each other.
[0413] A "blog platform" is an online service that allows users to publish and share text and images.
[0414] "Post" is a general term for content such as text, images, and videos that users publish on social media or blog platforms.
[0415] A "natural language processing engine" is a software technology that analyzes human language and understands its meaning and grammatical structure.
[0416] A "feature" is an index or numerical value that indicates the characteristics or patterns of data extracted from the data to be analyzed.
[0417] The "rating score" is a numerical value calculated to quantitatively evaluate the quality and relevance of a post.
[0418] "User preferences" are preferences and tendencies based on the user's past interests and concerns.
[0419] A "notification" is an alert or message that informs the user of specific information.
[0420] "Actions" are various actions that users take within the system, such as "Like" or "Follow."
[0421] "Emotional data" is information that represents a user's emotional state and is primarily collected from facial expressions, voice, text, etc.
[0422] "Content" refers to information or media such as text, images, and videos posted on social media or blog platforms.
[0423] A "customized rating score" is a specific rating score calculated taking into account an individual user's preferences and behavioral history.
[0424] An "evaluation model" is a computational model for evaluating the content of posts and providing it to users.
[0425] This invention is a system that collects and analyzes posts from social media and blog platforms, and provides users with the most appropriate content. Furthermore, by combining it with an emotion engine, it can recognize user emotions and utilize data to improve the accuracy of evaluations.
[0426] Server Operation
[0427] The server periodically calls the APIs of social media and blog platforms to retrieve the latest posts and store them in a database. The posted text is passed to a natural language processing engine (e.g., TextBlob) where it is tokenized, tagged with parts of speech, and analyzed for sentiment to extract important features. The rating score is calculated by taking into account originality, similarity to other posts, topicality, and the user's past action data. The accuracy of the rating score is also improved by taking into account user sentiment data provided by the sentiment engine. A list of selected highly rated posts is then sent to the user's device.
[0428] Device behavior
[0429] The device will notify users of the likeable posts received from the server, either in the form of a pop-up or within the app, allowing users to view and confirm the content.
[0430] User behavior
[0431] Users can view the highly rated posts displayed on their devices and take actions such as "Like" or "Follow" on posts they like. These action data are sent to the server and used to improve the accuracy of the rating model.
[0432] Emotion Engine Operation
[0433] The emotion engine analyzes the user's facial expressions, voice tone, and input text to recognize emotions. For example, if a user sees a post and has a positive reaction, that data is sent to the server and reflected in the calculation of the rating score.
[0434] Hardware and software used
[0435] Specific hardware requirements include a server and user devices (such as smartphones and PCs). Software requirements include a natural language processing engine (e.g., TextBlob) and an emotion engine. APIs and databases are used to collect, store, analyze, and notify data.
[0436] Specific examples
[0437] For example, suppose User B is interested in health. The server analyzes health-related posts obtained via the API and extracts features. The emotion engine collects the positive emotions User B expressed when viewing health-related posts in the past. The server calculates a rating score based on this data and increases the rating score of posts that show a high number of positive emotions. Finally, a list of highly rated posts is selected and sent to User B's device. The device notifies User B of new highly rated posts and displays them within the app. When User B clicks "Like," the data is sent to the server and used to improve the rating model.
[0438] Prompt Sentence Examples
[0439] Please build a system that uses sentiment data to recommend the most suitable health-related articles to User B, who is interested in health. This system will collect, analyze, and rate social media posts and blog posts, and combine them with a sentiment engine to improve the accuracy of the rating. Please also provide a specific method for calculating the post rating score and a notification function.
[0440] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0441] Step 1:
[0442] The server calls the API of the social networking site or blog platform at regular intervals to retrieve the latest posts. It receives the response data from the API and saves the data, including the post content, to a database. This operation includes the post text and metadata. The input is the post data retrieved by the API, and the output is the post data saved in the database.
[0443] Step 2:
[0444] The server passes the saved post data to a natural language processing engine (e.g., TextBlob) for tokenization, part-of-speech tagging, and sentiment analysis. The natural language processing engine receives the post text as input and outputs tokenized text data, part-of-speech tags, and sentiment scores.
[0445] Step 3:
[0446] The server calculates the post's rating score based on the features obtained in the previous step. The rating score is calculated taking into account originality, similarity to other posts, and topicality. The user's past action data is also used to calculate the rating score. The input is feature data and user action data, and the output is the rating score.
[0447] Step 4:
[0448] The server receives the user's emotion data provided by the emotion engine. The emotion engine analyzes the user's facial expressions, voice tone, and input text to generate emotion data. The input is the data obtained from the emotion engine, and the output is an emotion score.
[0449] Step 5:
[0450] The server further adjusts the rating score using the sentiment data. If the sentiment score is high, the rating score of the corresponding post is also adjusted to be higher. The input is the rating score and sentiment score, and the output is the adjusted rating score.
[0451] Step 6:
[0452] The server selects posts that are deemed interesting to each user based on the adjusted rating score. This selection criteria also takes into account the user's emotional data. The input is the adjusted rating score, and the output is a list of selected highly rated posts.
[0453] Step 7:
[0454] The server sends the selected list of highly rated posts to each user's device. The sent data includes the post content, URL, rating score, etc. The input is the list of highly rated posts, and the output is the data sent to the user's device.
[0455] Step 8:
[0456] The device notifies the user based on the likeable posts received from the server. The device displays the notification as a pop-up notification or in the app. The input is the data sent from the server, and the output is the notification sent to the user.
[0457] Step 9:
[0458] Users browse highly rated posts through their devices and "like" or "follow" posts they like. This generates user action data. The input is the user's browsing and actions, and the output is the generated action data.
[0459] Step 10:
[0460] The terminal sends user action data to the server, which receives it and uses it to improve the accuracy of the evaluation model. The input is the user action data, and the output is update data for the evaluation model.
[0461] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0462] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (registered trademark) (Internet search engine).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0463] In the above embodiment, an example in which the specific process is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific process may be performed by the smart device 14.
[0464] [Second embodiment]
[0465] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0466] 3, the data processing system 210 includes the data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0467] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0468] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, and the camera 42 are also connected to the bus 52.
[0469] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0470] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0471] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0472] Fig. 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Fig. 4, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0473] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0474] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0475] In the smart glasses 214, the reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0476] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal."
[0477] The present invention is a system that collects posts from social networking sites and blog platforms, analyzes and evaluates the content of those posts, and prioritizes displaying highly rated posts to attract users' interest. The specific program processing of this system is described below.
[0478] overview
[0479] The system of the present invention consists of three main components: a server, a terminal, and a user. The server is responsible for collecting, analyzing, evaluating, selecting, and sending posts, while the terminal is responsible for notifying and displaying them. Users view posts and take action.
[0480] Program processing
[0481] Below, the specific operations of the server, terminal, and user are explained in natural language.
[0482] Server Operation
[0483] 1. Collecting posts:
[0484] The server periodically calls the API of the social networking site or blog platform to retrieve the latest posts, ensuring that the latest posts are always collected.
[0485] 2. Post Analysis:
[0486] The server passes the retrieved posts to a natural language processing (NLP) engine for tokenization, part-of-speech tagging, sentiment analysis, etc. For example, the server analyzes tweets and extracts part-of-speech information for each word. It also evaluates the post's positive / negative sentiment through sentiment analysis.
[0487] 3. Feature extraction:
[0488] Important features (keywords, sentiment scores, grammatical patterns, etc.) are extracted from the analysis results and stored in a database.
[0489] 4. Calculation of the rating score:
[0490] The server calculates an evaluation score based on the features, such as originality, similarity to other posts, and topicality. It also calculates a customized evaluation score by taking into account the user's past action data.
[0491] 5. Top Post Selection:
[0492] Based on the rating score, posts deemed interesting to each user are selected. For example, the server selects the top 10 posts with the highest rating score for user A.
[0493] 6. Content Submission:
[0494] The server sends the selected list of highly rated posts to the user's terminal, which receives the list and notifies the user.
[0495] Device behavior
[0496] 1. Notice and Display:
[0497] When the device receives a liked post from the server, it notifies the user, and when the user opens the app, it displays these posts first.
[0498] User behavior
[0499] 1. View and act on posts:
[0500] Users can view highly rated posts through their devices and "like" or "follow" posts they like. This action data is then sent to the server.
[0501] Specific examples
[0502] For example, suppose user A is interested in technology. The server uses the Twitter API to collect the latest technology-related tweets and analyzes these tweets using an NLP engine. Based on the features extracted through the analysis, it calculates a rating score and generates a customized score taking into account user A's past "like" and "follow" data. As a result, the server selects the top 10 most highly rated tweets and sends them to user A's device as a notification. The device notifies user A of new highly rated tweets and displays them in the app. When user A clicks "like," the data is sent to the server and used to improve the rating model.
[0503] In this way, the system of the present invention helps users efficiently find content that is likely to interest them, improving the user experience.
[0504] The processing flow will be explained below.
[0505] Step 1:
[0506] Collecting posts:
[0507] The server calls the API of the social media or blog platform to retrieve the latest posts at regular intervals.
[0508] The acquired post data is saved in the database, including the post ID, text, user information, timestamp, etc.
[0509] Step 2:
[0510] Post analysis:
[0511] The server passes the text of the retrieved post to a natural language processing (NLP) engine.
[0512] The NLP engine tokenizes the submitted text and tags it with parts of speech.
[0513] The server then performs a sentiment analysis and calculates a positive or negative sentiment score, for example, positive posts are given a high sentiment score.
[0514] Step 3:
[0515] Feature extraction:
[0516] The server extracts important features (keywords, sentiment scores, grammatical patterns, etc.) from the analysis results.
[0517] The extracted features are stored in a database.
[0518] Step 4:
[0519] Rating score calculation:
[0520] Based on the extracted features, the server calculates a score that evaluates each post's originality, similarity to other posts, and topicality.
[0521] The server also takes into account each user's past likes and follows to calculate a customized rating score for each user.
[0522] Step 5:
[0523] Top Post Selection:
[0524] The server selects the most highly rated posts based on the calculated rating score, taking into account each user's preferences.
[0525] For example, if a user is interested in technology, the app will select highly rated technology-related posts.
[0526] Step 6:
[0527] Submitting content:
[0528] The server sends the selected list of highly rated posts to each user's device.
[0529] The transmitted data includes the post content, URL, rating score, etc.
[0530] Step 7:
[0531] Notifications and Displays:
[0532] The device notifies the user based on the highly rated posts received from the server.
[0533] The device will use notification popups and in-app priority display to show users new, highly rated posts.
[0534] Step 8:
[0535] Recording user actions:
[0536] Users can "like" or "follow" posts displayed on their devices.
[0537] The terminal transmits these action data to the server.
[0538] Step 9:
[0539] Evaluation model improvements:
[0540] The server analyzes collected user action data such as "likes" and "follows" and performs retraining to improve the accuracy of the evaluation model.
[0541] The newly retrained model provides a more accurate rating score.
[0542] In this way, each step works in cooperation to realize a system that can provide users with content that is of high value on a priority basis.
[0543] Example 1
[0544] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0545] Social media and blog platforms have a huge number of posts, making it difficult for users to efficiently find content that interests them. Furthermore, existing systems do not adequately customize content based on user preferences, which can lead to users missing the posts that interest them most. This can lead to a poor user experience and reduced frequency of use of the platform.
[0546] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0547] In this invention, the server includes: means for acquiring posts from an SNS or blog platform; means for analyzing the acquired posts using a natural language processing engine and extracting features; means for calculating a rating score for the posts based on the features; means for selecting posts to be displayed preferentially based on each user's preferences based on the rating score; means for sending the selected posts to the user's device and notifying and displaying them; means for recording user actions such as "Like" and "Follow" and using the recorded actions to improve the accuracy of the rating model; means for periodically calling the API of the SNS or blog platform to acquire the latest posts; means for storing keywords, sentiment scores, and grammar patterns from the analysis results in a database; means for the device to receive the highly rated posts sent from the server and notify the user; and means for the user to view and select the highly rated posts through the device. This allows the most interesting content to be displayed preferentially based on the user's interests and preferences, enabling the user to efficiently find posts of interest.
[0548] "SNS" is an abbreviation for social networking service, an online platform where users can interact with each other and share information.
[0549] "Blog Platform" refers to a website or service that allows users to post and publish articles.
[0550] A "post" refers to content such as text, images, or videos that a user uploads to a social media or blogging platform.
[0551] A "natural language processing engine" refers to software or tools that allow a computer to analyze human language.
[0552] "Features" refer to important elements or parameters extracted for data analysis.
[0553] "Rating score" refers to a number calculated to quantitatively represent the value and interest of a post.
[0554] "Preferences" refers to the preferences or interests a user has for a particular type of content.
[0555] "Terminal" refers to devices used by users, such as smartphones, tablets, and computers.
[0556] "API" is an abbreviation for Application Programming Interface, and refers to an interface for using functions between different software applications.
[0557] "Tokenization" refers to the process of breaking text into smaller units such as words and phrases.
[0558] "Part-of-speech tagging" refers to the process of identifying and tagging each word with its part of speech.
[0559] "Sentiment analysis" refers to the process of assessing the emotional tone of text and classifying it as positive, negative, neutral, etc.
[0560] A "database" refers to a system that stores and manages data.
[0561] "Notifications" refers to alerts or messages that inform users of important information.
[0562] "Instructions" refer to the reactions and intentions that users express through actions such as "likes" and "follows."
[0563] This invention is a system that collects posts from social networking sites and blog platforms, analyzes and evaluates them, and provides them to users. This system consists of three main components: a server, a terminal, and a user. The specific hardware and software configurations, as well as the details of each process, are explained below.
[0564] Server Configuration
[0565] The server mainly consists of the following hardware and software:
[0566] Hardware:
[0567] A fast CPU, RAM, and large storage devices.
[0568] Internet connection interface.
[0569] software:
[0570] Operating system (e.g. Linux).
[0571] A database management system (e.g., MySQL).
[0572] A natural language processing (NLP) engine (e.g., Google Cloud Natural Language API).
[0573] API clients for social media platforms (e.g. Twitter API).
[0574] Device configuration
[0575] The terminal is used by the user and consists of the following hardware and software.
[0576] Hardware:
[0577] Smartphone, tablet, or computer.
[0578] Visual display and input interface (touchscreen, keyboard, etc.).
[0579] software:
[0580] Operating system (e.g. Android, iOS, Windows).
[0581] Dedicated application or web browser.
[0582] User actions
[0583] The user accesses the system through a terminal and performs the following actions:
[0584] View posts.
[0585] Like or follow.
[0586] Get notified.
[0587] Specific processing flow
[0588] Collecting Posts
[0589] The server periodically calls the APIs of social media and blogging platforms to retrieve new posts. For example, it uses the Twitter API to retrieve the latest tweets containing a specific keyword (e.g., "technology").
[0590] Post Analysis
[0591] The server passes the collected posts to a natural language processing engine (e.g., Google Cloud Natural Language API) for tokenization, part-of-speech tagging, and sentiment analysis. The analysis results are extracted as features and stored in a database.
[0592] Calculating the reputation score
[0593] The server calculates evaluation scores based on the extracted features (e.g., keywords, sentiment scores), such as originality, similarity, and topicality. It also generates customized evaluation scores by taking into account the user's past action data (e.g., "likes" and "follows").
[0594] Selecting and sending your top posts
[0595] The server selects the most popular posts based on their rating scores and sends the list to the user's device, which receives the data and notifies the user.
[0596] User action record
[0597] When a user "likes" or "follows," the action data is sent from the device to the server and used to improve the evaluation model in the future.
[0598] Specific examples
[0599] For example, if User A is interested in technology, the server uses the Twitter API to collect the latest technology-related tweets. The collected tweets are analyzed using the Google Cloud Natural Language API to extract features. A rating score is then calculated, and a customized score is generated based on User A's past "likes" and "follows." The server then sends a list of highly rated tweets to User A's device, and User A is notified of new highly rated tweets.
[0600] Prompt Sentence Examples
[0601] "Please explain in detail the steps of a system that allows users to find and display the latest, most popular technology-related tweets."
[0602] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0603] Step 1:
[0604] The server periodically calls the API of the social networking or blogging platform to collect new posts. The input is the API endpoint of the social networking or blogging platform and the conditions for the posts to be collected (e.g., specific hashtags or keywords). The output is the collected post data, which is stored in a database.
[0605] What it does: Every hour, the server calls the Twitter API to retrieve the latest tweets containing the hashtag "technology" and stores them in a database.
[0606] Step 2:
[0607] The server passes the collected post data to a natural language processing engine (e.g., Google Cloud Natural Language API), which performs text tokenization, part-of-speech tagging, and sentiment analysis. The input is the collected post data, and the output is the analysis results. The analysis results are extracted as features such as keywords, sentiment scores, and grammatical patterns, and are stored in a database.
[0608] What it does: The server passes the collected tweets to the Google Cloud Natural Language API, tags each word in the tweet with a part-of-speech tag, rates the sentiment as positive or negative, and stores the results in a database.
[0609] Step 3:
[0610] The server extracts important features from the analysis results. The input is the analysis results obtained from the natural language processing engine, and the output is features such as keywords, sentiment scores, and grammatical patterns. These features are stored in a database.
[0611] Specific operation: The server extracts keywords such as "AI" and "Machine Learning" from tweets, calculates the sentiment score for the article, and stores it in the database.
[0612] Step 4:
[0613] The server calculates evaluation scores based on the features, such as originality, similarity, and topicality. In addition, it generates a customized evaluation score using the user's past action data (e.g., "likes" and "follows"). The input is the features and the user's past action data, and the output is the evaluation score.
[0614] How it works: The server calculates the originality and sentiment score of each tweet (the less similar it is to other posts, the higher the score) and generates a customized score taking into account User A's "like" history.
[0615] Step 5:
[0616] The server selects the highly rated posts. The input is the rating score, and the output is a list of the top-ranked posts. Based on the rating score, the server selects the posts that are deemed to be of the most interest to each user.
[0617] Specific operation: The server selects the top 10 tweets for user A based on their rating scores.
[0618] Step 6:
[0619] The server sends the selected list of highly rated posts to the user's device. The input is the list of highly rated posts, and the output is the transmitted data. HTTPS or other communication protocols are used.
[0620] Specific operation: The server sends a list of highly rated tweets to user A's device via HTTPS.
[0621] Step 7:
[0622] The device receives the liked posts sent from the server and notifies the user. The input is the list of liked posts sent from the server, and the output is the notification to the user. When the user opens the app, these posts are displayed preferentially.
[0623] Specific behavior: The device sends a push notification to User A saying, "There are new highly rated tweets." It also displays these tweets at the top of the app.
[0624] Step 8:
[0625] Users browse the highly rated posts through their devices and "like" or "follow" the posts they like. The input is the highly rated posts and user actions, and the output is the action data sent to the server. This action data is used to improve the rating model in the future.
[0626] Specific behavior: When User A "likes" a highly rated tweet, that action is sent to the server and used to improve the rating model.
[0627] (Application example 1)
[0628] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0629] In modern society, a vast amount of information is generated on social media and blog platforms, making it difficult for users to efficiently obtain information that interests them. There is also a demand for providing customized content based on user preferences, but conventional methods are insufficient to provide personalization that effectively reflects user preferences. Furthermore, a system is needed that can improve the accuracy of analyzing collected data and effectively select content that users highly rate.
[0630] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0631] In this invention, the server includes means for acquiring posts from a social networking site or blog platform, means for analyzing the acquired posts using a natural language processing engine and extracting features, means for calculating a rating score for the posts based on the features, means for selecting posts to be preferentially displayed based on the rating scores and taking each user's preferences into consideration, means for sending the selected posts to the user's device and notifying and displaying them, means for recording actions taken by the user and using the recorded actions to improve the accuracy of the rating model, means for calculating a similarity score for the posts based on the user's preferences, and means for selecting highly rated posts based on the similarity score. This makes it possible to efficiently select highly rated posts that interest users and improve the user experience.
[0632] "SNS and blog platforms" are services that allow users to post information and opinions on the Internet and interact with other users.
[0633] A "post" is any content such as a message, photo, video, or link that a user publishes on a social media or blog platform.
[0634] A "natural language processing engine" is a software technology that analyzes text data and understands its meaning, grammatical structure, emotions, etc.
[0635] "Features" are important attributes or information extracted from text data that serve as criteria for classification and evaluation.
[0636] "Rating score" means a numerical representation of the quality of a post and the level of user interest.
[0637] "User preferences" refer to the interests and preferences that a user has shown in the past.
[0638] "Posts that should be displayed preferentially" are posts that are more important or relevant than other posts and should be shown to users first.
[0639] A "notification" is an action that informs the user of new information or important events.
[0640] An "action" is an interaction a user makes, such as "liking," "following," or commenting.
[0641] A "rating model" is a set of algorithms and databases used to calculate user preferences and post ratings.
[0642] The "similarity score" is a number that indicates the similarity between the user's preferences and the content of the post.
[0643] A "highly rated post" is a post that has a high rating score and is judged to be of great interest to users.
[0644] This invention relates to a system that collects posts from social networking sites and blog platforms, analyzes and evaluates the content of those posts, and displays them preferentially to each user. This system consists of three main components: a server, a terminal, and a user.
[0645] Server Operation
[0646] 1. Collecting posts:
[0647] The server periodically calls the API of the social networking site or blog platform to retrieve the latest posts. This collection process uses an HTTP request to request data from the API and saves the post data obtained as a response. The required hardware is a server device with an internet connection, and the software uses the requests library.
[0648] 2. Post Analysis:
[0649] The post data is passed to a natural language processing engine for tokenization, part-of-speech tagging, and sentiment analysis. This allows important features to be extracted from each post. Specifically, the post text is tokenized using TextBlob, and sentiment analysis is performed to obtain a positive or negative sentiment score. These results are then stored in a database.
[0650] 3. Calculation of the rating score:
[0651] The evaluation score is calculated based on the extracted features. Furthermore, to generate a customized evaluation score that takes into account the user's preferences, the user's past action data is also referenced. The score calculation uses TF-IDF vectorization and cosine similarity using scikit-learn to evaluate the similarity between users and posts.
[0652] 4. Top Post Selection:
[0653] Based on a customized rating score, posts deemed most interesting to users are selected and then run through a selection algorithm to generate a personalized list for each user.
[0654] 5. Content Submission:
[0655] The selected list of highly rated posts is sent to the user's device using the HTTP protocol, and the device receives the list and notifies the user as needed.
[0656] Device behavior
[0657] 1. Notice and Display:
[0658] When the device receives a liked post sent from the server, it notifies the user. For example, push notifications are sometimes used on smartphones. The notified post is displayed preferentially within the application, allowing the user to quickly view posts that interest them.
[0659] User behavior
[0660] 1. View and act on posts:
[0661] Users can view highly rated posts on their devices and take actions such as "Like" or "Follow" based on their interests. These action data are sent to the server and used to improve the rating model.
[0662] Specific examples
[0663] If a user is interested in technology-related information, the server first collects the latest related posts from the social networking site's API. The collected posts are then analyzed using a natural language processing engine to perform sentiment analysis and keyword extraction. A rating score is calculated based on the analysis results, and a customized feed is generated for each user. This feed is sent to the device and notified to the user. The user can view the highly rated posts displayed and press "Like" on the ones they like. This data is then sent back to the server and used to improve the accuracy of future rating models.
[0664] Prompt Sentence Examples
[0665] We're collecting the latest relevant and positive posts based on your past tech likes and follows. Here are some of the most interesting posts:
[0666] Articles about the future of AI
[0667] Latest Gadget Reviews
[0668] Technology Startup Success Stories
[0669] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0670] Step 1:
[0671] Collecting Posts
[0672] The server periodically calls the API of the SNS or blog platform to retrieve the latest posts. Specifically, it retrieves post data from the SNS or blog platform using an HTTP request and stores it in the server's database. The input is the response from the SNS or blog platform's API, and the output is the retrieved post data.
[0673] Step 2:
[0674] Post Analysis
[0675] The server passes the acquired post data to a natural language processing engine for tokenization, part-of-speech tagging, and sentiment analysis. Specifically, it uses the TextBlob library to split each post text into tokens, tag each token with a part of speech, and then performs sentiment analysis. The input is the text portion of the post data collected in Step 1, and the output is the tokenized text, part-of-speech tags, and sentiment scores.
[0676] Step 3:
[0677] Feature extraction
[0678] The server extracts important features from the analysis results of natural language processing, such as sentiment scores, keywords, and grammatical patterns. These features are recorded in a database. The input is the analysis results from step 2, and the output is the extracted feature set.
[0679] Step 4:
[0680] Calculating the reputation score
[0681] The server calculates the rating score of the post based on the extracted features. It also takes into account the user's past action data to generate a customized rating score. Specifically, it uses the scikit-learn library to perform TF-IDF vectorization and calculate the similarity between the user's preferences and the post. The input is the user's past action data and the feature set extracted in step 3, and the output is the rating score for each post.
[0682] Step 5:
[0683] Selection of top-rated posts
[0684] The server selects posts that are deemed highly rated by the user based on the rating score. Through the selection algorithm, posts with high rating scores are listed for each user. The input is the rating score generated in step 4, and the output is a list of highly rated posts for each user.
[0685] Step 6:
[0686] Submitting content
[0687] The server sends the selected list of highly rated posts to the user's device. The HTTP protocol is used for communication, and the device receives the list and notifies the user as needed. The input is the list of highly rated posts generated in step 5, and the output is the result sent to the user's device.
[0688] Step 7:
[0689] Notifications and Displays
[0690] When the device receives a liked post sent from the server, it notifies the user. Specifically, push notifications are sometimes used on smartphones. The notified post is displayed preferentially within the application. The input is the list of liked posts received from the server, and the output is a notification to the user and display within the application.
[0691] Step 8:
[0692] Viewing and acting on posts
[0693] Users view highly rated posts through their devices and take actions such as "Like" or "Follow" based on their interests. These action data are sent to the server and used to improve the rating model. The input is the user's action, and the output is the action data sent to the server.
[0694] ---
[0695] Through the above steps, the present invention can efficiently select highly rated posts that interest users, improving the user experience.
[0696] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[0697] This invention is a system that collects posts from social networking sites and blog platforms, analyzes and evaluates them, and provides users with the most appropriate content. Furthermore, by combining it with an emotion engine, it is possible to recognize user emotions and utilize this data to provide even more accurate evaluations. The program processing of this system is explained below.
[0698] overview
[0699] The system of the present invention consists of four main components: a server, a terminal, a user, and an emotion engine. The server is responsible for collecting, analyzing, evaluating, selecting, and sending posts, while the terminal is responsible for notifying and displaying them. Users view posts and take action. The emotion engine recognizes the user's emotions and provides that data to the server.
[0700] Program processing
[0701] Below, the specific operations of the server, terminal, user, and emotion engine are explained in natural language.
[0702] Server Operation
[0703] 1. Collecting posts:
[0704] The server periodically calls the API of the social networking site or blog platform to retrieve the latest posts, which are then stored in a database.
[0705] 2. Post Analysis:
[0706] The server passes the text of the posts to a natural language processing (NLP) engine for tokenization, part-of-speech tagging, and sentiment analysis. Through the analysis, important features are extracted and stored in a database.
[0707] 3. Calculation of the rating score:
[0708] The server calculates a score based on the post's features, evaluating its originality, similarity to other posts, and topicality. It also calculates a customized evaluation score based on the user's past action data.
[0709] 4. Use of user sentiment data:
[0710] The server uses the user's emotional data provided by the emotion engine to calculate a more accurate rating score, for example, adjusting the rating score to take into account the positive emotions expressed by the user toward the post.
[0711] 5. Top Post Selection:
[0712] The server selects posts deemed interesting to each user based on their rating scores, taking into account the user's emotional data.
[0713] 6. Content Submission:
[0714] The server then sends the selected list of highly rated posts to each user's device. The data sent includes the post's content, URL, rating score, etc.
[0715] Device behavior
[0716] 1. Notice and Display:
[0717] The device will notify the user based on the likeable posts received from the server, and the device will prioritize displaying them as a notification pop-up or within the app.
[0718] User behavior
[0719] 1. View and act on posts:
[0720] Users can view highly rated posts through their devices and "like" or "follow" posts they like. These action data are then sent to the server.
[0721] Emotion Engine Operation
[0722] 1. Emotion Recognition:
[0723] The emotion engine recognizes the user's emotions by analyzing their facial expressions, voice tone, input text, etc. For example, if a user reacts to a post with a smile, it generates positive emotion data.
[0724] 2. Data provision:
[0725] The emotion engine sends the recognized emotion data to the server, which uses the emotion data to calculate the evaluation score.
[0726] Specific examples
[0727] For example, suppose User B is interested in health. The server analyzes health-related posts obtained via the API and extracts features. The emotion engine also collects emotional data that User B showed when viewing health-related posts in the past. The server calculates a rating score based on this data and increases the rating score for posts that show a high number of positive emotions. Finally, a list of highly rated posts is selected and sent to User B's device. The device notifies User B of new highly rated posts and displays them within the app. When User B clicks "Like," the data is sent to the server and used to improve the rating model.
[0728] In this way, by combining emotion engines, we can more accurately deliver content that users are truly interested in, improving the user experience.
[0729] The processing flow will be explained below.
[0730] Step 1:
[0731] Collecting posts:
[0732] The server calls the API of the social media or blog platform at regular intervals to obtain the latest post data.
[0733] The acquired post data is stored in a database along with metadata such as ID, text, user information, and timestamp.
[0734] Step 2:
[0735] Post analysis:
[0736] The server passes the collected posts to a natural language processing engine for analysis.
[0737] The NLP engine tokenizes the post text and performs part-of-speech tagging and sentiment analysis. For example, the word "Awesome!" is tagged with a positive score in sentiment analysis.
[0738] Step 3:
[0739] Feature extraction:
[0740] The server extracts important features (keywords, sentiment scores, grammatical patterns, etc.) from the analysis results.
[0741] The extracted features are stored in a database and are subsequently used to calculate the evaluation score.
[0742] Step 4:
[0743] Rating score calculation:
[0744] Based on the extracted features, the server calculates a score that evaluates each post's originality, similarity to other posts, and topicality.
[0745] It also calculates a customized rating score that takes into account the user's past likes and follows.
[0746] Step 5:
[0747] Use of user sentiment data:
[0748] The emotion engine collects emotion data by monitoring the user's facial expressions, voice tone, input text, etc. For example, if a user smiles after seeing a post, it generates positive emotion data.
[0749] The server uses the user's emotional data provided by the emotion engine to further customize the rating score.
[0750] Step 6:
[0751] Top Post Selection:
[0752] The server selects the most highly rated posts based on the calculated rating score, taking into account the user's emotional data.
[0753] For example, technology-related posts with positive sentiment data will be ranked higher in the rating score.
[0754] Step 7:
[0755] Submitting content:
[0756] The server sends the selected list of highly rated posts to each user's device.
[0757] The submitted data includes the post content, URL, rating score, etc.
[0758] Step 8:
[0759] Notifications and Displays:
[0760] The device notifies the user based on the highly rated posts received from the server.
[0761] These posts will be prioritized when users open the app, for example, with a notification popup announcing new, highly-rated posts.
[0762] Step 9:
[0763] Recording user actions:
[0764] Users can "like" or "follow" posts displayed on their devices.
[0765] The terminal transmits these action data to the server.
[0766] Step 10:
[0767] Evaluation model improvements:
[0768] The server analyzes the collected user action data such as "likes" and "follows" and uses it to improve the accuracy of the evaluation model.
[0769] The server uses the newly retrained model to provide a more accurate rating score.
[0770] In this way, each step works in tandem to create a system that prioritizes providing content that is of high value to users. The use of an emotion engine can more accurately reflect user interests and concerns, improving the user experience.
[0771] Example 2
[0772] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0773] Conventional content collection systems have struggled to provide content that fully takes into account user preferences and emotions. Furthermore, the ability to reflect user actions in rating models was limited, making it difficult to improve the user experience. Furthermore, the accuracy of rating posts was low, making it difficult to provide users with information that was truly useful to them.
[0774] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0775] In this invention, the server includes means for collecting posts from social networking sites and blog platforms, means for analyzing the acquired posts using a natural language processing engine and extracting features, means for calculating evaluation scores for the posts based on the features, means for calculating more accurate evaluation scores by taking user emotional data into account in the acquired evaluation scores, means for selecting posts to be preferentially displayed based on the evaluation scores and taking each user's preferences into account, means for sending the selected posts to the user's device and notifying and displaying them, and means for recording actions taken by the user (e.g., "Like" or "Follow") and using the recorded actions to improve the accuracy of the evaluation model. This makes it possible to provide highly accurate content that takes user preferences and emotions into account.
[0776] "SNS and blog platforms" refers to online social networking services and blog systems where users can post and share information.
[0777] A "post" refers to content such as text, images, videos, and links that a user uploads to a social media or blogging platform.
[0778] A "natural language processing engine" refers to a software program for analyzing text data and performing tasks such as tokenization, part-of-speech tagging, and sentiment analysis.
[0779] "Features" refer to important data points or attributes extracted from the analyzed posts and used to calculate the rating score.
[0780] "Evaluation score" refers to a numerical rating given to each post based on the post's originality, similarity, topicality, etc.
[0781] "Emotional data" refers to data that represents a user's emotional state and is obtained based on facial expressions, voice tone, and text analysis.
[0782] "Action" refers to the actions a user takes on a post, such as "liking" or "following."
[0783] "Device" refers to a device used by a User, such as a computer, smartphone, or tablet.
[0784] "API" refers to a set of protocols and tools provided for interfacing with other software applications.
[0785] "Tokenization" refers to the process of breaking down text data into smaller units, such as individual words or phrases.
[0786] "Part-of-speech tagging" refers to the process of assigning to each word in a text its grammatical category (noun, verb, adjective, etc.).
[0787] "Sentiment analysis" refers to the process of extracting emotional indicators from text or speech and classifying them into emotional categories such as positive, negative, or neutral.
[0788] A "database" refers to a system in which information is collected and stored in an organized manner, and there are various types such as MySQL and PostgreSQL.
[0789] This invention is a system that collects, analyzes, and evaluates posts from social networking sites and blog platforms to provide users with the most appropriate content. Specifically, it consists of four main components: a server, a terminal, a user, and an emotion engine. The main operations of this system are explained below.
[0790] Server Operation
[0791] 1. Collecting posts:
[0792] The server periodically calls the API of the social networking site or blog platform to retrieve the latest posts. For example, posts are collected using the Twitter API or blog API. The retrieved post data is then stored in a MySQL database.
[0793] 2. Post Analysis:
[0794] The server passes the text of the retrieved post to a natural language processing (NLP) engine for tokenization, part-of-speech tagging, and sentiment analysis. Specifically, it uses Google's BERT model and SpaCy. The key features extracted as a result of the analysis are stored in a database.
[0795] 3. Calculation of the rating score:
[0796] The server evaluates the originality, similarity, and topicality of posts based on the analyzed features and calculates a score. The evaluation uses a machine learning model using Python's SciPy library and Keras. The server also adjusts the evaluation score by taking into account the user's past action data (such as "likes" and "follows").
[0797] 4. Use of user sentiment data:
[0798] The server uses the user's emotion data provided by the emotion engine to calculate a more accurate rating score, for example, increasing the rating score for posts that express positive emotions.
[0799] 5. Select and submit your top submissions:
[0800] The server selects posts that are likely to be of interest to each user based on their rating scores, and sends a list of the selected highly rated posts to the user's device. The transmitted data includes the content of the post, its URL, rating score, etc.
[0801] Device behavior
[0802] The device notifies the user of the likeable posts received from the server and displays them preferentially within the app. Specifically, push notifications are used to notify users of new likeable posts.
[0803] User behavior
[0804] Users can view highly rated posts through their devices and "like" or "follow" posts they like. These action data are sent from the device to the server and used to improve the accuracy of the rating model.
[0805] Emotion Engine Operation
[0806] 1. Emotion Recognition:
[0807] The emotion engine analyzes the user's facial expressions, voice tone, input text, etc. to recognize the user's emotions. Examples include facial recognition using OpenCV, speech analysis using Google Cloud Speech-to-Text, and text analysis using NLTK. This generates an emotion score such as positive, negative, or neutral.
[0808] 2. Data provision:
[0809] The emotion engine sends the recognized emotion data to the server, which uses this data to recalculate the post's rating score and improve its accuracy.
[0810] Specific examples
[0811] For example, if User B is interested in health, the server analyzes health-related posts obtained via the API and extracts features. The emotion engine also collects emotional data that User B expressed when viewing health-related posts in the past. The server calculates a rating score based on this data and increases the rating score of posts that show a lot of positive emotions. In this process, libraries such as SciPy and Keras are used, as mentioned above. The final list of highly rated posts is sent to User B's device. The device notifies User B of new highly rated posts and displays them within the app. When User B clicks "Like," the data is sent to the server and used to improve the rating model.
[0812] Example prompts for generative AI models
[0813] "Please provide an overview of the system that collects, analyzes, and evaluates the latest health-related posts from social media and blog platforms to provide users with the most appropriate health information. Please also provide a detailed description of how the emotion engine utilizes emotion data."
[0814] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0815] Step 1:
[0816] Collecting Posts
[0817] The server calls the API of the social media or blog platform at regular intervals to retrieve the latest posts. Specifically, the server sends a request to the Twitter API or blog API to retrieve the latest post data that matches the specified keywords. At this stage, the input is the raw post data collected from the API, and the output is the post data that is saved in a database on the server. The server saves the retrieved post data in a MySQL database.
[0818] Step 2:
[0819] Post Analysis
[0820] The server passes the retrieved post text to a natural language processing (NLP) engine for analysis. Specifically, the server uses Google's BERT model or SpaCy to tokenize the post text, tag parts of speech, and perform sentiment analysis. At this stage, the input is the post text stored in the database, and the output is data including tokens, part-of-speech tags, and sentiment scores. The server extracts important features as the analysis results and stores them back in the database.
[0821] Step 3:
[0822] Calculating the reputation score
[0823] The server evaluates the originality, similarity, and topicality of posts based on the analyzed features and calculates a rating score. Specifically, the server calculates similarity scores using Python's SciPy library, and evaluates originality and topicality using machine learning models using TensorFlow and Keras. At this stage, the input is the analyzed feature data, and the output is a rating score for each post. The rating score is also adjusted taking into account the user's past action data (such as "likes" and "follows").
[0824] Step 4:
[0825] Use of user sentiment data
[0826] The server uses the user's emotional data provided by the emotion engine to calculate a more accurate evaluation score. Specifically, the server adds the positive emotion score indicated by the user to the existing evaluation score. At this stage, the input is the emotional data sent from the emotion engine, and the output is the final evaluation score that takes the emotional data into account.
[0827] Step 5:
[0828] Selection of top-rated posts
[0829] The server selects posts that are likely to be of interest to each user based on their rating scores. Specifically, the server sorts the list of posts in descending order of rating score and selects the top posts. At this stage, the input is the post data with the final rating score, and the output is the selected list of highly rated posts.
[0830] Step 6:
[0831] Submitting content
[0832] The server sends the selected list of highly rated posts to each user's device. Specifically, the server sends the selected list of posts to the device API via a POST request. At this stage, the input is the selected list of highly rated posts, and the output is the data sent to the user's device.
[0833] Step 7:
[0834] Notifications and Displays
[0835] The device notifies the user based on the likeable posts received from the server. Specifically, the device generates a push notification and displays it preferentially within the app. At this stage, the input is the list of likeable posts received from the server, and the output is the notification and post information displayed to the user.
[0836] Step 8:
[0837] Viewing and acting on posts
[0838] Users view highly rated posts through their devices and "like" or "follow" posts they like. Specifically, when a user views a post within the app and presses the "like" button, that information is sent to the server. At this stage, the input is the user's action, and the output is the action data sent to the server.
[0839] Step 9:
[0840] Emotion recognition
[0841] The emotion engine analyzes the user's facial expression, voice tone, and input text to recognize the user's emotion. Specifically, the emotion engine recognizes facial expressions using OpenCV, analyzes voice using Google Cloud Speech-to-Text, and analyzes text using NLTK. At this stage, the input is the user's facial expression data, voice data, and text data, and the output is an emotion score.
[0842] Step 10:
[0843] Data provision
[0844] The emotion engine sends the recognized emotion data to the server. Specifically, it sends the emotion score generated by the emotion engine to the server in JSON format. At this stage, the input is the emotion score, and the output is the emotion data sent to the server.
[0845] (Application example 2)
[0846] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0847] In systems that analyze posts obtained from social media and blog platforms and provide users with the most appropriate content, conventional methods have limitations when it comes to using user emotion data to make more accurate content recommendations. Furthermore, there is a lack of mechanisms for quickly responding to changes in user preferences and providing appropriate content. Therefore, more personalized and real-time content recommendations are needed to improve the user experience.
[0848] The identification process 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 acquiring posts from an SNS or blog platform, means for analyzing the acquired posts using a natural language processing engine and extracting features, means for calculating a rating score for the posts based on the features, means for selecting posts to be preferentially displayed based on the rating score and taking each user's preferences into consideration, means for sending the selected posts to the user's device and notifying and displaying them, means for recording actions taken by the user and using the recorded actions to improve the accuracy of the rating model, means for acquiring the user's emotional data and incorporating it into the calculation of the rating score, and means for preferentially selecting content suitable for the user based on the emotional data. This enables more accurate content recommendations that take the user's emotions and preferences into consideration.
[0849] "SNS" is an abbreviation for social networking service, an online platform for users to communicate with each other.
[0850] A "blog platform" is an online service that allows users to publish and share text and images.
[0851] "Post" is a general term for content such as text, images, and videos that users publish on social media or blog platforms.
[0852] A "natural language processing engine" is a software technology that analyzes human language and understands its meaning and grammatical structure.
[0853] A "feature" is an index or numerical value that indicates the characteristics or patterns of data extracted from the data to be analyzed.
[0854] The "rating score" is a numerical value calculated to quantitatively evaluate the quality and relevance of a post.
[0855] "User preferences" are preferences and tendencies based on the user's past interests and concerns.
[0856] A "notification" is an alert or message that informs the user of specific information.
[0857] "Actions" are various actions that users take within the system, such as "Like" or "Follow."
[0858] "Emotional data" is information that represents a user's emotional state and is primarily collected from facial expressions, voice, text, etc.
[0859] "Content" refers to information or media such as text, images, and videos posted on social media or blog platforms.
[0860] A "customized rating score" is a specific rating score calculated taking into account an individual user's preferences and behavioral history.
[0861] An "evaluation model" is a computational model for evaluating the content of posts and providing it to users.
[0862] This invention is a system that collects and analyzes posts from social media and blog platforms, and provides users with the most appropriate content. Furthermore, by combining it with an emotion engine, it can recognize user emotions and utilize data to improve the accuracy of evaluations.
[0863] Server Operation
[0864] The server periodically calls the APIs of social media and blog platforms to retrieve the latest posts and store them in a database. The posted text is passed to a natural language processing engine (e.g., TextBlob) where it is tokenized, tagged with parts of speech, and analyzed for sentiment to extract important features. The rating score is calculated by taking into account originality, similarity to other posts, topicality, and the user's past action data. The accuracy of the rating score is also improved by taking into account user sentiment data provided by the sentiment engine. A list of selected highly rated posts is then sent to the user's device.
[0865] Device behavior
[0866] The device will notify users of the likeable posts received from the server, either in the form of a pop-up or within the app, allowing users to view and confirm the content.
[0867] User behavior
[0868] Users can view the highly rated posts displayed on their devices and take actions such as "Like" or "Follow" on posts they like. These action data are sent to the server and used to improve the accuracy of the rating model.
[0869] Emotion Engine Operation
[0870] The emotion engine analyzes the user's facial expressions, voice tone, and input text to recognize emotions. For example, if a user sees a post and has a positive reaction, that data is sent to the server and reflected in the calculation of the rating score.
[0871] Hardware and software used
[0872] Specific hardware requirements include a server and user devices (such as smartphones and PCs). Software requirements include a natural language processing engine (e.g., TextBlob) and an emotion engine. APIs and databases are used to collect, store, analyze, and notify data.
[0873] Specific examples
[0874] For example, suppose User B is interested in health. The server analyzes health-related posts obtained via the API and extracts features. The emotion engine collects the positive emotions User B expressed when viewing health-related posts in the past. The server calculates a rating score based on this data and increases the rating score of posts that show a high number of positive emotions. Finally, a list of highly rated posts is selected and sent to User B's device. The device notifies User B of new highly rated posts and displays them within the app. When User B clicks "Like," the data is sent to the server and used to improve the rating model.
[0875] Prompt Sentence Examples
[0876] Please build a system that uses sentiment data to recommend the most suitable health-related articles to User B, who is interested in health. This system will collect, analyze, and rate social media posts and blog posts, and combine them with a sentiment engine to improve the accuracy of the rating. Please also provide a specific method for calculating the post rating score and a notification function.
[0877] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0878] Step 1:
[0879] The server calls the API of the social networking site or blog platform at regular intervals to retrieve the latest posts. It receives the response data from the API and saves the data, including the post content, to a database. This operation includes the post text and metadata. The input is the post data retrieved by the API, and the output is the post data saved in the database.
[0880] Step 2:
[0881] The server passes the saved post data to a natural language processing engine (e.g., TextBlob) for tokenization, part-of-speech tagging, and sentiment analysis. The natural language processing engine receives the post text as input and outputs tokenized text data, part-of-speech tags, and sentiment scores.
[0882] Step 3:
[0883] The server calculates the post's rating score based on the features obtained in the previous step. The rating score is calculated taking into account originality, similarity to other posts, and topicality. The user's past action data is also used to calculate the rating score. The input is feature data and user action data, and the output is the rating score.
[0884] Step 4:
[0885] The server receives the user's emotion data provided by the emotion engine. The emotion engine analyzes the user's facial expressions, voice tone, and input text to generate emotion data. The input is the data obtained from the emotion engine, and the output is an emotion score.
[0886] Step 5:
[0887] The server further adjusts the rating score using the sentiment data. If the sentiment score is high, the rating score of the corresponding post is also adjusted to be higher. The input is the rating score and sentiment score, and the output is the adjusted rating score.
[0888] Step 6:
[0889] The server selects posts that are deemed interesting to each user based on the adjusted rating score. This selection criteria also takes into account the user's emotional data. The input is the adjusted rating score, and the output is a list of selected highly rated posts.
[0890] Step 7:
[0891] The server sends the selected list of highly rated posts to each user's device. The sent data includes the post content, URL, rating score, etc. The input is the list of highly rated posts, and the output is the data sent to the user's device.
[0892] Step 8:
[0893] The device notifies the user based on the likeable posts received from the server. The device displays the notification as a pop-up notification or in the app. The input is the data sent from the server, and the output is the notification sent to the user.
[0894] Step 9:
[0895] Users browse highly rated posts through their devices and "like" or "follow" posts they like. This generates user action data. The input is the user's browsing and actions, and the output is the generated action data.
[0896] Step 10:
[0897] The terminal sends user action data to the server, which receives it and uses it to improve the accuracy of the evaluation model. The input is the user action data, and the output is update data for the evaluation model.
[0898] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0899] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0900] In the above embodiment, an example in which the specific processing is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the smart glasses 214.
[0901] [Third embodiment]
[0902] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0903] 5, the data processing system 310 includes the data processing device 12 and a headset type terminal 314. An example of the data processing device 12 is a server.
[0904] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0905] The headset type terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a display 343. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the display 343 are also connected to the bus 52.
[0906] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0907] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0908] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0909] Fig. 6 shows an example of the main functions of the data processing device 12 and the headset type terminal 314. As shown in Fig. 6, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0910] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0911] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0912] In the headset type terminal 314, a reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0913] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the headset type terminal 314 will be referred to as the "terminal."
[0914] The present invention is a system that collects posts from social networking sites and blog platforms, analyzes and evaluates the content of those posts, and prioritizes displaying highly rated posts to attract users' interest. The specific program processing of this system is described below.
[0915] overview
[0916] The system of the present invention consists of three main components: a server, a terminal, and a user. The server is responsible for collecting, analyzing, evaluating, selecting, and sending posts, while the terminal is responsible for notifying and displaying them. Users view posts and take action.
[0917] Program processing
[0918] Below, the specific operations of the server, terminal, and user are explained in natural language.
[0919] Server Operation
[0920] 1. Collecting posts:
[0921] The server periodically calls the API of the social networking site or blog platform to retrieve the latest posts, ensuring that the latest posts are always collected.
[0922] 2. Post Analysis:
[0923] The server passes the retrieved posts to a natural language processing (NLP) engine for tokenization, part-of-speech tagging, sentiment analysis, etc. For example, the server analyzes tweets and extracts part-of-speech information for each word. It also evaluates the post's positive / negative sentiment through sentiment analysis.
[0924] 3. Feature extraction:
[0925] Important features (keywords, sentiment scores, grammatical patterns, etc.) are extracted from the analysis results and stored in a database.
[0926] 4. Calculation of the rating score:
[0927] The server calculates an evaluation score based on the features, such as originality, similarity to other posts, and topicality. It also calculates a customized evaluation score by taking into account the user's past action data.
[0928] 5. Top Post Selection:
[0929] Based on the rating score, posts deemed interesting to each user are selected. For example, the server selects the top 10 posts with the highest rating score for user A.
[0930] 6. Content Submission:
[0931] The server sends the selected list of highly rated posts to the user's terminal, which receives the list and notifies the user.
[0932] Device behavior
[0933] 1. Notice and Display:
[0934] When the device receives a liked post from the server, it notifies the user, and when the user opens the app, it displays these posts first.
[0935] User behavior
[0936] 1. View and act on posts:
[0937] Users can view highly rated posts through their devices and "like" or "follow" posts they like. This action data is then sent to the server.
[0938] Specific examples
[0939] For example, suppose user A is interested in technology. The server uses the Twitter API to collect the latest technology-related tweets and analyzes these tweets using an NLP engine. Based on the features extracted through the analysis, it calculates a rating score and generates a customized score taking into account user A's past "like" and "follow" data. As a result, the server selects the top 10 most highly rated tweets and sends them to user A's device as a notification. The device notifies user A of new highly rated tweets and displays them in the app. When user A clicks "like," the data is sent to the server and used to improve the rating model.
[0940] In this way, the system of the present invention helps users efficiently find content that is likely to interest them, improving the user experience.
[0941] The processing flow will be explained below.
[0942] Step 1:
[0943] Collecting posts:
[0944] The server calls the API of the social media or blog platform to retrieve the latest posts at regular intervals.
[0945] The acquired post data is saved in the database, including the post ID, text, user information, timestamp, etc.
[0946] Step 2:
[0947] Post analysis:
[0948] The server passes the text of the retrieved post to a natural language processing (NLP) engine.
[0949] The NLP engine tokenizes the submitted text and tags it with parts of speech.
[0950] The server then performs a sentiment analysis and calculates a positive or negative sentiment score, for example, positive posts are given a high sentiment score.
[0951] Step 3:
[0952] Feature extraction:
[0953] The server extracts important features (keywords, sentiment scores, grammatical patterns, etc.) from the analysis results.
[0954] The extracted features are stored in a database.
[0955] Step 4:
[0956] Rating score calculation:
[0957] Based on the extracted features, the server calculates a score that evaluates each post's originality, similarity to other posts, and topicality.
[0958] The server also takes into account each user's past likes and follows to calculate a customized rating score for each user.
[0959] Step 5:
[0960] Top Post Selection:
[0961] The server selects the most highly rated posts based on the calculated rating score, taking into account each user's preferences.
[0962] For example, if a user is interested in technology, the app will select highly rated technology-related posts.
[0963] Step 6:
[0964] Submitting content:
[0965] The server sends the selected list of highly rated posts to each user's device.
[0966] The transmitted data includes the post content, URL, rating score, etc.
[0967] Step 7:
[0968] Notifications and Displays:
[0969] The device notifies the user based on the highly rated posts received from the server.
[0970] The device will use notification popups and in-app priority display to show users new, highly rated posts.
[0971] Step 8:
[0972] Recording user actions:
[0973] Users can "like" or "follow" posts displayed on their devices.
[0974] The terminal transmits these action data to the server.
[0975] Step 9:
[0976] Evaluation model improvements:
[0977] The server analyzes collected user action data such as "likes" and "follows" and performs retraining to improve the accuracy of the evaluation model.
[0978] The newly retrained model provides a more accurate rating score.
[0979] In this way, each step works in cooperation to realize a system that can provide users with content that is of high value on a priority basis.
[0980] Example 1
[0981] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0982] Social media and blog platforms have a huge number of posts, making it difficult for users to efficiently find content that interests them. Furthermore, existing systems do not adequately customize content based on user preferences, which can lead to users missing the posts that interest them most. This can lead to a poor user experience and reduced frequency of use of the platform.
[0983] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0984] In this invention, the server includes: means for acquiring posts from an SNS or blog platform; means for analyzing the acquired posts using a natural language processing engine and extracting features; means for calculating a rating score for the posts based on the features; means for selecting posts to be displayed preferentially based on each user's preferences based on the rating score; means for sending the selected posts to the user's device and notifying and displaying them; means for recording user actions such as "Like" and "Follow" and using the recorded actions to improve the accuracy of the rating model; means for periodically calling the API of the SNS or blog platform to acquire the latest posts; means for storing keywords, sentiment scores, and grammar patterns from the analysis results in a database; means for the device to receive the highly rated posts sent from the server and notify the user; and means for the user to view and select the highly rated posts through the device. This allows the most interesting content to be displayed preferentially based on the user's interests and preferences, enabling the user to efficiently find posts of interest.
[0985] "SNS" is an abbreviation for social networking service, an online platform where users can interact with each other and share information.
[0986] "Blog Platform" refers to a website or service that allows users to post and publish articles.
[0987] A "post" refers to content such as text, images, or videos that a user uploads to a social media or blogging platform.
[0988] A "natural language processing engine" refers to software or tools that allow a computer to analyze human language.
[0989] "Features" refer to important elements or parameters extracted for data analysis.
[0990] "Rating score" refers to a number calculated to quantitatively represent the value and interest of a post.
[0991] "Preferences" refers to the preferences or interests a user has for a particular type of content.
[0992] "Terminal" refers to devices used by users, such as smartphones, tablets, and computers.
[0993] "API" is an abbreviation for Application Programming Interface, and refers to an interface for using functions between different software applications.
[0994] "Tokenization" refers to the process of breaking text into smaller units such as words and phrases.
[0995] "Part-of-speech tagging" refers to the process of identifying and tagging each word with its part of speech.
[0996] "Sentiment analysis" refers to the process of assessing the emotional tone of text and classifying it as positive, negative, neutral, etc.
[0997] A "database" refers to a system that stores and manages data.
[0998] "Notifications" refers to alerts or messages that inform users of important information.
[0999] "Instructions" refer to the reactions and intentions that users express through actions such as "likes" and "follows."
[1000] This invention is a system that collects posts from social networking sites and blog platforms, analyzes and evaluates them, and provides them to users. This system consists of three main components: a server, a terminal, and a user. The specific hardware and software configurations, as well as the details of each process, are explained below.
[1001] Server Configuration
[1002] The server mainly consists of the following hardware and software:
[1003] Hardware:
[1004] A fast CPU, RAM, and large storage devices.
[1005] Internet connection interface.
[1006] software:
[1007] Operating system (e.g. Linux).
[1008] A database management system (e.g., MySQL).
[1009] A natural language processing (NLP) engine (e.g., Google Cloud Natural Language API).
[1010] API clients for social media platforms (e.g. Twitter API).
[1011] Device configuration
[1012] The terminal is used by the user and consists of the following hardware and software.
[1013] Hardware:
[1014] Smartphone, tablet, or computer.
[1015] Visual display and input interface (touchscreen, keyboard, etc.).
[1016] software:
[1017] Operating system (e.g. Android, iOS, Windows).
[1018] Dedicated application or web browser.
[1019] User actions
[1020] The user accesses the system through a terminal and performs the following actions:
[1021] View posts.
[1022] Like or follow.
[1023] Get notified.
[1024] Specific processing flow
[1025] Collecting Posts
[1026] The server periodically calls the APIs of social media and blogging platforms to retrieve new posts. For example, it uses the Twitter API to retrieve the latest tweets containing a specific keyword (e.g., "technology").
[1027] Post Analysis
[1028] The server passes the collected posts to a natural language processing engine (e.g., Google Cloud Natural Language API) for tokenization, part-of-speech tagging, and sentiment analysis. The analysis results are extracted as features and stored in a database.
[1029] Calculating the reputation score
[1030] The server calculates evaluation scores based on the extracted features (e.g., keywords, sentiment scores), such as originality, similarity, and topicality. It also generates customized evaluation scores by taking into account the user's past action data (e.g., "likes" and "follows").
[1031] Selecting and sending your top posts
[1032] The server selects the most popular posts based on their rating scores and sends the list to the user's device, which receives the data and notifies the user.
[1033] User action record
[1034] When a user "likes" or "follows," the action data is sent from the device to the server and used to improve the evaluation model in the future.
[1035] Specific examples
[1036] For example, if User A is interested in technology, the server uses the Twitter API to collect the latest technology-related tweets. The collected tweets are analyzed using the Google Cloud Natural Language API to extract features. A rating score is then calculated, and a customized score is generated based on User A's past "likes" and "follows." The server then sends a list of highly rated tweets to User A's device, and User A is notified of new highly rated tweets.
[1037] Prompt Sentence Examples
[1038] "Please explain in detail the steps of a system that allows users to find and display the latest, most popular technology-related tweets."
[1039] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1040] Step 1:
[1041] The server periodically calls the API of the social networking or blogging platform to collect new posts. The input is the API endpoint of the social networking or blogging platform and the conditions for the posts to be collected (e.g., specific hashtags or keywords). The output is the collected post data, which is stored in a database.
[1042] What it does: Every hour, the server calls the Twitter API to retrieve the latest tweets containing the hashtag "technology" and stores them in a database.
[1043] Step 2:
[1044] The server passes the collected post data to a natural language processing engine (e.g., Google Cloud Natural Language API), which performs text tokenization, part-of-speech tagging, and sentiment analysis. The input is the collected post data, and the output is the analysis results. The analysis results are extracted as features such as keywords, sentiment scores, and grammatical patterns, and are stored in a database.
[1045] What it does: The server passes the collected tweets to the Google Cloud Natural Language API, tags each word in the tweet with a part-of-speech tag, rates the sentiment as positive or negative, and stores the results in a database.
[1046] Step 3:
[1047] The server extracts important features from the analysis results. The input is the analysis results obtained from the natural language processing engine, and the output is features such as keywords, sentiment scores, and grammatical patterns. These features are stored in a database.
[1048] Specific operation: The server extracts keywords such as "AI" and "Machine Learning" from tweets, calculates the sentiment score for the article, and stores it in the database.
[1049] Step 4:
[1050] The server calculates evaluation scores based on the features, such as originality, similarity, and topicality. In addition, it generates a customized evaluation score using the user's past action data (e.g., "likes" and "follows"). The input is the features and the user's past action data, and the output is the evaluation score.
[1051] How it works: The server calculates the originality and sentiment score of each tweet (the less similar it is to other posts, the higher the score) and generates a customized score taking into account User A's "like" history.
[1052] Step 5:
[1053] The server selects the highly rated posts. The input is the rating score, and the output is a list of the top-ranked posts. Based on the rating score, the server selects the posts that are deemed to be of the most interest to each user.
[1054] Specific operation: The server selects the top 10 tweets for user A based on their rating scores.
[1055] Step 6:
[1056] The server sends the selected list of highly rated posts to the user's device. The input is the list of highly rated posts, and the output is the transmitted data. HTTPS or other communication protocols are used.
[1057] Specific operation: The server sends a list of highly rated tweets to user A's device via HTTPS.
[1058] Step 7:
[1059] The device receives the liked posts sent from the server and notifies the user. The input is the list of liked posts sent from the server, and the output is the notification to the user. When the user opens the app, these posts are displayed preferentially.
[1060] Specific behavior: The device sends a push notification to User A saying, "There are new highly rated tweets." It also displays these tweets at the top of the app.
[1061] Step 8:
[1062] Users browse the highly rated posts through their devices and "like" or "follow" the posts they like. The input is the highly rated posts and user actions, and the output is the action data sent to the server. This action data is used to improve the rating model in the future.
[1063] Specific behavior: When User A "likes" a highly rated tweet, that action is sent to the server and used to improve the rating model.
[1064] (Application example 1)
[1065] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1066] In modern society, a vast amount of information is generated on social media and blog platforms, making it difficult for users to efficiently obtain information that interests them. There is also a demand for providing customized content based on user preferences, but conventional methods are insufficient to provide personalization that effectively reflects user preferences. Furthermore, a system is needed that can improve the accuracy of analyzing collected data and effectively select content that users highly rate.
[1067] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[1068] In this invention, the server includes means for acquiring posts from a social networking site or blog platform, means for analyzing the acquired posts using a natural language processing engine and extracting features, means for calculating a rating score for the posts based on the features, means for selecting posts to be preferentially displayed based on the rating scores and taking each user's preferences into consideration, means for sending the selected posts to the user's device and notifying and displaying them, means for recording actions taken by the user and using the recorded actions to improve the accuracy of the rating model, means for calculating a similarity score for the posts based on the user's preferences, and means for selecting highly rated posts based on the similarity score. This makes it possible to efficiently select highly rated posts that interest users and improve the user experience.
[1069] "SNS and blog platforms" are services that allow users to post information and opinions on the Internet and interact with other users.
[1070] A "post" is any content such as a message, photo, video, or link that a user publishes on a social media or blog platform.
[1071] A "natural language processing engine" is a software technology that analyzes text data and understands its meaning, grammatical structure, emotions, etc.
[1072] "Features" are important attributes or information extracted from text data that serve as criteria for classification and evaluation.
[1073] "Rating score" means a numerical representation of the quality of a post and the level of user interest.
[1074] "User preferences" refer to the interests and preferences that a user has shown in the past.
[1075] "Posts that should be displayed preferentially" are posts that are more important or relevant than other posts and should be shown to users first.
[1076] A "notification" is an action that informs the user of new information or important events.
[1077] An "action" is an interaction a user makes, such as "liking," "following," or commenting.
[1078] A "rating model" is a set of algorithms and databases used to calculate user preferences and post ratings.
[1079] The "similarity score" is a number that indicates the similarity between the user's preferences and the content of the post.
[1080] A "highly rated post" is a post that has a high rating score and is judged to be of great interest to users.
[1081] This invention relates to a system that collects posts from social networking sites and blog platforms, analyzes and evaluates the content of those posts, and displays them preferentially to each user. This system consists of three main components: a server, a terminal, and a user.
[1082] Server Operation
[1083] 1. Collecting posts:
[1084] The server periodically calls the API of the social networking site or blog platform to retrieve the latest posts. This collection process uses an HTTP request to request data from the API and saves the post data obtained as a response. The required hardware is a server device with an internet connection, and the software uses the requests library.
[1085] 2. Post Analysis:
[1086] The post data is passed to a natural language processing engine for tokenization, part-of-speech tagging, and sentiment analysis. This allows important features to be extracted from each post. Specifically, the post text is tokenized using TextBlob, and sentiment analysis is performed to obtain a positive or negative sentiment score. These results are then stored in a database.
[1087] 3. Calculation of the rating score:
[1088] The evaluation score is calculated based on the extracted features. Furthermore, to generate a customized evaluation score that takes into account the user's preferences, the user's past action data is also referenced. The score calculation uses TF-IDF vectorization and cosine similarity using scikit-learn to evaluate the similarity between users and posts.
[1089] 4. Top Post Selection:
[1090] Based on a customized rating score, posts deemed most interesting to users are selected and then run through a selection algorithm to generate a personalized list for each user.
[1091] 5. Content Submission:
[1092] The selected list of highly rated posts is sent to the user's device using the HTTP protocol, and the device receives the list and notifies the user as needed.
[1093] Device behavior
[1094] 1. Notice and Display:
[1095] When the device receives a liked post sent from the server, it notifies the user. For example, push notifications are sometimes used on smartphones. The notified post is displayed preferentially within the application, allowing the user to quickly view posts that interest them.
[1096] User behavior
[1097] 1. View and act on posts:
[1098] Users can view highly rated posts on their devices and take actions such as "Like" or "Follow" based on their interests. These action data are sent to the server and used to improve the rating model.
[1099] Specific examples
[1100] If a user is interested in technology-related information, the server first collects the latest related posts from the social networking site's API. The collected posts are then analyzed using a natural language processing engine to perform sentiment analysis and keyword extraction. A rating score is calculated based on the analysis results, and a customized feed is generated for each user. This feed is sent to the device and notified to the user. The user can view the highly rated posts displayed and press "Like" on the ones they like. This data is then sent back to the server and used to improve the accuracy of future rating models.
[1101] Prompt Sentence Examples
[1102] We're collecting the latest relevant and positive posts based on your past tech likes and follows. Here are some of the most interesting posts:
[1103] Articles about the future of AI
[1104] Latest Gadget Reviews
[1105] Technology Startup Success Stories
[1106] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1107] Step 1:
[1108] Collecting Posts
[1109] The server periodically calls the API of the SNS or blog platform to retrieve the latest posts. Specifically, it retrieves post data from the SNS or blog platform using an HTTP request and stores it in the server's database. The input is the response from the SNS or blog platform's API, and the output is the retrieved post data.
[1110] Step 2:
[1111] Post Analysis
[1112] The server passes the acquired post data to a natural language processing engine for tokenization, part-of-speech tagging, and sentiment analysis. Specifically, it uses the TextBlob library to split each post text into tokens, tag each token with a part of speech, and then performs sentiment analysis. The input is the text portion of the post data collected in Step 1, and the output is the tokenized text, part-of-speech tags, and sentiment scores.
[1113] Step 3:
[1114] Feature extraction
[1115] The server extracts important features from the analysis results of natural language processing, such as sentiment scores, keywords, and grammatical patterns. These features are recorded in a database. The input is the analysis results from step 2, and the output is the extracted feature set.
[1116] Step 4:
[1117] Calculating the reputation score
[1118] The server calculates the rating score of the post based on the extracted features. It also takes into account the user's past action data to generate a customized rating score. Specifically, it uses the scikit-learn library to perform TF-IDF vectorization and calculate the similarity between the user's preferences and the post. The input is the user's past action data and the feature set extracted in step 3, and the output is the rating score for each post.
[1119] Step 5:
[1120] Selection of top-rated posts
[1121] The server selects posts that are deemed highly rated by the user based on the rating score. Through the selection algorithm, posts with high rating scores are listed for each user. The input is the rating score generated in step 4, and the output is a list of highly rated posts for each user.
[1122] Step 6:
[1123] Submitting content
[1124] The server sends the selected list of highly rated posts to the user's device. The HTTP protocol is used for communication, and the device receives the list and notifies the user as needed. The input is the list of highly rated posts generated in step 5, and the output is the result sent to the user's device.
[1125] Step 7:
[1126] Notifications and Displays
[1127] When the device receives a liked post sent from the server, it notifies the user. Specifically, push notifications are sometimes used on smartphones. The notified post is displayed preferentially within the application. The input is the list of liked posts received from the server, and the output is a notification to the user and display within the application.
[1128] Step 8:
[1129] Viewing and acting on posts
[1130] Users view highly rated posts through their devices and take actions such as "Like" or "Follow" based on their interests. These action data are sent to the server and used to improve the rating model. The input is the user's action, and the output is the action data sent to the server.
[1131] ---
[1132] Through the above steps, the present invention can efficiently select highly rated posts that interest users, improving the user experience.
[1133] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1134] This invention is a system that collects posts from social networking sites and blog platforms, analyzes and evaluates them, and provides users with the most appropriate content. Furthermore, by combining it with an emotion engine, it is possible to recognize user emotions and utilize this data to provide even more accurate evaluations. The program processing of this system is explained below.
[1135] overview
[1136] The system of the present invention consists of four main components: a server, a terminal, a user, and an emotion engine. The server is responsible for collecting, analyzing, evaluating, selecting, and sending posts, while the terminal is responsible for notifying and displaying them. Users view posts and take action. The emotion engine recognizes the user's emotions and provides that data to the server.
[1137] Program processing
[1138] Below, the specific operations of the server, terminal, user, and emotion engine are explained in natural language.
[1139] Server Operation
[1140] 1. Collecting posts:
[1141] The server periodically calls the API of the social networking site or blog platform to retrieve the latest posts, which are then stored in a database.
[1142] 2. Post Analysis:
[1143] The server passes the text of the posts to a natural language processing (NLP) engine for tokenization, part-of-speech tagging, and sentiment analysis. Through the analysis, important features are extracted and stored in a database.
[1144] 3. Calculation of the rating score:
[1145] The server calculates a score based on the post's features, evaluating its originality, similarity to other posts, and topicality. It also calculates a customized evaluation score based on the user's past action data.
[1146] 4. Use of user sentiment data:
[1147] The server uses the user's emotional data provided by the emotion engine to calculate a more accurate rating score, for example, adjusting the rating score to take into account the positive emotions expressed by the user toward the post.
[1148] 5. Top Post Selection:
[1149] The server selects posts deemed interesting to each user based on their rating scores, taking into account the user's emotional data.
[1150] 6. Content Submission:
[1151] The server then sends the selected list of highly rated posts to each user's device. The data sent includes the post's content, URL, rating score, etc.
[1152] Device behavior
[1153] 1. Notice and Display:
[1154] The device will notify the user based on the likeable posts received from the server, and the device will prioritize displaying them as a notification pop-up or within the app.
[1155] User behavior
[1156] 1. View and act on posts:
[1157] Users can view highly rated posts through their devices and "like" or "follow" posts they like. These action data are then sent to the server.
[1158] Emotion Engine Operation
[1159] 1. Emotion Recognition:
[1160] The emotion engine recognizes the user's emotions by analyzing their facial expressions, voice tone, input text, etc. For example, if a user reacts to a post with a smile, it generates positive emotion data.
[1161] 2. Data provision:
[1162] The emotion engine sends the recognized emotion data to the server, which uses the emotion data to calculate the evaluation score.
[1163] Specific examples
[1164] For example, suppose User B is interested in health. The server analyzes health-related posts obtained via the API and extracts features. The emotion engine also collects emotional data that User B showed when viewing health-related posts in the past. The server calculates a rating score based on this data and increases the rating score for posts that show a high number of positive emotions. Finally, a list of highly rated posts is selected and sent to User B's device. The device notifies User B of new highly rated posts and displays them within the app. When User B clicks "Like," the data is sent to the server and used to improve the rating model.
[1165] In this way, by combining emotion engines, we can more accurately deliver content that users are truly interested in, improving the user experience.
[1166] The processing flow will be explained below.
[1167] Step 1:
[1168] Collecting posts:
[1169] The server calls the API of the social media or blog platform at regular intervals to obtain the latest post data.
[1170] The acquired post data is stored in a database along with metadata such as ID, text, user information, and timestamp.
[1171] Step 2:
[1172] Post analysis:
[1173] The server passes the collected posts to a natural language processing engine for analysis.
[1174] The NLP engine tokenizes the post text and performs part-of-speech tagging and sentiment analysis. For example, the word "Awesome!" is tagged with a positive score in sentiment analysis.
[1175] Step 3:
[1176] Feature extraction:
[1177] The server extracts important features (keywords, sentiment scores, grammatical patterns, etc.) from the analysis results.
[1178] The extracted features are stored in a database and are subsequently used to calculate the evaluation score.
[1179] Step 4:
[1180] Rating score calculation:
[1181] Based on the extracted features, the server calculates a score that evaluates each post's originality, similarity to other posts, and topicality.
[1182] It also calculates a customized rating score that takes into account the user's past likes and follows.
[1183] Step 5:
[1184] Use of user sentiment data:
[1185] The emotion engine collects emotion data by monitoring the user's facial expressions, voice tone, input text, etc. For example, if a user smiles after seeing a post, it generates positive emotion data.
[1186] The server uses the user's emotional data provided by the emotion engine to further customize the rating score.
[1187] Step 6:
[1188] Top Post Selection:
[1189] The server selects the most highly rated posts based on the calculated rating score, taking into account the user's emotional data.
[1190] For example, technology-related posts with positive sentiment data will be ranked higher in the rating score.
[1191] Step 7:
[1192] Submitting content:
[1193] The server sends the selected list of highly rated posts to each user's device.
[1194] The submitted data includes the post content, URL, rating score, etc.
[1195] Step 8:
[1196] Notifications and Displays:
[1197] The device notifies the user based on the highly rated posts received from the server.
[1198] These posts will be prioritized when users open the app, for example, with a notification popup announcing new, highly-rated posts.
[1199] Step 9:
[1200] Recording user actions:
[1201] Users can "like" or "follow" posts displayed on their devices.
[1202] The terminal transmits these action data to the server.
[1203] Step 10:
[1204] Evaluation model improvements:
[1205] The server analyzes the collected user action data such as "likes" and "follows" and uses it to improve the accuracy of the evaluation model.
[1206] The server uses the newly retrained model to provide a more accurate rating score.
[1207] In this way, each step works in tandem to create a system that prioritizes providing content that is of high value to users. The use of an emotion engine can more accurately reflect user interests and concerns, improving the user experience.
[1208] Example 2
[1209] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1210] Conventional content collection systems have struggled to provide content that fully takes into account user preferences and emotions. Furthermore, the ability to reflect user actions in rating models was limited, making it difficult to improve the user experience. Furthermore, the accuracy of rating posts was low, making it difficult to provide users with information that was truly useful to them.
[1211] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[1212] In this invention, the server includes means for collecting posts from social networking sites and blog platforms, means for analyzing the acquired posts using a natural language processing engine and extracting features, means for calculating evaluation scores for the posts based on the features, means for calculating more accurate evaluation scores by taking user emotional data into account in the acquired evaluation scores, means for selecting posts to be preferentially displayed based on the evaluation scores and taking each user's preferences into account, means for sending the selected posts to the user's device and notifying and displaying them, and means for recording actions taken by the user (e.g., "Like" or "Follow") and using the recorded actions to improve the accuracy of the evaluation model. This makes it possible to provide highly accurate content that takes user preferences and emotions into account.
[1213] "SNS and blog platforms" refers to online social networking services and blog systems where users can post and share information.
[1214] A "post" refers to content such as text, images, videos, and links that a user uploads to a social media or blogging platform.
[1215] A "natural language processing engine" refers to a software program for analyzing text data and performing tasks such as tokenization, part-of-speech tagging, and sentiment analysis.
[1216] "Features" refer to important data points or attributes extracted from the analyzed posts and used to calculate the rating score.
[1217] "Evaluation score" refers to a numerical rating given to each post based on the post's originality, similarity, topicality, etc.
[1218] "Emotional data" refers to data that represents a user's emotional state and is obtained based on facial expressions, voice tone, and text analysis.
[1219] "Action" refers to the actions a user takes on a post, such as "liking" or "following."
[1220] "Device" refers to a device used by a User, such as a computer, smartphone, or tablet.
[1221] "API" refers to a set of protocols and tools provided for interfacing with other software applications.
[1222] "Tokenization" refers to the process of breaking down text data into smaller units, such as individual words or phrases.
[1223] "Part-of-speech tagging" refers to the process of assigning to each word in a text its grammatical category (noun, verb, adjective, etc.).
[1224] "Sentiment analysis" refers to the process of extracting emotional indicators from text or speech and classifying them into emotional categories such as positive, negative, or neutral.
[1225] A "database" refers to a system in which information is collected and stored in an organized manner, and there are various types such as MySQL and PostgreSQL.
[1226] This invention is a system that collects, analyzes, and evaluates posts from social networking sites and blog platforms to provide users with the most appropriate content. Specifically, it consists of four main components: a server, a terminal, a user, and an emotion engine. The main operations of this system are explained below.
[1227] Server Operation
[1228] 1. Collecting posts:
[1229] The server periodically calls the API of the social networking site or blog platform to retrieve the latest posts. For example, posts are collected using the Twitter API or blog API. The retrieved post data is then stored in a MySQL database.
[1230] 2. Post Analysis:
[1231] The server passes the text of the retrieved post to a natural language processing (NLP) engine for tokenization, part-of-speech tagging, and sentiment analysis. Specifically, it uses Google's BERT model and SpaCy. The key features extracted as a result of the analysis are stored in a database.
[1232] 3. Calculation of the rating score:
[1233] The server evaluates the originality, similarity, and topicality of posts based on the analyzed features and calculates a score. The evaluation uses a machine learning model using Python's SciPy library and Keras. The server also adjusts the evaluation score by taking into account the user's past action data (such as "likes" and "follows").
[1234] 4. Use of user sentiment data:
[1235] The server uses the user's emotion data provided by the emotion engine to calculate a more accurate rating score, for example, increasing the rating score for posts that express positive emotions.
[1236] 5. Select and submit your top submissions:
[1237] The server selects posts that are likely to be of interest to each user based on their rating scores, and sends a list of the selected highly rated posts to the user's device. The transmitted data includes the content of the post, its URL, rating score, etc.
[1238] Device behavior
[1239] The device notifies the user of the likeable posts received from the server and displays them preferentially within the app. Specifically, push notifications are used to notify users of new likeable posts.
[1240] User behavior
[1241] Users can view highly rated posts through their devices and "like" or "follow" posts they like. These action data are sent from the device to the server and used to improve the accuracy of the rating model.
[1242] Emotion Engine Operation
[1243] 1. Emotion Recognition:
[1244] The emotion engine analyzes the user's facial expressions, voice tone, input text, etc. to recognize the user's emotions. Examples include facial recognition using OpenCV, speech analysis using Google Cloud Speech-to-Text, and text analysis using NLTK. This generates an emotion score such as positive, negative, or neutral.
[1245] 2. Data provision:
[1246] The emotion engine sends the recognized emotion data to the server, which uses this data to recalculate the post's rating score and improve its accuracy.
[1247] Specific examples
[1248] For example, if User B is interested in health, the server analyzes health-related posts obtained via the API and extracts features. The emotion engine also collects emotional data that User B expressed when viewing health-related posts in the past. The server calculates a rating score based on this data and increases the rating score of posts that show a lot of positive emotions. In this process, libraries such as SciPy and Keras are used, as mentioned above. The final list of highly rated posts is sent to User B's device. The device notifies User B of new highly rated posts and displays them within the app. When User B clicks "Like," the data is sent to the server and used to improve the rating model.
[1249] Example prompts for generative AI models
[1250] "Please provide an overview of the system that collects, analyzes, and evaluates the latest health-related posts from social media and blog platforms to provide users with the most appropriate health information. Please also provide a detailed description of how the emotion engine utilizes emotion data."
[1251] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1252] Step 1:
[1253] Collecting Posts
[1254] The server calls the API of the social media or blog platform at regular intervals to retrieve the latest posts. Specifically, the server sends a request to the Twitter API or blog API to retrieve the latest post data that matches the specified keywords. At this stage, the input is the raw post data collected from the API, and the output is the post data that is saved in a database on the server. The server saves the retrieved post data in a MySQL database.
[1255] Step 2:
[1256] Post Analysis
[1257] The server passes the retrieved post text to a natural language processing (NLP) engine for analysis. Specifically, the server uses Google's BERT model or SpaCy to tokenize the post text, tag parts of speech, and perform sentiment analysis. At this stage, the input is the post text stored in the database, and the output is data including tokens, part-of-speech tags, and sentiment scores. The server extracts important features as the analysis results and stores them back in the database.
[1258] Step 3:
[1259] Calculating the reputation score
[1260] The server evaluates the originality, similarity, and topicality of posts based on the analyzed features and calculates a rating score. Specifically, the server calculates similarity scores using Python's SciPy library, and evaluates originality and topicality using machine learning models using TensorFlow and Keras. At this stage, the input is the analyzed feature data, and the output is a rating score for each post. The rating score is also adjusted taking into account the user's past action data (such as "likes" and "follows").
[1261] Step 4:
[1262] Use of user sentiment data
[1263] The server uses the user's emotional data provided by the emotion engine to calculate a more accurate evaluation score. Specifically, the server adds the positive emotion score indicated by the user to the existing evaluation score. At this stage, the input is the emotional data sent from the emotion engine, and the output is the final evaluation score that takes the emotional data into account.
[1264] Step 5:
[1265] Selection of top-rated posts
[1266] The server selects posts that are likely to be of interest to each user based on their rating scores. Specifically, the server sorts the list of posts in descending order of rating score and selects the top posts. At this stage, the input is the post data with the final rating score, and the output is the selected list of highly rated posts.
[1267] Step 6:
[1268] Submitting content
[1269] The server sends the selected list of highly rated posts to each user's device. Specifically, the server sends the selected list of posts to the device API via a POST request. At this stage, the input is the selected list of highly rated posts, and the output is the data sent to the user's device.
[1270] Step 7:
[1271] Notifications and Displays
[1272] The device notifies the user based on the likeable posts received from the server. Specifically, the device generates a push notification and displays it preferentially within the app. At this stage, the input is the list of likeable posts received from the server, and the output is the notification and post information displayed to the user.
[1273] Step 8:
[1274] Viewing and acting on posts
[1275] Users view highly rated posts through their devices and "like" or "follow" posts they like. Specifically, when a user views a post within the app and presses the "like" button, that information is sent to the server. At this stage, the input is the user's action, and the output is the action data sent to the server.
[1276] Step 9:
[1277] Emotion recognition
[1278] The emotion engine analyzes the user's facial expression, voice tone, and input text to recognize the user's emotion. Specifically, the emotion engine recognizes facial expressions using OpenCV, analyzes voice using Google Cloud Speech-to-Text, and analyzes text using NLTK. At this stage, the input is the user's facial expression data, voice data, and text data, and the output is an emotion score.
[1279] Step 10:
[1280] Data provision
[1281] The emotion engine sends the recognized emotion data to the server. Specifically, it sends the emotion score generated by the emotion engine to the server in JSON format. At this stage, the input is the emotion score, and the output is the emotion data sent to the server.
[1282] (Application example 2)
[1283] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1284] In systems that analyze posts obtained from social media and blog platforms and provide users with the most appropriate content, conventional methods have limitations when it comes to using user emotion data to make more accurate content recommendations. Furthermore, there is a lack of mechanisms for quickly responding to changes in user preferences and providing appropriate content. Therefore, more personalized and real-time content recommendations are needed to improve the user experience.
[1285] The identification process 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 acquiring posts from an SNS or blog platform, means for analyzing the acquired posts using a natural language processing engine and extracting features, means for calculating a rating score for the posts based on the features, means for selecting posts to be preferentially displayed based on the rating score and taking each user's preferences into consideration, means for sending the selected posts to the user's device and notifying and displaying them, means for recording actions taken by the user and using the recorded actions to improve the accuracy of the rating model, means for acquiring the user's emotional data and incorporating it into the calculation of the rating score, and means for preferentially selecting content suitable for the user based on the emotional data. This enables more accurate content recommendations that take the user's emotions and preferences into consideration.
[1286] "SNS" is an abbreviation for social networking service, an online platform for users to communicate with each other.
[1287] A "blog platform" is an online service that allows users to publish and share text and images.
[1288] "Post" is a general term for content such as text, images, and videos that users publish on social media or blog platforms.
[1289] A "natural language processing engine" is a software technology that analyzes human language and understands its meaning and grammatical structure.
[1290] A "feature" is an index or numerical value that indicates the characteristics or patterns of data extracted from the data to be analyzed.
[1291] The "rating score" is a numerical value calculated to quantitatively evaluate the quality and relevance of a post.
[1292] "User preferences" are preferences and tendencies based on the user's past interests and concerns.
[1293] A "notification" is an alert or message that informs the user of specific information.
[1294] "Actions" are various actions that users take within the system, such as "Like" or "Follow."
[1295] "Emotional data" is information that represents a user's emotional state and is primarily collected from facial expressions, voice, text, etc.
[1296] "Content" refers to information or media such as text, images, and videos posted on social media or blog platforms.
[1297] A "customized rating score" is a specific rating score calculated taking into account an individual user's preferences and behavioral history.
[1298] An "evaluation model" is a computational model for evaluating the content of posts and providing it to users.
[1299] This invention is a system that collects and analyzes posts from social media and blog platforms, and provides users with the most appropriate content. Furthermore, by combining it with an emotion engine, it can recognize user emotions and utilize data to improve the accuracy of evaluations.
[1300] Server Operation
[1301] The server periodically calls the APIs of social media and blog platforms to retrieve the latest posts and store them in a database. The posted text is passed to a natural language processing engine (e.g., TextBlob) where it is tokenized, tagged with parts of speech, and analyzed for sentiment to extract important features. The rating score is calculated by taking into account originality, similarity to other posts, topicality, and the user's past action data. The accuracy of the rating score is also improved by taking into account user sentiment data provided by the sentiment engine. A list of selected highly rated posts is then sent to the user's device.
[1302] Device behavior
[1303] The device will notify users of the likeable posts received from the server, either in the form of a pop-up or within the app, allowing users to view and confirm the content.
[1304] User behavior
[1305] Users can view the highly rated posts displayed on their devices and take actions such as "Like" or "Follow" on posts they like. These action data are sent to the server and used to improve the accuracy of the rating model.
[1306] Emotion Engine Operation
[1307] The emotion engine analyzes the user's facial expressions, voice tone, and input text to recognize emotions. For example, if a user sees a post and has a positive reaction, that data is sent to the server and reflected in the calculation of the rating score.
[1308] Hardware and software used
[1309] Specific hardware requirements include a server and user devices (such as smartphones and PCs). Software requirements include a natural language processing engine (e.g., TextBlob) and an emotion engine. APIs and databases are used to collect, store, analyze, and notify data.
[1310] Specific examples
[1311] For example, suppose User B is interested in health. The server analyzes health-related posts obtained via the API and extracts features. The emotion engine collects the positive emotions User B expressed when viewing health-related posts in the past. The server calculates a rating score based on this data and increases the rating score of posts that show a high number of positive emotions. Finally, a list of highly rated posts is selected and sent to User B's device. The device notifies User B of new highly rated posts and displays them within the app. When User B clicks "Like," the data is sent to the server and used to improve the rating model.
[1312] Prompt Sentence Examples
[1313] Please build a system that uses sentiment data to recommend the most suitable health-related articles to User B, who is interested in health. This system will collect, analyze, and rate social media posts and blog posts, and combine them with a sentiment engine to improve the accuracy of the rating. Please also provide a specific method for calculating the post rating score and a notification function.
[1314] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1315] Step 1:
[1316] The server calls the API of the social networking site or blog platform at regular intervals to retrieve the latest posts. It receives the response data from the API and saves the data, including the post content, to a database. This operation includes the post text and metadata. The input is the post data retrieved by the API, and the output is the post data saved in the database.
[1317] Step 2:
[1318] The server passes the saved post data to a natural language processing engine (e.g., TextBlob) for tokenization, part-of-speech tagging, and sentiment analysis. The natural language processing engine receives the post text as input and outputs tokenized text data, part-of-speech tags, and sentiment scores.
[1319] Step 3:
[1320] The server calculates the post's rating score based on the features obtained in the previous step. The rating score is calculated taking into account originality, similarity to other posts, and topicality. The user's past action data is also used to calculate the rating score. The input is feature data and user action data, and the output is the rating score.
[1321] Step 4:
[1322] The server receives the user's emotion data provided by the emotion engine. The emotion engine analyzes the user's facial expressions, voice tone, and input text to generate emotion data. The input is the data obtained from the emotion engine, and the output is an emotion score.
[1323] Step 5:
[1324] The server further adjusts the rating score using the sentiment data. If the sentiment score is high, the rating score of the corresponding post is also adjusted to be higher. The input is the rating score and sentiment score, and the output is the adjusted rating score.
[1325] Step 6:
[1326] The server selects posts that are deemed interesting to each user based on the adjusted rating score. This selection criteria also takes into account the user's emotional data. The input is the adjusted rating score, and the output is a list of selected highly rated posts.
[1327] Step 7:
[1328] The server sends the selected list of highly rated posts to each user's device. The sent data includes the post content, URL, rating score, etc. The input is the list of highly rated posts, and the output is the data sent to the user's device.
[1329] Step 8:
[1330] The device notifies the user based on the likeable posts received from the server. The device displays the notification as a pop-up notification or in the app. The input is the data sent from the server, and the output is the notification sent to the user.
[1331] Step 9:
[1332] Users browse highly rated posts through their devices and "like" or "follow" posts they like. This generates user action data. The input is the user's browsing and actions, and the output is the generated action data.
[1333] Step 10:
[1334] The terminal sends user action data to the server, which receives it and uses it to improve the accuracy of the evaluation model. The input is the user action data, and the output is update data for the evaluation model.
[1335] The specific processing unit 290 transmits the result of the specific processing to the headset type terminal 314. In the headset type terminal 314, the control unit 46A causes the speaker 240 and the display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[1336] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1337] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the headset type terminal 314.
[1338] [Fourth embodiment]
[1339] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1340] 7, a data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.
[1341] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[1342] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a control target 443. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the control target 443 are also connected to the bus 52.
[1343] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[1344] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[1345] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[1346] The control object 443 includes a display device, LEDs in the eyes, and motors for driving the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the emotions of the robot 414 can be expressed by controlling these motors. In addition, the facial expressions of the robot 414 can also be expressed by controlling the light emission state of the LEDs in the eyes of the robot 414.
[1347] Fig. 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Fig. 8, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[1348] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[1349] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[1350] In the robot 414, the processor 46 performs the reception output process. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[1351] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1352] The present invention is a system that collects posts from social networking sites and blog platforms, analyzes and evaluates the content of those posts, and prioritizes displaying highly rated posts to attract users' interest. The specific program processing of this system is described below.
[1353] overview
[1354] The system of the present invention consists of three main components: a server, a terminal, and a user. The server is responsible for collecting, analyzing, evaluating, selecting, and sending posts, while the terminal is responsible for notifying and displaying them. Users view posts and take action.
[1355] Program processing
[1356] Below, the specific operations of the server, terminal, and user are explained in natural language.
[1357] Server Operation
[1358] 1. Collecting posts:
[1359] The server periodically calls the API of the social networking site or blog platform to retrieve the latest posts, ensuring that the latest posts are always collected.
[1360] 2. Post Analysis:
[1361] The server passes the retrieved posts to a natural language processing (NLP) engine for tokenization, part-of-speech tagging, sentiment analysis, etc. For example, the server analyzes tweets and extracts part-of-speech information for each word. It also evaluates the post's positive / negative sentiment through sentiment analysis.
[1362] 3. Feature extraction:
[1363] Important features (keywords, sentiment scores, grammatical patterns, etc.) are extracted from the analysis results and stored in a database.
[1364] 4. Calculation of the rating score:
[1365] The server calculates an evaluation score based on the features, such as originality, similarity to other posts, and topicality. It also calculates a customized evaluation score by taking into account the user's past action data.
[1366] 5. Top Post Selection:
[1367] Based on the rating score, posts deemed interesting to each user are selected. For example, the server selects the top 10 posts with the highest rating score for user A.
[1368] 6. Content Submission:
[1369] The server sends the selected list of highly rated posts to the user's terminal, which receives the list and notifies the user.
[1370] Device behavior
[1371] 1. Notice and Display:
[1372] When the device receives a liked post from the server, it notifies the user, and when the user opens the app, it displays these posts first.
[1373] User behavior
[1374] 1. View and act on posts:
[1375] Users can view highly rated posts through their devices and "like" or "follow" posts they like. This action data is then sent to the server.
[1376] Specific examples
[1377] For example, suppose user A is interested in technology. The server uses the Twitter API to collect the latest technology-related tweets and analyzes these tweets using an NLP engine. Based on the features extracted through the analysis, it calculates a rating score and generates a customized score taking into account user A's past "like" and "follow" data. As a result, the server selects the top 10 most highly rated tweets and sends them to user A's device as a notification. The device notifies user A of new highly rated tweets and displays them in the app. When user A clicks "like," the data is sent to the server and used to improve the rating model.
[1378] In this way, the system of the present invention helps users efficiently find content that is likely to interest them, improving the user experience.
[1379] The processing flow will be explained below.
[1380] Step 1:
[1381] Collecting posts:
[1382] The server calls the API of the social media or blog platform to retrieve the latest posts at regular intervals.
[1383] The acquired post data is saved in the database, including the post ID, text, user information, timestamp, etc.
[1384] Step 2:
[1385] Post analysis:
[1386] The server passes the text of the retrieved post to a natural language processing (NLP) engine.
[1387] The NLP engine tokenizes the submitted text and tags it with parts of speech.
[1388] The server then performs a sentiment analysis and calculates a positive or negative sentiment score, for example, positive posts are given a high sentiment score.
[1389] Step 3:
[1390] Feature extraction:
[1391] The server extracts important features (keywords, sentiment scores, grammatical patterns, etc.) from the analysis results.
[1392] The extracted features are stored in a database.
[1393] Step 4:
[1394] Rating score calculation:
[1395] Based on the extracted features, the server calculates a score that evaluates each post's originality, similarity to other posts, and topicality.
[1396] The server also takes into account each user's past likes and follows to calculate a customized rating score for each user.
[1397] Step 5:
[1398] Top Post Selection:
[1399] The server selects the most highly rated posts based on the calculated rating score, taking into account each user's preferences.
[1400] For example, if a user is interested in technology, the app will select highly rated technology-related posts.
[1401] Step 6:
[1402] Submitting content:
[1403] The server sends the selected list of highly rated posts to each user's device.
[1404] The transmitted data includes the post content, URL, rating score, etc.
[1405] Step 7:
[1406] Notifications and Displays:
[1407] The device notifies the user based on the highly rated posts received from the server.
[1408] The device will use notification popups and in-app priority display to show users new, highly rated posts.
[1409] Step 8:
[1410] Recording user actions:
[1411] Users can "like" or "follow" posts displayed on their devices.
[1412] The terminal transmits these action data to the server.
[1413] Step 9:
[1414] Evaluation model improvements:
[1415] The server analyzes collected user action data such as "likes" and "follows" and performs retraining to improve the accuracy of the evaluation model.
[1416] The newly retrained model provides a more accurate rating score.
[1417] In this way, each step works in cooperation to realize a system that can provide users with content that is of high value on a priority basis.
[1418] Example 1
[1419] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1420] Social media and blog platforms have a huge number of posts, making it difficult for users to efficiently find content that interests them. Furthermore, existing systems do not adequately customize content based on user preferences, which can lead to users missing the posts that interest them most. This can lead to a poor user experience and reduced frequency of use of the platform.
[1421] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[1422] In this invention, the server includes: means for acquiring posts from an SNS or blog platform; means for analyzing the acquired posts using a natural language processing engine and extracting features; means for calculating a rating score for the posts based on the features; means for selecting posts to be displayed preferentially based on each user's preferences based on the rating score; means for sending the selected posts to the user's device and notifying and displaying them; means for recording user actions such as "Like" and "Follow" and using the recorded actions to improve the accuracy of the rating model; means for periodically calling the API of the SNS or blog platform to acquire the latest posts; means for storing keywords, sentiment scores, and grammar patterns from the analysis results in a database; means for the device to receive the highly rated posts sent from the server and notify the user; and means for the user to view and select the highly rated posts through the device. This allows the most interesting content to be displayed preferentially based on the user's interests and preferences, enabling the user to efficiently find posts of interest.
[1423] "SNS" is an abbreviation for social networking service, an online platform where users can interact with each other and share information.
[1424] "Blog Platform" refers to a website or service that allows users to post and publish articles.
[1425] A "post" refers to content such as text, images, or videos that a user uploads to a social media or blogging platform.
[1426] A "natural language processing engine" refers to software or tools that allow a computer to analyze human language.
[1427] "Features" refer to important elements or parameters extracted for data analysis.
[1428] "Rating score" refers to a number calculated to quantitatively represent the value and interest of a post.
[1429] "Preferences" refers to the preferences or interests a user has for a particular type of content.
[1430] "Terminal" refers to devices used by users, such as smartphones, tablets, and computers.
[1431] "API" is an abbreviation for Application Programming Interface, and refers to an interface for using functions between different software applications.
[1432] "Tokenization" refers to the process of breaking text into smaller units such as words and phrases.
[1433] "Part-of-speech tagging" refers to the process of identifying and tagging each word with its part of speech.
[1434] "Sentiment analysis" refers to the process of assessing the emotional tone of text and classifying it as positive, negative, neutral, etc.
[1435] A "database" refers to a system that stores and manages data.
[1436] "Notifications" refers to alerts or messages that inform users of important information.
[1437] "Instructions" refer to the reactions and intentions that users express through actions such as "likes" and "follows."
[1438] This invention is a system that collects posts from social networking sites and blog platforms, analyzes and evaluates them, and provides them to users. This system consists of three main components: a server, a terminal, and a user. The specific hardware and software configurations, as well as the details of each process, are explained below.
[1439] Server Configuration
[1440] The server mainly consists of the following hardware and software:
[1441] Hardware:
[1442] A fast CPU, RAM, and large storage devices.
[1443] Internet connection interface.
[1444] software:
[1445] Operating system (e.g. Linux).
[1446] A database management system (e.g., MySQL).
[1447] A natural language processing (NLP) engine (e.g., Google Cloud Natural Language API).
[1448] API clients for social media platforms (e.g. Twitter API).
[1449] Device configuration
[1450] The terminal is used by the user and consists of the following hardware and software.
[1451] Hardware:
[1452] Smartphone, tablet, or computer.
[1453] Visual display and input interface (touchscreen, keyboard, etc.).
[1454] software:
[1455] Operating system (e.g. Android, iOS, Windows).
[1456] Dedicated application or web browser.
[1457] User actions
[1458] The user accesses the system through a terminal and performs the following actions:
[1459] View posts.
[1460] Like or follow.
[1461] Get notified.
[1462] Specific processing flow
[1463] Collecting Posts
[1464] The server periodically calls the APIs of social media and blogging platforms to retrieve new posts. For example, it uses the Twitter API to retrieve the latest tweets containing a specific keyword (e.g., "technology").
[1465] Post Analysis
[1466] The server passes the collected posts to a natural language processing engine (e.g., Google Cloud Natural Language API) for tokenization, part-of-speech tagging, and sentiment analysis. The analysis results are extracted as features and stored in a database.
[1467] Calculating the reputation score
[1468] The server calculates evaluation scores based on the extracted features (e.g., keywords, sentiment scores), such as originality, similarity, and topicality. It also generates customized evaluation scores by taking into account the user's past action data (e.g., "likes" and "follows").
[1469] Selecting and sending your top posts
[1470] The server selects the most popular posts based on their rating scores and sends the list to the user's device, which receives the data and notifies the user.
[1471] User action record
[1472] When a user "likes" or "follows," the action data is sent from the device to the server and used to improve the evaluation model in the future.
[1473] Specific examples
[1474] For example, if User A is interested in technology, the server uses the Twitter API to collect the latest technology-related tweets. The collected tweets are analyzed using the Google Cloud Natural Language API to extract features. A rating score is then calculated, and a customized score is generated based on User A's past "likes" and "follows." The server then sends a list of highly rated tweets to User A's device, and User A is notified of new highly rated tweets.
[1475] Prompt Sentence Examples
[1476] "Please explain in detail the steps of a system that allows users to find and display the latest, most popular technology-related tweets."
[1477] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1478] Step 1:
[1479] The server periodically calls the API of the social networking or blogging platform to collect new posts. The input is the API endpoint of the social networking or blogging platform and the conditions for the posts to be collected (e.g., specific hashtags or keywords). The output is the collected post data, which is stored in a database.
[1480] What it does: Every hour, the server calls the Twitter API to retrieve the latest tweets containing the hashtag "technology" and stores them in a database.
[1481] Step 2:
[1482] The server passes the collected post data to a natural language processing engine (e.g., Google Cloud Natural Language API), which performs text tokenization, part-of-speech tagging, and sentiment analysis. The input is the collected post data, and the output is the analysis results. The analysis results are extracted as features such as keywords, sentiment scores, and grammatical patterns, and are stored in a database.
[1483] What it does: The server passes the collected tweets to the Google Cloud Natural Language API, tags each word in the tweet with a part-of-speech tag, rates the sentiment as positive or negative, and stores the results in a database.
[1484] Step 3:
[1485] The server extracts important features from the analysis results. The input is the analysis results obtained from the natural language processing engine, and the output is features such as keywords, sentiment scores, and grammatical patterns. These features are stored in a database.
[1486] Specific operation: The server extracts keywords such as "AI" and "Machine Learning" from tweets, calculates the sentiment score for the article, and stores it in the database.
[1487] Step 4:
[1488] The server calculates evaluation scores based on the features, such as originality, similarity, and topicality. In addition, it generates a customized evaluation score using the user's past action data (e.g., "likes" and "follows"). The input is the features and the user's past action data, and the output is the evaluation score.
[1489] How it works: The server calculates the originality and sentiment score of each tweet (the less similar it is to other posts, the higher the score) and generates a customized score taking into account User A's "like" history.
[1490] Step 5:
[1491] The server selects the highly rated posts. The input is the rating score, and the output is a list of the top-ranked posts. Based on the rating score, the server selects the posts that are deemed to be of the most interest to each user.
[1492] Specific operation: The server selects the top 10 tweets for user A based on their rating scores.
[1493] Step 6:
[1494] The server sends the selected list of highly rated posts to the user's device. The input is the list of highly rated posts, and the output is the transmitted data. HTTPS or other communication protocols are used.
[1495] Specific operation: The server sends a list of highly rated tweets to user A's device via HTTPS.
[1496] Step 7:
[1497] The device receives the liked posts sent from the server and notifies the user. The input is the list of liked posts sent from the server, and the output is the notification to the user. When the user opens the app, these posts are displayed preferentially.
[1498] Specific behavior: The device sends a push notification to User A saying, "There are new highly rated tweets." It also displays these tweets at the top of the app.
[1499] Step 8:
[1500] Users browse the highly rated posts through their devices and "like" or "follow" the posts they like. The input is the highly rated posts and user actions, and the output is the action data sent to the server. This action data is used to improve the rating model in the future.
[1501] Specific behavior: When User A "likes" a highly rated tweet, that action is sent to the server and used to improve the rating model.
[1502] (Application example 1)
[1503] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1504] In modern society, a vast amount of information is generated on social media and blog platforms, making it difficult for users to efficiently obtain information that interests them. There is also a demand for providing customized content based on user preferences, but conventional methods are insufficient to provide personalization that effectively reflects user preferences. Furthermore, a system is needed that can improve the accuracy of analyzing collected data and effectively select content that users highly rate.
[1505] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[1506] In this invention, the server includes means for acquiring posts from a social networking site or blog platform, means for analyzing the acquired posts using a natural language processing engine and extracting features, means for calculating a rating score for the posts based on the features, means for selecting posts to be preferentially displayed based on the rating scores and taking each user's preferences into consideration, means for sending the selected posts to the user's device and notifying and displaying them, means for recording actions taken by the user and using the recorded actions to improve the accuracy of the rating model, means for calculating a similarity score for the posts based on the user's preferences, and means for selecting highly rated posts based on the similarity score. This makes it possible to efficiently select highly rated posts that interest users and improve the user experience.
[1507] "SNS and blog platforms" are services that allow users to post information and opinions on the Internet and interact with other users.
[1508] A "post" is any content such as a message, photo, video, or link that a user publishes on a social media or blog platform.
[1509] A "natural language processing engine" is a software technology that analyzes text data and understands its meaning, grammatical structure, emotions, etc.
[1510] "Features" are important attributes or information extracted from text data that serve as criteria for classification and evaluation.
[1511] "Rating score" means a numerical representation of the quality of a post and the level of user interest.
[1512] "User preferences" refer to the interests and preferences that a user has shown in the past.
[1513] "Posts that should be displayed preferentially" are posts that are more important or relevant than other posts and should be shown to users first.
[1514] A "notification" is an action that informs the user of new information or important events.
[1515] An "action" is an interaction a user makes, such as "liking," "following," or commenting.
[1516] A "rating model" is a set of algorithms and databases used to calculate user preferences and post ratings.
[1517] The "similarity score" is a number that indicates the similarity between the user's preferences and the content of the post.
[1518] A "highly rated post" is a post that has a high rating score and is judged to be of great interest to users.
[1519] This invention relates to a system that collects posts from social networking sites and blog platforms, analyzes and evaluates the content of those posts, and displays them preferentially to each user. This system consists of three main components: a server, a terminal, and a user.
[1520] Server Operation
[1521] 1. Collecting posts:
[1522] The server periodically calls the API of the social networking site or blog platform to retrieve the latest posts. This collection process uses an HTTP request to request data from the API and saves the post data obtained as a response. The required hardware is a server device with an internet connection, and the software uses the requests library.
[1523] 2. Post Analysis:
[1524] The post data is passed to a natural language processing engine for tokenization, part-of-speech tagging, and sentiment analysis. This allows important features to be extracted from each post. Specifically, the post text is tokenized using TextBlob, and sentiment analysis is performed to obtain a positive or negative sentiment score. These results are then stored in a database.
[1525] 3. Calculation of the rating score:
[1526] The evaluation score is calculated based on the extracted features. Furthermore, to generate a customized evaluation score that takes into account the user's preferences, the user's past action data is also referenced. The score calculation uses TF-IDF vectorization and cosine similarity using scikit-learn to evaluate the similarity between users and posts.
[1527] 4. Top Post Selection:
[1528] Based on a customized rating score, posts deemed most interesting to users are selected and then run through a selection algorithm to generate a personalized list for each user.
[1529] 5. Content Submission:
[1530] The selected list of highly rated posts is sent to the user's device using the HTTP protocol, and the device receives the list and notifies the user as needed.
[1531] Device behavior
[1532] 1. Notice and Display:
[1533] When the device receives a liked post sent from the server, it notifies the user. For example, push notifications are sometimes used on smartphones. The notified post is displayed preferentially within the application, allowing the user to quickly view posts that interest them.
[1534] User behavior
[1535] 1. View and act on posts:
[1536] Users can view highly rated posts on their devices and take actions such as "Like" or "Follow" based on their interests. These action data are sent to the server and used to improve the rating model.
[1537] Specific examples
[1538] If a user is interested in technology-related information, the server first collects the latest related posts from the social networking site's API. The collected posts are then analyzed using a natural language processing engine to perform sentiment analysis and keyword extraction. A rating score is calculated based on the analysis results, and a customized feed is generated for each user. This feed is sent to the device and notified to the user. The user can view the highly rated posts displayed and press "Like" on the ones they like. This data is then sent back to the server and used to improve the accuracy of future rating models.
[1539] Prompt Sentence Examples
[1540] We're collecting the latest relevant and positive posts based on your past tech likes and follows. Here are some of the most interesting posts:
[1541] Articles about the future of AI
[1542] Latest Gadget Reviews
[1543] Technology Startup Success Stories
[1544] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1545] Step 1:
[1546] Collecting Posts
[1547] The server periodically calls the API of the SNS or blog platform to retrieve the latest posts. Specifically, it retrieves post data from the SNS or blog platform using an HTTP request and stores it in the server's database. The input is the response from the SNS or blog platform's API, and the output is the retrieved post data.
[1548] Step 2:
[1549] Post Analysis
[1550] The server passes the acquired post data to a natural language processing engine for tokenization, part-of-speech tagging, and sentiment analysis. Specifically, it uses the TextBlob library to split each post text into tokens, tag each token with a part of speech, and then performs sentiment analysis. The input is the text portion of the post data collected in Step 1, and the output is the tokenized text, part-of-speech tags, and sentiment scores.
[1551] Step 3:
[1552] Feature extraction
[1553] The server extracts important features from the analysis results of natural language processing, such as sentiment scores, keywords, and grammatical patterns. These features are recorded in a database. The input is the analysis results from step 2, and the output is the extracted feature set.
[1554] Step 4:
[1555] Calculating the reputation score
[1556] The server calculates the rating score of the post based on the extracted features. It also takes into account the user's past action data to generate a customized rating score. Specifically, it uses the scikit-learn library to perform TF-IDF vectorization and calculate the similarity between the user's preferences and the post. The input is the user's past action data and the feature set extracted in step 3, and the output is the rating score for each post.
[1557] Step 5:
[1558] Selection of top-rated posts
[1559] The server selects posts that are deemed highly rated by the user based on the rating score. Through the selection algorithm, posts with high rating scores are listed for each user. The input is the rating score generated in step 4, and the output is a list of highly rated posts for each user.
[1560] Step 6:
[1561] Submitting content
[1562] The server sends the selected list of highly rated posts to the user's device. The HTTP protocol is used for communication, and the device receives the list and notifies the user as needed. The input is the list of highly rated posts generated in step 5, and the output is the result sent to the user's device.
[1563] Step 7:
[1564] Notifications and Displays
[1565] When the device receives a liked post sent from the server, it notifies the user. Specifically, push notifications are sometimes used on smartphones. The notified post is displayed preferentially within the application. The input is the list of liked posts received from the server, and the output is a notification to the user and display within the application.
[1566] Step 8:
[1567] Viewing and acting on posts
[1568] Users view highly rated posts through their devices and take actions such as "Like" or "Follow" based on their interests. These action data are sent to the server and used to improve the rating model. The input is the user's action, and the output is the action data sent to the server.
[1569] ---
[1570] Through the above steps, the present invention can efficiently select highly rated posts that interest users, improving the user experience.
[1571] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1572] This invention is a system that collects posts from social networking sites and blog platforms, analyzes and evaluates them, and provides users with the most appropriate content. Furthermore, by combining it with an emotion engine, it is possible to recognize user emotions and utilize this data to provide even more accurate evaluations. The program processing of this system is explained below.
[1573] overview
[1574] The system of the present invention consists of four main components: a server, a terminal, a user, and an emotion engine. The server is responsible for collecting, analyzing, evaluating, selecting, and sending posts, while the terminal is responsible for notifying and displaying them. Users view posts and take action. The emotion engine recognizes the user's emotions and provides that data to the server.
[1575] Program processing
[1576] Below, the specific operations of the server, terminal, user, and emotion engine are explained in natural language.
[1577] Server Operation
[1578] 1. Collecting posts:
[1579] The server periodically calls the API of the social networking site or blog platform to retrieve the latest posts, which are then stored in a database.
[1580] 2. Post Analysis:
[1581] The server passes the text of the posts to a natural language processing (NLP) engine for tokenization, part-of-speech tagging, and sentiment analysis. Through the analysis, important features are extracted and stored in a database.
[1582] 3. Calculation of the rating score:
[1583] The server calculates a score based on the post's features, evaluating its originality, similarity to other posts, and topicality. It also calculates a customized evaluation score based on the user's past action data.
[1584] 4. Use of user sentiment data:
[1585] The server uses the user's emotional data provided by the emotion engine to calculate a more accurate rating score, for example, adjusting the rating score to take into account the positive emotions expressed by the user toward the post.
[1586] 5. Top Post Selection:
[1587] The server selects posts deemed interesting to each user based on their rating scores, taking into account the user's emotional data.
[1588] 6. Content Submission:
[1589] The server then sends the selected list of highly rated posts to each user's device. The data sent includes the post's content, URL, rating score, etc.
[1590] Device behavior
[1591] 1. Notice and Display:
[1592] The device will notify the user based on the likeable posts received from the server, and the device will prioritize displaying them as a notification pop-up or within the app.
[1593] User behavior
[1594] 1. View and act on posts:
[1595] Users can view highly rated posts through their devices and "like" or "follow" posts they like. These action data are then sent to the server.
[1596] Emotion Engine Operation
[1597] 1. Emotion Recognition:
[1598] The emotion engine recognizes the user's emotions by analyzing their facial expressions, voice tone, input text, etc. For example, if a user reacts to a post with a smile, it generates positive emotion data.
[1599] 2. Data provision:
[1600] The emotion engine sends the recognized emotion data to the server, which uses the emotion data to calculate the evaluation score.
[1601] Specific examples
[1602] For example, suppose User B is interested in health. The server analyzes health-related posts obtained via the API and extracts features. The emotion engine also collects emotional data that User B showed when viewing health-related posts in the past. The server calculates a rating score based on this data and increases the rating score for posts that show a high number of positive emotions. Finally, a list of highly rated posts is selected and sent to User B's device. The device notifies User B of new highly rated posts and displays them within the app. When User B clicks "Like," the data is sent to the server and used to improve the rating model.
[1603] In this way, by combining emotion engines, we can more accurately deliver content that users are truly interested in, improving the user experience.
[1604] The processing flow will be explained below.
[1605] Step 1:
[1606] Collecting posts:
[1607] The server calls the API of the social media or blog platform at regular intervals to obtain the latest post data.
[1608] The acquired post data is stored in a database along with metadata such as ID, text, user information, and timestamp.
[1609] Step 2:
[1610] Post analysis:
[1611] The server passes the collected posts to a natural language processing engine for analysis.
[1612] The NLP engine tokenizes the post text and performs part-of-speech tagging and sentiment analysis. For example, the word "Awesome!" is tagged with a positive score in sentiment analysis.
[1613] Step 3:
[1614] Feature extraction:
[1615] The server extracts important features (keywords, sentiment scores, grammatical patterns, etc.) from the analysis results.
[1616] The extracted features are stored in a database and are subsequently used to calculate the evaluation score.
[1617] Step 4:
[1618] Rating score calculation:
[1619] Based on the extracted features, the server calculates a score that evaluates each post's originality, similarity to other posts, and topicality.
[1620] It also calculates a customized rating score that takes into account the user's past likes and follows.
[1621] Step 5:
[1622] Use of user sentiment data:
[1623] The emotion engine collects emotion data by monitoring the user's facial expressions, voice tone, input text, etc. For example, if a user smiles after seeing a post, it generates positive emotion data.
[1624] The server uses the user's emotional data provided by the emotion engine to further customize the rating score.
[1625] Step 6:
[1626] Top Post Selection:
[1627] The server selects the most highly rated posts based on the calculated rating score, taking into account the user's emotional data.
[1628] For example, technology-related posts with positive sentiment data will be ranked higher in the rating score.
[1629] Step 7:
[1630] Submitting content:
[1631] The server sends the selected list of highly rated posts to each user's device.
[1632] The submitted data includes the post content, URL, rating score, etc.
[1633] Step 8:
[1634] Notifications and Displays:
[1635] The device notifies the user based on the highly rated posts received from the server.
[1636] These posts will be prioritized when users open the app, for example, with a notification popup announcing new, highly-rated posts.
[1637] Step 9:
[1638] Recording user actions:
[1639] Users can "like" or "follow" posts displayed on their devices.
[1640] The terminal transmits these action data to the server.
[1641] Step 10:
[1642] Evaluation model improvements:
[1643] The server analyzes the collected user action data such as "likes" and "follows" and uses it to improve the accuracy of the evaluation model.
[1644] The server uses the newly retrained model to provide a more accurate rating score.
[1645] In this way, each step works in tandem to create a system that prioritizes providing content that is of high value to users. The use of an emotion engine can more accurately reflect user interests and concerns, improving the user experience.
[1646] Example 2
[1647] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1648] Conventional content collection systems have struggled to provide content that fully takes into account user preferences and emotions. Furthermore, the ability to reflect user actions in rating models was limited, making it difficult to improve the user experience. Furthermore, the accuracy of rating posts was low, making it difficult to provide users with information that was truly useful to them.
[1649] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[1650] In this invention, the server includes means for collecting posts from social networking sites and blog platforms, means for analyzing the acquired posts using a natural language processing engine and extracting features, means for calculating evaluation scores for the posts based on the features, means for calculating more accurate evaluation scores by taking user emotional data into account in the acquired evaluation scores, means for selecting posts to be preferentially displayed based on the evaluation scores and taking each user's preferences into account, means for sending the selected posts to the user's device and notifying and displaying them, and means for recording actions taken by the user (e.g., "Like" or "Follow") and using the recorded actions to improve the accuracy of the evaluation model. This makes it possible to provide highly accurate content that takes user preferences and emotions into account.
[1651] "SNS and blog platforms" refers to online social networking services and blog systems where users can post and share information.
[1652] A "post" refers to content such as text, images, videos, and links that a user uploads to a social media or blogging platform.
[1653] A "natural language processing engine" refers to a software program for analyzing text data and performing tasks such as tokenization, part-of-speech tagging, and sentiment analysis.
[1654] "Features" refer to important data points or attributes extracted from the analyzed posts and used to calculate the rating score.
[1655] "Evaluation score" refers to a numerical rating given to each post based on the post's originality, similarity, topicality, etc.
[1656] "Emotional data" refers to data that represents a user's emotional state and is obtained based on facial expressions, voice tone, and text analysis.
[1657] "Action" refers to the actions a user takes on a post, such as "liking" or "following."
[1658] "Device" refers to a device used by a User, such as a computer, smartphone, or tablet.
[1659] "API" refers to a set of protocols and tools provided for interfacing with other software applications.
[1660] "Tokenization" refers to the process of breaking down text data into smaller units, such as individual words or phrases.
[1661] "Part-of-speech tagging" refers to the process of assigning to each word in a text its grammatical category (noun, verb, adjective, etc.).
[1662] "Sentiment analysis" refers to the process of extracting emotional indicators from text or speech and classifying them into emotional categories such as positive, negative, or neutral.
[1663] A "database" refers to a system in which information is collected and stored in an organized manner, and there are various types such as MySQL and PostgreSQL.
[1664] This invention is a system that collects, analyzes, and evaluates posts from social networking sites and blog platforms to provide users with the most appropriate content. Specifically, it consists of four main components: a server, a terminal, a user, and an emotion engine. The main operations of this system are explained below.
[1665] Server Operation
[1666] 1. Collecting posts:
[1667] The server periodically calls the API of the social networking site or blog platform to retrieve the latest posts. For example, posts are collected using the Twitter API or blog API. The retrieved post data is then stored in a MySQL database.
[1668] 2. Post Analysis:
[1669] The server passes the text of the retrieved post to a natural language processing (NLP) engine for tokenization, part-of-speech tagging, and sentiment analysis. Specifically, it uses Google's BERT model and SpaCy. The key features extracted as a result of the analysis are stored in a database.
[1670] 3. Calculation of the rating score:
[1671] The server evaluates the originality, similarity, and topicality of posts based on the analyzed features and calculates a score. The evaluation uses a machine learning model using Python's SciPy library and Keras. The server also adjusts the evaluation score by taking into account the user's past action data (such as "likes" and "follows").
[1672] 4. Use of user sentiment data:
[1673] The server uses the user's emotion data provided by the emotion engine to calculate a more accurate rating score, for example, increasing the rating score for posts that express positive emotions.
[1674] 5. Select and submit your top submissions:
[1675] The server selects posts that are likely to be of interest to each user based on their rating scores, and sends a list of the selected highly rated posts to the user's device. The transmitted data includes the content of the post, its URL, rating score, etc.
[1676] Device behavior
[1677] The device notifies the user of the likeable posts received from the server and displays them preferentially within the app. Specifically, push notifications are used to notify users of new likeable posts.
[1678] User behavior
[1679] Users can view highly rated posts through their devices and "like" or "follow" posts they like. These action data are sent from the device to the server and used to improve the accuracy of the rating model.
[1680] Emotion Engine Operation
[1681] 1. Emotion Recognition:
[1682] The emotion engine analyzes the user's facial expressions, voice tone, input text, etc. to recognize the user's emotions. Examples include facial recognition using OpenCV, speech analysis using Google Cloud Speech-to-Text, and text analysis using NLTK. This generates an emotion score such as positive, negative, or neutral.
[1683] 2. Data provision:
[1684] The emotion engine sends the recognized emotion data to the server, which uses this data to recalculate the post's rating score and improve its accuracy.
[1685] Specific examples
[1686] For example, if User B is interested in health, the server analyzes health-related posts obtained via the API and extracts features. The emotion engine also collects emotional data that User B expressed when viewing health-related posts in the past. The server calculates a rating score based on this data and increases the rating score of posts that show a lot of positive emotions. In this process, libraries such as SciPy and Keras are used, as mentioned above. The final list of highly rated posts is sent to User B's device. The device notifies User B of new highly rated posts and displays them within the app. When User B clicks "Like," the data is sent to the server and used to improve the rating model.
[1687] Example prompts for generative AI models
[1688] "Please provide an overview of the system that collects, analyzes, and evaluates the latest health-related posts from social media and blog platforms to provide users with the most appropriate health information. Please also provide a detailed description of how the emotion engine utilizes emotion data."
[1689] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1690] Step 1:
[1691] Collecting Posts
[1692] The server calls the API of the social media or blog platform at regular intervals to retrieve the latest posts. Specifically, the server sends a request to the Twitter API or blog API to retrieve the latest post data that matches the specified keywords. At this stage, the input is the raw post data collected from the API, and the output is the post data that is saved in a database on the server. The server saves the retrieved post data in a MySQL database.
[1693] Step 2:
[1694] Post Analysis
[1695] The server passes the retrieved post text to a natural language processing (NLP) engine for analysis. Specifically, the server uses Google's BERT model or SpaCy to tokenize the post text, tag parts of speech, and perform sentiment analysis. At this stage, the input is the post text stored in the database, and the output is data including tokens, part-of-speech tags, and sentiment scores. The server extracts important features as the analysis results and stores them back in the database.
[1696] Step 3:
[1697] Calculating the reputation score
[1698] The server evaluates the originality, similarity, and topicality of posts based on the analyzed features and calculates a rating score. Specifically, the server calculates similarity scores using Python's SciPy library, and evaluates originality and topicality using machine learning models using TensorFlow and Keras. At this stage, the input is the analyzed feature data, and the output is a rating score for each post. The rating score is also adjusted taking into account the user's past action data (such as "likes" and "follows").
[1699] Step 4:
[1700] Use of user sentiment data
[1701] The server uses the user's emotional data provided by the emotion engine to calculate a more accurate evaluation score. Specifically, the server adds the positive emotion score indicated by the user to the existing evaluation score. At this stage, the input is the emotional data sent from the emotion engine, and the output is the final evaluation score that takes the emotional data into account.
[1702] Step 5:
[1703] Selection of top-rated posts
[1704] The server selects posts that are likely to be of interest to each user based on their rating scores. Specifically, the server sorts the list of posts in descending order of rating score and selects the top posts. At this stage, the input is the post data with the final rating score, and the output is the selected list of highly rated posts.
[1705] Step 6:
[1706] Submitting content
[1707] The server sends the selected list of highly rated posts to each user's device. Specifically, the server sends the selected list of posts to the device API via a POST request. At this stage, the input is the selected list of highly rated posts, and the output is the data sent to the user's device.
[1708] Step 7:
[1709] Notifications and Displays
[1710] The device notifies the user based on the likeable posts received from the server. Specifically, the device generates a push notification and displays it preferentially within the app. At this stage, the input is the list of likeable posts received from the server, and the output is the notification and post information displayed to the user.
[1711] Step 8:
[1712] Viewing and acting on posts
[1713] Users view highly rated posts through their devices and "like" or "follow" posts they like. Specifically, when a user views a post within the app and presses the "like" button, that information is sent to the server. At this stage, the input is the user's action, and the output is the action data sent to the server.
[1714] Step 9:
[1715] Emotion recognition
[1716] The emotion engine analyzes the user's facial expression, voice tone, and input text to recognize the user's emotion. Specifically, the emotion engine recognizes facial expressions using OpenCV, analyzes voice using Google Cloud Speech-to-Text, and analyzes text using NLTK. At this stage, the input is the user's facial expression data, voice data, and text data, and the output is an emotion score.
[1717] Step 10:
[1718] Data provision
[1719] The emotion engine sends the recognized emotion data to the server. Specifically, it sends the emotion score generated by the emotion engine to the server in JSON format. At this stage, the input is the emotion score, and the output is the emotion data sent to the server.
[1720] (Application example 2)
[1721] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1722] In systems that analyze posts obtained from social media and blog platforms and provide users with the most appropriate content, conventional methods have limitations when it comes to using user emotion data to make more accurate content recommendations. Furthermore, there is a lack of mechanisms for quickly responding to changes in user preferences and providing appropriate content. Therefore, more personalized and real-time content recommendations are needed to improve the user experience.
[1723] The identification process 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 acquiring posts from an SNS or blog platform, means for analyzing the acquired posts using a natural language processing engine and extracting features, means for calculating a rating score for the posts based on the features, means for selecting posts to be preferentially displayed based on the rating score and taking each user's preferences into consideration, means for sending the selected posts to the user's device and notifying and displaying them, means for recording actions taken by the user and using the recorded actions to improve the accuracy of the rating model, means for acquiring the user's emotional data and incorporating it into the calculation of the rating score, and means for preferentially selecting content suitable for the user based on the emotional data. This enables more accurate content recommendations that take the user's emotions and preferences into consideration.
[1724] "SNS" is an abbreviation for social networking service, an online platform for users to communicate with each other.
[1725] A "blog platform" is an online service that allows users to publish and share text and images.
[1726] "Post" is a general term for content such as text, images, and videos that users publish on social media or blog platforms.
[1727] A "natural language processing engine" is a software technology that analyzes human language and understands its meaning and grammatical structure.
[1728] A "feature" is an index or numerical value that indicates the characteristics or patterns of data extracted from the data to be analyzed.
[1729] The "rating score" is a numerical value calculated to quantitatively evaluate the quality and relevance of a post.
[1730] "User preferences" are preferences and tendencies based on the user's past interests and concerns.
[1731] A "notification" is an alert or message that informs the user of specific information.
[1732] "Actions" are various actions that users take within the system, such as "Like" or "Follow."
[1733] "Emotional data" is information that represents a user's emotional state and is primarily collected from facial expressions, voice, text, etc.
[1734] "Content" refers to information or media such as text, images, and videos posted on social media or blog platforms.
[1735] A "customized rating score" is a specific rating score calculated taking into account an individual user's preferences and behavioral history.
[1736] An "evaluation model" is a computational model for evaluating the content of posts and providing it to users.
[1737] This invention is a system that collects and analyzes posts from social media and blog platforms, and provides users with the most appropriate content. Furthermore, by combining it with an emotion engine, it can recognize user emotions and utilize data to improve the accuracy of evaluations.
[1738] Server Operation
[1739] The server periodically calls the APIs of social media and blog platforms to retrieve the latest posts and store them in a database. The posted text is passed to a natural language processing engine (e.g., TextBlob) where it is tokenized, tagged with parts of speech, and analyzed for sentiment to extract important features. The rating score is calculated by taking into account originality, similarity to other posts, topicality, and the user's past action data. The accuracy of the rating score is also improved by taking into account user sentiment data provided by the sentiment engine. A list of selected highly rated posts is then sent to the user's device.
[1740] Device behavior
[1741] The device will notify users of the likeable posts received from the server, either in the form of a pop-up or within the app, allowing users to view and confirm the content.
[1742] User behavior
[1743] Users can view the highly rated posts displayed on their devices and take actions such as "Like" or "Follow" on posts they like. These action data are sent to the server and used to improve the accuracy of the rating model.
[1744] Emotion Engine Operation
[1745] The emotion engine analyzes the user's facial expressions, voice tone, and input text to recognize emotions. For example, if a user sees a post and has a positive reaction, that data is sent to the server and reflected in the calculation of the rating score.
[1746] Hardware and software used
[1747] Specific hardware requirements include a server and user devices (such as smartphones and PCs). Software requirements include a natural language processing engine (e.g., TextBlob) and an emotion engine. APIs and databases are used to collect, store, analyze, and notify data.
[1748] Specific examples
[1749] For example, suppose User B is interested in health. The server analyzes health-related posts obtained via the API and extracts features. The emotion engine collects the positive emotions User B expressed when viewing health-related posts in the past. The server calculates a rating score based on this data and increases the rating score of posts that show a high number of positive emotions. Finally, a list of highly rated posts is selected and sent to User B's device. The device notifies User B of new highly rated posts and displays them within the app. When User B clicks "Like," the data is sent to the server and used to improve the rating model.
[1750] Prompt Sentence Examples
[1751] Please build a system that uses sentiment data to recommend the most suitable health-related articles to User B, who is interested in health. This system will collect, analyze, and rate social media posts and blog posts, and combine them with a sentiment engine to improve the accuracy of the rating. Please also provide a specific method for calculating the post rating score and a notification function.
[1752] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1753] Step 1:
[1754] The server calls the API of the social networking site or blog platform at regular intervals to retrieve the latest posts. It receives the response data from the API and saves the data, including the post content, to a database. This operation includes the post text and metadata. The input is the post data retrieved by the API, and the output is the post data saved in the database.
[1755] Step 2:
[1756] The server passes the saved post data to a natural language processing engine (e.g., TextBlob) for tokenization, part-of-speech tagging, and sentiment analysis. The natural language processing engine receives the post text as input and outputs tokenized text data, part-of-speech tags, and sentiment scores.
[1757] Step 3:
[1758] The server calculates the post's rating score based on the features obtained in the previous step. The rating score is calculated taking into account originality, similarity to other posts, and topicality. The user's past action data is also used to calculate the rating score. The input is feature data and user action data, and the output is the rating score.
[1759] Step 4:
[1760] The server receives the user's emotion data provided by the emotion engine. The emotion engine analyzes the user's facial expressions, voice tone, and input text to generate emotion data. The input is the data obtained from the emotion engine, and the output is an emotion score.
[1761] Step 5:
[1762] The server further adjusts the rating score using the sentiment data. If the sentiment score is high, the rating score of the corresponding post is also adjusted to be higher. The input is the rating score and sentiment score, and the output is the adjusted rating score.
[1763] Step 6:
[1764] The server selects posts that are deemed interesting to each user based on the adjusted rating score. This selection criteria also takes into account the user's emotional data. The input is the adjusted rating score, and the output is a list of selected highly rated posts.
[1765] Step 7:
[1766] The server sends the selected list of highly rated posts to each user's device. The sent data includes the post content, URL, rating score, etc. The input is the list of highly rated posts, and the output is the data sent to the user's device.
[1767] Step 8:
[1768] The device notifies the user based on the likeable posts received from the server. The device displays the notification as a pop-up notification or in the app. The input is the data sent from the server, and the output is the notification sent to the user.
[1769] Step 9:
[1770] Users browse highly rated posts through their devices and "like" or "follow" posts they like. This generates user action data. The input is the user's browsing and actions, and the output is the generated action data.
[1771] Step 10:
[1772] The terminal sends user action data to the server, which receives it and uses it to improve the accuracy of the evaluation model. The input is the user action data, and the output is update data for the evaluation model.
[1773] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the control target 443 to output the result of the specific processing. The microphone 238 acquires voice indicating a user input regarding the result of the specific processing. The control unit 46A transmits voice data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.
[1774] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1775] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the robot 414.
[1776] The emotion identification model 59 as an emotion engine may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to an emotion map (see FIG. 9), which is a specific mapping. Similarly, the emotion identification model 59 may determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[1777] FIG. 9 is a diagram illustrating an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and actions arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion includes both affect and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.
[1778] These emotions are distributed in the 3 o'clock direction on emotion map 400, and typically fluctuate between relief and anxiety. In the right half of emotion map 400, situational awareness dominates over internal sensations, resulting in a sense of calm.
[1779] The inside of emotion map 400 represents what is going on in the mind, and the outside of emotion map 400 represents behavior, so the further you go outside emotion map 400, the more visible the emotions become (the more they are expressed in behavior).
[1780] Human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. Emotions can also be created for robots, automobiles, and motorcycles, based on various balances, such as posture and remaining battery life. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. An emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on Voice Emotion Recognition and Emotional Brain Physiological Signal Analysis Systems, Tokushima University, Doctoral Dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map lists emotions belonging to the "reaction" domain, where sensation is dominant. The right half of the emotion map lists emotions belonging to the "situation" domain, where situational awareness is dominant.
[1781] The emotion map defines two emotions that promote learning. One is a negative emotion on the situation side, around the middle of "repentance" or "reflection." In other words, this occurs when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is a positive emotion on the response side, around "desire." In other words, this occurs when the robot experiences positive feelings such as "I want more" or "I want to know more."
[1782] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values indicating each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple pieces of training data that are combinations of user input and emotion values indicating each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions that are located close to each other have similar values, as in the emotion map 900 shown in FIG. 10. FIG. 10 shows an example in which multiple emotions, "relieved," "calm," and "reassuring," have similar emotion values.
[1783] The system according to the present disclosure has been described above mainly with respect to the functions of the data processing device 12, but the system according to the present disclosure is not necessarily implemented on a server. The system according to the present disclosure may be implemented as a general information processing system. The present disclosure may be implemented, for example, as a software program running on a personal computer or an application running on a smartphone, etc. The method according to the present disclosure may be provided to users in the form of SaaS (Software as a Service).
[1784] In the above embodiment, an example was given in which the specific processing is performed by one computer 22, but the technology of the present disclosure is not limited to this, and the specific processing may be distributed and performed by a plurality of computers including the computer 22. For example, the data generation model 58 may be provided in an external device of the data processing device 12, and data may be generated in the external device in accordance with input data.
[1785] In the above embodiment, an example in which the specific processing program 56 is stored in the storage 32 has been described, but the technology of the present disclosure is not limited to this. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-transitory storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-transitory storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes the specific processing in accordance with the specific processing program 56.
[1786] 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.
[1787] It is not necessary to store all of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store all of the specific processing program 56 in the storage 32; only a portion of the specific processing program 56 may be stored.
[1788] The hardware resource for executing a specific process can be any of the following processors: An example of a processor is a CPU, which is a general-purpose processor that functions as a hardware resource for executing a specific process by executing software, i.e., a program. Another example of a processor is a dedicated electrical circuit, such as an FPGA (Field-Programmable Gate Array), a PLD (Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit), which is a processor with a circuit configuration designed specifically for executing a specific process. Each processor has built-in or connected memory, and each processor uses the memory to execute the specific process.
[1789] The hardware resource that executes the specific processing may be configured with one of these various processors, or may be configured with a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Also, the hardware resource that executes the specific processing may be a single processor.
[1790] As an example of a system configured with a single processor, first, one processor is configured by combining one or more CPUs and software, and this processor functions as a hardware resource that executes a specific process. Second, there is a system that uses a processor that realizes the functions of an entire system including multiple hardware resources that execute a specific process on a single IC chip, as typified by SoC (System-on-a-chip). In this way, a specific process is realized using one or more of the above-mentioned various processors as hardware resources.
[1791] Furthermore, the hardware structure of these various processors can be, more specifically, an electric circuit that combines circuit elements such as semiconductor devices. The specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps may be deleted, new steps may be added, or the processing order may be rearranged, without departing from the spirit of the invention.
[1792] The above-described description and illustrations are a detailed explanation of the parts related to the technology of the present disclosure and are merely an example of the technology of the present disclosure. For example, the above description of the configuration, functions, actions, and effects is an explanation of an example of the configuration, functions, actions, and effects of the parts related to the technology of the present disclosure. Therefore, it goes without saying that unnecessary parts may be deleted, new elements may be added, or replacements may be made to the above-described description and illustrations within the scope of the gist of the technology of the present disclosure. Furthermore, to avoid confusion and facilitate understanding of the parts related to the technology of the present disclosure, the above-described description and illustrations omit explanations of common technical knowledge that do not require particular explanation to enable the implementation of the technology of the present disclosure.
[1793] All publications, patent applications, and technical standards mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent application, or technical standard was specifically and individually indicated to be incorporated by reference.
[1794] The following is further disclosed regarding the above embodiment.
[1795] (Claim 1)
[1796] A way to retrieve posts from social media and blogging platforms,
[1797] means for analyzing the acquired posts using a natural language processing engine and extracting features;
[1798] A means for calculating an evaluation score of a post based on the feature amount;
[1799] A means for selecting posts to be preferentially displayed based on the evaluation scores and taking into consideration the preferences of each user;
[1800] means for transmitting the selected posts to a user's terminal and notifying and displaying the same;
[1801] A means for recording actions such as "likes" and "follows" taken by the user and using the recorded actions to improve the accuracy of the evaluation model;
[1802] A system including:
[1803] (Claim 2)
[1804] 10. The system of claim 1, wherein the natural language processing engine used to analyze the posts includes means for tokenizing the post text and performing part-of-speech tagging and sentiment analysis.
[1805] (Claim 3)
[1806] 10. The system of claim 1, further comprising means for using data of past user likes and follows to calculate a customized rating score that takes into account user preferences.
[1807] "Example 1"
[1808] (Claim 1)
[1809] A way to retrieve posts from social media and blogging platforms,
[1810] means for analyzing the acquired posts using a natural language processing engine and extracting features;
[1811] A means for calculating an evaluation score of a post based on the feature amount;
[1812] A means for selecting posts to be preferentially displayed based on the evaluation scores and taking into consideration the preferences of each user;
[1813] means for transmitting the selected posts to a user's terminal and notifying and displaying the same;
[1814] A means for recording actions such as "likes" and "follows" taken by the user and using the recorded actions to improve the accuracy of the evaluation model;
[1815] The server periodically calls the API of the SNS or blog platform to retrieve the latest posts,
[1816] A means for the server to store keywords, emotion scores, and grammar patterns from the analysis results in a database;
[1817] a means for the terminal to receive the liked post sent from the server and notify the user;
[1818] A means for users to view and indicate liked posts through their devices;
[1819] A system including:
[1820] (Claim 2)
[1821] 10. The system of claim 1, wherein the natural language processing engine used to analyze the posts includes means for tokenizing the post text and performing part-of-speech tagging and sentiment analysis.
[1822] (Claim 3)
[1823] 10. The system of claim 1, further comprising means for using data of past user likes and follows to calculate a customized rating score that takes into account user preferences.
[1824] "Application Example 1"
[1825] (Claim 1)
[1826] A way to retrieve posts from social media and blogging platforms,
[1827] means for analyzing the acquired posts using a natural language processing engine and extracting features;
[1828] A means for calculating an evaluation score of a post based on the feature amount;
[1829] A means for selecting posts to be preferentially displayed based on the evaluation scores and taking into consideration the preferences of each user;
[1830] means for transmitting the selected posts to a user's terminal and notifying and displaying the same;
[1831] a means for recording actions taken by said user and using the recorded actions to improve the accuracy of the valuation model;
[1832] a means for calculating a similarity score for posts based on user preferences;
[1833] means for selecting highly rated posts based on the similarity scores;
[1834] A system including:
[1835] (Claim 2)
[1836] 10. The system of claim 1, wherein the natural language processing engine used to analyze the posts includes means for tokenizing the post text and performing part-of-speech tagging and sentiment analysis.
[1837] (Claim 3)
[1838] 10. The system of claim 1, further comprising means for using data of past user actions to calculate a customized rating score that takes into account user preferences.
[1839] "Example 2: Combining Emotion Engines"
[1840] (Claim 1)
[1841] A means of collecting posts from social media and blogging platforms,
[1842] means for analyzing the acquired posts using a natural language processing engine and extracting features;
[1843] means for calculating an evaluation score of a post based on the feature amount;
[1844] A means for calculating a more accurate evaluation score by taking into account the user's emotional data on the obtained evaluation score;
[1845] A means for selecting posts to be preferentially displayed based on the evaluation scores and taking into consideration the preferences of each user;
[1846] means for transmitting the selected posts to a user's terminal, and notifying and displaying the selected posts;
[1847] a means for recording actions (e.g., "likes" or "follows") taken by said users and using the recorded actions to improve the accuracy of the rating model;
[1848] A system including:
[1849] (Claim 2)
[1850] 10. The system of claim 1, wherein the natural language processing engine used to analyze the posts includes means for tokenizing the post text and performing part-of-speech tagging and sentiment analysis.
[1851] (Claim 3)
[1852] 10. The system of claim 1, further comprising: means for using data of past user actions (e.g., "likes" and "follows") to calculate a customized rating score that takes into account user preferences.
[1853] "Application example 2 when combining emotion engines"
[1854] (Claim 1)
[1855] A way to retrieve posts from social media and blogging platforms,
[1856] means for analyzing the acquired posts using a natural language processing engine and extracting features;
[1857] A means for calculating an evaluation score of a post based on the feature amount;
[1858] A means for selecting posts to be preferentially displayed based on the evaluation scores and taking into consideration the preferences of each user;
[1859] means for transmitting the selected posts to a user's terminal and notifying and displaying the same;
[1860] a means for recording actions taken by said user and using the recorded actions to improve the accuracy of the valuation model;
[1861] means for acquiring emotion data of the user and incorporating it into the calculation of the evaluation score;
[1862] A means for preferentially selecting content suitable for a user based on emotional data;
[1863] A system including:
[1864] (Claim 2)
[1865] 10. The system of claim 1, wherein the natural language processing engine used to analyze the posts includes means for tokenizing the post text and performing part-of-speech tagging and sentiment analysis.
[1866] (Claim 3)
[1867] 10. The system of claim 1, further comprising means for using data of past user actions to calculate a customized rating score that takes into account user preferences. [Explanation of symbols]
[1868] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>
Claims
1. A way to retrieve posts from social media and blogging platforms, means for analyzing the acquired posts using a natural language processing engine and extracting features; A means for calculating an evaluation score of a post based on the feature amount; A means for selecting posts to be preferentially displayed based on the evaluation scores and taking into consideration the preferences of each user; means for transmitting the selected posts to a user's terminal and notifying and displaying the same; A means for recording actions such as "likes" and "follows" taken by the user and using the recorded actions to improve the accuracy of the evaluation model; A system including:
2. The system of claim 1 , wherein the natural language processing engine used to analyze the posts includes means for tokenizing the post text and performing part-of-speech tagging and sentiment analysis.
3. The system of claim 1 , further comprising means for using data on past user likes and follows to calculate a customized rating score that takes into account user preferences.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A