WO2017217661A1 - 어휘 의미망을 이용한 단어 의미 임베딩 장치 및 방법과, 어휘 의미망 및 단어 임베딩을 이용한 동형이의어 분별 장치 및 방법 - Google Patents

어휘 의미망을 이용한 단어 의미 임베딩 장치 및 방법과, 어휘 의미망 및 단어 임베딩을 이용한 동형이의어 분별 장치 및 방법 Download PDF

Info

Publication number
WO2017217661A1
WO2017217661A1 PCT/KR2017/005126 KR2017005126W WO2017217661A1 WO 2017217661 A1 WO2017217661 A1 WO 2017217661A1 KR 2017005126 W KR2017005126 W KR 2017005126W WO 2017217661 A1 WO2017217661 A1 WO 2017217661A1
Authority
WO
WIPO (PCT)
Prior art keywords
word
embedding
learning
semantic
data
Prior art date
Application number
PCT/KR2017/005126
Other languages
English (en)
French (fr)
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
Priority claimed from KR1020160074758A external-priority patent/KR101797365B1/ko
Priority claimed from KR1020160074761A external-priority patent/KR101799681B1/ko
Application filed by 울산대학교 산학협력단 filed Critical 울산대학교 산학협력단
Priority to US16/323,230 priority Critical patent/US10984318B2/en
Publication of WO2017217661A1 publication Critical patent/WO2017217661A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/247Thesauruses; Synonyms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/042Knowledge-based neural networks; Logical representations of neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • 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/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training

Definitions

  • the present invention relates to an apparatus and method for embedding word semantics using a lexical semantic network, and more particularly, to generate a word list to learn from the lexical semantic network and semantic information of words to be learned, and to generate the word list to learn
  • the present invention relates to an apparatus and method for embedding word semantics using a lexical semantic network, which enables word embedding learning with less word data through word embedding learning using semantic information of a word.
  • the present invention relates to homogeneous word discrimination devices and methods using lexical semantic networks and word embeddings, and more particularly, lists of words to learn from various resources (eg corpus, standard metabolic and lexical semantic networks), transformed corpus and By learning word embedding using word semantic data and by comparing similarities between homonyms and adjacent words, we can easily distinguish between homonyms for unlearned patterns, using lexical semantic networks and word embeddings.
  • a homologous discrimination apparatus and method are provided.
  • the method of converting a word represented by a letter into a number is important. If one-hot method is used to express a word, the vector dimension is determined according to the amount of words, and thus the word is represented as a high-dimensional vector.
  • the one-hot method represents a method of expressing the corresponding word as 1 and the rest as 0.
  • Word embedding is a method of expressing words in low-dimensional vectors using neural networks and large corpuses. Word embedding is used as pre-training before using natural language processing for deep learning. In addition, various research results using the word embedding itself are emerging.
  • Word embedding is initially taught using words that are adjacent to words to be learned in sentences using large corpuses.
  • the initial word embedding method learns that similar words are similar between words in the corpus. It is a way of learning through the positional approach of words rather than the semantic approach of words.
  • NNLM Neural Network Language Model
  • RNNLM Recurrent Neural Network Language Model
  • Word2Vec Word2Vec
  • corpus learning There are two methods of using contextual information to identify Korean homonyms: corpus learning and vocabulary network learning.
  • the former is a statistical learning method and the latter is a knowledge-based method.
  • the way to learn corpus is to learn patterns about adjacent phrases by learning large tagged corpus like Sejong corpus. This method stores all or part of adjacent words as they are, and stores all the words, some morphemes, parts of speech, or syllables as they are.
  • the conventional corpus learning method has no effect unless it has been directly learned. For example, suppose that "apple is a fruit.” This method works only when the apple is adjacent to the fruit. However, there is no such sentence in the Sejong corpus, and "apple is a plant.” Or even if a similar sentence exists in the corpus, such as "Apple is a fruit,” it will have no effect unless the 'fruit' does not appear directly. However, the rate at which apples are tagged with apples in individual morphological units can be measured and used. In this way, you can expect only as much accuracy as the baseline.
  • the conventional corpus learning method cannot handle the unlearned patterns at all, recently, it uses a vocabulary network such as WordNet, Korean Wordnet, or Korean WordMap. Research is being done. These methods have a similar problem as the corpus learning method in that they are not effective if they are not registered in the parent-child or verb-noun relationship. However, it can be estimated that the recall is partially higher. This is because most well-known nouns are registered in upper and lower networks, and the verb-noun relationship is created using only the minimum offset node in the upper and lower networks. Assuming a particular node is chosen at random, one can expect to have hundreds or thousands of subnodes below it. The problem of recall remains, however, because the verb-noun network itself is very poor. To alleviate this problem, the vocabulary must be supplemented at a high cost.
  • WordNet Korean Wordnet
  • Korean WordMap Korean WordMap
  • word embedding attempts have been made to apply it to various fields of natural language processing and natural language understanding.
  • a typical word embedding model is Word2Vec.
  • word embedding allows itself to group similar words together or to calculate the degree of semantic similarity or association between words.
  • the conventional corpus learning method has low accuracy for patterns that have never been learned.
  • Embodiments of the present invention generate the processing data using the word list to be learned in the lexical semantic network and the word semantic data of the words to be learned (e.g., dictionary meanings, upper words, antonyms, etc.), and have the generated processing data.
  • the word semantic data of the words to be learned e.g., dictionary meanings, upper words, antonyms, etc.
  • the feature mirror model and negative-sampling which is a modified skip-gram model of word semantic embedding, we can express the semantic relationships and associations of words as vectors.
  • An object and method for embedding word semantics using a lexical semantic network is provided.
  • word embedding learning is possible even with a small amount of learning data, and the learning time may take less.
  • An embedding apparatus and method are provided.
  • the embodiment of the present invention is efficient for low-frequency word learning by learning based on the meaning of the words to be learned, not simply word positional information that appears simply, and targets the words that appear in the dictionary.
  • An apparatus and method for word semantic embedding using a lexical semantic network, which can express many words as a vector, are provided.
  • the embodiment of the present invention since the embodiment of the present invention generates a word vector through word semantic embedding learning using word semantic data rather than conventional position-based word embedding, the relationship between words can be viewed through cosine similarity, and conventional word embedding.
  • An apparatus and method for embedding word semantics using a lexical semantic network which can find synonyms and synonyms which cannot be obtained in the present invention.
  • an embodiment of the present invention extends the list of words to be learned to adverbs, dependent nouns, and the like, and adds and applies semantic information of words, and an apparatus and method for word semantic embedding using a lexical semantic network are provided. To provide.
  • Embodiments of the present invention learn through word embedding learning using a list of words to learn, transformed corpus, and word semantic data from a variety of resources (eg, corpus, standard dictionary and lexical semantic networks), and similarity between homonyms and adjacent words. By comparing and comparing the homonyms, to provide a device and method for identifying homonyms using a lexical semantic network and word embedding that can accurately distinguish the homonyms for the non-learning pattern.
  • resources eg, corpus, standard dictionary and lexical semantic networks
  • the embodiment of the present invention performs word embedding learning using semantic information of real morphemes in the corpus rather than the conventional word embedding, the word embedding learning is possible even with a small amount of learning data, and the learning time may take less time. It is intended to provide an apparatus and method for distinguishing homonyms using network and word embedding.
  • the embodiment of the present invention is efficient for low-frequency word learning by learning based on the meaning of the words to be learned, not simply word positional information that appears simply, and targets the words that appear in the dictionary.
  • An object and method for distinguishing homonyms using a lexical semantic network and word embedding that can express many words as a vector is provided.
  • the embodiment of the present invention by generating the word vector by processing the word of the real morpheme and the adjacent word and the word semantic data (eg, the upper word) of the adjacent word, rather than the conventional position-based word embedding to generate a word vector, the relationship between words It is intended to provide an apparatus and method for identifying homologous words using a lexical semantic network and word embedding, which can be seen through cosine similarity.
  • a data storage unit for storing a lexical semantic network including word dictionary data and word semantic data;
  • a word list generation unit configured to extract a vocabulary having a predetermined part-of-speech from the stored word dictionary data to generate a word list for learning;
  • a processed data generation unit for generating the processed data by taking the word semantic data of the generated word list to be learned and the word to be learned included in the word list to be processed from the data storage unit and processing the word-embedded learning according to word embedding learning;
  • a word embedding learning unit including a word embedding learning unit configured to generate a word vector by learning a word to be trained through a word embedding learning using the generated input / output layer and the projection layer using the generated processing data.
  • the apparatus may further include a synonym calculation unit configured to calculate a synonym of an input word by calculating a cosine similarity using the generated word vector.
  • the synonym calculating unit receives a first input word and a second input word, extracts a predetermined number of synonyms using a cosine similarity of a word closest to the second input word, and cosine between the extracted synonyms and the first input word.
  • the similarity may be calculated to calculate a word having the highest similarity as a synonym of the first and second input words.
  • the synonym calculator may calculate a synonym whose attribute of an input word is changed through an attribute operation process of a word vector of an input word and a word vector of an attribute word having a predetermined attribute.
  • the word list generation unit may generate a word list to be learned by extracting vocabulary having a predetermined part of speech from a lexical semantic network in which nouns, verbs, adverbs, and dependent nouns are interconnected by semantic constraints.
  • the processing data generation unit may generate the processing data for learning using word semantic data including at least one of a meaning pool, an upper word, and an inverse of a word included in the generated word list to be learned.
  • the word embedding learning unit may learn a word to learn incorrect answers other than the processed data by using negative-sampling in word embedding.
  • the word embedding learning unit is a combination of input and output layers of a skip-gram in word embedding of the processed data in which the word to be learned and the word semantic data of the word to be learned are processed among the processed data.
  • a word vector may be generated by learning a word to be learned through a word embedding learning using a learning model including an input / output layer and a mirror layer on which each of the processed data is located.
  • the word embedding learning unit performs word embedding learning through a feedforward process and a back propagation process of word embedding learning, and a weight associated with word semantic data of a word to be learned in a backpropagation process. Instead of changing the value, you can change the weight value associated with the word to learn.
  • a word semantic embedding method using a lexical semantic network comprising a step of learning a word to be learned through a word embedding learning using a learning model including an input / output layer and a projection layer using the generated processing data.
  • the method may further include calculating a synonym of an input word by calculating a cosine similarity using the generated word vector.
  • the calculating of the synonym may include receiving first and second input words; Extracting a predetermined number of synonyms using a cosine similarity of the word closest to the second input word; And calculating a cosine similarity between the extracted synonyms and the first input word to calculate a word having the highest similarity as a synonym of the first and second input words.
  • the synonym whose attribute of the input word is changed may be calculated through an attribute calculation process of the word vector of the input word and the word vector of the attribute word having a predetermined attribute.
  • the generating of the word list to be learned may generate a word list to be learned by extracting vocabulary having a predetermined part of speech from a lexical semantic network in which nouns, verbs, adverbs, and dependent nouns are interconnected by semantic constraints.
  • the processed processing data may be generated using word semantic data including at least one of a meaning pool, an upper word, and an inverse of a word included in the generated word list to be learned.
  • negative-sampling in word embedding may be used to learn words to learn wrong answers other than the processed data.
  • the generating of the word vector may include an input layer and an output layer of a skip-gram in word embedding of the processed data of the processed word and the word semantic data of the learned word among the processed data.
  • a word vector may be generated by learning a word to be learned through a word embedding learning using a learning model including an input / output layer and a mirror layer on which the processed data are located.
  • the generating of the word vector may be performed by performing word embedding learning through a feedforward process and a back propagation process of word embedding learning, and the word semantic data of a word to be learned in the back provisioning process.
  • the weight value associated with the word to be learned can be changed without changing the weight value associated with.
  • a data storage unit for storing a corpus containing at least one or more learning words and a standard metabolic dictionary and lexical semantic network including word semantic data;
  • a word list generator for generating a word list to be learned from the corpus; Convert the convertible word semantic data from the word semantic data of the word to learn included in the generated word list into a corpus, and convert the generated word list, the converted corpus and the word semantic data into a word embedding learning.
  • a processing data generation unit for processing and generating processing data;
  • a word embedding learning unit configured to generate a word vector by learning a word to be learned through word embedding learning using the generated learning data including the input / output layer and the projection layer;
  • a lexical semantic classification device using a word semantic and a lexical semantic network including a homonym classification unit for comparing similarities between homologous words and adjacent words using the generated word vector and classifying homologous words according to the comparison result.
  • the data storage unit includes a corpus containing at least one learning phrase, a standard metabolic dictionary including words and meanings as word semantic data, and a lexical semantic network including word-noun relation information, upper words and antonyms as word semantic data. Can be stored.
  • the processed data generator may convert at least one of a corpus including at least one learning phrase, a usage and a meaning included in a standard metabolic dictionary, and verb-noun relationship information included in a lexical semantic network into a corpus form.
  • the processed data generation unit may process the word adjacent to the word to be learned and the upper word of the adjacent word as the adjacent word of the word to be learned, or the verb-noun relationship information as the adjacent word of the word to be learned in the converted corpus. can do.
  • the word embedding learning unit combines the input data and the output layer of a skip-gram in word embedding of the processed data in which the word to be learned, the adjacent word, the verb-noun relationship information, and the antonym are processed, among the processed data, respectively.
  • a word vector may be generated by learning a word to be trained through a word embedding learning using a learning model including an input / output layer and a mirror layer on which each piece of processed data is located.
  • the word embedding learning unit performs word embedding learning through a feedforward process and a back propagation process of word embedding learning, and a weight value connected to the processing data of the word to be learned in the backpropagation process. You can change the weight value associated with the word you want to learn without changing.
  • the word embedding learning unit may learn a word to learn incorrect answers other than the processed data by using negative-sampling in word embedding.
  • the word embedding learning unit may generate a word vector of real morphemes adjacent to a word to be learned through word embedding learning and excludes a survey or a mother.
  • the homologous word classification unit may distinguish homologous words by comparing similarities between real morphemes of homologous words to be classified and real morphemes of adjacent words using the generated word vectors of real morphemes.
  • generating a word list to learn from a corpus containing at least one or more learning words Converting convertible word semantic data into a corpus from word semantic data of words to be learned included in the generated word list; Generating the processed data by processing the generated word list to be learned, the converted corpus, and the word semantic data in accordance with word embedding learning; Generating a word vector by learning words to be learned through word embedding learning using a learning model including an input / output layer and a projection layer using the generated data; And comparing the similarities between homologous words and adjacent words using the generated word vector and classifying homologous words according to the comparison result.
  • the homologous word classification method using a lexical semantic network and word embedding may be provided. .
  • the converting to the corpus may convert the convertible word semantic data into a corpus from a standard metabolic dictionary including usage and semantic and word semantic data in a lexical semantic network including word-noun relationship information, upper term and antonym. have.
  • the converting to the corpus may include converting at least one of a corpus including at least one learning phrase, examples and meanings included in a standard metabolic dictionary, and verb-noun relationship information included in a lexical semantic network into a corpus form. .
  • the generating of the processed data may include processing the word adjacent to the word to be learned and the upper word of the adjacent word as the adjacent word of the word to be learned, or the verb-noun relationship information in the converted corpus. Can be treated as words.
  • the generating of the word vector may include an input layer of a skip-gram in word embedding of the processed data in which the word to be learned, the adjacent word, the verb-noun relationship information, and the antonym are processed, among the processed data;
  • the word vector may be generated by learning the words to be learned through the word embedding learning using the learning model including the input / output layer and the mirror layer on which the processed data is located, in which the output layers are combined.
  • the generating of the word vector may include performing word embedding learning through a feedforward process and a back propagation process of word embedding learning, and processing of the word data to be learned during the backpropagation process. You can change the weight value associated with the word to learn without changing the weight value associated with it.
  • negative-sampling in word embedding may learn a word to learn incorrect answers other than the processed data.
  • the generating of the word vector may generate a word vector of real morphemes adjacent to the word to be learned through the word embedding learning and excluding the survey or the mother.
  • the discriminating the homologous word may distinguish the homologous word by comparing the similarity between the real morpheme of the homologous homolog and the real morpheme of the adjacent word using the generated word vector of the real morpheme.
  • word embedding learning is performed using semantic information rather than conventional word embedding, word embedding learning can be performed with little learning data and learning time can be taken.
  • the embodiment of the present invention is efficient for low-frequency word learning by learning based on the meaning pool of words to be learned, rather than simply displaying positional information.
  • Many words can be represented as vectors.
  • the embodiment of the present invention performs word semantic embedding learning as compared to conventional word embedding, the relationship of words can be viewed through cosine similarity, and synonyms and synonyms which can not be obtained in the conventional word embedding can be found. have.
  • the embodiment of the present invention can extend the list of words to be learned to adverbs, dependent nouns, and the like, and may be applied by adding semantic information of words.
  • an embodiment of the present invention may be capable of inferring human-level meaning using a word vector through word meaning embedding learning.
  • Embodiments of the present invention learn through word embedding learning using a list of words to learn, transformed corpus, and word semantic data from a variety of resources (eg, corpus, standard dictionary and lexical semantic networks), and similarity between homonyms and adjacent words. By comparing, the homologous words can be distinguished precisely from the unlearned patterns.
  • resources eg, corpus, standard dictionary and lexical semantic networks
  • word embedding learning using semantic information of real morphemes is performed on a corpus rather than conventional word embedding, word embedding learning can be performed with little learning data and the learning time may take less time.
  • the embodiment of the present invention is efficient for low-frequency word learning by learning based on the meaning of the words to be learned, not simply word positional information that appears simply, and targets the words that appear in the dictionary. Many words can be represented as vectors.
  • the embodiment of the present invention by generating the word vector by processing the word of the real morpheme and the adjacent word and the word semantic data (eg, the upper word) of the adjacent word, rather than the conventional position-based word embedding to generate a word vector, the relationship between words Can be seen through cosine similarity.
  • FIG. 1 is a block diagram of a word meaning embedding apparatus using a lexical semantic network according to an embodiment of the present invention.
  • FIG. 2 is an explanatory diagram of a learning model including an input / output layer and a mirror layer according to an embodiment of the present invention.
  • FIG. 3 is an explanatory diagram of a skip-gram model in a conventional word embedding.
  • FIG. 4 is an explanatory diagram of a feature mirror model in the word meaning embedding apparatus according to an embodiment of the present invention.
  • FIG. 5 is an exemplary diagram of a morphological unit learning process using a conventional skip-gram model.
  • FIG. 6 is an exemplary diagram for a word embedding learning process using a feature mirror model according to an embodiment of the present invention.
  • FIG. 7 is a flowchart illustrating a word meaning embedding method using a lexical semantic network performed by a word meaning embedding apparatus according to an exemplary embodiment of the present invention.
  • FIG. 8 is a detailed flowchart illustrating a word list, processing data and a word embedding learning process in the word semantic embedding method according to an embodiment of the present invention.
  • FIG. 9 is a block diagram of a homogeneous word discrimination apparatus using a lexical semantic network and word embedding according to an embodiment of the present invention.
  • FIG. 10 is an explanatory diagram of a feature mirror model that is a modified skip-gram model in a homogeneous classification apparatus according to an embodiment of the present invention.
  • FIG. 11 is a flowchart illustrating a method for classifying homologous words using a lexical semantic network and word embedding performed by the homologous word discrimination apparatus according to an embodiment of the present invention.
  • FIG. 1 is a block diagram of a word meaning embedding apparatus using a lexical semantic network according to an embodiment of the present invention.
  • the word semantic embedding apparatus 100 using the lexical semantic network includes a data storage unit 110, a word list generator 120, and a processed data generator 130. , The word embedding learning unit 140 and the synonym calculating unit 150.
  • the word semantic embedding apparatus 100 generates a word list to be learned from a lexical semantic network, and compares a dictionary meaning of words included in the generated word list to be learned, upper words and antonyms of words. To generate the machining data.
  • the word semantic embedding apparatus 100 expresses semantic relations and associations of words as word vectors through word embedding learning in which negative sampling and skip-gram methods in word embedding are modified. It is to.
  • the word meaning embedding apparatus 100 is not only Korean, but also English (WordNet), Chinese (HowNet), etc., in which a lexical semantic network including word dictionary data and word semantic data may be constructed. Applicable to the language.
  • the data storage unit 110 stores a lexical semantic network including word dictionary data and word semantic data.
  • the word dictionary data may include words contained in the word dictionary.
  • the word semantic data may include word semantic information of words included in a word dictionary.
  • word semantic data may include a definition of a word (definition), an upper word, an antonym, a usage example, and the like.
  • the word meaning embedding apparatus 100 uses a lexical semantic network (UWordMap) as the type of words to be learned and the word semantic data.
  • the lexical semantic network is referred to as a lexical map.
  • a lexical semantic network is a lexical semantic network in which nouns, verbs, and adverb vocabulary are interconnected by semantic constraints based on standard dictionaries.
  • the word list generator 120 extracts vocabulary having a predetermined part-of-speech from the word dictionary data stored in the data storage 110 to generate a word list to be learned.
  • the word list generator 120 may generate a word list for learning using a lexical semantic network in which at least one vocabulary among nouns, verbs, adverbs, and dependent noun vocabularies is interconnected.
  • the word list generation unit 120 constitutes a word to be used for learning, except for specific local words (eg, North Korean), dialect, and dependent nouns for nouns and verbs among words existing in the lexical semantic network. You can create a list of 387,152 words to learn or build into a database at the homonym level.
  • the processing data generation unit 130 imports the word semantic data of the words included in the word list to be learned generated by the word list generation unit 120 from the data storage unit 110 and processes the word semantic data in accordance with the word embedding learning to process the processing data for learning. Create
  • the processed data generation unit 130 uses the word semantic data including at least one of a meaning pool, a higher word, and an inverse of a word included in the word list to be learned generated by the word list generation unit 120, and the processed data for learning.
  • the processing data generation unit 130 uses nouns and verbs appearing in the word dictionary list as word processing in the word dictionary.
  • the processing data generation unit 130 uses upper words and antonyms of nouns as processing data.
  • the processing data generation unit 130 generates processing data by processing each word into an input value and an output value expressed in a one-hot manner according to the word embedding learning.
  • the word embedding learning unit 140 generates a word vector by learning a word to learn through word embedding learning using a learning model composed of an input / output layer and a projection layer based on the processed data generated by the processed data generator 130. .
  • the word embedding learning unit 140 performs word embedding learning using a learning model including one input / output layer and a mirror layer in which an input layer and an output layer of skip-grams in word embedding are combined. Create a word vector by learning words to learn through.
  • the word embedding learning unit 140 generates a word vector by learning a word to be trained through word embedding learning using a learning model including an input / output layer and a mirror layer on which each processed data is located.
  • the word embedding learner 140 does not change the weight value associated with the output word in the back propagation process of the word embedding learning, but changes the weight value associated with the input word.
  • the word embedding learning unit 140 may learn a word to learn incorrect answers other than the processed data by using negative-sampling in the word embedding.
  • the word embedding learning unit 140 performs negative-sampling on the antonym.
  • the word embedding learning unit 140 learns by setting the output value to 0 only in the case of antonym.
  • the word embedding learning unit 140 performs negative-sampling on other homologous words of the words to be learned. For example, when learning about apple_05 / NNG, the word is' apple 'and other morphemes (eg apple_08 / NNG) whose parts of speech are NNG' may be negatively sampled.
  • the word meaning embedding apparatus 100 constructs a word list using word dictionary data in a lexical semantic network.
  • the generated word list and word semantic data of the lexical semantic network (for example, a semantic solution, a high word, and an antonym) generate processed data.
  • the word semantic embedding apparatus 100 uses the generated processed data to determine the word embedding.
  • a word vector is generated using a learning model modified with skip-gram to generate a word vector.
  • the word meaning embedding apparatus 100 may further include a synonym calculator 150 when calculating a synonym using a word vector.
  • the synonym calculator 150 calculates a synonym of the input word by calculating a cosine similarity using the word vector generated by the word embedding learner 140.
  • the synonym calculator 150 receives first and second input words.
  • the synonym calculating unit 150 extracts a predetermined number of synonyms using a cosine similarity for the word closest to the second input word, and calculates the cosine similarity between the extracted synonyms and the first input word with the highest similarity. Calculate a word having a synonym of the first and second input words.
  • the synonym calculator 150 calculates a synonym whose attribute of an input word is changed through an attribute calculation process of a word vector of an input word and a word vector of an attribute word having a predetermined attribute.
  • Word embedding is a method of converting characters into vectors that the computer can understand. Word embeddings are trained as low-order vectors using artificial neural networks.
  • a word list of 387,152 nouns and verbs was constructed using a lexical semantic network. Generated.
  • the word semantic embedding apparatus 100 learns using a learning model and a negative-sampling modified from the skip-gram method of word embedding.
  • the word meaning embedding apparatus 100 according to an embodiment of the present invention may be able to learn quickly through less data than conventional word expression methods and may show that words having semantic similarities are adjacent to each other. This shows that simple combinations of word vectors can be meaningful.
  • FIG. 2 is an explanatory diagram of a learning model including an input / output layer and a mirror layer according to an embodiment of the present invention.
  • the word semantic embedding apparatus 100 transforms a conventional word embedding or a skip-gram of Word2Vec to learn each word.
  • the input value and the result value of the processing data are expressed and used in a one-hot method.
  • the word meaning embedding apparatus 100 expresses each word as a 50-dimensional word vector.
  • the word meaning embedding apparatus 100 learns the word A through the 201 and 202 edges using a weight value connected to the word B in order to learn the word A through the learning model.
  • the word meaning embedding apparatus 100 changes the actual weight value, only the weight 204 connected to the word A to be learned is changed, and the weight value 203 connected to the word B is not changed.
  • This learning model is used to include information about words associated with word B in the word embedding result of word A. And the learning model as shown in Figure 2 is used to obtain the semantic chain effect between words.
  • the word meaning embedding apparatus 100 learns by setting the output value to 0 as the output value for the meaning solution and the upper word, and sets the output value to 0 only in the case of the opposite word.
  • the word meaning embedding apparatus 100 may increase the accuracy of learning by learning incorrect words other than the learning data to each word by using negative-sampling.
  • FIG. 3 is an explanatory diagram of a skip-gram model in a conventional word embedding.
  • the conventional skip-gram model is an artificial neural network constructed using three layers of an input layer, a projection layer, and an output layer.
  • the input layer contains the words to be learned in one-hot form.
  • the output layer contains the first two words (w (t-2), w (t-1)) and two words (w (t + 1), w (t + 2)) of the words used in the input layer. Done.
  • the edges between the input layer and the projection layer and the edges between the projection layer and the output layer have different values ( )
  • FIG. 4 is an explanatory diagram of a feature mirror model in the word meaning embedding apparatus according to an embodiment of the present invention.
  • the feature mirror model according to an embodiment of the present invention is composed of two layers (Layer).
  • the feature mirror model is composed of one input / output layer and a mirror layer in which the input layer and the output layer of the conventional skip-gram model are combined.
  • a word to be learned (x) and word semantic data of the word to be learned are processed into a one-hot form.
  • the word semantic data may include a word definition, a hypernym, an antonym, and the like.
  • the word meaning embedding apparatus 100 performs word embedding learning through a feedforward process and a back propagation process of word embedding learning.
  • the word meaning embedding apparatus 100 changes the weight value associated with the word to be learned without changing the weight value associated with the word semantic data of the word to be learned in the back propagation process.
  • the word meaning embedding apparatus 100 may include only an edge (weight) connected to a word to be learned, that is, a target word (x (target)). It does not change the edges (weights) associated with word semantics, upper words and antonyms of words to be learned.
  • FIG. 5 is an exemplary diagram of a morphological unit learning process using a conventional skip-gram model.
  • the conventional word embedding method learns by using the surrounding words of the word to be learned in the sentence.
  • the surrounding words that is, the surrounding morphemes “school”, “in”, “eat” and “eat”
  • the surrounding word is used for word embedding.
  • the word adjacent to the word to be learned in the sentence is used in the word embedding method.
  • the conventional word embedding method recommends using many corpus.
  • FIG. 6 is an exemplary diagram for a word embedding learning process using a feature mirror model according to an embodiment of the present invention.
  • the word meaning embedding apparatus 100 means the words “apple” and “fruit” that extract nouns and verbs from the fruit of an apple tree, which is an apple's meaning. Use data as processing data.
  • the word meaning embedding apparatus 100 adds "fruit” which is the upper term of the word to be learned as "apple” as processed data of an apple.
  • the processing data is not added to the antonym because there is no antonym of the word "apple” to be learned. However, if there is an antonym, add an antonym.
  • the word embedding learning is performed according to the process 601 to 604 using the learning model on the right side.
  • Vector of an apple Denotes the sum of the apple vectors multiplied by the apple tree vectors.
  • Equation 1 represents the equation for calculating the output value between the apple and apple tree.
  • Equation 1 the apple vector and the apple tree vector are multiplied, and then the sum of all the sums is used to obtain the output value using the sigmoid function shown in Equation 2 above.
  • the error value is Output value from It is expressed by subtracting.
  • the word embedding learning unit 140 uses an error value E Find the amount of change in. After the word embedding learning unit 140 obtains the amount of change Only the amount of change is applied. That is, the word embedding learning unit 140 applies the amount of change only to the weight 604 connected to the apple, and does not apply the amount of change to the weight 603 connected to the apple tree.
  • the word meaning embedding apparatus 100 since the word meaning embedding apparatus 100 according to an exemplary embodiment of the present invention learns using only semantic information such as a semantic word of a word, an upper word, and an opposite word, the word meaning embedding apparatus 100 may learn with less data than a conventional learning model. For example, the word meaning embedding apparatus 100 requires 2.5 to 3 million learning data to learn a total of 387,152 words. That is, the word meaning embedding apparatus 100 may perform word embedding learning using less processing data.
  • FIG. 7 is a flowchart illustrating a word meaning embedding method using a lexical semantic network performed by a word meaning embedding apparatus according to an exemplary embodiment of the present invention.
  • the word semantic embedding apparatus 100 using the lexical semantic network generates a word list to learn by extracting vocabulary having a predetermined part-of-speech from word dictionary data (S101).
  • the word meaning embedding apparatus 100 generates processed data using word semantic data of words to be learned included in the generated word list.
  • the word semantic embedding apparatus 100 imports word semantic data from the lexical semantic network stored in the data storage 110.
  • the word meaning embedding apparatus 100 generates a word vector through word meaning embedding learning using the generated processing data (S103).
  • the word meaning embedding apparatus 100 receives an input word and calculates a synonym using the word vector of the input word (S104).
  • FIG. 8 is a detailed flowchart illustrating a word list, processing data and a word embedding learning process in the word semantic embedding method according to an embodiment of the present invention.
  • the word semantic embedding apparatus 100 may request a processing data generation process and a word embedding learning process for the word embedding learning through the program main 810 and return the result.
  • the program main 810 requests the word list generation unit 120 and the processing data generation unit 130 to generate processing data for word meaning embedding (S201).
  • the word list generator 120 requests word dictionary data, that is, dictionary information of words, from the data storage 110 (S202).
  • the word list generator 120 receives word dictionary data, that is, dictionary information of a word, from the data storage 110 (S203).
  • the word list generator 120 extracts predetermined parts of speech (eg, nouns, verbs, etc.) from the returned word dictionary data to generate a word list to be learned (S204).
  • the word list is assigned an index number for each word.
  • the processed data generation unit 130 requests the data storage unit 110 for word semantic data of the word to be learned (eg, a word solving, upper word, antonym, etc.) included in the word list to be learned (S205). .
  • word semantic data of the word to be learned eg, a word solving, upper word, antonym, etc.
  • the processed data generator 130 receives word semantic data from the data storage 110 (S206).
  • the processed data generating unit 130 generates processed data using a word list to be learned and word semantic data (eg, word definition (definition), upper word, antonym, etc.) (S207).
  • word semantic data eg, word definition (definition), upper word, antonym, etc.
  • the machining data generator 130 returns the generated machining data to the program main 810 (S208).
  • the program main 810 requests the word embedding learning unit 140 to learn about word semantic embedding using the returned processing data (S209).
  • the word embedding learning unit 140 generates a word vector by learning a word to be learned through word embedding learning using a feature mirror model based on the processed data (S210).
  • the word embedding learning unit 140 returns the learning result of the word meaning embedding, that is, the word vector to the program main 810 (S211).
  • the conventional technologies include NNLM, Ranking (hinge loss), Ranking (logit loss), word2vec.
  • the word meaning embedding apparatus 100 is calculated using cosine similarity as shown in Equation 4 below.
  • a and B represent word vectors of two words A and B, respectively.
  • the word semantic embedding apparatus 100 uses semantic information, upper words, antonyms, and the like which are semantic information of words, similar words in meaning form similar vectors.
  • Table 1 shows the result of searching for a synonym similar to "Seoul__01 / NNP" according to the prior art.
  • [Table 2] shows the search results similar to "Seoul__01 / NNP" by the word meaning embedding apparatus 100 according to an embodiment of the present invention.
  • the word meaning embedding apparatus 100 receives the semantic information of “Seoul__01 / NNP” strongly and the capital of each country. was the name of the capital city.
  • words having a sentence structure similar to that of “Seoul” appear as synonyms, resulting in a mixture of capital and city, or a mixture of city and phrase.
  • the word meaning embedding apparatus 100 generated a word list consisting of 387,152 nouns and words through a lexical semantic network.
  • the word semantic embedding apparatus 100 converts the word semantic embedding apparatus into a 50-dimensional vector through word embedding learning on the processed data using the generated word list and the word semantic data.
  • Table 3 shows the result of searching for a synonym for one word.
  • Table 3 shows a list of words that are closest to each other using cosine similarity. Words with similar or identical superwords in the meaning of each word appear. However, in the case of 'fruits', the word meaning the tree where the fruit is opened, such as 'sil fruit tree', may come close.
  • Table 4 shows the results of calculating the synonyms of the two nouns.
  • [Table 4] shows the result of extracting 200 words using cosine similarity by first inputting two nouns and first, a word close to the input word 2.
  • the cosine similarity between the extracted 200 words and the input word 1 is obtained and is the result of the word with the highest similarity.
  • [Table 5] shows the result of subtracting (-) and adding (+) a specific attribute of a word.
  • [Table 5] shows words having high similarity by using a cosine similarity to a value obtained by simply subtracting a vector of a specific attribute word from a vector of input words.
  • the word meaning embedding apparatus 100 performs word embedding learning using semantic information of words in a lexical map, that is, a lexical semantic network, rather than a conventional corpus-based word embedding method.
  • the word semantic embedding apparatus 100 since the word semantic embedding apparatus 100 according to the embodiment of the present invention performs word embedding learning using semantic information rather than conventional word embedding, word embedding learning is possible with little learning data, and the learning time is small. There is an advantage.
  • the word meaning embedding apparatus 100 is efficient for low-frequency word learning and targets words that appear in a dictionary because of the meaning of the words to be learned, rather than simply the positional information that appears. Therefore, more words can be represented by vectors than conventional word embeddings.
  • the word meaning embedding apparatus 100 since the word meaning embedding apparatus 100 according to an embodiment of the present invention performs the word meaning embedding learning as compared to the conventional word embedding, the relationship between words can be viewed through cosine similarity.
  • the word meaning embedding apparatus 100 may find a synonym relationship or a synonym which cannot be obtained in the conventional word embedding.
  • the word meaning embedding apparatus 100 can expand and learn a list of words to be learned, including adverbs and dependent nouns, and may add and apply semantic information of words.
  • word meaning embedding apparatus 100 it may be possible to infer a human level meaning using a word vector through word meaning embedding learning.
  • FIG. 9 is a block diagram of a homogeneous word discrimination apparatus using a lexical semantic network and word embedding according to an embodiment of the present invention.
  • the homonym classification apparatus 200 using the lexical semantic network and word embedding may include a data storage 210, a word list generator 220, and a processed data generator. 230, a word embedding learning unit 240, and a homonym discrimination unit 250.
  • the homonym discrimination apparatus 200 learns various resources by using a feature mirror model, which is a modified skip-gram model of word embedding, and uses a word vector of a real morpheme. Create
  • the homonym classification apparatus 200 first generates a word list to be learned from the corpus 211.
  • the homonym classification apparatus 200 learns by converting the usage of the corpus 211, the standard metabolic dictionary 212 including a learning word into a corpus form.
  • the homonym classification apparatus 200 learns by converting the verb-noun relationship of the lexical semantic network 213 into the form of a corpus.
  • the homonym discrimination apparatus 200 may learn by using the upper term of the lexical semantic network 213 and the meaning of the standard metabolic dictionary 212.
  • the antonym of the lexical semantic network 213 is used for negative-sampling. All learning resources used are tagged at the homonym level.
  • the homologous word discrimination apparatus 200 generates a morpheme word vector as a result of learning through such word embedding learning.
  • the apparatus for distinguishing homomorphic words 200 may distinguish homomorphic terms by calculating similarities between two morphemes using a word vector of a morpheme.
  • the homonym discrimination apparatus 200 is not only Korean, but also English (WordNet) and Chinese (HowNet) in which a corpus 211, a standard metabolic dictionary 212, and a lexical semantic network 213 may be constructed. Applicable to all languages such as
  • the data storage 210 stores a corpus 211 including at least one learning word, a standard metabolic dictionary 212 and a lexical semantic network 213 including word semantic data.
  • the data storage unit 210 includes a corpus 211 including at least one learning word, a standard metabolism 212 including word usage data and usage examples, and word-noun relationship information, upper word and antonym word.
  • the lexical semantic network 213 included as semantic data is stored.
  • the corpus 211 is a predetermined corpus, and the Sejong corpus may be applied.
  • the homonym classification apparatus 200 uses a corpus 211, a standard metabolic dictionary 212, and a lexical semantic network 213 as types of words to be learned and word semantic data.
  • the lexical semantic network 213 is referred to as a lexical map.
  • the lexical semantic network 213 refers to a lexical semantic network in which nouns, verbs, and adverb vocabulary are interconnected with semantic constraints based on a standard dictionary.
  • the word list generator 220 generates a word list to be learned from the corpus 211 stored in the data storage 210.
  • the processing data generator 230 obtains the word semantic data of the words included in the word list to be learned generated by the word list generator 220 from the data storage 210 and processes the word semantic data to match the word embedding learning to process the processing data. Create
  • the processed data generator 230 converts the convertible word semantic data from the word semantic data of the word to be learned included in the word list to be learned generated by the word list generator 220 into corpus.
  • the processing data generator 230 may include a corpus 211 including at least one learning word, a usage example included in the standard metabolic dictionary 212, and a verb-noun relationship included in the lexical semantic network 213. Convert at least one piece of information into a corpus.
  • the processed data generator 230 may process the word adjacent to the word to be learned and the upper word of the adjacent word as the adjacent word of the word to be learned, or the term-noun relationship information in the converted corpus. Can be treated as a word.
  • the processing data generator 230 generates the processing data by processing the generated word list to be learned, the converted corpus and the word semantic data according to the word embedding learning.
  • the word embedding learning unit 240 generates a word vector by learning words to be learned through word embedding learning using a learning model composed of an input / output layer and a projection layer using the processed data generated by the processed data generator 230.
  • the word embedding learning unit 240 may generate a word vector of real morphemes adjacent to the word to be learned and excludes a survey or a mother through word embedding learning.
  • the word embedding learning unit 240 performs word embedding learning using a learning model including an input / output layer and a mirror layer in which an input layer and an output layer of skip-grams in word embedding are combined. Create a word vector by learning words to learn through.
  • the word embedding learning unit 240 generates a word vector by learning a word to be learned through word embedding learning using a learning model including an input / output layer and a mirror layer on which each piece of processed data is located.
  • the word embedding learning unit 240 inputs skip-grams in word embedding of processed data in which words to be learned, adjacent words, verb-noun relationship information, and antonyms are processed from among the processed data.
  • the layer and the output layer are placed in one combined input and output layer.
  • the word embedding learning unit 240 generates a word vector by learning a word to be trained through a word embedding learning using a learning model including an input / output layer and a mirror layer on which each processed data is located.
  • the word embedding learning unit 240 performs the word embedding learning through a feedforward process and a back propagation process of the word embedding learning.
  • the word embedding learning unit 240 changes the weight value associated with the word to be learned without changing the weight value associated with the processing data of the word to be learned in the back provisioning process.
  • the word embedding learning unit 240 may learn a word to learn incorrect answers other than the processed data by using negative-sampling in word embedding.
  • the word embedding learner 240 performs negative-sampling on the antonym.
  • the word embedding learning unit 240 learns by setting the output value to 0 only in the case of antonym.
  • the word embedding learning unit 240 performs negative-sampling on other homologous words of the words to be learned. For example, when learning about apple_05 / NNG, the word is' apple 'and other morphemes (eg apple_08 / NNG) whose parts of speech are NNG' may be negatively sampled.
  • the homonym discrimination unit 250 compares similarities between homonyms and adjacent words using the word vector generated by the word embedding learning unit 240 and classifies the homonyms according to the comparison result.
  • the homologous word discrimination unit 250 uses a word vector of a real morpheme. That is, the homonym discrimination unit 250 can distinguish homomorphic terms by comparing the similarity between the real morphemes of the homomorphic to be classified and the real morphemes of adjacent words using the word vectors of the real morphemes generated by the word embedding learning unit 240. have.
  • the homonym discrimination apparatus 200 learns by treating not only corpus but also usage and semantics as simple corpus.
  • the homologous word discrimination apparatus 200 generates a word to appear in the next word or morpheme of the word to be learned in the converted corpus as processed data.
  • the homonym classification apparatus 200 uses the upper term, the antonym, and the verb-noun relationship as processing data.
  • the usage of the corpus 211 and the standard metabolism 212 is treated as a corpus.
  • Conventional word-to-beck and other known word embedding models target English and English corpus.
  • the word embedding learning is performed by changing the characteristics of each language to be applied to not only English but also other languages (eg, Korean, which is a deadlock).
  • the endings such as 'to', 'to', or 'to' or 'to' in Korean may use a word vector.
  • the word embedding learning unit 240 generates a word vector for real morphemes such as general nouns (NNG), verbs (VV), adjectives (VA), and the like.
  • the word embedding learning unit 240 uses only real morphemes immediately adjacent to the converted corpus to use the word embedding learning.
  • the word embedding learning unit 240 may perform negative-sampling whenever the adjacent morpheme is learned a predetermined number of times (eg, once).
  • the word embedding learning unit 240 performs negative-sampling on other homomorphisms of the same morpheme as the real morphemes of the randomly selected homologous words. For example, when the word embedding learning unit 240 learns about 'apple _05 / NNG', the morpheme is' apple 'and other morphemes (apple _08 / NNG, etc.) whose parts of speech are general nouns (NNG)' Perform negative-sampling.
  • the homonym classification apparatus 200 uses the upper term, the antonym, and the verb-noun relationship information.
  • the processing data generating unit 230 processes the adjacent word and at the same time processes the upper word of the word in the same manner as the adjacent word.
  • the word embedding learner 240 performs negative-sampling on the antonym.
  • the homonym classification apparatus 200 may learn the verb-noun relationship information after this process is performed once for the whole converted corpus.
  • the homonym classification apparatus 200 may learn by processing the words and nouns in the word-noun relationship network as being adjacent to each other.
  • the homonym discrimination apparatus 200 is a skip-gram (Skip-Gram) of the conventional word embedding or Word2Vec to learn each word We use a modified learning model and negative-sampling.
  • the input value and the result value of the processing data are expressed and used in a one-hot method.
  • the homonym classification apparatus 200 expresses each word as a 50-dimensional word vector.
  • the homonym discrimination apparatus 200 learns the word A through 201 and 202 edges by using a weight value connected to the word B in order to learn the word A through the learning model.
  • the homonym classification apparatus 200 changes the actual weight value, only the weight 204 associated with the word A to be learned is changed, and the weight 203 associated with the word B is not changed.
  • This learning model is used to include information about words associated with word B in the word embedding result of word A. And the learning model as shown in Figure 2 is used to obtain the semantic chain effect between words. At this time, the homonym classification apparatus 200 learns by setting the output value to 0 for the opposite word and the upper word, and sets the output value to 0 only for the counterword.
  • the homonym discrimination apparatus 200 may increase the accuracy of learning by learning incorrect words other than the learning data to each word using negative-sampling.
  • the conventional skip-gram model is an artificial neural network constructed using three layers of an input layer, a projection layer, and an output layer.
  • the input layer contains the words to be learned in one-hot form.
  • the output layer contains the first two words (w (t-2), w (t-1)) and two words (w (t + 1), w (t + 2)) of the words used in the input layer. Done.
  • the edges between the input layer and the projection layer and the edges between the projection layer and the output layer have different values ( )
  • FIG. 10 is an explanatory diagram of a feature mirror model in a homogeneous classification apparatus according to an embodiment of the present invention.
  • the feature mirror model according to an embodiment of the present invention consists of two layers (Layer).
  • the feature mirror model is composed of one input / output layer and a mirror layer in which the input layer and the output layer of the conventional skip-gram model are combined.
  • word semantic data of a word to be learned (X (t)) and a word to be learned (X (t)) is processed into a one-hot form.
  • the word semantic data of the word to be learned (X (t)) includes adjacent words (X (t + 1)) adjacent to the word to be learned (X (t)), verb-noun relation information, and antonym ( antonym may be included.
  • the word semantic data may include a word definition, a hypernym, an antonym, and the like.
  • the word meaning embedding apparatus 200 performs word embedding learning through a feedforward process and a back propagation process of word embedding learning.
  • the word meaning embedding apparatus 200 changes the weight value associated with the word to be learned without changing the weight value associated with the word semantic data of the word to be learned in the back provisioning process.
  • the homomorphic classification apparatus 200 when applying learning through the feature mirror model, only has an edge (weight) connected to a word to be learned, that is, a target word (x (target)). It does not change the edges (weights) associated with word semantics, upper words and antonyms of words to be learned.
  • the conventional word embedding method learns by using the surrounding words of the word to be learned in the sentence. As shown in FIG. 5, when the word to be learned in the sentence "the apple is eaten at school” is "apple", the surrounding words, that is, the surrounding morphemes “school”, “in”, "eat” and “eat” The surrounding word "is used for word embedding. Although it may not be semantically related to the word "apple” to be learned, the word adjacent to the word to be learned in the sentence is used in the word embedding method.
  • the conventional word embedding method uses not only the surrounding real morphemes but also adjacent surveys and mothers for learning.
  • the conventional word embedding method recommends using many corpus.
  • the homonym classification apparatus 200 uses a modified model of Word2Vec, that is, a model in which a skip-gram is modified.
  • the learned words are calculated with the word vector value to solve the homology of homonyms as follows.
  • the homonym discrimination apparatus 200 finds all the word vector values corresponding to the "apple” in order to solve the neutrality of the apple of the homonym in the sentence "eat apple".
  • all word vector values include apples 05 (fruits of apple trees), apples 08 (recognizing their faults and beaming forgiveness).
  • the homonym classification apparatus 200 obtains a value by using a word vector of eating (injecting food into a stomach) and cosine similarity as shown in Equation 5 below.
  • a and B represent word vectors of two words A and B, respectively.
  • the homologous classification apparatus 200 determines the vector of the apple having the highest value as the meaning of the word “apple” used in the sentence “eat apple”.
  • the degree of decrease in accuracy is small. This is because the direction of the word vector of the fruit 'pear' is similar to the vector of 'fruit', 'apple', and 'food' which may be adjacent to 'rot'.
  • 'fruit' appears in the upper term of the 'pear' in the lexical semantic network 213.
  • the word vectors are learned to be similar. Word vectors such as 'apple' and 'food' may be adjacent to the verb 'rot'. Adjacent words make their vectors similar. Eventually, the word vector of the fruit 'pear' becomes similar to 'rot'.
  • the homonym classification apparatus 200 performs a process of negative-sampling so that the word vectors of different meanings of the ship (eg, the ship, the abdomen, etc.) move away from each other in the direction.
  • the word vector of 'ship' which means ship
  • the word vector of fruit 'ship' is very different from the word vector of fruit 'ship'.
  • the word vector of ship which means ship, is less similar to the rotten vector.
  • the homonym classification apparatus 200 tends to be robust to the unlearned pattern by using the word vector generated through the word embedding learning in the homologous word discrimination process.
  • the homonym discrimination apparatus 200 further learns the lexical semantic network 213 and performs negative-sampling between homologous words having different meaning numbers (for example, the fruit 'boat' is a vessel 'boat' and the like. Negative-sampling) allows us to distinguish homologous words more accurately.
  • the homonym classification apparatus 200 uses the word semantic data of "apple” and "fruit” from which the nouns and verbs are extracted from the fruit of the apple tree, which is the meaning of the apple.
  • the homologous word discrimination apparatus 200 adds "fruit” which is the upper word of the word to be learned as "apple” as processed data of an apple.
  • the processing data is not added to the antonym because there is no antonym of the word "apple” to be learned. However, if there is an antonym, add an antonym.
  • Vector of an apple Denotes the sum of the apple vectors multiplied by the apple tree vectors.
  • Equation 6 represents the formula for calculating the output value between the apple and apple tree.
  • the apple vector and the apple tree vector are multiplied, and then the sum is added to the output value using the sigmoid function shown in Equation 7 above.
  • the error value is Output value from It is expressed by subtracting.
  • the word embedding learning unit 240 uses an error value E Find the amount of change in. After the word embedding learning unit 240 obtains the amount of change Only the amount of change is applied. That is, the word embedding learning unit 140 applies the amount of change only to the weight 604 connected to the apple, and does not apply the amount of change to the weight 603 connected to the apple tree.
  • FIG. 11 is a flowchart illustrating a method for classifying homologous words using a lexical semantic network and word embedding performed by the homologous word discrimination apparatus according to an embodiment of the present invention.
  • the homologous word discrimination apparatus 200 generates a word list to be learned from a corpus containing at least one or more learning words (S301).
  • the homonym classification apparatus 200 converts the word semantic data that can be converted from the word semantic data of the words to be learned included in the generated word list into corpus (S302). At this time, the homonym classification apparatus 200 obtains the word semantic data from the corpus 211, the standard metabolic dictionary 212 and the lexical semantic network 213 stored in the data storage 210.
  • the homologous word discrimination apparatus 200 generates the processed data by processing the generated word list to be learned, the converted corpus and the word semantic data in accordance with the word embedding learning (S303).
  • the homologous word discrimination apparatus 200 generates a word vector by learning words to be learned through word embedding learning using a learning model composed of an input / output layer and a projection layer using the generated processing data.
  • the homonym discrimination apparatus 200 compares the similarity between the homologous word and the adjacent word using the generated word vector (S304).
  • the homonym classification apparatus 200 classifies the homonym according to the comparison result in step S304 (S305).
  • the homonym discrimination apparatus 200 vectorizes the homologous morpheme into a word vector and processes the similarities between the homologous grammar and the real morphemes of adjacent words.
  • Table 6 shows part of the simplified experimental test set.
  • the learning corpus 211 determines the morphemes (eg, fruit) that has never been adjacent.
  • Table 6 shows only three examples in the test set used in the experiment.
  • the homonym discrimination apparatus 200 receives the 'apple' and the 'fruit_01 / NNG', and the most similar to the 'fruit' among the homologous words of the 'apple' _05 / NNG 'is the correct answer.
  • the homonym discrimination apparatus 200 according to the embodiment of the present invention fits 18 out of a total of 24. Although the test set is very small, it can be seen that the homogeneous discrimination apparatus 200 according to the embodiment of the present invention is meaningful.
  • the word embedding learning is performed to distinguish homologous words applicable to all languages such as English, Chinese, and Korean, and homologous words are distinguished by comparing similarities between word vectors.
  • the homonym discrimination apparatus 200 uses a standard metabolic dictionary 212 and a lexical semantic network 213 as well as a corpus 211 for learning word embedding. As shown in [Table 6], a simple experiment was performed using only the non-learning pattern and showed a meaningful result.
  • the homonym discrimination apparatus 200 may be used as a subsequent complementary module for a pattern that the conventional homonym discriminator cannot reproduce.
  • a subsequent complementary module can improve the overall accuracy. That is, when the homonym discrimination apparatus 200 is applied, a homonym discriminator that works stably even for the non-learning pattern may be provided.
  • the homonym discrimination apparatus 200 according to the embodiment of the present invention may be integrated into a conventional homonym discriminator (UTagger).
  • the homonym classification apparatus 200 may generate word vectors for dependent nouns, adverbs, suffixes, prefixes, and the like. Since they have a different personality from common nouns and verbs, the homonym classification apparatus 200 can perform word embedding learning by changing according to its characteristics.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Machine Translation (AREA)

Abstract

본 발명의 실시 예들은 어휘 의미망에서 학습할 단어 목록과 학습할 단어의 단어 의미 데이터(예컨대, 사전적인 뜻풀이와 상위어, 반의어 등)를 이용해 가공 데이터를 생성하고, 그 생성된 가공 데이터를 가지고 단어 의미 임베딩의 변형된 스킵-그램(Skip-Gram) 모델인 피쳐 미러(Feature Mirror) 모델과 네거티브-샘플링(Negative-Sampling)을 이용해 학습함으로써, 단어의 의미적 관계와 연관성을 벡터로 표현할 수 있는, 어휘 의미망을 이용한 단어 의미 임베딩 장치 및 방법을 제공하고자 한다. 한편, 본 발명의 실시 예들은 다양한 자원(예컨대, 말뭉치, 표준 대사전 및 어휘 의미망)으로부터의 학습할 단어 목록, 변환된 말뭉치 및 단어 의미 데이터를 이용한 단어 임베딩 학습을 통해 학습하고 동형이의어와 인접 어절 간의 유사도를 비교하여 동형이의어를 분별함으로써, 미학습 패턴에 대해서 동형이의어를 정확하게 분별할 수 있는, 어휘 의미망 및 단어 임베딩을 이용한 동형이의어 분별 장치 및 방법을 제공하고자 한다.

Description

어휘 의미망을 이용한 단어 의미 임베딩 장치 및 방법과, 어휘 의미망 및 단어 임베딩을 이용한 동형이의어 분별 장치 및 방법
본 발명은 어휘 의미망을 이용한 단어 의미 임베딩 장치 및 방법에 관한 것으로서, 더욱 상세하게는 어휘 의미망으로부터 학습할 단어 목록과 학습할 단어의 의미적 정보를 생성하고 그 생성된 학습할 단어 목록과 학습할 단어의 의미적 정보를 이용한 단어 임베딩 학습을 통해 적은 단어 데이터로 단어 임베딩 학습이 가능한, 어휘 의미망을 이용한 단어 의미 임베딩 장치 및 방법에 관한 것이다.
본 발명은 어휘 의미망 및 단어 임베딩을 이용한 동형이의어 분별 장치 및 방법에 관한 것으로서, 더욱 상세하게는 다양한 자원(예컨대, 말뭉치, 표준 대사전 및 어휘 의미망)으로부터의 학습할 단어 목록, 변환된 말뭉치 및 단어 의미 데이터를 이용한 단어 임베딩 학습을 통해 학습하고 동형이의어와 인접 어절 간의 유사도를 비교하여 동형이의어를 분별함으로써, 미학습 패턴에 대해서 동형이의어를 용이하게 분별할 수 있는, 어휘 의미망 및 단어 임베딩을 이용한 동형이의어 분별 장치 및 방법에 관한 것이다.
최근에 컴퓨터와 인간의 바둑 대결이 큰 화제가 되면서 일반인들 사이에서 기계 학습에 대한 관심이 증가하고 있다. 기계 학습 중에 딥 러닝(Deep learning)을 이용한 자연어 처리 시스템이 많이 등장하고 있으며, 관련 연구도 활발히 진행되고 있다.
기계 학습을 사용하는 자연어 처리 시스템에서는 문자로 표현된 단어를 숫자로 변환하는 방법이 중요하다. 단어의 표현 방식을 원-핫(One-hot) 방식을 이용하면 단어의 양에 따라 벡터 차원이 결정되기 때문에 고차원의 벡터로 표현되게 된다. 여기서, 원-핫 방식은 해당하는 단어를 1로 나머지를 0으로 표현하는 하는 방식을 나타낸다.
원-핫 방식을 이용하여 수십만 차원으로 단어를 표현하게 되면 딥 러닝을 이용한 자연어 처리에서 입력이 매우 커지는 문제가 발생한다. 이러한 원-핫 방식의 문제점을 해결할 방법으로 단어 임베딩(Word Embedding)이 등장하게 되었다.
단어 임베딩은 단어를 신경망(Neural Network)과 대량의 말뭉치를 이용해 저차원의 벡터로 표현하는 방법이다. 단어 임베딩은 자연어 처리를 딥 러닝에 사용하기 전 사전 학습(pre-training)으로 사용되고 있다. 또한, 단어 임베딩 자체를 이용한 여러 연구 결과들이 나오고 있다.
단어 임베딩은 초기에는 대량의 말뭉치를 이용해 문장에서 학습할 단어에 인접한 단어를 이용해 학습을 한다. 초기 단어 임베딩 방식은 말뭉치에서 인접 단어가 유사한 단어들끼리 벡터가 유사하도록 학습한다. 단어의 의미적인 접근이 아닌 단어의 위치적인 접근을 통해 학습하는 방식이다. 초기에는 기본적인 신경망(Neural Network)을 이용한 NNLM(Neural Network Language Model)이 단어 임베딩으로 사용했다. 이후, 이전 학습을 다음 학습에 사용하는 RNNLM(Recurrent Neural Network Language Model)과 학습 속도를 향상한 워드투벡(Word2Vec)이 등장하게 되었다.
정보기술이 발달하면서 자연어를 자동으로 처리하려는 기술 또한 같이 발달하고 있다. 이런 기술들은 문서분류나 기계번역 포탈검색 등에 응용되고 있다. 한국어는 교착어로 형태소 분석이 어려운 편이지만 최근 들어 학습 말뭉치를 이용한 기계학습 방법으로 형태소 복원과 품사 태깅이 높은 정확률(예컨대, 약 98%)을 보이고 있다.
그러나 동형이의어 분별 정확률은 아직은 다소 낮은 편으로(약 96.5%), 실제로 기계번역에서 단어의 의미를 완전히 잘못 번역하는 경우를 쉽게 찾아볼 수 있다. 이런 오류를 줄이려면 동형이의어 분별 정확률을 향상시키는 것에 집중해야 한다.
한국어 동형이의어 분별을 위해 문맥정보를 이용하는 방법으로는 크게 말뭉치학습 방법과 어휘망 학습 방법이 존재한다. 전자는 통계학습 방식이고 후자는 지식기반 방식에 속한다. 말뭉치를 학습하는 방법은 세종말뭉치처럼 대용량의 태그 부착 말뭉치를 학습하여서 인접어절에 대한 패턴을 학습하는 것이다. 이 방식은 인접 어절 전체나 일부를 그대로 저장하는 것으로, 어절 전체, 일부 형태소, 품사 또는 음절 등을 그대로 저장한다.
그러나 종래의 말뭉치학습 방식은 직접적으로 학습한 적이 없다면 아무런 효과를 발휘할 수 없다. 예로 "사과는 열매다."를 분석한다고 가정하면, '사과(apple)'가 '열매'와 인접한 경우가 말뭉치에 존재해야 이 방식이 효과를 발휘한다. 하지만, 세종말뭉치에 그런 문장은 없으며, 만약 "사과는 식물이다." 또는 "사과는 과일이다."처럼 비슷한 문장이 말뭉치에 존재한다고 하더라도 '열매'가 직접적으로 나타나지 않았다면 아무런 효과가 없다. 다만, 개별 형태소 단위로 '사과'가 애플(apple)로 태깅된 비율을 측정하여 사용할 수는 있다. 이 방법으로는 베이스 라인만큼의 정확률만 기대할 수 있다.
이렇게 종래의 말뭉치학습 방법으로는 미학습 패턴을 전혀 처리할 수 없기 때문에 최근에 들어서 워드넷(WordNet), 한국어 어휘의미망(Korlex, Korean Wordnet) 또는 한국어 어휘지도(UWordMap)와 같은 어휘망을 사용하는 연구가 이뤄지고 있다. 이 방법들은 어휘망에서 상하위 관계나 용언-명사 관계에 등록되지 않은 경우에 효과를 발휘할 수 없다는 점에서는 말뭉치학습 방식에서와 유사한 문제점이 있다. 하지만, 재현율은 부분적으로 훨씬 더 높다고 평가할 수 있다. 왜냐하면, 대부분의 잘 알려진 명사는 상하위망에 등록되어 있으며, 용언-명사의 관계는 상하위망에서 최소상계노드만을 이용하여 작성되기 때문이다. 무작위로 특정 노드 하나를 선택한다고 가정할 때, 그 노드의 하위에는 수백 또는 수천 개의 하위노드가 포함되어 있을 것으로 기대할 수 있다. 그러나 용언-명사 관계망 자체가 많이 빈약하기 때문에 재현율의 문제는 여전히 남아 있다. 이 문제를 완화시키려면 큰 비용을 들여서 어휘망을 계속 보완해야 한다.
최근에는 워드(단어) 임베딩(word embedding)의 유용성이 알려지면서 자연어처리나 자연어이해의 다양한 분야에 이것을 적용하려는 시도가 이뤄지고 있다. 대표적으로 알려진 워드 임베딩 모델로는 워드투벡(Word2Vec)이 있다. 본래 단어 임베딩은 그 자체로 유사한 단어끼리 묶어주거나, 단어 간의 의미적 유사도 또는 연관성의 정도를 계산할 수 있게 해준다.
한편, 의미처리시스템 개발을 위해서는 동형이의어 분별 기술은 필수적이다. 최근까지의 연구로는 말뭉치 학습 기반의 방법이 비교적 정확한 결과를 보여주고 있다. 종래의 말뭉치학습 방식은 인접 어절의 내용 중의 일부(음절 또는 형태소)를 그대로 기억하여 동형이의어를 분별하는 것이다.
그러나 종래의 말뭉치학습 방식은 학습한 적이 없는 패턴에 대해서는 정확률은 낮다.
본 발명의 실시 예들은 어휘 의미망에서 학습할 단어 목록과 학습할 단어의 단어 의미 데이터(예컨대, 사전적인 뜻풀이와 상위어, 반의어 등)를 이용해 가공 데이터를 생성하고, 그 생성된 가공 데이터를 가지고 단어 의미 임베딩의 변형된 스킵-그램(Skip-Gram) 모델인 피쳐 미러(Feature Mirror) 모델과 네거티브-샘플링(Negative-Sampling)을 이용해 학습함으로써, 단어의 의미적 관계와 연관성을 벡터로 표현할 수 있는, 어휘 의미망을 이용한 단어 의미 임베딩 장치 및 방법을 제공하고자 한다.
본 발명의 실시 예는 종래의 단어 임베딩이 아닌 의미적 정보를 이용한 단어 임베딩 학습을 수행하기 때문에 적은 학습 데이터로도 단어 임베딩 학습이 가능하며 학습 시간도 적게 걸릴 수 있는, 어휘 의미망을 이용한 단어 의미 임베딩 장치 및 방법을 제공하고자 한다.
또한, 본 발명의 실시 예는 단순하게 등장하는 단어 위치적 정보가 아닌 학습할 단어의 의미 기반으로 학습함으로써 저 빈도의 단어 학습에도 효율적이며, 사전에 등장한 단어를 대상으로 하기 때문에 종래의 단어 임베딩보다 많은 단어를 벡터로 표현할 수 있는, 어휘 의미망을 이용한 단어 의미 임베딩 장치 및 방법을 제공하고자 한다.
또한, 본 발명의 실시 예는 종래의 위치 기반의 단어 임베딩이 아닌 단어 의미 데이터를 이용한 단어 의미 임베딩 학습을 통해 단어 벡터를 생성하기 때문에 단어들의 관계를 코사인 유사도를 통해 볼 수 있고, 종래의 단어 임베딩에서 얻을 수 없는 동의어 관계나 유의어 등을 찾을 수 있는, 어휘 의미망을 이용한 단어 의미 임베딩 장치 및 방법을 제공하고자 한다.
또한, 본 발명의 실시 예는 학습할 단어 목록을 부사와 의존명사 등까지 확장하여 학습할 수 있으며, 단어의 의미적 정보를 추가해 적용할 수 있는, 어휘 의미망을 이용한 단어 의미 임베딩 장치 및 방법을 제공하고자 한다.
본 발명의 실시 예들은 다양한 자원(예컨대, 말뭉치, 표준 대사전 및 어휘 의미망)으로부터의 학습할 단어 목록, 변환된 말뭉치 및 단어 의미 데이터를 이용한 단어 임베딩 학습을 통해 학습하고 동형이의어와 인접 어절 간의 유사도를 비교하여 동형이의어를 분별함으로써, 미학습 패턴에 대해서 동형이의어를 정확하게 분별할 수 있는, 어휘 의미망 및 단어 임베딩을 이용한 동형이의어 분별 장치 및 방법을 제공하고자 한다.
본 발명의 실시 예는 종래의 단어 임베딩이 아닌 말뭉치에서 실질형태소의 의미적 정보를 이용한 단어 임베딩 학습을 수행하기 때문에 적은 학습 데이터로도 단어 임베딩 학습이 가능하며 학습 시간도 적게 걸릴 수 있는, 어휘 의미망 및 단어 임베딩을 이용한 동형이의어 분별 장치 및 방법을 제공하고자 한다.
또한, 본 발명의 실시 예는 단순하게 등장하는 단어 위치적 정보가 아닌 학습할 단어의 의미 기반으로 학습함으로써 저 빈도의 단어 학습에도 효율적이며, 사전에 등장한 단어를 대상으로 하기 때문에 종래의 단어 임베딩보다 많은 단어를 벡터로 표현할 수 있는, 어휘 의미망 및 단어 임베딩을 이용한 동형이의어 분별 장치 및 방법을 제공하고자 한다.
또한, 본 발명의 실시 예는 종래의 위치 기반의 단어 임베딩이 아닌 실질형태소와 인접한 어절과 그 인접한 어절의 단어 의미 데이터(예컨대, 상위어)를 인접 어절로 처리하여 단어 벡터를 생성함으로써, 단어들의 관계를 코사인 유사도를 통해 볼 수 있는, 어휘 의미망 및 단어 임베딩을 이용한 동형이의어 분별 장치 및 방법을 제공하고자 한다.
본 발명의 제1 측면에 따르면, 단어 사전 데이터 및 단어 의미 데이터가 포함된 어휘 의미망을 저장하는 데이터 저장부; 상기 저장된 단어 사전 데이터로부터 기설정된 품사를 갖는 어휘들을 추출해 학습할 단어 목록을 생성하는 단어 목록 생성부; 상기 생성된 학습할 단어 목록과 상기 학습할 단어 목록에 포함된 학습할 단어의 단어 의미 데이터를 상기 데이터 저장부로부터 가져와서 단어 임베딩 학습에 맞게 가공하여 가공 데이터를 생성하는 가공 데이터 생성부; 및 상기 생성된 가공 데이터를 가지고 입출력층 및 프로젝션 층으로 이루어진 학습 모델을 이용한 단어 임베딩 학습을 통해 학습할 단어를 학습하여 단어 벡터를 생성하는 단어 임베딩 학습부를 포함하는 어휘 의미망을 이용한 단어 의미 임베딩 장치가 제공될 수 있다.
상기 장치는, 상기 생성된 단어 벡터를 이용한 코사인 유사도를 계산해 입력 단어의 유의어를 산출하는 유의어 산출부를 더 포함할 수 있다.
상기 유의어 산출부는 제1 및 제2 입력 단어를 입력받고, 제2 입력 단어에 가장 근접한 단어를 코사인 유사도를 이용하여 기설정된 개수의 유의어들을 추출하고, 상기 추출된 유의어들과 제1 입력 단어 간의 코사인 유사도를 계산하여 가장 높은 유사도를 가진 단어를 제1 및 제2 입력 단어의 유의어로 산출할 수 있다.
상기 유의어 산출부는 입력 단어의 단어 벡터와 기설정된 속성을 가지는 속성 단어의 단어 벡터의 속성 연산 과정을 통해 입력 단어의 속성이 변경된 유의어를 산출할 수 있다.
상기 단어 목록 생성부는 명사, 용언, 부사 및 의존명사 어휘들이 의미제약으로 상호 연결된 어휘 의미망에서 기설정된 품사를 갖는 어휘들을 추출해 학습할 단어 목록을 생성할 수 있다.
상기 가공 데이터 생성부는 상기 생성된 학습할 단어 목록에 포함된 단어의 뜻풀이, 상위어 및 반의어 중 적어도 하나가 포함된 단어 의미 데이터를 이용하여 학습용 가공 데이터를 생성할 수 있다.
상기 단어 임베딩 학습부는 단어 임베딩에서의 네거티브-샘플링(Negative-Sampling)을 이용해 가공 데이터 이외의 오답을 학습할 단어에 학습할 수 있다.
상기 단어 임베딩 학습부는 상기 가공 데이터 중에서 상기 학습할 단어 및 상기 학습할 단어의 단어 의미 데이터가 가공된 각각의 가공 데이터를 단어 임베딩에서의 스킵-그램(Skip-Gram)의 입력층 및 출력층이 합쳐진 하나의 입출력층에 위치시키고, 상기 각각의 가공 데이터가 위치한 입출력층 및 미러층으로 이루어진 학습 모델을 이용한 단어 임베딩 학습을 통해 학습할 단어를 학습하여 단어 벡터를 생성할 수 있다.
상기 단어 임베딩 학습부는 단어 임베딩 학습의 피드포워드(feedforward) 과정과 백 프로퍼게이션(back propagation) 과정을 통해 단어 임베딩 학습을 수행하고, 백 프로퍼게이션 과정에서 학습할 단어의 단어 의미 데이터와 연결된 가중치 값을 변경하지 않고, 학습할 단어와 연결된 가중치 값을 변경할 수 있다.
한편, 본 발명의 제2 측면에 따르면, 어휘 의미망에 포함된 단어 사전 데이터로부터 기설정된 품사를 갖는 어휘들을 추출해 학습할 단어 목록을 생성하는 단계; 상기 생성된 학습할 단어 목록과 상기 학습할 단어 목록에 포함된 학습할 단어의 단어 의미 데이터를 가져와서 단어 임베딩 학습에 맞게 가공하여 가공 데이터를 생성하는 단계; 및 상기 생성된 가공 데이터를 가지고 입출력층 및 프로젝션 층으로 이루어진 학습 모델을 이용한 단어 임베딩 학습을 통해 학습할 단어를 학습하여 단어 벡터를 생성하는 단계를 포함하는 어휘 의미망을 이용한 단어 의미 임베딩 방법이 제공될 수 있다.
상기 방법은, 상기 생성된 단어 벡터를 이용한 코사인 유사도를 계산해 입력 단어의 유의어를 산출하는 단계를 더 포함할 수 있다.
상기 유의어를 산출하는 단계는 제1 및 제2 입력 단어를 입력받는 단계; 제2 입력 단어에 가장 근접한 단어를 코사인 유사도를 이용하여 기설정된 개수의 유의어들을 추출하는 단계; 및 상기 추출된 유의어들과 제1 입력 단어 간의 코사인 유사도를 계산하여 가장 높은 유사도를 가진 단어를 제1 및 제2 입력 단어의 유의어로 산출하는 단계를 포함할 수 있다.
상기 유의어를 산출하는 단계는 입력 단어의 단어 벡터와 기설정된 속성을 가지는 속성 단어의 단어 벡터의 속성 연산 과정을 통해 입력 단어의 속성이 변경된 유의어를 산출할 수 있다.
상기 학습할 단어 목록을 생성하는 단계는 명사, 용언, 부사 및 의존명사 어휘들이 의미제약으로 상호 연결된 어휘 의미망에서 기설정된 품사를 갖는 어휘들을 추출해 학습할 단어 목록을 생성할 수 있다.
상기 가공 데이터를 생성하는 단계는 상기 생성된 학습할 단어 목록에 포함된 단어의 뜻풀이, 상위어 및 반의어 중 적어도 하나가 포함된 단어 의미 데이터를 이용하여 학습용 가공 데이터를 생성할 수 있다.
상기 단어 벡터를 생성하는 단계는 단어 임베딩에서의 네거티브-샘플링(Negative-Sampling)을 이용해 가공 데이터 이외의 오답을 학습할 단어에 학습할 수 있다.
상기 단어 벡터를 생성하는 단계는 상기 가공 데이터 중에서 상기 학습할 단어 및 상기 학습할 단어의 단어 의미 데이터가 가공된 각각의 가공 데이터를 단어 임베딩에서의 스킵-그램(Skip-Gram)의 입력층 및 출력층이 합쳐진 하나의 입출력층에 위치시키고, 상기 각각의 가공 데이터가 위치한 입출력층 및 미러층으로 이루어진 학습 모델을 이용한 단어 임베딩 학습을 통해 학습할 단어를 학습하여 단어 벡터를 생성할 수 있다.
상기 단어 벡터를 생성하는 단계는 단어 임베딩 학습의 피드포워드(feedforward) 과정과 백 프로퍼게이션(back propagation) 과정을 통해 단어 임베딩 학습을 수행하고, 백 프로퍼게이션 과정에서 학습할 단어의 단어 의미 데이터와 연결된 가중치 값을 변경하지 않고, 학습할 단어와 연결된 가중치 값을 변경할 수 있다.
한편, 본 발명의 제3 측면에 따르면, 적어도 하나 이상의 학습용 어절이 포함된 말뭉치와 단어 의미 데이터가 포함된 표준 대사전 및 어휘 의미망을 저장하는 데이터 저장부; 상기 말뭉치로부터 학습할 단어 목록을 생성하는 단어 목록 생성부; 상기 생성된 단어 목록에 포함된 학습할 단어의 단어 의미 데이터 중에서 변환 가능한 단어 의미 데이터를 말뭉치로 변환하고, 상기 생성된 학습할 단어 목록, 상기 변환된 말뭉치 및 상기 단어 의미 데이터를 단어 임베딩 학습에 맞게 가공하여 가공 데이터를 생성하는 가공 데이터 생성부; 상기 생성된 가공 데이터를 가지고 입출력층 및 프로젝션 층으로 이루어진 학습 모델을 이용한 단어 임베딩 학습을 통해 학습할 단어를 학습하여 단어 벡터를 생성하는 단어 임베딩 학습부; 및 상기 생성된 단어 벡터를 이용하여 동형이의어와 인접 어절 간의 유사도를 비교하고 상기 비교 결과에 따라 동형이의어를 분별하는 동형이의어 분별부를 포함하는 어휘 의미망 및 단어 임베딩을 이용한 동형이의어 분별 장치가 게공될 수 있다.
상기 데이터 저장부는 적어도 하나 이상의 학습용 어절이 포함된 말뭉치와, 용례 및 뜻풀이가 단어 의미 데이터로 포함된 표준 대사전과, 용언-명사 관계 정보, 상위어 및 반의어가 단어 의미 데이터로 포함된 어휘 의미망을 저장할 수 있다.
상기 가공 데이터 생성부는 적어도 하나 이상의 학습용 어절이 포함된 말뭉치, 표준 대사전에 포함된 용례 및 뜻풀이, 및 어휘 의미망에 포함된 용언-명사 관계 정보 중에서 적어도 하나를 말뭉치 형태로 변환할 수 있다.
상기 가공 데이터 생성부는 상기 변환된 말뭉치에서 상기 학습할 단어와 인접한 어절 및 상기 인접한 어절의 상위어를 상기 학습할 단어의 인접 어절로 처리하거나, 용언-명사 관계 정보를 상기 학습할 단어의 인접 어절로 처리할 수 있다.
상기 단어 임베딩 학습부는 상기 가공 데이터 중에서 상기 학습할 단어, 인접 어절, 용언-명사 관계 정보 및 반의어가 각각 가공된 가공 데이터를 단어 임베딩에서의 스킵-그램(Skip-Gram)의 입력층 및 출력층이 합쳐진 하나의 입출력층에 위치시키고, 상기 각각의 가공 데이터가 위치한 입출력층 및 미러층으로 이루어진 학습 모델을 이용한 단어 임베딩 학습을 통해 학습할 단어를 학습하여 단어 벡터를 생성할 수 있다.
상기 단어 임베딩 학습부는 단어 임베딩 학습의 피드포워드(feedforward) 과정과 백 프로퍼게이션(back propagation) 과정을 통해 단어 임베딩 학습을 수행하고, 백 프로퍼게이션 과정에서 학습할 단어의 가공 데이터와 연결된 가중치 값을 변경하지 않고, 학습할 단어와 연결된 가중치 값을 변경할 수 있다.
상기 단어 임베딩 학습부는 단어 임베딩에서의 네거티브-샘플링(Negative-Sampling)을 이용해 가공 데이터 이외의 오답을 학습할 단어에 학습할 수 있다.
상기 단어 임베딩 학습부는 단어 임베딩 학습을 통해 학습할 단어와 인접하고 조사 또는 어미를 제외한 실질형태소의 단어 벡터를 생성 할 수 있다.
상기 동형이의어 분별부는 상기 생성된 실질형태소의 단어 벡터를 이용하여 분별할 동형이의어의 실질형태소와 인접 어절의 실질형태소 간의 유사도를 비교하여 동형이의어를 분별 할 수 있다.
한편, 본 발명의 제4 측면에 따르면, 적어도 하나 이상의 학습용 어절이 포함된 말뭉치로부터 학습할 단어 목록을 생성하는 단계; 상기 생성된 단어 목록에 포함된 학습할 단어의 단어 의미 데이터 중에서 변환 가능한 단어 의미 데이터를 말뭉치로 변환하는 단계; 상기 생성된 학습할 단어 목록, 상기 변환된 말뭉치 및 상기 단어 의미 데이터를 단어 임베딩 학습에 맞게 가공하여 가공 데이터를 생성하는 단계; 상기 생성된 가공 데이터를 가지고 입출력층 및 프로젝션 층으로 이루어진 학습 모델을 이용한 단어 임베딩 학습을 통해 학습할 단어를 학습하여 단어 벡터를 생성하는 단계; 및 상기 생성된 단어 벡터를 이용하여 동형이의어와 인접 어절 간의 유사도를 비교하고 상기 비교 결과에 따라 동형이의어를 분별하는 단계를 포함하는 어휘 의미망 및 단어 임베딩을 이용한 동형이의어 분별 방법이 제공될 수 있다.
상기 말뭉치로 변환하는 단계는 용례 및 뜻풀이가 포함된 표준 대사전과, 용언-명사 관계 정보, 상위어 및 반의어가 포함된 어휘 의미망에서의 단어 의미 데이터 중에서 변환 가능한 단어 의미 데이터를 말뭉치로 변환할 수 있다.
상기 말뭉치로 변환하는 단계는 적어도 하나 이상의 학습용 어절이 포함된 말뭉치, 표준 대사전에 포함된 용례 및 뜻풀이, 및 어휘 의미망에 포함된 용언-명사 관계 정보 중에서 적어도 하나를 말뭉치 형태로 변환 할 수 있다.
상기 가공 데이터를 생성하는 단계는 상기 변환된 말뭉치에서 상기 학습할 단어와 인접한 어절 및 상기 인접한 어절의 상위어를 상기 학습할 단어의 인접 어절로 처리하거나, 용언-명사 관계 정보를 상기 학습할 단어의 인접 어절로 처리 할 수 있다.
상기 단어 벡터를 생성하는 단계는 상기 가공 데이터 중에서 상기 학습할 단어, 인접 어절, 용언-명사 관계 정보 및 반의어가 각각 가공된 가공 데이터를 단어 임베딩에서의 스킵-그램(Skip-Gram)의 입력층 및 출력층이 합쳐진 하나의 입출력층에 위치시키고, 상기 각각의 가공 데이터가 위치한 입출력층 및 미러층으로 이루어진 학습 모델을 이용한 단어 임베딩 학습을 통해 학습할 단어를 학습하여 단어 벡터를 생성 할 수 있다.
상기 단어 벡터를 생성하는 단계는 단어 임베딩 학습의 피드포워드(feedforward) 과정과 백 프로퍼게이션(back propagation) 과정을 통해 단어 임베딩 학습을 수행하고, 백 프로퍼게이션 과정에서 학습할 단어의 가공 데이터와 연결된 가중치 값을 변경하지 않고, 학습할 단어와 연결된 가중치 값을 변경 할 수 있다.
상기 단어 벡터를 생성하는 단계는 단어 임베딩에서의 네거티브-샘플링(Negative-Sampling)을 이용해 가공 데이터 이외의 오답을 학습할 단어에 학습 할 수 있다.
상기 단어 벡터를 생성하는 단계는 단어 임베딩 학습을 통해 학습할 단어와 인접하고 조사 또는 어미를 제외한 실질형태소의 단어 벡터를 생성 할 수 있다.
상기 동형이의어를 분별하는 단계는 상기 생성된 실질형태소의 단어 벡터를 이용하여 분별할 동형이의어의 실질형태소와 인접 어절의 실질형태소 간의 유사도를 비교하여 동형이의어를 분별 할 수 있다.
본 발명의 실시 예는 종래의 단어 임베딩이 아닌 의미적 정보를 이용한 단어 임베딩 학습을 수행하기 때문에 적은 학습 데이터로도 단어 임베딩 학습이 가능하며 학습 시간도 적게 걸릴 수 있다.
또한, 본 발명의 실시 예는 단순하게 등장하는 위치적 정보가 아닌 학습할 단어의 뜻풀이 기반으로 학습함으로써 저 빈도의 단어 학습에도 효율적이며, 사전에 등장한 단어를 대상으로 하기 때문에 종래의 단어 임베딩보다 많은 단어를 벡터로 표현할 수 있다.
또한, 본 발명의 실시 예는 종래의 단어 임베딩에 비해 단어 의미 임베딩 학습을 수행하기 때문에 단어들의 관계를 코사인 유사도를 통해 볼 수 있고, 종래의 단어 임베딩에서 얻을 수 없는 동의어 관계나 유의어 등을 찾을 수 있다.
또한, 본 발명의 실시 예는 학습할 단어 목록을 부사와 의존명사 등까지 확장하여 학습할 수 있으며, 단어의 의미적 정보를 추가해 적용할 수 있다.
더 나아가, 본 발명의 실시 예는 단어 의미 임베딩 학습을 통한 단어 벡터를 이용해 사람 수준의 의미 추론이 가능할 수 있다.
본 발명의 실시 예들은 다양한 자원(예컨대, 말뭉치, 표준 대사전 및 어휘 의미망)으로부터의 학습할 단어 목록, 변환된 말뭉치 및 단어 의미 데이터를 이용한 단어 임베딩 학습을 통해 학습하고 동형이의어와 인접 어절 간의 유사도를 비교하여 동형이의어를 분별함으로써, 미학습 패턴에 대해서 동형이의어를 정확하게 분별할 수 있다.
본 발명의 실시 예는 종래의 단어 임베딩이 아닌 말뭉치에서 실질형태소의 의미적 정보를 이용한 단어 임베딩 학습을 수행하기 때문에 적은 학습 데이터로도 단어 임베딩 학습이 가능하며 학습 시간도 적게 걸릴 수 있다.
또한, 본 발명의 실시 예는 단순하게 등장하는 단어 위치적 정보가 아닌 학습할 단어의 의미 기반으로 학습함으로써 저 빈도의 단어 학습에도 효율적이며, 사전에 등장한 단어를 대상으로 하기 때문에 종래의 단어 임베딩보다 많은 단어를 벡터로 표현할 수 있다.
또한, 본 발명의 실시 예는 종래의 위치 기반의 단어 임베딩이 아닌 실질형태소와 인접한 어절과 그 인접한 어절의 단어 의미 데이터(예컨대, 상위어)를 인접 어절로 처리하여 단어 벡터를 생성함으로써, 단어들의 관계를 코사인 유사도를 통해 볼 수 있다.
도 1은 본 발명의 실시 예에 따른 어휘 의미망을 이용한 단어 의미 임베딩 장치의 구성도이다.
도 2는 본 발명의 실시 예에 따른 입출력층 및 미러층으로 이루어진 학습 모델의 설명도이다.
도 3은 종래의 단어 임베딩에서의 스킵-그램 모델에 대한 설명도이다.
도 4는 본 발명의 실시 예에 따른 단어 의미 임베딩 장치에서의 피쳐 미러 모델에 대한 설명도이다.
도 5는 종래의 스킵-그램 모델을 이용한 형태소 단위 학습 과정에 대한 예시도이다.
도 6은 본 발명의 실시 예에 따른 피쳐 미러 모델을 이용한 단어 임베딩 학습 과정에 대한 예시도이다.
도 7은 본 발명의 실시 예에 따른 단어 의미 임베딩 장치에 의해 수행되는 어휘 의미망을 이용한 단어 의미 임베딩 방법에 대한 흐름도이다.
도 8은 본 발명의 실시 예에 따른 단어 의미 임베딩 방법에서 단어 목록, 가공 데이터 및 단어 임베딩 학습 과정에 대한 상세 흐름도이다.
도 9는 본 발명의 실시 예에 따른 어휘 의미망 및 단어 임베딩을 이용한 동형이의어 분별 장치의 구성도이다.
도 10은 본 발명의 실시 예에 따른 동형이의어 분별 장치에서의 변형된 스킵-그램 모델인 피쳐 미러 모델에 대한 설명도이다.
도 11은 본 발명의 실시 예에 따른 동형이의어 분별 장치에 의해 수행되는 어휘 의미망 및 단어 임베딩을 이용한 동형이의어 분별 방법에 대한 흐름도이다.
이하, 본 발명의 실시 예를 첨부된 도면을 참조하여 설명한다. 본 발명에 따른 동작 및 작용을 이해하는 데 필요한 부분을 중심으로 상세히 설명한다. 본 발명의 실시 예를 설명하면서, 본 발명이 속하는 기술 분야에 익히 알려졌고 본 발명과 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 동일한 명칭의 구성 요소에 대하여 도면에 따라 다른 참조부호를 부여할 수도 있으며, 서로 다른 도면임에도 동일한 참조부호를 부여할 수도 있다. 그러나 이와 같은 경우라 하더라도 해당 구성 요소가 실시 예에 따라 서로 다른 기능을 갖는다는 것을 의미하거나, 서로 다른 실시 예에서 동일한 기능을 갖는다는 것을 의미하는 것은 아니며, 각각의 구성 요소의 기능은 해당 실시 예에서의 각각의 구성 요소에 대한 설명에 기초하여 판단하여야 할 것이다.
도 1은 본 발명의 실시 예에 따른 어휘 의미망을 이용한 단어 의미 임베딩 장치의 구성도이다.
도 1에 도시된 바와 같이, 본 발명의 실시 예에 따른 어휘 의미망을 이용한 단어 의미 임베딩 장치(100)는 데이터 저장부(110), 단어 목록 생성부(120), 가공 데이터 생성부(130), 단어 임베딩 학습부(140) 및 유의어 산출부(150)를 포함한다.
본 발명의 실시 예에 따른 단어 의미 임베딩 장치(100)는 어휘 의미망으로부터 학습할 단어 목록을 생성하고, 그 생성된 학습할 단어 목록에 포함된 단어의 사전적인 뜻풀이와 단어의 상위어, 반의어를 이용해 가공 데이터를 생성한다. 그리고 단어 의미 임베딩 장치(100)는 단어 임베딩에서의 네거티브 샘플링(Negative-Sampling)과 스킵-그램(Skip-Gram) 방식이 변형된 단어 임베딩 학습을 통해 단어의 의미적 관계와 연관성을 단어 벡터로 표현하기 위한 것이다.
여기서, 본 발명의 실시 예에 따른 단어 의미 임베딩 장치(100)는 단어 사전 데이터 및 단어 의미 데이터가 포함되는 어휘 의미망이 구축될 수 있는 한국어뿐만 아니라 영어(WordNet), 중국어(HowNet) 등의 모든 언어에 적용가능하다.
이하, 도 1의 어휘 의미망을 이용한 단어 의미 임베딩 장치(100)의 각 구성요소들의 구체적인 구성 및 동작을 설명한다.
데이터 저장부(110)는 단어 사전 데이터 및 단어 의미 데이터가 포함된 어휘 의미망을 저장한다. 단어 사전 데이터에는 단어 사전에 수록된 단어들이 포함될 수 있다. 단어 의미 데이터에는 단어 사전에 수록된 단어들의 단어 의미적 정보가 포함될 수 있다. 예컨대, 단어 의미 데이터에는 단어의 뜻풀이(정의), 상위어, 반의어, 용례 등이 포함될 수 있다.
본 발명의 실시 예에 따른 단어 의미 임베딩 장치(100)는 학습할 단어의 종류와 단어 의미 데이터로 어휘 의미망(UWordMap)을 이용한다. 여기서, 어휘 의미망은 어휘 지도로 지칭되기고 한다. 어휘 의미망은 표준 사전을 기반으로 명사, 용언, 부사 어휘들이 의미제약으로 상호 연결된 어휘 의미망을 의미한다.
단어 목록 생성부(120)는 데이터 저장부(110)에서 저장된 단어 사전 데이터로부터 기설정된 품사를 갖는 어휘들을 추출해 학습할 단어 목록을 생성한다.
여기서, 단어 목록 생성부(120)는 명사, 용언, 부사 및 의존명사 어휘들 중에서 적어도 하나의 어휘들이 상호 연결된 어휘 의미망을 이용하여 학습할 단어 목록을 생성할 수 있다. 예를 들면, 단어 목록 생성부(120)는 학습에 사용할 단어를 구성하되, 어휘 의미망에 존재하는 단어 중 명사와 용언을 대상으로 특정 지역말(예컨대, 북한말), 방언, 의존명사를 제외한 동형이의어 수준으로 총 387,152개의 학습할 단어 목록을 생성하거나 데이터베이스로 구축할 수 있다.
가공 데이터 생성부(130)는 단어 목록 생성부(120)에서 생성된 학습할 단어 목록에 포함된 단어의 단어 의미 데이터를 데이터 저장부(110)로부터 가져와서 단어 임베딩 학습에 맞게 가공하여 학습용 가공 데이터를 생성한다.
여기서, 가공 데이터 생성부(130)는 단어 목록 생성부(120)에서 생성된 학습할 단어 목록에 포함된 단어의 뜻풀이, 상위어 및 반의어 중 적어도 하나가 포함된 단어 의미 데이터를 이용하여 학습용 가공 데이터를 생성한다. 예를 들면, 가공 데이터 생성부(130)는 단어의 뜻풀이에서 단어 사전 목록에 등장하는 명사, 용언을 해당 단어의 가공 데이터로 이용한다. 또한, 가공 데이터 생성부(130)는 명사의 경우에 명사의 상위어와 반의어를 가공 데이터로 이용한다. 그리고 가공 데이터 생성부(130)는 각 단어들을 단어 임베딩 학습에 맞게 원-핫(One-hot) 방식으로 표현된 입력 값과 출력 값으로 가공하여 가공 데이터를 생성한다.
단어 임베딩 학습부(140)는 가공 데이터 생성부(130)에서 생성된 가공 데이터를 기초로 입출력층 및 프로젝션 층으로 이루어진 학습 모델을 이용한 단어 임베딩 학습을 통해 학습할 단어를 학습하여 단어 벡터를 생성한다.
여기서, 단어 임베딩 학습부(140)는 단어 임베딩에서의 스킵-그램(Skip-Gram)의 입력층 및 출력층이 합쳐진 하나의 입출력층 및 미러층(mirror layer)으로 이루어진 학습 모델을 이용한 단어 임베딩 학습을 통해 학습할 단어를 학습하여 단어 벡터를 생성한다. 단어 임베딩 학습부(140)는 각각의 가공 데이터가 위치한 입출력층 및 미러층으로 이루어진 학습 모델을 이용한 단어 임베딩 학습을 통해 학습할 단어를 학습하여 단어 벡터를 생성한다.
이때, 단어 임베딩 학습부(140)는 단어 임베딩 학습의 백 프로퍼게이션(back propagation) 과정에서 출력 단어와 연결된 가중치 값을 변경하지 않고, 입력 단어와 연결된 가중치 값을 변경한다.
또한, 단어 임베딩 학습부(140)는 단어 임베딩에서의 네거티브-샘플링(Negative-Sampling)을 이용해 가공 데이터 이외의 오답을 학습할 단어에 학습할 수 있다. 단어 임베딩 학습부(140)는 반의어에 대해서 네거티브-샘플링을 수행한다. 단어 임베딩 학습부(140)는 반의어의 경우에만 출력 값을 0으로 설정해 학습한다. 단어 임베딩 학습부(140)는 학습할 단어의 다른 동형이의어에 대해서 네거티브-샘플링을 수행한다. 예를 들면, '사과_05/NNG'에 대해서 학습할 때 이 단어는 '사과'이며 품사가 NNG인 다른 형태소(사과_08/NNG 등)'와 네거티브-샘플링이 수행될 수 있다.
이와 같이, 본 발명의 실시 예에 따른 단어 의미 임베딩 장치(100)는 어휘 의미망에 있는 단어 사전 데이터를 이용해 단어 목록을 구축한다. 그리고 구축한 단어 목록과 어휘 의미망의 단어 의미 데이터(예컨대, 뜻풀이, 상위어, 반의어를 이용해 가공 데이터를 생성한다. 이후, 단어 의미 임베딩 장치(100)는 그 생성한 가공 데이터를 가지고 단어 임베딩의 스킵-그램을 변형한 학습 모델을 이용해 단어 임베딩 학습을 수행하여 단어 벡터를 생성한다.
한편, 본 발명의 실시 예에 따른 단어 의미 임베딩 장치(100)는 단어 벡터를 이용하여 유의어를 산출하는 경우에 유의어 산출부(150)를 더 포함할 수 있다.
일례로, 유의어 산출부(150)는 단어 임베딩 학습부(140)에서 생성된 단어 벡터를 이용한 코사인 유사도를 계산해 입력 단어의 유의어를 산출한다.
다른 예로, 유의어 산출부(150)는 제1 및 제2 입력 단어를 입력받는다. 그리고 유의어 산출부(150)는 제2 입력 단어에 가장 근접한 단어를 코사인 유사도를 이용하여 기설정된 개수의 유의어들을 추출하고, 그 추출된 유의어들과 제1 입력 단어 간의 코사인 유사도를 계산하여 가장 높은 유사도를 가진 단어를 제1 및 제2 입력 단어의 유의어로 산출한다.
또 다른 예로, 유의어 산출부(150)는 입력 단어의 단어 벡터와 기설정된 속성을 가지는 속성 단어의 단어 벡터의 속성 연산 과정을 통해 입력 단어의 속성이 변경된 유의어를 산출한다.
이와 같이, 자연어 처리 분야에서 기계학습을 사용하는 경우 단어의 표현이 중요하다. 단어 임베딩은 문자를 컴퓨터가 이해할 수 있는 벡터로 변경하는 방법이다. 단어 임베딩은 인공 신경망을 이용하여 저차원의 벡터로 학습한다.
실험 예로, 본 발명의 실시 예에 따른 단어 의미 임베딩 장치(100)에서는 어휘 의미망을 이용하여 387,152개의 명사, 용언의 단어 목록을 구축하였으며, 사전상의 뜻풀이와 명사의 상위어, 반의어를 이용해 가공 데이터를 생성했다.
그리고 본 발명의 실시 예에 따른 단어 의미 임베딩 장치(100)는 단어 임베딩의 스킵-그램 방식을 변형한 학습 모델과 네거티브-샘플링을 이용해 학습한다. 본 발명의 실시 예에 따른 단어 의미 임베딩 장치(100)는 종래의 단어 표현 방식보다 적은 데이터를 통해 빠르게 학습이 가능하며 의미적 유사성을 가진 단어들끼리 인접해 있음을 보일 수 있다. 이는 단순한 단어 벡터의 조합이 의미가 있을 수 있다는 것을 보여준다.
도 2는 본 발명의 실시 예에 따른 입출력층 및 미러층으로 이루어진 학습 모델의 설명도이다.
도 2에 도시된 바와 같이, 본 발명의 실시 예에 따른 단어 의미 임베딩 장치(100)는 각 단어들을 학습하기 위해서 종래의 단어 임베딩 또는 워드투벡(Word2Vec)의 스킵-그램(Skip-Gram)을 변형한 학습 모델과 네거티브-샘플링(Negative-Sampling)을 이용한다. 여기서, 가공 데이터의 입력 값과 결과 값은 원-핫(One-hot) 방식으로 표현되어 이용된다.
그리고 본 발명의 실시 예에 따른 단어 의미 임베딩 장치(100)는 각 단어를 50차원의 단어 벡터로 표현한다.
도 2에는 본 발명의 실시 예에서 이용한 학습 모델이 나타나 있다. 단어 의미 임베딩 장치(100)는 이러한 학습 모델을 통해 단어 A를 학습하기 위해 단어 B와 연결된 가중치(Weight) 값을 이용하여 A라는 단어를 201 및 202 간선을 통해 학습한다. 여기서, 단어 의미 임베딩 장치(100)는 실제 가중치 값을 변경하는 경우, 학습할 단어 A와 연결된 가중치(204)만 변경하게 되고, 단어 B와 연결된 가중치 값(203)을 변경하지 않는다.
이러한 학습 모델은 단어 A의 단어 임베딩 결과에 단어 B와 연결된 단어들의 정보도 포함하기 위해서 이용된다. 그리고 단어들 간의 의미적 연쇄효과를 얻기 위해 도 2와 같은 학습 모델이 이용된다. 이때, 단어 의미 임베딩 장치(100)는 뜻풀이와 상위어에 대해 출력(Output) 값으로 1로 설정해 학습하고, 반의어의 경우에만 출력 값을 0으로 설정해 학습한다.
또한, 단어 의미 임베딩 장치(100)는 네거티브-샘플링을 이용해 학습 데이터 이외의 오답을 각 단어에 학습시켜 학습의 정확률을 높일 수 있다.
이하, 도 3 및 도 4를 참조하여 종래의 단어 임베딩의 스킵-그램 모델과 본 발명의 실시 예에 따른 변형된 스킵-그램 모델인 피쳐 미러 모델과의 차이점을 살펴보기로 한다.
도 3은 종래의 단어 임베딩에서의 스킵-그램 모델에 대한 설명도이다.
도 3에 도시된 바와 같이, 종래의 스킵-그램 모델은 입력층(input layer), 프로젝션층(projection layer) 및 출력층(output layer)의 3개의 층(layer)을 이용하여 구성된 인공 신경망이다.
입력층에는 원-핫(One-hot) 형태로 학습할 단어가 들어가게 된다. 출력층에는 입력층에서 사용한 단어의 앞의 두 단어(w(t-2), w(t-1)), 뒤의 두 단어(w(t+1), w(t+2))가 들어가서 학습하게 된다. 도 3에 도시된 스킵-그램 모델에서는 입력층과 프로젝션층 사이의 간선과 프로젝션층 및 출력층 사이의 간선은 서로 다른 값(
Figure PCTKR2017005126-appb-I000001
)으로 구성되어 있다.
도 4는 본 발명의 실시 예에 따른 단어 의미 임베딩 장치에서의 피쳐 미러 모델에 대한 설명도이다.
도 4의 (a) 및 (b)에 도시된 바와 같이, 본 발명의 실시 예에 따른 피쳐 미러 모델은 두 개의 층(Layer)으로 이루어진다. 피쳐 미러 모델은 종래의 스킵-그램 모델의 입력층 및 출력층을 합친 하나의 입출력층과 미러층으로 이루어져 있다.
본 발명의 실시 예에 따른 피쳐 미러 모델에서의 입출력층에는 학습할 단어(x(target))와 학습할 단어의 단어 의미 데이터가 원-핫 형태로 가공되어 들어가게 된다. 예컨대, 단어 의미 데이터에는 단어 뜻풀이(Word definition), 상위어(hypernym) 및 반의어(antonym) 등이 포함될 수 있다.
단어 의미 임베딩 장치(100)는 단어 임베딩 학습의 피드포워드(feedforward) 과정과 백 프로퍼게이션(back propagation) 과정을 통해 단어 임베딩 학습을 수행한다. 단어 의미 임베딩 장치(100)는 백 프로퍼게이션 과정에서 학습할 단어의 단어 의미 데이터와 연결된 가중치 값을 변경하지 않고, 학습할 단어와 연결된 가중치 값을 변경한다.
즉, 본 발명의 실시 예에 따른 단어 의미 임베딩 장치(100)는 피쳐 미러 모델을 통해 학습을 적용할 때, 학습할 단어 즉, 타겟이 되는 단어(x(target))와 연결된 간선(가중치)만을 변화시키고, 학습할 단어의 단어 뜻풀이, 상위어 및 반의어 등과 연결된 간선(가중치)을 변화시키지 않는다.
이하, 도 5 및 도 6을 참조하여 종래의 스킵-그램 모델과 본 발명의 실시 예에 따른 스킵-그램 모델을 이용한 학습 과정을 살펴보기로 한다.
도 5는 종래의 스킵-그램 모델을 이용한 형태소 단위 학습 과정에 대한 예시도이다.
종래의 단어 임베딩 방식은 문장에서 학습할 단어의 주변 단어를 이용해 학습한다. 도 5에 도시된 바와 같이, "학교에서 사과를 먹었다."라는 문장에서 학습할 단어가 "사과"인 경우에 주변 단어 즉, 주변 형태소인 "학교", "에서", "를" 및 "먹"라는 주변 단어가 단어 임베딩 방식에 이용된다. 학습할 단어인 "사과"와는 의미상으로 관련이 없을 수도 있지만 문장에서 학습할 단어와 인접한 단어가 단어 임베딩 방식에 이용되는 것이다.
여기서, 종래의 단어 임베딩 방식에서는 단어의 수나 정확률을 위해서는 대용량의 형태소 의미 번호가 부착된 말뭉치가 필요하게 된다. 말뭉치의 양에 따라 단어 임베딩의 결과에 영향을 주므로, 종래의 단어 임베딩 방식은 많은 말뭉치를 사용할 것을 권장하고 있다.
도 6은 본 발명의 실시 예에 따른 피쳐 미러 모델을 이용한 단어 임베딩 학습 과정에 대한 예시도이다.
피쳐 미러 모델을 이용하여 "사과(먹는 사과)"라는 학습할 단어를 학습하는 과정을 도 6을 참조하여 살펴보기로 한다.
도 6의 (a) 및 (b)에 도시된 바와 같이, 단어 의미 임베딩 장치(100)는 사과의 뜻풀이인 사과나무의 열매에서 명사와 용언을 추출한 "사과나무", "열매"라는 단어 의미 데이터를 가공 데이터로 이용한다. 그리고 단어 의미 임베딩 장치(100)는 "사과"라는 학습할 단어의 상위어인 "과일"을 사과의 가공 데이터로 추가한다. 여기서, 학습할 단어 "사과"의 반의어가 없기 때문에 반의어를 가공 데이터는 추가하지 않는다. 그렇지만, 반의어가 있는 경우에는 반의어를 추가한다.
"사과"라는 학습할 단어의 가공 데이터로 "사과나무", "열매", "과일"을 찾은 후 오른쪽에 학습 모델을 이용하여 단어 임베딩 학습을 601 내지 604 과정에 따라 수행한다.
일례로, "사과"라는 학습할 단어와 뜻풀이의 "사과나무"라는 단어를 이용한 단어 임베딩 학습 과정을 하기의 [수학식 1] 및 [수학식 2]를 참조하여 살펴보기로 한다.
Figure PCTKR2017005126-appb-M000001
여기서,
Figure PCTKR2017005126-appb-I000002
는 사과의 벡터,
Figure PCTKR2017005126-appb-I000003
는 사과나무의 벡터,
Figure PCTKR2017005126-appb-I000004
는 사과의 벡터와 사과나무의 벡터를 곱한 후 모두를 더한 값을 나타낸다.
Figure PCTKR2017005126-appb-M000002
상기의 [수학식 1]은 사과 및 사과나무 간의 출력값을 계산하는 수식을 나타낸다.
상기의 [수학식 1]에 따라 사과의 벡터와 사과나무의 벡터를 곱한 후 모두를 더한 값에 상기의 [수학식 2]에 나타난 시그모이드 함수(Sigmoid Function)를 이용하면 출력 값이 된다.
Figure PCTKR2017005126-appb-M000003
여기서,
Figure PCTKR2017005126-appb-I000005
는 오차 값,
Figure PCTKR2017005126-appb-I000006
는 가공 데이터 상의 정답 값을 나타낸다.
상기의 [수학식 3]과 같이, 오차 값은
Figure PCTKR2017005126-appb-I000007
에서 출력 값인
Figure PCTKR2017005126-appb-I000008
를 뺀 값으로 나타내진다. 여기서,
Figure PCTKR2017005126-appb-I000009
는 가공 데이터 상의 정답 값을 의미한다. 이러한 정답 값은 반의어 학습이 아닌 경우에 값이 1이며 반의어 학습인 경우 0이다.
단어 임베딩 학습부(140)는 오차 값(E)을 이용해
Figure PCTKR2017005126-appb-I000010
의 변화량을 구한다. 단어 임베딩 학습부(140)는 변화량을 구한 후
Figure PCTKR2017005126-appb-I000011
에만 변화량을 적용한다. 즉, 단어 임베딩 학습부(140)는 사과와 연결된 가중치(604)에만 변화량을 적용하고, 사과나무와 연결된 가중치(603)에는 변화량을 적용하지 않는다.
이와 같이, 본 발명의 실시 예에 따른 단어 의미 임베딩 장치(100)는 단어의 뜻풀이나 상위어, 반의어 같은 의미적 정보만을 이용하여 학습하므로 종래의 학습 모델보다 적은 데이터로도 학습할 수 있다. 예컨대, 단어 의미 임베딩 장치(100)에서는 총 387,152개의 단어를 학습하는데 250 내지 300만 개의 학습데이터가 필요하다. 즉, 단어 의미 임베딩 장치(100)는 적은 가공 데이터를 이용하여 단어 임베딩 학습을 수행할 수 있다.
도 7은 본 발명의 실시 예에 따른 단어 의미 임베딩 장치에 의해 수행되는 어휘 의미망을 이용한 단어 의미 임베딩 방법에 대한 흐름도이다.
본 발명의 실시 예에 따른 어휘 의미망을 이용한 단어 의미 임베딩 장치(100)는 단어 사전 데이터로부터 기설정된 품사를 갖는 어휘들을 추출해 학습할 단어 목록을 생성한다(S101).
그리고 단어 의미 임베딩 장치(100)는 생성된 단어 목록에 포함된 학습할 단어에 대한 단어 의미 데이터를 이용하여 가공 데이터를 생성한다(S102). 이때, 단어 의미 임베딩 장치(100)는 단어 의미 데이터를 데이터 저장부(110)에서 저장된 어휘 의미망으로부터 가져온다.
이후, 단어 의미 임베딩 장치(100)는 생성된 가공 데이터를 이용한 단어 의미 임베딩 학습을 통해 단어 벡터를 생성한다(S103).
그리고 단어 의미 임베딩 장치(100)는 입력 단어를 입력받고, 그 입력된 입력 단어의 단어 벡터를 이용하여 유의어를 산출한다(S104).
도 8은 본 발명의 실시 예에 따른 단어 의미 임베딩 방법에서 단어 목록, 가공 데이터 및 단어 임베딩 학습 과정에 대한 상세 흐름도이다.
도 8에 도시된 바와 같이, 단어 의미 임베딩 장치(100)는 프로그램 메인(810)을 통해 단어 임베딩 학습을 위한 가공 데이터 생성 과정, 단어 임베딩 학습 과정을 요청하고 그 결과를 반환할 수 있다.
우선, 프로그램 메인(810)은 단어 의미 임베딩을 위한 가공 데이터 생성을 단어 목록 생성부(120) 및 가공 데이터 생성부(130)에 요청한다(S201).
그리고 단어 목록 생성부(120)는 데이터 저장부(110)에 단어 사전 데이터 즉, 단어의 사전적 정보를 요청한다(S202).
이어서, 단어 목록 생성부(120)는 데이터 저장부(110)로부터 단어 사전 데이터 즉, 단어의 사전적 정보를 반환받는다(S203).
그리고 단어 목록 생성부(120)는 반환된 단어 사전 데이터에서 기설정된 품사(예컨대, 명사, 용언 등) 어휘들을 추출해 학습할 단어 목록을 생성한다(S204). 여기서, 단어 목록은 각 단어마다 인덱스(index) 번호가 부여되어 있다.
이후, 가공 데이터 생성부(130)는 학습할 단어 목록에 포함된 학습할 단어의 단어 의미 데이터(예컨대, 단어의 뜻풀이, 상위어, 반의어 등)를 데이터 저장부(110)에 요청한다(S205).
이어서, 가공 데이터 생성부(130)는 데이터 저장부(110)로부터 단어 의미 데이터를 반환받는다(S206).
가공 데이터 생성부(130)는 학습할 단어 목록과 단어 의미 데이터(예컨대, 단어 뜻풀이(정의), 상위어, 반의어 등)을 이용하여 가공 데이터를 생성한다(S207).
그리고 가공 데이터 생성부(130)는 생성된 가공 데이터를 프로그램 메인(810)에 반환한다(S208).
이후, 프로그램 메인(810)은 반환된 가공 데이터를 이용하여 단어 임베딩 학습부(140)에 단어 의미 임베딩에 대한 학습을 요청한다(S209).
그리고 단어 임베딩 학습부(140)는 가공 데이터를 기초로 피쳐 미러 모델을 이용한 단어 임베딩 학습을 통해 학습할 단어를 학습하여 단어 벡터를 생성한다(S210).
이어서, 단어 임베딩 학습부(140)는 단어 의미 임베딩에 대한 학습 결과 즉, 단어 벡터를 프로그램 메인(810)에 반환한다(S211).
한편, 본 발명의 실시 예에 따른 단어 의미 임베딩 장치(100)와 종래 기술들과의 유의어 추천 결과에 대해서 살펴보기로 한다. 여기서, 종래 기술들에는 NNLM, Ranking(hinge loss), Ranking(logit loss), word2vec이 포함된다.
본 발명의 실시 예에 따른 단어 의미 임베딩 장치(100)는 하기의 [수학식 4]와 같은 코사인 유사도(Cosine similarity)를 이용해 계산한다.
Figure PCTKR2017005126-appb-M000004
여기서, A 및 B는 두 개의 단어 A 및 B 각각의 단어 벡터를 나타낸다.
종래의 단어 임베딩 기술은 단순히 문장에서 앞쪽 또는 뒤쪽 단어가 유사한 단어들끼리 비슷한 벡터를 형성하도록 학습이 된다.
하지만, 본 발명의 실시 예에 따른 단어 의미 임베딩 장치(100)는 단어의 의미적 정보인 뜻풀이, 상위어, 반의어 등을 이용하기 때문에 의미상으로 유사한 단어들이 비슷한 벡터를 형성한다.
하기의 [표 1]과 [표 2]는 "서울__01/NNP"(한반도 중심부에 있는 도시, 대한민국의 수도)에 대해서 종래 기술들과 본 발명의 실시 예를 이용하여 검색된 유의어 결과이다.
[표 1]에는 종래 기술들에 따라 "서울__01/NNP"과 유사한 유의어로 검색된 결과가 나타나 있다.
Figure PCTKR2017005126-appb-T000001
반면, [표 2]에는 본 발명의 실시 예에 따른 단어 의미 임베딩 장치(100)에 의해 "서울__01/NNP"과 유사한 유사어로 검색된 결과가 나타나 있다.
Figure PCTKR2017005126-appb-T000002
상기 [표 1] 및 [표 2]에 나타난 바와 같이, 본 발명의 실시 예에 따른 단어 의미 임베딩 장치(100)는 "서울__01/NNP"을 수도라는 의미적 정보를 강하게 받아서 각 나라의 수도였거나 수도인 도시들의 이름을 유의어로 산출하였다. 하지만, 종래의 단어 임베딩 기술에서는 "서울"이 나타난 문장구조와 유사한 문장구조를 가졌던 단어들이 유의어로 나타나 수도와 도시가 혼합되거나, 도시와 구가 혼합된 결과가 나온다.
한편, 본 발명의 실시 예에 따른 단어 의미 임베딩 장치(100)를 이용한 유의어 실험 결과를 살펴보기로 한다.
실험 과정에서, 본 발명의 실시 예에 따른 단어 의미 임베딩 장치(100)는 어휘 의미망을 통해 387,152개의 명사와 용언으로 이루어진 단어 목록을 생성하였다. 그리고 단어 의미 임베딩 장치(100)는 그 생성된 단어 목록과 단어 의미 데이터를 이용한 가공 데이터에 대한 단어 임베딩 학습을 통해 50차원의 벡터로 변환하였다.
그리고 3가지의 실험 방법을 통해 단어 의미 임베딩이 어떤 결과를 보여주는지 실험했다.
Figure PCTKR2017005126-appb-T000003
상기의 [표 3]에는 하나의 단어에 대해 유의어를 검색한 결과가 나타나 있다.
상기의 [표 3]은 하나의 단어에 대해 코사인 유사도(Cosine Similarity)를 이용하여 가장 근접한 단어의 목록을 보여주고 있다. 각 단어의 의미상 유사하거나 같은 상위어를 가지는 단어들이 나타난다. 하지만, '과일'의 경우 '유실수'처럼 과일이 열리는 나무의 의미를 가지는 단어가 근접해 나오기도 한다.
Figure PCTKR2017005126-appb-T000004
상기의 [표 4]에는 두 명사의 유의어를 산출한 결과가 나타나 있다.
상기의 [표 4]에는 두 명사를 입력하여 먼저 입력 단어 2에 근접한 단어를 코사인 유사도를 이용하여 200개를 추출한 결과가 나타나 있다. 그리고 추출한 200개와 입력 단어 1 간의 코사인 유사도를 구해서 가장 높은 유사도가 나온 단어의 결과이다. '초보__01'과 '학생' 두 단어의 유의어로 '초심자{어떤 일을 처음 배우는 사람}'를 기대했지만 오히려 잘 쓰이지는 않지만, 더욱 정확한 의미의 '초학자{학문을 처음으로 배우기 시작한 사람}'가 나타났다.
Figure PCTKR2017005126-appb-T000005
상기의 [표 5]에는 단어의 특정 속성을 빼기(-) 및 더하기(+) 한 결과가 나타나 있다.
상기의 [표 5]는 입력 단어의 벡터에서 단순히 특정 속성 단어의 벡터를 빼고 더한 값에 코사인 유사도를 이용하여 유사도가 높은 단어들을 보여주고 있다.
'오토바이'에서 '동력__02'이라는 속성을 빼고 '사람'이라는 속성을 더하면 "인력거"의 뜻을 가진 '양처__03'와 "수레를 만드는 사람"의 뜻풀이를 가진 '여인__03'이라는 단어가 등장한다.
하지만, 사람의 뜻이 강하게 작용되어 '별사람{생김새나 하는 짓, 말 따위가 보통 사람과 다른 이상스러운 사람}'도 나타나게 된다.
이와 같이, 본 발명의 실시 예에 따른 단어 의미 임베딩 장치(100)는 종래의 말뭉치 기반 단어 임베딩 방식이 아닌 어휘지도 즉, 어휘 의미망에서 단어의 의미적 정보를 이용하여 단어 임베딩 학습을 수행한다.
여기서, 본 발명의 실시 예에 따른 단어 의미 임베딩 장치(100)는 종래의 단어 임베딩이 아닌 의미적 정보를 이용한 단어 임베딩 학습을 수행하기 때문에 적은 학습 데이터로도 단어 임베딩 학습이 가능하며 학습 시간도 적게 걸리는 장점이 있다.
또한, 본 발명의 실시 예에 따른 단어 의미 임베딩 장치(100)는 단순하게 등장하는 위치적 정보가 아닌 학습할 단어의 뜻풀이 기반으로 인해 저 빈도의 단어 학습에도 효율적이며 사전에 등장한 단어를 대상으로 하기 때문에 종래의 단어 임베딩보다 많은 단어를 벡터로 표현할 수 있다.
또한, 본 발명의 실시 예에 따른 단어 의미 임베딩 장치(100)는 종래의 단어 임베딩에 비해 단어 의미 임베딩 학습을 수행하기 때문에 단어들의 관계를 코사인 유사도를 통해 볼 수 있다. 단어 의미 임베딩 장치(100)는 종래의 단어 임베딩에서 얻을 수 없는 동의어 관계나 유의어 등을 찾을 수 있다.
또한, 본 발명의 실시 예에 따른 단어 의미 임베딩 장치(100)는 학습할 단어 목록을 부사와 의존명사 등까지 확장하여 학습할 수 있으며, 단어의 의미적 정보를 추가해 적용할 수 있다.
더 나아가, 본 발명의 실시 예에 따른 단어 의미 임베딩 장치(100)에서는 단어 의미 임베딩 학습을 통한 단어 벡터를 이용해 사람 수준의 의미 추론이 가능할 수 있다.
도 9는 본 발명의 실시 예에 따른 어휘 의미망 및 단어 임베딩을 이용한 동형이의어 분별 장치의 구성도이다.
도 9에 도시된 바와 같이, 본 발명의 실시 예에 따른 어휘 의미망 및 단어 임베딩을 이용한 동형이의어 분별 장치(200)는 데이터 저장부(210), 단어 목록 생성부(220), 가공 데이터 생성부(230), 단어 임베딩 학습부(240) 및 동형이의어 분별부(250)를 포함한다.
본 발명의 실시 예에 따른 동형이의어 분별 장치(200)는 단어 임베딩의 변형된 스킵-그램(Skip-Gram) 모델인 피쳐 미러(Feature Mirror) 모델을 이용해서 다양한 자원들을 학습하고 실질형태소의 단어 벡터를 생성한다.
이를 위해, 동형이의어 분별 장치(200)는 우선 말뭉치(211)로부터 학습할 단어 목록을 생성한다. 또한, 동형이의어 분별 장치(200)는 학습용 어절이 포함된 말뭉치(211), 표준 대사전(212)의 용례를 말뭉치의 형태로 변환하여 학습한다. 또한, 동형이의어 분별 장치(200)는 어휘 의미망(213)의 용언-명사 관계를 말뭉치의 형태로 변환하여 학습한다. 추가로 동형이의어 분별 장치(200)는 어휘 의미망(213)의 상위어와 표준 대사전(212)의 뜻풀이를 이용하여 학습할 수 있다. 여기서, 어휘 의미망(213)의 반의어는 네거티브-샘플링(Negative-Sampling) 용도로 이용한다. 이용되는 모든 학습 자원들은 동형이의어 수준에서 태그가 부착되어 있다.
동형이의어 분별 장치(200)는 이러한 단어 임베딩 학습을 통해 학습한 결과물로 형태소의 단어 벡터를 생성한다. 그리고 동형이의어 분별 장치(200)는 형태소의 단어 벡터를 이용하여 두 형태소의 유사도를 계산하여 동형이의어를 분별할 수 있다.
여기서, 본 발명의 실시 예에 따른 동형이의어 분별 장치(200)는 말뭉치(211), 표준 대사전(212) 및 어휘 의미망(213)이 구축될 수 있는 한국어뿐만 아니라 영어(WordNet), 중국어(HowNet) 등의 모든 언어에 적용 가능하다
이하, 도 9의 어휘 의미망 및 단어 임베딩을 이용한 동형이의어 분별 장치(200)의 각 구성요소들의 구체적인 구성 및 동작을 설명한다.
데이터 저장부(210)는 적어도 하나 이상의 학습용 어절이 포함된 말뭉치(211)와 단어 의미 데이터가 포함된 표준 대사전(212) 및 어휘 의미망(213)을 저장한다. 데이터 저장부(210)는 적어도 하나 이상의 학습용 어절이 포함된 말뭉치(211)와, 용례 및 뜻풀이가 단어 의미 데이터로 포함된 표준 대사전(212)과, 용언-명사 관계 정보, 상위어 및 반의어가 단어 의미 데이터로 포함된 어휘 의미망(213)을 저장한다. 예컨대, 말뭉치(211)는 기설정된 말뭉치로서, 세종말뭉치가 적용될 수 있다.
본 발명의 실시 예에 따른 동형이의어 분별 장치(200)는 학습할 단어의 종류와 단어 의미 데이터로 말뭉치(211), 표준 대사전(212) 및 어휘 의미망(213)을 이용한다. 여기서, 어휘 의미망(213)은 어휘 지도로 지칭되기고 한다. 어휘 의미망(213)은 표준 사전을 기반으로 명사, 용언, 부사 어휘들이 의미제약으로 상호 연결된 어휘 의미망을 의미한다.
단어 목록 생성부(220)는 데이터 저장부(210)에서 저장된 말뭉치(211)로부터 학습할 단어 목록을 생성한다.
가공 데이터 생성부(230)는 단어 목록 생성부(220)에서 생성된 학습할 단어 목록에 포함된 단어의 단어 의미 데이터를 데이터 저장부(210)로부터 가져와서 단어 임베딩 학습에 맞게 가공하여 학습용 가공 데이터를 생성한다.
여기서, 가공 데이터 생성부(230)는 단어 목록 생성부(220)에서 생성된 학습할 단어 목록에 포함된 학습할 단어의 단어 의미 데이터 중에서 변환 가능한 단어 의미 데이터를 말뭉치로 변환한다.
구체적으로 살펴보면, 가공 데이터 생성부(230)는 적어도 하나 이상의 학습용 어절이 포함된 말뭉치(211), 상기 표준 대사전(212)에 포함된 용례 및 상기 어휘 의미망(213)에 포함된 용언-명사 관계 정보 중에서 적어도 하나를 말뭉치 형태로 변환한다.
그리고 가공 데이터 생성부(230)는 변환된 말뭉치에서 상기 학습할 단어와 인접한 어절 및 상기 인접한 어절의 상위어를 상기 학습할 단어의 인접 어절로 처리하거나, 용언-명사 관계 정보를 상기 학습할 단어의 인접 어절로 처리할 수 있다.
그리고 가공 데이터 생성부(230)는 그 생성된 학습할 단어 목록, 변환된 말뭉치 및 단어 의미 데이터를 단어 임베딩 학습에 맞게 가공하여 가공 데이터를 생성한다.
단어 임베딩 학습부(240)는 가공 데이터 생성부(230)에서 생성된 가공 데이터를 가지고 입출력층 및 프로젝션 층으로 이루어진 학습 모델을 이용한 단어 임베딩 학습을 통해 학습할 단어를 학습하여 단어 벡터를 생성한다. 이때, 단어 임베딩 학습부(240)는 단어 임베딩 학습을 통해 학습할 단어와 인접하고 조사 또는 어미를 제외한 실질형태소의 단어 벡터를 생성할 수 있다.
여기서, 단어 임베딩 학습부(240)는 단어 임베딩에서의 스킵-그램(Skip-Gram)의 입력층 및 출력층이 합쳐진 하나의 입출력층 및 미러층(mirror layer)으로 이루어진 학습 모델을 이용한 단어 임베딩 학습을 통해 학습할 단어를 학습하여 단어 벡터를 생성한다. 단어 임베딩 학습부(240)는 각각의 가공 데이터가 위치한 입출력층 및 미러층으로 이루어진 학습 모델을 이용한 단어 임베딩 학습을 통해 학습할 단어를 학습하여 단어 벡터를 생성한다.
구체적으로 살펴보면, 단어 임베딩 학습부(240)는 가공 데이터 중에서 학습할 단어, 인접 어절, 용언-명사 관계 정보 및 반의어가 각각 가공된 가공 데이터를 단어 임베딩에서의 스킵-그램(Skip-Gram)의 입력층 및 출력층이 합쳐진 하나의 입출력층에 위치시킨다. 그리고 단어 임베딩 학습부(240)는 각각의 가공 데이터가 위치한 입출력층 및 미러층으로 이루어진 학습 모델을 이용한 단어 임베딩 학습을 통해 학습할 단어를 학습하여 단어 벡터를 생성한다.
이때, 단어 임베딩 학습부(240)는 단어 임베딩 학습의 피드포워드(feedforward) 과정과 백 프로퍼게이션(back propagation) 과정을 통해 단어 임베딩 학습을 수행한다. 단어 임베딩 학습부(240)는 백 프로퍼게이션 과정에서 학습할 단어의 가공 데이터와 연결된 가중치 값을 변경하지 않고, 학습할 단어와 연결된 가중치 값을 변경한다.
또한, 단어 임베딩 학습부(240)는 단어 임베딩에서의 네거티브-샘플링(Negative-Sampling)을 이용해 가공 데이터 이외의 오답을 학습할 단어에 학습할 수 있다. 단어 임베딩 학습부(240)는 반의어에 대해서 네거티브-샘플링을 수행한다. 단어 임베딩 학습부(240)는 반의어의 경우에만 출력 값을 0으로 설정해 학습한다. 단어 임베딩 학습부(240)는 학습할 단어의 다른 동형이의어에 대해서 네거티브-샘플링을 수행한다. 예를 들면, '사과_05/NNG'에 대해서 학습할 때 이 단어는 '사과'이며 품사가 NNG인 다른 형태소(사과_08/NNG 등)'와 네거티브-샘플링이 수행될 수 있다.
한편, 동형이의어 분별부(250)는 단어 임베딩 학습부(240)에서 생성된 단어 벡터를 이용하여 동형이의어와 인접 어절 간의 유사도를 비교하고 그 비교 결과에 따라 동형이의어를 분별한다.
여기서, 동형이의어 분별부(250)는 실질형태소의 단어 벡터를 이용한다. 즉, 동형이의어 분별부(250)는 단어 임베딩 학습부(240)에서 생성된 실질형태소의 단어 벡터를 이용하여 분별할 동형이의어의 실질형태소와 인접 어절의 실질형태소 간의 유사도를 비교하여 동형이의어를 분별할 수 있다.
이와 같이, 본 발명의 실시 예에 따른 동형이의어 분별 장치(200)는 말뭉치뿐만 아니라 용례, 뜻풀이 또한 단순 말뭉치로 취급하여 학습하게 된다. 동형이의어 분별 장치(200)는 변환된 말뭉치에서 학습할 단어의 바로 다음 어절이나 형태소에 나타날 단어를 가공 데이터로 생성하게 된다. 또한, 동형이의어 분별 장치(200)는 상위어, 반의어, 용언-명사 관계를 가공 데이터로 이용한다.
한편, 본 발명의 실시 예에 따른 동형이의어 분별 장치(200)에서는 말뭉치(211)와 표준 대사전(212)의 용례를 묶어서 하나의 말뭉치로 취급한다. 종래의 워드투벡이나 기타 알려진 단어 임베딩 모델들은 영어와 영어 말뭉치를 대상으로 한다.
본 발명의 실시 예에 따른 동형이의어 분별 장치(200)에서는 영어뿐만 아니라 다른 언어(예컨대, 교착어인 한국어 등)에 적용하기 위해서 각 언어의 특성에 맞게 변경하여 단어 임베딩 학습을 수행한다.
일례로, 본 발명의 실시 예에 따른 동형이의어 분별 장치(200)가 한국어에 적용되는 경우, 한국어에서는 '을', '를'같은 조사나 '하다', '였다'와 같은 어미들은 단어 벡터를 가지지 않게 한다. 즉, 단어 임베딩 학습부(240)는 일반명사(NNG), 동사(VV), 형용사(VA) 등의 실질형태소에 대해서 단어 벡터를 생성한다. 그리고 단어 임베딩 학습부(240)는 변환된 말뭉치에서 실질형태소만 남기고 바로 인접하는 실질형태소를 단어 임베딩 학습에 이용한다. 또한, 단어 임베딩 학습부(240)는 인접 형태소를 기설정된 횟수(예컨대, 1회)로 학습할 때마다 네거티브-샘플링을 수행할 수 있다. 단어 임베딩 학습부(240)는 무작위로 선택된 동형이의어의 실질형태소와 동일한 형태소의 다른 동형이의어에 대해서 네거티브-샘플링을 수행한다. 예컨대, 단어 임베딩 학습부(240)는 '사과_05/NNG'에 대해서 학습할 때, 이 형태소는 '사과'이며 품사가 일반명사(NNG)인 다른 형태소(사과_08/NNG 등)'와 네거티브-샘플링을 수행한다.
한편, 다양한 정보들이 있는 어휘 의미망(213)을 학습하는 과정에 대해서 살펴보면 다음과 같다. 본 발명의 실시 예에 따른 동형이의어 분별 장치(200)는 이 중에서 상위어, 반의어, 용언-명사 관계 정보를 이용한다. 가공 데이터 생성부(230)는 변환된 말뭉치를 가공할 때 인접 어절에 대해 처리하면서 동시에 그 어절의 상위어도 인접한 것과 동일하게 처리한다. 그리고 단어 임베딩 학습부(240)는 반의어에 대해서 네거티브-샘플링을 수행한다.
그리고 동형이의어 분별 장치(200)는 변환된 말뭉치 전체에 대해 이런 과정이 1회 수행되고 나면 용언-명사 관계 정보를 학습할 수 있다. 동형이의어 분별 장치(200)는 용언-명사 관계망에 있는 용언과 명사는 서로 인접한 것으로 처리하여 학습할 수 있다.
한편, 도 2에 도시된 바와 같이, 본 발명의 실시 예에 따른 동형이의어 분별 장치(200)는 각 단어들을 학습하기 위해서 종래의 단어 임베딩 또는 워드투벡(Word2Vec)의 스킵-그램(Skip-Gram)을 변형한 학습 모델과 네거티브-샘플링(Negative-Sampling)을 이용한다. 여기서, 가공 데이터의 입력 값과 결과 값은 원-핫(One-hot) 방식으로 표현되어 이용된다.
그리고 본 발명의 실시 예에 따른 동형이의어 분별 장치(200)는 각 단어를 50차원의 단어 벡터로 표현한다.
도 2에는 본 발명의 실시 예에서 이용한 학습 모델이 나타나 있다. 동형이의어 분별 장치(200)는 이러한 학습 모델을 통해 단어 A를 학습하기 위해 단어 B와 연결된 가중치(Weight) 값을 이용하여 A라는 단어를 201 및 202 간선을 통해 학습한다. 여기서, 동형이의어 분별 장치(200)는 실제 가중치 값을 변경하는 경우, 학습할 단어 A와 연결된 가중치(204)만 변경하게 되고, 단어 B와 연결된 가중치(203)를 변경하지 않는다.
이러한 학습 모델은 단어 A의 단어 임베딩 결과에 단어 B와 연결된 단어들의 정보도 포함하기 위해서 이용된다. 그리고 단어들 간의 의미적 연쇄효과를 얻기 위해 도 2와 같은 학습 모델이 이용된다. 이때, 동형이의어 분별 장치(200)는 뜻풀이와 상위어에 대해 출력(Output) 값으로 1로 설정해 학습하고, 반의어의 경우에만 출력 값을 0으로 설정해 학습한다.
또한, 동형이의어 분별 장치(200)는 네거티브-샘플링을 이용해 학습 데이터 이외의 오답을 각 단어에 학습시켜 학습의 정확률을 높일 수 있다.
이하, 도 3 및 도 10를 참조하여 종래의 단어 임베딩의 스킵-그램 모델과 본 발명의 실시 예에 따른 피쳐 미러 모델과의 차이점을 살펴보기로 한다.
도 3에 도시된 바와 같이, 종래의 스킵-그램 모델은 입력층(input layer), 프로젝션층(projection layer) 및 출력층(output layer)의 3개의 층(layer)을 이용하여 구성된 인공 신경망이다.
입력층에는 원-핫(One-hot) 형태로 학습할 단어가 들어가게 된다. 출력층에는 입력층에서 사용한 단어의 앞의 두 단어(w(t-2), w(t-1)), 뒤의 두 단어(w(t+1), w(t+2))가 들어가서 학습하게 된다. 도 3에 도시된 스킵-그램 모델에서는 입력층과 프로젝션층 사이의 간선과 프로젝션층 및 출력층 사이의 간선은 서로 다른 값(
Figure PCTKR2017005126-appb-I000012
)으로 구성되어 있다.
도 10은 본 발명의 실시 예에 따른 동형이의어 분별 장치에서의 피쳐 미러 모델에 대한 설명도이다.
도 10의 (a) 및 (b)에 도시된 바와 같이, 본 발명의 실시 예에 따른 피쳐 미러 모델은 두 개의 층(Layer)으로 이루어진다. 피쳐 미러 모델은 종래의 스킵-그램 모델의 입력층 및 출력층을 합친 하나의 입출력층과 미러층으로 이루어져 있다.
본 발명의 실시 예에 따른 피쳐 미러 모델에서의 입출력층에는 학습할 단어(X(t)), 학습할 단어(X(t))의 단어 의미 데이터가 원-핫 형태로 가공되어 들어가게 된다. 여기서, 학습할 단어(X(t))의 단어 의미 데이터에는 학습할 단어(X(t))와 인접한 인접 어절(X(t+1)), 용언-명사 관계(V-N relation) 정보, 반의어(antonym)가 포함될 수 있다. 예컨대, 단어 의미 데이터에는 단어 뜻풀이(Word definition), 상위어(hypernym) 및 반의어(antonym) 등이 포함될 수 있다.
단어 의미 임베딩 장치(200)는 단어 임베딩 학습의 피드포워드(feedforward) 과정과 백 프로퍼게이션(back propagation) 과정을 통해 단어 임베딩 학습을 수행한다. 단어 의미 임베딩 장치(200)는 백 프로퍼게이션 과정에서 학습할 단어의 단어 의미 데이터와 연결된 가중치 값을 변경하지 않고, 학습할 단어와 연결된 가중치 값을 변경한다.
즉, 본 발명의 실시 예에 따른 동형이의어 분별 장치(200)는 피쳐 미러 모델을 통해 학습을 적용할 때, 학습할 단어 즉, 타겟이 되는 단어(x(target))와 연결된 간선(가중치)만을 변화시키고, 학습할 단어의 단어 뜻풀이, 상위어 및 반의어 등과 연결된 간선(가중치)을 변화시키지 않는다.
이하, 도 5를 참조하여 종래의 스킵-그램 모델과 본 발명의 실시 예에 따른 스킵-그램 모델을 이용한 학습 과정을 살펴보기로 한다.
종래의 단어 임베딩 방식은 문장에서 학습할 단어의 주변 단어를 이용해 학습한다. 도 5에 도시된 바와 같이, "학교에서 사과를 먹었다."라는 문장에서 학습할 단어가 "사과"인 경우에 주변 단어 즉, 주변 형태소인 "학교", "에서", "를" 및 "먹"라는 주변 단어가 단어 임베딩 방식에 이용된다. 학습할 단어인 "사과"와는 의미상으로 관련이 없을 수도 있지만 문장에서 학습할 단어와 인접한 단어가 단어 임베딩 방식에 이용되는 것이다. 종래의 단어 임베딩 방식은 주변의 실질 형태소뿐만 아니라 인접한 조사나 어미들도 학습에 이용한다.
여기서, 종래의 단어 임베딩 방식에서는 단어의 수나 정확률을 위해서는 대용량의 형태소 의미 번호가 부착된 말뭉치가 필요하게 된다. 말뭉치의 양에 따라 단어 임베딩의 결과에 영향을 주므로, 종래의 단어 임베딩 방식은 많은 말뭉치를 사용할 것을 권장하고 있다.
한편, 본 발명의 실시 예에 따른 동형이의어 분별 장치(200)는 워드투벡(Word2Vec)의 변형 모델 즉, 스킵-그램을 변형한 모델을 이용한다. 학습된 단어들을 단어 벡터 값을 가지고 동형이의어의 중의성을 해소하기 위한 계산을 하기와 같이 수행한다.
실질형태소의 단어 벡터를 이용한 유사도 계산 과정은 다음과 같다.
동형이의어 분별 장치(200)는 "사과를 먹다"라는 문장에서 동형이의어인 사과의 중의성을 해소하기 위해서는 "사과"에 해당하는 모든 단어 벡터 값을 찾는다. 여기서, 모든 단어 벡터 값에는 사과(05)(사과나무의 열매), 사과(08)(자기 잘못을 인정하고 용서를 빔) 등이 포함된다.
그리고 동형이의어 분별 장치(200)는 먹다(음식을 배 속으로 들이키다)의 단어 벡터와 하기의 [수학식 5]와 같은 코사인 유사도(Cosine Similarity)를 이용하여 값을 구한다.
Figure PCTKR2017005126-appb-M000005
여기서, A 및 B는 두 개의 단어 A 및 B 각각의 단어 벡터를 나타낸다.
이후, 동형이의어 분별 장치(200)는 가장 높은 값을 가진 사과의 벡터를 "사과를 먹다"라는 문장에서 사용된 "사과"라는 단어의 의미로 결정한다.
예를 들어서, “배가 썩는다”에서 ‘배’라는 동형이의어의 중의성을 해소하는 과정을 살펴보기로 한다.
이 문장 자체는 세종말뭉치에 없기 때문에 미학습 패턴에 속한다. 정확히 말하자면, 열매라는 의미의 '배'와 '썩다'라는 표현이 인접하는 경우가 세종말뭉치에 없다. 종래의 학습 방법들로는 이러한 미학습 패턴이 발생하면 정확률이 현저히 낮아진다.
하지만, 본 발명의 실시 예에 따른 동형이의어 분별 장치(200)에서 생성된 단어 벡터를 이용하는 경우에는 정확률의 하락 정도가 적다. 왜냐하면, 열매 '배'의 단어 벡터 방향이 '썩다'와 인접하는 경우가 있는 '열매'나 '사과', '음식'의 벡터와 비슷하기 때문이다.
비슷해지도록 학습되는 근거는 어휘 의미망(213)에서 '배'의 상위어에 '열매'가 나타나기 때문이다. 그 외에도 '배'의 인접어가 '음식'의 인접어(예컨대, 먹다, 삼키다 등)와 비슷하기 때문에 단어 벡터가 유사해지도록 학습되는 것이다. '사과'나 '음식' 등의 단어 벡터는 동사 '썩다'와 인접하는 경우가 있다. 인접하는 단어끼리는 그들의 벡터가 유사해지게 된다. 결국, 열매 '배'의 단어 벡터가 '썩다'와 유사해지게 된다.
그리고 본 발명의 실시 예에 따른 동형이의어 분별 장치(200)는 '배'의 다른 의미들(예컨대, 선박, 복부 등)의 단어 벡터가 서로 방향으로 멀어지도록 네거티브-샘플링하는 과정을 수행한다. 그래서 선박을 뜻하는 '배'의 단어 벡터는 열매 '배'의 단어 벡터와 크게 다르게 된다. 결국, 선박을 뜻하는 '배'의 단어 벡터는 ‘썩다’ 벡터와 유사도가 낮아지게 된다.
즉, 본 발명의 실시 예에 따른 동형이의어 분별 장치(200)는 단어 임베딩 학습을 통해 생성된 단어 벡터를 동형이의어 분별 과정에 이용함으로써, 미학습 패턴에 강건한 경향이 있다. 또한, 동형이의어 분별 장치(200)는 어휘 의미망(213)을 추가로 학습하고, 의미번호만 다른 동형이의어끼리 네거티브-샘플링을 한다는 점(예를 들어, 열매 '배'는 선박 '배'와 네거티브-샘플링) 때문에 더욱 정확하게 동형이의어를 분별할 수 있다.
한편, 피쳐 미러 모델을 이용하여 "사과(먹는 사과)"라는 학습할 단어를 학습하는 과정을 살펴보기로 한다.
동형이의어 분별 장치(200)는 사과의 뜻풀이인 사과나무의 열매에서 명사와 용언을 추출한 "사과나무", "열매"라는 단어 의미 데이터를 가공 데이터로 이용한다. 그리고 동형이의어 분별 장치(200)는 "사과"라는 학습할 단어의 상위어인 "과일"을 사과의 가공 데이터로 추가한다. 여기서, 학습할 단어 "사과"의 반의어가 없기 때문에 반의어를 가공 데이터는 추가하지 않는다. 그렇지만, 반의어가 있는 경우에는 반의어를 추가한다.
"사과"라는 학습할 단어의 가공 데이터로 "사과나무", "열매", "과일"을 찾은 후 오른쪽에 학습 모델을 이용하여 단어 임베딩 학습을 수행한다.
일례로, "사과"라는 학습할 단어와 뜻풀이의 "사과나무"라는 단어를 이용한 단어 임베딩 학습 과정을 하기의 [수학식 6] 및 [수학식 7]을 참조하여 살펴보기로 한다.
Figure PCTKR2017005126-appb-M000006
여기서,
Figure PCTKR2017005126-appb-I000013
는 사과의 벡터,
Figure PCTKR2017005126-appb-I000014
는 사과나무의 벡터,
Figure PCTKR2017005126-appb-I000015
는 사과의 벡터와 사과나무의 벡터를 곱한 후 모두를 더한 값을 나타낸다.
Figure PCTKR2017005126-appb-M000007
상기의 [수학식 6]은 사과 및 사과나무 간의 출력값을 계산하는 수식을 나타낸다.
상기의 [수학식 6]에 따라 사과의 벡터와 사과나무의 벡터를 곱한 후 모두를 더한 값에 상기의 [수학식 7]에 나타난 시그모이드 함수(Sigmoid Function)를 이용하면 출력 값이 된다.
Figure PCTKR2017005126-appb-M000008
여기서,
Figure PCTKR2017005126-appb-I000016
는 오차 값,
Figure PCTKR2017005126-appb-I000017
는 가공 데이터 상의 정답 값을 나타낸다.
상기의 [수학식 8]과 같이, 오차 값은
Figure PCTKR2017005126-appb-I000018
에서 출력 값인
Figure PCTKR2017005126-appb-I000019
를 뺀 값으로 나타내진다. 여기서,
Figure PCTKR2017005126-appb-I000020
는 가공 데이터 상의 정답 값을 의미한다. 이러한 정답 값은 반의어 학습이 아닌 경우에 값이 1이며 반의어 학습인 경우 0이다.
단어 임베딩 학습부(240)는 오차 값(E)을 이용해
Figure PCTKR2017005126-appb-I000021
의 변화량을 구한다. 단어 임베딩 학습부(240)는 변화량을 구한 후
Figure PCTKR2017005126-appb-I000022
에만 변화량을 적용한다. 즉, 단어 임베딩 학습부(140)는 사과와 연결된 가중치(604)에만 변화량을 적용하고, 사과나무와 연결된 가중치(603)에는 변화량을 적용하지 않는다.
도 11은 본 발명의 실시 예에 따른 동형이의어 분별 장치에 의해 수행되는 어휘 의미망 및 단어 임베딩을 이용한 동형이의어 분별 방법에 대한 흐름도이다.
본 발명의 실시 예에 따른 동형이의어 분별 장치(200)는 적어도 하나 이상의 학습용 어절이 포함된 말뭉치로부터 학습할 단어 목록을 생성한다(S301).
그리고 동형이의어 분별 장치(200)는 생성된 단어 목록에 포함된 학습할 단어의 단어 의미 데이터 중에서 변환 가능한 단어 의미 데이터를 말뭉치로 변환한다(S302). 이때, 동형이의어 분별 장치(200)는 단어 의미 데이터를 데이터 저장부(210)에서 저장된 말뭉치(211), 표준 대사전(212) 및 어휘 의미망(213)으로부터 가져온다.
이어서, 동형이의어 분별 장치(200)는 생성된 학습할 단어 목록, 변환된 말뭉치 및 단어 의미 데이터를 단어 임베딩 학습에 맞게 가공하여 가공 데이터를 생성한다(S303).
이후, 동형이의어 분별 장치(200)는 생성된 가공 데이터를 가지고 입출력층 및 프로젝션 층으로 이루어진 학습 모델을 이용한 단어 임베딩 학습을 통해 학습할 단어를 학습하여 단어 벡터를 생성한다. 그리고 동형이의어 분별 장치(200)는 생성된 단어 벡터를 이용하여 동형이의어와 인접 어절 간의 유사도를 비교한다(S304).
이어서, 동형이의어 분별 장치(200)는 S304 과정에서의 비교 결과에 따라 동형이의어를 분별한다(S305).
한편, 본 발명의 실시 예에 따른 동형이의어 분별 장치(200)에 의해 실험된 실험 과정 및 결과를 하기의 [표 6]을 참조하여 살펴보기로 한다.
본 발명의 실시 예에 따른 동형이의어 분별 장치(200)는 학습한 적이 없는 패턴을 처리하기 위해서 동형이의어 형태소를 단어 벡터로 벡터화하고, 그 동형이의어와 인접 어절의 실질형태소 간의 유사도를 비교한다.
여기서, 단어를 벡터화하는 과정에서 학습용 말뭉치(211), 표준 대사전(212) 및 어휘 의미망(213)이 이용된다. 하기 미학습 패턴들에 대한 소규모의 실험에서 충분히 의미가 있는 결과가 하기의 [표 6]과 같이 나타난다.
Figure PCTKR2017005126-appb-T000006
[표 6]은 간이 실험용 테스트세트의 일부를 나타낸다.
본 발명의 실시 예에 따른 동형이의어 분별 장치(200)가 의미가 있는지를 간단하게 확인하기 위해 간이 실험 환경을 구성하였다.
먼저, 실험을 위해, 동형이의어가 여러 가지이면서 각각의 동형이의어가 고르게 나타나는 즉, 베이스라인이 비교적 낮은 명사를 선택한다(예컨대, 사과).
그리고 '사과'와 인접할 수 있지만 학습용 말뭉치(211)에서는 인접한 적이 없는 형태소(예컨대, 열매)를 정한다. [표 6]은 실험에 사용한 테스트세트에서 3개만 예로 표시한 것이다.
일례로, 본 발명의 실시 예에 따른 동형이의어 분별 장치(200)는 '사과'와 '열매_01/NNG'를 입력받게 되고, '사과'의 동형이의어 중에서 '열매'와 가장 유사한 것이 '사과_05/NNG'로 계산되면 정답을 맞춘 것이다.
본 발명의 실시 예에 따른 동형이의어 분별 장치(200)는 총 24개 중에 18개를 맞추었다. 비록 테스트세트가 아주 작지만 본 발명의 실시 예에 따른 동형이의어 분별 장치(200)가 의미가 있음을 알 수 있다.
이와 같이, 본 발명의 실시 예에서는 한국어뿐만 아니라 영어, 중국어 등 모든 언어에 적용가능한 동형이의어 분별을 위해서 단어 임베딩 학습을 통해 학습하고 단어 벡터들 간의 유사도 비교를 통해 동형이의어를 분별한다.
본 발명의 실시 예에 따른 동형이의어 분별 장치(200)는 단어 임베딩 학습을 위해 말뭉치(211)뿐만 아니라 표준 대사전(212), 어휘 의미망(213)을 이용한다. 상기의 [표 6]과 같이 미학습 패턴만으로 간단한 실험을 하였으며 의미 있는 결과를 보였다.
미학습패턴은 종래의 방법으로는 매우 낮은 베이스라인 수준의 정확률만을 기대할 수 있다. 따라서 본 발명의 실시 예에 따른 동형이의어 분별 장치(200)는 종래의 동형이의어 분별기가 재현하지 못하는 패턴에 대해서 후속 보완 모듈로도 이용될 수 있다. 또한, 후속 보완 모듈로 이용된다면 전체적인 정확률을 향상시킬 수 있다. 즉, 동형이의어 분별 장치(200)가 적용되면, 미학습패턴에 대해서도 안정적으로 작동하는 동형이의어 분별기가 제공될 수 있다. 이와 같이, 본 발명의 실시 예에 따른 동형이의어 분별 장치(200)는 종래의 동형이의어 분별기(UTagger)에 통합될 수 있다.
또한, 동형이의어 분별 장치(200)는 의존명사, 부사, 접미사, 접두사 등에 대해서도 단어 벡터를 생성할 수 있다. 이들은 일반명사나 용언과는 다른 성격을 가지고 있기 때문에 동형이의어 분별 장치(200)는 그 성격에 따라 변경하여 단어 임베딩 학습을 수행할 수 있다.
이상에서 설명한 실시 예들은 그 일 예로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (36)

  1. 단어 사전 데이터 및 단어 의미 데이터가 포함된 어휘 의미망을 저장하는 데이터 저장부;
    상기 저장된 단어 사전 데이터로부터 기설정된 품사를 갖는 어휘들을 추출해 학습할 단어 목록을 생성하는 단어 목록 생성부;
    상기 생성된 학습할 단어 목록과 상기 학습할 단어 목록에 포함된 학습할 단어의 단어 의미 데이터를 상기 데이터 저장부로부터 가져와서 단어 임베딩 학습에 맞게 가공하여 가공 데이터를 생성하는 가공 데이터 생성부; 및
    상기 생성된 가공 데이터를 가지고 입출력층 및 프로젝션 층으로 이루어진 학습 모델을 이용한 단어 임베딩 학습을 통해 학습할 단어를 학습하여 단어 벡터를 생성하는 단어 임베딩 학습부
    를 포함하는 어휘 의미망을 이용한 단어 의미 임베딩 장치.
  2. 제1항에 있어서,
    상기 생성된 단어 벡터를 이용한 코사인 유사도를 계산해 입력 단어의 유의어를 산출하는 유의어 산출부
    를 더 포함하는 어휘 의미망을 이용한 단어 의미 임베딩 장치.
  3. 제2항에 있어서,
    상기 유의어 산출부는
    제1 및 제2 입력 단어를 입력받고, 제2 입력 단어에 가장 근접한 단어를 코사인 유사도를 이용하여 기설정된 개수의 유의어들을 추출하고, 상기 추출된 유의어들과 제1 입력 단어 간의 코사인 유사도를 계산하여 가장 높은 유사도를 가진 단어를 제1 및 제2 입력 단어의 유의어로 산출하는 어휘 의미망을 이용한 단어 의미 임베딩 장치.
  4. 제2항에 있어서,
    상기 유의어 산출부는
    입력 단어의 단어 벡터와 기설정된 속성을 가지는 속성 단어의 단어 벡터의 속성 연산 과정을 통해 입력 단어의 속성이 변경된 유의어를 산출하는 어휘 의미망을 이용한 단어 의미 임베딩 장치.
  5. 제1항에 있어서,
    상기 단어 목록 생성부는
    명사, 용언, 부사 및 의존명사 어휘들이 의미제약으로 상호 연결된 어휘 의미망에서 기설정된 품사를 갖는 어휘들을 추출해 학습할 단어 목록을 생성하는 어휘 의미망을 이용한 단어 의미 임베딩 장치.
  6. 제1항에 있어서,
    상기 가공 데이터 생성부는
    상기 생성된 학습할 단어 목록에 포함된 단어의 뜻풀이, 상위어 및 반의어 중 적어도 하나가 포함된 단어 의미 데이터를 이용하여 학습용 가공 데이터를 생성하는 어휘 의미망을 이용한 단어 의미 임베딩 장치.
  7. 제1항에 있어서,
    상기 단어 임베딩 학습부는
    단어 임베딩에서의 네거티브-샘플링(Negative-Sampling)을 이용해 가공 데이터 이외의 오답을 학습할 단어에 학습하는 어휘 의미망을 이용한 단어 의미 임베딩 장치.
  8. 제1항에 있어서,
    상기 단어 임베딩 학습부는
    상기 가공 데이터 중에서 상기 학습할 단어 및 상기 학습할 단어의 단어 의미 데이터가 가공된 각각의 가공 데이터를 단어 임베딩에서의 스킵-그램(Skip-Gram)의 입력층 및 출력층이 합쳐진 하나의 입출력층에 위치시키고, 상기 각각의 가공 데이터가 위치한 입출력층 및 미러층으로 이루어진 학습 모델을 이용한 단어 임베딩 학습을 통해 학습할 단어를 학습하여 단어 벡터를 생성하는 어휘 의미망을 이용한 단어 의미 임베딩 장치.
  9. 제1항에 있어서,
    상기 단어 임베딩 학습부는
    단어 임베딩 학습의 피드포워드(feedforward) 과정과 백 프로퍼게이션(back propagation) 과정을 통해 단어 임베딩 학습을 수행하고, 백 프로퍼게이션 과정에서 학습할 단어의 단어 의미 데이터와 연결된 가중치 값을 변경하지 않고, 학습할 단어와 연결된 가중치 값을 변경하는 어휘 의미망을 이용한 단어 의미 임베딩 장치.
  10. 어휘 의미망에 포함된 단어 사전 데이터로부터 기설정된 품사를 갖는 어휘들을 추출해 학습할 단어 목록을 생성하는 단계;
    상기 생성된 학습할 단어 목록과 상기 학습할 단어 목록에 포함된 학습할 단어의 단어 의미 데이터를 가져와서 단어 임베딩 학습에 맞게 가공하여 가공 데이터를 생성하는 단계; 및
    상기 생성된 가공 데이터를 가지고 입출력층 및 프로젝션 층으로 이루어진 학습 모델을 이용한 단어 임베딩 학습을 통해 학습할 단어를 학습하여 단어 벡터를 생성하는 단계
    를 포함하는 어휘 의미망을 이용한 단어 의미 임베딩 방법.
  11. 제10항에 있어서,
    상기 생성된 단어 벡터를 이용한 코사인 유사도를 계산해 입력 단어의 유의어를 산출하는 단계
    를 더 포함하는 어휘 의미망을 이용한 단어 의미 임베딩 방법.
  12. 제11항에 있어서,
    상기 유의어를 산출하는 단계는
    제1 및 제2 입력 단어를 입력받는 단계;
    제2 입력 단어에 가장 근접한 단어를 코사인 유사도를 이용하여 기설정된 개수의 유의어들을 추출하는 단계; 및
    상기 추출된 유의어들과 제1 입력 단어 간의 코사인 유사도를 계산하여 가장 높은 유사도를 가진 단어를 제1 및 제2 입력 단어의 유의어로 산출하는 단계
    를 포함하는 어휘 의미망을 이용한 단어 의미 임베딩 방법.
  13. 제11항에 있어서,
    상기 유의어를 산출하는 단계는
    입력 단어의 단어 벡터와 기설정된 속성을 가지는 속성 단어의 단어 벡터의 속성 연산 과정을 통해 입력 단어의 속성이 변경된 유의어를 산출하는 어휘 의미망을 이용한 단어 의미 임베딩 방법.
  14. 제10항에 있어서,
    상기 학습할 단어 목록을 생성하는 단계는
    명사, 용언, 부사 및 의존명사 어휘들이 의미제약으로 상호 연결된 어휘 의미망에서 기설정된 품사를 갖는 어휘들을 추출해 학습할 단어 목록을 생성하는 어휘 의미망을 이용한 단어 의미 임베딩 방법.
  15. 제10항에 있어서,
    상기 가공 데이터를 생성하는 단계는
    상기 생성된 학습할 단어 목록에 포함된 단어의 뜻풀이, 상위어 및 반의어 중 적어도 하나가 포함된 단어 의미 데이터를 이용하여 학습용 가공 데이터를 생성하는 어휘 의미망을 이용한 단어 의미 임베딩 방법.
  16. 제10항에 있어서,
    상기 단어 벡터를 생성하는 단계는
    단어 임베딩에서의 네거티브-샘플링(Negative-Sampling)을 이용해 가공 데이터 이외의 오답을 학습할 단어에 학습하는 어휘 의미망을 이용한 단어 의미 임베딩 방법.
  17. 제10항에 있어서,
    상기 단어 벡터를 생성하는 단계는
    상기 가공 데이터 중에서 상기 학습할 단어 및 상기 학습할 단어의 단어 의미 데이터가 가공된 각각의 가공 데이터를 단어 임베딩에서의 스킵-그램(Skip-Gram)의 입력층 및 출력층이 합쳐진 하나의 입출력층에 위치시키고, 상기 각각의 가공 데이터가 위치한 입출력층 및 미러층으로 이루어진 학습 모델을 이용한 단어 임베딩 학습을 통해 학습할 단어를 학습하여 단어 벡터를 생성하는 어휘 의미망을 이용한 단어 의미 임베딩 방법.
  18. 제10항에 있어서,
    상기 단어 벡터를 생성하는 단계는
    단어 임베딩 학습의 피드포워드(feedforward) 과정과 백 프로퍼게이션(back propagation) 과정을 통해 단어 임베딩 학습을 수행하고, 백 프로퍼게이션 과정에서 학습할 단어의 단어 의미 데이터와 연결된 가중치 값을 변경하지 않고, 학습할 단어와 연결된 가중치 값을 변경하는 어휘 의미망을 이용한 단어 의미 임베딩 방법.
  19. 적어도 하나 이상의 학습용 어절이 포함된 말뭉치와 단어 의미 데이터가 포함된 표준 대사전 및 어휘 의미망을 저장하는 데이터 저장부;
    상기 말뭉치로부터 학습할 단어 목록을 생성하는 단어 목록 생성부;
    상기 생성된 단어 목록에 포함된 학습할 단어의 단어 의미 데이터 중에서 변환 가능한 단어 의미 데이터를 말뭉치로 변환하고, 상기 생성된 학습할 단어 목록, 상기 변환된 말뭉치 및 상기 단어 의미 데이터를 단어 임베딩 학습에 맞게 가공하여 가공 데이터를 생성하는 가공 데이터 생성부;
    상기 생성된 가공 데이터를 가지고 입출력층 및 프로젝션 층으로 이루어진 학습 모델을 이용한 단어 임베딩 학습을 통해 학습할 단어를 학습하여 단어 벡터를 생성하는 단어 임베딩 학습부; 및
    상기 생성된 단어 벡터를 이용하여 동형이의어와 인접 어절 간의 유사도를 비교하고 상기 비교 결과에 따라 동형이의어를 분별하는 동형이의어 분별부
    를 포함하는 어휘 의미망 및 단어 임베딩을 이용한 동형이의어 분별 장치.
  20. 제19항에 있어서,
    상기 데이터 저장부는
    적어도 하나 이상의 학습용 어절이 포함된 말뭉치와, 용례 및 뜻풀이가 단어 의미 데이터로 포함된 표준 대사전과, 용언-명사 관계 정보, 상위어 및 반의어가 단어 의미 데이터로 포함된 어휘 의미망을 저장하는 어휘 의미망 및 단어 임베딩을 이용한 동형이의어 분별 장치.
  21. 제19항에 있어서,
    상기 가공 데이터 생성부는
    적어도 하나 이상의 학습용 어절이 포함된 말뭉치, 표준 대사전에 포함된 용례 및 뜻풀이, 및 어휘 의미망에 포함된 용언-명사 관계 정보 중에서 적어도 하나를 말뭉치 형태로 변환하는 어휘 의미망 및 단어 임베딩을 이용한 동형이의어 분별 장치.
  22. 제19항에 있어서,
    상기 가공 데이터 생성부는
    상기 변환된 말뭉치에서 상기 학습할 단어와 인접한 어절 및 상기 인접한 어절의 상위어를 상기 학습할 단어의 인접 어절로 처리하거나, 용언-명사 관계 정보를 상기 학습할 단어의 인접 어절로 처리하는 어휘 의미망 및 단어 임베딩을 이용한 동형이의어 분별 장치.
  23. 제19항에 있어서,
    상기 단어 임베딩 학습부는
    상기 가공 데이터 중에서 상기 학습할 단어, 인접 어절, 용언-명사 관계 정보 및 반의어가 각각 가공된 가공 데이터를 단어 임베딩에서의 스킵-그램(Skip-Gram)의 입력층 및 출력층이 합쳐진 하나의 입출력층에 위치시키고, 상기 각각의 가공 데이터가 위치한 입출력층 및 미러층으로 이루어진 학습 모델을 이용한 단어 임베딩 학습을 통해 학습할 단어를 학습하여 단어 벡터를 생성하는 어휘 의미망 및 단어 임베딩을 이용한 동형이의어 분별 장치.
  24. 제19항에 있어서,
    상기 단어 임베딩 학습부는
    단어 임베딩 학습의 피드포워드(feedforward) 과정과 백 프로퍼게이션(back propagation) 과정을 통해 단어 임베딩 학습을 수행하고, 백 프로퍼게이션 과정에서 학습할 단어의 가공 데이터와 연결된 가중치 값을 변경하지 않고, 학습할 단어와 연결된 가중치 값을 변경하는 어휘 의미망 및 단어 임베딩을 이용한 동형이의어 분별 장치.
  25. 제19항에 있어서,
    상기 단어 임베딩 학습부는
    단어 임베딩에서의 네거티브-샘플링(Negative-Sampling)을 이용해 가공 데이터 이외의 오답을 학습할 단어에 학습하는 어휘 의미망 및 단어 임베딩을 이용한 동형이의어 분별 장치.
  26. 제19항에 있어서,
    상기 단어 임베딩 학습부는
    단어 임베딩 학습을 통해 학습할 단어와 인접하고 조사 또는 어미를 제외한 실질형태소의 단어 벡터를 생성하는 어휘 의미망 및 단어 임베딩을 이용한 동형이의어 분별 장치.
  27. 제19항에 있어서,
    상기 동형이의어 분별부는
    상기 생성된 실질형태소의 단어 벡터를 이용하여 분별할 동형이의어의 실질형태소와 인접 어절의 실질형태소 간의 유사도를 비교하여 동형이의어를 분별하는 어휘 의미망 및 단어 임베딩을 이용한 동형이의어 분별 장치.
  28. 적어도 하나 이상의 학습용 어절이 포함된 말뭉치로부터 학습할 단어 목록을 생성하는 단계;
    상기 생성된 단어 목록에 포함된 학습할 단어의 단어 의미 데이터 중에서 변환 가능한 단어 의미 데이터를 말뭉치로 변환하는 단계;
    상기 생성된 학습할 단어 목록, 상기 변환된 말뭉치 및 상기 단어 의미 데이터를 단어 임베딩 학습에 맞게 가공하여 가공 데이터를 생성하는 단계;
    상기 생성된 가공 데이터를 가지고 입출력층 및 프로젝션 층으로 이루어진 학습 모델을 이용한 단어 임베딩 학습을 통해 학습할 단어를 학습하여 단어 벡터를 생성하는 단계; 및
    상기 생성된 단어 벡터를 이용하여 동형이의어와 인접 어절 간의 유사도를 비교하고 상기 비교 결과에 따라 동형이의어를 분별하는 단계
    를 포함하는 어휘 의미망 및 단어 임베딩을 이용한 동형이의어 분별 방법.
  29. 제28항에 있어서,
    상기 말뭉치로 변환하는 단계는
    용례 및 뜻풀이가 포함된 표준 대사전과, 용언-명사 관계 정보, 상위어 및 반의어가 포함된 어휘 의미망에서의 단어 의미 데이터 중에서 변환 가능한 단어 의미 데이터를 말뭉치로 변환하는 어휘 의미망 및 단어 임베딩을 이용한 동형이의어 분별 방법.
  30. 제28항에 있어서,
    상기 말뭉치로 변환하는 단계는
    적어도 하나 이상의 학습용 어절이 포함된 말뭉치, 표준 대사전에 포함된 용례 및 뜻풀이, 및 어휘 의미망에 포함된 용언-명사 관계 정보 중에서 적어도 하나를 말뭉치 형태로 변환하는 어휘 의미망 및 단어 임베딩을 이용한 동형이의어 분별 방법.
  31. 제28항에 있어서,
    상기 가공 데이터를 생성하는 단계는
    상기 변환된 말뭉치에서 상기 학습할 단어와 인접한 어절 및 상기 인접한 어절의 상위어를 상기 학습할 단어의 인접 어절로 처리하거나, 용언-명사 관계 정보를 상기 학습할 단어의 인접 어절로 처리하는 어휘 의미망 및 단어 임베딩을 이용한 동형이의어 분별 방법.
  32. 제28항에 있어서,
    상기 단어 벡터를 생성하는 단계는
    상기 가공 데이터 중에서 상기 학습할 단어, 인접 어절, 용언-명사 관계 정보 및 반의어가 각각 가공된 가공 데이터를 단어 임베딩에서의 스킵-그램(Skip-Gram)의 입력층 및 출력층이 합쳐진 하나의 입출력층에 위치시키고, 상기 각각의 가공 데이터가 위치한 입출력층 및 미러층으로 이루어진 학습 모델을 이용한 단어 임베딩 학습을 통해 학습할 단어를 학습하여 단어 벡터를 생성하는 어휘 의미망 및 단어 임베딩을 이용한 동형이의어 분별 방법.
  33. 제28항에 있어서,
    상기 단어 벡터를 생성하는 단계는
    단어 임베딩 학습의 피드포워드(feedforward) 과정과 백 프로퍼게이션(back propagation) 과정을 통해 단어 임베딩 학습을 수행하고, 백 프로퍼게이션 과정에서 학습할 단어의 가공 데이터와 연결된 가중치 값을 변경하지 않고, 학습할 단어와 연결된 가중치 값을 변경하는 어휘 의미망 및 단어 임베딩을 이용한 동형이의어 분별 방법.
  34. 제28항에 있어서,
    상기 단어 벡터를 생성하는 단계는
    단어 임베딩에서의 네거티브-샘플링(Negative-Sampling)을 이용해 가공 데이터 이외의 오답을 학습할 단어에 학습하는 어휘 의미망 및 단어 임베딩을 이용한 동형이의어 분별 방법.
  35. 제28항에 있어서,
    상기 단어 벡터를 생성하는 단계는
    단어 임베딩 학습을 통해 학습할 단어와 인접하고 조사 또는 어미를 제외한 실질형태소의 단어 벡터를 생성하는 어휘 의미망 및 단어 임베딩을 이용한 동형이의어 분별 방법.
  36. 제28항에 있어서,
    상기 동형이의어를 분별하는 단계는
    상기 생성된 실질형태소의 단어 벡터를 이용하여 분별할 동형이의어의 실질형태소와 인접 어절의 실질형태소 간의 유사도를 비교하여 동형이의어를 분별하는 어휘 의미망 및 단어 임베딩을 이용한 동형이의어 분별 방법.
PCT/KR2017/005126 2016-06-15 2017-05-17 어휘 의미망을 이용한 단어 의미 임베딩 장치 및 방법과, 어휘 의미망 및 단어 임베딩을 이용한 동형이의어 분별 장치 및 방법 WO2017217661A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/323,230 US10984318B2 (en) 2016-06-15 2017-05-17 Word semantic embedding apparatus and method using lexical semantic network and homograph disambiguating apparatus and method using lexical semantic network and word embedding

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR1020160074758A KR101797365B1 (ko) 2016-06-15 2016-06-15 어휘 의미망을 이용한 단어 의미 임베딩 장치 및 방법
KR10-2016-0074758 2016-06-15
KR1020160074761A KR101799681B1 (ko) 2016-06-15 2016-06-15 어휘 의미망 및 단어 임베딩을 이용한 동형이의어 분별 장치 및 방법
KR10-2016-0074761 2016-06-15

Publications (1)

Publication Number Publication Date
WO2017217661A1 true WO2017217661A1 (ko) 2017-12-21

Family

ID=60664473

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2017/005126 WO2017217661A1 (ko) 2016-06-15 2017-05-17 어휘 의미망을 이용한 단어 의미 임베딩 장치 및 방법과, 어휘 의미망 및 단어 임베딩을 이용한 동형이의어 분별 장치 및 방법

Country Status (2)

Country Link
US (1) US10984318B2 (ko)
WO (1) WO2017217661A1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109359303A (zh) * 2018-12-10 2019-02-19 枣庄学院 一种基于图模型的词义消歧方法和系统
CN109684640A (zh) * 2018-12-26 2019-04-26 科大讯飞股份有限公司 一种语义提取方法及装置
CN110781670A (zh) * 2019-10-28 2020-02-11 合肥工业大学 基于百科知识库和词向量的中文地名语义消歧方法
WO2020062770A1 (zh) * 2018-09-27 2020-04-02 深圳大学 一种领域词典的构建方法、装置、设备及存储介质
CN111523323A (zh) * 2020-04-26 2020-08-11 梁华智能科技(上海)有限公司 一种中文分词的消歧处理方法和系统

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10984318B2 (en) * 2016-06-15 2021-04-20 University Of Ulsan Foundation For Industry Cooperation Word semantic embedding apparatus and method using lexical semantic network and homograph disambiguating apparatus and method using lexical semantic network and word embedding
US11176188B2 (en) * 2017-01-11 2021-11-16 Siemens Healthcare Gmbh Visualization framework based on document representation learning
US12050869B2 (en) * 2018-08-21 2024-07-30 Entigenlogic Llc Generating an unambiguous interpretation of ingested content to produce knowledge
FR3098000B1 (fr) * 2019-06-27 2022-05-13 Ea4T Procédé et dispositif d’obtention d’une réponse à partir d’une question orale posée à une interface homme-machine.
US11080491B2 (en) * 2019-10-14 2021-08-03 International Business Machines Corporation Filtering spurious knowledge graph relationships between labeled entities
WO2021234577A1 (en) * 2020-05-21 2021-11-25 Element Ai Inc. Method of and system for training machine learning algorithm for object classification
US11704558B2 (en) 2020-05-21 2023-07-18 Servicenow Canada Inc. Method of and system for training machine learning algorithm for object classification
CN111460797B (zh) * 2020-06-09 2021-01-15 平安国际智慧城市科技股份有限公司 关键字抽取方法、装置、电子设备及可读存储介质
US11487943B2 (en) * 2020-06-17 2022-11-01 Tableau Software, LLC Automatic synonyms using word embedding and word similarity models
CN112149418A (zh) * 2020-09-23 2020-12-29 西藏民族大学 一种基于词向量表示学习的中文分词方法及系统
CN112199485B (zh) * 2020-10-14 2022-10-14 哈尔滨工程大学 一种基于个性化开放领域的对话生成方法
US20220164600A1 (en) * 2020-11-20 2022-05-26 Nec Laboratories America, Inc. Unsupervised document representation learning via contrastive augmentation
CN112417882A (zh) * 2021-01-25 2021-02-26 成都信息工程大学 基于迁移学习的中医临床领域词嵌入学习方法及迁移方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020036059A (ko) * 2000-11-07 2002-05-16 옥철영 사전 뜻풀이말에서 추출된 의미정보를 기반으로하는 의미중의성 해결 방법
KR100952418B1 (ko) * 2008-05-13 2010-04-14 한국과학기술정보연구원 어휘망을 이용한 질의어 확장 시스템 및 그 방법과 그방법에 대한 컴퓨터 프로그램을 저장한 기록매체
JP2012108570A (ja) * 2010-11-15 2012-06-07 Hitachi Ltd 単語意味関係抽出装置及び単語意味関係抽出方法
KR101508070B1 (ko) * 2013-12-17 2015-04-07 울산대학교 산학협력단 어휘지도를 이용한 용언의 다의어 의미 분석 방법

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3912431B2 (ja) * 1997-03-04 2007-05-09 博 石倉 言語解析システムおよび方法
US7028038B1 (en) * 2002-07-03 2006-04-11 Mayo Foundation For Medical Education And Research Method for generating training data for medical text abbreviation and acronym normalization
JP2005031979A (ja) * 2003-07-11 2005-02-03 National Institute Of Advanced Industrial & Technology 情報処理方法、情報処理プログラム、情報処理装置およびリモートコントローラ
WO2005033909A2 (en) * 2003-10-08 2005-04-14 Any Language Communications Inc. Relationship analysis system and method for semantic disambiguation of natural language
US7241258B2 (en) * 2003-11-07 2007-07-10 Otologics, Llc Passive vibration isolation of implanted microphone
US7937263B2 (en) * 2004-12-01 2011-05-03 Dictaphone Corporation System and method for tokenization of text using classifier models
US7565282B2 (en) * 2005-04-14 2009-07-21 Dictaphone Corporation System and method for adaptive automatic error correction
US8099281B2 (en) * 2005-06-06 2012-01-17 Nunance Communications, Inc. System and method for word-sense disambiguation by recursive partitioning
US8677377B2 (en) * 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US8600922B2 (en) * 2006-10-13 2013-12-03 Elsevier Inc. Methods and systems for knowledge discovery
US8538743B2 (en) * 2007-03-21 2013-09-17 Nuance Communications, Inc. Disambiguating text that is to be converted to speech using configurable lexeme based rules
US20110202532A1 (en) * 2007-08-21 2011-08-18 Nec Corporation Information sharing system, information sharing method, and information sharing program
US8494854B2 (en) * 2008-06-23 2013-07-23 John Nicholas and Kristin Gross CAPTCHA using challenges optimized for distinguishing between humans and machines
US20110093256A1 (en) * 2009-10-15 2011-04-21 Frank John Williams Method of disambiguating information
US9158841B2 (en) * 2011-06-15 2015-10-13 The University Of Memphis Research Foundation Methods of evaluating semantic differences, methods of identifying related sets of items in semantic spaces, and systems and computer program products for implementing the same
US9588580B2 (en) * 2011-09-30 2017-03-07 Dejoto Technologies Llc System and method for single domain and multi-domain decision aid for product on the web
US9430563B2 (en) * 2012-02-02 2016-08-30 Xerox Corporation Document processing employing probabilistic topic modeling of documents represented as text words transformed to a continuous space
JP5494999B1 (ja) * 2012-04-26 2014-05-21 日本電気株式会社 テキストマイニングシステム、テキストマイニング方法及びプログラム
US20140067368A1 (en) * 2012-08-29 2014-03-06 Microsoft Corporation Determining synonym-antonym polarity in term vectors
JP6150282B2 (ja) * 2013-06-27 2017-06-21 国立研究開発法人情報通信研究機構 ノン・ファクトイド型質問応答システム及びコンピュータプログラム
US20150095017A1 (en) * 2013-09-27 2015-04-02 Google Inc. System and method for learning word embeddings using neural language models
US20150120788A1 (en) * 2013-10-28 2015-04-30 Xerox Corporation Classification of hashtags in micro-blogs
US20150127323A1 (en) * 2013-11-04 2015-05-07 Xerox Corporation Refining inference rules with temporal event clustering
KR20150082783A (ko) * 2014-01-08 2015-07-16 한국전자통신연구원 텍스트 빅데이터 기반 의미 프레임 운용 방법 및 이를 지원하는 장치
US10073830B2 (en) * 2014-01-10 2018-09-11 Cluep Inc. Systems, devices, and methods for automatic detection of feelings in text
US10515138B2 (en) * 2014-04-25 2019-12-24 Mayo Foundation For Medical Education And Research Enhancing reading accuracy, efficiency and retention
US20160162467A1 (en) * 2014-12-09 2016-06-09 Idibon, Inc. Methods and systems for language-agnostic machine learning in natural language processing using feature extraction
US10409910B2 (en) * 2014-12-12 2019-09-10 Omni Ai, Inc. Perceptual associative memory for a neuro-linguistic behavior recognition system
US10733619B1 (en) * 2015-01-27 2020-08-04 Wells Fargo Bank, N.A. Semantic processing of customer communications
RU2584457C1 (ru) * 2015-02-03 2016-05-20 Общество с ограниченной ответственностью "Аби ИнфоПоиск" Система и способ создания и использования пользовательских семантических словарей для обработки пользовательского текста на естественном языке
WO2016134183A1 (en) * 2015-02-19 2016-08-25 Digital Reasoning Systems, Inc. Systems and methods for neural language modeling
US9805717B2 (en) * 2015-03-06 2017-10-31 Dell Products Lp Voice-based input using natural language processing for interfacing with one or more devices
US20160267187A1 (en) * 2015-03-10 2016-09-15 Thaddeus John Gabara Method and Apparatus for Coupling the Internet, Environment and Intrinsic Memory to Users
US9898458B2 (en) * 2015-05-08 2018-02-20 International Business Machines Corporation Generating distributed word embeddings using structured information
US9607616B2 (en) * 2015-08-17 2017-03-28 Mitsubishi Electric Research Laboratories, Inc. Method for using a multi-scale recurrent neural network with pretraining for spoken language understanding tasks
KR102407630B1 (ko) * 2015-09-08 2022-06-10 삼성전자주식회사 서버, 사용자 단말 및 이들의 제어 방법.
US11514244B2 (en) * 2015-11-11 2022-11-29 Adobe Inc. Structured knowledge modeling and extraction from images
US10460033B2 (en) * 2015-11-11 2019-10-29 Adobe Inc. Structured knowledge modeling, extraction and localization from images
US20170154258A1 (en) * 2015-11-30 2017-06-01 National Institute Of Information And Communications Technology Joint estimation method and method of training sequence-to-sequence model therefor
US9875258B1 (en) * 2015-12-17 2018-01-23 A9.Com, Inc. Generating search strings and refinements from an image
US10019438B2 (en) * 2016-03-18 2018-07-10 International Business Machines Corporation External word embedding neural network language models
US9633007B1 (en) * 2016-03-24 2017-04-25 Xerox Corporation Loose term-centric representation for term classification in aspect-based sentiment analysis
US10120864B2 (en) * 2016-03-29 2018-11-06 Conduent Business Services Llc Method and system for identifying user issues in forum posts based on discourse analysis
US10691885B2 (en) * 2016-03-30 2020-06-23 Evernote Corporation Extracting structured data from handwritten and audio notes
WO2017168252A1 (en) * 2016-03-31 2017-10-05 Maluuba Inc. Method and system for processing an input query
US10489439B2 (en) * 2016-04-14 2019-11-26 Xerox Corporation System and method for entity extraction from semi-structured text documents
US10789545B2 (en) * 2016-04-14 2020-09-29 Oath Inc. Method and system for distributed machine learning
US10878191B2 (en) * 2016-05-10 2020-12-29 Nuance Communications, Inc. Iterative ontology discovery
US11468336B2 (en) * 2016-06-06 2022-10-11 Verisign, Inc. Systems, devices, and methods for improved affix-based domain name suggestion
US10984318B2 (en) * 2016-06-15 2021-04-20 University Of Ulsan Foundation For Industry Cooperation Word semantic embedding apparatus and method using lexical semantic network and homograph disambiguating apparatus and method using lexical semantic network and word embedding

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020036059A (ko) * 2000-11-07 2002-05-16 옥철영 사전 뜻풀이말에서 추출된 의미정보를 기반으로하는 의미중의성 해결 방법
KR100952418B1 (ko) * 2008-05-13 2010-04-14 한국과학기술정보연구원 어휘망을 이용한 질의어 확장 시스템 및 그 방법과 그방법에 대한 컴퓨터 프로그램을 저장한 기록매체
JP2012108570A (ja) * 2010-11-15 2012-06-07 Hitachi Ltd 単語意味関係抽出装置及び単語意味関係抽出方法
KR101508070B1 (ko) * 2013-12-17 2015-04-07 울산대학교 산학협력단 어휘지도를 이용한 용언의 다의어 의미 분석 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
NA, SEUNG-HOON ET AL.: "Deep Learning for Natural Language Processing", COMMUNICATIONS OF THE KOREAN INSTITUTE OF INFORMATION SCIENTISTS AND ENGINEERS, vol. 33, no. 10, October 2015 (2015-10-01), pages 28 - 39 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020062770A1 (zh) * 2018-09-27 2020-04-02 深圳大学 一种领域词典的构建方法、装置、设备及存储介质
CN109359303A (zh) * 2018-12-10 2019-02-19 枣庄学院 一种基于图模型的词义消歧方法和系统
CN109359303B (zh) * 2018-12-10 2023-04-07 枣庄学院 一种基于图模型的词义消歧方法和系统
CN109684640A (zh) * 2018-12-26 2019-04-26 科大讯飞股份有限公司 一种语义提取方法及装置
CN109684640B (zh) * 2018-12-26 2023-05-30 科大讯飞股份有限公司 一种语义提取方法及装置
CN110781670A (zh) * 2019-10-28 2020-02-11 合肥工业大学 基于百科知识库和词向量的中文地名语义消歧方法
CN110781670B (zh) * 2019-10-28 2023-03-03 合肥工业大学 基于百科知识库和词向量的中文地名语义消歧方法
CN111523323A (zh) * 2020-04-26 2020-08-11 梁华智能科技(上海)有限公司 一种中文分词的消歧处理方法和系统
CN111523323B (zh) * 2020-04-26 2022-08-12 梁华智能科技(上海)有限公司 一种中文分词的消歧处理方法和系统

Also Published As

Publication number Publication date
US20190188263A1 (en) 2019-06-20
US10984318B2 (en) 2021-04-20

Similar Documents

Publication Publication Date Title
WO2017217661A1 (ko) 어휘 의미망을 이용한 단어 의미 임베딩 장치 및 방법과, 어휘 의미망 및 단어 임베딩을 이용한 동형이의어 분별 장치 및 방법
WO2020009297A1 (ko) 도메인 추출기반의 언어 이해 성능 향상장치및 성능 향상방법
WO2018034426A1 (ko) 커널 rdr을 이용한 태깅 말뭉치 오류 자동수정방법
WO2020246702A1 (en) Electronic device and method for controlling the electronic device thereof
WO2019117466A1 (ko) 발화의 의미를 분석하기 위한 전자 장치 및 그의 동작 방법
WO2020197257A1 (ko) 가시적 표현 요소를 이용한 번역 방법 및 그 장치
WO2022065811A1 (en) Multimodal translation method, apparatus, electronic device and computer-readable storage medium
WO2012134180A2 (ko) 문장에 내재한 감정 분석을 위한 감정 분류 방법 및 컨텍스트 정보를 이용한 다중 문장으로부터의 감정 분류 방법
WO2022203167A1 (en) Speech recognition method, apparatus, electronic device and computer readable storage medium
WO2019177182A1 (ko) 속성 정보 분석을 통한 멀티미디어 컨텐츠 검색장치 및 검색방법
WO2019078615A1 (en) METHOD AND ELECTRONIC DEVICE FOR TRANSLATING A VOICE SIGNAL
EP3545487A1 (en) Electronic apparatus, controlling method of thereof and non-transitory computer readable recording medium
KR101797365B1 (ko) 어휘 의미망을 이용한 단어 의미 임베딩 장치 및 방법
WO2020230926A1 (ko) 인공 지능을 이용하여, 합성 음성의 품질을 평가하는 음성 합성 장치 및 그의 동작 방법
Dien et al. Vietnamese Word Segmentation.
WO2020027394A1 (ko) 음소 단위 발음 정확성 평가 장치 및 평가 방법
Dudhabaware et al. Review on natural language processing tasks for text documents
WO2018084581A1 (en) Method and apparatus for filtering a plurality of messages
WO2024071836A1 (en) Method for video action recognition
WO2018056779A1 (en) Method of translating speech signal and electronic device employing the same
WO2021246812A1 (ko) 딥러닝 nlp 모델을 활용한 뉴스 긍정도 분석 솔루션 및 장치
EP3523932A1 (en) Method and apparatus for filtering a plurality of messages
WO2023229376A1 (ko) 실시간 음성 상담 지원을 위한 지능형 답변 추천 시스템 및 그 방법
WO2021040490A1 (en) Speech synthesis method and apparatus
WO2017094967A1 (ko) 자연 언어 처리 스키마 및 그 지식 데이터베이스 구축 방법 및 시스템

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: 17813486

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17813486

Country of ref document: EP

Kind code of ref document: A1