Patent ID: 12205024

DETAILED DESCRIPTION

Hereinafter, various example embodiments of the disclosure will be described in greater detail with reference to the accompanying drawings. However, the disclosure may be implemented in various different forms and is not limited to the various example embodiments described herein. Particular implementations described in the disclosure are merely examples, and do not limit the scope of the disclosure in any way. For the sake of conciseness, descriptions of related electronic configurations, control systems, software, and other functional aspects of the systems may be omitted.

To clearly describe the disclosure, parts irrelevant to the description may be omitted in the drawings, and like elements will be designated by like numerals throughout the specification. Connection lines or connection members between elements shown in the drawings represent example functional connections and/or physical or logical connections. Connections between elements may be presented as various alternative or additional functional connections, physical connections, or logical connections in a practical apparatus.

With respect to the terms used in the disclosure, general terms currently and widely used are selected in view of function with respect to the disclosure. However, the terms may vary according to an intention of a technician practicing in the pertinent art, an advent of new technology, etc. In some cases, terms may be chosen arbitrarily, and in such cases, definitions thereof will be described in the corresponding description of the disclosure. Accordingly, the terms used in the description should not necessarily be construed as simple names of the terms, but be defined based on meanings of the terms and overall contents of the disclosure.

A singular term includes a plural form unless otherwise indicated. The terms, “include,” “comprise,” “is configured to,” etc. of the description are used to indicate the presence of features, numbers, steps, operations, elements, parts or combination thereof, and do not exclude the possibilities of combination or addition of one or more features, numbers, steps, operations, elements, parts or combination thereof. In particular, the numbers are examples to aid understanding, and the various example embodiments of the disclosure should not be understood as being limited by the numbers described.

In addition, terms such as first and second may be used to describe various components, but the components should not be limited by these terms. These terms may simply be used to distinguish one component from another component. Phrases such as “in an embodiment” appearing in various places in the disclosure are not necessarily all referring to the same embodiment.

Throughout the disclosure, the expression “at least one of a, b or c” indicates only a, only b, only c, both a and b, both a and c, both b and c, all of a, b, and c, or variations thereof.

An embodiment of the disclosure may be described in terms of functional blocks and various processing operations. Such functional blocks may be partly or wholly implemented by various numbers of hardware and/or software components that execute particular functions. For example, the functional blocks of the disclosure may be implemented by one or more microprocessors or by circuit configurations for a certain function. In addition, for example, functional blocks according to the disclosure may be implemented with any programming or scripting language. The functional blocks may be implemented in algorithms that are executed on one or more processors. Furthermore, the disclosure described herein could employ any number of techniques according to the related art for electronics configuration, signal processing and/or control, data processing and the like.

In describing the disclosure, when it is determined that a detailed description of a related known function or component may unnecessarily obscure the subject matter of the disclosure, a detailed description thereof may be omitted. When necessary for convenience of explanation, the device and the method will be described together.

Functions related to artificial intelligence according to the disclosure operate through a processor and a memory. The processor may include one processor or a plurality of processors. In this case, one processor or a plurality of processors may be a general-purpose processor such as a CPU, AP, or Digital Signal Processor (DSP), a graphics-only processor such as a GPU, a Vision Processing Unit (VPU), or an artificial intelligence-only processor such as an NPU. One processor or a plurality of processors control to process input data according to a predefined operation rule or an artificial intelligence model stored in a memory. Alternatively, when one processor or a plurality of processors are dedicated artificial intelligence processors, the artificial intelligence dedicated processor may be designed with a hardware structure specialized for processing a specific artificial intelligence model.

The predefined operation rule or the artificial intelligence model may be created through training. Here, creating through training may refer, for example, to the basic artificial intelligence model being trained by a learning algorithm using a plurality of training data such that the predefined operation rule or the artificial intelligence model set to perform a wanted characteristic (or purpose) is created. Such training may be performed in the device itself on which artificial intelligence according to the disclosure is performed, or may be performed through a separate server and/or system. Examples of the learning algorithm include supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but are not limited to the above-described examples.

The artificial intelligence model may include a plurality of neural network layers. Each of the plurality of neural network layers has a plurality of weight values and performs a neural network operation through an operation between an operation result of a previous layer and a plurality of weights. The plurality of weights of the plurality of neural network layers may be optimized by a training result of the artificial intelligence model. For example, the plurality of weights may be updated to reduce or minimize a loss value or a cost value obtained from the artificial intelligence model during a training process. The artificial neural network may include a deep neural network (DNN), for example, Convolutional Neural Network (CNN), Deep Neural Network (DNN), Recurrent Neural Network (RNN), Restricted Boltzmann Machine (RBM), Deep Belief Network (DBN), Bidirectional Recurrent Deep Neural Network (BRDNN), or deep Q-Networks, and the like, but is not limited to the above-described example.

Hereinafter, the disclosure will be described in greater detail with reference to the accompanying drawings.

FIG.1is a diagram illustrating an example method of classifying data101based on a classification system103of category of the data101according to various embodiments.

Referring toFIG.1, a computing device may determine at least one category of data101based on the data101and the classification system103of category of the data101. In an embodiment of the disclosure, the classification system103of category of the data101may include a classification criterion of category of the data101and a plurality of keywords. The plurality of keywords may include only a small amount of keywords for presenting a guide for the classification criterion to the computing device when a user determines category of the data101. The data101may include not only structured data but also unstructured data. According to an embodiment of the disclosure, in classifying the unstructured data using a neural network that performs unsupervised learning based on the classification system103of category of the data101, the computing device may classify the unstructured data based on criterion wanted by the user.

In operation110of the method of classifying the data101based on the classification system103of category of data101, the computing device may perform a text preprocessing process on at least one sentence included in the data101and segment the at least one sentence included in the data101. In an embodiment of the disclosure, the text preprocessing process is a job of preprocessing text suitable for a purpose or a user's intention, and may perform tokenization, cleaning, normalization, stemming, lemmatization, stopword removal, regular expression text preprocessing, integer encoding, one-hot encoding, subword segmentation, etc. but is not limited thereto.

In operation130of the method of classifying the data101based on the classification system103of category of the data101, the computing device may modify the at least one sentence included in the data101using semantic association words of a word for each sentence. In an embodiment of the disclosure, the computing device may perform a filtering process of removing meaningless words existing in the at least one sentence based on the classification system103of category of the data101. In addition, the computing device may extend a word remaining after filtering based on an edit distance in terms of vocabulary and extend the word based on a word embedding model in terms of semantics to perform sentence modification. In an embodiment of the disclosure, the computing device may extend the word remaining after filtering in terms of vocabulary and semantics and then generate a word vector. For example, when the user decides the classification system103of category of the data101in the functional unit of a product, the computing device may obtain sentences “Galaxy Fold has been supplemented by correcting the front film and the hinge part which had previously been problematic and has a disadvantage that the price is quite burdensome although it is quite complete when used, so it is difficult to become a popular smartphone right now, but it seems to be quite popular with early adopters.” as the data101. The computing device may perform a filtering process of removing meaningless words existing in the sentence and may remain only words such as “Galaxy Fold”, “film”, “hinge”, “smartphone”, and “early adapter”. In addition, the computing device may extend the words remaining after filtering to morphological and/or semantic words to generate words such as Galaxy Fold, Galaxy, foldable, foldable phone, film, sheet, hinge, smartphone, phone, cellular phone, mobile phone, terminal, early adopter, trend, etc. The computing device may vectorize the generated words to generate word vectors corresponding to the words.

According to an embodiment of the disclosure, the computing device may classify the data101according to the user's intention by extracting words necessary for classification of the data101based on the keywords in the classification system103of category of the data101, and may enable fine classification and classification according to large scale category by extending the words using techniques such as the edit distance and word embedding, even for short sentences.

In an embodiment of the disclosure, when the computing device does not determine category of the data101or does not determine the data101as a category wanted by the user based on the classification system103of category of the data101, the computing device may update the classification system103of category of the data101. For example, the computing device may update the classification system103of category of the data101by outputting a message indicating that a category of the unstructured data101may not be determined and receiving a new classification criterion, a keyword, etc. from the user. According to an embodiment of the disclosure, the user may add or modify the classification system103of category of the data101according to the purpose of use at any time, thereby solving the problem of existing unsupervised learning-based clustering that is classified as an unwanted system and solving the problem of supervised learning-based classification in which the classification accuracy is reduced in the larger category.

In operation150of the method of classifying the unstructured data based on the classification system103of category of the data101, the computing device may perform sentence embedding for each category. In an embodiment of the disclosure, the computing device may determine a sentence vector of each sentence using an average weight of the word vectors obtained as a result of performing operation130. Also, the computing device may smooth the sentence vector using Singular Value Decomposition (SVD) and perform sentence embedding using the smoothed sentence vector.

In operation170of the method of classifying the unstructured data based on the classification system103of category of the data101, the computing device may predict a category of a newly received sentence or data. In an embodiment of the disclosure, the computing device may perform sentence embedding on the new sentence or data, and predict the category of the new sentence or data based on a similarity with a centroid for each category. According to an embodiment of the disclosure, when determining the category of the new data, the computing device only needs to determine at least one category by performing sentence embedding on each sentence of the new data, thereby solving the problem of the existing supervised learning-based classification method which required a large amount of training data whenever a new category and new unstructured data are added. In addition, according to an embodiment of the disclosure, the computing device may predict a category of unstructured data based on the centroid for each category, thereby overcoming the complexity and over-fitting problems of a nonlinear method.

FIG.2is a flowchart illustrating an example method of classifying a category of data according to various embodiments.

Referring toFIG.2, in operation210, a computing device may identify a classification system of category of the data. In an embodiment of the disclosure, the classification system of category of the data may include a classification criterion of category of the data, a plurality of keywords, and classification levels of category of the data, but is not limited thereto. For example, a user of the computing device may set the classification criterion as a function of a product, and input a TV, a radio, a lamp, a bed, a mobile phone, etc. to the plurality of keywords. Accordingly, the computing device may identify the classification system of category of the data including the classification criterion and the plurality of keywords. In addition, the user of the computing device may set the classification levels of category of the data to high, medium, or low. Accordingly, the computing device may identify the classification levels of category of the data, and determine category of the data as at least one of a large category, a medium category, or a small category.

In operation230, the computing device may obtain data including at least one sentence. In an embodiment of the disclosure, the data may include unstructured data. The unstructured data may refer, for example, to information that does not have a predefined data model or is not organized in a predefined manner. For example, the unstructured data may include social media data, book, magazine, document medical record, audio information, papers, etc. created by a plurality of users, but is not limited thereto.

In operation250, the computing device may determine at least one category with respect to at least one sentence of the data according to the classification system of category of the data using a neural network. In an embodiment of the disclosure, the computing device may determine the at least one category with respect to at least one sentence of the data obtained in operation230based on classification wanted by the user according to the classification system of category of the data identified in operation210using the neural network. In an embodiment of the disclosure, the computing device may determine a plurality of category candidates of the data using a first neural network, and determine at least one category among the plurality of category candidates as the at least one category with respect to the at least one sentence of the data using a second neural network. For example, when the data includes social media data created by a plurality of users, and the classification system of category of the data includes a classification system according to product functions, the computing device may obtain requirements of the plurality of users from the social media data using the neural network.

In an embodiment of the disclosure, the computing device may determine that the category of the at least one sentence of the data may not be determined according to the identified classification system of category of the data using the neural network. The computing device may update the classification system of category of the data based on a result of determining that the category of the at least one sentence of the data may not be determined. Also, the computing device may determine the at least one category with respect to at least one sentence of the data according to the updated classification system of category of the data.

In an embodiment of the disclosure, the computing device may determine a plurality of category candidates of the data using the first neural network, and determine at least one category among the plurality of category candidates of the data as the at least one category with respect to the at least one sentence of the data using the second neural network.

In an embodiment of the disclosure, the data may include social media data created by a plurality of users, the classification system of category of the data may include a classification system according to product functions, and the computing device may obtain requirements of the plurality of users based on the determined at least one category.

In an embodiment of the disclosure, the computing device may generate first training data obtained by performing preprocessing and sentence segmentation of the obtained data, based on the first training data, generate second training data including at least one of a morphological similar word or a semantic similar word for each sentence, based on the second training data, generate third training data obtained by performing sentence embedding, and based on the third training data, determine the at least one category with respect to the at least one sentence of the data according to the classification system of category of the data.

In an embodiment of the disclosure, the computing device may generate the first training data by performing sentence segmentation according to sentence boundary recognition based on the obtained data and removing unnecessary terms from the data based on a result of performing sentence segmentation.

In an embodiment of the disclosure, the computing device may generate first modification data in which words excluding words matching the plurality of keywords are removed from the first training data, generate second modification data in which morphological similar words of words of the first modification data extend using an edit distance algorithm, and based on word embedding, generate the second training data including a word vector in which word semantic similar words of words of the second modification data extend, based on the classification system of category of the data.

In an embodiment of the disclosure, the words matching the plurality of keywords may include a word included in the plurality of keywords, a word matching the plurality of keywords using approximate string matching, etc.

In an embodiment of the disclosure, the computing device may generate the third training data as a result of obtaining an average weight with respect to at least one word vector from the second training data, smoothing the obtained average weight using SVD, and performing sentence embedding using the smoothed average weight.

In an embodiment of the disclosure, the average weight of the at least one word vector may be obtained using a weight of the at least one word vector, based on a maximum likelihood estimate, and the weight of the at least one word vector may be a weight calculated with respect to at least one word using Term Frequency-Inverse Document Frequency (TF*IDF).

In an embodiment of the disclosure, the computing device may determine a centroid that is most similar to the third training data among the classification system of category of the data, and determine the at least one category with respect to the least one sentence of the data based on the determined centroid.

FIG.3is a diagram illustrating an example method of classifying data301according to unsupervised learning according to various embodiments.

Referring toFIG.3, the computing device may determine at least one category of the data301using a pre-built dictionary303. In an embodiment of the disclosure, the pre-built dictionary303may include a classification criterion of category of the data301and a plurality of keywords, but is not limited thereto. According to an embodiment of the disclosure, the computing device may overcome a limitation on scalability of supervised learning requiring a large amount of correct answer labels by performing classification by unsupervised learning using a small number of keywords. In an embodiment of the disclosure, the pre-built dictionary303may correspond to the classification system103of category of data101described above with reference toFIG.1.

In operation310, the computing device may perform a text preprocessing process and a sentence segmentation process. In an embodiment of the disclosure, the text preprocessing process may include a job of preprocessing text suitable for a purpose, and may perform tokenization, cleaning, normalization, stemming, lemmatization, stopword removal, regular expression text preprocessing, integer encoding, one-hot encoding, subword segmentation, etc. but is not limited thereto. In addition, the sentence segmentation process may be a process in which the computing device segments at least one sentence included in the data301by recognizing the boundary of the sentence using machine learning.

In operation330, the computing device may perform sentence modification by extending associated words of semantic words of the sentence for each sentence segmented in operation310. In an embodiment of the disclosure, the computing device may tokenize the words of each sentence into uni-gram or bi-gram based on the pre-built dictionary303for each sentence segmented in operation310and filter the tokenized words. According to an embodiment of the disclosure, the computing device may tokenize the words of each sentence into uni-gram or bi-gram such that the context of each sentence may be easily recognized.

For example, the computing device may remove words excluding words included in the pre-built dictionary303from the sentence. For another example, the computing device may remove a word that is not included in the words included in the pre-built dictionary303, words similar to the words included in the pre-built dictionary303, etc., from the sentence. The words similar to the words included in the pre-built dictionary303may include words that are lexically and semantically similar to the words included in the pre-built dictionary303, etc., but are not limited thereto. In an embodiment of the disclosure, the words similar to the words included in the pre-built dictionary303may be determined using an edit distance technique, a word embedding model, an approximate string matching technique, etc. According to an embodiment of the disclosure, the computing device may improve accuracy in classifying unstructured data by not removing not only the words included in the pre-built dictionary303but also the words similar to the words included in the pre-built dictionary303.

In an embodiment of the disclosure, the computing device may generate a modified sentence including words remaining after filtering and the similar words by matching the remaining words with the word embedding model. Operation330may be performed according to the following [Table 1].

TABLE 1input : all sentences1:for all sentence s where s ∈ S do2:cs = { } where cs is converted sentence3:for all token tijin sido where tijis either uni-gram or bi-gram4:if dictionary exists5:filtering unmatched tij6:if approximate string matching is applied7:keeping atijwhere atijis approximately matched tij8:if tij∈ wv where wv is word embedding vector9:cs+=tijand top τnwhere τnis top N ranked nearestterms10:end inner for11:end outer foroutput : converted sentences

In an embodiment of the disclosure, the computing device may generate modified sentences by taking all sentences of the data301as inputs. For example, the data301may be social media data which is unstructured data having various subjects and forms, but is not limited thereto. The computing device may tokenize each sentence of at least one sentence included in the data301using uni-gram or bi-gram. When each tokenized token does not match the pre-built dictionary303, the computing device may filter a non-matching token. In an embodiment of the disclosure, when the approximate string matching technique is applied, the computing device may not filter and remain not only the keywords included in the pre-built dictionary303but also similar tokens approximately matching the keywords included in the pre-built dictionary303. In addition, the computing device may generate modified sentences cs including N words that are most similar to the remaining tokens by matching the remaining tokens to the word embedding model. For example, the word embedding model may include a word to vector (word2vec) model, a global vectors for word representation (GloVe) model, a customized word embedding model, etc., but is not limited thereto. According to an embodiment of the disclosure, the modified sentence may obtain an extended classification than the pre-built dictionary303using the edit distance technique, the word embedding model, etc. For example, when the GloVe model is used as the word embedding model, a result of [Table 2] may be obtained as follows.

TABLE 2OutputInputOutputLabelOriginalbe good deal?Is this a good deal?DealApproachWord2vecthere be/dev/video device,There ARE/dev/videoTuner,Expansionwhich theory could be tvdevices, which in theoryCameratuner, but they be usuallycould be TV tuners, but theyjust front and rear faceare usually just for the frontcamera video mode.and rear facing cameras invideo mode.Word2vecbut I also want good arrayBut I also want a good arrayHDMI,Editinput and output-idealof inputs and outputs-IDEALParts,distanceinput: 3 hdmi, 1 component,INPUTS: 3 HDMI, 1AudioExpansion1 composite, 1 VGA pccomponent, 1 composite, 1connection, 1 rca audioVGA for a PC connection, 1input, ideal output: DigitalRCA audio input, IDEALaudio out, rca audio out, andOUTPUTS: Digital audio out,HDM1 ARC.RCA audio out, and HDMIARC.

For example, when a sentence “be good deal?” is input, the computing device may obtain a sentence “Is this a good deal?” as the modified sentence and obtain deal as an output label. For another example, when the computing device uses the extension by the word2vec model, and “there be/dev/video device, which theory could be tv tuner, but they be usually just front and rear face camera video mode.” is input, the computing device may obtain a sentence “There ARE/dev/video devices, which in theory could be TV tuners, but they are usually just for the front and rear facing cameras in video mode.” as the modified sentence and obtain Tuner and Camera as output labels. For another example, when the computing device uses the extension by a Word2vec Edit distance model, and “but I also want good array input and output—ideal input: 3 hdmi, 1 component, 1 composite, 1 VGA pc connection, 1 rca audio input, ideal output: Digital audio out, rca audio out, and HDMI ARC.” is input, the computing device may obtain a sentence “But I also want a good array of inputs and outputs—IDEAL INPUTS: 3 HDMI, 1 component, 1 composite, 1 VGA for a PC connection, 1 RCA audio input, IDEAL OUTPUTS: Digital audio out, RCA audio out, and HDMI ARC.” as the modified sentence and obtain HDMI, Parts and Audio as output labels.

In operation350, the computing device may perform sentence embedding for each category. In an embodiment of the disclosure, the computing device may obtain an average weight value for each modified sentence by calculating an average weight of the words of the modified sentence obtained in operation330. In addition, the computing device may perform smoothing on average weights using SVD and generate sentence vectors of the modified sentences using the smoothed average weights. The computing device may calculate a centroid for each category using the generated sentence vector. In an embodiment of the disclosure, the centroid may be obtained according to [Table 3].

TABLE 3input: a set of converted sentences S, word embeddings vw: w ∈ V,parameter β, estimated word probabilities p(w):w ∈ V1:for all sentence s where s ∈ S do2:vs←1s⁢∑w∈s⁢ββ+p⁡(w)⁢vw⁢where⁢each⁢w⁢is⁢represented⁢by⁢its⁢TF*IDF⁢value3:end for4:Given matrix M where columns are vs:s ∈ S and u is the singular vectorof the matrix5:for sentence s in S do6:vs← vs− uuTvs7:end for8:for all class c where c ∈ C do9:ci←∑i=1m⁢vsi∈cm10:end foroutput: centroid of the set of sentence embeddings per class [ci]i =1k

In an embodiment of the disclosure, the computing device may obtain the centroid with respect to each category as a result of performing sentence embedding by taking the modified sentences obtained as a result of performing operation330, a word vector of a word w present in the vocabulary of the entire document group, a parameter β, a probability p(w) of a bigram word in the entire document group, etc. as inputs. The computing device may determine a sentence vector Vsusing a maximum likelihood estimate with respect to each of the modified sentences. That is, the computing device may obtain the sentence vector Vsby finding the most probable parameter with respect to a vector representing a core subject of a sentence. In this case, a word vector Vwrequired to calculate the sentence vector Vsmay be a weight value calculated by a TF*IDF formula. In an embodiment of the disclosure, TF*IDF is a weight value of a word obtained by multiplying a term frequency by an inverse document frequency and may be calculated by [Equation 1] as follows:

TF*IDF=tf⁡(t,d)*idf⁡(t,D)=(0.5+0.5×f⁡(t,d)max⁢{f⁡(t,d):w∈d})*(log⁢❘"\[LeftBracketingBar]"D❘"\[RightBracketingBar]"❘"\[LeftBracketingBar]"{d∈D:t∈d}❘"\[RightBracketingBar]")[Equation⁢1]

Here, f(t,d) denotes the total frequency of a word tin a document d.

A dot product value between the vector representing the core subject of a sentence and the word vector may represent the correlation between the vector representing the core subject of the sentence and the word vector. Accordingly, the maximum likelihood estimate may refer, for example, to an average value of weights of word vectors of each sentence. According to an embodiment of the disclosure, the computing device may set a lower weight for words that frequently appear using the maximum likelihood estimate, and accordingly, reduce the importance of general words and increase weights of words matching the plurality of keywords. That is, the computing device may improve accuracy for determining the category of the data301by increasing weights of words necessary to determine the category of the data301other than a general word. The computing device may estimate the direction of a vector representing the core subject of the sentence by calculating a first principal component of the vector representing the core subject of the sentence for each sentence in order to estimate the vector representing the core subject of the sentence. That is, the computing device may determine the sentence vector Vsby subtracting the initial principal component of the vector from a projection of the vector representing the core subject of the sentence and perform sentence embedding. Accordingly, the computing device may determine a centroid of a corresponding category from all sentences belonging to an i-th category Ci, based on a sentence embedding result.

In operation370, the computing device may predict a category such as an input sentence or input data. In an embodiment of the disclosure, the computing device may perform operations310,330, and350to generate the sentence embedding result, and then determine which centroid is most similar to the input sentence or the input data. Also, the computing device may determine a category corresponding to the most similar centroid as a prediction category based on the most similar centroid. In an embodiment of the disclosure, the computing device may perform batch prediction that performs repetitive prediction for prediction of a more accurate category. In addition, the computing device may determine a predicted category and category candidates for each sentence of the input data. For example, the predicted category and the category candidates according to the input sentences may be as shown in [Table 4].

TABLE 4SentenceLabelLabel Candidateno means crystals glass coveringGlare,Flash Lightingtouching fingers really screwingPDPBlurglare screen, see rate investment.Glareprotect plasma daughter annoyingSlim Panelglare, possibly little disagreesDiscolorationCloudingBurn InRepairOverheatFlashlighting CloudingLEDRebooting

In an embodiment of the disclosure, operations310,330, and350may be operations for training a neural network, and operation370may be a utilization operation of determining the category using an artificial intelligence model that predicts the category of the input data using the trained neural network.

FIG.4is a flowchart illustrating an example method of determining at least one category of data according to various embodiments.

Referring toFIG.4, in operation410, a computing device may segment each sentence of the data using a sentence boundary recognition method. In an embodiment of the disclosure, the computing device may segment each sentence by receiving the data as input and dividing text included in the data in units of sentences.

In operation420, the computing device may generate first training data by removing unnecessary terms from the data from which sentences are segmented. For example, unnecessary terms may include stopwords that do not have a meaningful meaning. Accordingly, the computing device may generate the first training data from which stopwords of the data are removed.

In operation430, the computing device may generate first modification data by removing words that do not match a plurality of keywords from the first training data. In an embodiment of the disclosure, the plurality of keywords may be predefined by a computing user. The computing device may perform a filtering process of removing words excluding words corresponding to the plurality of keywords or similar to the plurality of keywords. For example, the words similar to the plurality of keywords may include words that are morphologically or semantically similar to the plurality of keywords.

In operation440, the computing device may generate second modification data in which a word group related to a word format of the first modification data extends using an edit distance algorithm. In an embodiment of the disclosure, the edit distance algorithm is an algorithm of determining the similarity of two character strings, and the computing device may obtain the second modification data in which a morphologically similar word group of the first modification data extends using the edit distance algorithm.

In operation450, the computing device may generate second training data including a word vector in which a word group related to the meaning of words of the second modification data extends based on word embedding. In an embodiment of the disclosure, word embedding represents words in the form of a multidimensional vector in which each dimension has a real value in a multidimensional vector space, and the computing device may generate the second training data in which a semantically similar word group of the second modification data extends based on word embedding.

In operation460, the computing device may obtain an average weight with respect to at least one word vector from the second training data. In an embodiment of the disclosure, the computing device may calculate a weight value calculated by the TF*IDF formula with respect to the at least one word vector of the second training data, and based on the calculated weight value, obtain the average weight with respect to the at least one word vector.

In operation470, the computing device may perform smoothing on the obtained average weight using SVD. According to an embodiment of the disclosure, the computing device may smooth the obtained average weight by reducing a dimension of a matrix using SVD. For example, the computing device may improve its performance for determining category of the data by reducing the importance of words corresponding to general words without representing data characteristics using the maximum likelihood estimate.

In operation480, the computing device may generate third training data by performing sentence embedding based on the smoothed average weight. In an embodiment of the disclosure, as a result of performing sentence embedding, the computing device may obtain a centroid corresponding to the plurality of keywords from the third training data. For example, as a result of performing sentence embedding on a plurality of sentences including a sentence about a TV, a sentence about a drama, a sentence about image quality, etc., the computing device may obtain a centroid corresponding to the TV. For another example, as a result of performing sentence embedding on a plurality of sentences including a sentence about a mobile phone, a sentence about the performance of a tablet PC, a sentence about a voice assistant, etc., the computing device may obtain a centroid corresponding to a terminal.

In operation490, the computing device may determine at least one category of the data based on a centroid that is the most similar to the third training data in the classification system of category of the data. For example, when the data includes a sentence “It would be good when the call quality of wireless earphones is improved”, the computing device may perform sentence embedding based on the third training data, and then determine ‘Bluetooth earphones’ which is the most similar centroid as the category of the data. Alternatively, the computing device may determine ‘call quality’ as the category of the data along with ‘Bluetooth earphones’. According to an embodiment of the disclosure, the user of the computing device may understand requirements of consumers by understanding terms of the consumers in units of function of a product.

FIG.5is a diagram illustrating an example method of classifying social media data512,514, and516in units of function of a product according to various embodiments.

Referring toFIG.5, a computing device may classify data510including the social media data512,514, and516in units of functions of the product. In an embodiment of the disclosure, the computing device may identify a classification system of category of the data510including a classification criterion of category of the data510and a plurality of keywords. The classification system of category of the data510may include a classification system according to the function of the product. Accordingly, the classification system of category of the data510may be the function of the product, and the plurality of keywords may include a TV, a radio, a lighting, a mobile phone, a speaker, etc.

In an embodiment of the disclosure, the computing device may obtain the data510including at least one sentence. For example, the computing device may obtain the data510including the first social media data512, the second social media data514, the third social media data516, etc.

In an embodiment of the disclosure, the computing device may determine at least one category with respect to the at least one sentence of the data510based on the identified classification system of category of the data510using a neural network that performs classification by unsupervised learning. For example, the computing device may analyze at least one sentence included in the first social media data512and determine a category of the first social media data512as the TV. For another example, the computing device may obtain a sentence “Lamp is essential for Christmas!” included in the second social media data514, identify words ‘Christmas’ and ‘lamp’ from the sentence, and determine the category of the second social media data514as Lamp instead of an anniversary based on a classification system according to the function of the product. In a case of clustering using unsupervised learning, the computing device may the category of the second social media data514as the ‘anniversary’, but an operating method of the computing device according to an embodiment of the disclosure may determine the category of the second social media data514as Lamp included in the classification system wanted by a computing user by determining the category of the second social media data514based on the identified classification system of category of the data510. For another example, the computing device may determine the category of the third social media data516as Phone.

FIG.6is a block diagram illustrating an example configuration of a computing device600according to various embodiments.

Referring toFIG.6, the computing device600may include a transceiver610, a memory620, and a processor (e.g., including processing circuitry)630. In addition, the processor630may include a data obtainer (e.g., including various processing circuitry and/or executable program elements)631, a preprocessor (e.g., including various processing circuitry and/or executable program elements)633, a word extender (e.g., including various processing circuitry and/or executable program elements)635, a weight calculator (e.g., including various processing circuitry and/or executable program elements)637, a sentence embedding performer (e.g., including various processing circuitry and/or executable program elements)639, and a category determiner (e.g., including various processing circuitry and/or executable program elements)641. However, not all of the components shown inFIG.6are indispensable components of the computing device600. The computing device600may be implemented by more components than the components shown inFIG.6, or the computing device600may be implemented by fewer components than the components shown inFIG.6. In addition, the transceiver610, the memory620, and the processor630may be implemented in the form of a single chip.

The processor630may include various processing circuitry, including, for example, one processor or a plurality of processors. In this case, one processor or the plurality of processors may be a general-purpose processor such as a CPU, AP, or Digital Signal Processor (DSP), a graphics-only processor such as a GPU, a Vision Processing Unit (VPU), or an artificial intelligence-only processor such as an NPU. Alternatively, when one processor or the plurality of processors are dedicated artificial intelligence processors, the artificial intelligence dedicated processor may be designed with a hardware structure specialized for processing a specific artificial intelligence model.

The processor630may control processing input data according to a predefined operation rule or an artificial intelligence model stored in the memory620. The predefined operation rule or the artificial intelligence model may be created through training. Here, creating through training may refer, for example, to the basic artificial intelligence model being trained by a learning algorithm using a plurality of training data such that the predefined operation rule or the artificial intelligence model set to perform a wanted characteristic (or purpose) is created. Such training may be performed in the computing device600itself on which artificial intelligence according to the disclosure is performed, or may be performed through a separate server and/or system. The artificial intelligence model may include a plurality of neural network layers. Each of the plurality of neural network layers has a plurality of weight values and performs a neural network operation through an operation between an operation result of a previous layer and a plurality of weights. The plurality of weights of the plurality of neural network layers may be optimized by a training result of the artificial intelligence model. For example, the plurality of weights may be updated to reduce or minimize a loss value or a cost value obtained from the artificial intelligence model during a training process. The artificial neural network may include a deep neural network (DNN), for example, Convolutional Neural Network (CNN), Deep Neural Network (DNN), Recurrent Neural Network (RNN), Restricted Boltzmann Machine (RBM), Deep Belief Network (DBN), Bidirectional Recurrent Deep Neural Network (BRDNN), or deep Q-Networks, and the like, but is not limited to the above-described example.

In an embodiment of the disclosure, the data obtainer631may include various processing circuitry and/or executable program elements and obtain data including a classification criterion of category of data, a classification level of category of data, a plurality of keywords, at least one sentence, etc., but the data that the data obtainer631may obtain is not limited thereto.

In an embodiment of the disclosure, the preprocessor633may include various processing circuitry and/or executable program elements and receive the data including the at least one sentence from the data obtainer631and perform a preprocessing process using the received data. For example, the preprocessing process may include a tokenization process, a cleaning process, a normalization process, a stemming process, a lemmatization process, a stopword removal process, a regular expression text preprocessing process, an integer encoding process, a one-hot encoding process, a subword segmentation process, etc.

In an embodiment of the disclosure, the word extender635may include various processing circuitry and/or executable program elements and receive the data on which the preprocessing process is performed from the preprocessor633and extend a word based on words included in the received data. For example, the word extender635may extend the word to words morphologically similar to words included in the data using an edit distance algorithm and extend the word to words semantically similar to the words included in the data using word embedding. Alternatively, the word expansion unit635may extend the word to the morphologically and semantically similar words.

In an embodiment of the disclosure, the weight calculator637may include various processing circuitry and/or executable program elements and receive the extended words from the word extender635and calculate a weight of each word. For example, the weight calculator637may calculate the weight of each extended word using the TF*IDF formula.

In an embodiment of the disclosure, the sentence embedding performer639may include various processing circuitry and/or executable program elements and receive the weight of each word from the weight calculator637to calculate an average weight and obtain a sentence vector based on the average weight. Also, the sentence embedding performer639may perform sentence embedding based on the sentence vector.

In an embodiment of the disclosure, the category determiner641may include various processing circuitry and/or executable program elements and receive a sentence embedding result from the sentence embedding performer639and determine a category of input data of which category the computing device600is to determine. For example, as a result of performing sentence embedding on the input data, the category determiner641may determine a category of the input data as a category having the most similar centroid.

FIG.7is a flowchart illustrating an example method of updating a classification system of category of data according to various embodiments.

Referring toFIG.7, in operation710, a computing device may obtain data including at least one sentence. In an embodiment of the disclosure, the data including the at least one sentence is data is not structured and may include unstructured data that does not have a predefined data model. For example, the unstructured data may include social media data including abbreviations, slang, new words, etc.

In operation720, the computing device may identify the classification system of category of data. In an embodiment of the disclosure, the classification system of category of data may include a classification system that a user of the computing device wants to classify the data, and may include a classification criterion of category of data, a plurality of keywords, etc., but is not limited thereto and may further include a classification level of category of data as a degree of detail of classification wanted by the user. According to an embodiment of the disclosure, the computing device may solve a disadvantage of supervised learning that is not classified into the classification system wanted by the user of the computing device by previously identifying the classification system of category of data.

In operation730, the computing device may input data including the identified classification system of category of data and the obtained at least one sentence into an unsupervised learning-based model. According to an embodiment of the disclosure, the computing device may improve the accuracy or scalability thereof using the unsupervised learning-based model, compared to a supervised learning-based model that is trained based on a label, that is, a category corresponding to a correct answer, together with input data.

In operation740, the computing device may determine whether the category of data is detected as an output of the unsupervised learning model. In an embodiment of the disclosure, when the category of data is detected based on the classification system of category of data (“Yes” in operation740), the computing device may perform operation750, and when the category of data is not detected or the category of data is detected differently from the classification system of category of data (“No” in operation740), the computing device may perform operation760.

In operation750, as a result of determining that the category is detected, the computing device may output the category of data. In an embodiment of the disclosure, the computing device may determine at least one category of data based on the classification system of category of data.

In operation760, as a result of determining that the category is not detected, the computing device may update the classification system of category of data. In an embodiment of the disclosure, when the category is not detected or a category different from the classification system of category of data is detected, the computing device may receive a classification criterion of category of data, a keyword, etc. from the user to update the classification system of category of data. According to an embodiment of the disclosure, when the detected category of data is not the category intended by the user, the computing device may more easily perform subject analysis than automatically performing clustering by updating the classification system of category of data and solve a problem in which the larger the category, the less accurate the classification, which is the problem of classification by supervised learning The computing device may perform operations720to750again after updating the classification system of category of data.

FIG.8is a flowchart illustrating an example method of determining a category of data according to a classification level according to various embodiments.

Referring toFIG.8, in operation810, a computing device may obtain data including at least one sentence. In an embodiment of the disclosure, operation810may correspond to operation710described above with reference toFIG.7.

In operation820, the computing device may identify a classification system of category of data. In an embodiment of the disclosure, the classification system of category of data is a classification system that a user of the computing device wants to classify the data, and may include a classification criterion of the category of data, a plurality of keywords, etc.,

In operation830, the computing device may identify a classification level of the category of data. In an embodiment of the disclosure, the computing device may identify the classification level of the category of data according to the degree of detail of the classification desired by the user. For example, when the user wants a detailed classification, the computing device may identify the classification level of the category of data as level 5, and when the user wants a rough classification, the computing device may identify the classification level of the category of data as level 1.

In operation840, the computing device may input the data obtained in operation810, the classification system of category of data identified in operation820, and the classification level of the category of data identified in operation840into an unsupervised learning model.

In operation850, the computing device may determine whether a category of data including at least one sentence is detected. In an embodiment of the disclosure, operation850may correspond to operation740described above with reference toFIG.7.

In operation860, as a result of determining that the category of data is detected (“Yes” in operation850), the computing device may identify the classification level of the category of data. In an embodiment of the disclosure, the computing device may determine the category of data according to the identified classification level.

In operations882,884, and886, the computing device may output a large category, a medium category, a small category, etc. according to the classification level of the category of data. For example, the computing device may output the large category as a result of identifying the classification level of the category of data as level 1. For another example, the computing device may output the medium category as a result of identifying the classification level of the category of data as level 2, and output the small category as a result of identifying the classification level of the category of data as level 3. However, this is only an example, and the computing device may output all or only some of the large category, the medium category, and the small category.

In operation870, as a result of determining that the category of data is not detected (“No” in operation850), the computing device may update the classification system of category of data. In an embodiment of the disclosure, operation870may correspond to operation760described above with reference toFIG.7.

FIG.9is a diagram illustrating an example method, performed by a server900, of determining a plurality of a category of data920according to various embodiments.

Referring toFIG.9, a computing device may obtain the data920including at least one sentence. In addition, the computing device may obtain a classification system of the category of the data920including classification criteria of the category of the data920and a plurality of keywords. The computing device may transmit the data920and the classification system of the category of the data920to the server900including a neural network910. The server900may determine at least one category with respect to the at least one sentence of the data920based on the data920and the classification system of the category of the data920received from the computing device.

In an embodiment of the disclosure, the server900may generate first training data by performing a preprocessing process and a sentence segmentation process on the at least one sentence included in the data920. In addition, the server900may generate second training data in which a semantic association group of words extends for each sentence based on the first training data. The server900may generate third training data obtained by performing sentence embedding based on the second training data, and may determine the at least one category according to the classification system of the a category of the data920based on the third training data. For example, the server900may obtain social media data “but I also want good array input and output—ideal input: 3 hdmi, 1 component, 1 composite, 1 VGA pc connection, 1 rca audio input, ideal output: Digital audio out, rca audio out, and HDMI ARC.” to determine a first category930corresponding to HDMI, a second category940corresponding to Parts, and a third category950corresponding to Audio, etc. In addition, the server900may determine a final category including at least one category from among a plurality of a category including the first category930, the second category940, and the third category950.

FIG.10is a diagram illustrating an example method of determining a plurality of category candidates of unstructured data using a first neural network1010and determining a final category1050using a second neural network1040according to various embodiments.

Referring toFIG.10, a computing device1000may obtain data1020including at least one sentence. In an embodiment of the disclosure, the computing device1000may include the first neural network1010. The first neural network1010may be a neural network that performs classification by unsupervised learning. Accordingly, the computing device1000may determine at least one category of the data1020using the first neural network1010. For example, the computing device1000may use the first neural network1010to determine Blur, Glare, Slim Panel, Burn In, etc. among Label candidates1030as a category candidate of the data1020, and determine a plasma display panel (PDP) that is not included in the Label candidates1030as a category candidate of the data1020. According to an embodiment of the disclosure, the computing device1000may update a classification system of category of the data1020including a classification criterion of the category of the data1020and a plurality of keywords based on determination that the PDP that is not included in the Label candidates1030is determined as the category candidate of the data1020, i.e., when a user of the computing device1000wants to obtain the PDP as the category of the data1020.

In an embodiment of the disclosure, the computing device1000may determine the final category1050using the second neural network1040among the plurality of category candidates obtained using the first neural network1010. For example, the computing device1000may obtain Glare and PDP among the plurality of category candidates including Blur, Glare, Slim Panel, Burn In, PDP, etc. as the final category1050using the second neural network1040. According to an embodiment of the disclosure, the computing device1000may classify the data1020based on a category wanted by the user by adding or correcting the classification system of the category of the data1020.

In an embodiment of the disclosure, the computing device1000may determine at least one category with respect to at least one sentence of the data1020using batch prediction. According to an embodiment of the disclosure, the computing device1000may predict at least one more accurate category using batch prediction that performs repetitive prediction.

FIG.11is a block diagram illustrating an example configuration of a computing device1100according to various embodiments.

Referring toFIG.11, the computing device1100may include a transceiver1110, a memory1120, and a processor (e.g., including processing circuitry)1130. However, not all of the components shown inFIG.11are indispensable components of the computing device1100. The computing device1100may be implemented by more components than the components shown inFIG.11, and the computing device1100may be implemented by fewer components than the components shown inFIG.11. In addition, the transceiver1110, the processor1130, and the memory1120may be implemented in the form of a single chip.

In an embodiment of the disclosure, the transceiver1110may communicate with an electronic device connected to the computing device1100by wired or wirelessly. For example, the transceiver1110may receive data from a server as input, and may receive a list of a plurality of a category of data from the server.

Various types of data such as programs such as applications and files may be installed and stored in the memory1120. The processor1130may include various processing circuitry and access and use the data stored in the memory1120or may store new data in the memory1120. In an embodiment of the disclosure, the memory1120may include a database. In addition, the memory1120may store a predefined operation rule or an artificial intelligence model used in the computing device1100. In an embodiment of the disclosure, the memory1120may store a classification system of category of data, a pre-built dictionary, etc. The memory1120may include a storage medium such as a ROM, a RAM, a hard disk, a CD-ROM, a DVD, or a combination of storage media. Also, the memory1120does not exist separately and may be included in the processor1130.

The processor1130may include various processing circuitry including, for example, one processor or a plurality of processors. In this case, one processor or the plurality of processors may be a general-purpose processor such as a CPU, AP, or Digital Signal Processor (DSP), a graphics-only processor such as a GPU, a Vision Processing Unit (VPU), or an artificial intelligence-only processor such as an NPU. Alternatively, when one processor or the plurality of processors are dedicated artificial intelligence processors, the artificial intelligence dedicated processor may be designed with a hardware structure specialized for processing a specific artificial intelligence model.

Also, the processor1130may control a series of processes such that the computing device1100may operate according to the above-described embodiment of the disclosure. The processor1130may control to process input data according to a predefined operation rule or an artificial intelligence model stored in the memory1120. The predefined operation rule or the artificial intelligence model may be created through training. Here, creating through training may refer, for example, to the basic artificial intelligence model being trained by a learning algorithm using a plurality of training data such that the predefined operation rule or the artificial intelligence model set to perform a wanted characteristic (or purpose) is created. Such training may be performed in the computing device1100itself on which artificial intelligence according to the disclosure is performed, or may be performed through a separate server and/or system. Examples of the learning algorithm include supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but are not limited to the above-described examples. The artificial intelligence model may include a plurality of neural network layers. Each of the plurality of neural network layers has a plurality of weight values and performs a neural network operation through an operation between an operation result of a previous layer and a plurality of weights. The plurality of weights of the plurality of neural network layers may be optimized by a training result of the artificial intelligence model. For example, the plurality of weights may be updated to reduce or minimize a loss value or a cost value obtained from the artificial intelligence model during a training process. The artificial neural network may include a deep neural network (DNN), for example, Convolutional Neural Network (CNN), Deep Neural Network (DNN), Recurrent Neural Network (RNN), Restricted Boltzmann Machine (RBM), Deep Belief Network (DBN), Bidirectional Recurrent Deep Neural Network (BRDNN), or deep Q-Networks, and the like, but is not limited to the above-described example.

In an embodiment of the disclosure, the processor1130may perform an operation for operating the computing device1100by executing the program stored in the memory1120. For example, the processor1130may identify a classification system of the category of data including a classification criterion of the category of data and a plurality of keywords, obtain unstructured data including at least one sentence, and using a neural network, determine at least one category with respect to the at least one sentence of the unstructured data according to the classification system of the category of data.

Some embodiments may be embodied in a non-transitory computer-readable recording medium including instructions executable by a computer such as a program module executed by the computer. A computer-readable medium may be any usable medium which may be accessed by the computer and includes all volatile/non-volatile and removable/non-removable media. Further, the computer-readable medium may include a computer storage medium. The computer storage medium includes all volatile/non-volatile and removable/non-removable media embodied by a certain method or technology for storing information such as computer-readable instructions, a data structure, a program module or other data.

The various example embodiments of the disclosure may be implemented as an software program including instructions stored in a non-transitory computer-readable storage media.

The computer, as a device capable of calling stored instructions from a storage medium and performing operations according to embodiments of the disclosure according to the called instructions, may include an electronic device according to embodiments of the disclosure.

The computer-readable storage medium may be provided as a non-transitory storage medium. Here, the ‘non-transitory’ storage medium may not include a signal or current and is tangible, but does not distinguish whether data is stored semi-permanently or temporarily in the storage medium.

In addition, the control method according to disclosed embodiments of the disclosure may be provided as a computer program product. The computer program product may include a product traded between a seller and a purchaser.

The computer program product may include a software (S/W) program and a computer-readable storage medium with an S/W program stored therein. For example, the computer program product may include a product (e.g., a downloadable application) that is electronically distributed as a software program through an electronic market (e.g., Google Play Store or AppStore) or a manufacturer of a device. For electronic distribution, at least a part of the software program may be stored in a storage medium or may be temporarily generated. In this case, the storage medium may be a server of the manufacturer, a server of the electronic market, or a storage medium of a relay server.

In a system including a server and a client device, the computer program product may include a storage medium of the server or a storage medium of the client device. When there is a third device (e.g., a smartphone) communicatively connected to the server or the client device, the computer program product may include a storage medium of the third device. The computer program product may include the S/VV program itself that is transmitted from the server to the client device or the third device or transmitted from the third device to the client device.

In this case, one of the server, the client device, and the third device may execute the computer program product to perform the method according to the described embodiments of the disclosure. Alternatively, two or more of the server, the client device, and the third device may execute the computer program product to perform the method according to the described embodiments of the disclosure in a distributed manner.

For example, the server (e.g., a cloud server or an AI server) may execute the computer program product stored in the server, to control the device communicatively connected to the server to perform the method according to the described embodiments of the disclosure.

For another example, the third device may execute the computer program product to control the device in communication with the third device to perform the method according to the embodiment of the disclosure. When the third device executes the computer program product, the third device may download the computer program product from the server and execute the downloaded computer program product. Alternatively, the third device may execute the provided computer program product provided in a preloaded manner to perform the method according to embodiments of the disclosure.

Also, the term “unit” used herein may be a hardware component such as a processor a circuit and/or a software component executed in a hardware component such as a processor.

While the disclosure has been illustrated and described with reference to various example embodiments thereof, it will be understood that the various example embodiments are intended to be illustrative, not limiting. It will be further understood by one of ordinary skill in the art that various changes in form and detail may be made without departing from the true spirit and full scope of the disclosure, including the following claims and their equivalents. For example, each component described in a single type may be executed in a distributed manner, and components described distributed may also be executed in an integrated form.