WO2024025039A1 - System and method for analyzing state of user in metaverse - Google Patents

System and method for analyzing state of user in metaverse Download PDF

Info

Publication number
WO2024025039A1
WO2024025039A1 PCT/KR2022/016847 KR2022016847W WO2024025039A1 WO 2024025039 A1 WO2024025039 A1 WO 2024025039A1 KR 2022016847 W KR2022016847 W KR 2022016847W WO 2024025039 A1 WO2024025039 A1 WO 2024025039A1
Authority
WO
WIPO (PCT)
Prior art keywords
text
user
data
unit
metaverse
Prior art date
Application number
PCT/KR2022/016847
Other languages
French (fr)
Korean (ko)
Inventor
김성엽
Original Assignee
주식회사 마블러스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 마블러스 filed Critical 주식회사 마블러스
Publication of WO2024025039A1 publication Critical patent/WO2024025039A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
    • G10L25/63Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination for estimating an emotional state

Definitions

  • Embodiments of the present application relate to a system and method for analyzing the user's status by calculating the user's characteristics from the user's text captured in the metaverse.
  • Metaverse service providers have the task of constantly developing Metaverse in a way that increases satisfaction while always checking users' various experiences and satisfaction with them from a detailed perspective in order to develop services.
  • Metaverse service providers need technology to extract and analyze elements that reflect the user experience within the Metaverse and provide accurate and easy-to-understand analysis results to service decision makers. Only with this technology can metaverse service providers determine the appropriate means and timing to intervene in the metaverse.
  • This invention is a technology supported by the National IT Industry Promotion Agency's 2022 Metaverse Content Global Project Support Project (D0131-22-1002) "Project title: Strengthening overseas expansion capabilities based on the education Metaverse platform.”
  • embodiments of the present application calculate user characteristics from the user's text captured as the user's behavior log in the metaverse, analyze the user's status, and accurately derive elements related to the user's satisfaction.
  • the goal is to provide a system and method for analyzing the status of users of the metaverse.
  • a data collection module configured to capture the user's text or voice corpus data in the metaverse - the corpus consists of one or more unit texts; a preprocessing module that embeds the user's text or voice corpus data and converts it into vector data corresponding to each unit text; a feature analysis module configured to extract characteristics of the user from vector data corresponding to each unit text, wherein the characteristics include one or more items and the items include a text type; an index analysis module configured to calculate an index score for each characteristic for each individual user based on the calculation value calculated during the characteristic extraction process; and a status analysis module configured to calculate the status of each user based on user characteristics extracted for each user and index scores for the characteristics.
  • the data collection module may be configured to capture text or voice data of each of a plurality of users formed in the metaverse and search for associated data of the captured text or voice data.
  • the preprocessing module converts the captured voice data into text data using a pre-stored voice conversion unit, tokenizes the captured text data or converted text data into a plurality of tokens using a pre-stored natural language processing model, and It is configured to calculate vector data by embedding the plurality of tokens.
  • the feature analysis module inputs vector data corresponding to each unit text into a pre-learned feature recognition model so that the corresponding unit text is included in each of a plurality of text types preset for the feature recognition model. It may be configured to calculate probability values to be classified, respectively, and determine the text type of the unit text based on the probability values calculated for each type.
  • Text types of the above characteristics include one or more types of emotional expressions, behavioral expressions, hate speech, political speech, use of emoticons, use of unrefined language, and time expressions.
  • the feature recognition model is learned in advance using a first training data set, and each training data in the first training data set is text data acquired in an online or offline space different from the metaverse. This is the first sample vector data that has been embedded.
  • the feature analysis module uses a feature recognition model re-trained using a second training data set to determine the type of user's feature from vector data corresponding to the user's text captured after re-learning is completed. It could be configured further.
  • Each training data in the second training set is vector data obtained by embedding text or voice data captured in the metaverse.
  • At least some text types among the plurality of text types of the feature recognition model may each have two or more sub-types.
  • the feature recognition model includes, for each of the at least some text types, each sub-model that classifies two or more sub-types of the corresponding text type.
  • the feature recognition model determines whether a text type without a subtype is classified into the corresponding text type, and for a text type with a subtype, one of two or more subtypes of the text type. It may be configured to classify.
  • the text type of the determined unit text includes the classified subtext type.
  • the index analysis module may be configured to calculate an index score for the text type included in the user's characteristics based on probability values in the process of classifying the text type.
  • the operation value includes a probability value calculated during the classification operation of the feature recognition model, and the probability value may include a probability value that the unit text is classified into a determined text type and a probability value that the unit text is classified into another undetermined text type. there is.
  • the index analysis module calculates the total number of unit texts included in the user's text or voice corpus, each probability value calculated for each unit text, that the unit text will be classified into the text type included in the feature. It is configured to calculate an index score for the text type included in the user's characteristic based on the sum for each unit text of the sum and the probability value that the corresponding text is not classified as the text type included in the characteristic.
  • the index analysis module calculates the total number of unit texts included in the user's text or voice corpus, and the corresponding unit text calculated for each unit text.
  • the sum of the probability values of each to be classified as a text type included in the characteristic and the probability of being classified into each of the remaining text types among the plurality of text types of the sub-model are classified into the same text type. It is configured to calculate an index score for the text type included in the user's characteristics based on the sum of the probability values.
  • the state analysis module forms a characteristic set consisting of characteristics extracted for each of a plurality of users, forms a plurality of clusters based on the characteristics of each user in the characteristic set, and forms a plurality of clusters within the formed clusters. It is configured to extract commonalities between users in a cluster based on at least one of individual user characteristics, index scores, and related data.
  • the state analysis module selects two or more index scores among text types included in the characteristics of users belonging to the same cluster to calculate similarity between users belonging to the formed cluster, and selects the two or more selected index scores. It may be further configured to calculate the similarity of users within each cluster, expressed as an index score for each text type, for each index score.
  • the similarity is calculated in the form of a similarity distribution, which includes the number (count) of users with the same or similar index score, and the similarity score is based on the axial scale of the plane in which the similarity distribution is expressed.
  • the state analysis module selects index scores for two or more text types among the index scores for text types used to calculate similarity, and creates a similarity distribution based on the index scores for the selected text types. It may be further configured to calculate connectivity between users in each cluster based on
  • the connectivity is calculated in the form of a connectivity distribution, and the connectivity distribution form is implemented as a two-dimensional or three-dimensional distribution depending on the number of selected index scores, and each axis corresponds to the number of users with the selected index score.
  • the state analysis module generates the user's state expressed in some or all of the user's extracted characteristics, index scores for the characteristics, commonality, similarity, and connectivity of the users.
  • the computer-readable recording medium may record a program including instructions for executing a method of analyzing the user's state in the metaverse.
  • the method of analyzing the user's status in the metaverse includes capturing the user's text or voice corpus data in the metaverse - the corpus consists of one or more unit texts; Embedding the user's text or voice corpus data and converting it into vector data corresponding to each unit text; extracting characteristics of the user from vector data corresponding to each unit text, wherein the characteristics include one or more items and the items include a text type; calculating an index score for each characteristic for each user based on the calculation value calculated in the process of extracting the characteristic; and calculating the status of each user based on at least one of the user characteristics extracted for each user and the index score for the characteristic.
  • the system for analyzing the user's status in the metaverse can determine the user's status by analyzing it in multiple dimensions through the distribution of index scores calculated based on the user's characteristics.
  • the system that analyzes the user's status in the metaverse can effectively provide marketing content for the target group by extracting a target group that has commonality or connectivity in the behavior log based on the user's characteristics.
  • the system that analyzes the user's status in the metaverse can provide a customized metaverse based on the user's characteristics.
  • FIG. 1 is a schematic diagram of a system for analyzing the status of a user of the metaverse, according to one aspect of the present application.
  • Figure 2 is a schematic diagram of a service server, according to an embodiment of the present application.
  • Figure 3 is a schematic diagram of a process for analyzing a user's state through clustering, according to an embodiment of the present application.
  • FIG. 4 is a diagram calculating similarity between users belonging to some clusters in FIG. 3.
  • Figure 5 is a diagram extracting connectivity between users within the cluster of Figure 4.
  • Figure 6 is a flowchart of a method for analyzing the status of a user in the metaverse according to another aspect of the present application.
  • Figure 7 is a schematic diagram of the relationship between users with malicious comments and users subject to malicious comments.
  • Figure 8 is a schematic diagram of an analysis report that newly supplements the existing research on Figure 7.
  • Figure 9 shows an output message converted from the same message by a language model customized for each cluster, according to an embodiment of the present application.
  • Figure 10 is a schematic diagram of providing a customized message to each user using a language model customized for each cluster in Figure 9.
  • expressions such as “have,” “may have,” “includes,” or “may include” refer to the corresponding features (e.g., numerical values, functions, operations, steps, parts, elements, and/or components). It refers to the presence of components such as etc.) and does not exclude the presence or addition of additional features.
  • Expressions such as “first,” “second,” “first,” or “second” used in various embodiments may modify various elements regardless of order and/or importance, and limit the elements. I never do that.
  • the above expressions can be used to distinguish one component from another.
  • the first component and the second component may represent different components, regardless of order or importance.
  • the expression “configured to” may mean, for example, “suitable for,” “having the capacity to,” depending on the situation. ,” can be used interchangeably with “designed to,” “adapted to,” “made to,” or “capable of.”
  • the term “configured (or set) to” may not necessarily mean “specifically designed to” in hardware.
  • the expression “a device configured to” may mean that the device is “capable of” working with other devices or components.
  • the phrase “processor configured (or set) to perform A, B, and C” refers to a processor dedicated to performing the operations (e.g., an embedded processor), or executing one or more software programs stored on a memory device. By doing so, it may mean a general-purpose processor (eg, CPU or application processor) that can perform the corresponding operations.
  • FIG. 1 is a schematic diagram of a system for analyzing the status of a user of the metaverse, according to one aspect of the present application.
  • the system 1 for analyzing the user's status in the metaverse may be entirely hardware, or may be partially hardware and partially software.
  • a system may collectively refer to hardware equipped with data processing capabilities and operating software for running it.
  • terms such as “unit,” “system,” and “device” are intended to refer to a combination of hardware and software driven by the hardware.
  • the hardware may be a data processing device that includes a Central Processing Unit (CPU), Graphics Processing Unit (GPU), or other processor.
  • software may refer to a running process, object, executable, thread of execution, program, etc.
  • the system 1 for analyzing the user's status in the metaverse includes the user's electronic device 100 and a service server 200.
  • the electronic device 100 and the service server 200 are connected through a telecommunication network.
  • the telecommunication network provides a wired/wireless telecommunication path through which the electronic device 100 and the service server 200 can transmit and receive data with each other.
  • a telecommunication network is not limited to a communication method according to a specific communication protocol, and an appropriate communication method may be used depending on the implementation.
  • IP Internet Protocol
  • the telecommunication network may be implemented as a wired and/or wireless Internet network.
  • the electronic device 100 and the service server 200 are implemented as mobile communication terminals
  • the telecommunication network may be implemented as a wireless network such as a cellular network or a wireless local area network (WLAN) network.
  • WLAN wireless local area network
  • the electronic device 100 is a client terminal device that communicates with the service server 200 and includes at least one processor capable of processing data, a memory for storing data, and a communication unit for transmitting/receiving data.
  • This electronic device 100 may be implemented as, for example, a laptop computer, other computing device, tablet, cellular phone, smart phone, smart watch, smart glasses, head-mounted display (HMD), other mobile device, or other wearable device. there is.
  • the electronic device 100 is configured to input text/voice of a user accessing the metaverse through an input device and microphone. Additionally, in some embodiments, the electronic device 100 may be configured to provide an analysis result report or a metaverse intervention result of a metaverse service provider to the user.
  • the service server 200 is a plurality of computer systems or computer software implemented as network servers.
  • a network server is a computer system and computer that is connected to a sub-device that can communicate with other network servers through a computer network such as a private intranet or the Internet, receives a request to perform a task, performs the task, and provides a performance result.
  • a computer network such as a private intranet or the Internet
  • receives a request to perform a task performs the task, and provides a performance result.
  • the service server 200 may be implemented as any type or combination of types of computing devices, such as a network server, web server, file server, supercomputer, desktop computer, etc.
  • the service server 200 includes at least one processor capable of processing data, a memory for storing data, and a communication unit for transmitting/receiving data.
  • the service server 200 is a server that operates a service that creates and provides a metaverse.
  • the service server 200 generates and provides metaverse data for displaying metaverse spaces and objects on the connected user's electronic device 100.
  • the metaverse data is data created by rendering an object model in a two-dimensional or three-dimensional virtual space.
  • the objects include objects related to places provided by the virtual space (eg, products, installations, etc.) or avatar objects pointing to users.
  • the service server 200 receives the user's text or voice data through the user's electronic device 100 connected to the metaverse and generates a behavior log for each user.
  • the service server 200 analyzes the user's status from text or voice data in the user's behavior log.
  • Figure 2 is a schematic diagram of a service server, according to an embodiment of the present application.
  • the service server 200 includes a data collection module 210, a pre-processing module 220, a characteristic analysis module 240, an index analysis module 250, and a state analysis module 260.
  • the service server 200 may further include a natural language DB 230 and/or an analysis DB 270.
  • the service server 200 may further include a report generation module 280 and/or a metaverse management module 290.
  • the components in FIG. 2 refer to components from a software perspective that are functionally implemented according to the operation of hardware (processor, memory, etc.) of the service server 200.
  • the data collection module 210 may be implemented by a communication unit or a processor.
  • various analysis modules 240, 250, and 260 may be implemented by a processor.
  • the natural language DB 230 and analysis DB 270 may be implemented by memory.
  • the data collection module 210 is configured to capture each user's natural language data generated in a metaverse accessed by a plurality of users.
  • the natural language data may be text or voice data.
  • the corpus contains one or more unit text/speech.
  • the data collection module 210 may capture a corpus including one sentence or phrase as natural language data in a single capture operation.
  • the data collection module 210 may capture natural language data in the metaverse by retrieving natural language data included in the user's behavior log.
  • the data collection module 210 may store captured text or voice data of each of a plurality of users as raw natural language data in the natural language DB 230.
  • the data collection module 210 may search for related data of natural language data.
  • the data collection module 210 may search some or all of the data other than the natural language data in the behavior log as related data to the captured natural language data.
  • the searched related data may be added to the captured natural language data and stored together in the natural language DB 230.
  • the related data may include, for example, personal information of the user who created the natural language data, creation time, creation location, etc.
  • the creation location refers to a location within the metaverse.
  • the preprocessing module 220 is configured to convert the captured raw natural language data into data in a predetermined format for state analysis.
  • the preprocessing module 220 may be configured to convert the voice data into text data and then convert it into data in the predetermined format.
  • the pre-processing module 220 may include a speech-to-text (STT) unit that converts input speech into text.
  • STT speech-to-text
  • the STT unit is configured to extract voice features from voice data and calculate text corresponding to the voice data based on the extracted voice features.
  • the STT unit may be comprised of an artificial neural network.
  • the parameters of the STT unit may have values for converting the language speech of the training data set into language text by the learning method of the machine learning model.
  • the preprocessing module 220 may convert text data of raw natural language data or text data primarily converted from voice data into data in a pre-designated format using a pre-stored natural language processing model.
  • the predefined format may be a vector data format.
  • the natural language processing model may be a machine learning model configured to process the embedding of input text and produce numerical output data in vector form.
  • the machine learning model may include a neural network structure for natural language processing.
  • the natural language processing model may be configured to tokenize input text into a plurality of tokens and perform embedding processing on each of the plurality of tokens to calculate a text vector.
  • tokens may be tokenized on a word-by-word basis or a context-by-context basis.
  • the context unit is a text unit larger than a word and may be, for example, a phrase or sentence.
  • the natural language processing model for example, BERT (Bidirectional Encoder Representations from Transformers), ELECTRA (Efficiently Learning an Encoder that Classifies Token Replacements Accurately), tokenizes and embeds the input text word by word, or tokenizes it. It may be configured to segment and embed words into larger units of text (e.g., phrases, sentences, paragraphs, etc.) and/or encode them in token order.
  • the natural language processing model is not limited to the above-described model and may have various structures capable of calculating text vectors from input text.
  • the parameters of the natural language processing model may be designed in advance to have values for processing the target language.
  • the preprocessing module 220 may include KoBERT, KcELECTRA, or other natural language processing model designed to process Korean language.
  • the preprocessing module 220 extracts and removes preset special symbols and stopword texts from a corpus of text to be preprocessed, and/or performs normalization processing. It may be configured to do so.
  • the preprocessing module 220 may use reference texts pre-registered as special symbols and stop words to check whether the text corpus to be pre-processed includes texts corresponding to special symbols and stop words.
  • the preprocessing module 220 may remove special symbols and stop words from the text corpus and perform a tokenization operation.
  • the normalization process includes a cleaning process and/or a regular expression process to remove noise data from the existing corpus.
  • the pre-processing module 220 extracts stems and/or headwords before embedding processing and embeds them with at least some tokens among a plurality of tokens, and/or extracts unregistered text for which no vector is defined after embedding. It may be further configured to newly register as a registered text.
  • the preprocessing module 220 may extract lemmas and stems from a plurality of tokens using a lemmat/stem extraction tool.
  • the preprocessing module 220 may include, for example, a lemmatization tool such as WordNetLemmatizer, or a stemming tool such as the Porter algorithm.
  • the preprocessing module 220 may replace the text from which the lemma and stem have been extracted with the extracted lemma and stem and embed it with the remaining text, or may process the extracted lemma and stem together with the plurality of tokens.
  • the preprocessing module 220 may check undefined vectors in a plurality of tokens.
  • the definition or registration text of the vector may be stored in advance in the natural language DB 230. Text for which this vector is not defined may be unregistered text.
  • the preprocessing module 220 may update the text corresponding to the undefined vector with a new registered text.
  • the preprocessing module 220 may add the data characteristics and importance tags to data converted to data in the pre-designated format and store the data in the natural language DB 230.
  • the data characteristics are characteristics extracted during the preprocessing process and are text characteristics that are different from the user characteristics described below.
  • the importance tag is a tag that indicates whether the expression is not very important in interpreting the meaning of the actual sentence.
  • the importance tag may be given to prepositions (for, to, the), particles, etc.
  • the preprocessing module 220 may associate the data characteristics and importance tags calculated during the preprocessing process with the corresponding vector data and store them in the natural language DB 230.
  • the preprocessing module 220 supplies the text vector calculated through preprocessing to the feature analysis module 240.
  • the characteristic analysis module 240 is configured to extract characteristics of each user from a text vector converted from captured text or converted text.
  • the above characteristics represent characteristics that describe the user's activity itself or the user's interaction with other users on the metaverse.
  • the characteristics may include one or more of the following: the type of text from which the characteristic is extracted, the frequency of use of the text classified into that type, the percentage of use, the style of expressing the text, and whether or not it is a key word.
  • the text type may be a sentence type.
  • the text type may include one or more types of emotional expressions, behavioral expressions, hate speech, political speech, emoticon expressions, crude language expressions, and time expressions.
  • the above unrefined language expressions represent, for example, ⁇ , abbreviations, etc.
  • the text type of a specific expression/utterance may be classified and extracted as one of one or more pre-designated types. For example, if a specific text has an emoticon expression, the characteristic may have an emoticon expression as a type item, regardless of what meaning the emoticon means.
  • the feature analysis module 240 may extract features including text type using a pre-learned feature recognition model.
  • the feature analysis module 240 inputs vector data corresponding to each unit text into the feature recognition model. Probability values that the corresponding unit text will be classified into each of the plurality of text types preset for the feature recognition model may be calculated, and the text type of the unit text may be determined based on the probability values calculated for each type. User characteristics, including the determined text type, are extracted from the corresponding unit text.
  • the feature recognition model is a machine learning model configured to perform a classification operation to determine the corresponding text type by inferring the correlation between the input vector data corresponding to the text and the type of feature.
  • the machine learning model has a neural network structure.
  • the neural network structure is configured to determine the type of feature with the highest probability of classifying text data based on the correlation between vector data obtained by embedding text data and the type of feature.
  • the neural network structure may be composed of a fully connected layer or other NN structure including a multi-layer perceptron (MLP).
  • MLP multi-layer perceptron
  • the feature recognition model may be trained in advance using a first training data set consisting of a plurality of first training samples. Each first training sample has first training data and label data, respectively.
  • the first training data may be first sample vector data obtained by embedding text data obtained in an online or offline space other than the metaverse.
  • the label data indicates the type of actual characteristics that the text has.
  • the characteristic recognition model calculates a result value (i.e., type of predicted characteristic) by processing the first training data with internal parameters.
  • the parameters of the feature recognition model are learned so that the error between the calculation result value and the value of the label data (actual feature type) is further reduced.
  • the learned feature recognition model has parameters that minimize the error.
  • the feature analysis module 240 inputs vector data corresponding to the user's captured text into a feature recognition model learned in advance using the first training data set.
  • the feature recognition model calculates each vector data with pre-learned parameters and calculates the probability that the unit text corresponding to each of the plurality of types will be classified. The type with the highest calculated probability value may be determined as the type of user characteristic.
  • a pre-trained feature recognition model may be re-trained using a second training data set. Then, the feature analysis module 240 determines the text type from vector data corresponding to the unit text after re-learning is completed using the feature recognition model re-learned using the second training data set. It could be configured further. Since the re-learning process is similar to the above-described learning process, the differences are mainly described.
  • Each second training data in the second training data set may be second sample vector data obtained by embedding text or voice data captured in the metaverse.
  • the system 1 for analyzing the user's status in the metaverse extracts the user's characteristics using an already published Korean data set as a first training data set before providing the metaverse service
  • the feature recognition model may be fine-tuned using a second training data set obtained by embedding text data of service users captured while providing the metaverse service.
  • At least some of the text types may have two or more sub-types.
  • a type of emotional expression may have subtypes of positive, neutral, and negative.
  • types of behavioral expressions may have various behaviors as sub-types.
  • the characteristic analysis module 240 performs a binary classification operation to determine whether a text type without a sub-type is classified into the corresponding text type, and for a text type with a sub-type, 2 of the corresponding text type. It is configured to perform a multi-classification operation to determine classification into any one of the above sub-types. For example, the characteristic analysis module 240 performs a binary classification operation to recognize the type of hate speech as whether or not it corresponds to hate speech, but performs a multi-classification operation to recognize more detailed emotional states for the type of emotional expression. You can also perform actions.
  • the feature recognition model may include, for each of the at least some text types, each sub-model that classifies two or more sub-types of the corresponding text type.
  • the characteristic analysis module 240 may include a sub-model that recognizes whether the user's emotional expression is positive, negative, or neutral.
  • the characteristic analysis module 240 inputs the user's unit text into the sub-model to calculate a probability value that the unit text will be classified into each of the positive, negative, and neutral sub-types, and calculates the probability value for each sub-type.
  • the unit text may determine any one of positive, negative, and neutral subtypes as the unit text type. Since the structure and learning process of the sub-model are similar to the feature recognition model described above, detailed description is omitted.
  • the usage ratio is the ratio of unit texts having the same determined type compared to the entire corpus.
  • the key word may be determined based on whether the unit text includes key words representing a proper noun, a location word, a time word, or an age word.
  • the characteristic analysis module 240 may extract user characteristics in vector form.
  • the user's characteristics in the form of a vector may also be referred to as a user's characteristic vector.
  • Each dimension of the user's feature vector corresponds to a respective item. For example, when features including the user's text type are extracted, the user's feature vector includes a value indicating the text type determined by the value of the dimension corresponding to the text type.
  • the user's characteristic vector includes the frequency of emotional expression, frequency of behavioral expression, frequency of hate speech, frequency of political speech, frequency of emoticon use, and use of unrefined language.
  • Frequency and time expression may further include values indicating frequency.
  • the index analysis module 250 is configured to calculate an index score for each characteristic of a plurality of users, a calculation value calculated in the process of extracting characteristics.
  • the index analysis module 250 when the characteristic analysis module 240 extracts user characteristics including the text type of the unit text using a characteristic recognition model, the index analysis module 250 generates probability values in the process of classifying the text type. Based on this, an index score for the text type included in the user's characteristics may be calculated. The index score quantifies the degree to which the corresponding unit text matches the determined text type in the entire range of the corpus consisting of a plurality of unit texts. Matching deviations may exist even between different unit texts determined to be of the same type, and this deviation is quantified as an index score.
  • the calculation value includes a probability value calculated during the classification operation of the feature recognition model.
  • the probability value includes a probability value that the unit text will be classified as a determined text type and a probability value that the unit text will be classified as another undetermined text type.
  • the index analysis module 250 is configured to calculate index scores for each text type included in the user's characteristics based on the calculation value calculated in the process of extracting each type of the user's unit text.
  • the index analysis module 250 may calculate an index score for the text type included in the user's characteristics according to the operation in which the text type is determined.
  • the index analysis module 250 determines the total number of unit texts included in the corresponding user's text or voice corpus, and each unit text is a plurality of text types in the feature recognition model. It may be configured to calculate an index score for the text type included in the user's characteristic, based on the probability of being classified as a text type included in the characteristic and the probability that the same unit text will not be classified as a text type included in the characteristic. there is.
  • a binary classification is treated as determined if the determined text type is a superclass with no subclasses.
  • the index analysis module 250 calculates the probability value of the unit text being classified into each of the plurality of text types of the feature recognition model from the feature analysis module 240. Obtain, obtain a probability value of being classified as a text type included in the feature from among each probability value, obtain a probability of being classified into each of the remaining text types among the plurality of text types of the feature recognition model, and calculate the sum of these. The probability that a text is not classified as a text type included in the above characteristics can also be calculated. These probability values may be obtained for each unit text included in the same corpus.
  • the index analysis module 250 calculates the total number of unit texts included in the user's text or voice corpus, calculated for each unit text, and each unit text to be classified into the text type included in the characteristic.
  • An index score for the text type included in the user's characteristic may be calculated based on the sum of the probability values and the sum for each unit text of the probability value that the corresponding text is not classified as the text type included in the characteristic. .
  • the index analysis module 250 may calculate an index score for the text type (c) included in the user's characteristics using the following equation.
  • Constant is a value arbitrarily designated by the user to set the scale range of the index score. For example, it may be 0 or 100, but is not limited thereto.
  • Ttotal represents the total number of unit texts included in the text or voice corpus.
  • the unit text may be a sentence as described above.
  • Pc represents the probability value that each unit text will be classified.
  • Pc' represents the probability that the same unit text is not classified as a text type included in the above characteristic.
  • two sentences were captured: "I hate old people for no reason. They only harm society", and these two sentences were each treated as unit text, and the type of hate speech was determined by whether or not it was classified as hate speech.
  • each was input into a feature recognition model that performs a binary classification operation, and the text types of both sentences were determined to be hate speech.
  • the probability of being classified as hate speech (Pc) for each sentence and the probability of being classified as hate speech were determined. Let's assume that the probability (Pc') of not doing so is calculated as (0.924, 0.076) and (0.742, 0.258), respectively.
  • the index analysis module 250 determines the total number of unit texts included in the text or voice corpus of the user, and each unit text is a submodel within the feature recognition model. Based on the probability of being classified as a text type included in the characteristic among the plurality of text types of and the probabilities of the same unit text being classified into each of the remaining text types among the plurality of text types of the sub model, the text type included in the user's characteristics It may be configured to calculate an index score for . If the determined text type is a subtype, it is treated as determined by multiple classifications. The plurality of text types of the sub-model represents a plurality of sub-types having the same upper-level type. The index score is a score for a higher-order type encompassing a plurality of lower-level types.
  • the probability of being classified into the text type included in the feature i.e., a specific sub-type
  • the n-1 probability values of being classified into each of the remaining n-1 text types are It is calculated.
  • the sum of these n probability values may represent 100%.
  • the index analysis module 250 calculates the total number of unit texts included in the user's text or voice corpus, each unit text, and the unit text is included in the characteristics among the plurality of text types of the sub model.
  • User characteristics based on the sum of the probability values of each text type being classified as the same text type and the sum of the probability values of being classified into the same text type among the probability values of being classified into each of the remaining text types among the plurality of text types of the sub model. You can also calculate index scores for the text types included in .
  • the index analysis module 250 may calculate an index score for the text type (c) included in the user's characteristics using the following equation.
  • n the number of multiple sub-types having the same upper-level type.
  • the index analysis module 250 when the text type of the unit text is determined through multiple classification, the index analysis module 250 further bases the type weight on a preset type weight for each of the plurality of lower types having the same upper type. Index scores can also be calculated for the text types included in the user's characteristics.
  • the index analysis module 250 may calculate an index score for the text type (c) included in the user's characteristics through the following equation in which type weights are further applied to equation 2.
  • W 0 represents the weight of the subtype included in the characteristic.
  • W 1 to W n-1 respectively represent the weights of the remaining sub-types among the n plural text types (i.e., sub-types) of the sub-model.
  • two sentences were captured: “It rained this morning and I was in a good mood. How about you?” These two sentences were each treated as unit text, and three sub-characteristics (positive, positive, After pre-processing, each was input into a sub-model of the feature recognition model that performs a multi-classification operation of classifying it into any one of the sub-characteristics (neutral, negative), and the first sentence was determined to be positive and the second sentence was determined to be neutral, and for this decision, Let's assume that the probability (P c , P 1 c , .. + P n-1 c ) of being classified into a subtype for each sentence is calculated as (0.820, 0.090, 0.090), (0.200, 0.750, 0.050).
  • the Constant value is set to 100, and the probability values of being classified into subtypes for each sentence are applied to Equation 3, which is set to a scale range between 0 and 200.
  • the state analysis module 260 is configured to calculate the state of each user based on at least one of the extracted characteristics of the user and the index score for the characteristic.
  • the feature includes a text type, and the index score for the feature includes an index score for the text type included in the feature.
  • the text type may also be a subtext type.
  • the state analysis module 260 may obtain a characteristic set consisting of characteristics extracted for each of a plurality of users. Feature vectors with different items may be extracted for each user. A feature set is obtained based on these feature vectors.
  • the state analysis module 260 may obtain an index set consisting of index scores for characteristics calculated for each of a plurality of users.
  • the state analysis module 260 may be configured to form a plurality of clusters based on the characteristics of each user in the characteristic set.
  • the state analysis module 260 may select some characteristics from the characteristic set and form a plurality of clusters based on the selected characteristics. In some embodiments, some of the characteristics may be two or three.
  • user characteristics can be expressed in vector form.
  • the characteristics of each user in the characteristic set may be expressed in the form of a vector with all items in the set as the overall dimension of the vector. Then, selecting two features may mean reducing a multi-dimensional vector to a two-dimensional vector.
  • the state analysis module 260 selects some (e.g., two) characteristics through PCA (Principal Components Analysis) or other dimensionality reduction algorithm, or selects some (e.g., two) characteristics by user input. You can also select.
  • PCA Principal Components Analysis
  • Other dimensionality reduction algorithm or selects some (e.g., two) characteristics by user input. You can also select.
  • the state analysis module 260 may cluster a plurality of users into a plurality of user clusters based on some (eg, two) selected characteristics.
  • the state analysis module 260 may form a cluster using DBSCAN (Density-Based Spatial Clustering of Applications with Noise) or another cluster formation algorithm.
  • DBSCAN is a density-based clustering method that clusters based on the reference radius (Epsilon) and the minimum number of vectors in the cluster.
  • the state analysis module 260 forms two or more clusters through a cluster formation algorithm, and if there are remaining users who do not belong to the formed cluster, it may additionally form other clusters to which the remaining users belong. there is.
  • the state analysis module 260 may extract commonalities between users in a cluster based on at least some of the characteristics, index scores, and related data of individual users in the cluster.
  • the commonality refers to common attributes of individual users in the cluster. Users within the same cluster may have differences in commonality attribute values, but share the attributes with each other.
  • the commonality may correspond to user characteristics, or may correspond to items in related data.
  • Figure 3 is a schematic diagram of a process for analyzing a user's state through clustering, according to an embodiment of the present application.
  • analysis data for each user may be expressed as a two-dimensional vector corresponding to two characteristics selected through PCA.
  • the state analysis module 260 may extract age information items such as “adult,” “high school student,” and “middle school student or younger” in the related data as common features of users belonging to the same cluster. .
  • the status analysis module 260 forms other clusters composed of users who do not belong to the three formed clusters, and unlike other clusters, users belonging to the other clusters cannot define trends in terms of age information. It can also be extracted based on the commonality of the other clusters.
  • the state analysis module 260 may be further configured to calculate similarity or connectivity between users belonging to the formed cluster.
  • the similarity or connectivity may be calculated based on an index score for the text type included in the user's characteristics.
  • the state analysis module 260 may apply a network analysis algorithm to users belonging to the same cluster to calculate similarity or connectivity between users belonging to the same cluster.
  • users are treated as nodes.
  • the similarity or connectivity is calculated for at least some of the plurality of clusters formed.
  • Figure 4 is a diagram calculating similarity between users belonging to some clusters in Figure 3.
  • the solid line inside the area indicates the boundary of the cluster area for middle school students and younger.
  • the dotted line inside the area indicates the boundary of the border cluster area.
  • the state analysis module 260 selects two or more index scores among text types included in the characteristics of users belonging to the same cluster and provides an index score for each of the selected two or more index scores for the corresponding text type. It may be to calculate the similarity of users within each cluster, expressed as an index score.
  • the similarity may be calculated in the form of a similarity distribution.
  • the similarity distribution form may include the number (count) of users with the same or similar index scores as shown in FIG. 4.
  • whether the index score is similar is based on the axis unit scale of the plane in which the similarity distribution is expressed (eg, x-axis unit in FIG. 4).
  • the state analysis module 260 determines the characteristics of users belonging to the same cluster for each of the remaining clusters except the adult cluster among the clusters formed in FIG. 3, that is, users in the high school student cluster, users in the middle school student cluster or younger, and other clusters.
  • the text type is classified based on the index score for emoticon expressions (index_emo), the index score for time expressions (index_time), the index score for political remarks (index_pol), and the index score for hate speech (index_hate).
  • index_emo the index score for emoticon expressions
  • index_time the index score for time expressions
  • index_pol the index score for political remarks
  • index_hate the index score for hate speech
  • Figure 5 is a diagram extracting connectivity between users within the cluster of Figure 4.
  • the state analysis module 260 selects index scores for two or more text types among the index scores for text types used to calculate similarity, and calculates the index score based on the index scores for the selected text types.
  • the connectivity between users within each cluster can also be calculated based on the similarity distribution.
  • the connectivity may be calculated in the form of a connectivity distribution.
  • the connectivity distribution form is implemented as a two-dimensional or three-dimensional distribution depending on the number of selected index scores, and each axis corresponds to the number of users with the selected index score.
  • Each coordinate value in the connectivity distribution is the number (count) of users with the same or similar index score corresponding to each axis, which is used as a coordinate value in the similarity distribution. This coordinate value may be obtained from the similarity distribution in Figure 4.
  • the state analysis module 260 may generate, for each cluster shown in FIG. 4, an index score for emoticon expressions (index_emo), an index score for time expressions (index_time), and an index score for political remarks (index_pol ), select two random index scores among the index scores for hate expression (index_hate), and calculate the connectivity distribution based on the y-axis coordinate (i.e., number of users) of the similarity distribution based on each selected index score. It may be possible.
  • the state analysis module 260 may generate the user's state expressed in some or all of the user's extracted characteristics, index scores for the characteristics, commonality, similarity, and connectivity of the users. This expression result may be calculated as a result of analyzing the user's state.
  • Some or all of the analysis results of the characteristic analysis module 240, index analysis module 250, and state analysis module 260 may be stored in the analysis DB 270.
  • the report generation module 280 generates an analysis report including analysis results of one or more of extracted characteristics, calculated index scores, and the user's status, and transmits it to the user's electronic device 100 to transmit the analysis results to the user. It may also be provided to.
  • the report generation module 280 may generate an analysis report including multidimensional analysis results that can theoretically support the deep learning analysis results.
  • the report generation module 280 may generate and include a result of analyzing the relationship between the user's status and analysis purposes such as the user's style, behavior, interests, cognitive process, social process, emotional state, etc. It may be possible.
  • the metaverse management module 290 may intensively manage a specific target user group based on the analysis results, or may perform a metaverse management operation to provide a customized service to a specific target user.
  • the metaverse management module 290 may intervene in the user's status in the metaverse by performing management operations corresponding to what emotions the user is currently feeling and what the situation is based on the calculated user's status. .
  • the metaverse management module 290 may perform a matching operation to introduce users belonging to the same cluster. Through the matching operation, users can more easily form a sense of belonging within the metaverse.
  • the metaverse management module 290 when a cluster is formed based on user characteristics, creates a dedicated space on the metaverse for users belonging to the same cluster, and the metaverse management module 290 creates a dedicated space on the metaverse for users belonging to the same cluster. You may also grant permission to visit the dedicated space.
  • the metaverse management module 290 can also install marketing content in a dedicated space.
  • the marketing content may be marketing content customized to the cluster of the dedicated space.
  • the marketing content includes descriptive information about the marketing target and advertisements about the marketing target.
  • the system 1 for analyzing the status of users in the metaverse may provide differentiated marketing to specific target users divided into clusters through a dedicated space.
  • the system (1) which analyzes the status of users in the metaverse, determines which target group is currently doing more activities in the metaverse, which group has a greater influence on others, and how much the consumption costs are. It can be easily verified, and ultimately effective marketing is possible.
  • the metaverse management module 290 may operate on the user's extracted characteristics, index score, or status based on an analysis result of one or more of the user's extracted characteristics, calculated index score, and status of the user. You can provide a message to the user in the metaverse to switch to the opposite side, or you can control the user's surroundings in the metaverse.
  • the metaverse management module 290 sends a message to change the mood to a user who expresses a lot of depression, uses a lot of self-destructive language or increases the speed of use, or sends a message to share the status with other users.
  • traits corresponding to depression e.g., negative emotions
  • traits corresponding to self-destructive language usage e.g., hate speech
  • relatively opposite traits e.g., neutrality, positive emotions, or non-hate speech. You can also switch.
  • the metaverse management module 290 may provide messages in the metaverse to users belonging to the cluster using a language model corresponding to the cluster.
  • the language model may be BART, Seq2seq, or other machine learning model for chatbots.
  • the language model may be applied to an NPC avatar in the metaverse and used by the NPC avatar to communicate with the user.
  • the language model corresponding to the cluster may be learned using training data obtained by embedding captured text or voice data of users belonging to the cluster in the metaverse.
  • the language model corresponding to the cluster may be learned using a cluster-customized second training data set generated from users belonging to the same cluster.
  • the metaverse management module 290 provides a message in an initially set style to users whose status has not been analyzed by the status analysis module 260.
  • the metaverse management module 290 uses a language model learned using a training data set generated from the cluster to which the user belongs, for the user whose state has been analyzed by the state analysis module 260, to identify the NPC avatar and the user. You can also conduct conversations.
  • system 1 for analyzing the user's status in the metaverse may include other components.
  • a server may include other hardware elements necessary for the operations described herein, including input devices for data entry and output devices for printing or other data presentation.
  • the system may further include a network, network interface, and protocol connecting the server and external devices (eg, user terminals, external databases, etc.).
  • Figure 6 is a flowchart of a method for analyzing the status of a user in the metaverse according to another aspect of the present application.
  • the method of analyzing the user's status in the metaverse of FIG. 6 may be performed by one or more computing devices, such as the service server of FIG. 2.
  • the method of analyzing the status of a user in the metaverse includes capturing the user's text or voice corpus data in the metaverse for each of a plurality of users accessing the metaverse from a computing device. (S610); And a step of embedding the user's text or voice corpus data and converting it into vector data corresponding to each unit text (S620).
  • the corpus consists of one or more unit texts.
  • step S620 may include converting the captured voice data into text data using a voice conversion unit pre-stored in the computing device before conversion.
  • the step (S620) includes tokenizing the captured text data or converted text data into a plurality of tokens using a natural language processing model pre-stored in the computing device, and processing the plurality of tokens to embed them. It may also include a step of calculating vector data.
  • the step (S620) includes extracting and removing preset special symbols and stopword texts from the corpus before tokenization; normalizing the corpus; Extracting stems and/or lemmas before embedding processing and embedding them together with at least some tokens among a plurality of tokens; and extracting unregistered text for which no vector is defined after embedding and newly registering it as registered text.
  • This step (S620) has been described above with reference to the preprocessing module 220, and detailed description will be omitted.
  • the method of analyzing the user's status within the metaverse includes extracting the user's characteristics from vector data corresponding to each unit text (S640).
  • the step (S640) includes inputting vector data corresponding to each unit text into the feature recognition model; calculating probability values that the corresponding unit text will be classified into each of a plurality of types preset for the feature recognition model; and determining the text type of the unit text based on the probability value calculated for each type in order to extract characteristics including the determined text type.
  • the text type of the unit text may be determined using different feature recognition models depending on whether or not natural language data is captured in the metaverse.
  • the text type of the unit text may be determined using a feature recognition model learned using the first training data set (S640).
  • the text type of the unit text may be determined using a feature recognition model learned using the second training data set (S640).
  • the step (S640) includes performing a binary classification operation to determine whether a text type that does not have a sub-type is classified into the corresponding text type; And, for a text type having a sub-type, a step of performing a multi-classification operation to determine whether the text type is classified into one of two or more sub-types of the text type.
  • the characteristic may include one or more items.
  • the characteristics may be extracted as a characteristic vector, expressed in vector form (S640).
  • This step (S640) has been described above with reference to the characteristic analysis module 240, and detailed description will be omitted.
  • the method of analyzing the status of a user in the metaverse includes calculating an index score for each characteristic for each individual user based on the calculation value calculated in the process of extracting the characteristic (S650).
  • the step (S650) may be to calculate index scores for each text type included in the user's characteristics based on the calculation value calculated in the process of extracting each type of unit text of the user.
  • the calculation value includes a probability value calculated during the classification operation of the feature recognition model.
  • the probability value includes a probability value that the unit text will be classified as a determined text type and a probability value that the unit text will be classified as another undetermined text type.
  • step S650 when the text type of the unit text is determined through binary classification, the total number of unit texts included in the corresponding user's text or voice corpus, and each unit text is included in the feature recognition model. Calculate an index score for the text type included in the user's characteristic based on the probability of being classified as the text type included in the characteristic among a plurality of text types and the probability that the same unit text will not be classified as the text type included in the characteristic. It may be that you do it. If the determined text type is a higher-level type without lower-level types, it is determined as a binary classification.
  • the step (S650) includes the total number of unit texts included in the user's text or voice corpus, calculated for each unit text, and each unit text to be classified into the text type included in the characteristic.
  • An index score for the text type included in the user's characteristic may be calculated based on the sum of the probability values and the sum for each unit text of the probability value that the corresponding text is not classified as the text type included in the characteristic. there is.
  • the step (S650) is performed when the text type of the unit text is determined through multiple classification, the total number of unit texts included in the text or voice corpus of the user, and each unit text is calculated using a feature recognition model. Based on the probability of being classified as a text type included in the characteristics among the plurality of text types of my sub model and the probabilities of the same unit text being classified into each of the remaining text types among the plurality of text types of the sub model, included in the user's characteristics It may be to calculate an index score for the type of text used. If the determined text type is a subtype, it may be determined as a multiple classification.
  • the step (S650) includes the total number of unit texts included in the user's text or voice corpus, the unit text calculated for each unit text, and the corresponding unit text characteristics among the plurality of text types of the sub model. Based on the sum of the probability values of each of the probability values to be classified as a text type included in the sub-model and the sum of the probability values of being classified as the same text type among the probability values of being classified as each of the remaining text types among the plurality of text types in the sub-model, the user It may be to calculate an index score for the text type included in the characteristics of .
  • This step (S650) has been described above with reference to the index analysis module 250, and detailed description will be omitted.
  • the method of analyzing the status of a user in the metaverse includes calculating the status of each user based on at least one of the user characteristics extracted for each user and the index score for the characteristic (S660).
  • the feature includes a text type, and the index score for the feature includes an index score for the text type included in the feature.
  • the text type may also be a subtext type.
  • the step (S660) includes forming a characteristic set consisting of characteristics extracted for each of a plurality of users; forming a plurality of clusters based on the characteristics of each user in the characteristic set; and extracting commonalities between users within a cluster based on at least one of characteristics, index scores, and related data of individual users within the formed cluster.
  • forming the cluster may include selecting some features from a feature set; And it may also include forming a plurality of clusters based on some of the selected characteristics.
  • step S660 may further include calculating similarities between users belonging to the formed cluster. Additionally, in some embodiments, step S660 may further include calculating connectivity between users belonging to the formed cluster after similarity.
  • similarity may be calculated in the form of a similarity distribution.
  • the step of calculating similarity in the step (S660) involves selecting two or more index scores among text types included in the characteristics of users belonging to the same cluster, and calculating the index for the corresponding text type for each of the two or more selected index scores. It may be to calculate the similarity of users within each cluster, expressed as a score.
  • connectivity may be calculated in the form of a connectivity distribution.
  • the step of calculating connectivity in the step (S660) involves selecting index scores for two or three text types among the index scores for text types used to calculate the similarity, and index scores for the selected text types.
  • the connectivity between users within each cluster may be calculated based on the similarity distribution based on .
  • step (S660) may generate the user's status expressed in some or all of the user's extracted characteristics, index scores for the characteristics, commonality, similarity, and connectivity of the users.
  • This step (S660) has been described above with reference to the state analysis module 260, and detailed description will be omitted.
  • the method of analyzing the status of the user in the metaverse includes the characteristics of the plurality of users in step S640, the index score of the plurality of users in step S650, and the status of the user in step S660. generating an analysis report based on one or more analysis results (S680); And/or it may further include providing customized information to a specific target user group based on the analysis results or providing the metaverse service through a customized provision method (S690).
  • the report in step S680 may be based on the characteristic set and index set formed in step S670.
  • the user's natural language patterns generated in the metaverse can be analyzed using deep learning technology, and a multidimensional analysis report that can theoretically support the analyzed results can be generated.
  • the above analysis report can be used as data to support new research or as data to supplement existing research.
  • Figure 7 is a schematic diagram of the relationship between malicious comment users and malicious comment target users
  • Figure 8 is a schematic diagram of an analysis report that newly supplements the existing research on Figure 7.
  • users are represented as nodes.
  • the edges connecting nodes indicate the presence or absence of malicious comments.
  • a phenomenon occurs where one malicious comment user transmits malicious comments to multiple targets.
  • the user's status can be analyzed in two or more dimensions. As shown in Figure 8, it is confirmed in three dimensions that the state of the user responding to the malicious comment in the above step (S660) has more characteristics showing anger and less characteristics showing cognitive and social processes than normal comments.
  • step S690 includes introducing users belonging to the same cluster when a cluster is formed based on user characteristics.
  • step S690 when a cluster is formed based on user characteristics, a dedicated space for users belonging to the same cluster is created on the metaverse, and users belonging to the same cluster are allowed to visit the dedicated space. granting permission to do so; And it may also include installing marketing content customized for the cluster in the dedicated space.
  • step S690 the user's extracted characteristics, index score, or state are relatively converted to the opposite side based on the analysis result of one or more of the user's extracted characteristics, calculated index score, and state. If possible, it may include providing a message to the user in the metaverse or controlling the user's surrounding environment in the metaverse.
  • step (S690) may include providing a message in the metaverse to a user belonging to the cluster using a language model corresponding to the cluster.
  • the language model corresponding to the cluster may be learned using training data obtained by embedding captured text or voice data of users belonging to the cluster in the metaverse.
  • the language model may be trained for customization for a cluster when the cluster's commonality is style.
  • Figure 9 shows an output message converted from the same message by a language model customized for each cluster, according to an embodiment of the present application, and Figure 10 shows an output message converted from the same message by a language model customized for each cluster of Figure 9.
  • Figure 9 shows an output message converted from the same message by a language model customized for each cluster, according to an embodiment of the present application
  • Figure 10 shows an output message converted from the same message by a language model customized for each cluster of Figure 9. This is a schematic diagram of the steps for providing a customized message.
  • the language model before customization is configured to output the message "In the metaverse, various people can gather and talk to each other and convey their emotions.”
  • a single output message of the language model before customization may be output in various ways according to the style.
  • a message tailored to the user's style can be provided independently within the metaverse using a language model corresponding to the cluster to which the user belongs.
  • ASICs application specific integrated circuits
  • DSPs digital signal processors
  • DSPDs digital signal processing devices
  • PLDs programmable PLDs
  • logic devices field programmable gate arrays (FPGAs), etc. may be included in the components of the present application.
  • the operation of the system and method for analyzing the user's status in the metaverse according to the embodiments of the present application described above may be at least partially implemented as a computer program and recorded on a computer-readable recording medium.
  • a program product comprised of a computer-readable medium containing program code, which can be executed by a processor to perform any or all steps, operations, or processes described.
  • the computer-readable recording medium includes all types of recording devices that store data that can be read by a computer. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, and optical data storage devices. Additionally, computer-readable recording media may be distributed across computer systems connected to a network, and computer-readable codes may be stored and executed in a distributed manner. Additionally, functional programs, codes, and code segments for implementing this embodiment can be easily understood by those skilled in the art to which this embodiment belongs.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Tourism & Hospitality (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Artificial Intelligence (AREA)
  • General Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • General Engineering & Computer Science (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Child & Adolescent Psychology (AREA)
  • Hospice & Palliative Care (AREA)
  • Psychiatry (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Embodiments relate to a system and a method for analyzing the state of a user in a metaverse, the system and the method comprising: detecting text or voice corpus data of a user in a metaverse for each of a plurality of users having accessed the metaverse; embedding the text or voice corpus data of the user so that same is converted into vector data corresponding to each unit text; extracting the characteristics of the user from the vector data corresponding to each unit text; calculating an index score of each characteristic by individual user on the basis of a computation value calculated while extracting the characteristics; and calculating the state of each user on the basis of the user characteristics extracted by user and the index score of a corresponding characteristic.

Description

메타버스 내 사용자의 상태를 분석하는 시스템 및 방법System and method for analyzing the status of users in the metaverse
본 출원의 실시 예들은 메타버스에서 포착된 사용자의 텍스트에서 사용자의 특성을 산출하여 사용자의 상태를 분석하는 시스템 및 방법에 관한 것이다.Embodiments of the present application relate to a system and method for analyzing the user's status by calculating the user's characteristics from the user's text captured in the metaverse.
메타버스 서비스 공급자들은 서비스의 발전을 위해 사용자들의 다양한 경험들과 이에 대한 만족도를 세부적인 관점에서 항상 확인하면서 만족도를 증가시키는 방향으로 메타버스를 끊임없이 발전시켜 나가야 하는 과제를 가진다. Metaverse service providers have the task of constantly developing Metaverse in a way that increases satisfaction while always checking users' various experiences and satisfaction with them from a detailed perspective in order to develop services.
이 과제를 해결하기 위해, 메타버스 서비스 공급자들은 메타버스 내 사용자들의 사용 경험을 반영하는 요소들을 추출하고 이를 분석하여 서비스 의사결정자들에게 정확하면서도 이해하기 쉬운 분석 결과를 제공하는 기술이 필요하다. 이 기술이 있어야 메타버스 서비스 공급자들이 메타버스에 개입하기 적절한 수단, 시점을 결정할 수 있다. To solve this task, Metaverse service providers need technology to extract and analyze elements that reflect the user experience within the Metaverse and provide accurate and easy-to-understand analysis results to service decision makers. Only with this technology can metaverse service providers determine the appropriate means and timing to intervene in the metaverse.
메타버스를 경험하는 사용자들의 만족도를 높이기 위해 적절한 시점에 개입하기 위해서는, 추출된 요소 간의 상호작용을 포함한, 사용자들의 모든 행동 로그들을 실시간으로 모니터링해야 한다. 그러나, 상기 사용자들의 모든 행동 로그들은 다양한 배경을 가지고 있을 뿐만 아니라 행동 로그들의 양 자체가 매우 많기 때문에 실시간으로 처리하기 어려우며, 많은 행동 로그들 중에서 어떤 것들이 사용자들의 긍정적 경험, 만족도와 연관되어 있는 지 판단하고 예측하는 것이 쉽지 않다. 행동 로그들의 대부분은 사용자의 내적 상태(예컨대, 사용자의 느낌, 의견)를 직접적으로 서술하는 것이기 아니기 때문에 특히 그러하다. In order to intervene at the appropriate time to increase the satisfaction of users experiencing the metaverse, all user behavior logs, including interactions between extracted elements, must be monitored in real time. However, not only do all of the user's behavior logs have diverse backgrounds, but the amount of behavior logs themselves is very large, making it difficult to process them in real time, and determining which of the many behavior logs are related to users' positive experiences and satisfaction. And it is not easy to predict. This is especially true because most of the behavior logs do not directly describe the user's internal state (e.g., the user's feelings and opinions).
따라서, 사용자의 행동 로그를 정확하게 상세하게 분석하여 사용자의 만족도와 연관된 요소를 정확히 도출하는 기술이 필요하다.Therefore, there is a need for technology to accurately analyze the user's behavior log in detail and accurately derive factors related to the user's satisfaction.
본 발명은 정보통신산업진흥원의 2022년 메타버스 콘텐츠 글로벌 프로젝트 지원사업(D0131-22-1002) "과제명 : 교육 메타버스 플랫폼 기반 국외 진출 역량 강화"의 지원을 받은 기술이다.This invention is a technology supported by the National IT Industry Promotion Agency's 2022 Metaverse Content Global Project Support Project (D0131-22-1002) "Project title: Strengthening overseas expansion capabilities based on the education Metaverse platform."
상술한 문제를 해결하기 위해, 본 출원의 실시 예들은 메타버스에서 사용자의 행동 로그로서 포착된 사용자의 텍스트에서 사용자의 특성을 산출하여 사용자의 상태를 분석하여 사용자의 만족도와 연관된 요소를 정확히 도출하는, 메타버스의 사용자의 상태를 분석하는 시스템 및 방법을 제공하고자 한다.In order to solve the above-described problem, embodiments of the present application calculate user characteristics from the user's text captured as the user's behavior log in the metaverse, analyze the user's status, and accurately derive elements related to the user's satisfaction. , the goal is to provide a system and method for analyzing the status of users of the metaverse.
본 출원의 일 측면에 따른 메타버스 내 사용자의 상태를 분석하는 시스템은, A system for analyzing the status of a user in the metaverse according to one aspect of the present application,
메타버스에 접속한 복수의 사용자 각각에 대해, 메타버스에서 사용자의 텍스트 또는 음성 말뭉치(corpus) 데이터를 포착하도록 구성된 데이터 수집 모듈 - 말뭉치는 하나 이상의 단위 텍스트로 이루어짐; 상기 사용자의 텍스트 또는 음성 말뭉치 데이터를 임베딩 처리하여 각 단위 텍스트에 대응한 벡터 데이터로 변환하는 전처리 모듈; 각 단위 텍스트에 대응한 벡터 데이터로부터 상기 사용자의 특성을 추출하도록 구성된 특성 분석 모듈 - 상기 특성은 하나 이상의 항목을 포함하고 상기 항목은 텍스트 종류를 포함함; 특성이 추출되는 과정에서 산출된 연산 값에 기초하여 개별 사용자별로 각 특성에 대한 지수 점수를 산출하도록 구성된 지수 분석 모듈; 및 각 사용자별로 추출된 사용자의 특성 및 해당 특성에 대한 지수 점수에 기초하여 각 사용자의 상태를 산출하도록 구성된 상태 분석 모듈을 포함할 수도 있다. For each of the plurality of users accessing the metaverse, a data collection module configured to capture the user's text or voice corpus data in the metaverse - the corpus consists of one or more unit texts; a preprocessing module that embeds the user's text or voice corpus data and converts it into vector data corresponding to each unit text; a feature analysis module configured to extract characteristics of the user from vector data corresponding to each unit text, wherein the characteristics include one or more items and the items include a text type; an index analysis module configured to calculate an index score for each characteristic for each individual user based on the calculation value calculated during the characteristic extraction process; and a status analysis module configured to calculate the status of each user based on user characteristics extracted for each user and index scores for the characteristics.
일 실시 예에서, 상기 데이터 수집 모듈은, 상기 메타버스에서 형성된 복수의 사용자 각각의 텍스트 또는 음성 데이터를 포착하고(capture), 그리고 포착된 텍스트 또는 음성 데이터의 연관 데이터를 검색하도록 구성될 수도 있다. In one embodiment, the data collection module may be configured to capture text or voice data of each of a plurality of users formed in the metaverse and search for associated data of the captured text or voice data.
상기 전처리 모듈은, 미리 저장된 음성 변환 유닛을 이용하여 포착된 음성 데이터를 텍스트 데이터로 변환하고, 미리 저장된 자연어 처리 모델을 이용하여 포착된 텍스트 데이터 또는 변환된 텍스트 데이터를 복수의 토큰으로 토큰화 처리하고 상기 복수의 토큰을 임베딩 처리하여 벡터 데이터를 산출하도록 구성된다. The preprocessing module converts the captured voice data into text data using a pre-stored voice conversion unit, tokenizes the captured text data or converted text data into a plurality of tokens using a pre-stored natural language processing model, and It is configured to calculate vector data by embedding the plurality of tokens.
일 실시 예에서, 상기 특성 분석 모듈은, 각각의 단위 텍스트에 대응한 벡터 데이터를 미리 학습된 특성 인식 모델에 입력하여 상기 특성 인식 모델에 대해 미리 설정된 복수의 텍스트 종류 각각에 상기 대응한 단위 텍스트가 분류될 확률 값들을 각각 산출하고, 그리고 각 종류별로 산출된 확률 값에 기초하여 단위 텍스트의 텍스트 종류를 결정하도록 구성될 수도 있다. 상기 특성의 텍스트 종류는 감정 표현, 행동 표현, 혐오 발언, 정치적 발언, 이모티콘 사용, 비정제 언어 사용, 시간 표현 중 하나 이상의 종류를 포함한다. In one embodiment, the feature analysis module inputs vector data corresponding to each unit text into a pre-learned feature recognition model so that the corresponding unit text is included in each of a plurality of text types preset for the feature recognition model. It may be configured to calculate probability values to be classified, respectively, and determine the text type of the unit text based on the probability values calculated for each type. Text types of the above characteristics include one or more types of emotional expressions, behavioral expressions, hate speech, political speech, use of emoticons, use of unrefined language, and time expressions.
일 실시 예에서,상기 특성 인식 모델은, 제1 트래이닝 데이터 세트를 이용해 미리 학습된 것이고, 상기 제1 트래이닝 데이터 세트 내 각각의 트래이닝 데이터는 메타버스와 다른 온라인 공간 또는 오프라인 공간에서 획득된 텍스트 데이터를 임베딩 처리한 제1 샘플 벡터 데이터이다. 상기 특성 분석 모듈은, 제2 트래이닝 데이터 세트를 이용하여 재-학습된 특성 인식 모델을 이용하여 재-학습이 완료된 이후에 포착된 사용자의 텍스트에 대응한 벡터 데이터로부터 사용자의 특성의 종류를 결정하도록 더 구성될 수도 있다. 상기 제2 트래이닝 세트 내 각각의 트래이닝 데이터는 메타버스에서 포착된 텍스트 또는 음성 데이터를 임베딩 처리한 벡터 데이터이다. In one embodiment, the feature recognition model is learned in advance using a first training data set, and each training data in the first training data set is text data acquired in an online or offline space different from the metaverse. This is the first sample vector data that has been embedded. The feature analysis module uses a feature recognition model re-trained using a second training data set to determine the type of user's feature from vector data corresponding to the user's text captured after re-learning is completed. It could be configured further. Each training data in the second training set is vector data obtained by embedding text or voice data captured in the metaverse.
일 실시 예에서, 상기 특성 인식 모델의 복수의 텍스트 종류 중 적어도 일부 텍스트 종류는 2이상의 하위 종류를 각각 가질 수도 있다. 그러면, 상기 특성 인식 모델은 상기 적어도 일부의 텍스트 종류 각각에 대해, 해당 텍스트 종류의 2이상의 하위 종류를 분류하는 각 서브 모델을 포함한다. 상기 특성 인식 모델은, 하위 종류를 갖지 않는 텍스트 종류에 대해서는 해당 텍스트 종류에 분류되는 지 여부를 결정하고, 그리고 하위 종류를 갖는 텍스트 종류에 대해서는 해당 텍스트 종류의 2이상의 하위 종류 중 어느 하나의 하위 종류에 분류하도록 구성될 수도 있다. 결정된 단위 텍스트의 텍스트 종류는 분류된 하위 텍스트 종류를 포함하는 것이다. In one embodiment, at least some text types among the plurality of text types of the feature recognition model may each have two or more sub-types. Then, the feature recognition model includes, for each of the at least some text types, each sub-model that classifies two or more sub-types of the corresponding text type. The feature recognition model determines whether a text type without a subtype is classified into the corresponding text type, and for a text type with a subtype, one of two or more subtypes of the text type. It may be configured to classify. The text type of the determined unit text includes the classified subtext type.
일 실시 예에서, 상기 지수 분석 모듈은, 텍스트 종류를 분류하는 과정의 확률 값들에 기초하여 사용자의 특성에 포함된 텍스트 종류에 대한 지수 점수를 산출하도록 구성될 수도 있다. 상기 연산 값은 특성 인식 모델의 분류 동작 도중에 산출된 확률 값을 포함하고, 상기 확률 값은 단위 텍스트가 결정된 텍스트 종류로 분류될 확률 값 및 결정되지 않은 다른 텍스트 종류로 분류될 확률 값을 포함할 수도 있다. In one embodiment, the index analysis module may be configured to calculate an index score for the text type included in the user's characteristics based on probability values in the process of classifying the text type. The operation value includes a probability value calculated during the classification operation of the feature recognition model, and the probability value may include a probability value that the unit text is classified into a determined text type and a probability value that the unit text is classified into another undetermined text type. there is.
일 실시 예에서, 상기 지수 분석 모듈은, 사용자의 텍스트 또는 음성 말뭉치에 포함된 단위 텍스트의 전체 수, 각 단위 텍스트별로 산출된, 해당 단위 텍스트가 특성에 포함된 텍스트 종류로 분류될 각각의 확률 값의 합(sum) 및 해당 텍스트가 상기 특성에 포함된 텍스트 종류로 분류되지 않을 확률 값의 각 단위 텍스트별 합에 기초하여 사용자의 특성에 포함된 텍스트 종류에 대한 지수 점수를 산출하도록 구성된다. In one embodiment, the index analysis module calculates the total number of unit texts included in the user's text or voice corpus, each probability value calculated for each unit text, that the unit text will be classified into the text type included in the feature. It is configured to calculate an index score for the text type included in the user's characteristic based on the sum for each unit text of the sum and the probability value that the corresponding text is not classified as the text type included in the characteristic.
일 실시 예에서, 상기 지수 분석 모듈은, 단위 텍스트의 텍스트 종류가 다중 분류를 통해 결정된 경우, 사용자의 텍스트 또는 음성 말뭉치에 포함된 단위 텍스트의 전체 수, 각 단위 텍스트별로 산출된, 해당 단위 텍스트가 서브 모델의 복수의 텍스트 종류 중 특성에 포함된 텍스트 종류로 분류될 각각의 확률 값의 합(sum) 및 서브 모델의 복수의 텍스트 종류 중 나머지 텍스트 종류 각각으로 분류될 확률 값 중 동일한 텍스트 종류로 분류될 확률 값의 합들에 기초하여 사용자의 특성에 포함된 텍스트 종류에 대한 지수 점수를 산출하도록 구성된다. In one embodiment, when the text type of the unit text is determined through multiple classification, the index analysis module calculates the total number of unit texts included in the user's text or voice corpus, and the corresponding unit text calculated for each unit text. Among the plurality of text types of the sub-model, the sum of the probability values of each to be classified as a text type included in the characteristic and the probability of being classified into each of the remaining text types among the plurality of text types of the sub-model are classified into the same text type. It is configured to calculate an index score for the text type included in the user's characteristics based on the sum of the probability values.
일 실시 예에서, 상기 상태 분석 모듈은, 복수의 사용자 각각에 대해 추출된 특성으로 이루어진 특성 세트를 형성하고, 상기 특성 세트 내 각 사용자의 특성에 기초하여 복수의 클러스터를 형성하며, 그리고 형성된 클러스터 내 개별 사용자의 특성, 지수 점수, 연관 데이터 중 적어도 하나에 기초하여 클러스터 내 사용자들 간의 공통성을 추출하도록 구성된다. In one embodiment, the state analysis module forms a characteristic set consisting of characteristics extracted for each of a plurality of users, forms a plurality of clusters based on the characteristics of each user in the characteristic set, and forms a plurality of clusters within the formed clusters. It is configured to extract commonalities between users in a cluster based on at least one of individual user characteristics, index scores, and related data.
일 실시 예에서, 상기 상태 분석 모듈은, 형성된 클러스터에 속하는 사용자들 간의 유사성을 산출하기 위해, 동일한 클러스터에 속하는 사용자의 특성에 포함된 텍스트 종류 중 2개 이상의 지수 점수를 선별하고 선별된 2개 이상의 지수 점수 각각에 대해서 해당 텍스트 종류에 대한 지수 점수로 표현되는 각 클러스터 내 사용자들의 유사성을 각각 산출하도록 더 구성될 수도 있다. 상기 유사성은 유사성 분포 형태로 산출되며, 상기 유사성 분포 형태는 동일 또는 유사한 지수 점수를 갖는 사용자의 수(count)를 포함하며, 유사한 점수는 유사성 분포가 표현되는 평면의 축 단위 스케일에 기초한다. In one embodiment, the state analysis module selects two or more index scores among text types included in the characteristics of users belonging to the same cluster to calculate similarity between users belonging to the formed cluster, and selects the two or more selected index scores. It may be further configured to calculate the similarity of users within each cluster, expressed as an index score for each text type, for each index score. The similarity is calculated in the form of a similarity distribution, which includes the number (count) of users with the same or similar index score, and the similarity score is based on the axial scale of the plane in which the similarity distribution is expressed.
일 실시 예에서, 상기 상태 분석 모듈은, 유사성을 산출하는데 이용된 텍스트 종류에 대한 지수 점수 중 2개 이상의 텍스트 종류에 대한 지수 점수를 선별하고, 선별된 텍스트 종류에 대한 지수 점수에 기초한 유사성 분포에 기초하여 각 클러스터 내 사용자들 간의 연결성을 산출하도록 더 구성될 수도 있다. In one embodiment, the state analysis module selects index scores for two or more text types among the index scores for text types used to calculate similarity, and creates a similarity distribution based on the index scores for the selected text types. It may be further configured to calculate connectivity between users in each cluster based on
상기 연결성은 연결성 분포 형태로 산출되고, 상기 연결성 분포 형태는 선별된 지수 점수의 개수에 따라서 2차원 또는 3차원 분포로 구현되며, 각 축은 선별된 지수 점수의 사용자의 수에 각각 대응하는 것이다. The connectivity is calculated in the form of a connectivity distribution, and the connectivity distribution form is implemented as a two-dimensional or three-dimensional distribution depending on the number of selected index scores, and each axis corresponds to the number of users with the selected index score.
일 실시 예에서, 상기 상태 분석 모듈은, 사용자의 추출된 특성, 특성에 대한 지수 점수, 사용자의 공통성, 유사성, 연결성 중 일부 또는 전부로 표현된 사용자의 상태를 생성하는 것이다. In one embodiment, the state analysis module generates the user's state expressed in some or all of the user's extracted characteristics, index scores for the characteristics, commonality, similarity, and connectivity of the users.
본 출원의 다른 일 측면에 따른 컴퓨터 판독가능한 기록매체는 적어도 하나의 프로세서에 의해 판독될 경우, 메타버스 내 사용자의 상태를 분석하는 방법을 실행하기 위한 명령어를 포함한 프로그램을 기록할 수도 있다. 상기 메타버스 내 사용자의 상태를 분석하는 방법은, 메타버스에서 사용자의 텍스트 또는 음성 말뭉치(corpus) 데이터를 포착하는 단계 - 말뭉치는 하나 이상의 단위 텍스트로 이루어짐; 상기 사용자의 텍스트 또는 음성 말뭉치 데이터를 임베딩 처리하여 각 단위 텍스트에 대응한 벡터 데이터로 변환하는 단계; 각 단위 텍스트에 대응한 벡터 데이터로부터 상기 사용자의 특성을 추출하는 단계 - 상기 특성은 하나 이상의 항목을 포함하고 상기 항목은 텍스트 종류를 포함함; 특성이 추출되는 과정에서 산출된 연산 값에 기초하여 개별 사용자별로 각 특성에 대한 지수 점수를 산출하는 단계; 및 각 사용자별로 추출된 사용자의 특성 및 해당 특성에 대한 지수 점수 중 적어도 하나에 기초하여 각 사용자의 상태를 산출하는 단계를 포함한다. When read by at least one processor, the computer-readable recording medium according to another aspect of the present application may record a program including instructions for executing a method of analyzing the user's state in the metaverse. The method of analyzing the user's status in the metaverse includes capturing the user's text or voice corpus data in the metaverse - the corpus consists of one or more unit texts; Embedding the user's text or voice corpus data and converting it into vector data corresponding to each unit text; extracting characteristics of the user from vector data corresponding to each unit text, wherein the characteristics include one or more items and the items include a text type; calculating an index score for each characteristic for each user based on the calculation value calculated in the process of extracting the characteristic; and calculating the status of each user based on at least one of the user characteristics extracted for each user and the index score for the characteristic.
본 발명의 일 측면에 따른 메타버스의 사용자의 상태를 분석하는 시스템은, 사용자의 특성에 기초하여 산출된 지수 점수의 분포를 통해 사용자의 상태를 다차원으로 분석해 판단할 수 있다. The system for analyzing the user's status in the metaverse according to one aspect of the present invention can determine the user's status by analyzing it in multiple dimensions through the distribution of index scores calculated based on the user's characteristics.
그 결과, 사용자의 행동 로그에 딥러닝 기술을 적용한 분석 결과를 이론적으로 뒷받침할 수 있는 다차원 분석 보고서를 생성할 수 있다. As a result, it is possible to generate a multidimensional analysis report that can theoretically support the analysis results of applying deep learning technology to the user's behavior log.
또한, 상기 메타버스의 사용자의 상태를 분석하는 시스템은 사용자의 특성에 기초하여 행동 로그의 공통점 또는 연결성을 갖는 타겟 그룹을 추출함으로써, 해당 타겟 그룹에 대한 마케팅 컨텐츠를 효과적으로 제공할 수도 있다. Additionally, the system that analyzes the user's status in the metaverse can effectively provide marketing content for the target group by extracting a target group that has commonality or connectivity in the behavior log based on the user's characteristics.
또한, 상기 메타버스의 사용자의 상태를 분석하는 시스템은 사용자의 특성에 기초하여 맞춤형 메타버스를 제공할 수 있다. Additionally, the system that analyzes the user's status in the metaverse can provide a customized metaverse based on the user's characteristics.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description of the claims.
본 발명 또는 종래 기술의 실시 예의 기술적 해결책을 보다 명확하게 설명하기 위해, 실시 예에 대한 설명에서 필요한 도면이 아래에서 간단히 소개된다. 아래의 도면들은 본 명세서의 실시 예를 설명하기 목적일 뿐 한정의 목적이 아니라는 것으로 이해되어야 한다. 또한, 설명의 명료성을 위해 아래의 도면들에서 과장, 생략 등 다양한 변형이 적용된 일부 요소들이 도시될 수 있다.In order to more clearly explain the technical solutions of the embodiments of the present invention or the prior art, drawings necessary in the description of the embodiments are briefly introduced below. It should be understood that the drawings below are for illustrative purposes only and not for limiting purposes of the present specification. Additionally, for clarity of explanation, some elements may be shown in the drawings below with various modifications, such as exaggeration or omission.
도 1은, 본 출원의 일 측면에 따른, 메타버스의 사용자의 상태를 분석하는 시스템의 개략도이다. 1 is a schematic diagram of a system for analyzing the status of a user of the metaverse, according to one aspect of the present application.
도 2는, 본 출원의 일 실시 예에 따른, 서비스 서버의 개략도이다. Figure 2 is a schematic diagram of a service server, according to an embodiment of the present application.
도 3은, 본 출원의 일 실시 예에 따른, 클러스터링을 통해 사용자의 상태를 분석하는 과정의 개략도이다. Figure 3 is a schematic diagram of a process for analyzing a user's state through clustering, according to an embodiment of the present application.
도 4는, 도 3의 일부 클러스터에 속한 사용자 간의 유사성을 산출한 도면이다. FIG. 4 is a diagram calculating similarity between users belonging to some clusters in FIG. 3.
도 5는, 도 4의 클러스터 내 사용자 간의 연결성을 추출한 도면이다. Figure 5 is a diagram extracting connectivity between users within the cluster of Figure 4.
도 6은, 본 출원의 다른 일 측면에 따른, 메타버스 내 사용자의 상태를 분석하는 방법의 흐름도이다. Figure 6 is a flowchart of a method for analyzing the status of a user in the metaverse according to another aspect of the present application.
도 7은 악성 댓글 사용자와 악성 댓글 대상 사용자 간의 관계의 개략도이다. Figure 7 is a schematic diagram of the relationship between users with malicious comments and users subject to malicious comments.
도 8은, 도 7에 대한 기존 연구를 새롭게 보완하는 분석 보고서의 개략도이다. Figure 8 is a schematic diagram of an analysis report that newly supplements the existing research on Figure 7.
도 9는, 본 출원의 일 실시 예에 따른, 동일한 메시지로부터 각 클러스터별로 맞춤화된 언어 모델에 의해 변환된 출력 메시지를 도시한다. Figure 9 shows an output message converted from the same message by a language model customized for each cluster, according to an embodiment of the present application.
도 10은, 도 9의 클러스터별로 맞춤화된 언어 모델을 이용해 각 사용자에게 맞춤화된 메시지를 제공하는 단계의 개략도이다. Figure 10 is a schematic diagram of providing a customized message to each user using a language model customized for each cluster in Figure 9.
이하에서, 도면을 참조하여 본 출원의 실시 예들에 대하여 상세히 살펴본다.Hereinafter, embodiments of the present application will be examined in detail with reference to the drawings.
그러나, 이는 본 개시(disclosure)를 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 실시 예의 다양한 변경(modification), 균등물(equivalent), 및/또는 대체물(alternative)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.However, this disclosure is not intended to limit the disclosure to specific embodiments, and should be understood to include various modifications, equivalents, and/or alternatives to the embodiments of the disclosure. . In connection with the description of the drawings, similar reference numbers may be used for similar components.
본 명세서에서, "가진다," "가질 수 있다,""포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 단계, 부품, 요소 및/또는 성분 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재나 부가를 제외시키는 것이 아니다. In this specification, expressions such as “have,” “may have,” “includes,” or “may include” refer to the corresponding features (e.g., numerical values, functions, operations, steps, parts, elements, and/or components). It refers to the presence of components such as etc.) and does not exclude the presence or addition of additional features.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.When a component is said to be "connected" or "connected" to another component, it is understood that it may be directly connected to or connected to the other component, but that other components may exist in between. It should be. On the other hand, when it is mentioned that a component is “directly connected” or “directly connected” to another component, it should be understood that there are no other components in between.
다양한 실시 예에서 사용된 "제 1", "제 2", "첫째" 또는 "둘째" 등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 해당 구성요소들을 한정하지 않는다. 상기 표현들은 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 수 있다. 예를 들면, 제1 구성요소와 제2 구성요소는, 순서 또는 중요도와 무관하게, 서로 다른 구성요소를 나타낼 수 있다. Expressions such as “first,” “second,” “first,” or “second” used in various embodiments may modify various elements regardless of order and/or importance, and limit the elements. I never do that. The above expressions can be used to distinguish one component from another. For example, the first component and the second component may represent different components, regardless of order or importance.
본 명세서에서 사용되는 단수 표현의 구성의 실시 예들은 상기 단수 표현과 관련된 문구들이 이와 명백히 반대의 의미를 나타내지 않는 한 복수 표현의 구성 들의 실시 예들도 포함한다.Embodiments of singular expressions used in this specification also include embodiments of plural expressions, unless phrases related to the singular expression clearly indicate the contrary.
본 명세서에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to),"또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성(또는 설정)된"은 하드웨어적으로 "특별히 설계된(specifically designed to)"것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성(또는 설정)된 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.As used herein, the expression “configured to” may mean, for example, “suitable for,” “having the capacity to,” depending on the situation. ," can be used interchangeably with "designed to," "adapted to," "made to," or "capable of." The term “configured (or set) to” may not necessarily mean “specifically designed to” in hardware. Instead, in some contexts, the expression “a device configured to” may mean that the device is “capable of” working with other devices or components. For example, the phrase "processor configured (or set) to perform A, B, and C" refers to a processor dedicated to performing the operations (e.g., an embedded processor), or executing one or more software programs stored on a memory device. By doing so, it may mean a general-purpose processor (eg, CPU or application processor) that can perform the corresponding operations.
도 1은, 본 출원의 일 측면에 따른, 메타버스의 사용자의 상태를 분석하는 시스템의 개략도이다. 1 is a schematic diagram of a system for analyzing the status of a user of the metaverse, according to one aspect of the present application.
실시예들에 따른 상기 메타버스 내 사용자의 상태를 분석하는 시스템(1)은 전적으로 하드웨어이거나, 또는 부분적으로 하드웨어이고 부분적으로 소프트웨어인 측면을 가질 수 있다. 예컨대, 시스템은 데이터 처리 능력이 구비된 하드웨어 및 이를 구동시키기 위한 운용 소프트웨어를 통칭할 수 있다. 본 명세서에서 "부(unit)", "시스템" 및 "장치" 등의 용어는 하드웨어 및 해당 하드웨어에 의해 구동되는 소프트웨어의 조합을 지칭하는 것으로 의도된다. 예를 들어, 하드웨어는 CPU(Central Processing Unit), GPU(Graphic Processing Unit) 또는 다른 프로세서(processor)를 포함하는 데이터 처리 기기일 수 있다. 또한, 소프트웨어는 실행중인 프로세스, 객체(object), 실행파일(executable), 실행 스레드(thread of execution), 프로그램(program) 등을 지칭할 수 있다.The system 1 for analyzing the user's status in the metaverse according to embodiments may be entirely hardware, or may be partially hardware and partially software. For example, a system may collectively refer to hardware equipped with data processing capabilities and operating software for running it. In this specification, terms such as “unit,” “system,” and “device” are intended to refer to a combination of hardware and software driven by the hardware. For example, the hardware may be a data processing device that includes a Central Processing Unit (CPU), Graphics Processing Unit (GPU), or other processor. Additionally, software may refer to a running process, object, executable, thread of execution, program, etc.
도 1을 참조하면, 상기 메타버스의 사용자의 상태를 분석하는 시스템(1)은 사용자의 전자 장치(100), 서비스 서버(200)를 포함한다. Referring to FIG. 1, the system 1 for analyzing the user's status in the metaverse includes the user's electronic device 100 and a service server 200.
전기 통신 네트워크를 통해 상기 전자 장치(100)와 서비스 서버(200)가 연결된다. The electronic device 100 and the service server 200 are connected through a telecommunication network.
전기 통신 네트워크는, 전자 장치(100)와 서비스 서버(200)가 서로 데이터를 송수신할 수 있는 유/무선의 전기 통신 경로를 제공한다. 전기 통신 네트워크는 특정한 통신 프로토콜에 따른 통신 방식에 한정되지 않으며, 구현예에 따라 적절한 통신 방식이 사용될 수 있다. 예를 들어, 인터넷 프로토콜(IP) 기초의 시스템으로 구성되는 경우, 전기 통신 네트워크는 유선 및/또는 무선 인터넷망으로 구현될 수 있다. 또는 전자 장치(100)와 서비스 서버(200)가 이동 통신 단말로서 구현되는 경우 전기 통신 네트워크는 셀룰러 네트워크 또는 WLAN(wireless local area network) 네트워크와 같은 무선망으로 구현될 수 있다.The telecommunication network provides a wired/wireless telecommunication path through which the electronic device 100 and the service server 200 can transmit and receive data with each other. A telecommunication network is not limited to a communication method according to a specific communication protocol, and an appropriate communication method may be used depending on the implementation. For example, when configured as an Internet Protocol (IP)-based system, the telecommunication network may be implemented as a wired and/or wireless Internet network. Alternatively, when the electronic device 100 and the service server 200 are implemented as mobile communication terminals, the telecommunication network may be implemented as a wireless network such as a cellular network or a wireless local area network (WLAN) network.
상기 전자 장치(100)는 서비스 서버(200)와 통신하는 클라이언트 단말 장치로서, 데이터를 처리할 수 있는 적어도 하나의 프로세서, 데이터를 저장하는 메모리, 데이터를 송/수신하는 통신부를 포함한다. 이러한 전자 장치(100)는 예를 들어, 랩탑 컴퓨터, 기타 컴퓨팅 장치, 태블릿, 셀룰러 폰, 스마트 폰, 스마트 워치, 스마트 글래스, 헤드 마운트 디스플레이(HMD), 기타 모바일 장치, 기타 웨어러블 장치로 구현될 수도 있다. The electronic device 100 is a client terminal device that communicates with the service server 200 and includes at least one processor capable of processing data, a memory for storing data, and a communication unit for transmitting/receiving data. This electronic device 100 may be implemented as, for example, a laptop computer, other computing device, tablet, cellular phone, smart phone, smart watch, smart glasses, head-mounted display (HMD), other mobile device, or other wearable device. there is.
특정 실시 예들에서, 상기 전자 장치(100)는 메타버스에 접속한 사용자의 텍스트/음성을 입력 장치, 마이크를 통해 입력하도록 구성된다. 또한, 일부 실시 예들에서, 전자 장치(100)는 분석 결과 보고서 또는 메타버스 서비스 공급자의 메타버스 개입 결과를 사용자에게 제공하도록 구성될 수도 있다. In certain embodiments, the electronic device 100 is configured to input text/voice of a user accessing the metaverse through an input device and microphone. Additionally, in some embodiments, the electronic device 100 may be configured to provide an analysis result report or a metaverse intervention result of a metaverse service provider to the user.
서비스 서버(200)는 네트워크 서버로 구현되는 다수의 컴퓨터 시스템 또는 컴퓨터 소프트웨어이다. 여기서, 네트워크 서버란, 사설 인트라넷 또는 인터넷과 같은 컴퓨터 네트워크를 통해 다른 네트워크 서버와 통신할 수 있는 하위 장치와 연결되어 작업 수행 요청을 접수하고 그에 대한 작업을 수행하여 수행 결과를 제공하는 컴퓨터 시스템 및 컴퓨터 소프트웨어(네트워크 서버 프로그램)를 의미한다. 그러나 이러한 네트워크 서버 프로그램 이외에도, 네트워크 서버 상에서 동작하는 일련의 응용 프로그램과 경우에 따라서는 내부에 구축되어 있는 각종 데이터베이스를 포함하는 넓은 개념으로 이해되어야 할 것이다. 상기 서비스 서버(200)는 네트워크 서버, 웹 서버, 파일 서버, 슈퍼컴퓨터, 데스크탑 컴퓨터 등과 같은 컴퓨팅 장치들의 임의의 유형 또는 유형들의 조합으로 구현될 수도 있다. 이를 위해, 서비스 서버(200)는 데이터를 처리할 수 있는 적어도 하나의 프로세서, 데이터를 저장하는 메모리, 데이터를 송/수신하는 통신부를 포함한다.The service server 200 is a plurality of computer systems or computer software implemented as network servers. Here, a network server is a computer system and computer that is connected to a sub-device that can communicate with other network servers through a computer network such as a private intranet or the Internet, receives a request to perform a task, performs the task, and provides a performance result. Refers to software (network server program). However, in addition to these network server programs, it should be understood as a broad concept that includes a series of application programs operating on a network server and, in some cases, various databases built within it. The service server 200 may be implemented as any type or combination of types of computing devices, such as a network server, web server, file server, supercomputer, desktop computer, etc. To this end, the service server 200 includes at least one processor capable of processing data, a memory for storing data, and a communication unit for transmitting/receiving data.
서비스 서버(200)는 메타버스를 생성 및 제공하는 서비스를 운영하는 서버이다. 서비스 서버(200)는 접속한 사용자의 전자 장치(100)에 메타버스 공간 및 객체를 표시하기 위한 메타버스 데이터를 생성 및 제공한다. The service server 200 is a server that operates a service that creates and provides a metaverse. The service server 200 generates and provides metaverse data for displaying metaverse spaces and objects on the connected user's electronic device 100.
상기 메타버스 데이터는 2차원 또는 3차원 가상 공간 상에 객체 모델을 렌더링하여 생성되는 데이터이다. 상기 객체는 가상 공간이 제공하는 장소와 관련된 객체(예컨대, 상품, 설치물 등) 또는 사용자를 가리키는 아바타 객체를 포함한다. The metaverse data is data created by rendering an object model in a two-dimensional or three-dimensional virtual space. The objects include objects related to places provided by the virtual space (eg, products, installations, etc.) or avatar objects pointing to users.
상기 서비스 서버(200)는 메타버스에 접속한 사용자의 전자 장치(100)를 통해 사용자의 텍스트 또는 음성 데이터를 수신하여 사용자별 행동 로그를 각각 생성한다. 상기 서비스 서버(200)는 사용자의 행동 로그 내 텍스트 또는 음성 데이터로부터 사용자의 상태를 분석한다. The service server 200 receives the user's text or voice data through the user's electronic device 100 connected to the metaverse and generates a behavior log for each user. The service server 200 analyzes the user's status from text or voice data in the user's behavior log.
도 2는, 본 출원의 일 실시 예에 따른, 서비스 서버의 개략도이다. Figure 2 is a schematic diagram of a service server, according to an embodiment of the present application.
도 2를 참조하면, 상기 서비스 서버(200)는 데이터 수집 모듈(210), 전처리모듈(220), 특성 분석 모듈(240), 지수 분석 모듈(250), 상태 분석 모듈(260)을 포함한다. 일부 실시 예들에서, 상기 서비스 서버(200)는 자연어 DB(230) 및/또는 분석 DB(270)를 더 포함할 수도 있다. 또한, 상기 서비스 서버(200)는 보고서 생성 모듈(280), 및/또는 메타버스 관리 모듈(290)을 더 포함할 수도 있다. Referring to FIG. 2, the service server 200 includes a data collection module 210, a pre-processing module 220, a characteristic analysis module 240, an index analysis module 250, and a state analysis module 260. In some embodiments, the service server 200 may further include a natural language DB 230 and/or an analysis DB 270. Additionally, the service server 200 may further include a report generation module 280 and/or a metaverse management module 290.
도 2의 구성요소들은 서비스 서버(200)의 하드웨어들(프로세서, 메모리 등)의 동작에 따라 기능적으로 구현된, 소프트웨어 관점에서의 구성요소들을 의미한다. 예를 들어, 데이터 수집 모듈(210)은 통신부, 프로세서에 의해 구현될 수도 있다. 또한 다양한 분석 모듈(240, 250, 260)은 프로세서에 의해 구현될 수도 있다. 또한 자연어DB(230), 분석 DB(270)는 메모리에 의해 구현될 수도 있다. The components in FIG. 2 refer to components from a software perspective that are functionally implemented according to the operation of hardware (processor, memory, etc.) of the service server 200. For example, the data collection module 210 may be implemented by a communication unit or a processor. Additionally, various analysis modules 240, 250, and 260 may be implemented by a processor. Additionally, the natural language DB 230 and analysis DB 270 may be implemented by memory.
데이터 수집 모듈(210)은 복수의 사용자가 접속한 메타버스에서 생성된 각 사용자의 자연어 데이터를 포착(capture)하도록 구성된다. 상기 자연어 데이터는 텍스트 또는 음성 데이터일 수도 있다. 상기 말뭉치는 하나 이상의 단위 텍스트/음성을 포함한다. The data collection module 210 is configured to capture each user's natural language data generated in a metaverse accessed by a plurality of users. The natural language data may be text or voice data. The corpus contains one or more unit text/speech.
상기 데이터 수집 모듈(210)은 단일 포착 동작에서 하나의 문장, 문구를 포함한 말뭉치(corpus)를 자연어 데이터로 포착할 수도 있다. The data collection module 210 may capture a corpus including one sentence or phrase as natural language data in a single capture operation.
일부 실시 예들에서, 상기 데이터 수집 모듈(210)은 사용자의 행동 로그에 포함된 자연어 데이터를 검색(retrieve)함으로써 메타버스 내 자연어 데이터를 포착할 수도 있다. In some embodiments, the data collection module 210 may capture natural language data in the metaverse by retrieving natural language data included in the user's behavior log.
상기 데이터 수집 모듈(210)은 복수의 사용자 각각의 포착된 텍스트 또는 음성 데이터를 원시 자연어 데이터로서 자연어 DB(230)에 저장할 수도 있다.The data collection module 210 may store captured text or voice data of each of a plurality of users as raw natural language data in the natural language DB 230.
또한, 상기 데이터 수집 모듈(210)은 자연어 데이터의 연관 데이터를 검색할 수도 있다. 상기 데이터 수집 모듈(210)은 행동 로그 내 자연어 데이터를 제외한 나머지 데이터 중 일부 또는 전부를 포착된 자연어 데이터의 연관 데이터로 검색할 수도 있다. Additionally, the data collection module 210 may search for related data of natural language data. The data collection module 210 may search some or all of the data other than the natural language data in the behavior log as related data to the captured natural language data.
검색된 연관 데이터는 포착된 자연어 데이터에 추가되어 자연어 DB(230)에 함께 저장될 수도 있다. 상기 연관 데이터는, 예를 들어 자연어 데이터를 생성한 사용자의 개인 정보, 생성 시간, 생성 장소 등을 포함할 수도 있다. 상기 생성 장소는 메타버스 내 장소를 지칭한다. The searched related data may be added to the captured natural language data and stored together in the natural language DB 230. The related data may include, for example, personal information of the user who created the natural language data, creation time, creation location, etc. The creation location refers to a location within the metaverse.
상기 전처리 모듈(220)은 포착된 원시 자연어 데이터(raw natural language data)를 상태 분석을 위해 미리 지정된 포맷의 데이터로 변환하도록 구성된다. The preprocessing module 220 is configured to convert the captured raw natural language data into data in a predetermined format for state analysis.
상기 전처리 모듈(220)은 원시 데이터가 음성 데이터일 경우, 상기 음성 데이터를 텍스트 데이터로 변환한 이후에 상기 미리 지정된 포맷의 데이터로 변환하도록 구성될 수도 있다. 예를 들어, 상기 전처리 모듈(220)은 입력 음성을 텍스트로 변환하는 STT(Speech-to-text) 유닛을 포함할 수도 있다. If the raw data is voice data, the preprocessing module 220 may be configured to convert the voice data into text data and then convert it into data in the predetermined format. For example, the pre-processing module 220 may include a speech-to-text (STT) unit that converts input speech into text.
상기 STT 유닛은 음성 데이터에서 음성 특징을 추출하고 추출된 음성 특징에 기초하여 음성 데이트에 대응한 텍스트를 산출하도록 구성된다. 상기 STT 유닛은 인공 신경망으로 이루어질 수도 있다. 상기 STT 유닛의 파라미터는 기계학습 모델의 학습 방식에 의해 트래이닝 데이터 세트의 언어 음성을 언어 텍스트로 변환하기 위한 값을 가질 수도 있다. The STT unit is configured to extract voice features from voice data and calculate text corresponding to the voice data based on the extracted voice features. The STT unit may be comprised of an artificial neural network. The parameters of the STT unit may have values for converting the language speech of the training data set into language text by the learning method of the machine learning model.
상기 전처리 모듈(220)은 미리 저장된 자연어 처리 모델을 이용하여 원시 자연어 데이터의 텍스트 데이터, 또는 음성 데이터를 일차적으로 변환한 텍스트 데이터를 미리 지정된 포맷의 데이터로 변환할 수도 있다. The preprocessing module 220 may convert text data of raw natural language data or text data primarily converted from voice data into data in a pre-designated format using a pre-stored natural language processing model.
특정 실시 예들에서, 상기 미리 지정된 포맷은 벡터 형태의 데이터 포맷일 수도 있다. 상기 자연어 처리 모델은 입력 텍스트를 임베딩 처리하여 벡터 형태로 수치화한 출력 데이터를 산출하도록 구성된, 기계학습 모델일 수도 있다. 상기 기계학습 모델은 자연어 처리를 위한 뉴럴 네트워크 구조를 포함할 수도 있다. In certain embodiments, the predefined format may be a vector data format. The natural language processing model may be a machine learning model configured to process the embedding of input text and produce numerical output data in vector form. The machine learning model may include a neural network structure for natural language processing.
일부 실시 예들에서, 상기 자연어 처리 모델은 입력 텍스트를 복수의 토큰으로 토큰화하고 복수의 토큰 각각을 임베딩 처리하여 텍스트 벡터를 산출하도록 구성될 수도 있다. 여기서, 토큰은 단어 단위, 또는 맥락 단위로 토큰화될 수도 있다. 여기서, 맥락 단위는 단어 보다 큰 단위의 텍스트로서 예를 들어 문구(phrase), 문장 등일 수도 있다. In some embodiments, the natural language processing model may be configured to tokenize input text into a plurality of tokens and perform embedding processing on each of the plurality of tokens to calculate a text vector. Here, tokens may be tokenized on a word-by-word basis or a context-by-context basis. Here, the context unit is a text unit larger than a word and may be, for example, a phrase or sentence.
상기 자연어 처리 모델은, 예를 들어 BERT(Bidirectional Encoder Representations from Transformers), ELECTRA(Efficiently Learning an Encoder that Classifies Token Replacements Accurately)와 같이, 입력 텍스트를 단어 단위로 각각 토큰화하고 임베딩 처리하거나, 토큰화한 단어를 보다 큰 단위의 텍스트(예컨대, 문구, 문장, 단락 등)로 세그먼트화하고 임베딩 처리하거나, 및/또는 토큰 순서대로 인코딩 처리하도록 구성될 수도 있다. 그러나, 상기 자연어 처리 모델은 전술한 모델에 제한되지 않으며, 입력 텍스트로부터 텍스트 벡터를 산출 가능한 다양한 구조를 가질 수도 있다. The natural language processing model, for example, BERT (Bidirectional Encoder Representations from Transformers), ELECTRA (Efficiently Learning an Encoder that Classifies Token Replacements Accurately), tokenizes and embeds the input text word by word, or tokenizes it. It may be configured to segment and embed words into larger units of text (e.g., phrases, sentences, paragraphs, etc.) and/or encode them in token order. However, the natural language processing model is not limited to the above-described model and may have various structures capable of calculating text vectors from input text.
상기 자연어 처리 모델의 파라미터는 대상 언어를 처리하기 위한 값을 갖도록 미리 설계된 것일 수도 있다. 예를 들어, 상기 시스템(1)이 한국어 데이터를 처리하도록 설계된 경우, 상기 전처리 모듈(220)은 KoBERT, KcELECTRA 또는 한국어를 처리하도록 설계된 기타 자연어 처리 모델을 포함할 수도 있다. The parameters of the natural language processing model may be designed in advance to have values for processing the target language. For example, if the system 1 is designed to process Korean language data, the preprocessing module 220 may include KoBERT, KcELECTRA, or other natural language processing model designed to process Korean language.
일부 실시 예들에서, 상기 전처리 모듈(220)은 토큰화 이전에, 전처리 대상의 텍스트의 말뭉치(corpus)에서 미리 설정된 특수 기호, 불용어(stopword) 텍스트를 추출하여 제거하거나, 및/또는 정규화 처리를 수행하도록 구성될 수도 있다. In some embodiments, before tokenization, the preprocessing module 220 extracts and removes preset special symbols and stopword texts from a corpus of text to be preprocessed, and/or performs normalization processing. It may be configured to do so.
상기 전처리 모듈(220)은 특수 기호, 불용어로 미리 등록된 참조 텍스트를 이용하여 전처리 대상의 텍스트의 말뭉치가 특수 기호, 불용어에 해당한 텍스트를 포함하는 지 확인할 수도 있다. 상기 전처리 모듈(220)은 텍스트의 말뭉치에서 특수 기호, 불용어를 제거하고 토큰화 동작을 수행할 수도 있다. The preprocessing module 220 may use reference texts pre-registered as special symbols and stop words to check whether the text corpus to be pre-processed includes texts corresponding to special symbols and stop words. The preprocessing module 220 may remove special symbols and stop words from the text corpus and perform a tokenization operation.
상기 정규화 처리는 갖고 잇는 말뭉치로부터 노이즈 데이터를 제거하는 정제(cleaning) 처리 및/또는 정규 표현식 처리를 포함한다. The normalization process includes a cleaning process and/or a regular expression process to remove noise data from the existing corpus.
또한, 상기 전처리 모듈(220)은 임베딩 처리 이전에, 어간 및/또는 표제어를 추출하여 복수의 토큰 중 적어도 일부 토큰과 함께 임베딩 처리하거나, 및/또는 임베딩 이후 벡터가 정의되어 있지 않은 미등록 텍스트를 추출하여 등록 텍스트로 신규 등록하도록 더 구성될 수도 있다. In addition, the pre-processing module 220 extracts stems and/or headwords before embedding processing and embeds them with at least some tokens among a plurality of tokens, and/or extracts unregistered text for which no vector is defined after embedding. It may be further configured to newly register as a registered text.
상기 전처리 모듈(220)은 복수의 토큰으로부터 표제어/어간 추출 도구를 이용해 표제어, 어간을 추출할 수도 있다. 상기 전처리 모듈(220)은 예컨대, WordNetLemmatizer와 같은 표제어 추출 도구, 예컨대, 포터 알고리즘(porter algorithm)과 같은 어간 추출 도구를 포함할 수도 있다. 상기 전처리 모듈(220)은 표제어, 어간이 추출된 텍스트를 추출된 표제어, 어간으로 교체하고 나머지 텍스트와 함께 임베딩 처리하거나, 또는 추출된 표제어, 어간을 상기 복수의 토큰과 함께 임베딩 처리할 수도 있다. The preprocessing module 220 may extract lemmas and stems from a plurality of tokens using a lemmat/stem extraction tool. The preprocessing module 220 may include, for example, a lemmatization tool such as WordNetLemmatizer, or a stemming tool such as the Porter algorithm. The preprocessing module 220 may replace the text from which the lemma and stem have been extracted with the extracted lemma and stem and embed it with the remaining text, or may process the extracted lemma and stem together with the plurality of tokens.
상기 전처리 모듈(220)은 복수의 토큰에서 정의되지 않은 벡터를 확인할 수도 있다. 상기 벡터의 정의 또는 등록 텍스트는 자연어 DB(230)에 미리 저장될 수도 있다. 이 벡터가 정의되지 않은 텍스트는 미등록 텍스트일 수도 있다. The preprocessing module 220 may check undefined vectors in a plurality of tokens. The definition or registration text of the vector may be stored in advance in the natural language DB 230. Text for which this vector is not defined may be unregistered text.
상기 전처리 모듈(220)은 정의되지 않은 벡터에 대응한 텍스트를 새로운 등록 텍스트로 업데이트할 수도 있다. The preprocessing module 220 may update the text corresponding to the undefined vector with a new registered text.
또한, 일부 실시 예들에서, 상기 전처리 모듈(220)은 상기 미리 지정된 포맷의 데이터로 변환된 데이터에 상기 데이터 특성, 중요도 태그를 추가하여 상기 자연어 DB(230)에 저장할 수도 있다. Additionally, in some embodiments, the preprocessing module 220 may add the data characteristics and importance tags to data converted to data in the pre-designated format and store the data in the natural language DB 230.
상기 데이터 특성은 전처리 과정에서 추출된 특성으로서, 아래에서 서술할 사용자의 특성과 상이한 텍스트 특성이다. The data characteristics are characteristics extracted during the preprocessing process and are text characteristics that are different from the user characteristics described below.
상기 중요도 태그는 실제 문장의 의미 해석에 있어 크게 중요하지 않은 표현인지 여부를 나타내는 태그이다. 예를 들어 전치사(for, to, the), 조사 등에 상기 중요도 태그가 부여될 수도 있다.The importance tag is a tag that indicates whether the expression is not very important in interpreting the meaning of the actual sentence. For example, the importance tag may be given to prepositions (for, to, the), particles, etc.
상기 전처리 모듈(220)은 전처리 과정에서 산출된 데이터 특성, 중요도 태그를 해당 벡터 데이터에 연관시켜 자연어 DB(230)에 저장할 수도 있다. The preprocessing module 220 may associate the data characteristics and importance tags calculated during the preprocessing process with the corresponding vector data and store them in the natural language DB 230.
상기 전처리 모듈(220)은 전처리를 통해 산출된 텍스트 벡터를 특성 분석 모듈(240)로 공급한다. The preprocessing module 220 supplies the text vector calculated through preprocessing to the feature analysis module 240.
상기 특성 분석 모듈(240)은 포착된 텍스트 또는 변환된 텍스트로부터 변환된 텍스트 벡터로부터 각 사용자의 특성을 추출하도록 구성된다. The characteristic analysis module 240 is configured to extract characteristics of each user from a text vector converted from captured text or converted text.
상기 특성은 메타버스 상에서 사용자 활동 자체 또는 상기 사용자와 다른 사용자와의 상호 작용을 서술하는 특성을 나타낸다. The above characteristics represent characteristics that describe the user's activity itself or the user's interaction with other users on the metaverse.
상기 특성은 특성이 추출되는 텍스트 종류, 해당 종류로 분류된 텍스트의 사용 빈도, 사용 비율, 텍스트를 표현하는 스타일 및 핵심 단어 여부 중 하나 이상의 항목을 포함할 수도 있다. 예를 들어, 말뭉치에서 단어 텍스트로 문장별로 임베딩 처리될 경우, 상기 텍스트 종류는 문장의 종류일 수도 있다. The characteristics may include one or more of the following: the type of text from which the characteristic is extracted, the frequency of use of the text classified into that type, the percentage of use, the style of expressing the text, and whether or not it is a key word. For example, when each sentence is embedded as a word text in a corpus, the text type may be a sentence type.
일부 실시 예들에서, 상기 텍스트 종류는 감정 표현, 행동 표현, 혐오 발언, 정치적 발언, 이모티콘 표현, 비정제 언어 표현, 시간 표현 중 하나 이상의 종류를 포함할 수도 있다. 상기 비정제 언어 표현은 예를 들어 ㅋㅋㅋ, 줄임말 등을 나타낸다. In some embodiments, the text type may include one or more types of emotional expressions, behavioral expressions, hate speech, political speech, emoticon expressions, crude language expressions, and time expressions. The above unrefined language expressions represent, for example, ㅋㅋㅋ, abbreviations, etc.
특정 표현/발언의 텍스트 종류는 미리 지정된 하나 이상의 종류 중 어느 하나의 종류로 분류되어 추출될 수도 있다. 예를 들어, 특정 텍스트가 이모티콘 표현을 가질 경우, 어떤 의미의 이모티콘인지 여부와 무관하게 상기 특성은 종류 항목으로 이모티콘 표현을 가질 수도 있다. The text type of a specific expression/utterance may be classified and extracted as one of one or more pre-designated types. For example, if a specific text has an emoticon expression, the characteristic may have an emoticon expression as a type item, regardless of what meaning the emoticon means.
상기 특성 분석 모듈(240)은 미리 학습된 특성 인식 모델을 이용하여 텍스트 종류를 포함한 특성을 추출할 수도 있다. The feature analysis module 240 may extract features including text type using a pre-learned feature recognition model.
구체적으로, 상기 특성 분석 모듈(240)은 각각의 단위 텍스트에 대응한 벡터 데이터를 상기 특성 인식 모델에 입력한다. 상기 특성 인식 모델에 대해 미리 설정된 복수의 텍스트 종류 각각에 상기 대응한 단위 텍스트가 분류될 확률 값들을 각각 산출하고, 각 종류별로 산출된 확률 값에 기초하여 단위 텍스트의 텍스트 종류를 결정할 수도 있다. 결정된 텍스트 종류를 포함한 사용자의 특성이 대응한 단위 텍스트로부터 추출된다. Specifically, the feature analysis module 240 inputs vector data corresponding to each unit text into the feature recognition model. Probability values that the corresponding unit text will be classified into each of the plurality of text types preset for the feature recognition model may be calculated, and the text type of the unit text may be determined based on the probability values calculated for each type. User characteristics, including the determined text type, are extracted from the corresponding unit text.
상기 특성 인식 모델은 텍스트에 대응한 입력 벡터 데이터와 특성의 종류 간의 상관 관계를 추론하여 대응 텍스트 종류를 결정하는, 분류 동작을 수행하도록 구성된 기계학습 모델이다. 상기 기계학습 모델은 뉴럴 네트워크 구조를 가진다. The feature recognition model is a machine learning model configured to perform a classification operation to determine the corresponding text type by inferring the correlation between the input vector data corresponding to the text and the type of feature. The machine learning model has a neural network structure.
상기 뉴럴 네트워크 구조는 텍스트 데이터를 임베딩 처리한 벡터 데이터와 특성의 종류 간의 상관 관계에 기초하여 텍스트 데이터가 분류될 확률이 가장 높은 어느 하나의 특성의 종류를 결정하도록 구성된다. 예를 들어, 상기 뉴럴 네트워크 구조는, 완전 연결 레이어, 또는 MLP(Multi-layer Perceptron)를 포함한 기타 NN 구조로 구성될 수도 있다.The neural network structure is configured to determine the type of feature with the highest probability of classifying text data based on the correlation between vector data obtained by embedding text data and the type of feature. For example, the neural network structure may be composed of a fully connected layer or other NN structure including a multi-layer perceptron (MLP).
상기 특성 인식 모델은 복수의 제1 트래이닝 샘플로 이루어진 제1 트래이닝 데이터 세트를 이용해 미리 학습될 수도 있다. 각 제1 트래이닝 샘플은 제1 트래이닝 데이터 및 레이블 데이터를 각각 가진다. 상기 제1 트래이닝 데이터는 메타버스와 다른 온라인 공간 또는 오프라인 공간에서 획득된 텍스트 데이터를 임베딩 처리한 제1 샘플 벡터 데이터일 수도 있다. 상기 레이블 데이터는 해당 텍스트가 갖는 실제 특성의 종류를 나타낸다. The feature recognition model may be trained in advance using a first training data set consisting of a plurality of first training samples. Each first training sample has first training data and label data, respectively. The first training data may be first sample vector data obtained by embedding text data obtained in an online or offline space other than the metaverse. The label data indicates the type of actual characteristics that the text has.
상기 특성 인식 모델은 제1 트래이닝 샘플 각각의 제1 트래이닝 데이터가 입력되면, 내부 파라미터로 상기 제1 트래이닝 데이터를 연산 처리하여 결과 값(즉, 예측된 특성의 종류)을 산출한다. 상기 특성 인식 모델의 파라미터는 상기 연산 결과 값과 레이블 데이터의 값(실제 특성의 종류) 간의 오차가 보다 감소하도록 학습된다. 학습 완료된 특성 인식 모델은 상기 오차가 최소화되는 파라미터를 가진다.When the first training data of each first training sample is input, the characteristic recognition model calculates a result value (i.e., type of predicted characteristic) by processing the first training data with internal parameters. The parameters of the feature recognition model are learned so that the error between the calculation result value and the value of the label data (actual feature type) is further reduced. The learned feature recognition model has parameters that minimize the error.
상기 특성 분석 모듈(240)은 상기 제1 트래이닝 데이터 세트를 이용하여 미리 학습된 특성 인식 모델에 사용자의 포착된 텍스트에 대응한 벡터 데이터를 입력한다. 상기 특성 인식 모델은 각각의 벡터 데이터를 미리 학습된 파라미터로 연산 처리하여 복수의 종류 각각에 대응한 단위 텍스트가 분류될 확률 값을 각각 산출한다. 산출된 확률 값이 가장 높은 종류를 사용자의 특성의 종류로 결정할 수도 있다. The feature analysis module 240 inputs vector data corresponding to the user's captured text into a feature recognition model learned in advance using the first training data set. The feature recognition model calculates each vector data with pre-learned parameters and calculates the probability that the unit text corresponding to each of the plurality of types will be classified. The type with the highest calculated probability value may be determined as the type of user characteristic.
또한, 일부 실시 예들에서, 미리 학습된 특성 인식 모델은 제2 트래이닝 데이터 세트를 이용하여 재-학습될 수도 있다. 그러면, 상기 특성 분석 모듈(240)은, 상기 제2 트래이닝 데이터 세트를 이용하여 재-학습된 특성 인식 모델을 이용하여 재-학습이 완료된 이후에 단위 텍스트에 대응한 벡터 데이터로부터 텍스트 종류를 결정하도록 더 구성될 수도 있다. 재-학습 과정은 전술한 학습 과정과 유사하므로, 차이점을 위주로 서술한다. Additionally, in some embodiments, a pre-trained feature recognition model may be re-trained using a second training data set. Then, the feature analysis module 240 determines the text type from vector data corresponding to the unit text after re-learning is completed using the feature recognition model re-learned using the second training data set. It could be configured further. Since the re-learning process is similar to the above-described learning process, the differences are mainly described.
상기 제2 트래이닝 데이터 세트 내 각각의 제2 트래이닝 데이터는 메타버스에서 포착된 텍스트 또는 음성 데이터를 임베딩 처리한 제2 샘플 벡터 데이터일 수도 있다. 상기 일부 실시 예들에서, 메타버스 내 사용자의 상태를 분석하는 시스템(1)은 메타버스 서비스를 제공하기 이전에는, 이미 공개된 한국어 데이터 세트를 제1 트래이닝 데이터 세트로 이용해 사용자의 특성을 추출하고, 메타버스 서비스를 제공하면서 포착한 서비스 사용자의 텍스트 데이터를 임베딩 처리하여 획득한, 제2 트래이닝 데이터 세트를 이용하여 상기 특성 인식 모델을 미세 조정할 수도 있다. Each second training data in the second training data set may be second sample vector data obtained by embedding text or voice data captured in the metaverse. In some of the above embodiments, the system 1 for analyzing the user's status in the metaverse extracts the user's characteristics using an already published Korean data set as a first training data set before providing the metaverse service, The feature recognition model may be fine-tuned using a second training data set obtained by embedding text data of service users captured while providing the metaverse service.
또한, 일부 실시 예들에서, 텍스트 종류 중 적어도 일부는 2이상의 하위 종류를 가질 수도 있다. 예를 들어, 감정 표현의 종류는 긍정, 중립, 부정의 하위 종류를 가질 수도 있다. 또한, 행동 표현의 종류는 다양한 행동을 하위 종류로 가질 수도 있다. Additionally, in some embodiments, at least some of the text types may have two or more sub-types. For example, a type of emotional expression may have subtypes of positive, neutral, and negative. Additionally, types of behavioral expressions may have various behaviors as sub-types.
상기 특성 분석 모듈(240)은 하위 종류를 갖지 않는 텍스트 종류에 대해서는 해당 텍스트 종류에 분류되는 지 여부를 결정하는, 이진 분류 동작을 수행하고, 그리고 하위 종류를 갖는 텍스트 종류에 대해서는 해당 텍스트 종류의 2이상의 하위 종류 중 어느 하나의 하위 종류에 분류되는 것을 결정하는, 다중 분류 동작을 수행하도록 구성된다. 예를 들어, 특성 분석 모듈(240)은 혐오 발언 종류에 대해서는 혐오 발언에 해당하는 지 여부로 인식하는, 이진 분류 동작을 수행하지만, 감정 표현 종류에 대해서는 보다 세분화된 감정 상태를 인식하는, 다중 분류 동작을 수행할 수도 있다. The characteristic analysis module 240 performs a binary classification operation to determine whether a text type without a sub-type is classified into the corresponding text type, and for a text type with a sub-type, 2 of the corresponding text type. It is configured to perform a multi-classification operation to determine classification into any one of the above sub-types. For example, the characteristic analysis module 240 performs a binary classification operation to recognize the type of hate speech as whether or not it corresponds to hate speech, but performs a multi-classification operation to recognize more detailed emotional states for the type of emotional expression. You can also perform actions.
일부 실시 예들에서, 상기 특성 인식 모델은 상기 적어도 일부의 텍스트 종류 각각에 대해, 해당 텍스트 종류의 2이상의 하위 종류를 분류하는 각 서브 모델을 포함할 수도 있다. In some embodiments, the feature recognition model may include, for each of the at least some text types, each sub-model that classifies two or more sub-types of the corresponding text type.
일 예에서, 상기 특성 분석 모듈(240)은 사용자의 감정 표현이 긍정, 부정 또는 중립 상태인지를 인식하는 서브 모델을 포함할 수도 있다. 상기 특성 분석 모듈(240)은 상기 사용자의 단위 텍스트를 상기 서브 모델에 입력하여 단위 텍스트가 긍정, 부정 및 중립의 하위 종류 각각에 분류될 확률 값을 산출하고, 각각의 하위 종류에 대한 확률 값에 기초하여 단위 텍스트가 긍정, 부정 및 중립 중 어느 하나의 하위 종류를 상기 단위 텍스트 종류로 결정할 수도 있다. 상기 서브 모델의 구조 및 학습 과정은 전술한 특성 인식 모델과 유사하므로, 자세한 설명은 생략한다. In one example, the characteristic analysis module 240 may include a sub-model that recognizes whether the user's emotional expression is positive, negative, or neutral. The characteristic analysis module 240 inputs the user's unit text into the sub-model to calculate a probability value that the unit text will be classified into each of the positive, negative, and neutral sub-types, and calculates the probability value for each sub-type. Based on this, the unit text may determine any one of positive, negative, and neutral subtypes as the unit text type. Since the structure and learning process of the sub-model are similar to the feature recognition model described above, detailed description is omitted.
상기 사용 비율은 말뭉치 전체 대비 결정된 종류를 동일하게 갖는 단위 텍스트의 비율이다. The usage ratio is the ratio of unit texts having the same determined type compared to the entire corpus.
상기 핵심 단어 여부는 상기 단위 텍스트가 고유 명사, 위치 단어, 시간 단어, 나이 단어를 나타낸 핵심 단어를 포함하는 지 여부에 기초하여 결정될 수도 있다. The key word may be determined based on whether the unit text includes key words representing a proper noun, a location word, a time word, or an age word.
상기 특성 분석 모듈(240)은 벡터 형태로 사용자의 특성을 추출할 수도 있다. 상기 벡터 형태의 사용자의 특성은 사용자의 특성 벡터로 지칭될 수도 있다. The characteristic analysis module 240 may extract user characteristics in vector form. The user's characteristics in the form of a vector may also be referred to as a user's characteristic vector.
상기 사용자의 특성 벡터의 각 차원은 각각의 항목에 대응한다. 예를 들어, 사용자의 텍스트 종류를 포함한 특성이 추출될 경우, 상기 사용자의 특성 벡터는 텍스트 종류에 대응한 차원의 값으로 결정된 텍스트 종류를 나타낸 값을 포함한다. Each dimension of the user's feature vector corresponds to a respective item. For example, when features including the user's text type are extracted, the user's feature vector includes a value indicating the text type determined by the value of the dimension corresponding to the text type.
또한, 상기 사용자의 텍스트 종류의 사용 빈도를 더 포함한 특성이 추출될 경우, 상기 사용자의 특성 벡터는, 감정 표현 빈도, 행동 표현 빈도, 혐오 발언 빈도, 정치적 발언 빈도, 이모티콘 사용 빈도, 비정제 언어 사용 빈도, 시간 표현 빈도를 나타낸 값을 더 포함할 수도 있다.In addition, when characteristics are extracted that further include the user's frequency of use of text types, the user's characteristic vector includes the frequency of emotional expression, frequency of behavioral expression, frequency of hate speech, frequency of political speech, frequency of emoticon use, and use of unrefined language. Frequency and time expression may further include values indicating frequency.
상기 지수 분석 모듈(250)은, 특성을 추출하는 과정에서 산출된 연산 값 복수의 사용자 각각의 특성에 대한 지수 점수를 산출하도록 구성된다.The index analysis module 250 is configured to calculate an index score for each characteristic of a plurality of users, a calculation value calculated in the process of extracting characteristics.
특정 실시 예들에서, 상기 지수 분석 모듈(250)은, 특성 분석 모듈(240)이 특성 인식 모델을 이용하여 단위 텍스트의 텍스트 종류를 포함한 사용자의 특성을 추출한 경우, 텍스트 종류를 분류하는 과정의 확률 값들에 기초하여 사용자의 특성에 포함된 텍스트 종류에 대한 지수 점수를 산출할 수도 있다. 상기 지수 점수는 복수의 단위 텍스트로 이루어진 말뭉치 전체 범위에서 해당 단위 텍스트가 결정된 텍스트 종류에 매칭하는 정도를 수치화한 것이다. 동일한 종류로 결정된 서로 다른 단위 텍스트들 사이에서도 매칭 편차가 존재할 수 있으며, 이 편차는 지수 점수로 수치화된다. In certain embodiments, when the characteristic analysis module 240 extracts user characteristics including the text type of the unit text using a characteristic recognition model, the index analysis module 250 generates probability values in the process of classifying the text type. Based on this, an index score for the text type included in the user's characteristics may be calculated. The index score quantifies the degree to which the corresponding unit text matches the determined text type in the entire range of the corpus consisting of a plurality of unit texts. Matching deviations may exist even between different unit texts determined to be of the same type, and this deviation is quantified as an index score.
상기 연산 값은 특성 인식 모델의 분류 동작 도중에 산출된 확률 값을 포함한다. 상기 확률 값은 단위 텍스트가 결정된 텍스트 종류로 분류될 확률 값 및 결정되지 않은 다른 텍스트 종류로 분류될 확률 값을 포함한다. 상기 지수 분석 모듈(250)은 상기 사용자의 단위 텍스트 각각의 종류가 추출되는 과정에서 산출된 연산 값에 기초하여 사용자의 특성에 포함된 텍스트 종류에 대한 지수 점수를 각각 산출하도록 구성된다. The calculation value includes a probability value calculated during the classification operation of the feature recognition model. The probability value includes a probability value that the unit text will be classified as a determined text type and a probability value that the unit text will be classified as another undetermined text type. The index analysis module 250 is configured to calculate index scores for each text type included in the user's characteristics based on the calculation value calculated in the process of extracting each type of the user's unit text.
상기 지수 분석 모듈(250)은 텍스트 종류가 결정된 동작에 따라 사용자의 특성에 포함된 텍스트 종류에 대한 지수 점수를 산출할 수도 있다. The index analysis module 250 may calculate an index score for the text type included in the user's characteristics according to the operation in which the text type is determined.
상기 지수 분석 모듈(250)은 단위 텍스트의 텍스트 종류가 이진 분류를 통해 결정된 경우, 해당 사용자의 텍스트 또는 음성 말뭉치에 포함된 단위 텍스트의 전체 수, 각각의 단위 텍스트가 특성 인식 모델의 복수의 텍스트 종류 중 특성에 포함된 텍스트 종류로 분류될 확률 및 동일한 단위 텍스트가 상기 특성에 포함된 텍스트 종류로 분류되지 않을 확률에 기초하여, 사용자의 특성에 포함된 텍스트 종류에 대한 지수 점수를 산출하도록 구성될 수도 있다. 일부 실시 예들에서, 결정된 텍스트 종류가 하위 종류가 없는 상위 종류일 경우 이진 분류로 결정된 것으로 취급된다. When the text type of the unit text is determined through binary classification, the index analysis module 250 determines the total number of unit texts included in the corresponding user's text or voice corpus, and each unit text is a plurality of text types in the feature recognition model. It may be configured to calculate an index score for the text type included in the user's characteristic, based on the probability of being classified as a text type included in the characteristic and the probability that the same unit text will not be classified as a text type included in the characteristic. there is. In some embodiments, a binary classification is treated as determined if the determined text type is a superclass with no subclasses.
상기 지수 분석 모듈(250)은, 단위 텍스트의 텍스트 종류에 대한 지수 점수를 산출하기 위해, 특성 분석 모듈(240)로부터 특성 인식 모델의 복수의 텍스트 종류 각각에 상기 단위 텍스트가 분류될 각각의 확률 값을 획득하고, 각각의 확률 값 중에서 특성에 포함된 텍스트 종류로 분류될 확률 값을 획득하고, 상기 특성 인식 모델의 복수의 텍스트 종류 중 나머지 텍스트 종류 각각에 분류될 확률을 획득하고 이들의 합을 상기 텍스트가 상기 특성에 포함된 텍스트 종류로 분류되지 않을 확률로 산출할 수도 있다. 이들 확률 값은 동일한 말뭉치에 포함된 각 단위 텍스트별로 획득될 수도 있다. In order to calculate an index score for the text type of the unit text, the index analysis module 250 calculates the probability value of the unit text being classified into each of the plurality of text types of the feature recognition model from the feature analysis module 240. Obtain, obtain a probability value of being classified as a text type included in the feature from among each probability value, obtain a probability of being classified into each of the remaining text types among the plurality of text types of the feature recognition model, and calculate the sum of these. The probability that a text is not classified as a text type included in the above characteristics can also be calculated. These probability values may be obtained for each unit text included in the same corpus.
일부 실시 예들에서, 상기 지수 분석 모듈(250)은 사용자의 텍스트 또는 음성 말뭉치에 포함된 단위 텍스트의 전체 수, 각 단위 텍스트별로 산출된, 해당 단위 텍스트가 특성에 포함된 텍스트 종류로 분류될 각각의 확률 값의 합(sum) 및 해당 텍스트가 상기 특성에 포함된 텍스트 종류로 분류되지 않을 확률 값의 각 단위 텍스트별 합에 기초하여 사용자의 특성에 포함된 텍스트 종류에 대한 지수 점수를 산출할 수도 있다. In some embodiments, the index analysis module 250 calculates the total number of unit texts included in the user's text or voice corpus, calculated for each unit text, and each unit text to be classified into the text type included in the characteristic. An index score for the text type included in the user's characteristic may be calculated based on the sum of the probability values and the sum for each unit text of the probability value that the corresponding text is not classified as the text type included in the characteristic. .
예를 들어, 상기 지수 분석 모듈(250)은, 이전에 이진 분류 동작이 수행된 경우, 다음의 수학식을 통해 사용자의 특성에 포함된 텍스트 종류(c)에 대한 지수 점수를 산출할 수도 있다. For example, if a binary classification operation has been previously performed, the index analysis module 250 may calculate an index score for the text type (c) included in the user's characteristics using the following equation.
Figure PCTKR2022016847-appb-img-000001
Figure PCTKR2022016847-appb-img-000001
상기 수학식은 constant를 조절함으로써, 사용자가 보다 쉽게 인식하도록 스케일 범위 내의 출력 값을 갖도록 설정될 수도 있다. Constant는 지수 점수의 스케일 범위를 설정하기 위해 사용자가 임의로 지정한 값으로서, 예를 들어 0 또는 100일 수도 있으나, 이에 제한되지 않는다.The above equation can be set to have an output value within the scale range so that the user can more easily recognize it by adjusting the constant. Constant is a value arbitrarily designated by the user to set the scale range of the index score. For example, it may be 0 or 100, but is not limited thereto.
여기서, Ttotal 은 텍스트 또는 음성 말뭉치에 포함된 단위 텍스트의 전체 수를 나타낸다. 상기 단위 텍스트는 전술한 바와 같이 문장일 수도 있다. Pc는 각각의 단위 텍스트가 분류될 각각의 확률 값을 나타낸다. Pc'는 동일한 단위 텍스트가 상기 특성에 포함된 텍스트 종류로 분류되지 않을 확률을 나타낸다. 이진 분류 동작에서 확률 Pc'와 확률 Pc의 합은 100%(즉, Pc'+Pc=1)의 관계를 가진다. Here, Ttotal represents the total number of unit texts included in the text or voice corpus. The unit text may be a sentence as described above. Pc represents the probability value that each unit text will be classified. Pc' represents the probability that the same unit text is not classified as a text type included in the above characteristic. In a binary classification operation, the sum of probability Pc' and probability Pc has a relationship of 100% (i.e., Pc'+Pc=1).
일 예에서, "나는 늙은이들은 이유 없이 싫어. 그들은 사회에 해만 끼쳐"라는 두 문장이 포착되었고, 이 두 문장은 단위 텍스트로 각각 취급되어, 혐오 발언의 종류에 대해서는 혐오 발언으로 분류되는 지 여부의 이진 분류 동작을 수행하는 특성 인식 모델에 전처리 이후 각각 입력되어 두 문장 모두의 텍스트 종류가 혐오 발언으로 결정되었고, 이 결정을 위해 각 문장별로 혐오 발언으로 분류될 확률(Pc)과 혐오 발언으로 분류되지 않을 확률(Pc')이 각각 (0.924, 0.076), (0.742, 0.258)로 산출되었다고 가정해보자. In one example, two sentences were captured: "I hate old people for no reason. They only harm society", and these two sentences were each treated as unit text, and the type of hate speech was determined by whether or not it was classified as hate speech. After preprocessing, each was input into a feature recognition model that performs a binary classification operation, and the text types of both sentences were determined to be hate speech. For this decision, the probability of being classified as hate speech (Pc) for each sentence and the probability of being classified as hate speech were determined. Let's assume that the probability (Pc') of not doing so is calculated as (0.924, 0.076) and (0.742, 0.258), respectively.
Constant 값이 100으로 설정되어 0 내지 200 사이의 스케일 범위로 설정된 수학식 1에 해당 확률 Pc, Pc'를 각각 적용할 경우, 사용자의 특성에 포함된 텍스트 종류(즉, 혐오 발언)에 대한 지수 점수는 166.6(=[((0.924+0.742) - (0.076+0.258)) / 2]Х100 + 100)으로 산출될 수도 있다. When the Constant value is set to 100 and the corresponding probabilities Pc and Pc' are applied to Equation 1, respectively, set to a scale range between 0 and 200, the index score for the type of text (i.e. hate speech) included in the user's characteristics can also be calculated as 166.6 (=[((0.924+0.742) - (0.076+0.258)) / 2]Х100 + 100).
또한, 상기 지수 분석 모듈(250)은 단위 텍스트의 텍스트 종류가 다중 분류를 통해 결정된 경우, 해당 사용자의 텍스트 또는 음성 말뭉치에 포함된 단위 텍스트의 전체 수, 각각의 단위 텍스트가 특성 인식 모델 내 서브 모델의 복수의 텍스트 종류 중 특성에 포함된 텍스트 종류로 분류될 확률 및 동일한 단위 텍스트가 서브 모델의 복수의 텍스트 종류 중 나머지 텍스트 종류 각각으로 분류될 확률들에 기초하여, 사용자의 특성에 포함된 텍스트 종류에 대한 지수 점수를 산출하도록 구성될 수도 있다. 결정된 텍스트 종류가 하위 종류일 경우 다중 분류로 결정된 것으로 취급된다. 상기 서브 모델의 복수의 텍스트 종류는 동일한 상위 종류를 갖는 복수의 하위 종류를 나타낸다. 상기 지수 점수는 복수의 하위 종류를 포괄하는 상위 종류에 대한 점수이다. In addition, when the text type of the unit text is determined through multiple classification, the index analysis module 250 determines the total number of unit texts included in the text or voice corpus of the user, and each unit text is a submodel within the feature recognition model. Based on the probability of being classified as a text type included in the characteristic among the plurality of text types of and the probabilities of the same unit text being classified into each of the remaining text types among the plurality of text types of the sub model, the text type included in the user's characteristics It may be configured to calculate an index score for . If the determined text type is a subtype, it is treated as determined by multiple classifications. The plurality of text types of the sub-model represents a plurality of sub-types having the same upper-level type. The index score is a score for a higher-order type encompassing a plurality of lower-level types.
동일한 상위 종류를 갖는 복수의 하위 종류가 n개일 경우, 특성에 포함된 텍스트 종류(즉, 특정 하위 종류)로 분류될 확률 및 나머지 n-1개의 텍스트 종류 각각으로 분류될 n-1개의 확률 값이 산출된다. 이들 n개의 확률 값의 합은 100%를 나타낼 수도 있다.If there are n multiple sub-types with the same super-type, the probability of being classified into the text type included in the feature (i.e., a specific sub-type) and the n-1 probability values of being classified into each of the remaining n-1 text types are It is calculated. The sum of these n probability values may represent 100%.
다중 분류 이후에 수행되는 지수 점수 산출 과정은 이진 분류 이후에 수행되는 지수 점수 산출 과정과 유사하므로, 차이점을 위주로 서술한다. Since the index score calculation process performed after multiple classification is similar to the index score calculation process performed after binary classification, the differences are mainly described.
일부 실시 예들에서, 상기 지수 분석 모듈(250)은 사용자의 텍스트 또는 음성 말뭉치에 포함된 단위 텍스트의 전체 수, 각 단위 텍스트별로 산출된, 해당 단위 텍스트가 서브 모델의 복수의 텍스트 종류 중 특성에 포함된 텍스트 종류로 분류될 각각의 확률 값의 합(sum) 및 서브 모델의 복수의 텍스트 종류 중 나머지 텍스트 종류 각각으로 분류될 확률 값 중 동일한 텍스트 종류로 분류될 확률 값의 합들에 기초하여 사용자의 특성에 포함된 텍스트 종류에 대한 지수 점수를 산출할 수도 있다.In some embodiments, the index analysis module 250 calculates the total number of unit texts included in the user's text or voice corpus, each unit text, and the unit text is included in the characteristics among the plurality of text types of the sub model. User characteristics based on the sum of the probability values of each text type being classified as the same text type and the sum of the probability values of being classified into the same text type among the probability values of being classified into each of the remaining text types among the plurality of text types of the sub model. You can also calculate index scores for the text types included in .
예를 들어, 상기 지수 분석 모듈(250)은, 이전에 다중 분류 동작이 수행된 경우, 다음의 수학식을 통해 사용자의 특성에 포함된 텍스트 종류(c)에 대한 지수 점수를 산출할 수도 있다. For example, if a multi-classification operation has been previously performed, the index analysis module 250 may calculate an index score for the text type (c) included in the user's characteristics using the following equation.
Figure PCTKR2022016847-appb-img-000002
Figure PCTKR2022016847-appb-img-000002
여기서, n은 동일한 상위 종류를 갖는 복수의 하위 종류의 수를 나타낸다. Here, n represents the number of multiple sub-types having the same upper-level type.
또한, 일부 실시 예들에서, 상기 지수 분석 모듈(250)은, 단위 텍스트의 텍스트 종류가 다중 분류를 통해 결정된 경우, 상기 동일한 상위 종류를 갖는 복수의 하위 종류 각각에 대해 미리 설정된 종류 가중치에 더 기초하여 사용자의 특성에 포함된 텍스트 종류에 대한 지수 점수를 산출할 수도 있다.Additionally, in some embodiments, when the text type of the unit text is determined through multiple classification, the index analysis module 250 further bases the type weight on a preset type weight for each of the plurality of lower types having the same upper type. Index scores can also be calculated for the text types included in the user's characteristics.
예를 들어, 상기 지수 분석 모듈(250)은, 상기 수학식 2에 종류 가중치가 더 적용된 다음의 수학식을 통해 사용자의 특성에 포함된 텍스트 종류(c)에 대한 지수 점수를 산출할 수도 있다. For example, the index analysis module 250 may calculate an index score for the text type (c) included in the user's characteristics through the following equation in which type weights are further applied to equation 2.
Figure PCTKR2022016847-appb-img-000003
Figure PCTKR2022016847-appb-img-000003
여기서, W0는 특성에 포함된 하위 종류의 가중치를 나타낸다. W1 내지 Wn-1은 서브 모델의 복수의 텍스트 종류(즉, 하위 종류) n개 중 나머지 하위 종류의 가중치를 각각 나타낸다. Here, W 0 represents the weight of the subtype included in the characteristic. W 1 to W n-1 respectively represent the weights of the remaining sub-types among the n plural text types (i.e., sub-types) of the sub-model.
일 예에서, "오늘 아침엔 비가 와서 기분이 좋았었어. 너는 어때?"라는 두 문장이 포착되었고, 이 두 문장은 단위 텍스트로 각각 취급되어, 감정 표현의 종류에 대해서는 3개의 하위 특성(긍정, 중립, 부정) 중 어느 하나의 하위 특성으로 분류하는 것의 다중 분류 동작을 수행하는 특성 인식 모델의 서브 모델에 전처리 이후 각각 입력되어 첫 문장은 긍정, 두 번째 문장은 중립으로 결정되었고, 이 결정을 위해 각 문장별로 하위 종류로 분류될 각각의 확률(Pc, P1 c, .. + Pn-1 c)이 (0.820, 0.090, 0.090), (0.200, 0.750, 0.050)으로 산출되었다고 가정해보자. In one example, two sentences were captured: “It rained this morning and I was in a good mood. How about you?” These two sentences were each treated as unit text, and three sub-characteristics (positive, positive, After pre-processing, each was input into a sub-model of the feature recognition model that performs a multi-classification operation of classifying it into any one of the sub-characteristics (neutral, negative), and the first sentence was determined to be positive and the second sentence was determined to be neutral, and for this decision, Let's assume that the probability (P c , P 1 c , .. + P n-1 c ) of being classified into a subtype for each sentence is calculated as (0.820, 0.090, 0.090), (0.200, 0.750, 0.050).
W0이 0.3, W1이 0.2, W2이 0.1로 각각 설정되고 Constant 값이 100으로 설정되어 0 내지 200 사이의 스케일 범위로 설정된 수학식 3에 상기 각 문장별 하위 종류로 분류될 확률 값들을 적용할 경우, 사용자의 특성에 포함된 텍스트 종류(즉, 긍정, 중립을 포괄하는 감정 표현)에 대한 지수 점수는 124.4(=[((0.820+0.200)*0.3 + (0.090+0.750)*0.2 + (0.090+0.050) * 0.1) ) / 2] Х100 +100)으로 산출될 수도 있다.When W0 is set to 0.3, W1 to 0.2, and W2 to 0.1, the Constant value is set to 100, and the probability values of being classified into subtypes for each sentence are applied to Equation 3, which is set to a scale range between 0 and 200. , the index score for the text types included in the user's characteristics (i.e., emotional expressions encompassing positive and neutral) is 124.4 (=[((0.820+0.200)*0.3 + (0.090+0.750)*0.2 + (0.090+ It can also be calculated as 0.050) * 0.1) ) / 2] Х100 +100).
상기 상태 분석 모듈(260)은 사용자의 추출된 특성 및 해당 특성에 대한 지수 점수 중 적어도 하나에 기초하여 각 사용자의 상태를 산출하도록 구성된다. 상기 특성은 텍스트 종류를 포함하고, 상기 특성에 대한 지수 점수는 특성에 포함된 텍스트 종류에 대한 지수 점수를 포함한다. 상기 텍스트 종류는 하위 텍스트 종류일 수도 있다. The state analysis module 260 is configured to calculate the state of each user based on at least one of the extracted characteristics of the user and the index score for the characteristic. The feature includes a text type, and the index score for the feature includes an index score for the text type included in the feature. The text type may also be a subtext type.
상기 상태 분석 모듈(260)은 복수의 사용자 각각에 대해 추출된 특성으로 이루어진 특성 세트를 획득할 수도 있다. 각 사용자별로 항목이 서로 다른 특성 벡터가 추출될 수도 있다. 이들 특성 벡터에 기초하여 특성 세트가 획득된다. The state analysis module 260 may obtain a characteristic set consisting of characteristics extracted for each of a plurality of users. Feature vectors with different items may be extracted for each user. A feature set is obtained based on these feature vectors.
또한, 상태 분석 모듈(260)은 복수의 사용자 각각에 대해 산출된 특성에 대한 지수 점수로 이루어진 지수 세트를 획득할 수도 있다. Additionally, the state analysis module 260 may obtain an index set consisting of index scores for characteristics calculated for each of a plurality of users.
일부 실시 예들에서, 상기 상태 분석 모듈(260)은 특성 세트 내 각 사용자의 특성에 기초하여 복수의 클러스터를 형성하도록 구성될 수도 있다. In some embodiments, the state analysis module 260 may be configured to form a plurality of clusters based on the characteristics of each user in the characteristic set.
상기 상태 분석 모듈(260)은 특성 세트에서 일부 특성을 선별하고 상기 선별된 일부 특성에 기초하여 복수의 클러스터를 형성할 수도 있다. 일부 실시 예들에서, 상기 일부 특성은 2개 또는 3개일 수도 있다. The state analysis module 260 may select some characteristics from the characteristic set and form a plurality of clusters based on the selected characteristics. In some embodiments, some of the characteristics may be two or three.
전술한 바와 같이 사용자의 특성은 벡터 형태로 표현 가능하다. 상기 특성 세트 내 각 사용자의 특성은 세트 내 전체 항목을 벡터의 전체 차원으로 갖는 벡터 형태로 표현될 수도 있다. 그러면, 2개의 특성을 선별하는 것은 복수의 차원의 벡터를 2개의 차원의 벡터로 축소하는 것일 수도 있다. As described above, user characteristics can be expressed in vector form. The characteristics of each user in the characteristic set may be expressed in the form of a vector with all items in the set as the overall dimension of the vector. Then, selecting two features may mean reducing a multi-dimensional vector to a two-dimensional vector.
상기 상태 분석 모듈(260)은 PCA(Principal Components Analysis), 또는 기타 차원 축소 알고리즘을 통해 일부(예컨대, 2개)의 특성을 선별하거나, 또는 사용자의 입력에 의해 일부(예컨대, 2개)의 특성을 선별할 수도 있다. The state analysis module 260 selects some (e.g., two) characteristics through PCA (Principal Components Analysis) or other dimensionality reduction algorithm, or selects some (e.g., two) characteristics by user input. You can also select.
상기 상태 분석 모듈(260)은 선별된 일부(예컨대, 2개)의 특성에 기초하여 복수의 사용자를 복수의 사용자 클러스터로 클러스터링할 수도 있다. The state analysis module 260 may cluster a plurality of users into a plurality of user clusters based on some (eg, two) selected characteristics.
예를 들어, 상기 상태 분석 모듈(260)은 DBSCAN(Density-Based Spatial Clustering of Applications with Noise) 또는 기타 클러스터 형성 알고리즘을 이용하여 클러스터를 형성할 수도 있다. DBSCAN은 밀도 기반의 클러스터링 방법으로써, 기준 반경(Epsilon) 및 클러스터 내 최소 벡터 개수에 기초하여 클러스터링하는 방식이다. For example, the state analysis module 260 may form a cluster using DBSCAN (Density-Based Spatial Clustering of Applications with Noise) or another cluster formation algorithm. DBSCAN is a density-based clustering method that clusters based on the reference radius (Epsilon) and the minimum number of vectors in the cluster.
일부 실시 예들에서, 상기 상태 분석 모듈(260)은 클러스터 형성 알고리즘을 통해 2개 이상의 클러스터를 형성하고, 형성된 클러스터에 속하지 않는 나머지 사용자가 존재할 경우, 상기 나머지 사용자가 속하는 기타 클러스터를 추가로 형성할 수도 있다. In some embodiments, the state analysis module 260 forms two or more clusters through a cluster formation algorithm, and if there are remaining users who do not belong to the formed cluster, it may additionally form other clusters to which the remaining users belong. there is.
상기 상태 분석 모듈(260)은 클러스터 내 개별 사용자의 특성, 지수 점수, 연관 데이터 중 적어도 일부에 기초하여 클러스터 내 사용자들 간의 공통성을 추출할 수도 있다. 상기 공통성은 클러스터 내 개별 사용자의 공통된 속성을 지칭하는 것이다. 동일한 클러스터 내 사용자는 공통성의 속성 값에는 편차가 있을 수 있으나, 해당 속성을 서로 공유한다. The state analysis module 260 may extract commonalities between users in a cluster based on at least some of the characteristics, index scores, and related data of individual users in the cluster. The commonality refers to common attributes of individual users in the cluster. Users within the same cluster may have differences in commonality attribute values, but share the attributes with each other.
상기 공통성은 사용자의 특성에 대응하거나, 또는 연관 데이터 내 항목에 대응할 수도 있다. The commonality may correspond to user characteristics, or may correspond to items in related data.
도 3은, 본 출원의 일 실시 예에 따른, 클러스터링을 통해 사용자의 상태를 분석하는 과정의 개략도이다. Figure 3 is a schematic diagram of a process for analyzing a user's state through clustering, according to an embodiment of the present application.
도 3을 참조하면, 사용자별 분석 데이터는 PCA를 통해 선별된 2개의 특성에 대응한 2차원 벡터로 표현될 수도 있다. 상태 분석 모듈(260)은 형성된 클러스터에 속한 사용자의 연관 데이터에 기초하여 동일한 클러스터에 속한 사용자들의 공통점으로서 연관 데이터 내 나이 정보 항목인 "성인", "고등학생", "중학생 이하"를 추출할 수도 있다. Referring to FIG. 3, analysis data for each user may be expressed as a two-dimensional vector corresponding to two characteristics selected through PCA. Based on the related data of users belonging to the formed cluster, the state analysis module 260 may extract age information items such as “adult,” “high school student,” and “middle school student or younger” in the related data as common features of users belonging to the same cluster. .
또한, 상기 상태 분석 모듈(260)은 형성된 3개의 클러스터에 속하지 않는 사용자로 이루어진 기타 클러스터를 형성하고, 다른 클러스터들과 달리, 상기 기타 클러스터에 속한 사용자들은 나이 정보 측면에서 경향을 정의할 수 없다는 것을 상기 기타 클러스터의 공통성으로 추출할 수도 있다. In addition, the status analysis module 260 forms other clusters composed of users who do not belong to the three formed clusters, and unlike other clusters, users belonging to the other clusters cannot define trends in terms of age information. It can also be extracted based on the commonality of the other clusters.
상기 상태 분석 모듈(260)은 형성된 클러스터에 속하는 사용자들 간의 유사성 또는 연결성을 산출하도록 더 구성될 수도 있다. 상기 유사성 또는 연결성은 사용자의 특성에 포함된 텍스트 종류에 대한 지수 점수에 기초하여 산출될 수도 있다. The state analysis module 260 may be further configured to calculate similarity or connectivity between users belonging to the formed cluster. The similarity or connectivity may be calculated based on an index score for the text type included in the user's characteristics.
일부 실시 예들에서, 상기 상태 분석 모듈(260)은 동일한 클러스터에 속한 사용자에 네트워크 분석 알고리즘을 적용하여 동일한 클러스터에 속한 사용자 간의 유사성 또는 연결성을 산출할 수도 있다. 여기서, 사용자는 노드로 취급된다. 상기 유사성 또는 연결성은 형성된 복수의 클러스터 중 적어도 일부에 대해 산출된다. In some embodiments, the state analysis module 260 may apply a network analysis algorithm to users belonging to the same cluster to calculate similarity or connectivity between users belonging to the same cluster. Here, users are treated as nodes. The similarity or connectivity is calculated for at least some of the plurality of clusters formed.
도 4는, 도 3의 일부 클러스터에 속한 사용자 간의 유사성을 산출한 도면이다. Figure 4 is a diagram calculating similarity between users belonging to some clusters in Figure 3.
도 4에서 영역 내부 실선은 중학생 이하의 클러스터 영역의 경계를 가리키는 것이다. 도 4에서 영역 내부 점선은 경계 클러스터 영역의 경계를 가리키는 것이다. In Figure 4, the solid line inside the area indicates the boundary of the cluster area for middle school students and younger. In Figure 4, the dotted line inside the area indicates the boundary of the border cluster area.
도 4를 참조하면, 상기 상태 분석 모듈(260)은 동일한 클러스터에 속하는 사용자의 특성에 포함된 텍스트 종류 중 2개 이상의 지수 점수를 선별하고 선별된 2개 이상의 지수 점수 각각에 대해서 해당 텍스트 종류에 대한 지수 점수로 표현되는 각 클러스터 내 사용자들의 유사성을 각각 산출하는 것일 수도 있다.Referring to FIG. 4, the state analysis module 260 selects two or more index scores among text types included in the characteristics of users belonging to the same cluster and provides an index score for each of the selected two or more index scores for the corresponding text type. It may be to calculate the similarity of users within each cluster, expressed as an index score.
일부 실시 예들에서, 상기 유사성은 유사성 분포 형태로 산출될 수도 있다. 상기 유사성 분포 형태는, 도 4에 도시된 것처럼 동일 또는 유사한 지수 점수를 갖는 사용자의 수(count)를 포함할 수도 있다. 여기서, 유사한 지수 점수인지 여부는 유사성 분포가 표현되는 평면의 축 단위 스케일(예컨대, 도 4의 x축 단위)에 기초한다. In some embodiments, the similarity may be calculated in the form of a similarity distribution. The similarity distribution form may include the number (count) of users with the same or similar index scores as shown in FIG. 4. Here, whether the index score is similar is based on the axis unit scale of the plane in which the similarity distribution is expressed (eg, x-axis unit in FIG. 4).
예를 들어, 상태 분석 모듈(260)은 도 3에서 형성된 클러스터 중 성인 클러스터를 제외한 나머지 클러스터, 즉 고등학생 클러스터의 사용자, 중학생 이하 클러스터의 사용자, 기타 클러스터 각각에 대해서, 동일한 클러스터에 속하는 사용자의 특성에 포함된 텍스트 종류 중 이모티콘 표현에 대한 지수 점수(index_emo), 시간 표현에 대한 지수 점수(index_time), 정치적 발언에 대한 지수 점수(index_pol), 혐오 표현에 대한 지수 점수(index_hate)에 기초하여 텍스트 종류에 대한 지수 점수별로 각 클러스터 내 사용자들의 유사성을 산출할 수도 있다.For example, the state analysis module 260 determines the characteristics of users belonging to the same cluster for each of the remaining clusters except the adult cluster among the clusters formed in FIG. 3, that is, users in the high school student cluster, users in the middle school student cluster or younger, and other clusters. Among the included text types, the text type is classified based on the index score for emoticon expressions (index_emo), the index score for time expressions (index_time), the index score for political remarks (index_pol), and the index score for hate speech (index_hate). The similarity of users within each cluster can also be calculated for each index score.
도 5는, 도 4의 클러스터 내 사용자 간의 연결성을 추출한 도면이다. Figure 5 is a diagram extracting connectivity between users within the cluster of Figure 4.
도 5를 참조하면, 상기 상태 분석 모듈(260)은 유사성을 산출하는데 이용된 텍스트 종류에 대한 지수 점수 중 2개 이상의 텍스트 종류에 대한 지수 점수를 선별하고, 선별된 텍스트 종류에 대한 지수 점수에 기초한 유사성 분포에 기초하여 각 클러스터 내 사용자들 간의 연결성을 산출할 수도 있다. Referring to FIG. 5, the state analysis module 260 selects index scores for two or more text types among the index scores for text types used to calculate similarity, and calculates the index score based on the index scores for the selected text types. The connectivity between users within each cluster can also be calculated based on the similarity distribution.
상기 연결성은 연결성 분포 형태로 산출될 수도 있다. 상기 연결성 분포 형태는 선별된 지수 점수의 개수에 따라서 2차원 또는 3차원 분포로 구현되며, 각 축은 선별된 지수 점수의 사용자의 수에 각각 대응한다. 상기 연결성 분포 상에서 각 좌표 값은 유사성 분포에서 좌표 값으로 사용된, 각 축에 대응한 지수 점수가 동일 또는 유사한 사용자의 수(count)이다. 이 좌표 값은 도 4의 유사성 분포로부터 획득될 수도 있다. The connectivity may be calculated in the form of a connectivity distribution. The connectivity distribution form is implemented as a two-dimensional or three-dimensional distribution depending on the number of selected index scores, and each axis corresponds to the number of users with the selected index score. Each coordinate value in the connectivity distribution is the number (count) of users with the same or similar index score corresponding to each axis, which is used as a coordinate value in the similarity distribution. This coordinate value may be obtained from the similarity distribution in Figure 4.
예를 들어, 상태 분석 모듈(260)은, 도 4에 도시된 클러스터 각각에 대해, 이모티콘 표현에 대한 지수 점수(index_emo), 시간 표현에 대한 지수 점수(index_time), 정치적 발언에 대한 지수 점수(index_pol), 혐오 표현에 대한 지수 점수(index_hate) 중 임의의 2개의 지수 점수를 선별하고, 선별된 각각의 지수 점수에 기초한 유사성 분포의 y축 좌표(즉, 사용자 수)에 기초하여 연결성 분포를 산출할 수도 있다. For example, the state analysis module 260 may generate, for each cluster shown in FIG. 4, an index score for emoticon expressions (index_emo), an index score for time expressions (index_time), and an index score for political remarks (index_pol ), select two random index scores among the index scores for hate expression (index_hate), and calculate the connectivity distribution based on the y-axis coordinate (i.e., number of users) of the similarity distribution based on each selected index score. It may be possible.
상기 상태 분석 모듈(260)은 사용자의 추출된 특성, 특성에 대한 지수 점수, 사용자의 공통성, 유사성, 연결성 중 일부 또는 전부로 표현된 사용자의 상태를 생성할 수도 있다. 이 표현 결과가 사용자의 상태 분석 결과로 산출될 수도 있다. The state analysis module 260 may generate the user's state expressed in some or all of the user's extracted characteristics, index scores for the characteristics, commonality, similarity, and connectivity of the users. This expression result may be calculated as a result of analyzing the user's state.
상기 특성 분석 모듈(240), 지수 분석 모듈(250), 상태 분석 모듈(260)의 분석 결과 중 일부 또는 전부는 분석 DB(270)에 저장될 수도 있다. Some or all of the analysis results of the characteristic analysis module 240, index analysis module 250, and state analysis module 260 may be stored in the analysis DB 270.
상기 보고서 생성 모듈(280)은 추출된 특성, 산출된 지수 점수, 및 상기 사용자의 상태 중 하나 이상의 분석 결과를 포함한 분석 보고서를 생성하고, 이를 사용자의 전자 장치(100)로 전송하여 분석 결과를 사용자에게 제공할 수도 있다. The report generation module 280 generates an analysis report including analysis results of one or more of extracted characteristics, calculated index scores, and the user's status, and transmits it to the user's electronic device 100 to transmit the analysis results to the user. It may also be provided to.
일부 실시 예들에서, 상기 보고서 생성 모듈(280)은 딥러닝 분석 결과를 이론적으로 뒷받침할 수 있는 다차원 분석 결과를 포함한 분석 보고서를 생성할 수도 있다. In some embodiments, the report generation module 280 may generate an analysis report including multidimensional analysis results that can theoretically support the deep learning analysis results.
예를 들어, 상기 보고서 생성 모듈(280)은 사용자의 스타일, 행동, 관심사, 인지적 과정, 사회적 과정, 감정 상태 등과 같은 분석 목적과 사용자의 상태 사이의 관계를 분석한 결과를 생성하고 이를 포함할 수도 있다. For example, the report generation module 280 may generate and include a result of analyzing the relationship between the user's status and analysis purposes such as the user's style, behavior, interests, cognitive process, social process, emotional state, etc. It may be possible.
이에 대해서는 아래의 도 7, 도 8 등을 참조해 보다 상세히 서술한다. This will be described in more detail with reference to Figures 7 and 8 below.
상기 메타버스 관리 모듈(290)은 분석 결과에 기초하여 특정 대상 사용자 그룹을 집중적으로 관리하거나, 또는 특정 대상 사용자에게 맞춤형 서비스를 제공하는 메타버스 관리 동작을 수행할 수도 있다. The metaverse management module 290 may intensively manage a specific target user group based on the analysis results, or may perform a metaverse management operation to provide a customized service to a specific target user.
상기 메타버스 관리 모듈(290)은 산출된 사용자의 상태에 기초하여 해당 사용자가 현재 어떤 감정을 느끼고 있고, 어떤 상황인지에 따라 대응한 관리 동작을 수행하여 메타버스 내 사용자의 상태에 개입할 수도 있다. The metaverse management module 290 may intervene in the user's status in the metaverse by performing management operations corresponding to what emotions the user is currently feeling and what the situation is based on the calculated user's status. .
일부 실시 예들에서, 상기 메타버스 관리 모듈(290)은 사용자의 특성에 기초하여 클러스터가 형성된 경우, 동일한 클러스터에 속한 사용자들끼리 소개하는 매칭 동작을 수행할 수도 있다. 상기 매칭 동작을 통해 사용자는 메타버스 내에서 보다 쉽게 소속감을 형성할 수도 있다. In some embodiments, when a cluster is formed based on user characteristics, the metaverse management module 290 may perform a matching operation to introduce users belonging to the same cluster. Through the matching operation, users can more easily form a sense of belonging within the metaverse.
또한, 일부 실시 예들에서, 상기 메타버스 관리 모듈(290)은 사용자의 특성에 기초하여 클러스터가 형성된 경우, 동일한 클러스터에 속한 사용자를 위한 전용 공간을 메타버스 상에 생성하고, 상기 동일한 클러스터에 속한 사용자에게 상기 전용 공간에 방문할 수 있는 권한을 부여할 수도 있다. Additionally, in some embodiments, when a cluster is formed based on user characteristics, the metaverse management module 290 creates a dedicated space on the metaverse for users belonging to the same cluster, and the metaverse management module 290 creates a dedicated space on the metaverse for users belonging to the same cluster. You may also grant permission to visit the dedicated space.
상기 메타버스 관리 모듈(290)은 전용 공간에 마케팅 컨텐츠를 설치할 수도 있다. 상기 마케팅 컨텐츠는 상기 전용 공간의 클러스터에 맞춤화된 마케팅 컨텐츠일 수도 있다. The metaverse management module 290 can also install marketing content in a dedicated space. The marketing content may be marketing content customized to the cluster of the dedicated space.
상기 마케팅 컨텐츠는 마케팅 대상에 대한 설명 정보, 마케팅 대상에 대한 광고를 포함한다. The marketing content includes descriptive information about the marketing target and advertisements about the marketing target.
이와 같이, 상기 메타버스 내 사용자의 상태를 분석하는 시스템(1)은 클러스터로 구분된 특정 대상 사용자에게 전용 공간을 통해 차별화된 마케팅을 제공할 수도 있다. In this way, the system 1 for analyzing the status of users in the metaverse may provide differentiated marketing to specific target users divided into clusters through a dedicated space.
그 결과, 상기 메타버스 내 사용자의 상태를 분석하는 시스템(1)은 현재 메타버스에서 어떤 대상 집단이 더 많은 활동을 하고 있는 지, 타인에게 더 큰 영향을 미치는 지, 소비 비용이 얼마나 되는 지를 보다 쉽게 확인할 수 있고, 결국 효과적인 마케팅이 가능하다. As a result, the system (1), which analyzes the status of users in the metaverse, determines which target group is currently doing more activities in the metaverse, which group has a greater influence on others, and how much the consumption costs are. It can be easily verified, and ultimately effective marketing is possible.
또한, 일부 실시 예들에서, 상기 메타버스 관리 모듈(290)은 사용자의 추출된 특성, 산출된 지수 점수, 및 상기 사용자의 상태 중 하나 이상의 분석 결과에 기초하여 사용자의 추출된 특성, 지수 점수 또는 상태가 상대적으로 반대 편으로 전환되도록 메타버스 내 사용자에게 메시지를 제공하거나, 또는 메타버스 내 사용자의 주변 환경을 제어할 수도 있다. Additionally, in some embodiments, the metaverse management module 290 may operate on the user's extracted characteristics, index score, or status based on an analysis result of one or more of the user's extracted characteristics, calculated index score, and status of the user. You can provide a message to the user in the metaverse to switch to the opposite side, or you can control the user's surroundings in the metaverse.
상기 메타버스 관리 모듈(290)은 우울감을 많이 표출하거나, 자기파괴적인 언어 사용량이 많거나 사용 속도가 증가하는 사용자에게 기분을 전환하기 위한 메시지를 전송하거나 또는 상태를 다른 사용자에게 공유하는 메시지를 전송함으로써, 우울감에 대응한 특성(예컨대, 부정적인 감정) 또는 자기파괴적 언어 사용량에 대응한 특성(예컨대, 혐오 발언)을 상대적으로 반대 편의 특성(예컨대, 중립, 긍정적 감정, 또는 혐오 발언이 아닌 것)으로 전환할 수도 있다. The metaverse management module 290 sends a message to change the mood to a user who expresses a lot of depression, uses a lot of self-destructive language or increases the speed of use, or sends a message to share the status with other users. By doing so, traits corresponding to depression (e.g., negative emotions) or traits corresponding to self-destructive language usage (e.g., hate speech) are transformed into relatively opposite traits (e.g., neutrality, positive emotions, or non-hate speech). You can also switch.
또한, 상기 메타버스 관리 모듈(290)은 상기 클러스터에 속한 사용자에게 상기 클러스터에 대응한 언어 모델을 이용하여 메타버스 내 메시지를 제공할 수도 있다. Additionally, the metaverse management module 290 may provide messages in the metaverse to users belonging to the cluster using a language model corresponding to the cluster.
상기 언어 모델은 BART, Seq2seq, 또는 기타 챗봇용 기계학습 모델일 수도 있다. 상기 언어 모델은 메타버스 내 NPC 아바타에 적용되어 해당 NPC 아바타가 사용자와 대화하는데 이용될 수도 있다. The language model may be BART, Seq2seq, or other machine learning model for chatbots. The language model may be applied to an NPC avatar in the metaverse and used by the NPC avatar to communicate with the user.
상기 클러스터에 대응한 언어 모델은 메타버스에서 상기 클러스터에 속한 사용자의 포착된 텍스트 또는 음성 데이터를 임베딩 처리한 트래이닝 데이터를 이용하여 학습된 것일 수도 있다. The language model corresponding to the cluster may be learned using training data obtained by embedding captured text or voice data of users belonging to the cluster in the metaverse.
상기 특성 인식 모델을 참고하면, 상기 클러스터에 대응한 언어 모델은 동일한 클러스터에 속한 사용자들로부터 생성된, 클러스터 맞춤형 제2 트래이닝 데이터 세트를 이용하여 학습된 것일 수도 있다. Referring to the feature recognition model, the language model corresponding to the cluster may be learned using a cluster-customized second training data set generated from users belonging to the same cluster.
이와 같이 상기 클러스터에 대응한 언어 모델을 이용하여 메타버스 내 메시지를 사용자에게 맞춤형으로 제공하는 것에 대해서는 아래의 도 9, 도 10을 참조해 보다 상세히 서술한다. In this way, providing customized messages in the metaverse to users using the language model corresponding to the cluster will be described in more detail with reference to FIGS. 9 and 10 below.
상기 메타버스 관리 모듈(290)은 상태 분석 모듈(260)에 의해 상태 분석되지 않은 사용자에게는 초기 설정된 스타일로 메시지를 제공한다. The metaverse management module 290 provides a message in an initially set style to users whose status has not been analyzed by the status analysis module 260.
또한, 상기 메타버스 관리 모듈(290)은 상태 분석 모듈(260)에 의해 상태 분석된 사용자에 대해서는 사용자가 속한 클러스터로부터 생성된 트래이닝 데이터 세트를 이용하여 학습된 언어 모델을 이용하여 NPC 아바타와 사용자가 대화를 수행할 수도 있다. In addition, the metaverse management module 290 uses a language model learned using a training data set generated from the cluster to which the user belongs, for the user whose state has been analyzed by the state analysis module 260, to identify the NPC avatar and the user. You can also conduct conversations.
상기 메타버스 내 사용자의 상태를 분석하는 시스템(1)이 다른 구성요소를 포함할 수도 있다는 것이 통상의 기술자에게 명백할 것이다. 예를 들어, 서버는 데이터 엔트리를 위한 입력 장치, 및 인쇄 또는 다른 데이터 표시를 위한 출력 장치를 포함하는, 본 명세서에 서술된 동작에 필요한 다른 하드웨어 요소를 포함할 수도 있다. 또한, 시스템은 서버와 외부 장치(예를 들어, 사용자 단말, 또는 외부 데이터베이스 등) 사이를 연결하는 네트워크, 네트워크 인터페이스 및 프로토콜 등을 더 포함할 수 있다. It will be clear to those skilled in the art that the system 1 for analyzing the user's status in the metaverse may include other components. For example, a server may include other hardware elements necessary for the operations described herein, including input devices for data entry and output devices for printing or other data presentation. Additionally, the system may further include a network, network interface, and protocol connecting the server and external devices (eg, user terminals, external databases, etc.).
도 6은, 본 출원의 다른 일 측면에 따른, 메타버스 내 사용자의 상태를 분석하는 방법의 흐름도이다. Figure 6 is a flowchart of a method for analyzing the status of a user in the metaverse according to another aspect of the present application.
도 6의 메타버스 내 사용자의 상태를 분석하는 방법은 도 2의 서비스 서버와 같은 하나 이상의 컴퓨팅 장치에 의해 수행될 수도 있다. The method of analyzing the user's status in the metaverse of FIG. 6 may be performed by one or more computing devices, such as the service server of FIG. 2.
도 6을 참조하면, 상기 메타버스 내 사용자의 상태를 분석하는 방법은 컴퓨팅 장치에서 메타버스에 접속한 복수의 사용자 각각에 대해, 메타버스에서 사용자의 텍스트 또는 음성 말뭉치(corpus) 데이터를 포착하는 단계(S610); 및 상기 사용자의 텍스트 또는 음성 말뭉치 데이터를 임베딩 처리하여 각 단위 텍스트에 대응한 벡터 데이터로 변환하는 단계(S620)를 포함한다. 여기서 말뭉치는 하나 이상의 단위 텍스트로 이루어진다. Referring to FIG. 6, the method of analyzing the status of a user in the metaverse includes capturing the user's text or voice corpus data in the metaverse for each of a plurality of users accessing the metaverse from a computing device. (S610); And a step of embedding the user's text or voice corpus data and converting it into vector data corresponding to each unit text (S620). Here, the corpus consists of one or more unit texts.
일부 실시 예들에서, 상기 단계(S620)는, 음성 말뭉치 데이터의 경우, 변환 이전에 상기 컴퓨팅 장치에 미리 저장된 음성 변환 유닛을 이용하여 포착된 음성 데이터를 텍스트 데이터로 변환하는 단계를 포함할 수도 있다. In some embodiments, in the case of voice corpus data, step S620 may include converting the captured voice data into text data using a voice conversion unit pre-stored in the computing device before conversion.
또한, 상기 단계(S620)는, 상기 컴퓨팅 장치에 미리 저장된 자연어 처리 모델을 이용하여 포착된 텍스트 데이터 또는 변환된 텍스트 데이터를 복수의 토큰으로 토큰화 처리하는 단계, 및 상기 복수의 토큰을 임베딩 처리하여 벡터 데이터를 산출하는 단계를 포함할 수도 있다. In addition, the step (S620) includes tokenizing the captured text data or converted text data into a plurality of tokens using a natural language processing model pre-stored in the computing device, and processing the plurality of tokens to embed them. It may also include a step of calculating vector data.
또한, 상기 단계(S620)는, 토큰화 이전에 말뭉치(corpus)에서 미리 설정된 특수 기호, 불용어(stopword) 텍스트를 추출하여 제거하는 단계; 상기 말뭉치를 정규화 처리하는 단계; 임베딩 처리 이전에 어간 및/또는 표제어를 추출하여 복수의 토큰 중 적어도 일부 토큰과 함께 임베딩 처리하는 단계; 및 임베딩 이후 벡터가 정의되어 있지 않은 미등록 텍스트를 추출하여 등록 텍스트로 신규 등록하는 단계 중 하나 이상의 단계를 더 포함할 수도 있다. In addition, the step (S620) includes extracting and removing preset special symbols and stopword texts from the corpus before tokenization; normalizing the corpus; Extracting stems and/or lemmas before embedding processing and embedding them together with at least some tokens among a plurality of tokens; and extracting unregistered text for which no vector is defined after embedding and newly registering it as registered text.
이러한 단계(S620)에 대해서는 전처리 모듈(220)을 참조하여 위에서 서술하였는 바, 자세한 설명은 생략한다. This step (S620) has been described above with reference to the preprocessing module 220, and detailed description will be omitted.
또한, 상기 메타버스 내 사용자의 상태를 분석하는 방법은 각 단위 텍스트에 대응한 벡터 데이터로부터 상기 사용자의 특성을 추출하는 단계(S640)를 포함한다. Additionally, the method of analyzing the user's status within the metaverse includes extracting the user's characteristics from vector data corresponding to each unit text (S640).
상기 단계(S640)는 각각의 단위 텍스트에 대응한 벡터 데이터를 상기 특성 인식 모델에 입력하는 단계; 상기 특성 인식 모델에 대해 미리 설정된 복수의 종류 각각에 상기 대응한 단위 텍스트가 분류될 확률 값들을 각각 산출하는 단계; 및 결정된 텍스트 종류를 포함한 특성을 추출하기 위해, 각 종류별로 산출된 확률 값에 기초하여 단위 텍스트의 텍스트 종류를 결정하는 단계를 포함할 수도 있다. The step (S640) includes inputting vector data corresponding to each unit text into the feature recognition model; calculating probability values that the corresponding unit text will be classified into each of a plurality of types preset for the feature recognition model; and determining the text type of the unit text based on the probability value calculated for each type in order to extract characteristics including the determined text type.
일부 실시 예들에서, 상기 단계(S640)에서 메타버스에서 자연어 데이터를 포착하는 전/후에 따라 상이한 특성 인식 모델을 이용하여 단위 텍스트의 텍스트 종류를 결정하는 것일 수도 있다. In some embodiments, in step S640, the text type of the unit text may be determined using different feature recognition models depending on whether or not natural language data is captured in the metaverse.
메타버스에서 자연어 데이터를 포착하기 이전에는 제1 트래이닝 데이터 세트를 이용하여 학습된 특성 인식 모델을 이용하여 단위 텍스트의 텍스트 종류를 결정하는 것일 수도 있다(S640). Before capturing natural language data in the metaverse, the text type of the unit text may be determined using a feature recognition model learned using the first training data set (S640).
반면, 메타버스에서 자연어 데이터를 포착한 이후에는 제2 트래이닝 데이터 세트를 이용하여 학습된 특성 인식 모델을 이용하여 단위 텍스트의 텍스트 종류를 결정하는 것일 수도 있다(S640). On the other hand, after capturing natural language data in the metaverse, the text type of the unit text may be determined using a feature recognition model learned using the second training data set (S640).
일부 실시 예들에서, 상기 단계(S640)는, 하위 종류를 갖지 않는 텍스트 종류에 대해서는 해당 텍스트 종류에 분류되는 지 여부를 결정하기 위한 이진 분류 동작을 수행하는 단계; 및 하위 종류를 갖는 텍스트 종류에 대해서는 해당 텍스트 종류의 2이상의 하위 종류 중 어느 하나의 하위 종류에 분류되는 것을 결정하기 위한 다중 분류 동작을 수행하는 단계를 포함할 수도 있다. In some embodiments, the step (S640) includes performing a binary classification operation to determine whether a text type that does not have a sub-type is classified into the corresponding text type; And, for a text type having a sub-type, a step of performing a multi-classification operation to determine whether the text type is classified into one of two or more sub-types of the text type.
상기 단계(S640)에서 특성은 하나 이상의 항목을 포함할 수도 있다. 상기 특성은 벡터 형태로 표현되는, 특성 벡터로 추출될 수도 있다(S640). In step S640, the characteristic may include one or more items. The characteristics may be extracted as a characteristic vector, expressed in vector form (S640).
이러한 단계(S640)에 대해서는 특성 분석 모듈(240)을 참조하여 위에서 서술하였는 바, 자세한 설명은 생략한다. This step (S640) has been described above with reference to the characteristic analysis module 240, and detailed description will be omitted.
또한, 상기 메타버스 내 사용자의 상태를 분석하는 방법은 특성이 추출되는 과정에서 산출된 연산 값에 기초하여 개별 사용자별로 각 특성에 대한 지수 점수를 산출하는 단계(S650)를 포함한다. In addition, the method of analyzing the status of a user in the metaverse includes calculating an index score for each characteristic for each individual user based on the calculation value calculated in the process of extracting the characteristic (S650).
상기 단계(S650)는 상기 사용자의 단위 텍스트 각각의 종류가 추출되는 과정에서 산출된 연산 값에 기초하여 사용자의 특성에 포함된 텍스트 종류에 대한 지수 점수를 각각 산출하는 것일 수도 있다. 상기 연산 값은 특성 인식 모델의 분류 동작 도중에 산출된 확률 값을 포함한다. 상기 확률 값은 단위 텍스트가 결정된 텍스트 종류로 분류될 확률 값 및 결정되지 않은 다른 텍스트 종류로 분류될 확률 값을 포함한다.The step (S650) may be to calculate index scores for each text type included in the user's characteristics based on the calculation value calculated in the process of extracting each type of unit text of the user. The calculation value includes a probability value calculated during the classification operation of the feature recognition model. The probability value includes a probability value that the unit text will be classified as a determined text type and a probability value that the unit text will be classified as another undetermined text type.
일부 실시 예들에서, 상기 단계(S650)는, 단위 텍스트의 텍스트 종류가 이진 분류를 통해 결정된 경우, 해당 사용자의 텍스트 또는 음성 말뭉치에 포함된 단위 텍스트의 전체 수, 각각의 단위 텍스트가 특성 인식 모델의 복수의 텍스트 종류 중 특성에 포함된 텍스트 종류로 분류될 확률 및 동일한 단위 텍스트가 상기 특성에 포함된 텍스트 종류로 분류되지 않을 확률에 기초하여, 사용자의 특성에 포함된 텍스트 종류에 대한 지수 점수를 산출하는 것일 수도 있다. 결정된 텍스트 종류가 하위 종류가 없는 상위 종류일 경우 이진 분류로 결정된 것이다. In some embodiments, in step S650, when the text type of the unit text is determined through binary classification, the total number of unit texts included in the corresponding user's text or voice corpus, and each unit text is included in the feature recognition model. Calculate an index score for the text type included in the user's characteristic based on the probability of being classified as the text type included in the characteristic among a plurality of text types and the probability that the same unit text will not be classified as the text type included in the characteristic. It may be that you do it. If the determined text type is a higher-level type without lower-level types, it is determined as a binary classification.
또한, 일부 실시 예들에서, 상기 단계(S650)는 사용자의 텍스트 또는 음성 말뭉치에 포함된 단위 텍스트의 전체 수, 각 단위 텍스트별로 산출된, 해당 단위 텍스트가 특성에 포함된 텍스트 종류로 분류될 각각의 확률 값의 합(sum) 및 해당 텍스트가 상기 특성에 포함된 텍스트 종류로 분류되지 않을 확률 값의 각 단위 텍스트별 합에 기초하여 사용자의 특성에 포함된 텍스트 종류에 대한 지수 점수를 산출하는 것일 수도 있다. Additionally, in some embodiments, the step (S650) includes the total number of unit texts included in the user's text or voice corpus, calculated for each unit text, and each unit text to be classified into the text type included in the characteristic. An index score for the text type included in the user's characteristic may be calculated based on the sum of the probability values and the sum for each unit text of the probability value that the corresponding text is not classified as the text type included in the characteristic. there is.
다른 일부 실시 예들에서, 상기 단계(S650)는, 단위 텍스트의 텍스트 종류가 다중 분류를 통해 결정된 경우, 해당 사용자의 텍스트 또는 음성 말뭉치에 포함된 단위 텍스트의 전체 수, 각각의 단위 텍스트가 특성 인식 모델 내 서브 모델의 복수의 텍스트 종류 중 특성에 포함된 텍스트 종류로 분류될 확률 및 동일한 단위 텍스트가 서브 모델의 복수의 텍스트 종류 중 나머지 텍스트 종류 각각으로 분류될 확률들에 기초하여, 사용자의 특성에 포함된 텍스트 종류에 대한 지수 점수를 산출하는 것일 수도 있다. 결정된 텍스트 종류가 하위 종류일 경우 다중 분류로 결정된 것일 수도 있다.In some other embodiments, the step (S650) is performed when the text type of the unit text is determined through multiple classification, the total number of unit texts included in the text or voice corpus of the user, and each unit text is calculated using a feature recognition model. Based on the probability of being classified as a text type included in the characteristics among the plurality of text types of my sub model and the probabilities of the same unit text being classified into each of the remaining text types among the plurality of text types of the sub model, included in the user's characteristics It may be to calculate an index score for the type of text used. If the determined text type is a subtype, it may be determined as a multiple classification.
또한, 다른 일부 실시 예들에서, 상기 단계(S650)는, 사용자의 텍스트 또는 음성 말뭉치에 포함된 단위 텍스트의 전체 수, 각 단위 텍스트별로 산출된, 해당 단위 텍스트가 서브 모델의 복수의 텍스트 종류 중 특성에 포함된 텍스트 종류로 분류될 각각의 확률 값의 합(sum) 및 서브 모델의 복수의 텍스트 종류 중 나머지 텍스트 종류 각각으로 분류될 확률 값 중 동일한 텍스트 종류로 분류될 확률 값의 합들에 기초하여 사용자의 특성에 포함된 텍스트 종류에 대한 지수 점수를 산출하는 것일 수도 있다. In addition, in some other embodiments, the step (S650) includes the total number of unit texts included in the user's text or voice corpus, the unit text calculated for each unit text, and the corresponding unit text characteristics among the plurality of text types of the sub model. Based on the sum of the probability values of each of the probability values to be classified as a text type included in the sub-model and the sum of the probability values of being classified as the same text type among the probability values of being classified as each of the remaining text types among the plurality of text types in the sub-model, the user It may be to calculate an index score for the text type included in the characteristics of .
이러한 단계(S650)에 대해서는 지수 분석 모듈(250)을 참조하여 위에서 서술하였는 바, 자세한 설명은 생략한다. This step (S650) has been described above with reference to the index analysis module 250, and detailed description will be omitted.
또한, 상기 메타버스 내 사용자의 상태를 분석하는 방법은 각 사용자별로 추출된 사용자의 특성 및 해당 특성에 대한 지수 점수 중 적어도 하나에 기초하여 각 사용자의 상태를 산출하는 단계(S660)를 포함한다. 상기 특성은 텍스트 종류를 포함하고, 상기 특성에 대한 지수 점수는 특성에 포함된 텍스트 종류에 대한 지수 점수를 포함한다. 상기 텍스트 종류는 하위 텍스트 종류일 수도 있다. Additionally, the method of analyzing the status of a user in the metaverse includes calculating the status of each user based on at least one of the user characteristics extracted for each user and the index score for the characteristic (S660). The feature includes a text type, and the index score for the feature includes an index score for the text type included in the feature. The text type may also be a subtext type.
상기 단계(S660)는, 복수의 사용자 각각에 대해 추출된 특성으로 이루어진 특성 세트를 형성하는 단계; 상기 특성 세트 내 각 사용자의 특성에 기초하여 복수의 클러스터를 형성하는 단계; 및 형성된 클러스터 내 개별 사용자의 특성, 지수 점수, 연관 데이터 중 적어도 하나에 기초하여 클러스터 내 사용자들 간의 공통성을 추출하는 단계를 포함한다. The step (S660) includes forming a characteristic set consisting of characteristics extracted for each of a plurality of users; forming a plurality of clusters based on the characteristics of each user in the characteristic set; and extracting commonalities between users within a cluster based on at least one of characteristics, index scores, and related data of individual users within the formed cluster.
일부 실시 예들에서, 상기 클러스터를 형성하는 단계는, 특성 세트에서 일부 특성을 선별하는 단계; 및 상기 선별된 일부 특성에 기초하여 복수의 클러스터를 형성하는 단계를 포함할 수도 있다. In some embodiments, forming the cluster may include selecting some features from a feature set; And it may also include forming a plurality of clusters based on some of the selected characteristics.
또한, 일부 실시 예들에서, 상기 단계(S660)는, 형성된 클러스터에 속하는 사용자들 간의 유사성을 산출하는 단계;를 더 포함할 수도 있다. 또한, 일부 실시 예들에서, 상기 단계(S660)는 유사성 이후, 형성된 클러스터에 속하는 사용자들 간의 연결성을 산출하는 단계를 더 포함할 수도 있다. Additionally, in some embodiments, step S660 may further include calculating similarities between users belonging to the formed cluster. Additionally, in some embodiments, step S660 may further include calculating connectivity between users belonging to the formed cluster after similarity.
여기서, 유사성은 유사성 분포 형태로 산출될 수도 있다. 상기 단계(S660)에서 유사성을 산출하는 단계는, 동일한 클러스터에 속하는 사용자의 특성에 포함된 텍스트 종류 중 2개 이상의 지수 점수를 선별하고 선별된 2개 이상의 지수 점수 각각에 대해서 해당 텍스트 종류에 대한 지수 점수로 표현되는 각 클러스터 내 사용자들의 유사성을 각각 산출하는 것일 수도 있다. Here, similarity may be calculated in the form of a similarity distribution. The step of calculating similarity in the step (S660) involves selecting two or more index scores among text types included in the characteristics of users belonging to the same cluster, and calculating the index for the corresponding text type for each of the two or more selected index scores. It may be to calculate the similarity of users within each cluster, expressed as a score.
또한, 연결성은 연결성 분포 형태로 산출될 수도 있다. 상기 단계(S660)에서 연결성을 산출하는 단계는, 상기 유사성을 산출하는데 이용된 텍스트 종류에 대한 지수 점수 중 2개 또는 3개의 텍스트 종류에 대한 지수 점수를 선별하고, 선별된 텍스트 종류에 대한 지수 점수에 기초한 유사성 분포에 기초하여 각 클러스터 내 사용자들 간의 연결성을 산출하는 것일 수도 있다. Additionally, connectivity may be calculated in the form of a connectivity distribution. The step of calculating connectivity in the step (S660) involves selecting index scores for two or three text types among the index scores for text types used to calculate the similarity, and index scores for the selected text types. The connectivity between users within each cluster may be calculated based on the similarity distribution based on .
또한, 상기 단계(S660)는, 사용자의 추출된 특성, 특성에 대한 지수 점수, 사용자의 공통성, 유사성, 연결성 중 일부 또는 전부로 표현된 사용자의 상태를 생성할 수도 있다. In addition, the step (S660) may generate the user's status expressed in some or all of the user's extracted characteristics, index scores for the characteristics, commonality, similarity, and connectivity of the users.
이러한 단계(S660)에 대해서는 상태 분석 모듈(260)을 참조하여 위에서 서술하였는 바, 자세한 설명은 생략한다. This step (S660) has been described above with reference to the state analysis module 260, and detailed description will be omitted.
또한, 일부 실시 예들에서, 상기 메타버스 내 사용자의 상태를 분석하는 방법은 단계(S640)의 복수의 사용자의 특성, 단계(S650)의 복수의 사용자의 지수 점수 및 단계(S660)의 사용자의 상태 중 하나 이상의 분석 결과에 기초한 분석 보고서를 생성하는 단계(S680); 및/또는 분석 결과에 기초하여 특정 대상 사용자 그룹에게 맞춤형 정보를 제공하거나 맞춤형 제공 방식을 통해 메타버스 서비스를 제공하는 단계(S690)를 더 포함할 수도 있다. In addition, in some embodiments, the method of analyzing the status of the user in the metaverse includes the characteristics of the plurality of users in step S640, the index score of the plurality of users in step S650, and the status of the user in step S660. generating an analysis report based on one or more analysis results (S680); And/or it may further include providing customized information to a specific target user group based on the analysis results or providing the metaverse service through a customized provision method (S690).
상기 단계(S680)에서 보고서는 단계(S670)에서 형성된 특성 세트, 지수 세트에 기초할 수도 있다. The report in step S680 may be based on the characteristic set and index set formed in step S670.
상기 단계(S680)에서 메타버스에서 발생한 사용자의 자연어 패턴을 딥러닝 기술을 이용하여 분석하고, 분석된 결과를 이론적으로 뒷받침할 수 있는 다차원 분석 보고서를 생성할 수도 있다. In the above step (S680), the user's natural language patterns generated in the metaverse can be analyzed using deep learning technology, and a multidimensional analysis report that can theoretically support the analyzed results can be generated.
상기 분석 보고서는 새로운 연구를 뒷받침하는 자료로 활용되거나, 기존 연구를 보완하는 자료로 활용될 수도 있다. The above analysis report can be used as data to support new research or as data to supplement existing research.
도 7은 악성 댓글 사용자와 악성 댓글 대상 사용자 간의 관계의 개략도이고, 도 8은, 도 7에 대한 기존 연구를 새롭게 보완하는 분석 보고서의 개략도이다. Figure 7 is a schematic diagram of the relationship between malicious comment users and malicious comment target users, and Figure 8 is a schematic diagram of an analysis report that newly supplements the existing research on Figure 7.
도 7에서 사용자는 노드로 표현된다. 노드와 노드 사이를 연결하는 에지(edge)는 악성 댓글의 유무를 나타낸다. 도 7에 도시된 것처럼, 하나의 악성 댓글 사용자가 다수의 대상에게 악성 댓글을 전송하는 현상이 나타난다. In Figure 7, users are represented as nodes. The edges connecting nodes indicate the presence or absence of malicious comments. As shown in Figure 7, a phenomenon occurs where one malicious comment user transmits malicious comments to multiple targets.
도 7의 관계를 갖는 현상에 대해서 악성 댓글로 분류된 문장의 언어적 특징을 분류하고 확인할 수 있도록 시각화하는 기존 연구가 이미 진행되고 있다. Regarding the phenomenon having the relationship shown in Figure 7, existing research is already underway to visualize the linguistic features of sentences classified as malicious comments so that they can be classified and confirmed.
상기 메타법에 따르면 2차원 이상의 다차원 측면에서 사용자의 상태를 분석할 수 있다. 도 8과 같이 상기 단계(S660)에서 악성 댓글에 대응한 사용자의 상태는 일반 댓글보다 화를 나타낸 특성이 더 많고, 인지적 과정, 사회적 과정을 나타낸 특성이 적다는 것이 3차원으로 확인된다.According to the meta method, the user's status can be analyzed in two or more dimensions. As shown in Figure 8, it is confirmed in three dimensions that the state of the user responding to the malicious comment in the above step (S660) has more characteristics showing anger and less characteristics showing cognitive and social processes than normal comments.
일부 실시 예들에서, 상기 단계(S690)는, 사용자의 특성에 기초하여 클러스터가 형성된 경우, 동일한 클러스터에 속한 사용자들끼리 소개하는 단계를 포함한다. In some embodiments, step S690 includes introducing users belonging to the same cluster when a cluster is formed based on user characteristics.
또한, 상기 단계(S690)는, 사용자의 특성에 기초하여 클러스터가 형성된 경우, 동일한 클러스터에 속한 사용자를 위한 전용 공간을 메타버스 상에 생성하고, 상기 동일한 클러스터에 속한 사용자에게 상기 전용 공간에 방문할 수 있는 권한을 부여하는 단계; 및 상기 전용 공간에 상기 클러스터에 맞춤화된 마케팅 컨텐츠를 설치하는 단계를 포함할 수도 있다. In addition, in step S690, when a cluster is formed based on user characteristics, a dedicated space for users belonging to the same cluster is created on the metaverse, and users belonging to the same cluster are allowed to visit the dedicated space. granting permission to do so; And it may also include installing marketing content customized for the cluster in the dedicated space.
또한, 상기 단계(S690)는, 사용자의 추출된 특성, 산출된 지수 점수, 및 상기 사용자의 상태 중 하나 이상의 분석 결과에 기초하여 사용자의 추출된 특성, 지수 점수 또는 상태가 상대적으로 반대 편으로 전환되도록 메타버스 내 사용자에게 메시지를 제공하거나, 또는 메타버스 내 사용자의 주변 환경을 제어하는 단계를 포함할 수도 있다. In addition, in step S690, the user's extracted characteristics, index score, or state are relatively converted to the opposite side based on the analysis result of one or more of the user's extracted characteristics, calculated index score, and state. If possible, it may include providing a message to the user in the metaverse or controlling the user's surrounding environment in the metaverse.
또한, 상기 단계(S690)는 상기 클러스터에 속한 사용자에게 상기 클러스터에 대응한 언어 모델을 이용하여 메타버스 내 메시지를 제공하는 단계를 포함할 수도 있다. Additionally, the step (S690) may include providing a message in the metaverse to a user belonging to the cluster using a language model corresponding to the cluster.
상기 클러스터에 대응한 언어 모델은 메타버스에서 상기 클러스터에 속한 사용자의 포착된 텍스트 또는 음성 데이터를 임베딩 처리한 트래이닝 데이터를 이용하여 학습된 것일 수도 있다. 일부 실시 예들에서, 상기 언어 모델은 클러스터의 공통성이 스타일일 경우에 해당 클러스터에 대해 맞춤화를 위해 학습될 수도 있다. The language model corresponding to the cluster may be learned using training data obtained by embedding captured text or voice data of users belonging to the cluster in the metaverse. In some embodiments, the language model may be trained for customization for a cluster when the cluster's commonality is style.
도 9는, 본 출원의 일 실시 예에 따른, 동일한 메시지로부터 각 클러스터별로 맞춤화된 언어 모델에 의해 변환된 출력 메시지를 도시하고, 도 10은, 도 9의 클러스터별로 맞춤화된 언어 모델을 이용해 각 사용자에게 맞춤화된 메시지를 제공하는 단계의 개략도이다. Figure 9 shows an output message converted from the same message by a language model customized for each cluster, according to an embodiment of the present application, and Figure 10 shows an output message converted from the same message by a language model customized for each cluster of Figure 9. This is a schematic diagram of the steps for providing a customized message.
도 9를 참조하면, 맞춤화 이전의 언어 모델은 "메타버스에는 다양한 사람들이 모여 이야기하면서 서로 감정을 전달할 수 있어요"의 메시지를 출력하도록 구성된다. Referring to Figure 9, the language model before customization is configured to output the message "In the metaverse, various people can gather and talk to each other and convey their emotions."
그러나, 도 9에 도시된 것처럼 다양한 스타일에 따라 맞춤화 학습될 경우, 맞춤화 이전의 언어 모델의 단일 출력 메시지를 스타일에 따라 다양하게 변형하여 출력할 수도 있다. However, as shown in FIG. 9, when learning is customized according to various styles, a single output message of the language model before customization may be output in various ways according to the style.
그 결과, 도 10에 도시된 것처럼 사용자가 속한 클러스터에 대응한 언어 모델을 이용하여 해당 사용자의 스타일에 맞춤화된 메시지를 메타버스 내에서 독립적으로 제공할 수도 있다. As a result, as shown in FIG. 10, a message tailored to the user's style can be provided independently within the metaverse using a language model corresponding to the cluster to which the user belongs.
하드웨어를 이용하여 본 발명의 실시 예를 구현하는 경우에는, 본 출원의 실시 예들을 수행하도록 구성된 ASICs(application specific integrated circuits) 또는 DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays) 등이 본 출원의 구성요소에 구비될 수 있다. When implementing embodiments of the present invention using hardware, application specific integrated circuits (ASICs) or digital signal processors (DSPs), digital signal processing devices (DSPDs), or programmable PLDs (PLDs) configured to perform the embodiments of the present application. logic devices), field programmable gate arrays (FPGAs), etc. may be included in the components of the present application.
이상에서 설명한 본 출원의 실시 예들에 따른 메타버스 내 사용자의 상태를 분석하는 시스템 및 방법에 의한 동작은 적어도 부분적으로 컴퓨터 프로그램으로 구현되어, 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. 예를 들어, 프로그램 코드를 포함하는 컴퓨터-판독가능 매체로 구성되는 프로그램 제품과 함께 구현되고, 이는 기술된 임의의 또는 모든 단계, 동작, 또는 과정을 수행하기 위한 프로세서에 의해 실행될 수 있다. The operation of the system and method for analyzing the user's status in the metaverse according to the embodiments of the present application described above may be at least partially implemented as a computer program and recorded on a computer-readable recording medium. For example, implemented with a program product comprised of a computer-readable medium containing program code, which can be executed by a processor to perform any or all steps, operations, or processes described.
상기 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등을 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수도 있다. 또한, 본 실시예를 구현하기 위한 기능적인 프로그램, 코드 및 코드 세그먼트(segment)들은 본 실시예가 속하는 기술 분야의 통상의 기술자에 의해 용이하게 이해될 수 있을 것이다.The computer-readable recording medium includes all types of recording devices that store data that can be read by a computer. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, and optical data storage devices. Additionally, computer-readable recording media may be distributed across computer systems connected to a network, and computer-readable codes may be stored and executed in a distributed manner. Additionally, functional programs, codes, and code segments for implementing this embodiment can be easily understood by those skilled in the art to which this embodiment belongs.
이상에서 살펴본 본 발명은 도면에 도시된 실시예들을 참고로 하여 설명하였으나 이는 예시적인 것에 불과하며 당해 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 실시예의 변형이 가능하다는 점을 이해할 것이다. 그러나, 이와 같은 변형은 본 발명의 기술적 보호범위 내에 있다고 보아야 한다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해서 정해져야 할 것이다.The present invention discussed above has been described with reference to the embodiments shown in the drawings, but these are merely illustrative examples, and those skilled in the art will understand that various modifications and modifications of the embodiments are possible therefrom. However, such modifications should be considered within the technical protection scope of the present invention. Therefore, the true technical protection scope of the present invention should be determined by the technical spirit of the attached patent claims.
본 발명은 사용자의 행동 로그를 활용하는 빅데이터 분야에서 이용될 가능성이 매우 높다. There is a high possibility that the present invention will be used in the big data field that utilizes user behavior logs.

Claims (13)

  1. 메타버스 내 사용자의 상태를 분석하는 시스템에 있어서, In a system that analyzes the status of users in the metaverse,
    메타버스에 접속한 복수의 사용자 각각에 대해, 메타버스에서 사용자의 텍스트 또는 음성 말뭉치(corpus) 데이터를 포착하도록 구성된 데이터 수집 모듈 - 말뭉치는 하나 이상의 단위 텍스트로 이루어짐; For each of the plurality of users accessing the metaverse, a data collection module configured to capture the user's text or voice corpus data in the metaverse - the corpus consists of one or more unit texts;
    상기 사용자의 텍스트 또는 음성 말뭉치 데이터를 임베딩 처리하여 각 단위 텍스트에 대응한 벡터 데이터로 변환하는 전처리 모듈; a preprocessing module that embeds the user's text or voice corpus data and converts it into vector data corresponding to each unit text;
    각 단위 텍스트에 대응한 벡터 데이터로부터 상기 사용자의 특성을 추출하도록 구성된 특성 분석 모듈 - 상기 특성은 하나 이상의 항목을 포함하고 상기 항목은 텍스트 종류를 포함함; a feature analysis module configured to extract characteristics of the user from vector data corresponding to each unit text, wherein the characteristics include one or more items and the items include a text type;
    특성이 추출되는 과정에서 산출된 연산 값에 기초하여 개별 사용자별로 각 특성에 대한 지수 점수를 산출하도록 구성된 지수 분석 모듈; 및 an index analysis module configured to calculate an index score for each characteristic for each individual user based on the calculation value calculated during the characteristic extraction process; and
    각 사용자별로 추출된 사용자의 특성 및 해당 특성에 대한 지수 점수에 기초하여 각 사용자의 상태를 산출하도록 구성된 상태 분석 모듈을 포함하는, Comprising a status analysis module configured to calculate the status of each user based on user characteristics extracted for each user and index scores for the characteristics,
    시스템. system.
  2. 제1항에 있어서, 상기 데이터 수집 모듈은, The method of claim 1, wherein the data collection module:
    상기 메타버스에서 형성된 복수의 사용자 각각의 텍스트 또는 음성 데이터를 포착하고(capture), 그리고 Capture the text or voice data of each of the plurality of users formed in the metaverse, and
    포착된 텍스트 또는 음성 데이터의 연관 데이터를 검색하도록 구성되고, configured to retrieve associated data from the captured text or voice data;
    상기 전처리 모듈은, The preprocessing module is,
    미리 저장된 음성 변환 유닛을 이용하여 포착된 음성 데이터를 텍스트 데이터로 변환하고, Convert the captured voice data into text data using a pre-stored voice conversion unit,
    미리 저장된 자연어 처리 모델을 이용하여 포착된 텍스트 데이터 또는 변환된 텍스트 데이터를 복수의 토큰으로 토큰화 처리하고 상기 복수의 토큰을 임베딩 처리하여 벡터 데이터를 산출하도록 구성된 것을 특징으로 하는, Characterized in that it is configured to tokenize captured text data or converted text data into a plurality of tokens using a pre-stored natural language processing model and calculate vector data by embedding the plurality of tokens.
    시스템. system.
  3. 청구항 제1항에 있어서, The method of claim 1,
    상기 특성 분석 모듈은, The characteristic analysis module is,
    각각의 단위 텍스트에 대응한 벡터 데이터를 미리 학습된 특성 인식 모델에 입력하여 상기 특성 인식 모델에 대해 미리 설정된 복수의 텍스트 종류 각각에 상기 대응한 단위 텍스트가 분류될 확률 값들을 각각 산출하고, 그리고 Input vector data corresponding to each unit text into a pre-learned feature recognition model to calculate probability values that the corresponding unit text will be classified into each of a plurality of text types preset for the feature recognition model, and
    각 종류별로 산출된 확률 값에 기초하여 단위 텍스트의 텍스트 종류를 결정하도록 구성되며, It is configured to determine the text type of the unit text based on the probability value calculated for each type,
    상기 특성의 텍스트 종류는 감정 표현, 행동 표현, 혐오 발언, 정치적 발언, 이모티콘 사용, 비정제 언어 사용, 시간 표현 중 하나 이상의 종류를 포함하는 것을 특징으로 하는, Characterized in that the text type of the above characteristics includes one or more types of emotional expressions, behavioral expressions, hate speech, political speech, use of emoticons, use of unrefined language, and time expressions,
    시스템. system.
  4. 청구항 제3항에 있어서, According to claim 3,
    상기 특성 인식 모델은, The feature recognition model is,
    제1 트래이닝 데이터 세트를 이용해 미리 학습된 것이고, It is learned in advance using the first training data set,
    상기 제1 트래이닝 데이터 세트 내 각각의 트래이닝 데이터는 메타버스와 다른 온라인 공간 또는 오프라인 공간에서 획득된 텍스트 데이터를 임베딩 처리한 제1 샘플 벡터 데이터이고, Each training data in the first training data set is first sample vector data obtained by embedding text data obtained in an online or offline space different from the metaverse,
    상기 특성 분석 모듈은, The characteristic analysis module is,
    제2 트래이닝 데이터 세트를 이용하여 재-학습된 특성 인식 모델을 이용하여 재-학습이 완료된 이후에 포착된 사용자의 텍스트에 대응한 벡터 데이터로부터 사용자의 특성의 종류를 결정하도록 더 구성되고, further configured to determine the type of user's characteristic from vector data corresponding to the user's text captured after re-learning is completed using a feature recognition model re-trained using the second training data set;
    상기 제2 트래이닝 세트 내 각각의 트래이닝 데이터는 메타버스에서 포착된 텍스트 또는 음성 데이터를 임베딩 처리한 벡터 데이터인 것을 특징으로 하는, Each training data in the second training set is vector data obtained by embedding text or voice data captured in the metaverse.
    시스템. system.
  5. 청구항 제3항에 있어서, According to claim 3,
    상기 특성 인식 모델의 복수의 텍스트 종류 중 적어도 일부 텍스트 종류는 2이상의 하위 종류를 각각 가지고, Among the plurality of text types of the feature recognition model, at least some text types each have two or more subtypes,
    상기 특성 인식 모델은 상기 적어도 일부의 텍스트 종류 각각에 대해, 해당 텍스트 종류의 2이상의 하위 종류를 분류하는 각 서브 모델을 포함하고, The feature recognition model includes, for each of the at least some text types, each sub-model that classifies two or more sub-types of the text type,
    상기 특성 인식 모델은, The feature recognition model is,
    하위 종류를 갖지 않는 텍스트 종류에 대해서는 해당 텍스트 종류에 분류되는 지 여부를 결정하고, 그리고 For text types that do not have subtypes, determine whether they are classified into that text type, and
    하위 종류를 갖는 텍스트 종류에 대해서는 해당 텍스트 종류의 2이상의 하위 종류 중 어느 하나의 하위 종류에 분류하도록 구성되며, Text types that have subtypes are configured to be classified into one of two or more subtypes of the corresponding text type,
    결정된 단위 텍스트의 텍스트 종류는 분류된 하위 텍스트 종류를 포함하는 것을 특징으로 하는, Characterized in that the text type of the determined unit text includes classified subtext types,
    시스템. system.
  6. 청구항 제5항에 있어서, 상기 지수 분석 모듈은, The method of claim 5, wherein the index analysis module,
    텍스트 종류를 분류하는 과정의 확률 값들에 기초하여 사용자의 특성에 포함된 텍스트 종류에 대한 지수 점수를 산출하도록 구성되며, It is configured to calculate an index score for the text type included in the user's characteristics based on the probability values of the process of classifying the text type,
    상기 연산 값은 특성 인식 모델의 분류 동작 도중에 산출된 확률 값을 포함하고, 상기 확률 값은 단위 텍스트가 결정된 텍스트 종류로 분류될 확률 값 및 결정되지 않은 다른 텍스트 종류로 분류될 확률 값을 포함하는 것을 특징으로 하는, The operation value includes a probability value calculated during the classification operation of the feature recognition model, and the probability value includes a probability value that the unit text is classified into a determined text type and a probability value that the unit text is classified into another undetermined text type. Characterized by,
    시스템. system.
  7. 청구항 제6항에 있어서, 상기 지수 분석 모듈은, The method of claim 6, wherein the index analysis module,
    사용자의 텍스트 또는 음성 말뭉치에 포함된 단위 텍스트의 전체 수, 각 단위 텍스트별로 산출된, 해당 단위 텍스트가 특성에 포함된 텍스트 종류로 분류될 각각의 확률 값의 합(sum) 및 해당 텍스트가 상기 특성에 포함된 텍스트 종류로 분류되지 않을 확률 값의 각 단위 텍스트별 합에 기초하여 사용자의 특성에 포함된 텍스트 종류에 대한 지수 점수를 산출하도록 구성된 것을 특징으로 하는, The total number of unit texts included in the user's text or voice corpus, the sum of the probability values calculated for each unit text that the unit text will be classified as a text type included in the feature, and the corresponding text being classified as the text type included in the feature Characterized in that it is configured to calculate an index score for the text type included in the user's characteristics based on the sum of the probability values for each unit text of not being classified as the text type included in.
    시스템. system.
  8. 청구항 제6항에 있어서, 상기 지수 분석 모듈은, The method of claim 6, wherein the index analysis module,
    단위 텍스트의 텍스트 종류가 다중 분류를 통해 결정된 경우, 사용자의 텍스트 또는 음성 말뭉치에 포함된 단위 텍스트의 전체 수, 각 단위 텍스트별로 산출된, 해당 단위 텍스트가 서브 모델의 복수의 텍스트 종류 중 특성에 포함된 텍스트 종류로 분류될 각각의 확률 값의 합(sum) 및 서브 모델의 복수의 텍스트 종류 중 나머지 텍스트 종류 각각으로 분류될 확률 값 중 동일한 텍스트 종류로 분류될 확률 값의 합들에 기초하여 사용자의 특성에 포함된 텍스트 종류에 대한 지수 점수를 산출하도록 구성된 것을 특징으로 하는, If the text type of the unit text is determined through multiple classification, the total number of unit texts included in the user's text or voice corpus, calculated for each unit text, and the unit text is included in the characteristics among the plurality of text types of the sub model User characteristics based on the sum of the probability values of each text type being classified as the same text type and the sum of the probability values of being classified into the same text type among the probability values of being classified into each of the remaining text types among the plurality of text types of the sub model. Characterized in that it is configured to calculate an index score for the text type included in,
    시스템. system.
  9. 청구항 제6항에 있어서, 상기 상태 분석 모듈은, The method of claim 6, wherein the state analysis module,
    복수의 사용자 각각에 대해 추출된 특성으로 이루어진 특성 세트를 형성하고, Forming a feature set consisting of the extracted features for each of the plurality of users,
    상기 특성 세트 내 각 사용자의 특성에 기초하여 복수의 클러스터를 형성하며, 그리고 형성된 클러스터 내 개별 사용자의 특성, 지수 점수, 연관 데이터 중 적어도 하나에 기초하여 클러스터 내 사용자들 간의 공통성을 추출하도록 구성된 것을 특징으로 하는, Forming a plurality of clusters based on the characteristics of each user in the characteristic set, and extracting commonalities between users in the cluster based on at least one of the characteristics of each user in the formed cluster, index score, and related data. to,
    시스템. system.
  10. 청구항 제9항에 있어서, 상기 상태 분석 모듈은, The method of claim 9, wherein the state analysis module,
    형성된 클러스터에 속하는 사용자들 간의 유사성을 산출하기 위해, 동일한 클러스터에 속하는 사용자의 특성에 포함된 텍스트 종류 중 2개 이상의 지수 점수를 선별하고 선별된 2개 이상의 지수 점수 각각에 대해서 해당 텍스트 종류에 대한 지수 점수로 표현되는 각 클러스터 내 사용자들의 유사성을 각각 산출하도록 더 구성되고, In order to calculate the similarity between users belonging to the formed cluster, two or more index scores are selected among the text types included in the characteristics of users belonging to the same cluster, and for each of the two or more selected index scores, an index for the corresponding text type is calculated. It is further configured to calculate the similarity of users within each cluster, expressed as a score, respectively,
    상기 유사성은 유사성 분포 형태로 산출되며, The similarity is calculated in the form of a similarity distribution,
    상기 유사성 분포 형태는 동일 또는 유사한 지수 점수를 갖는 사용자의 수(count)를 포함하며, 유사한 점수는 유사성 분포가 표현되는 평면의 축 단위 스케일에 기초한 것을 특징으로 하는, The similarity distribution form includes a count of users with the same or similar index score, and the similar score is based on the axial scale of the plane in which the similarity distribution is expressed.
    시스템. system.
  11. 청구항 제10항에 있어서, 상기 상태 분석 모듈은, The method of claim 10, wherein the state analysis module,
    유사성을 산출하는데 이용된 텍스트 종류에 대한 지수 점수 중 2개 이상의 텍스트 종류에 대한 지수 점수를 선별하고, 선별된 텍스트 종류에 대한 지수 점수에 기초한 유사성 분포에 기초하여 각 클러스터 내 사용자들 간의 연결성을 산출하도록 더 구성되며, Select the index scores for two or more text types among the index scores for the text types used to calculate similarity, and calculate the connectivity between users within each cluster based on the similarity distribution based on the index scores for the selected text types. It is further configured to
    상기 연결성은 연결성 분포 형태로 산출되고, The connectivity is calculated in the form of a connectivity distribution,
    상기 연결성 분포 형태는 선별된 지수 점수의 개수에 따라서 2차원 또는 3차원 분포로 구현되며, 각 축은 선별된 지수 점수의 사용자의 수에 각각 대응하는 것을 특징으로 하는, The connectivity distribution form is implemented as a two-dimensional or three-dimensional distribution depending on the number of selected index scores, and each axis corresponds to the number of users of the selected index score.
    시스템. system.
  12. 청구항 제11항에 있어서, 상기 상태 분석 모듈은, The method of claim 11, wherein the state analysis module,
    사용자의 추출된 특성, 특성에 대한 지수 점수, 사용자의 공통성, 유사성, 연결성 중 일부 또는 전부로 표현된 사용자의 상태를 생성하는 것을 특징으로 하는, Characterized by generating the user's status expressed in some or all of the user's extracted characteristics, index scores for the characteristics, commonality, similarity, and connectivity of the user,
    시스템. system.
  13. 적어도 하나의 프로세서에 의해 판독될 경우, 메타버스 내 사용자의 상태를 분석하는 방법을 실행하기 위한 명령어를 포함한 프로그램을 기록한 컴퓨터 판독가능한 기록매체에 있어서, A computer-readable recording medium recording a program containing instructions for executing a method of analyzing the state of a user in the metaverse when read by at least one processor, comprising:
    상기 메타버스 내 사용자의 상태를 분석하는 방법은, The method of analyzing the user's status in the metaverse is:
    메타버스에서 사용자의 텍스트 또는 음성 말뭉치(corpus) 데이터를 포착하는 단계 - 말뭉치는 하나 이상의 단위 텍스트로 이루어짐; Capturing the user's text or voice corpus data in the metaverse - the corpus consists of one or more unit texts;
    상기 사용자의 텍스트 또는 음성 말뭉치 데이터를 임베딩 처리하여 각 단위 텍스트에 대응한 벡터 데이터로 변환하는 단계; Embedding the user's text or voice corpus data and converting it into vector data corresponding to each unit text;
    각 단위 텍스트에 대응한 벡터 데이터로부터 상기 사용자의 특성을 추출하는 단계 - 상기 특성은 하나 이상의 항목을 포함하고 상기 항목은 텍스트 종류를 포함함; extracting characteristics of the user from vector data corresponding to each unit text, wherein the characteristics include one or more items and the items include a text type;
    특성이 추출되는 과정에서 산출된 연산 값에 기초하여 개별 사용자별로 각 특성에 대한 지수 점수를 산출하는 단계; 및 calculating an index score for each characteristic for each user based on the calculation value calculated in the process of extracting the characteristic; and
    각 사용자별로 추출된 사용자의 특성 및 해당 특성에 대한 지수 점수 중 적어도 하나에 기초하여 각 사용자의 상태를 산출하는 단계를 포함하는 것을 특징으로 하는, Comprising a step of calculating the status of each user based on at least one of the user characteristics extracted for each user and the index score for the characteristic,
    컴퓨터 판독가능한 기록매체. Computer-readable recording medium.
PCT/KR2022/016847 2022-07-29 2022-10-31 System and method for analyzing state of user in metaverse WO2024025039A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220095038A KR20240016816A (en) 2022-07-29 2022-07-29 System and method for analyzing states of users in metaverse
KR10-2022-0095038 2022-07-29

Publications (1)

Publication Number Publication Date
WO2024025039A1 true WO2024025039A1 (en) 2024-02-01

Family

ID=89706865

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/016847 WO2024025039A1 (en) 2022-07-29 2022-10-31 System and method for analyzing state of user in metaverse

Country Status (2)

Country Link
KR (1) KR20240016816A (en)
WO (1) WO2024025039A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060087735A (en) * 2005-01-31 2006-08-03 삼성전자주식회사 System and method for proceeding improved spam message filtering
US20120317517A1 (en) * 2008-09-26 2012-12-13 International Business Machines Corporation Virtual universe avatar activities review
KR20140008693A (en) * 2012-07-11 2014-01-22 에스케이씨앤씨 주식회사 Method and server for establishing cognitive social network
KR20170039951A (en) * 2015-10-02 2017-04-12 네이버 주식회사 Method and system for classifying data consisting of multiple attribues represented by sequences of text words or symbols using deep learning
KR101958555B1 (en) * 2017-06-30 2019-07-04 충북대학교 산학협력단 Apparatus and method for providing search result
KR20210094461A (en) * 2020-01-21 2021-07-29 김종호 System and method extracting information according to experience of product

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102407057B1 (en) 2020-06-01 2022-06-10 주식회사 피처링 Systems and methods for analyzing the public data of SNS user channel and providing influence report

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060087735A (en) * 2005-01-31 2006-08-03 삼성전자주식회사 System and method for proceeding improved spam message filtering
US20120317517A1 (en) * 2008-09-26 2012-12-13 International Business Machines Corporation Virtual universe avatar activities review
KR20140008693A (en) * 2012-07-11 2014-01-22 에스케이씨앤씨 주식회사 Method and server for establishing cognitive social network
KR20170039951A (en) * 2015-10-02 2017-04-12 네이버 주식회사 Method and system for classifying data consisting of multiple attribues represented by sequences of text words or symbols using deep learning
KR101958555B1 (en) * 2017-06-30 2019-07-04 충북대학교 산학협력단 Apparatus and method for providing search result
KR20210094461A (en) * 2020-01-21 2021-07-29 김종호 System and method extracting information according to experience of product

Also Published As

Publication number Publication date
KR20240016816A (en) 2024-02-06

Similar Documents

Publication Publication Date Title
WO2012134180A2 (en) Emotion classification method for analyzing inherent emotions in a sentence, and emotion classification method for multiple sentences using context information
WO2016167424A1 (en) Answer recommendation device, and automatic sentence completion system and method
WO2010036013A2 (en) Apparatus and method for extracting and analyzing opinions in web documents
WO2019117466A1 (en) Electronic device for analyzing meaning of speech, and operation method therefor
WO2021132927A1 (en) Computing device and method of classifying category of data
WO2018034426A1 (en) Method for automatically correcting error in tagged corpus by using kernel pdr
EP3545487A1 (en) Electronic apparatus, controlling method of thereof and non-transitory computer readable recording medium
WO2017217661A1 (en) Word sense embedding apparatus and method using lexical semantic network, and homograph discrimination apparatus and method using lexical semantic network and word embedding
WO2018174443A1 (en) Electronic apparatus, controlling method of thereof and non-transitory computer readable recording medium
WO2020009297A1 (en) Domain extraction based language comprehension performance enhancement apparatus and performance enhancement method
WO2020080834A1 (en) Electronic device and method for controlling the electronic device
WO2021071231A1 (en) Message service providing device for actively building database of expression items including sub-expression items, and method thereof
WO2019177182A1 (en) Multimedia content search apparatus and search method using attribute information analysis
WO2018084581A1 (en) Method and apparatus for filtering a plurality of messages
WO2022102937A1 (en) Methods and systems for predicting non-default actions against unstructured utterances
WO2020130447A1 (en) Method for providing sentences on basis of persona, and electronic device supporting same
WO2021246812A1 (en) News positivity level analysis solution and device using deep learning nlp model
WO2023191129A1 (en) Monitoring method for bill and legal regulation and program therefor
WO2019112117A1 (en) Method and computer program for inferring meta information of text content creator
WO2022164192A1 (en) Device and method for providing recommended sentences related to user's speech input
EP3523932A1 (en) Method and apparatus for filtering a plurality of messages
WO2022191368A1 (en) Data processing method and device for training neural network that categorizes intent in natural language
WO2019107674A1 (en) Computing apparatus and information input method of the computing apparatus
WO2024025039A1 (en) System and method for analyzing state of user in metaverse
WO2023229376A1 (en) Intelligent response recommendation system and method for real-time voice counseling support

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22953264

Country of ref document: EP

Kind code of ref document: A1