Server, system, method, and program providing an artificial intelligence-based place introduction content creation service
The server system addresses sentiment analysis challenges in location-based platforms by using LLM agents to generate scalable and accurate content summaries and descriptions from user reviews, reducing manual effort and enhancing platform scalability.
Patent Information
- Application Number
- KR1020250183904
- Authority / Receiving Office
- KR · KR
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2025-11-27
- Publication Date
- 2026-11-03
- Estimated Expiration
- 2045-11-27
AI Technical Summary
Existing location-based platforms face challenges in accurately summarizing and classifying sentiments from diverse user reviews due to varying lengths, writing styles, and inconsistent quality, limiting scalability for managing large numbers of locations.
A server system that uses an LLM agent to analyze reviews by sentence units, calculate sentiment scores, and generate integrated JSON-formatted content, including positive and negative summaries, place descriptions, and key points, with verification through positive, negative, and neutral word tables.
This system reduces operational costs by automating content generation, provides accurate sentiment analysis, and offers high scalability for handling large-scale locations.
Smart Images

Figure 112025133730851-PAT00007_ABST
Abstract
Description
Technology Field
[0001] The present invention relates to a server, system, method, and program that provide an artificial intelligence-based place introduction content generation service. Background Technology
[0002] Unless otherwise indicated in this specification, the contents described in this section are not prior art for the claims of this application, and are not to be recognized as prior art simply because they are included in this section.
[0003] Recently, location-based platforms such as Naver Maps, Kakao Maps, and Google Maps have moved beyond simply providing location information, leading to a significant increase in the consumption of place-based content combined with user reviews, photos, blog posts, and visit frequency. In particular, as user choices for commercial venues such as cafes, restaurants, exhibition spaces, and experiential stores are heavily influenced by viral marketing on social media and visitor reviews, the demand for technologies that automatically generate key information, reviews, and summary content about these locations is rapidly rising.
[0004] Traditionally, business operators or platform operators generated content by directly writing place descriptions, review summaries, and promotional text, or by using simple keyword-based automatic summarization systems. However, this method has the following problems.
[0005] Data of diverse natures, such as blogs, community forums, and map reviews, exist, and review lengths, writing styles, and sentiment levels vary widely, making it difficult to accurately summarize and classify sentiment using simple keyword-based analysis. Conventional technology treats entire reviews as a single document, making it difficult to finely separate positive and negative elements. Furthermore, quality is inconsistent because platform operators must manually write place descriptions for each location, and the decision to incorporate visitor reviews is subjective. This significantly limits scalability for platforms managing a large number of locations.
[0006] The matters described in the background technology above are intended to aid in understanding the background of the invention and may include matters that are not disclosed prior art. Prior art literature
[0007] Registered Patent Publication No. 10-1579968 (Dec. 17, 2015) Registered Patent Publication No. 10-2836579 (July 16, 2025) Registered Patent Publication No. 10-2546328 (June 16, 2023) Registered Patent Publication No. 10-2458510 (Oct. 20, 2022) The problem to be solved
[0008] One embodiment of the present invention provides a technology capable of automatically collecting and analyzing basic information, blog posts, and visitor reviews of a place using only a place ID, and automatically generating a place description, promotional text, summaries of positive and negative reviews, key points, categories, and tags based thereon.
[0009] In addition, the aim is to implement a high-quality automated place content generation system capable of separating reviews into sentence units, performing sophisticated sentiment evaluations using LLM, separately calculating positive / negative summaries, and providing the generated results in an integrated JSON format.
[0010] However, the technical problem that this embodiment aims to solve is not limited to the technical problem described above, and other technical problems may exist. means of solving the problem
[0011] According to an embodiment of the present invention for solving the above-mentioned problem, a server for generating place content is provided.
[0012] The server includes a place content generation module that receives a place ID as input, receives basic place information matching the place ID from a map service server, receives post information and review information matching the place ID from the map service server, separates the collected review information into sentence units, calculates evaluation scores through an LLM agent to classify reviews into positive and negative reviews, generates a positive review summary from positive reviews and a negative review summary from negative reviews through an LLM agent, and generates a place description, introductory phrase, and key points based on the review summaries and basic place information through an LLM agent.
[0013] In addition, the above-mentioned place content generation module calculates an evaluation score using an LLM agent configured to receive a sentence generated from review information, assign an evaluation score within a preset range, and output a matched sentence, evaluation score, and basis for evaluation.
[0014] In addition, the above-mentioned place content generation module performs an inspection function to verify the appropriateness of the evaluation score by comparing and matching the basis of the evaluation score calculated by the LLM agent with words included in the pre-stored positive word table, negative word table, and neutral word table.
[0015] In addition, the above-mentioned place content generation module uses an LLM agent to generate a positive review summary based on review information classified as positive reviews, and generates a negative review summary based on review information classified as negative reviews.
[0016] In addition, the above-mentioned place content generation module uses an LLM agent to generate a place description within a preset length range from place basic information, positive review summaries, and negative review summaries, and uses an LLM agent to generate an introductory phrase from the place description. Effects of the invention
[0017] According to one embodiment of the present invention, operating costs can be significantly reduced by automatically generating place introductions and review summaries that were previously written manually by humans.
[0018] In addition, accurate review analysis is possible because it classifies positive and negative sentiments based on LLM sentiment rather than simple keywords for a comprehensive evaluation.
[0019] In addition, since all information is automatically generated simply by entering the location ID, it offers high scalability and can handle large-scale locations.
[0020] The effects of the present invention are not limited to those mentioned above, and other unmentioned effects will be clearly understood by a person skilled in the art from the description below. Brief explanation of the drawing
[0021] FIG. 1 is a schematic diagram of a system according to one embodiment of the present invention. Figure 2 is a flowchart illustrating the process of detecting the occurrence of a trigger keyword on an SNS server and providing posting information. Figure 3 is a diagram conceptually illustrating the operation process of Figure 2. Figure 4 is a flowchart illustrating the process of a service provider server determining a final location using posting information in a system according to Figure 1. Figure 5 is a diagram conceptually illustrating the operation process of Figure 4. Figure 6 is a flowchart illustrating the process of a service provider server generating place content in a system according to Figure 1. Figure 7 is a diagram conceptually illustrating the operation process of Figure 6. FIG. 8 is a schematic diagram of a system according to one embodiment of the present invention. FIG. 9 is a flowchart illustrating the process of a service provider server generating media content with a style of learning media content applied in a system according to FIG. 8. Figure 10 is a diagram conceptually illustrating the operation process of Figure 9. FIG. 11 is a diagram illustrating an exemplary UI for the operation process of FIG. 9. FIG. 12 is a diagram illustrating an exemplary UI for the operation process of FIG. 9. FIG. 13 is a schematic diagram of a system according to one embodiment of the present invention. FIG. 14 is a flowchart illustrating the process of a service provider server generating media content with a style of learning media content applied in a system according to FIG. 13. FIG. 15 is a diagram conceptually illustrating the operation process of FIG. 14. FIG. 16 is a diagram illustrating an exemplary UI for the operation process of FIG. 14. FIG. 17 is a diagram illustrating the hardware configuration of a service provider server according to FIG. 1 as an example. Specific details for implementing the invention
[0022] The present invention is susceptible to various modifications and may have various embodiments; specific embodiments are illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the invention to specific embodiments, and it should be understood that the invention includes all modifications, equivalents, and substitutions that fall within the spirit and scope of the invention. Similar reference numerals have been used for similar components in the description of each drawing.
[0023] Terms such as first, second, A, B, etc., may be used to describe various components, but said components should not be limited by said terms. These terms are used solely for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be named the second component, and similarly, the second component may be named the first component. The term "and / or" includes a combination of a plurality of related described items or any of a plurality of related described items.
[0024] When it is stated that one component is "connected" or "connected" to another component, it should be understood that while it may be directly connected or connected to that other component, there may also be other components in between. On the other hand, when it is stated that one component is "directly connected" or "directly connected" to another component, it should be understood that there are no other components in between.
[0025] The terms used in this application are used merely to describe specific embodiments and are not intended to limit the invention. The singular expression includes the plural expression unless the context clearly indicates otherwise. In this application, terms such as "comprising" or "having" are intended to specify the presence of the features, numbers, steps, actions, components, parts, or combinations thereof described in the specification, and should be understood as not precluding the existence or addition of one or more other features, numbers, steps, actions, components, parts, or combinations thereof.
[0026] The "similarity" used in this application may be a known similarity calculation method, such as cosine similarity.
[0027] Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as generally understood by those skilled in the art to which the present invention pertains. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with their meaning in the context of the relevant technology, and should not be interpreted in an ideal or overly formal sense unless explicitly defined in this application.
[0028] Hereinafter, a preferred embodiment according to the present invention will be described in detail with reference to the attached drawings.
[0029] FIG. 1 is a schematic diagram of a system according to one embodiment of the present invention.
[0030] Referring to FIG. 1, the system of the present invention includes a service providing server (100), an SNS server (200), a map service server (300), and a user terminal (400).
[0031] At this time, each component of FIG. 1 is generally connected through a network. For example, as shown in FIG. 1, a service providing server (100) can be connected to at least one SNS server (200), a map service server (300), and a user terminal (400) through a network.
[0032] Here, a network refers to a connection structure capable of exchanging information among individual nodes, such as multiple terminals and servers. Examples of such networks include Local Area Networks (LANs), Wide Area Networks (WANs), the World Wide Web (WWW), wired and wireless data networks, telephone networks, and wired and wireless television networks. Examples of wireless data communication networks include, but are not limited to, 3G, 4G, 5G, 3GPP (3rd Generation Partnership Project), 5GPP (5th Generation Partnership Project), LTE (Long Term Evolution), WIMAX (World Interoperability for Microwave Access), Wi-Fi, Internet, LAN (Local Area Network), Wireless LAN (Wireless Local Area Network), WAN (Wide Area Network), PAN (Personal Area Network), RF (Radio Frequency), Bluetooth network, NFC (Near-Field Communication) network, satellite broadcasting network, analog broadcasting network, DMB (Digital Multimedia Broadcasting) network, etc.
[0033] In the following, the term "at least one" is defined as a term including both singular and plural forms, and it will be obvious that even if the term "at least one" does not exist, each component may exist in a singular or plural form and may mean singular or plural. Furthermore, whether each component is provided in a singular or plural form may be changed according to the embodiments.
[0034] The SNS server (200) refers to an SNS platform, such as Instagram, Facebook, X, YouTube, etc., where users can upload images, videos, text, and write comments. The SNS server (200) may include a database for storing posts and comments, and event processing logic capable of detecting comments or posts containing specific keywords.
[0035] The map service server (300) is a server that provides map data, geocoding functions, and place search functions, such as Naver Map Service, Kakao Map, and Google Map Service. The map service server (300) may provide a geocoding API that returns information including latitude and longitude coordinates with an address as input, a nearby place search API that searches for nearby places based on specific coordinates, and a place list API that provides a list of places that match a specific address.
[0036] The service providing server (100) is a server that receives posting information transmitted via a webhook from the SNS server (200), performs location identification and mapping using the API of the LLM and map service server (300), and then provides the result to a user terminal (400) or an external service.
[0037] At least one user terminal (400) can be connected to a platform or webpage that provides services by communicating with a service provider server (100).
[0038] Additionally, the user terminal (200) can be connected to a server that provides a service web page, app page, program, or application.
[0039] Here, at least one user terminal (200) may be implemented as a computer capable of connecting to a remote server or terminal via a network. Additionally, various shooting terminals for capturing an object desired by the user may be included as components. Here, the computer may include, for example, a navigation system, a laptop equipped with a web browser, a desktop, a laptop, etc. At this time, at least one user terminal (200) may be implemented as a terminal capable of connecting to a remote server or terminal via a network. At least one user terminal (200) may include all kinds of handheld-based wireless communication devices, such as navigation, PCS (Personal Communication System), GSM (Global System for Mobile communications), PDC (Personal Digital Cellular), PHS (Personal Handyphone System), PDA (Personal Digital Assistant), IMT (International Mobile Telecommunication)-2000, CDMA (Code Division Multiple Access)-2000, W-CDMA (W-Code Division Multiple Access), Wibro (Wireless Broadband Internet) terminal, smartphone, smartpad, tablet PC, etc.
[0040] FIG. 2 is a flowchart illustrating the process of detecting the occurrence of a trigger keyword on an SNS server and providing posting information. FIG. 3 is a diagram conceptually illustrating the operation process of FIG. 2.
[0041] Referring to FIGS. 2 and FIGS. 3, when a preset condition is satisfied, the SNS server (200) transmits posting information to the service provider server (100) using a webhook.
[0042] First, the SNS server (200) stores one or more sets of trigger keywords that are pre-set by an administrator or service provider. For example, keywords that are set by an administrator of the service provider server (100) requesting the SNS server (200), such as "#serviceaccount", can be set as trigger keywords.
[0043] Subsequently, as illustrated in FIG. 3, when a user enters a comment on a specific post, the SNS server (200) analyzes the text of the comment to detect whether the trigger keyword is included. If it is determined that the trigger keyword is included, the SNS server (200) generates posting information for the post to which the comment was attached. In one embodiment, the posting information may include a posting ID, a URL of the posting image or video, the text of the post body, the text of the comment, author information, a timestamp, a location tag, a hashtag list, etc.
[0044] Next, the SNS server (200) calls a pre-registered webhook URL and transmits the posting information to the service provider server (100). At this time, the posting information may be transmitted in REST API, JSON format, or other standardized data format.
[0045] FIG. 4 is a flowchart illustrating the process of a service provider server determining a final location using posting information in a system according to FIG. 1. FIG. 5 is a diagram conceptually illustrating the operation process of FIG. 4.
[0046] Referring to FIG. 4, first, a service providing server (100) generates location information using posting information received from an SNS server (200) (S110).
[0047] When the service providing server (100) receives posting information from the SNS server (200) via a webhook, it transmits the posting information to the location information generation module.
[0048] The location information generation module configures elements such as thumbnails for a posted image or video, post body text, comment text, hashtags, and location tags sequentially or in combination to form a prompt for a fine-tuned LLM Agent. In one embodiment, the post content may be provided along with instructions such as, “The following is the content of an Instagram post introducing a cafe. Extract the name, category, region, address, one-line description, and related tags of the place mentioned in this post, and if it is a limited-time pop-up store, extract the operating period.”
[0049] The fine-tuned LLM Agent can respond to the above prompt to generate results in a structured format that include the place name, category, description, tags, region, address, duration, start date, end date, etc. The place information generation module parses the results from the LLM and stores them in an internal data structure. At this time, the address may include information such as the street address, lot number address, building name, and floor number, and a flag indicating whether the building number recognized by the LLM Agent is actually mentioned in the posting text can also be stored.
[0050] In addition, the service provider server (100) determines the coordinates using the generated location information (S120).
[0051] The coordinate determination based on the above location information is performed through the coordinate determination module of the service providing server (100).
[0052] The coordinate determination module first checks whether an address exists in the place information. If an address exists, it calls the geocoding API using the address of the map service server (300) to request coordinate information including latitude (lat), longitude (lng), and address.
[0053] When a geocoding result is successfully returned, the coordinate determination module determines whether the address included in the coordinate information is a detailed address. In one embodiment, if the address string includes a building number (number), building number, floor information, etc., it may be considered a detailed address.
[0054] If the address included in the coordinate information is a detailed address but the address in the place information is not a detailed address, the coordinate determination module can regenerate an address in a form with the building number removed and re-determine the latitude and longitude that match the modified address. In one embodiment, the geocoding API may include multiple coordinate information for multiple places, and if the address included in the place information is not a detailed address but the address included in the selected coordinate information is a detailed address, the latitude and longitude can be reset by re-selecting the coordinate information that is not a detailed address among the multiple coordinate information.
[0055] In one embodiment, when there are multiple coordinate information included in the response value of the geocoding API, the coordinate determination module can select coordinate information based on an algorithm. For example, after creating a regular expression using an address included in the place information, coordinate information including an address that satisfies the conditions of the regular expression can be selected.
[0056] In one embodiment, when there are multiple coordinate information included in the response value of the geocoding API, the coordinate determination module may select the coordinate information using an LLM Agent. For example, after providing location information and multiple coordinate information to the LLM Agent, it may be configured to select and return the coordinate information that best matches the location information.
[0057] In one embodiment, if geocoding fails because matching coordinate information cannot be found, the coordinate determination module can determine the coordinates by utilizing the region included in the place information. For example, if the region is "Seoul," the latitude and longitude corresponding to the center coordinates of Seoul city can be determined and stored as coordinates. In one embodiment, the region and center coordinates can be pre-matched and stored in the database of the service providing server (100).
[0058] In addition, the service provider server (100) determines the final location using the determined coordinates.
[0059] When coordinates are determined, the place determination module calls the place search API of the map service server (300) depending on whether the address included in the coordinate information is detailed. If the address is a detailed address, it uses an API that returns a list of places at the detailed address to collect a list of places registered at that address, as well as the unique ID, business name, category, coordinates, etc., of each place.
[0060] If the address is a non-detailed address or if region-centered coordinates are used when geocoding fails, a nearby place search API is called within a preset radius (e.g., 500m to 1km) centered on the current coordinates (lat, lng) to collect a pool of nearby place candidates.
[0061] In one embodiment, the location determination module can determine a final location from a group of candidate locations based on algorithmic rules. The location determination module converts the business name of each location included in the candidate location list into lowercase and removes spaces, special characters, emojis, etc., to generate a normalized string. The locations included in the location information are also normalized in the same manner. Subsequently, it can check whether each candidate location name normalized string contains a normalized location string, or conversely, whether a normalized location string contains a candidate location name normalized string.
[0062] In one embodiment, if any one candidate location satisfies a partial inclusion or mutual inclusion relationship, the location determination module selects the candidate, and if the location is selected from a candidate list based on a detailed address search API, the reliability is high, and if the location is selected from a candidate based on a nearby location search API, the reliability can be set to normal.
[0063] In one embodiment, the location determination module can determine a final location from a group of location candidates based on an LLM Agent. The location determination module inputs a prompt to the LLM Agent, along with location information and a group of location candidates, to select a location candidate that matches the location information and determine its reliability, and can obtain a result from the LLM Agent.
[0064] In one embodiment, if multiple candidates satisfy a partial inclusion relationship based on algorithm matching, the priority may be adjusted using additional information such as place names, subway station names, and building names within the posting text, or an additional LLM Agent-based judgment step may be performed.
[0065] If no appropriate candidate is selected during the string matching step, or if the confidence level of the selection result is determined to be low, the location determination module performs candidate determination based on an LLM Agent. At this time, a list consisting of the body text, comment text, hashtags, and location tags of the SNS post, along with the name, category, and partial address (e.g., Dong / Gu, building name) of each candidate location, is provided as a prompt to the LLM Agent. The prompt may include instructions such as, "Determine which of the candidates below the location described below is, and select only the one with the highest probability."
[0066] If the LLM Agent explicitly identifies one of the candidate locations, the Location Decision Module adopts that candidate as the final candidate; in this case, it sets the confidence level to High if the candidate belongs to the detailed address-based candidate list, and to Medium or Low if it belongs to the nearby search-based candidate list. If the LLM returns multiple candidates simultaneously or responds with "I don't know," the Location Decision Module does not confirm the final location for the corresponding post and assigns an Uncertain status flag.
[0067] When a candidate is selected, the location determination module performs distance verification. The distance between two points is calculated using the geocoding coordinates determined by the coordinate determination module and the coordinates of the selected candidate location. In one embodiment, the distance may be calculated based on the Haversine formula or the spherical cosine law. The candidate may be confirmed as the final location only if the distance is less than a preset reference distance. Additionally, the location determination module may map and store the location ID of the map service server for the final location to the location included in the SNS content. If the distance is greater than or equal to the reference distance, the location determination module may record a location mismatch warning and maintain the mapping result for the posting in an uncertain state, classifying it as a subject for subsequent review or reprocessing.
[0068] When the final location is determined, the service provider server (100) provides information about the final location to the user terminal (400) (S140).
[0069] The service providing server (100) generates a place mapping result for a post in which the final location has been confirmed, including a Naver Place ID, place name, address, region, coordinates (lat, lng), reliability, a description and tags generated by LLM, etc. This is provided to a user terminal (400) and can be used to enable the user to move directly to a map app or web page provided by the map service server (300) via a “View Map” button on a specific SNS post detail screen, for example, or to link store information, reviews, reservation links, etc.
[0070] Additionally, the service providing server (100) aggregates location mapping results for multiple posts to generate statistical information such as the volume of SNS mentions of a specific location, influencer visit records, and changes in interest over time, and can provide this to a business operator or platform operator.
[0071] FIG. 6 is a flowchart illustrating the process of a service provider server generating place content in a system according to FIG. 1. FIG. 7 is a diagram conceptually illustrating the operation process of FIG. 6.
[0072] The service providing server (100) receives location-related posting information from the SNS server (200) and performs location identification and mapping, as well as includes a location content generation module that automatically generates advanced location content for the mapped locations. The location content generation module performs functions such as generating location summaries, analyzing visitor reviews, deriving key points, and generating promotional phrases based on Naver Place data.
[0073] First, the service provider server (100) receives basic information about the location to be analyzed from the SNS server (200) (S210).
[0074] The place content generation module collects basic information about a place that matches the place ID using a place ID given as input. In one embodiment, the place content generation module may request a place ID from a map service server (300) and receive basic information about a place that matches the place ID.
[0075] In one embodiment, the basic information collected may include a place name, address, business hours, category, menu or service information, a representative photo and user-uploaded photos, and the number of reviews. The place content generation module may perform HTML parsing or API response parsing to store the basic information in a structured form.
[0076] In addition, the service provider server (100) receives posting information and review information connected to the location to be analyzed from the SNS server (200) (S220).
[0077] The location content generation module can collect external content linked to a location ID. In one embodiment, the location content generation module can request and receive post information and review information that match the location ID from a map service server (300).
[0078] Each post and review information can be stored including metadata such as body text, time of creation, and author.
[0079] Additionally, the service provider server (100) generates a review summary using post information and review information (S230).
[0080] The place content generation module splits the collected reviews into sentences and inputs each sentence into a fine-tuned LLM agent to rate a score within a preset range. In one embodiment, a score between 1 and 5 points may be calculated.
[0081] In one embodiment, the LLM agent may be configured to evaluate a sentence based on context, sentiment analysis, review writing patterns, etc., to determine a score and grounds. In one embodiment, the LLM agent may produce a structured result by matching the sentence, the score, and the grounds (emotional elements within the sentence, etc.).
[0082] In one embodiment, the place content generation module can distinguish between positive reviews, negative reviews, and neutral reviews based on a preset threshold score. In one embodiment, the place content generation module can classify reviews of 1 to 2 points as negative reviews, reviews of 4 to 5 points as positive reviews, and reviews of 3 points as neutral.
[0083] In one embodiment, the place content generation module can verify the consistency between the rating evaluated by the LLM agent and the review sentence serving as the basis for the rating. To this end, the place content generation module stores a sentiment lexicon including a negative word table, a positive word table, and a neutral word table, and can determine the appropriateness of the rating by comparing and matching the words included in the sentiment lexicon with the words in the review sentence.
[0084] For example, if the review sentence contains multiple negative words, the LLM agent can verify whether it has been classified as a positive review; if the review sentence contains a concentrated amount of positive words, the LLM agent can verify whether it has been classified as a negative or neutral review. Additionally, if positive and negative words appear in combination, the location content generation module can reclassify the review as a neutral review or set a verification flag.
[0085] If it is determined during the inspection process that there is a discrepancy between the LLM evaluation result and the sentiment dictionary-based judgment, the place content generation module may perform at least one of the following: recalculation of the score based on the LLM re-inquiry, reclassification to a neutral score, assignment of an inspection failure flag, or calculation of a combined score based on a weighted combination of the LLM score and the dictionary-based score.
[0086] The place content generation module can store the original review text, LLM evaluation score, sentiment pre-matching result, and reclassification status, including the results of the above-mentioned inspection process, as logs, and the stored data can be utilized for subsequent learning or operational analysis.
[0087] The place content generation module uses an LLM agent to generate key summaries for each positive and negative review.
[0088] In one embodiment, the place content generation module may be configured to receive review information classified as positive reviews from an LLM agent and generate a preset number of positive review summaries. The place content generation module may be configured to receive review information classified as negative reviews from an LLM agent and generate a preset number of negative review summaries.
[0089] In one embodiment, the LLM agent may be configured to output a structured result in which the review summary consists of key phrases within a preset length and the original review sentences that served as the basis for the summary are matched.
[0090] In one embodiment, it can be generated in the form of "The atmosphere is sentimental and it is a great place for photos (based on Review #14)", "It tends to be crowded because there is a long waiting time (based on Review #33)", etc.
[0091] In addition, the place content generation module can be configured to input review summaries and basic information into an LLM agent to generate a place description, a one-line introductory phrase, and key keywords (S240).
[0092] In one embodiment, the LLM agent may be configured to have a description of approximately a preset length and to include preset points in the output. In one embodiment, the LLM agent may be configured to receive a review summary, basic information, and post information and to output a description of 400 to 600 characters that includes points such as the characteristics of the place, visitor ratings, atmosphere, and menu features.
[0093] In one embodiment, the LLM agent may be configured to receive a review summary, basic information, and post information, and output a one-line introductory text of approximately a preset length.
[0094] In one embodiment, the LLM agent may be configured to output a one-line introductory text of 30 characters or less. In one embodiment, the LLM agent may be configured to receive a place description and output a one-line introductory text of approximately a preset length.
[0095] In one embodiment, the LLM agent may be configured to receive a review summary, basic information, and post information, and output a preset number of key points. In one embodiment, the LLM agent may be configured to output six key points. In one embodiment, the LLM agent may be configured to receive a place description, and output a preset number of key points.
[0096] In one embodiment, the place content generation module can determine the main category, subcategory, and tags using place basic information, review summary, place description, etc. In one embodiment, the place content generation module can determine the main category, subcategory, and tags using an LLM-based classification model or a predefined ontology mapping table.
[0097] The place content generation module generates place content by integrating information generated about a place. The place content may include basic information, review summaries, place descriptions, one-line descriptions, key points, categories, and tags.
[0098] Referring to FIG. 7, an example of a UI in which location content is provided to a user terminal (400) is illustrated.
[0099] FIG. 8 is a schematic diagram of a system according to an embodiment of the present invention. FIG. 9 is a flowchart illustrating the process of a service providing server generating media content with a style of learning media content applied in the system according to FIG. 8. FIG. 10 is a diagram conceptually illustrating the operation process of FIG. 9.
[0100] A system according to one embodiment of the present invention provides a service for producing media content that reflects a creator's existing production style, based on location information and media content for style learning corresponding to a location ID entered by a user. In one embodiment, a location introduction carousel content production service capable of automatically generating location introduction carousel content may be provided.
[0101] First, the service providing server (100) generates style information using learning media content (S310).
[0102] In one embodiment of the present invention, a service providing server (100) receives learning carousel content (image and caption) input through a user terminal (400). In one embodiment, the caption refers to body text written by matching the image in the posting.
[0103] The style learning module extracts and saves overlay component patterns, page composition rules, and color styles from the above carousel content.
[0104] In one embodiment, the overlay component pattern refers to the coordinates, size and ratio, color, and theme of a text box, logo, and highlight element. The coordinates of the text box, logo, and highlight element overlaid on the received image can be extracted. The size and ratio of the received image can be extracted. The size and ratio of the text box, logo, and highlight element overlaid on the received image can be extracted. The color of the text box, logo, and highlight element overlaid on the received image can be extracted. The theme of the text box, logo, and highlight element overlaid on the received image can be extracted.
[0105] In one embodiment, the style learning module may obtain an area to be analyzed by normalizing the received carousel image to a reference resolution and removing margins consisting of the image's edge areas or a solid background. Subsequently, the style learning module detects overlay components such as text boxes, logos, and emphasis elements in the image. In one embodiment, text boxes may be detected using an OCR-based text detection model or a deep learning-based text detection model (such as CRAFT, EAST, DB Text Detection, etc.). Logos or emphasis elements may be detected using image connectivity analysis, shape approximation, color contrast-based region segmentation, or a pre-trained object detection model. Additionally, for each detected overlay element, the style learning module may calculate positional information including coordinates (x, y), width, height, and center coordinates, and store it after normalizing it to a relative ratio to the total image size. Furthermore, color information such as average color, background color, and text color may be extracted based on pixel information within the overlay element. For example, in the case of a text box, a color histogram of the pixels inside the box can be calculated, and the most frequent color information can be set as the box background color. The text color can be calculated by distinguishing it from the background color through edge detection or mask-based separation.
[0106] In one embodiment, the page composition rules may include a thumbnail / internal page distinction method, an order rule when combining pages, and a highlight point placement rule. In the case of a composition of multiple images, a distinction method between the page located at the very front and the pages that are not can be extracted.
[0107] In one embodiment, the style learning module can derive page composition rules by analyzing multiple pages within a carousel. This includes rules for distinguishing between thumbnail pages and internal pages, page arrangement methods, and emphasis point placement rules. For example, thumbnail page characteristics can be extracted by analyzing the proportion of text area included in the first page of the carousel, whether a logo is included, or color contrast patterns. Internal pages can be regularly distinguished based on text placement patterns, the presence of emphasis elements in the center of an image, etc. Emphasis elements can be derived based on the largest text box or the element with the highest color contrast within a specific page.
[0108] In one embodiment, the color style may include the mean and variance in the LAB color space, and a reference value for reproducing the overall tone and manner.
[0109] In one embodiment, the color style is calculated by converting the entire image to the LAB color space and then calculating the average and variance values for each of the L, a, and b channels. If necessary, pixels with extreme brightness values may be excluded before calculating the average and variance to generate a more stable color standard. The calculated LAB average and variance values can be used as reference values for automatic color correction (such as Reinhard transformation) to apply the same tone and manner to a new image.
[0110] The results of the style learning are stored as style information and utilized as reference data for automatic color correction, automatic overlay placement, and the generation of text tone and manner. In one embodiment, the style learning module records and stores the overlay component pattern, page composition rule, and color tone style as a single style profile. Each item within the style profile can be stored in the form of normalized coordinate values, color values, pattern values, or statistical values, and can subsequently be used as a standard for text box placement, color tone adjustment, and page composition methods when automatically generating carousel content for a new location.
[0111] In addition, the service providing server (100) generates location content that matches the location to be analyzed (S320).
[0112] The process of the place content generation module generating content about a place has been explained in detail with reference to FIGS. 7 and 8, so it is replaced therewith.
[0113] Additionally, the service providing server (100) selects a media source to be used for content usage from a media source that matches the location to be analyzed (S330).
[0114] The media source management module collects images and videos from blog posts, reviews, or external media sources linked to a location ID and provides them to the user terminal (400) in a grid format.
[0115] In one embodiment, the user terminal (400) selects media by performing a temporary pick, moving to a source link to verify the source, writing a comment requesting permission to use, and managing approval / waiting / rejection statuses. The media source management module filters the media so that only approved media can be used in the subsequent creation step.
[0116] Additionally, the service provider server (100) creates an overlay element using selected media source and style information (S340).
[0117] Based on the confirmed page order and the scene characteristics of each image, the overlay element generation module performs image scene analysis (food, space, person, point area, etc.), location summary and application of phrase rules for key points and style profiles, and automatically generates six overlay phrase candidates per page. The user terminal (400) can select or regenerate the phrases, and the above process can be repeated until the phrases are confirmed for all pages.
[0118] In one embodiment, the overlay element generation module performs scene analysis on the images of each page. In one embodiment, the scene analysis is performed by an LLM agent capable of image recognition, and can extract visual objects and scene features such as food, beverages, people, indoor spaces, exteriors, detail cuts, and emphasis point areas. For example, in the case of food images, structured scene descriptions such as "a photo of a cappuccino with latte art emphasized" or "a dessert cut on a brown-toned wooden table" can be generated. The LLM agent outputs scene information including image context, such as the background, illumination, shooting composition, type of central object, and key areas (focus points) within the screen, in the form of text.
[0119] In one embodiment, the overlay element generation module combines the scene analysis results with a style profile generated by the style learning module. In one embodiment, the style profile may include text tone and manner, writing style, emphasis phrase patterns, themes, and phrase rules based on page purpose (distinguishing between thumbnail pages and internal pages). For example, if the style profile is learned as "emotion-centered · soft tone," the overlay element generation module can combine the scene analysis results with a summary of basic location information (key points, review summaries, etc.) to extract sentence elements suitable for the style, such as "warm texture," "emphasis on analog sensibility," and "comfortable visit experience."
[0120] Subsequently, the overlay element generation module can generate a prompt that includes the scene description, location summary information, and phrase rules of the style profile, and input this into a separate LLM agent to automatically generate multiple (e.g., 6) overlay phrase candidates per page. The prompt may include an image scene description, location summary information, page type (thumbnail / inner page), presentation style (emphasis / soft / information-oriented), text length limits, and style profile-based stylistic guidelines. Based on the input conditions, the LLM can be configured to generate phrases that reflect the visual characteristics of the image while maintaining the account's unique style and tone.
[0121] In one embodiment, if the image analysis result is "a flat white cup placed under warm lighting inside a wood-toned cafe" and the location summary information includes "signature flat white," "quiet afternoon atmosphere," "hand-drip specialty shop," etc., the LLM can generate phrase candidates such as "a cup of flat white to complete a calm afternoon," "a signature menu item that matches the warm wood tones," and "aroma that deepens under soft lighting." Accordingly, the overlay element generation module can automatically provide overlay phrase candidates suitable for the images on each page by combining the visual context based on image scene analysis, location summary information, and style profile-based rules.
[0122] Additionally, the service provider server (100) generates a caption using location content and an overlay element (S350).
[0123] The caption generation module can automatically generate draft captions for Instagram posts based on location content and overlay element information generated by the location information generation module and the overlay element generation module. By referencing style profiles learned from the account's existing posts, the caption generation module automatically generates captions for new locations while maintaining writing style, tone, sentence structure, and expression styles.
[0124] In one embodiment, first, the caption generation module receives location summary information (description, positive review summary, negative review summary, key points, menu summary, etc.) generated through the location information generation module. Additionally, it utilizes overlay text candidates generated for each page image by the overlay element generation module, along with page-specific emphasis context (scene information included in the page, emphasis points, expression purpose, etc.), as input information. This input information is configured to reflect not only the characteristics of the new location but also the expression flow of the actual carousel content.
[0125] In one embodiment, the caption generation module inputs the location summary information and overlay phrase candidates into the LLM agent. At this time, the style profile may be provided in the form of guidelines within the prompt and may reflect, for example, the expression tone (soft / humorous / information-oriented), sentence length, emoji usage frequency, and hashtag usage method of the existing account. The stylistic rules included in the style profile apply constraints such as sentence ending methods, vocabulary selection, sentiment intensity, and review citation formats to ensure that the new caption is consistent with the account's existing content.
[0126] In one embodiment, the caption generation module provides a prompt containing the above information to an LLM agent to generate a result with the structure of "2 hook sentences + body caption draft". The hook sentences are generated as short phrases that arouse user interest by reflecting the scene information of the first page of the carousel. For example, if the scene analysis result is "the warm atmosphere of a wood-toned cafe" and the overlay includes the phrase "a cup filled with warmth," the caption generation module can generate a hook sentence such as "The moment you need a warm mood, start here."
[0127] In one embodiment, the body caption is composed by integrating a summary of location information (explanation in 3-4 paragraphs), 6 key points, a summary of positive reviews, a summary of negative reviews, and a phrase selected from candidates for overlay phrases. In one embodiment, the caption generation module reflects the points emphasized in the overlay phrases of each page into the body caption so that the generated body maintains a natural flow with the page order of the carousel content. For example, if Page 2 emphasizes "Introduction to Signature Menu," the body caption can be configured to include sentences regarding the features of the menu and review-based evidence.
[0128] In one embodiment, the caption generation module provides the hook sentence and body draft to the user terminal, and the user can complete the final caption by selecting, modifying, or regenerating the sentence. Upon a regeneration request, the caption generation module can improve the editing efficiency of the user terminal (400) by generating a new variant phrase while maintaining the same place summary information and style profile.
[0129] Therefore, the caption generation module can automatically generate high-quality captions containing unique location information while maintaining the account's existing style by combining location information summaries, overlay elements, image scene analysis information, and account style profiles.
[0130] Additionally, the service provider server (100) generates media content using an overlay element, a caption, and a selected media source (S360).
[0131] The media content creation module performs automatic color correction, automatic overlay placement, and automatic page draft generation.
[0132] In one embodiment, the media content generation module may perform color correction tailored to the LAB mean and variance of the style profile. In one embodiment, Reinhard or similar transformation techniques may be applied.
[0133] In one embodiment, the media content generation module can perform the combination of images and text (overlay elements) for each page.
[0134] In one embodiment, the media content generation module can render the entire carousel structure.
[0135] In one embodiment, the media content generation module of the service provider server can generate final carousel media content by performing automatic color correction, automatic overlay placement, and page-unit draft generation processes based on a style profile and page-specific confirmed images and overlay elements. First, the media content generation module performs color correction on the input image by referencing the LAB color space-based color style (L_mean, a_mean, b_mean, L_var, a_var, b_var) calculated by the style learning module. In one embodiment, the media content generation module calculates the LAB mean and variance of the input image and can apply color correction transformations in a direction that minimizes the difference from the mean and variance of the style profile. For example, by using the Reinhard color transformation technique or a similar statistical-based color stabilization algorithm, normalization and denormalization transformations can be applied to the L, a, and b channels of the input image, respectively, to adjust the color tone to have the same tone and manner as the account's existing content. Next, the media content creation module combines the overlay elements (text boxes, logos, emphasis elements, etc.) of each page, determined by the overlay element creation module, onto the image. In one embodiment, the overlay placement may be performed according to position rules and ratio rules included in the style profile. For example, if the center coordinates (cx, cy), width ratio (w_ratio), and height ratio (h_ratio) of a text box are defined in the style profile, the media content creation module calculates the coordinates in actual pixels based on the resolution of the page image and places the overlay elements. Additionally, for text elements, the style profile-based font type, character weight, color, shadow options, stroke presence, etc., can be applied to create overlay visual elements consistent with the account's existing carousel style.In one embodiment, the media content generation module renders the individual pages, for which color correction and overlay combination have been completed, into a single carousel structure. The rendering process may include the step of merging each page according to a predetermined order, maintaining consistency in resolution and aspect ratio between pages, and, if necessary, adding page transition effects or frame composition to convert it into a final output format (e.g., a JPEG image sequence or an MP4 video). Additionally, the media content generation module can improve the visual completeness of the entire carousel by performing outline cleanup, edge correction, color uniformization, and layer alignment of overlay elements for each page during the rendering process. Accordingly, the media content generation module integrates the automatic application of color styles, the automatic placement of text, logos, and emphasis elements per page, and the automatic rendering of the entire carousel structure, thereby enabling the automatic generation of high-quality place introduction carousel content that maintains the account's existing style, even without the user using separate professional image editing software.
[0136] In one embodiment, the media content creation module provides a function that allows the user terminal (400) to perform page order editing, background change, color adjustment, cropping, text style adjustment, etc.
[0137] FIG. 11 is a drawing illustrating an exemplary UI for the operation process of FIG. 9. FIG. 12 is a drawing illustrating an exemplary UI for the operation process of FIG. 9.
[0138] FIG. 13 is a schematic diagram of a system according to an embodiment of the present invention. FIG. 14 is a flowchart illustrating the process of a service providing server generating media content with a style of learning media content applied in the system according to FIG. 13. FIG. 15 is a diagram conceptually illustrating the operation process of FIG. 14.
[0139] First, the service providing server (100) generates style information using learning media content (S410).
[0140] The style learning module derives account-specific reels production rules by extracting scene transition methods, average and distribution of cut lengths, camera movement patterns, subtitle position / size / font / color, narration tone / speed, etc. from the input video.
[0141] The style profile generated in this way is commonly applied to the storyboard, subtitle text, automatic TTS generation, and video compositing processes generated in subsequent stages.
[0142] In one embodiment, the style learning module receives one or more video contents uploaded from a user terminal (400) as input, and extracts style information from the video, such as a scene transition method, average and distribution of cut lengths, camera movement pattern, position, size, font, color, tone and speed of narration, etc., to derive an account-specific video content production rule.
[0143] First, the style learning module decomposes the input video content into frames and calculates the similarity between adjacent frames using the color histogram, edge distribution, or deep learning-based features (e.g., CNN feature map) of each frame. By determining the point where the similarity between adjacent frames drops below a predetermined threshold as a cut boundary, the video can be divided into multiple shots or cuts. At this time, scene transition methods such as dissolve, fade-in, fade-out, and hard cut can be further identified by comparing the frames immediately before and after the cut boundary. For example, if a gradual change in the blending ratio of two frames is detected over a certain period, it can be classified as a dissolve transition, and if the brightness of the entire frame gradually decreases before a new scene appears, it can be classified as a fade-out / fade-in transition.
[0144] Once the cut boundaries are determined, the style learning module calculates the length of each cut in frames or time units (seconds) and calculates the average, median, variance, and histogram distribution for the total cut lengths. Through this, cut composition patterns, such as whether the reels of the account generally consist of short cuts, whether cuts of a certain length are repeated, or whether the lengths of the intro cut and closing cut are relatively long, can be saved as a style profile. In one embodiment, cut length statistics for each section may be saved separately by distinguishing between the intro section (a predetermined time after the video starts), the main body section, and the closing section (a predetermined time before the video ends).
[0145] Additionally, to extract camera movement patterns, the style learning module can analyze the direction and speed of movement of the entire frame or a key object area by calculating the optical flow between consecutive frames. If movement in a consistent direction is detected across the entire frame, it can be classified as left-right or up-down panning; if a significant change in the relative distance between the camera and the subject is observed, it can be classified as zoom-in / zoom-out or dolly movement. In one embodiment, if gyroscope sensor information or tilt information included in the video metadata is available, horizontal / vertical shaking, frequency of handheld shooting, and steady status can be additionally determined by combining them with optical flow analysis. The style learning module calculates statistical values such as the frequency of occurrence, usage location (intro / middle / closing), and average duration of these camera movement patterns and stores them in a style profile.
[0146] For subtitle style analysis, a style learning module detects text areas in each frame. In one embodiment, a text detection model is used to extract the bounding box of a subtitle box, and frames containing subtitles are merged along the time axis to determine the subtitle segments for each scene. For each subtitle box, the position (top / bottom / left / right / center) relative to the screen coordinate system, the ratio of width to height, the alignment method (left / right / center alignment), the font size, and the number of lines are calculated. Through pixel color analysis, the subtitle text color and background color (e.g., whether it is a translucent box) are separated, and a unique color usage pattern can be extracted by statistically analyzing the main color values in LAB or RGB space. In one embodiment, the subtitle area is input into an OCR to estimate font characteristics (serif / sans-serif, weight, letter spacing, etc.) or to recognize the shape of the subtitle box corners (whether they are rounded), shadows, and the presence or absence of stroke effects as patterns.
[0147] To analyze the narration style, the style learning module separates the audio tracks of the input reels and divides the voice segments into voice segments and background music segments. For the voice segments, speech rate (syllables / words per second), pitch distribution, volume (sound pressure level) distribution, intonation patterns, and pause locations can be extracted using a speech recognition model or a speech analysis model. In one embodiment, a speaker embedding representing the speaker's timbre characteristics can be extracted and stored as a reference vector for synthesizing with the same or similar timbre during subsequent TTS generation. Additionally, the unique audio mixing style of the account can be defined by statistically calculating where the narration is mainly placed in the video (intro-centered, throughout, focused on specific emphasis sections, etc.) and the relative volume ratio compared to the background music.
[0148] The scene transition method, cut length statistics, camera movement patterns, subtitle style, and narration characteristics extracted in this manner are integrated into a single style profile by a style learning module. The style profile may include account-specific reel production rules in the form of parameters, such as, for example, "average intro cut of 1.2 seconds, mainly hard cuts, high frequency of left and right panning, white subtitles at the bottom center + translucent background, and narration with a slow and calm female voice." In one embodiment, the style profile is stored in a JSON structure or as a database record and can be used as a standard to determine the recommended cut length, recommended camera movement, subtitle placement location, and text tone for each scene during the storyboard generation stage. Additionally, during the automatic TTS generation stage, narration voice similar to the account's existing reels can be synthesized by referring to the timbre vector, speech rate, pitch range, etc. stored in the style profile, and during the video synthesis stage, automatic cut editing and scene transition effects can be determined using cut length and transition method statistics.
[0149] In one embodiment, the style learning module uses multiple video contents as input instead of a single video content to distinguish between a style common to the entire account and a style unique to individual videos. In this case, after extracting the aforementioned features for each reel, the average and variance values at the account level are calculated, and a statistical value excluding outlier videos is adopted as a style profile to derive more generalized production rules.
[0150] Additionally, the service providing server (100) generates location content that matches the location to be analyzed (S420).
[0151] The process by which the place content generation module generates place content is described above, and is hereby substituted.
[0152] Additionally, the service providing server (100) generates a storyboard using location content and style information (S430).
[0153] The storyboard generation module generates visual requirements for each scene.
[0154] In one embodiment, based on location summary information and key points, an LLM-based image scene analyzer can generate "which scene should be filmed to best reveal the characteristics of the location." For example, requirements such as "front view of the entrance (3 seconds): panning left and right centered on the signboard," and "close-up of the signature menu (1.5 seconds): including a shot of a hand appearing and grabbing a cup" can be generated.
[0155] The storyboard generation module generates subtitle candidates for each scene.
[0156] In one embodiment, the storyboard generation module automatically generates 3 to 6 subtitle candidates per page by combining analyzed scene descriptions and subtitle rules (length, tone, position) extracted from style profiles.
[0157] The storyboard generation module generates narration.
[0158] In one embodiment, the storyboard generation module can generate a TTS model that learns the user's unique style based on timbre, speed, and intonation extracted from existing video content of the account. Additionally, it can automatically generate narration audio samples for video content by converting subtitle text within the storyboard into TTS.
[0159] In one embodiment, the storyboard generation module automatically generates multiple storyboards used for video content production by using a style profile, location summary information, and image scene analysis results as inputs. The storyboard generation module automatically produces a storyboard that includes a scene composition that can most effectively reveal the characteristics of the location, subtitle text for each scene, narration for each scene, and a shooting guide, and the generated storyboard is provided to a user terminal (400) and is finalized after the user selects or modifies it.
[0160] In one embodiment, the storyboard generation module provides text extracted from location summary information and key points of the location to an LLM agent that performs LLM-based scene analysis to generate scene-specific visual requirements to emphasize the characteristics of the location. For example, if summary information such as "a hotel cafe featuring high ceilings and a spacious lobby" is input, the LLM can automatically generate scene-specific shooting requirements such as "front view of the entrance (approx. 3 seconds): panning movement in the left and right directions centered on the signboard," "front view of the lobby (approx. 2 seconds): emphasizing the sense of space with a diagonal top composition," and "close-up of the signature menu (approx. 1.5 seconds): including a scene where a hand appears and grabs a cup." These visual requirements may vary by location, but can be adjusted by reflecting the cut length distribution or movement preference patterns derived from the style profile.
[0161] In one embodiment, the storyboard generation module combines the scene description and subtitle rules (e.g., subtitle length, stylistic tone, position / color rules) extracted from the style profile to generate multiple (e.g., 3 to 6) subtitle phrase candidates per scene. For example, if the account-specific "concise descriptive style + bottom-center aligned subtitle" rule is derived from the style profile, the LLM agent can generate sentences such as "the sense of openness provided by the spacious lobby," "the relaxed mood unique to this place," and "be sure to try the signature drink," and return each sentence as a candidate overlay phrase matched to the bottom-center area and specified font and color according to the subtitle display rules.
[0162] In one embodiment, the storyboard generation module also automatically generates narration within the video. Based on timbre vectors, speech rate, pitch range, and intonation patterns extracted by analyzing the account's existing reels in the style learning module, a Text-to-Speech (TTS) model reflecting the user's unique style can be generated. Subsequently, the storyboard generation module automatically inputs scene descriptions and subtitle text into the TTS model to generate scene-specific narration audio samples. For example, if the scene description is "Front view of the lobby: Composition emphasizing a sense of space," the TTS model generates an audio file such as "Feel the relaxed atmosphere of this space" in a tone similar to the account's existing narration, and this is provided for immediate playback on the user's terminal.
[0163] The storyboard generated in this manner is stored in a structure that includes a list of scenes to be filmed, required video elements for each scene, recommended shooting angles and camera movements, subtitle candidates for each scene, and narration audio samples for each scene. The storyboard generation module generates multiple versions of the storyboard and provides them to the user terminal (400), and the user can confirm the final storyboard after selecting or modifying the text, narration, and movement guide for each scene on the UI screen.
[0164] In one embodiment, when location summary information is complex or video shooting elements are diverse, the storyboard generation module automatically generates multiple length options such as "short version (6-9 seconds), basic version (12-15 seconds), and detailed version (20 seconds or more)," and can provide various reel plans by changing the cut length and scene composition ratio for each version. In one embodiment, the subtitle style and narration tone for each storyboard version can be finely adjusted so that the user can select a version suitable for the account identity.
[0165] Additionally, the service providing server (100) provides a storyboard to the user terminal (400) and receives a shooting video with the storyboard applied from the user terminal (400) (S440).
[0166] The shooting guide module provides a scene-by-scene shooting guide UI to the user terminal (400) based on the finalized storyboard.
[0167] In one embodiment, the shooting guide may include a shooting subject, shooting composition, camera movement, shooting time, necessary props or environment, etc. For example, a menu, a view of the space, staff movements, etc. may be included in the shooting subject. For example, perspective, top / bottom composition, whether the rule of thirds is applied, etc. may be included in the shooting composition. For example, zoom-in, panning, tracking, etc. may be included in the camera movement.
[0168] The shooting guide module of the service providing server (100) provides a scene-by-scene shooting guide UI to the user terminal (400) based on the finalized storyboard by the storyboard generation module. The shooting guide UI serves to guide the user to accurately shoot the scenes defined in the storyboard by visually presenting the shooting instructions required for video content production. FIG. 16 is a diagram illustrating an exemplary video shooting guide UI.
[0169] In one embodiment, the shooting guide module analyzes the elements constituting each scene and generates guide data including the shooting subject, shooting composition, camera movement, recommended shooting time, and props or environment information to be prepared. For example, if the storyboard includes an item such as "Signature menu close-up (1.5 seconds): Scene where a hand appears and grabs a cup," the shooting guide module may be configured to provide instruction information to the user terminal (400), such as "Shooting subject: Signature menu," "Shooting composition: Close-up, apply rule of thirds," "Camera movement: Fixed or fine tracking," "Shooting time: Approx. 1.5 seconds," and "Props: Prepare cup or plate." In one embodiment, the guide may be divided into sections for a set time for each instruction information and provided separately.
[0170] In one embodiment, when a storyboard item such as "Entrance view (3 seconds): panning left and right centered on the signboard" is included, the shooting guide UI can display detailed information such as "Shooting target: Store entrance and signboard", "Shooting composition: Light downward composition from the top, emphasizing perspective", "Camera movement: Panning left and right", "Shooting time: Approx. 3 seconds", "Environmental conditions: Recommended to shoot when there is little surrounding pedestrian traffic".
[0171] In one embodiment, the shooting guide UI may be provided in a visually easy-to-understand form by combining text, icons, example images, animations, etc., and the user may shoot each scene sequentially while referring to the UI screen. In one embodiment, the user terminal (400) may be configured to provide a UI that displays the shooting progress status (e.g., checkbox, progress bar, shooting completion mark) so that the user can check in real time which scene has been shot.
[0172] In one embodiment, when a user shoots a video according to the shooting guide UI, the user terminal (400) uploads the shot video to the service providing server (100) immediately after the shooting is finished. The uploaded video is automatically classified and stored by scene, and is then automatically used by the media content creation module in processes such as color correction, cut editing, and insertion of subtitles and narration. In one embodiment, the shooting guide module primarily verifies whether the uploaded video matches the basic conditions of the shooting guide (e.g., shooting time range, moving direction, composition), and if it deviates significantly from the standard, it may provide a message to the user requesting reshooting.
[0173] In one embodiment, the shooting guide module may display a "guide frame" or "guide line" as an overlay along with a real-time camera preview on the user terminal (400) to assist the user in shooting according to the shooting composition (e.g., rule of thirds line, center alignment guide). Additionally, an embodiment is possible in which the camera movement direction is analyzed in real-time using gyroscope and accelerometer values, and guidance such as "movement direction correction" is provided if, for example, the panning direction is opposite to the designated direction.
[0174] In this way, the shooting guide module provides step-by-step instructions so that users can shoot high-quality reels content without professional-level shooting knowledge, and the shot footage is immediately utilized in the subsequent automatic compositing stage, enabling the entire reels production process to be carried out consistently and efficiently.
[0175] Additionally, the service providing server (100) generates a caption using the location content and storyboard (S450).
[0176] The caption generation module of the service providing server (100) automatically generates captions for video content using location summary information generated by the location information generation module and a storyboard confirmed by the storyboard generation module as inputs. The caption generation module is configured to produce a draft caption consisting of a hook sentence and a body sentence structure by combining a style profile that reflects the account's existing caption style and core content information required for the location introduction.
[0177] In one embodiment, the caption generation module configures location summary information (location description, visitor review summary, key points, and main scene information) as a prompt for the LLM agent. For example, if the location summary information includes expressions such as "flavor of the signature menu, atmospheric interior, and spaciousness," the caption generation module may request the LLM agent to generate hook sentence candidates that can arouse user interest based on this information. The account's unique writing style, sentence length rules, and whether emoticons are used, extracted from the style profile, are also reflected in the prompt, thereby enabling the LLM to generate sentences with a tone consistent with the account's existing posts.
[0178] In one embodiment, the caption generation module utilizes scene-specific key messages and subtitle phrase candidates included in the storyboard as input values for caption generation. In one embodiment, if the first scene of the storyboard is set to "Entrance View: Emphasizing a sense of spaciousness and a relaxed atmosphere," a sentence such as "The moment you open the door and step inside, the sense of spaciousness provided by the space melts in first" can be automatically generated in the first paragraph of the body text. Similarly, if a scene such as "Representative Menu Close-up: Emphasizing the signature menu" is included, a phrase such as "The signature menu here has a taste that makes you immediately understand why it is famous with just one bite" can be automatically reflected in the body text of the caption.
[0179] In one embodiment, the caption generation module analyzes key points (e.g., six features) included in the place content and automatically constructs a sentence structure in which high-importance keywords are placed first. For example, if "spacious space," "emotional interior," "signature menu," and "quiet atmosphere" are extracted as key elements of the place, the LLM generates sentence candidates containing these elements and then adjusts the final sentence to match the tone of the style profile (e.g., "calm descriptive type," "MZ sensibility-emphasizing type").
[0180] In one embodiment, the caption generation module can generate a caption that is content-wise connected to the narration within the video by utilizing the TTS narration text generated by the storyboard generation module. In this case, if the narration script for the first scene of the video is "Feel the sense of space here first," one of the caption hook sentences can be generated as a naturally flowing sentence such as "That sense of space felt the moment you enter—that is the unique point of this place."
[0181] In one embodiment, the caption generation module arranges the generated sentences in a structure of "2 hook sentences + full draft of the main text" and provides them to the user terminal (400). The user may select, modify, or regenerate a single hook sentence or a paragraph of the main text, and the caption generation module regenerates a new replacement sentence or a modified version through an LLM agent in response to the user's request. In one embodiment, if the user requests a specific expression (e.g., a more emotional tone, a more concise sentence), a prompt specifying the request may be sent to the LLM to provide a modified caption that is immediately reflected.
[0182] In addition, the service providing server (100) generates media content using the filmed video and caption to which the storyboard is applied (S460).
[0183] The media content creation module automatically performs reel editing based on the filmed video and storyboard information. Automatic color correction based on style profile (LAB mean / variance matching), automatic subtitle placement per scene, automatic cut editing (cut length adjustment, scene transition application), automatic BGM mixing, and integrated video length adjustment for TTS audio insertion (e.g., automatic generation of 9-second, 12-second, and 15-second versions) can be performed.
[0184] In one embodiment, the media content generation module of the service providing server (100) generates media content in the form of video based on a video uploaded from a user terminal (400) and storyboard information confirmed by the storyboard generation module. The media content generation module is configured to automatically perform major editing tasks required for reel production, such as cut editing, subtitle placement, color correction, audio mixing, and length adjustment, by comprehensively utilizing style profiles, subtitle / narration information, and scene-specific metadata defined in the storyboard.
[0185] In one embodiment, the media content generation module performs color correction of the video based on color information (average and variance values of the LAB color space) of the style profile provided by the style learning module. In one embodiment, Reinhard color transfer or a similar statistical-based color conversion algorithm may be applied so that the overall color tone of the captured video can be automatically adjusted to match the account's unique video style. During the color correction process, the white balance, saturation, brightness, and contrast of the video are compared and corrected against the reference values of the style profile, and if necessary, a mask-based correction technique that selectively corrects specific areas within the video may be applied.
[0186] In one embodiment, the media content generation module automatically places subtitles using scene-specific subtitle information included in the storyboard. Based on subtitle position / size / font / color rules included in the style profile, the coordinates of the subtitle box in each scene are calculated and then composited onto the filmed video in the form of an overlay. In one embodiment, a function may be included to fine-tune the subtitle position using an in-video object detection model so as not to obscure faces or main subjects in scenes where people appear.
[0187] In one embodiment, the media content creation module also performs an automatic cut editing function. The filmed video may be automatically trimmed or its speed adjusted to match the scene length (e.g., 1.5 seconds, 3 seconds) defined in the storyboard, and slow motion or acceleration effects may be applied if necessary. In one embodiment, a natural connection between cuts may be automatically configured by reflecting the scene transition method (hard cut, fade-in / out, dissolve, etc.) specified in the storyboard.
[0188] In one embodiment, regarding audio editing, the media content creation module performs automatic BGM mixing and TTS audio insertion functions. It can automatically insert a TTS narration audio file generated by the storyboard creation module into the timeline of the filmed video and perform automatic gain adjustment (ducking) so that the volume of the background music does not interfere with the narration. In one embodiment, the BGM is automatically selected according to the sound pattern (tempo, mood) derived from the style profile, and loop processing or fade-out is applied naturally to match the video length.
[0189] Additionally, the media content creation module comprehensively adjusts the total length of the reels. In one embodiment, the system supports automatic rendering of multiple versions, such as 9 seconds, 12 seconds, and 15 seconds, based on the same content, and can generate various video length options by automatically proportionally reducing or expanding cut lengths or by selecting some scenes. The user terminal (400) can select a version of the desired length from among the multiple versions generated in this way and proceed with final editing.
[0190] In one embodiment, the media content generation module transmits an automatically generated draft of video content to a user terminal (400), and the user can perform detailed editing based on it. For example, the user can directly perform tasks such as modifying subtitle text, adjusting subtitle position, fine-tuning cut length, changing color correction intensity, adding filters, and replacing narration in the UI, and the modifications can be immediately reflected on the server and re-rendered.
[0191] In one embodiment, the media content generation module can automatically convert the aspect ratio (9:16, 4:5, etc.) and resolution (1080×1920, etc.) of the generated video content to suit various platform formats (e.g., Instagram Reels, TikTok, YouTube Shorts) and provide it.
[0192] In this way, the media content generation module of the present invention automates most of the core editing steps required in video production, thereby reducing the user's workload and enabling the rapid production of high-quality reels that reflect the account's unique style.
[0194] FIG. 17 is a diagram illustrating the hardware configuration of a service provider server according to FIG. 1 as an example.
[0195] Referring to FIG. 7, a service providing server (100) may include at least one processor (110) and a memory that stores instructions that instruct the at least one processor (110) to perform at least one operation.
[0196] The above at least one operation may include components of the aforementioned service providing server (100) or other functions or methods of operation.
[0197] Here, at least one processor (110) may mean a central processing unit (CPU), a graphics processing unit (GPU), or a dedicated processor on which methods according to embodiments of the present invention are performed. Each of the memory (120) and the storage device (160) may be composed of at least one of a volatile storage medium and a non-volatile storage medium.
[0198] For example, the memory (120) may be one of read-only memory (ROM) and random access memory (RAM), and the storage device (160) may be flash memory, hard disk drive (HDD), solid-state drive (SSD), or various memory cards (e.g., micro SD card).
[0199] Additionally, the server (100) may include a transceiver (130) that performs communication via a wireless network. Additionally, the server (100) may further include an input interface device (140), an output interface device (150), a storage device (160), etc. Each component included in the server (100) may be connected by a bus (170) to communicate with each other.
[0200] Examples of the server (100) may be a communicable desktop computer, laptop computer, notebook, smartphone, tablet PC, mobile phone, smart watch, smart glass, e-book reader, PMP (portable multimedia player), portable game console, navigation device, digital camera, DMB (digital multimedia broadcasting) player, digital audio recorder, digital audio player, digital video recorder, digital video player, PDA (Personal Digital Assistant), etc.
[0202] The methods according to the present invention may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc., either alone or in combination. The program instructions recorded on the computer-readable medium may be those specifically designed and configured for the present invention, or they may be those known and available to those skilled in the art of computer software.
[0203] Examples of computer-readable media may include hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, and flash memory. Examples of program instructions may include machine code, such as that generated by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc. The aforementioned hardware devices may be configured to operate as at least one software module to perform the operation of the present invention, and vice versa.
[0204] In addition, the above-described method or device may be implemented by combining all or part of its configuration or function, or by implementing it separately.
[0205] Although the present invention has been described above with reference to preferred embodiments, those skilled in the art will understand that various modifications and changes can be made to the invention without departing from the spirit and scope of the invention as described in the following claims.
[0206] Although embodiments of the present invention have been described above with reference to the attached drawings, those skilled in the art will understand that various modifications and changes can be made to the present invention without departing from the technical spirit and scope of the invention as set forth in the claims below. Therefore, the embodiments described above should be understood as illustrative in all respects and not restrictive.
Claims
Claim 1 A server for generating location content, comprising a location content generation module that receives a location ID as input, receives basic location information matching the location ID from a map service server, receives post information and review information matching the location ID from the map service server, separates the collected review information into sentence units, calculates evaluation scores through an LLM agent to classify them into positive and negative reviews, generates a positive review summary from positive reviews and a negative review summary from negative reviews through an LLM agent, and generates a location description, introductory phrase, and key points based on the review summary and basic location information through an LLM agent; a style learning module that receives learning video content from a user terminal and generates a style profile; a location information generation module that receives a location ID as input, collects basic location information matching the location ID, review information, and blog post information to generate location summary information; a storyboard generation module that generates a storyboard including scene-by-scene shooting requirements, subtitles, and narration scripts using the style profile and location summary information; and a shooting guide module that provides a scene-by-scene shooting guide to a user terminal based on the storyboard. A server further comprising: a caption generation module that generates captions using the above-mentioned location summary information, storyboard, and style profile; and a media content generation module that generates video content by automatically performing color correction, cut editing, subtitle placement, audio mixing, and length adjustment based on the filmed video and storyboard uploaded from a user terminal. Claim 2 In claim 1, the place content generation module is a server that calculates an evaluation score using an LLM agent configured to receive a sentence generated from review information, assign an evaluation score within a preset range, and output a matched sentence, evaluation score, and basis for evaluation. Claim 3 In paragraph 2, the place content generation module performs an inspection function that verifies the appropriateness of the evaluation score by comparing and matching the basis of the evaluation score calculated by the LLM agent with words included in a pre-stored positive word table, negative word table, and neutral word table. Claim 4 In claim 1, the place content generation module is a server that uses an LLM agent to generate a positive review summary based on review information classified as positive reviews and generates a negative review summary based on review information classified as negative reviews. Claim 5 In paragraph 4, the above-mentioned place content generation module generates a place description of a preset length range from place basic information, positive review summaries, and negative review summaries using an LLM agent, and generates an introductory phrase from the place description using an LLM agent, a server.
Citation Information
Patent Citations
Review rating system
KR1020240083735A
Automatic review response system based on learning from review data
KR1020250050402A
System for providing online commerce review analysis service
KR102836516B1
